Ignore pointer events from nested ListViews (#169680)

Fix #97820
This commit is contained in:
Rob Lourens 2023-01-03 08:34:00 -06:00 committed by GitHub
parent 67119309e2
commit f078e6db48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View file

@ -685,6 +685,10 @@ export class MouseController<T> implements IDisposable {
return;
}
if (e.browserEvent.defaultPrevented) {
return;
}
const focus = e.index;
if (typeof focus === 'undefined') {
@ -709,6 +713,7 @@ export class MouseController<T> implements IDisposable {
this.list.setSelection([focus], e.browserEvent);
}
e.browserEvent.preventDefault();
this._onPointer.fire(e);
}
@ -721,8 +726,13 @@ export class MouseController<T> implements IDisposable {
return;
}
if (e.browserEvent.defaultPrevented) {
return;
}
const focus = this.list.getFocus();
this.list.setSelection(focus, e.browserEvent);
e.browserEvent.preventDefault();
}
private changeSelection(e: IListMouseEvent<T> | IListTouchEvent<T>): void {

View file

@ -1358,6 +1358,10 @@ class TreeNodeListMouseController<T, TFilterData, TRef> extends MouseController<
return;
}
if (e.browserEvent.defaultPrevented) {
return;
}
const node = e.element;
if (!node) {
@ -1409,6 +1413,10 @@ class TreeNodeListMouseController<T, TFilterData, TRef> extends MouseController<
return;
}
if (e.browserEvent.defaultPrevented) {
return;
}
super.onDoubleClick(e);
}
}