Skip to content

Commit 0105e4c

Browse files
committed
[Catalog|Sales] Fix wrong behavior of grid row click event
1 parent 6494c9f commit 0105e4c

File tree

3 files changed

+293
-260
lines changed

3 files changed

+293
-260
lines changed

app/code/Magento/Catalog/view/adminhtml/web/catalog/category/assign-products.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,28 @@ define([
5151
*/
5252
function categoryProductRowClick(grid, event) {
5353
var trElement = Event.findElement(event, 'tr'),
54-
isInput = Event.element(event).tagName === 'INPUT',
54+
eventElement = Event.element(event),
55+
isInputCheckbox = eventElement.tagName === 'INPUT' && eventElement.type === 'checkbox',
56+
isInputPosition = grid.targetElement
57+
&& grid.targetElement.tagName === 'INPUT'
58+
&& grid.targetElement.name === 'position',
5559
checked = false,
5660
checkbox = null;
5761

58-
if (trElement) {
62+
if (eventElement.tagName === 'LABEL'
63+
&& trElement.querySelector('#' + eventElement.htmlFor)
64+
&& trElement.querySelector('#' + eventElement.htmlFor).type === 'checkbox'
65+
) {
66+
event.stopPropagation();
67+
trElement.querySelector('#' + eventElement.htmlFor).trigger('click');
68+
return;
69+
}
70+
71+
if (trElement && !isInputPosition) {
5972
checkbox = Element.getElementsBySelector(trElement, 'input');
6073

6174
if (checkbox[0]) {
62-
checked = isInput ? checkbox[0].checked : !checkbox[0].checked;
75+
checked = isInputCheckbox ? checkbox[0].checked : !checkbox[0].checked;
6376
gridJsObject.setCheckboxChecked(checkbox[0], checked);
6477
}
6578
}

0 commit comments

Comments
 (0)