@internetarchive/collection-browser 3.1.1-alpha-webdev6778.11 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/collection-browser.d.ts +4 -0
- package/dist/src/collection-browser.js +25 -3
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/tiles/base-tile-component.d.ts +7 -0
- package/dist/src/tiles/base-tile-component.js +13 -0
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.js +1 -0
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +1 -0
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +1 -1
- package/dist/src/tiles/grid/item-tile.js +3 -4
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +4 -2
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +3 -3
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.js +4 -0
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/utils/format-date.d.ts +15 -1
- package/dist/src/utils/format-date.js +8 -3
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/test/collection-browser.test.js +217 -187
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +51 -0
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +51 -0
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +51 -0
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/utils/format-date.test.js +31 -1
- package/dist/test/utils/format-date.test.js.map +1 -1
- package/package.json +2 -2
- package/src/collection-browser.ts +29 -2
- package/src/tiles/base-tile-component.ts +12 -0
- package/src/tiles/grid/account-tile.ts +1 -0
- package/src/tiles/grid/collection-tile.ts +1 -0
- package/src/tiles/grid/item-tile.ts +6 -5
- package/src/tiles/list/tile-list-compact.ts +5 -2
- package/src/tiles/list/tile-list.ts +7 -3
- package/src/tiles/tile-dispatcher.ts +4 -0
- package/src/utils/format-date.ts +23 -3
- package/test/collection-browser.test.ts +2403 -2359
- package/test/tiles/grid/item-tile.test.ts +56 -0
- package/test/tiles/list/tile-list-compact.test.ts +54 -0
- package/test/tiles/list/tile-list.test.ts +55 -0
- package/test/utils/format-date.test.ts +51 -1
|
@@ -652,6 +652,10 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
652
652
|
* page are visible, but if the page is not currenlty visible, we don't need to reload
|
|
653
653
|
*/
|
|
654
654
|
get currentVisiblePageNumbers(): number[];
|
|
655
|
+
/**
|
|
656
|
+
* Whether we are currently displaying results for a radio collection
|
|
657
|
+
*/
|
|
658
|
+
private get isRadioCollection();
|
|
655
659
|
/**
|
|
656
660
|
* Refreshes all visible result cells in the infinite scroller.
|
|
657
661
|
*/
|
|
@@ -395,11 +395,13 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
395
395
|
* - An error occurred on the most recent search attempt
|
|
396
396
|
*/
|
|
397
397
|
setPlaceholderType() {
|
|
398
|
-
var _a;
|
|
398
|
+
var _a, _b;
|
|
399
399
|
const isInitialized = this.dataSource.queryInitialized;
|
|
400
400
|
const hasQuery = !!((_a = this.baseQuery) === null || _a === void 0 ? void 0 : _a.trim());
|
|
401
|
+
const hasIdentifiers = !!((_b = this.identifiers) === null || _b === void 0 ? void 0 : _b.length);
|
|
401
402
|
const isCollection = !!this.withinCollection;
|
|
402
403
|
const isProfile = !!this.withinProfile;
|
|
404
|
+
const isSearchResults = !isCollection && !isProfile;
|
|
403
405
|
const noResults = !this.searchResultsLoading &&
|
|
404
406
|
(this.dataSource.size === 0 || !this.searchService);
|
|
405
407
|
this.placeholderType = null;
|
|
@@ -408,7 +410,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
408
410
|
if (!isInitialized) {
|
|
409
411
|
this.placeholderType = 'empty-query';
|
|
410
412
|
}
|
|
411
|
-
else if (
|
|
413
|
+
else if (isSearchResults && !hasQuery && !hasIdentifiers) {
|
|
412
414
|
this.placeholderType = 'empty-query';
|
|
413
415
|
}
|
|
414
416
|
else if (noResults) {
|
|
@@ -1798,6 +1800,16 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1798
1800
|
});
|
|
1799
1801
|
return Array.from(visiblePages);
|
|
1800
1802
|
}
|
|
1803
|
+
/**
|
|
1804
|
+
* Whether we are currently displaying results for a radio collection
|
|
1805
|
+
*/
|
|
1806
|
+
get isRadioCollection() {
|
|
1807
|
+
const { withinCollection } = this;
|
|
1808
|
+
const topCollections = ['radio'];
|
|
1809
|
+
const isTopCollection = topCollections.includes(withinCollection);
|
|
1810
|
+
const isSubCollection = topCollections.some(topCollxn => { var _a; return (_a = this.dataSource.parentCollections) === null || _a === void 0 ? void 0 : _a.includes(topCollxn); });
|
|
1811
|
+
return isTopCollection || isSubCollection;
|
|
1812
|
+
}
|
|
1801
1813
|
/**
|
|
1802
1814
|
* Refreshes all visible result cells in the infinite scroller.
|
|
1803
1815
|
*/
|
|
@@ -1833,6 +1845,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1833
1845
|
const model = this.tileModelAtCellIndex(index);
|
|
1834
1846
|
if (!model)
|
|
1835
1847
|
return undefined;
|
|
1848
|
+
// Tiles show dates in UTC by default.
|
|
1849
|
+
// But for certain types of time-based media, we want them to use local time instead.
|
|
1850
|
+
// Those local-time cases are:
|
|
1851
|
+
// - TV or Radio search results
|
|
1852
|
+
// - TV or Radio collection results
|
|
1853
|
+
const isTVSearch = this.searchType === SearchType.TV;
|
|
1854
|
+
const isRadioSearch = this.searchType === SearchType.RADIO;
|
|
1855
|
+
const { isTVCollection, isRadioCollection } = this;
|
|
1856
|
+
const shouldUseLocalTime = isTVSearch || isRadioSearch || isTVCollection || isRadioCollection;
|
|
1836
1857
|
return html `
|
|
1837
1858
|
<tile-dispatcher
|
|
1838
1859
|
.collectionPagePath=${this.collectionPagePath}
|
|
@@ -1849,8 +1870,9 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1849
1870
|
.loggedIn=${this.loggedIn}
|
|
1850
1871
|
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1851
1872
|
.isManageView=${this.isManageView}
|
|
1852
|
-
?showTvClips=${
|
|
1873
|
+
?showTvClips=${isTVSearch || isTVCollection}
|
|
1853
1874
|
?enableHoverPane=${true}
|
|
1875
|
+
?useLocalTime=${shouldUseLocalTime}
|
|
1854
1876
|
@resultSelected=${(e) => this.resultSelected(e)}
|
|
1855
1877
|
>
|
|
1856
1878
|
</tile-dispatcher>
|