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 {