@internetarchive/collection-browser 0.0.1-alpha.2 → 0.0.1-alpha.22
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/demo/app-root.ts +24 -158
- package/dist/demo/app-root.d.ts +2 -16
- package/dist/demo/app-root.js +23 -141
- package/dist/demo/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/chevron.d.ts +2 -0
- package/dist/src/assets/img/icons/chevron.js +4 -0
- package/dist/src/assets/img/icons/chevron.js.map +1 -0
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
- package/dist/src/assets/img/icons/eye-closed.js +5 -0
- package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
- package/dist/src/assets/img/icons/eye.d.ts +2 -0
- package/dist/src/assets/img/icons/eye.js +5 -0
- package/dist/src/assets/img/icons/eye.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -2
- package/dist/src/assets/img/icons/mediatype/account.js +5 -4
- package/dist/src/assets/img/icons/mediatype/account.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +7 -4
- package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +7 -4
- package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +10 -5
- package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -1
- package/dist/src/assets/img/icons/mediatype/film.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +9 -6
- package/dist/src/assets/img/icons/mediatype/images.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +9 -6
- package/dist/src/assets/img/icons/mediatype/software.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +9 -6
- package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +10 -5
- package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +10 -6
- package/dist/src/assets/img/icons/mediatype/video.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +9 -6
- package/dist/src/assets/img/icons/mediatype/web.js.map +1 -1
- package/dist/src/async-collection-name.d.ts +11 -0
- package/dist/src/async-collection-name.js +38 -0
- package/dist/src/async-collection-name.js.map +1 -0
- package/dist/src/collection-browser.d.ts +55 -17
- package/dist/src/collection-browser.js +466 -106
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets.d.ts +24 -5
- package/dist/src/collection-facets.js +300 -78
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/collection-name-cache.d.ts +18 -0
- package/dist/src/collection-name-cache.js +89 -0
- package/dist/src/collection-name-cache.js.map +1 -0
- package/dist/src/mediatype-icon.js +10 -3
- package/dist/src/mediatype-icon.js.map +1 -1
- package/dist/src/models.d.ts +72 -14
- package/dist/src/models.js +57 -1
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +37 -0
- package/dist/src/restoration-state-handler.js +177 -0
- package/dist/src/restoration-state-handler.js.map +1 -0
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +1 -2
- package/dist/src/sort-filter-bar/alpha-bar.js +19 -9
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/compact.js +5 -0
- package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
- package/dist/src/sort-filter-bar/img/grid.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/grid.js +5 -0
- package/dist/src/sort-filter-bar/img/grid.js.map +1 -0
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/list.js +5 -0
- package/dist/src/sort-filter-bar/img/list.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/tile.js +5 -0
- package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +65 -11
- package/dist/src/sort-filter-bar/sort-filter-bar.js +453 -142
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +1 -2
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +4 -0
- package/dist/src/tiles/grid/item-tile.js +134 -45
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +11 -0
- package/dist/src/tiles/list/tile-list-compact-header.js +79 -0
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact.d.ts +1 -0
- package/dist/src/tiles/list/tile-list-compact.js +122 -31
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list-detail.d.ts +0 -10
- package/dist/src/tiles/list/tile-list-detail.js +6 -159
- package/dist/src/tiles/list/tile-list-detail.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +19 -6
- package/dist/src/tiles/list/tile-list.js +240 -108
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +8 -1
- package/dist/src/tiles/tile-dispatcher.js +46 -11
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/utils/format-date.js +1 -2
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/test/{utils/format-string.test.d.ts → collection-name-cache.test.d.ts} +0 -0
- package/dist/test/collection-name-cache.test.js +158 -0
- package/dist/test/collection-name-cache.test.js.map +1 -0
- package/dist/test/mocks/mock-search-response.d.ts +5 -0
- package/dist/test/mocks/mock-search-response.js +62 -0
- package/dist/test/mocks/mock-search-response.js.map +1 -0
- package/dist/test/mocks/mock-search-service.d.ts +13 -0
- package/dist/test/mocks/mock-search-service.js +20 -0
- package/dist/test/mocks/mock-search-service.js.map +1 -0
- package/package.json +9 -4
- package/src/assets/img/icons/chevron.ts +4 -0
- package/src/assets/img/icons/eye-closed.ts +5 -0
- package/src/assets/img/icons/eye.ts +5 -0
- package/src/assets/img/icons/mediatype/account.ts +5 -4
- package/src/assets/img/icons/mediatype/audio.ts +7 -4
- package/src/assets/img/icons/mediatype/collection.ts +7 -4
- package/src/assets/img/icons/mediatype/etree.ts +10 -5
- package/src/assets/img/icons/mediatype/film.ts +2 -1
- package/src/assets/img/icons/mediatype/images.ts +9 -6
- package/src/assets/img/icons/mediatype/software.ts +9 -6
- package/src/assets/img/icons/mediatype/texts.ts +9 -6
- package/src/assets/img/icons/mediatype/tv.ts +10 -5
- package/src/assets/img/icons/mediatype/video.ts +10 -6
- package/src/assets/img/icons/mediatype/web.ts +9 -6
- package/src/collection-browser.ts +490 -105
- package/src/collection-facets.ts +325 -109
- package/src/mediatype-icon.ts +10 -3
- package/src/models.ts +139 -14
- package/src/restoration-state-handler.ts +234 -0
- package/src/sort-filter-bar/alpha-bar.ts +19 -9
- package/src/sort-filter-bar/img/compact.ts +5 -0
- package/src/sort-filter-bar/img/list.ts +5 -0
- package/src/sort-filter-bar/img/sort-triangle.ts +5 -0
- package/src/sort-filter-bar/img/tile.ts +5 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +499 -149
- package/src/tiles/grid/collection-tile.ts +1 -2
- package/src/tiles/grid/item-tile.ts +138 -56
- package/src/tiles/list/tile-list-compact-header.ts +75 -0
- package/src/tiles/list/tile-list-compact.ts +209 -0
- package/src/tiles/list/tile-list.ts +261 -110
- package/src/tiles/tile-dispatcher.ts +51 -11
- package/src/utils/format-date.ts +1 -2
- package/dist/src/assets/img/icons/audio.d.ts +0 -1
- package/dist/src/assets/img/icons/audio.js +0 -9
- package/dist/src/assets/img/icons/audio.js.map +0 -1
- package/dist/src/assets/img/icons/collection.d.ts +0 -1
- package/dist/src/assets/img/icons/collection.js +0 -9
- package/dist/src/assets/img/icons/collection.js.map +0 -1
- package/dist/src/assets/img/icons/etree.d.ts +0 -1
- package/dist/src/assets/img/icons/etree.js +0 -9
- package/dist/src/assets/img/icons/etree.js.map +0 -1
- package/dist/src/assets/img/icons/images.d.ts +0 -1
- package/dist/src/assets/img/icons/images.js +0 -10
- package/dist/src/assets/img/icons/images.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/etree copy.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/etree copy.js +0 -9
- package/dist/src/assets/img/icons/mediatype/etree copy.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/livemusic.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/livemusic.js +0 -7
- package/dist/src/assets/img/icons/mediatype/livemusic.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/photos.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/photos.js +0 -7
- package/dist/src/assets/img/icons/mediatype/photos.js.map +0 -1
- package/dist/src/assets/img/icons/software.d.ts +0 -1
- package/dist/src/assets/img/icons/software.js +0 -10
- package/dist/src/assets/img/icons/software.js.map +0 -1
- package/dist/src/assets/img/icons/texts.d.ts +0 -1
- package/dist/src/assets/img/icons/texts.js +0 -10
- package/dist/src/assets/img/icons/texts.js.map +0 -1
- package/dist/src/assets/img/icons/tv.d.ts +0 -1
- package/dist/src/assets/img/icons/tv.js +0 -9
- package/dist/src/assets/img/icons/tv.js.map +0 -1
- package/dist/src/assets/img/icons/video.d.ts +0 -1
- package/dist/src/assets/img/icons/video.js +0 -10
- package/dist/src/assets/img/icons/video.js.map +0 -1
- package/dist/src/assets/img/icons/web.d.ts +0 -1
- package/dist/src/assets/img/icons/web.js +0 -10
- package/dist/src/assets/img/icons/web.js.map +0 -1
- package/dist/src/utils/format-string.d.ts +0 -2
- package/dist/src/utils/format-string.js +0 -7
- package/dist/src/utils/format-string.js.map +0 -1
- package/dist/test/utils/format-string.test.js +0 -17
- package/dist/test/utils/format-string.test.js.map +0 -1
- package/src/assets/img/icons/mediatype/foo.svg +0 -5
|
@@ -1,29 +1,42 @@
|
|
|
1
1
|
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import type { InfiniteScrollerCellProviderInterface } from '@internetarchive/infinite-scroller';
|
|
3
|
-
import { SearchServiceInterface } from '@internetarchive/search-service';
|
|
4
|
-
import { SortParam } from '@internetarchive/search-service
|
|
5
|
-
import { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
|
|
6
|
-
import type { CollectionDisplayMode } from './models';
|
|
3
|
+
import { SearchServiceInterface, SortDirection } from '@internetarchive/search-service';
|
|
4
|
+
import { SortParam } from '@internetarchive/search-service';
|
|
5
|
+
import { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
|
|
7
6
|
import '@internetarchive/infinite-scroller';
|
|
8
|
-
import '@internetarchive/
|
|
7
|
+
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
9
8
|
import './tiles/tile-dispatcher';
|
|
10
9
|
import './tiles/loading-tile';
|
|
11
10
|
import './sort-filter-bar/sort-filter-bar';
|
|
12
11
|
import './collection-facets';
|
|
13
|
-
import { CollectionFacets } from './collection-facets';
|
|
14
12
|
import './circular-activity-indicator';
|
|
15
|
-
|
|
13
|
+
import './sort-filter-bar/sort-filter-bar';
|
|
14
|
+
import { SelectedFacets, SortField, CollectionBrowserContext, CollectionDisplayMode } from './models';
|
|
15
|
+
import { RestorationStateHandlerInterface } from './restoration-state-handler';
|
|
16
|
+
export declare class CollectionBrowser extends LitElement implements InfiniteScrollerCellProviderInterface, SharedResizeObserverResizeHandlerInterface {
|
|
16
17
|
baseNavigationUrl?: string;
|
|
17
18
|
searchService?: SearchServiceInterface;
|
|
18
19
|
baseQuery?: string;
|
|
19
20
|
showDeleteButtons: boolean;
|
|
20
|
-
displayMode
|
|
21
|
-
sortParam
|
|
22
|
-
|
|
21
|
+
displayMode?: CollectionDisplayMode;
|
|
22
|
+
sortParam: SortParam | null;
|
|
23
|
+
selectedSort: SortField;
|
|
24
|
+
selectedTitleFilter: string | null;
|
|
25
|
+
selectedCreatorFilter: string | null;
|
|
26
|
+
sortDirection: SortDirection | null;
|
|
23
27
|
dateRangeQueryClause?: string;
|
|
24
28
|
pageSize: number;
|
|
25
29
|
resizeObserver?: SharedResizeObserverInterface;
|
|
26
|
-
|
|
30
|
+
titleQuery?: string;
|
|
31
|
+
creatorQuery?: string;
|
|
32
|
+
currentPage?: number;
|
|
33
|
+
minSelectedDate?: string;
|
|
34
|
+
maxSelectedDate?: string;
|
|
35
|
+
selectedFacets?: SelectedFacets;
|
|
36
|
+
collectionNameCache?: CollectionNameCacheInterface;
|
|
37
|
+
pageContext: CollectionBrowserContext;
|
|
38
|
+
restorationStateHandler: RestorationStateHandlerInterface;
|
|
39
|
+
mobileBreakpoint: number;
|
|
27
40
|
/**
|
|
28
41
|
* The page that the consumer wants to load.
|
|
29
42
|
*/
|
|
@@ -36,11 +49,14 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
36
49
|
*/
|
|
37
50
|
private pagesToRender;
|
|
38
51
|
private searchResultsLoading;
|
|
39
|
-
private selectedFacets;
|
|
40
52
|
private facetsLoading;
|
|
41
53
|
private fullYearAggregationLoading;
|
|
42
54
|
private aggregations?;
|
|
43
55
|
private fullYearsHistogramAggregation;
|
|
56
|
+
private totalResults?;
|
|
57
|
+
private mobileView;
|
|
58
|
+
private mobileFacetsVisible;
|
|
59
|
+
private contentContainer;
|
|
44
60
|
/**
|
|
45
61
|
* When we're animated scrolling to the page, we don't want to fetch
|
|
46
62
|
* all of the pages as it scrolls so this lets us know if we're scrolling
|
|
@@ -52,6 +68,7 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
52
68
|
private endOfDataReached;
|
|
53
69
|
private placeholderCellTemplate;
|
|
54
70
|
private tileModelAtCellIndex;
|
|
71
|
+
private get sortFilterQueries();
|
|
55
72
|
private get estimatedTileCount();
|
|
56
73
|
private get actualTileCount();
|
|
57
74
|
/**
|
|
@@ -64,18 +81,31 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
64
81
|
private dataSource;
|
|
65
82
|
private infiniteScroller;
|
|
66
83
|
/**
|
|
84
|
+
* Go to the given page of results
|
|
67
85
|
*
|
|
68
86
|
* @param pageNumber
|
|
69
|
-
* @param scroll
|
|
70
87
|
*/
|
|
71
88
|
goToPage(pageNumber: number): void;
|
|
72
89
|
render(): TemplateResult<1>;
|
|
90
|
+
private userChangedSort;
|
|
91
|
+
private selectedSortChanged;
|
|
92
|
+
private displayModeChanged;
|
|
93
|
+
private selectedTitleLetterChanged;
|
|
94
|
+
private selectedCreatorLetterChanged;
|
|
95
|
+
private titleLetterSelected;
|
|
96
|
+
private creatorLetterSelected;
|
|
97
|
+
private get facetDataLoading();
|
|
98
|
+
private get facetsTemplate();
|
|
73
99
|
private get loadingTemplate();
|
|
74
|
-
private get
|
|
75
|
-
private get
|
|
76
|
-
private get histogramTemplate();
|
|
100
|
+
private get listHeaderTemplate();
|
|
101
|
+
private get queryDebuggingTemplate();
|
|
77
102
|
private histogramDateRangeUpdated;
|
|
103
|
+
firstUpdated(): void;
|
|
78
104
|
updated(changed: PropertyValues): void;
|
|
105
|
+
disconnectedCallback(): void;
|
|
106
|
+
handleResize(entry: ResizeObserverEntry): void;
|
|
107
|
+
private disconnectResizeObserver;
|
|
108
|
+
private setupResizeObserver;
|
|
79
109
|
/**
|
|
80
110
|
* When the visible cells change from the infinite scroller, we want to emit
|
|
81
111
|
* which page is currently visible so the consumer can update its UI or the URL
|
|
@@ -87,11 +117,18 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
87
117
|
private initialQueryChangeHappened;
|
|
88
118
|
private previousQueryKey?;
|
|
89
119
|
private handleQueryChange;
|
|
120
|
+
private restoreState;
|
|
121
|
+
private persistState;
|
|
90
122
|
private doInitialPageFetch;
|
|
91
123
|
private get fullQuery();
|
|
92
124
|
private get fullQueryWithoutDate();
|
|
125
|
+
/**
|
|
126
|
+
* Generates a query string for the given facets
|
|
127
|
+
*
|
|
128
|
+
* Example: `mediatype:("collection" OR "audio" OR -"etree") AND year:("2000" OR "2001")`
|
|
129
|
+
*/
|
|
93
130
|
private get facetQuery();
|
|
94
|
-
facetsChanged(e: CustomEvent<
|
|
131
|
+
facetsChanged(e: CustomEvent<SelectedFacets>): void;
|
|
95
132
|
private fetchFacets;
|
|
96
133
|
/**
|
|
97
134
|
* If we haven't changed the query, we don't need to fetch the full year histogram
|
|
@@ -126,6 +163,7 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
126
163
|
private get pageFetchQueryKey();
|
|
127
164
|
private pageFetchesInProgress;
|
|
128
165
|
fetchPage(pageNumber: number): Promise<void>;
|
|
166
|
+
private preloadCollectionNames;
|
|
129
167
|
/**
|
|
130
168
|
* This is useful for determining whether we need to reload the scroller.
|
|
131
169
|
*
|