Skip to content

Commit 03c63dc

Browse files
committed
fix
1 parent 65e2665 commit 03c63dc

File tree

6 files changed

+54
-9
lines changed

6 files changed

+54
-9
lines changed

packages/devextreme/js/__internal/grids/data_grid/keyboard_navigation/m_group_panel_keyboard_navigation.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ export class GroupPanelKeyboardNavigationController extends ColumnKeyboardNaviga
2323

2424
private groupItemClickHandler(e) {
2525
const $groupedColumnElement = $(e.originalEvent.target);
26+
if (!gridCore.isElementInCurrentGrid(this, $groupedColumnElement)) {
27+
return;
28+
}
29+
2630
const groupColumn = this._columnsController.columnOption(`groupIndex:${$groupedColumnElement.index()}`);
2731

2832
this.isNeedToHiddenFocusAfterClick = this._columnsController?.allowColumnSorting(groupColumn);

packages/devextreme/js/__internal/grids/grid_core/column_fixing/m_column_fixing.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,6 @@ const baseFixedColumns = <T extends ModuleType<ColumnsView>>(Base: T) => class B
408408
return cellElements;
409409
}
410410

411-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
412411
public getColumnWidths(fixedTableElement?: any, rowIndex?: number) {
413412
const result = super.getColumnWidths(fixedTableElement, rowIndex);
414413
const fixedColumns = this.getFixedColumns();
@@ -703,6 +702,11 @@ const rowsView = (Base: ModuleType<RowsView>) => class RowsViewFixedColumnsExten
703702
if (this._fixedTableElement && this._tableElement) {
704703
eventsEngine.on(this.element(), 'mouseover mouseout', '.dx-data-row', this.createAction((args) => {
705704
const { event } = args;
705+
706+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(event.target))) {
707+
return;
708+
}
709+
706710
const rowIndex = this.getRowIndex($(event.target).closest('.dx-row'));
707711
const isHover = event.type === 'mouseover';
708712

packages/devextreme/js/__internal/grids/grid_core/editing/m_editing_cell_based.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type { DeferredObj } from '@js/core/utils/deferred';
1212
import { Deferred, when } from '@js/core/utils/deferred';
1313
import { isElementInDom } from '@js/core/utils/dom';
1414
import { isDefined, isString } from '@js/core/utils/type';
15+
import gridCoreUtils from '@ts/grids/grid_core/m_utils';
1516
import type { RowsView } from '@ts/grids/grid_core/views/m_rows_view';
1617

1718
import type { ModuleType } from '../m_types';
@@ -419,7 +420,6 @@ const editingControllerExtender = (Base: ModuleType<EditingController>) => class
419420
}
420421
}
421422

422-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
423423
protected _prepareChange(options, value, text) {
424424
const $cellElement = $(options.cellElement);
425425

@@ -516,7 +516,6 @@ const editingControllerExtender = (Base: ModuleType<EditingController>) => class
516516
}
517517
}
518518

