@internetarchive/collection-browser 0.0.1-alpha.7 → 0.1.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/README.md +8 -11
- package/demo/app-root.ts +30 -96
- package/dist/demo/app-root.d.ts +3 -5
- package/dist/demo/app-root.js +28 -87
- package/dist/demo/app-root.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/index.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 +6 -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/data.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/data.js +15 -0
- package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
- 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/radio.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
- package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
- 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/collection-browser.d.ts +57 -20
- package/dist/src/collection-browser.js +511 -128
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets.d.ts +27 -6
- package/dist/src/collection-facets.js +316 -100
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
- package/dist/src/language-code-handler/language-code-handler.js +27 -0
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
- package/dist/src/language-code-handler/language-code-mapping.js +563 -0
- package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
- package/dist/src/mediatype/mediatype-config.d.ts +3 -0
- package/dist/src/mediatype/mediatype-config.js +86 -0
- package/dist/src/mediatype/mediatype-config.js.map +1 -0
- package/dist/src/models.d.ts +72 -13
- package/dist/src/models.js +57 -1
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +38 -0
- package/dist/src/restoration-state-handler.js +204 -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 +12 -8
- 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/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 +74 -13
- package/dist/src/sort-filter-bar/sort-filter-bar.js +547 -172
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/{loading-tile.d.ts → collection-browser-loading-tile.d.ts} +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.js +32 -0
- package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
- package/dist/src/tiles/grid/account-tile.d.ts +1 -1
- package/dist/src/tiles/grid/account-tile.js +5 -5
- package/dist/src/tiles/grid/account-tile.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/icons/views.d.ts +1 -1
- package/dist/src/tiles/grid/icons/views.js +2 -2
- package/dist/src/tiles/grid/icons/views.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +2 -2
- package/dist/src/tiles/grid/item-tile.js +58 -150
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +19 -0
- package/dist/src/tiles/item-image.js +204 -0
- package/dist/src/tiles/item-image.js.map +1 -0
- package/dist/src/tiles/list/account-label.d.ts +1 -0
- package/dist/src/tiles/list/account-label.js +7 -0
- package/dist/src/tiles/list/account-label.js.map +1 -0
- package/dist/src/tiles/list/date-label.d.ts +1 -0
- package/dist/src/tiles/list/date-label.js +13 -0
- package/dist/src/tiles/list/date-label.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -0
- package/dist/src/tiles/list/tile-list-compact-header.js +84 -0
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact.d.ts +12 -0
- package/dist/src/tiles/list/tile-list-compact.js +203 -6
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +35 -10
- package/dist/src/tiles/list/tile-list.js +368 -104
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/{mediatype-icon.d.ts → tiles/mediatype-icon.d.ts} +2 -2
- package/dist/src/tiles/mediatype-icon.js +78 -0
- package/dist/src/tiles/mediatype-icon.js.map +1 -0
- package/dist/src/tiles/tile-dispatcher.d.ts +11 -4
- package/dist/src/tiles/tile-dispatcher.js +56 -19
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/utils/format-date.js +2 -2
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/test/collection-browser.test.d.ts +1 -0
- package/dist/test/collection-browser.test.js +16 -2
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/{utils/format-string.test.d.ts → mediatype-config.test.d.ts} +0 -0
- package/dist/test/mediatype-config.test.js +17 -0
- package/dist/test/mediatype-config.test.js.map +1 -0
- package/dist/test/utils/format-date.test.js +1 -1
- package/dist/test/utils/format-date.test.js.map +1 -1
- package/index.ts +6 -0
- package/local.archive.org.cert +86 -0
- package/local.archive.org.key +27 -0
- package/package.json +9 -5
- 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 +6 -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/data.ts +15 -0
- 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/radio.ts +15 -0
- 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 +537 -123
- package/src/collection-facets.ts +352 -132
- package/src/language-code-handler/language-code-handler.ts +64 -0
- package/src/language-code-handler/language-code-mapping.ts +564 -0
- package/src/mediatype/mediatype-config.ts +86 -0
- package/src/models.ts +141 -13
- package/src/restoration-state-handler.ts +266 -0
- package/src/sort-filter-bar/alpha-bar.ts +12 -8
- 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 +604 -176
- package/src/tiles/collection-browser-loading-tile.ts +29 -0
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -2
- package/src/tiles/grid/icons/views.ts +2 -2
- package/src/tiles/grid/item-tile.ts +57 -162
- package/src/tiles/item-image.ts +206 -0
- package/src/tiles/list/account-label.ts +6 -0
- package/src/tiles/list/date-label.ts +12 -0
- package/src/tiles/list/tile-list-compact-header.ts +77 -0
- package/src/tiles/list/tile-list-compact.ts +218 -0
- package/src/tiles/list/tile-list.ts +412 -107
- package/src/tiles/mediatype-icon.ts +75 -0
- package/src/tiles/tile-dispatcher.ts +66 -18
- package/src/utils/format-date.ts +2 -2
- package/test/collection-browser.test.ts +20 -1
- package/test/mediatype-config.test.ts +18 -0
- package/test/utils/format-date.test.ts +1 -1
- package/web-dev-server.config.mjs +3 -1
- 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/mediatype-icon.js +0 -89
- package/dist/src/mediatype-icon.js.map +0 -1
- package/dist/src/search-handler.d.ts +0 -11
- package/dist/src/search-handler.js +0 -34
- package/dist/src/search-handler.js.map +0 -1
- package/dist/src/tiles/list/tile-list-detail.d.ts +0 -7
- package/dist/src/tiles/list/tile-list-detail.js +0 -28
- package/dist/src/tiles/list/tile-list-detail.js.map +0 -1
- package/dist/src/tiles/loading-tile.js +0 -73
- package/dist/src/tiles/loading-tile.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
- package/src/mediatype-icon.ts +0 -83
- package/src/tiles/loading-tile.ts +0 -70
|
@@ -1,28 +1,41 @@
|
|
|
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 {
|
|
5
|
-
import { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
|
|
6
|
-
import type { CollectionDisplayMode } from './models';
|
|
3
|
+
import type { SearchServiceInterface, SortDirection, SortParam } from '@internetarchive/search-service';
|
|
4
|
+
import { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
|
|
7
5
|
import '@internetarchive/infinite-scroller';
|
|
6
|
+
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
8
7
|
import './tiles/tile-dispatcher';
|
|
9
|
-
import './tiles/loading-tile';
|
|
8
|
+
import './tiles/collection-browser-loading-tile';
|
|
10
9
|
import './sort-filter-bar/sort-filter-bar';
|
|
11
10
|
import './collection-facets';
|
|
12
11
|
import './circular-activity-indicator';
|
|
13
12
|
import './sort-filter-bar/sort-filter-bar';
|
|
14
|
-
|
|
13
|
+
import { SelectedFacets, SortField, CollectionBrowserContext, CollectionDisplayMode } from './models';
|
|
14
|
+
import { RestorationStateHandlerInterface } from './restoration-state-handler';
|
|
15
|
+
export declare class CollectionBrowser extends LitElement implements InfiniteScrollerCellProviderInterface, SharedResizeObserverResizeHandlerInterface {
|
|
15
16
|
baseNavigationUrl?: string;
|
|
16
17
|
searchService?: SearchServiceInterface;
|
|
17
18
|
baseQuery?: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
displayMode?: CollectionDisplayMode;
|
|
20
|
+
sortParam: SortParam | null;
|
|
21
|
+
selectedSort: SortField;
|
|
22
|
+
selectedTitleFilter: string | null;
|
|
23
|
+
selectedCreatorFilter: string | null;
|
|
24
|
+
sortDirection: SortDirection | null;
|
|
21
25
|
dateRangeQueryClause?: string;
|
|
22
26
|
pageSize: number;
|
|
23
27
|
resizeObserver?: SharedResizeObserverInterface;
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
titleQuery?: string;
|
|
29
|
+
creatorQuery?: string;
|
|
30
|
+
currentPage?: number;
|
|
31
|
+
minSelectedDate?: string;
|
|
32
|
+
maxSelectedDate?: string;
|
|
33
|
+
selectedFacets?: SelectedFacets;
|
|
34
|
+
showHistogramDatePicker: boolean;
|
|
35
|
+
collectionNameCache?: CollectionNameCacheInterface;
|
|
36
|
+
pageContext: CollectionBrowserContext;
|
|
37
|
+
restorationStateHandler: RestorationStateHandlerInterface;
|
|
38
|
+
mobileBreakpoint: number;
|
|
26
39
|
/**
|
|
27
40
|
* The page that the consumer wants to load.
|
|
28
41
|
*/
|
|
@@ -35,15 +48,15 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
35
48
|
*/
|
|
36
49
|
private pagesToRender;
|
|
37
50
|
private searchResultsLoading;
|
|
38
|
-
private selectedFacets;
|
|
39
51
|
private facetsLoading;
|
|
40
52
|
private fullYearAggregationLoading;
|
|
41
53
|
private aggregations?;
|
|
42
54
|
private fullYearsHistogramAggregation;
|
|
43
55
|
private totalResults?;
|
|
44
|
-
private
|
|
45
|
-
private
|
|
46
|
-
private
|
|
56
|
+
private mobileView;
|
|
57
|
+
private mobileFacetsVisible;
|
|
58
|
+
private contentContainer;
|
|
59
|
+
private languageCodeHandler;
|
|
47
60
|
/**
|
|
48
61
|
* When we're animated scrolling to the page, we don't want to fetch
|
|
49
62
|
* all of the pages as it scrolls so this lets us know if we're scrolling
|
|
@@ -68,21 +81,33 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
68
81
|
private dataSource;
|
|
69
82
|
private infiniteScroller;
|
|
70
83
|
/**
|
|
84
|
+
* Go to the given page of results
|
|
71
85
|
*
|
|
72
86
|
* @param pageNumber
|
|
73
|
-
* @param scroll
|
|
74
87
|
*/
|
|
75
88
|
goToPage(pageNumber: number): void;
|
|
89
|
+
clearFilters(): void;
|
|
76
90
|
render(): TemplateResult<1>;
|
|
77
|
-
private
|
|
91
|
+
private userChangedSort;
|
|
92
|
+
private selectedSortChanged;
|
|
78
93
|
private displayModeChanged;
|
|
79
|
-
private
|
|
80
|
-
private
|
|
94
|
+
private selectedTitleLetterChanged;
|
|
95
|
+
private selectedCreatorLetterChanged;
|
|
96
|
+
private titleLetterSelected;
|
|
97
|
+
private creatorLetterSelected;
|
|
81
98
|
private get facetDataLoading();
|
|
99
|
+
private get facetsTemplate();
|
|
82
100
|
private get loadingTemplate();
|
|
101
|
+
private get listHeaderTemplate();
|
|
83
102
|
private get queryDebuggingTemplate();
|
|
84
103
|
private histogramDateRangeUpdated;
|
|
104
|
+
firstUpdated(): void;
|
|
85
105
|
updated(changed: PropertyValues): void;
|
|
106
|
+
disconnectedCallback(): void;
|
|
107
|
+
handleResize(entry: ResizeObserverEntry): void;
|
|
108
|
+
private emitBaseQueryChanged;
|
|
109
|
+
private disconnectResizeObserver;
|
|
110
|
+
private setupResizeObserver;
|
|
86
111
|
/**
|
|
87
112
|
* When the visible cells change from the infinite scroller, we want to emit
|
|
88
113
|
* which page is currently visible so the consumer can update its UI or the URL
|
|
@@ -92,13 +117,24 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
92
117
|
*/
|
|
93
118
|
private visibleCellsChanged;
|
|
94
119
|
private initialQueryChangeHappened;
|
|
120
|
+
private historyPopOccurred;
|
|
95
121
|
private previousQueryKey?;
|
|
96
122
|
private handleQueryChange;
|
|
123
|
+
private setupStateRestorationObserver;
|
|
124
|
+
private boundNavigationHandler?;
|
|
125
|
+
private historyNavigationHandler;
|
|
126
|
+
private restoreState;
|
|
127
|
+
private persistState;
|
|
97
128
|
private doInitialPageFetch;
|
|
98
129
|
private get fullQuery();
|
|
99
130
|
private get fullQueryWithoutDate();
|
|
131
|
+
/**
|
|
132
|
+
* Generates a query string for the given facets
|
|
133
|
+
*
|
|
134
|
+
* Example: `mediatype:("collection" OR "audio" OR -"etree") AND year:("2000" OR "2001")`
|
|
135
|
+
*/
|
|
100
136
|
private get facetQuery();
|
|
101
|
-
facetsChanged(e: CustomEvent<
|
|
137
|
+
facetsChanged(e: CustomEvent<SelectedFacets>): void;
|
|
102
138
|
private fetchFacets;
|
|
103
139
|
/**
|
|
104
140
|
* If we haven't changed the query, we don't need to fetch the full year histogram
|
|
@@ -133,6 +169,7 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
133
169
|
private get pageFetchQueryKey();
|
|
134
170
|
private pageFetchesInProgress;
|
|
135
171
|
fetchPage(pageNumber: number): Promise<void>;
|
|
172
|
+
private preloadCollectionNames;
|
|
136
173
|
/**
|
|
137
174
|
* This is useful for determining whether we need to reload the scroller.
|
|
138
175
|
*
|