diff --git a/src/collection-browser.ts b/src/collection-browser.ts index 699ea2b36..0ebc0b0b4 100644 --- a/src/collection-browser.ts +++ b/src/collection-browser.ts @@ -645,8 +645,8 @@ export class CollectionBrowser showSelectAll showUnselectAll @removeItems=${this.handleRemoveItems} - @selectAll=${this.dataSource.checkAllTiles} - @unselectAll=${this.dataSource.uncheckAllTiles} + @selectAll=${() => this.dataSource.checkAllTiles()} + @unselectAll=${() => this.dataSource.uncheckAllTiles()} @cancel=${() => { this.isManageView = false; this.dataSource.uncheckAllTiles(); diff --git a/src/data-source/collection-browser-data-source.ts b/src/data-source/collection-browser-data-source.ts index 0c74127cd..ea8d00878 100644 --- a/src/data-source/collection-browser-data-source.ts +++ b/src/data-source/collection-browser-data-source.ts @@ -343,6 +343,9 @@ export class CollectionBrowserDataSource return this.pages[pageNum]?.[indexOnPage]; } + /** + * @inheritdoc + */ indexOf(tile: TileModel): number { return Object.values(this.pages).flat().indexOf(tile); } @@ -401,26 +404,27 @@ export class CollectionBrowserDataSource ]) ); this.host.requestUpdate(); + this.host.refreshVisibleResults(); } /** * @inheritdoc */ - checkAllTiles(): void { + checkAllTiles = (): void => { this.map(model => ({ ...model, checked: true })); - } + }; /** * @inheritdoc */ - uncheckAllTiles(): void { + uncheckAllTiles = (): void => { this.map(model => ({ ...model, checked: false })); - } + }; /** * @inheritdoc */ - removeCheckedTiles(): void { + removeCheckedTiles = (): void => { // To make sure our data source remains page-aligned, we will offset our data source by // the number of removed tiles, so that we can just add the offset when the infinite // scroller queries for cell contents. @@ -458,7 +462,7 @@ export class CollectionBrowserDataSource this.pages = newPages; this.numTileModels -= numChecked; this.host.requestUpdate(); - } + }; /** * @inheritdoc