519-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
520519
protected _allowRowAdding(params) {
521520
if (this.isBatchEditMode()) {
522521
return true;
@@ -694,7 +693,11 @@ const rowsView = (Base: ModuleType<RowsView>) => class RowsViewEditingCellBasedE
694693
const editingController = this._editingController;
695694

696695
if (editingController.isCellOrBatchEditMode() && this.option('editing.allowUpdating')) {
697-
eventsEngine.on($table, addNamespace(holdEvent.name, 'dxDataGridRowsView'), `td:not(.${EDITOR_CELL_CLASS})`, this.createAction(() => {
696+
eventsEngine.on($table, addNamespace(holdEvent.name, 'dxDataGridRowsView'), `td:not(.${EDITOR_CELL_CLASS})`, this.createAction((e) => {
697+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
698+
return;
699+
}
700+
698701
if (editingController.isEditing()) {
699702
editingController.closeEditCell();
700703
}

packages/devextreme/js/__internal/grids/grid_core/selection/m_selection.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,10 @@ export const rowsViewSelectionExtenderMixin = (Base: ModuleType<RowsView>) => cl
894894
if (that.option(SHOW_CHECKBOXES_MODE) === 'onLongTap' || !supportUtils.touch) {
895895
// TODO Not working timeout by hold when it is larger than other timeouts by hold
896896
eventsEngine.on($table, addNamespace(holdEvent.name, 'dxDataGridRowsView'), `.${DATA_ROW_CLASS}`, that.createAction((e) => {
897+
if (!gridCoreUtils.isElementInCurrentGrid(that, $(e.event.target))) {
898+
return;
899+
}
900+
897901
processLongTap(that.component, e.event);
898902

899903
e.event.stopPropagation();

packages/devextreme/js/__internal/grids/grid_core/sorting/m_sorting.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { isDefined } from '@js/core/utils/type';
88
import type { ColumnHeadersView } from '@ts/grids/grid_core/column_headers/m_column_headers';
99
import type { HeaderPanel } from '@ts/grids/grid_core/header_panel/m_header_panel';
1010
import type { ModuleType } from '@ts/grids/grid_core/m_types';
11+
import gridCoreUtils from '@ts/grids/grid_core/m_utils';
1112

1213
import sortingMixin from './m_sorting_mixin';
1314

@@ -35,6 +36,10 @@ const columnHeadersView = (Base: ModuleType<ColumnHeadersView>) => class ColumnH
3536

3637
if (row.rowType === 'header') {
3738
eventsEngine.on($row, addNamespace(clickEventName, COLUMN_HEADERS_VIEW_NAMESPACE), 'td', this.createAction((e) => {
39+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
40+
return;
41+
}
42+
3843
this._processHeaderAction(e.event, $row);
3944
}));
4045
}
@@ -51,7 +56,7 @@ const columnHeadersView = (Base: ModuleType<ColumnHeadersView>) => class ColumnH
5156
const $cellElementFromEvent = $(event.currentTarget);
5257
const rowIndex = $cellElementFromEvent.parent().index();
5358
let columnIndex = -1;
54-
// eslint-disable-next-line array-callback-return
59+
5560
[].slice.call(that.getCellElements(rowIndex)).some(($cellElement, index) => {
5661
if ($cellElement === $cellElementFromEvent.get(0)) {
5762
columnIndex = index;

packages/devextreme/js/__internal/grids/grid_core/views/m_columns_view.ts

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ const subscribeToRowEvents = function (that, $table) {
7979
}
8080

8181
eventsEngine.on($table, 'touchstart touchend', '.dx-row', (e) => {
82+
if (!gridCoreUtils.isElementInCurrentGrid(that, $(e.event.target))) {
83+
return;
84+
}
85+
8286
clearTimeout(timeoutId);
8387
if (e.type === 'touchstart') {
8488
touchTarget = e.target;
@@ -92,6 +96,10 @@ const subscribeToRowEvents = function (that, $table) {
9296
eventsEngine.on($table, [clickEventName, dblclickEvent, pointerEvents.down].join(' '), '.dx-row', that.createAction((e) => {
9397
const { event } = e;
9498

99+
if (!gridCoreUtils.isElementInCurrentGrid(that, $(event.target))) {
100+
return;
101+
}
102+
95103
if (touchTarget) {
96104
event.target = touchTarget;
97105
event.currentTarget = touchCurrentTarget;
@@ -389,12 +397,17 @@ export class ColumnsView extends ColumnStateMixin(modules.View) {
389397
eventsEngine.on($table, 'mousemove', '.dx-row > td', this.createAction((args) => {
390398
const e = args.event;
391399
const $element = $(e.target);
400+
401+
if (!gridCoreUtils.isElementInCurrentGrid(this, $element)) {
402+
return;
403+
}
404+
392405
const $cell = $(e.currentTarget);
393406
const $row = $cell.parent();
394407
const visibleColumns = this._columnsController.getVisibleColumns();
395408
const rowOptions: any = $row.data('options');
396409
const columnIndex = $cell.index();
397-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
410+
398411
const cellOptions = rowOptions && rowOptions.cells && rowOptions.cells[columnIndex];
399412
const column = cellOptions ? cellOptions.column : visibleColumns[columnIndex];
400413

@@ -460,21 +473,36 @@ export class ColumnsView extends ColumnStateMixin(modules.View) {
460473
};
461474

462475
eventsEngine.on($table, 'mouseover', '.dx-row > td', (e) => {
476+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
477+
return;
478+
}
479+
463480
const options = getOptions(e);
464481
options && this.executeAction('onCellHoverChanged', options);
465482
});
466483

467484
eventsEngine.on($table, 'mouseout', '.dx-row > td', (e) => {
485+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
486+
return;
487+
}
488+
468489
const options = getOptions(e);
469490
options && this.executeAction('onCellHoverChanged', options);
470491
});
471492

472493
eventsEngine.on($table, clickEventName, '.dx-row > td', (e) => {
494+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
495+
return;
496+
}
497+
473498
const options = getOptions(e);
474499
options && this.executeAction('onCellClick', options);
475500
});
476501

477502
eventsEngine.on($table, dblclickEvent, '.dx-row > td', (e) => {
503+
if (!gridCoreUtils.isElementInCurrentGrid(this, $(e.event.target))) {
504+
return;
505+
}
478506
const options = getOptions(e);
479507
options && this.executeAction('onCellDblClick', options);
480508
});
@@ -1104,7 +1132,6 @@ export class ColumnsView extends ColumnStateMixin(modules.View) {
11041132
}
11051133

11061134
private needWaitAsyncTemplates() {
1107-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare
11081135
return this.option('templatesRenderAsynchronously') && this.option('renderAsync') === false;
11091136
}
11101137

@@ -1154,11 +1181,9 @@ export class ColumnsView extends ColumnStateMixin(modules.View) {
11541181
const result: number[] = [];
11551182
const cellElements = $cellElements.toArray();
11561183

1157-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
11581184
(cellElements as HTMLElement[]).forEach((cell) => {
11591185
let width = cell.offsetWidth;
11601186

1161-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
11621187
if ((cell as any).getBoundingClientRect) {
11631188
const rect = getBoundingRect(cell);
11641189

0 commit comments

Comments
 (0)