From 7e6343e60e309410631f8c5befbad36c3ad75aac Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 13 Nov 2019 13:55:27 +0100 Subject: [PATCH] Update the `ListWidget` on list container render. To recalculate the desired size of the scroll-bar thumb. arduino/arduino-pro-ide#101 Signed-off-by: Akos Kitta --- .../components/component-list/filterable-list-container.tsx | 6 ++++++ .../src/browser/components/component-list/list-widget.tsx | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/arduino-ide-extension/src/browser/components/component-list/filterable-list-container.tsx b/arduino-ide-extension/src/browser/components/component-list/filterable-list-container.tsx index bcd3a478..2500a60b 100644 --- a/arduino-ide-extension/src/browser/components/component-list/filterable-list-container.tsx +++ b/arduino-ide-extension/src/browser/components/component-list/filterable-list-container.tsx @@ -26,6 +26,12 @@ export class FilterableListContainer extends React.C this.props.filterTextChangeEvent(this.handleFilterTextChange.bind(this)); } + componentDidUpdate(): void { + // See: arduino/arduino-pro-ide#101 + // Resets the top of the perfect scroll-bar's thumb. + this.props.container.updateScrollBar(); + } + render(): React.ReactNode { this.props.container.update(); // This will recalculate the desired dimension of the scroll-bar thumb. (See: arduino/arduino-pro-ide#101) return
diff --git a/arduino-ide-extension/src/browser/components/component-list/list-widget.tsx b/arduino-ide-extension/src/browser/components/component-list/list-widget.tsx index 5af897e0..0a55edf2 100644 --- a/arduino-ide-extension/src/browser/components/component-list/list-widget.tsx +++ b/arduino-ide-extension/src/browser/components/component-list/list-widget.tsx @@ -76,6 +76,12 @@ export abstract class ListWidget extends ReactWidget this.deferredContainer.promise.then(() => this.filterTextChangeEmitter.fire(filterText)); } + updateScrollBar(): void { + if (this.scrollBar) { + this.scrollBar.update(); + } + } + } export namespace ListWidget {