Skip to content

Commit 9061a91

Browse files
committed
will scroll event for scrollable element
1 parent 7fc638d commit 9061a91

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

src/vs/base/browser/ui/list/listView.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ export class ListView<T> implements ISpliceable<T>, IDisposable {
197197
get contentHeight(): number { return this.rangeMap.size; }
198198

199199
get onDidScroll(): Event<ScrollEvent> { return this.scrollableElement.onScroll; }
200+
get onWillScroll(): Event<ScrollEvent> { return this.scrollableElement.onWillScroll; }
200201

201202
constructor(
202203
container: HTMLElement,

src/vs/base/browser/ui/scrollbar/scrollableElement.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,17 @@ export abstract class AbstractScrollableElement extends Widget {
167167
private readonly _onScroll = this._register(new Emitter<ScrollEvent>());
168168
public readonly onScroll: Event<ScrollEvent> = this._onScroll.event;
169169

170+
private readonly _onWillScroll = this._register(new Emitter<ScrollEvent>());
171+
public readonly onWillScroll: Event<ScrollEvent> = this._onWillScroll.event;
172+
170173
protected constructor(element: HTMLElement, options: ScrollableElementCreationOptions, scrollable: Scrollable) {
171174
super();
172175
element.style.overflow = 'hidden';
173176
this._options = resolveOptions(options);
174177
this._scrollable = scrollable;
175178

176179
this._register(this._scrollable.onScroll((e) => {
180+
this._onWillScroll.fire(e);
177181
this._onDidScroll(e);
178182
this._onScroll.fire(e);
179183
}));

0 commit comments

Comments
 (0)