diff --git a/src/vs/base/browser/ui/list/listView.ts b/src/vs/base/browser/ui/list/listView.ts index 1415769a307764d8e22aa08616f3a080997a7376..18f70e285a8c4d462b87de4ab16b14f4a9b41e1f 100644 --- a/src/vs/base/browser/ui/list/listView.ts +++ b/src/vs/base/browser/ui/list/listView.ts @@ -180,6 +180,8 @@ export class ListView implements ISpliceable, IDisposable { readonly onDidChangeContentHeight: Event = Event.latch(this._onDidChangeContentHeight.event); get contentHeight(): number { return this.rangeMap.size; } + readonly onDidScroll: Event; + // private _onDragStart = new Emitter<{ element: T, uri: string, event: DragEvent }>(); // readonly onDragStart = this._onDragStart.event; @@ -234,6 +236,7 @@ export class ListView implements ISpliceable, IDisposable { this.disposables = [this.rangeMap, this.gesture, this.scrollableElement, this.cache]; + this.onDidScroll = Event.signal(this.scrollableElement.onScroll); this.scrollableElement.onScroll(this.onScroll, this, this.disposables); domEvent(this.rowsContainer, TouchEventType.Change)(this.onTouchChange, this, this.disposables); diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts index cd4ad77d3bb885a5e1e3a06bdfb31a6b6c4092e5..717b6ab7907fe13e5325bfcd04b13650927cc2b3 100644 --- a/src/vs/base/browser/ui/list/listWidget.ts +++ b/src/vs/base/browser/ui/list/listWidget.ts @@ -1080,6 +1080,7 @@ export class List implements ISpliceable, IDisposable { return Event.map(this._onPin.event, indexes => this.toListEvent({ indexes })); } + get onDidScroll(): Event { return this.view.onDidScroll; } get onMouseClick(): Event> { return this.view.onMouseClick; } get onMouseDblClick(): Event> { return this.view.onMouseDblClick; } get onMouseMiddleClick(): Event> { return this.view.onMouseMiddleClick; } diff --git a/src/vs/base/browser/ui/tree/abstractTree.ts b/src/vs/base/browser/ui/tree/abstractTree.ts index 1e2cf248eb2eb0134e80b6e7a07dbafabf4881fe..e8916590c1ddef11aa9dba9173c7ba3cd070fc4e 100644 --- a/src/vs/base/browser/ui/tree/abstractTree.ts +++ b/src/vs/base/browser/ui/tree/abstractTree.ts @@ -636,6 +636,8 @@ export abstract class AbstractTree implements IDisposable private _onDidUpdateOptions = new Emitter>(); readonly onDidUpdateOptions = this._onDidUpdateOptions.event; + get onDidScroll(): Event { return this.view.onDidScroll; } + get onDidChangeFocus(): Event> { return Event.map(this.view.onFocusChange, asTreeEvent); } get onDidChangeSelection(): Event> { return Event.map(this.view.onSelectionChange, asTreeEvent); } get onDidOpen(): Event> { return Event.map(this.view.onDidOpen, asTreeEvent); } diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts index 4100092ef3d599a6b1f2f4a72ce4f2f38eb4d119..e6b0b855f9d2b7f6a83810de3847591d8c398277 100644 --- a/src/vs/base/browser/ui/tree/asyncDataTree.ts +++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts @@ -263,6 +263,8 @@ export class AsyncDataTree implements IDisposable protected readonly disposables: IDisposable[] = []; + get onDidScroll(): Event { return this.tree.onDidScroll; } + get onDidChangeFocus(): Event> { return Event.map(this.tree.onDidChangeFocus, asTreeEvent); } get onDidChangeSelection(): Event> { return Event.map(this.tree.onDidChangeSelection, asTreeEvent); } get onDidOpen(): Event> { return Event.map(this.tree.onDidOpen, asTreeEvent); }