diff --git a/js/notebook/src/tableDisplay/dataGrid/event/EventManager.ts b/js/notebook/src/tableDisplay/dataGrid/event/EventManager.ts index 31768970a7..11c6a26a4a 100644 --- a/js/notebook/src/tableDisplay/dataGrid/event/EventManager.ts +++ b/js/notebook/src/tableDisplay/dataGrid/event/EventManager.ts @@ -31,6 +31,7 @@ import retrieveUrl = DataGridHelpers.retrieveUrl; import {EventHelpers} from "./helpers"; import isOutsideNode = EventHelpers.isOutsideNode; import isInsideGridNode = EventHelpers.isInsideGridNode; +import isInsideGrid = EventHelpers.isInsideGrid; const COLUMN_RESIZE_AREA_WIDTH = 4; @@ -189,7 +190,7 @@ export default class EventManager { } private isOutsideGrid(event) { - return isOutsideNode(event, this.dataGrid.node); + return !isInsideGrid(event); } private handleCellHover(event) { diff --git a/js/notebook/src/tableDisplay/dataGrid/event/helpers.ts b/js/notebook/src/tableDisplay/dataGrid/event/helpers.ts index c8594d52a7..88cf300345 100644 --- a/js/notebook/src/tableDisplay/dataGrid/event/helpers.ts +++ b/js/notebook/src/tableDisplay/dataGrid/event/helpers.ts @@ -26,6 +26,15 @@ export namespace EventHelpers { ) } + export function isInsideGrid(event) { + const relatedTarget = (event.relatedTarget || event.target) as HTMLElement; + + return relatedTarget && ( + relatedTarget.classList.contains('p-DataGrid') + || relatedTarget.closest('.p-DataGrid') + ) + } + export function isInsideGridNode(event: MouseEvent, gridNode: HTMLElement) { const relatedTarget = (event.relatedTarget || event.target) as HTMLElement;