Skip to content

Commit

Permalink
ENGCOM-6007: [Catalog|Sales] Fix wrong behavior of grid row click event
Browse files Browse the repository at this point in the history
  • Loading branch information
VladimirZaets authored Jan 8, 2020
2 parents a2800e8 + 09cf424 commit 706e813
Show file tree
Hide file tree
Showing 3 changed files with 288 additions and 256 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,29 @@ define([
*/
function categoryProductRowClick(grid, event) {
var trElement = Event.findElement(event, 'tr'),
isInput = Event.element(event).tagName === 'INPUT',
eventElement = Event.element(event),
isInputCheckbox = eventElement.tagName === 'INPUT' && eventElement.type === 'checkbox',
isInputPosition = grid.targetElement &&
grid.targetElement.tagName === 'INPUT' &&
grid.targetElement.name === 'position',
checked = false,
checkbox = null;

if (trElement) {
if (eventElement.tagName === 'LABEL' &&
trElement.querySelector('#' + eventElement.htmlFor) &&
trElement.querySelector('#' + eventElement.htmlFor).type === 'checkbox'
) {
event.stopPropagation();
trElement.querySelector('#' + eventElement.htmlFor).trigger('click');

return;
}

if (trElement && !isInputPosition) {
checkbox = Element.getElementsBySelector(trElement, 'input');

if (checkbox[0]) {
checked = isInput ? checkbox[0].checked : !checkbox[0].checked;
checked = isInputCheckbox ? checkbox[0].checked : !checkbox[0].checked;
gridJsObject.setCheckboxChecked(checkbox[0], checked);
}
}
Expand Down
Loading

0 comments on commit 706e813

Please sign in to comment.