@internetarchive/collection-browser 0.0.1-alpha.8 → 0.1.1
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 +16 -92
- package/dist/demo/app-root.d.ts +3 -5
- package/dist/demo/app-root.js +13 -83
- 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/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 +53 -31
- package/dist/src/collection-browser.js +504 -166
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets.d.ts +28 -13
- package/dist/src/collection-facets.js +276 -160
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/helpers.d.ts +1 -0
- package/dist/src/helpers.js +20 -0
- package/dist/src/helpers.js.map +1 -0
- 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-color.d.ts +3 -0
- package/dist/src/mediatype/mediatype-color.js +15 -0
- package/dist/src/mediatype/mediatype-color.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/mediatype/mediatype-display.d.ts +3 -0
- package/dist/src/mediatype/mediatype-display.js +86 -0
- package/dist/src/mediatype/mediatype-display.js.map +1 -0
- package/dist/src/mediatype/mediatype-icon.d.ts +10 -0
- package/dist/src/mediatype/mediatype-icon.js +105 -0
- package/dist/src/mediatype/mediatype-icon.js.map +1 -0
- package/dist/src/mediatype/mediatype-text.d.ts +3 -0
- package/dist/src/mediatype/mediatype-text.js +17 -0
- package/dist/src/mediatype/mediatype-text.js.map +1 -0
- package/dist/src/mediatype/mediatypeConfig.d.ts +3 -0
- package/dist/src/mediatype/mediatypeConfig.js +86 -0
- package/dist/src/mediatype/mediatypeConfig.js.map +1 -0
- package/dist/src/mediatype-icon.d.ts +2 -2
- package/dist/src/mediatype-icon.js +35 -46
- package/dist/src/mediatype-icon.js.map +1 -1
- 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 -1
- package/dist/src/sort-filter-bar/alpha-bar.js +9 -2
- 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.js +1 -1
- package/dist/src/sort-filter-bar/img/list.js.map +1 -1
- 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 +71 -14
- package/dist/src/sort-filter-bar/sort-filter-bar.js +499 -216
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -0
- 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 +21 -0
- package/dist/src/tiles/item-image.js +215 -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/tiles/loading-tile.js +1 -42
- package/dist/src/tiles/loading-tile.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +9 -0
- 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/src/waveform-thumbnail.d.ts +7 -0
- package/dist/src/waveform-thumbnail.js +106 -0
- package/dist/src/waveform-thumbnail.js.map +1 -0
- package/dist/{demo/icon-provider-icon.d.ts → src/waveform-view.d.ts} +0 -0
- package/dist/src/waveform-view.js +2 -0
- package/dist/src/waveform-view.js.map +1 -0
- package/dist/src/your-webcomponent.d.ts +8 -0
- package/dist/src/your-webcomponent.js +38 -0
- package/dist/src/your-webcomponent.js.map +1 -0
- 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/mediatype-config.test.d.ts +1 -0
- package/dist/test/mediatype-config.test.js +17 -0
- package/dist/test/mediatype-config.test.js.map +1 -0
- package/dist/{src/assets/img/icons/eye-hidden.d.ts → test/mediatype-icon.test.d.ts} +0 -0
- package/dist/test/mediatype-icon.test.js +3 -0
- package/dist/test/mediatype-icon.test.js.map +1 -0
- package/dist/test/mediatypeConfig.test.d.ts +1 -0
- package/dist/test/mediatypeConfig.test.js +17 -0
- package/dist/test/mediatypeConfig.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/dist/test/your-webcomponent.test.d.ts +1 -0
- package/dist/test/your-webcomponent.test.js +23 -0
- package/dist/test/your-webcomponent.test.js.map +1 -0
- 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/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 +529 -163
- package/src/collection-facets.ts +307 -205
- 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 +9 -3
- package/src/sort-filter-bar/img/compact.ts +5 -0
- package/src/sort-filter-bar/img/list.ts +1 -1
- package/src/sort-filter-bar/img/tile.ts +5 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +557 -225
- 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 +218 -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/demo/icon-provider/icon-provider-icon.d.ts +0 -10
- package/dist/demo/icon-provider/icon-provider-icon.js +0 -32
- package/dist/demo/icon-provider/icon-provider-icon.js.map +0 -1
- package/dist/demo/icon-provider/icon-provider.d.ts +0 -10
- package/dist/demo/icon-provider/icon-provider.js +0 -9
- package/dist/demo/icon-provider/icon-provider.js.map +0 -1
- package/dist/demo/icon-provider-icon.js +0 -2
- package/dist/demo/icon-provider-icon.js.map +0 -1
- package/dist/demo/icon-provider.d.ts +0 -10
- package/dist/demo/icon-provider.js +0 -12
- package/dist/demo/icon-provider.js.map +0 -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/eye-hidden.js +0 -2
- package/dist/src/assets/img/icons/eye-hidden.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/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/search-handler.d.ts +0 -11
- package/dist/src/search-handler.js +0 -34
- package/dist/src/search-handler.js.map +0 -1
- package/src/mediatype-icon.ts +0 -83
- package/src/sort-filter-bar/img/grid.ts +0 -5
- package/src/tiles/loading-tile.ts +0 -70
|
@@ -2,22 +2,33 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
/* eslint-disable import/no-duplicates */
|
|
3
3
|
import { html, css, LitElement, nothing, } from 'lit';
|
|
4
4
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
5
|
-
import {
|
|
6
|
-
import { AggregateSearchParams, SortParam, } from '@internetarchive/search-service/dist/src/search-params';
|
|
5
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
7
6
|
import '@internetarchive/infinite-scroller';
|
|
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';
|
|
13
|
+
import { SortField, SortFieldToMetadataField, defaultSelectedFacets, } from './models';
|
|
14
|
+
import { RestorationStateHandler, } from './restoration-state-handler';
|
|
15
|
+
import chevronIcon from './assets/img/icons/chevron';
|
|
16
|
+
import { LanguageCodeHandler } from './language-code-handler/language-code-handler';
|
|
14
17
|
let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
15
18
|
constructor() {
|
|
16
19
|
super(...arguments);
|
|
17
|
-
this.showDeleteButtons = false;
|
|
18
|
-
this.displayMode = 'grid';
|
|
19
20
|
this.sortParam = null;
|
|
21
|
+
this.selectedSort = SortField.relevance;
|
|
22
|
+
this.selectedTitleFilter = null;
|
|
23
|
+
this.selectedCreatorFilter = null;
|
|
24
|
+
this.sortDirection = null;
|
|
20
25
|
this.pageSize = 50;
|
|
26
|
+
this.showHistogramDatePicker = false;
|
|
27
|
+
this.pageContext = 'search';
|
|
28
|
+
this.restorationStateHandler = new RestorationStateHandler({
|
|
29
|
+
context: this.pageContext,
|
|
30
|
+
});
|
|
31
|
+
this.mobileBreakpoint = 600;
|
|
21
32
|
/**
|
|
22
33
|
* The page that the consumer wants to load.
|
|
23
34
|
*/
|
|
@@ -30,10 +41,11 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
30
41
|
*/
|
|
31
42
|
this.pagesToRender = this.initialPageNumber;
|
|
32
43
|
this.searchResultsLoading = false;
|
|
33
|
-
this.selectedFacets = {};
|
|
34
|
-
this.hiddenFacets = {};
|
|
35
44
|
this.facetsLoading = false;
|
|
36
45
|
this.fullYearAggregationLoading = false;
|
|
46
|
+
this.mobileView = false;
|
|
47
|
+
this.mobileFacetsVisible = false;
|
|
48
|
+
this.languageCodeHandler = new LanguageCodeHandler();
|
|
37
49
|
/**
|
|
38
50
|
* When we're animated scrolling to the page, we don't want to fetch
|
|
39
51
|
* all of the pages as it scrolls so this lets us know if we're scrolling
|
|
@@ -43,7 +55,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
43
55
|
* When we've reached the end of the data, stop trying to fetch more
|
|
44
56
|
*/
|
|
45
57
|
this.endOfDataReached = false;
|
|
46
|
-
this.placeholderCellTemplate = html `<loading-tile></loading-tile>`;
|
|
58
|
+
this.placeholderCellTemplate = html `<collection-browser-loading-tile></collection-browser-loading-tile>`;
|
|
47
59
|
/**
|
|
48
60
|
* The results per page so we can paginate.
|
|
49
61
|
*
|
|
@@ -55,6 +67,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
55
67
|
// we only want to scroll on the very first query change
|
|
56
68
|
// so this keeps track of whether we've already set the initial query
|
|
57
69
|
this.initialQueryChangeHappened = false;
|
|
70
|
+
this.historyPopOccurred = false;
|
|
58
71
|
// this maps the query to the pages being fetched for that query
|
|
59
72
|
this.pageFetchesInProgress = {};
|
|
60
73
|
}
|
|
@@ -93,54 +106,100 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
93
106
|
return Object.keys(this.dataSource).reduce((acc, page) => acc + this.dataSource[page].length, 0);
|
|
94
107
|
}
|
|
95
108
|
/**
|
|
109
|
+
* Go to the given page of results
|
|
96
110
|
*
|
|
97
111
|
* @param pageNumber
|
|
98
|
-
* @param scroll
|
|
99
112
|
*/
|
|
100
113
|
goToPage(pageNumber) {
|
|
101
114
|
this.initialPageNumber = pageNumber;
|
|
102
115
|
this.pagesToRender = pageNumber;
|
|
103
116
|
this.scrollToPage(pageNumber);
|
|
104
117
|
}
|
|
118
|
+
clearFilters() {
|
|
119
|
+
this.selectedFacets = defaultSelectedFacets;
|
|
120
|
+
this.sortParam = null;
|
|
121
|
+
this.selectedTitleFilter = null;
|
|
122
|
+
this.selectedCreatorFilter = null;
|
|
123
|
+
this.titleQuery = undefined;
|
|
124
|
+
this.creatorQuery = undefined;
|
|
125
|
+
this.selectedSort = SortField.relevance;
|
|
126
|
+
this.sortDirection = null;
|
|
127
|
+
}
|
|
105
128
|
render() {
|
|
106
129
|
return html `
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
<div id="content-container">
|
|
130
|
+
<div id="content-container" class=${this.mobileView ? 'mobile' : ''}>
|
|
110
131
|
<div id="left-column" class="column">
|
|
111
|
-
<div id="
|
|
112
|
-
|
|
113
|
-
|
|
132
|
+
<div id="mobile-header-container">
|
|
133
|
+
${this.mobileView
|
|
134
|
+
? html `
|
|
135
|
+
<div id="mobile-filter-collapse">
|
|
136
|
+
<h1
|
|
137
|
+
@click=${() => {
|
|
138
|
+
this.mobileFacetsVisible = !this.mobileFacetsVisible;
|
|
139
|
+
}}
|
|
140
|
+
@keyup=${() => {
|
|
141
|
+
this.mobileFacetsVisible = !this.mobileFacetsVisible;
|
|
142
|
+
}}
|
|
143
|
+
>
|
|
144
|
+
<span
|
|
145
|
+
class="collapser ${this.mobileFacetsVisible
|
|
146
|
+
? 'open'
|
|
147
|
+
: ''}"
|
|
148
|
+
>
|
|
149
|
+
${chevronIcon}
|
|
150
|
+
</span>
|
|
151
|
+
Filters
|
|
152
|
+
</h1>
|
|
153
|
+
</div>
|
|
154
|
+
`
|
|
155
|
+
: nothing}
|
|
156
|
+
<div id="results-total">
|
|
157
|
+
<span id="big-results-count"
|
|
158
|
+
>${this.totalResults !== undefined
|
|
114
159
|
? this.totalResults.toLocaleString()
|
|
115
160
|
: '-'}</span
|
|
116
|
-
|
|
117
|
-
|
|
161
|
+
>
|
|
162
|
+
<span id="big-results-label">Results</span>
|
|
163
|
+
</div>
|
|
118
164
|
</div>
|
|
119
|
-
<div
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
.fullYearsHistogramAggregation=${this
|
|
127
|
-
.fullYearsHistogramAggregation}
|
|
128
|
-
?facetsLoading=${this.facetDataLoading}
|
|
129
|
-
?fullYearAggregationLoading=${this.fullYearAggregationLoading}
|
|
130
|
-
></collection-facets>
|
|
165
|
+
<div
|
|
166
|
+
id="facets-container"
|
|
167
|
+
class=${!this.mobileView || this.mobileFacetsVisible
|
|
168
|
+
? 'expanded'
|
|
169
|
+
: ''}
|
|
170
|
+
>
|
|
171
|
+
${this.facetsTemplate}
|
|
131
172
|
</div>
|
|
132
173
|
</div>
|
|
133
174
|
<div id="right-column" class="column">
|
|
134
175
|
${this.searchResultsLoading ? this.loadingTemplate : nothing}
|
|
135
176
|
<sort-filter-bar
|
|
136
|
-
|
|
177
|
+
.selectedSort=${this.selectedSort}
|
|
178
|
+
.sortDirection=${this.sortDirection}
|
|
179
|
+
.displayMode=${this.displayMode}
|
|
180
|
+
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
181
|
+
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
182
|
+
.resizeObserver=${this.resizeObserver}
|
|
183
|
+
@sortChanged=${this.userChangedSort}
|
|
137
184
|
@displayModeChanged=${this.displayModeChanged}
|
|
138
|
-
@titleLetterChanged=${this.
|
|
139
|
-
@creatorLetterChanged=${this.
|
|
185
|
+
@titleLetterChanged=${this.titleLetterSelected}
|
|
186
|
+
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
140
187
|
></sort-filter-bar>
|
|
141
188
|
|
|
189
|
+
${this.displayMode === `list-compact`
|
|
190
|
+
? this.listHeaderTemplate
|
|
191
|
+
: nothing}
|
|
192
|
+
${!this.searchResultsLoading && this.totalResults === 0
|
|
193
|
+
? html `
|
|
194
|
+
<h2>
|
|
195
|
+
Your search did not match any items in the Archive. Try
|
|
196
|
+
different keywords or a more general search.
|
|
197
|
+
</h2>
|
|
198
|
+
`
|
|
199
|
+
: nothing}
|
|
200
|
+
|
|
142
201
|
<infinite-scroller
|
|
143
|
-
class="${this.displayMode}"
|
|
202
|
+
class="${ifDefined(this.displayMode)}"
|
|
144
203
|
.cellProvider=${this}
|
|
145
204
|
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
146
205
|
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
@@ -151,45 +210,70 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
151
210
|
</div>
|
|
152
211
|
`;
|
|
153
212
|
}
|
|
154
|
-
|
|
213
|
+
userChangedSort(e) {
|
|
155
214
|
var _a;
|
|
156
|
-
const {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
this.sortParam = new SortParam(sortField, sortDirection);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
this.sortParam = null;
|
|
163
|
-
}
|
|
215
|
+
const { selectedSort, sortDirection } = e.detail;
|
|
216
|
+
this.selectedSort = selectedSort;
|
|
217
|
+
this.sortDirection = sortDirection;
|
|
164
218
|
if (((_a = this.currentPage) !== null && _a !== void 0 ? _a : 1) > 1) {
|
|
165
219
|
this.goToPage(1);
|
|
166
220
|
}
|
|
167
221
|
this.currentPage = 1;
|
|
168
222
|
}
|
|
223
|
+
selectedSortChanged() {
|
|
224
|
+
if (this.selectedSort === 'relevance' || this.sortDirection === null) {
|
|
225
|
+
this.sortParam = null;
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const sortField = SortFieldToMetadataField[this.selectedSort];
|
|
229
|
+
if (!sortField)
|
|
230
|
+
return;
|
|
231
|
+
this.sortParam = { field: sortField, direction: this.sortDirection };
|
|
232
|
+
}
|
|
169
233
|
displayModeChanged(e) {
|
|
170
234
|
this.displayMode = e.detail.displayMode;
|
|
171
235
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
this.titleQuery = undefined;
|
|
179
|
-
}
|
|
236
|
+
selectedTitleLetterChanged() {
|
|
237
|
+
this.titleQuery = this.selectedTitleFilter
|
|
238
|
+
? `firstTitle:${this.selectedTitleFilter}`
|
|
239
|
+
: undefined;
|
|
180
240
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
241
|
+
selectedCreatorLetterChanged() {
|
|
242
|
+
this.creatorQuery = this.selectedCreatorFilter
|
|
243
|
+
? `firstCreator:${this.selectedCreatorFilter}`
|
|
244
|
+
: undefined;
|
|
245
|
+
}
|
|
246
|
+
titleLetterSelected(e) {
|
|
247
|
+
this.selectedCreatorFilter = null;
|
|
248
|
+
this.selectedTitleFilter = e.detail.selectedLetter;
|
|
249
|
+
}
|
|
250
|
+
creatorLetterSelected(e) {
|
|
251
|
+
this.selectedTitleFilter = null;
|
|
252
|
+
this.selectedCreatorFilter = e.detail.selectedLetter;
|
|
189
253
|
}
|
|
190
254
|
get facetDataLoading() {
|
|
191
255
|
return this.facetsLoading || this.fullYearAggregationLoading;
|
|
192
256
|
}
|
|
257
|
+
get facetsTemplate() {
|
|
258
|
+
return html `
|
|
259
|
+
${this.facetsLoading ? this.loadingTemplate : nothing}
|
|
260
|
+
<collection-facets
|
|
261
|
+
@facetsChanged=${this.facetsChanged}
|
|
262
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
263
|
+
.aggregations=${this.aggregations}
|
|
264
|
+
.fullYearsHistogramAggregation=${this.fullYearsHistogramAggregation}
|
|
265
|
+
.minSelectedDate=${this.minSelectedDate}
|
|
266
|
+
.maxSelectedDate=${this.maxSelectedDate}
|
|
267
|
+
.selectedFacets=${this.selectedFacets}
|
|
268
|
+
.collectionNameCache=${this.collectionNameCache}
|
|
269
|
+
.languageCodeHandler=${this.languageCodeHandler}
|
|
270
|
+
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
271
|
+
?collapsableFacets=${this.mobileView}
|
|
272
|
+
?facetsLoading=${this.facetDataLoading}
|
|
273
|
+
?fullYearAggregationLoading=${this.fullYearAggregationLoading}
|
|
274
|
+
></collection-facets>
|
|
275
|
+
`;
|
|
276
|
+
}
|
|
193
277
|
get loadingTemplate() {
|
|
194
278
|
return html `
|
|
195
279
|
<div class="loading-cover">
|
|
@@ -197,6 +281,19 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
197
281
|
</div>
|
|
198
282
|
`;
|
|
199
283
|
}
|
|
284
|
+
get listHeaderTemplate() {
|
|
285
|
+
return html `
|
|
286
|
+
<div id="list-header">
|
|
287
|
+
<tile-dispatcher
|
|
288
|
+
.tileDisplayMode=${'list-header'}
|
|
289
|
+
.resizeObserver=${this.resizeObserver}
|
|
290
|
+
.sortParam=${this.sortParam}
|
|
291
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
292
|
+
>
|
|
293
|
+
</tile-dispatcher>
|
|
294
|
+
</div>
|
|
295
|
+
`;
|
|
296
|
+
}
|
|
200
297
|
get queryDebuggingTemplate() {
|
|
201
298
|
var _a, _b;
|
|
202
299
|
return html `
|
|
@@ -216,27 +313,83 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
216
313
|
const { minDate, maxDate } = e.detail;
|
|
217
314
|
this.dateRangeQueryClause = `year:[${minDate} TO ${maxDate}]`;
|
|
218
315
|
}
|
|
316
|
+
firstUpdated() {
|
|
317
|
+
this.setupStateRestorationObserver();
|
|
318
|
+
this.restoreState();
|
|
319
|
+
}
|
|
219
320
|
updated(changed) {
|
|
220
|
-
if (changed.has('displayMode') ||
|
|
221
|
-
changed.has('showDeleteButtons') ||
|
|
222
|
-
changed.has('baseNavigationUrl')) {
|
|
321
|
+
if (changed.has('displayMode') || changed.has('baseNavigationUrl')) {
|
|
223
322
|
this.infiniteScroller.reload();
|
|
224
323
|
}
|
|
324
|
+
if (changed.has('baseQuery')) {
|
|
325
|
+
this.emitBaseQueryChanged();
|
|
326
|
+
}
|
|
327
|
+
if (changed.has('currentPage') || changed.has('displayMode')) {
|
|
328
|
+
this.persistState();
|
|
329
|
+
}
|
|
225
330
|
if (changed.has('baseQuery') ||
|
|
226
331
|
changed.has('titleQuery') ||
|
|
227
332
|
changed.has('creatorQuery') ||
|
|
228
333
|
changed.has('dateRangeQueryClause') ||
|
|
229
334
|
changed.has('sortParam') ||
|
|
230
335
|
changed.has('selectedFacets') ||
|
|
231
|
-
changed.has('hiddenFacets') ||
|
|
232
336
|
changed.has('searchService')) {
|
|
233
337
|
this.handleQueryChange();
|
|
234
338
|
}
|
|
339
|
+
if (changed.has('selectedSort') || changed.has('sortDirection')) {
|
|
340
|
+
this.selectedSortChanged();
|
|
341
|
+
}
|
|
342
|
+
if (changed.has('selectedTitleFilter')) {
|
|
343
|
+
this.selectedTitleLetterChanged();
|
|
344
|
+
}
|
|
345
|
+
if (changed.has('selectedCreatorFilter')) {
|
|
346
|
+
this.selectedCreatorLetterChanged();
|
|
347
|
+
}
|
|
235
348
|
if (changed.has('pagesToRender')) {
|
|
236
349
|
if (!this.endOfDataReached) {
|
|
237
350
|
this.infiniteScroller.itemCount = this.estimatedTileCount;
|
|
238
351
|
}
|
|
239
352
|
}
|
|
353
|
+
if (changed.has('resizeObserver')) {
|
|
354
|
+
const oldObserver = changed.get('resizeObserver');
|
|
355
|
+
if (oldObserver)
|
|
356
|
+
this.disconnectResizeObserver(oldObserver);
|
|
357
|
+
this.setupResizeObserver();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
disconnectedCallback() {
|
|
361
|
+
if (this.resizeObserver) {
|
|
362
|
+
this.disconnectResizeObserver(this.resizeObserver);
|
|
363
|
+
}
|
|
364
|
+
if (this.boundNavigationHandler) {
|
|
365
|
+
window.removeEventListener('popstate', this.boundNavigationHandler);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
handleResize(entry) {
|
|
369
|
+
if (entry.target === this.contentContainer) {
|
|
370
|
+
this.mobileView = entry.contentRect.width < 600;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
emitBaseQueryChanged() {
|
|
374
|
+
this.dispatchEvent(new CustomEvent('baseQueryChanged', {
|
|
375
|
+
detail: {
|
|
376
|
+
baseQuery: this.baseQuery,
|
|
377
|
+
},
|
|
378
|
+
}));
|
|
379
|
+
}
|
|
380
|
+
disconnectResizeObserver(resizeObserver) {
|
|
381
|
+
resizeObserver.removeObserver({
|
|
382
|
+
target: this.contentContainer,
|
|
383
|
+
handler: this,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
setupResizeObserver() {
|
|
387
|
+
if (!this.resizeObserver)
|
|
388
|
+
return;
|
|
389
|
+
this.resizeObserver.addObserver({
|
|
390
|
+
target: this.contentContainer,
|
|
391
|
+
handler: this,
|
|
392
|
+
});
|
|
240
393
|
}
|
|
241
394
|
/**
|
|
242
395
|
* When the visible cells change from the infinite scroller, we want to emit
|
|
@@ -253,6 +406,9 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
253
406
|
return;
|
|
254
407
|
const lastVisibleCellIndex = visibleCellIndices[visibleCellIndices.length - 1];
|
|
255
408
|
const lastVisibleCellPage = Math.floor(lastVisibleCellIndex / this.pageSize) + 1;
|
|
409
|
+
if (this.currentPage !== lastVisibleCellPage) {
|
|
410
|
+
this.currentPage = lastVisibleCellPage;
|
|
411
|
+
}
|
|
256
412
|
const event = new CustomEvent('visiblePageChanged', {
|
|
257
413
|
detail: {
|
|
258
414
|
pageNumber: lastVisibleCellPage,
|
|
@@ -273,12 +429,70 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
273
429
|
this.scrollToPage(this.initialPageNumber);
|
|
274
430
|
}
|
|
275
431
|
this.initialQueryChangeHappened = true;
|
|
432
|
+
// if the query changed as part of a window.history pop event, we don't want to
|
|
433
|
+
// persist the state because it overwrites the forward history
|
|
434
|
+
if (!this.historyPopOccurred) {
|
|
435
|
+
this.persistState();
|
|
436
|
+
this.historyPopOccurred = false;
|
|
437
|
+
}
|
|
276
438
|
await Promise.all([
|
|
277
439
|
this.doInitialPageFetch(),
|
|
278
440
|
this.fetchFacets(),
|
|
279
441
|
this.fetchFullYearHistogram(),
|
|
280
442
|
]);
|
|
281
443
|
}
|
|
444
|
+
setupStateRestorationObserver() {
|
|
445
|
+
if (this.boundNavigationHandler)
|
|
446
|
+
return;
|
|
447
|
+
this.boundNavigationHandler = this.historyNavigationHandler.bind(this);
|
|
448
|
+
// when the user navigates back, we want to update the UI to match the URL
|
|
449
|
+
window.addEventListener('popstate', this.boundNavigationHandler);
|
|
450
|
+
}
|
|
451
|
+
historyNavigationHandler() {
|
|
452
|
+
this.historyPopOccurred = true;
|
|
453
|
+
this.restoreState();
|
|
454
|
+
}
|
|
455
|
+
restoreState() {
|
|
456
|
+
var _a, _b, _c, _d, _e, _f;
|
|
457
|
+
const restorationState = this.restorationStateHandler.getRestorationState();
|
|
458
|
+
this.displayMode = restorationState.displayMode;
|
|
459
|
+
this.selectedSort = (_a = restorationState.selectedSort) !== null && _a !== void 0 ? _a : SortField.relevance;
|
|
460
|
+
this.sortDirection = (_b = restorationState.sortDirection) !== null && _b !== void 0 ? _b : null;
|
|
461
|
+
this.selectedTitleFilter = (_c = restorationState.selectedTitleFilter) !== null && _c !== void 0 ? _c : null;
|
|
462
|
+
this.selectedCreatorFilter = (_d = restorationState.selectedCreatorFilter) !== null && _d !== void 0 ? _d : null;
|
|
463
|
+
this.selectedFacets = restorationState.selectedFacets;
|
|
464
|
+
this.baseQuery = restorationState.baseQuery;
|
|
465
|
+
this.titleQuery = restorationState.titleQuery;
|
|
466
|
+
this.creatorQuery = restorationState.creatorQuery;
|
|
467
|
+
this.dateRangeQueryClause = restorationState.dateRangeQueryClause;
|
|
468
|
+
this.sortParam = (_e = restorationState.sortParam) !== null && _e !== void 0 ? _e : null;
|
|
469
|
+
this.currentPage = (_f = restorationState.currentPage) !== null && _f !== void 0 ? _f : 1;
|
|
470
|
+
this.minSelectedDate = restorationState.minSelectedDate;
|
|
471
|
+
this.maxSelectedDate = restorationState.maxSelectedDate;
|
|
472
|
+
if (this.currentPage > 1) {
|
|
473
|
+
this.goToPage(this.currentPage);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
persistState() {
|
|
477
|
+
var _a, _b, _c, _d, _e;
|
|
478
|
+
const restorationState = {
|
|
479
|
+
displayMode: this.displayMode,
|
|
480
|
+
sortParam: (_a = this.sortParam) !== null && _a !== void 0 ? _a : undefined,
|
|
481
|
+
selectedSort: this.selectedSort,
|
|
482
|
+
sortDirection: (_b = this.sortDirection) !== null && _b !== void 0 ? _b : undefined,
|
|
483
|
+
selectedFacets: (_c = this.selectedFacets) !== null && _c !== void 0 ? _c : defaultSelectedFacets,
|
|
484
|
+
baseQuery: this.baseQuery,
|
|
485
|
+
currentPage: this.currentPage,
|
|
486
|
+
dateRangeQueryClause: this.dateRangeQueryClause,
|
|
487
|
+
titleQuery: this.titleQuery,
|
|
488
|
+
creatorQuery: this.creatorQuery,
|
|
489
|
+
minSelectedDate: this.minSelectedDate,
|
|
490
|
+
maxSelectedDate: this.maxSelectedDate,
|
|
491
|
+
selectedTitleFilter: (_d = this.selectedTitleFilter) !== null && _d !== void 0 ? _d : undefined,
|
|
492
|
+
selectedCreatorFilter: (_e = this.selectedCreatorFilter) !== null && _e !== void 0 ? _e : undefined,
|
|
493
|
+
};
|
|
494
|
+
this.restorationStateHandler.persistState(restorationState);
|
|
495
|
+
}
|
|
282
496
|
async doInitialPageFetch() {
|
|
283
497
|
this.searchResultsLoading = true;
|
|
284
498
|
await this.fetchPage(this.initialPageNumber);
|
|
@@ -305,50 +519,46 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
305
519
|
}
|
|
306
520
|
return fullQuery;
|
|
307
521
|
}
|
|
308
|
-
get facetQuery() {
|
|
309
|
-
const facets = this.getFacetQuery(this.selectedFacets, false);
|
|
310
|
-
const hiddenFacets = this.getFacetQuery(this.hiddenFacets, true);
|
|
311
|
-
if (facets && hiddenFacets)
|
|
312
|
-
return [facets, hiddenFacets].join(' AND ');
|
|
313
|
-
if (facets)
|
|
314
|
-
return facets;
|
|
315
|
-
if (hiddenFacets)
|
|
316
|
-
return hiddenFacets;
|
|
317
|
-
return undefined;
|
|
318
|
-
}
|
|
319
522
|
/**
|
|
320
523
|
* Generates a query string for the given facets
|
|
321
524
|
*
|
|
322
|
-
* Example: `mediatype:("collection" OR "audio") AND year:("2000" OR "2001")`
|
|
323
|
-
*
|
|
324
|
-
* For negative facets, we prefix the field with `-`, ie:
|
|
325
|
-
* `-mediatype:("collection" OR "audio")`
|
|
326
|
-
*
|
|
327
|
-
* @param facets
|
|
328
|
-
* @param negative
|
|
329
|
-
* @returns
|
|
525
|
+
* Example: `mediatype:("collection" OR "audio" OR -"etree") AND year:("2000" OR "2001")`
|
|
330
526
|
*/
|
|
331
|
-
|
|
527
|
+
get facetQuery() {
|
|
528
|
+
if (!this.selectedFacets)
|
|
529
|
+
return undefined;
|
|
332
530
|
const facetQuery = [];
|
|
333
|
-
for (const [facetName, facetValues] of Object.entries(
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
531
|
+
for (const [facetName, facetValues] of Object.entries(this.selectedFacets)) {
|
|
532
|
+
const facetEntries = Object.entries(facetValues);
|
|
533
|
+
// eslint-disable-next-line no-continue
|
|
534
|
+
if (facetEntries.length === 0)
|
|
535
|
+
continue;
|
|
536
|
+
const facetValuesArray = [];
|
|
537
|
+
for (const [key, facetState] of facetEntries) {
|
|
538
|
+
const plusMinusPrefix = facetState === 'hidden' ? '-' : '';
|
|
539
|
+
if (facetName === 'language') {
|
|
540
|
+
const languages = this.languageCodeHandler.getCodeArrayFromCodeString(key);
|
|
541
|
+
for (const language of languages) {
|
|
542
|
+
facetValuesArray.push(`${plusMinusPrefix}"${language}"`);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
facetValuesArray.push(`${plusMinusPrefix}"${key}"`);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
const valueQuery = facetValuesArray.join(` OR `);
|
|
550
|
+
facetQuery.push(`${facetName}:(${valueQuery})`);
|
|
338
551
|
}
|
|
339
552
|
return facetQuery.length > 0 ? `(${facetQuery.join(' AND ')})` : undefined;
|
|
340
553
|
}
|
|
341
554
|
facetsChanged(e) {
|
|
342
555
|
this.selectedFacets = e.detail;
|
|
343
556
|
}
|
|
344
|
-
hiddenFacetsChanged(e) {
|
|
345
|
-
this.hiddenFacets = e.detail;
|
|
346
|
-
}
|
|
347
557
|
async fetchFacets() {
|
|
348
558
|
var _a, _b;
|
|
349
559
|
if (!this.fullQuery)
|
|
350
560
|
return;
|
|
351
|
-
const aggregations =
|
|
561
|
+
const aggregations = {
|
|
352
562
|
advancedParams: [
|
|
353
563
|
{
|
|
354
564
|
field: 'subjectSorter',
|
|
@@ -375,13 +585,13 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
375
585
|
size: 50,
|
|
376
586
|
},
|
|
377
587
|
],
|
|
378
|
-
}
|
|
379
|
-
const params =
|
|
588
|
+
};
|
|
589
|
+
const params = {
|
|
380
590
|
query: this.fullQuery,
|
|
381
591
|
fields: ['identifier'],
|
|
382
592
|
aggregations,
|
|
383
593
|
rows: 1,
|
|
384
|
-
}
|
|
594
|
+
};
|
|
385
595
|
this.facetsLoading = true;
|
|
386
596
|
const results = await ((_a = this.searchService) === null || _a === void 0 ? void 0 : _a.search(params));
|
|
387
597
|
this.facetsLoading = false;
|
|
@@ -394,8 +604,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
394
604
|
* If this doesn't change, we don't need to re-fetch the histogram date range
|
|
395
605
|
*/
|
|
396
606
|
get fullQueryNoDateKey() {
|
|
397
|
-
var _a;
|
|
398
|
-
return `${this.fullQueryWithoutDate}-${(_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.
|
|
607
|
+
var _a, _b;
|
|
608
|
+
return `${this.fullQueryWithoutDate}-${(_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field}-${(_b = this.sortParam) === null || _b === void 0 ? void 0 : _b.direction}`;
|
|
399
609
|
}
|
|
400
610
|
/**
|
|
401
611
|
* This method is similar to fetching the facets above,
|
|
@@ -411,15 +621,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
411
621
|
fullQueryNoDateKey === this.previousFullQueryNoDate)
|
|
412
622
|
return;
|
|
413
623
|
this.previousFullQueryNoDate = fullQueryNoDateKey;
|
|
414
|
-
const aggregations =
|
|
624
|
+
const aggregations = {
|
|
415
625
|
simpleParams: ['year'],
|
|
416
|
-
}
|
|
417
|
-
const params =
|
|
626
|
+
};
|
|
627
|
+
const params = {
|
|
418
628
|
query: this.fullQueryWithoutDate,
|
|
419
629
|
fields: ['identifier'],
|
|
420
630
|
aggregations,
|
|
421
631
|
rows: 1,
|
|
422
|
-
}
|
|
632
|
+
};
|
|
423
633
|
this.fullYearAggregationLoading = true;
|
|
424
634
|
const results = await ((_a = this.searchService) === null || _a === void 0 ? void 0 : _a.search(params));
|
|
425
635
|
this.fullYearAggregationLoading = false;
|
|
@@ -450,11 +660,11 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
450
660
|
* no longer relevant.
|
|
451
661
|
*/
|
|
452
662
|
get pageFetchQueryKey() {
|
|
453
|
-
var _a;
|
|
454
|
-
return `${this.fullQuery}-${(_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.
|
|
663
|
+
var _a, _b;
|
|
664
|
+
return `${this.fullQuery}-${(_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field}-${(_b = this.sortParam) === null || _b === void 0 ? void 0 : _b.direction}`;
|
|
455
665
|
}
|
|
456
666
|
async fetchPage(pageNumber) {
|
|
457
|
-
var _a, _b, _c, _d;
|
|
667
|
+
var _a, _b, _c, _d, _e;
|
|
458
668
|
if (!this.fullQuery)
|
|
459
669
|
return;
|
|
460
670
|
// if we already have data, don't fetch again
|
|
@@ -470,32 +680,33 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
470
680
|
pageFetches.add(pageNumber);
|
|
471
681
|
this.pageFetchesInProgress[pageFetchQueryKey] = pageFetches;
|
|
472
682
|
const sortParams = this.sortParam ? [this.sortParam] : [];
|
|
473
|
-
|
|
474
|
-
const params = new SearchParams({
|
|
683
|
+
const params = {
|
|
475
684
|
query: this.fullQuery,
|
|
476
685
|
fields: [
|
|
686
|
+
'addeddate',
|
|
687
|
+
'avg_rating',
|
|
688
|
+
'collections_raw',
|
|
689
|
+
'creator',
|
|
690
|
+
'date',
|
|
691
|
+
'description',
|
|
692
|
+
'downloads',
|
|
477
693
|
'identifier',
|
|
478
|
-
'
|
|
694
|
+
'issue',
|
|
695
|
+
'item_count',
|
|
479
696
|
'mediatype',
|
|
480
|
-
'downloads',
|
|
481
|
-
'avg_rating',
|
|
482
697
|
'num_favorites',
|
|
483
698
|
'num_reviews',
|
|
484
|
-
'item_count',
|
|
485
|
-
'description',
|
|
486
|
-
'date',
|
|
487
|
-
'addeddate',
|
|
488
699
|
'publicdate',
|
|
489
700
|
'reviewdate',
|
|
490
|
-
'creator',
|
|
491
|
-
'subject',
|
|
492
701
|
'source',
|
|
493
|
-
'
|
|
702
|
+
'subject',
|
|
703
|
+
'title',
|
|
704
|
+
'volume',
|
|
494
705
|
],
|
|
495
706
|
page: pageNumber,
|
|
496
707
|
rows: this.pageSize,
|
|
497
708
|
sort: sortParams,
|
|
498
|
-
}
|
|
709
|
+
};
|
|
499
710
|
const results = await ((_b = this.searchService) === null || _b === void 0 ? void 0 : _b.search(params));
|
|
500
711
|
const success = results === null || results === void 0 ? void 0 : results.success;
|
|
501
712
|
if (!success)
|
|
@@ -506,11 +717,31 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
506
717
|
// right behind it
|
|
507
718
|
const searchQuery = success.responseHeader.params.qin;
|
|
508
719
|
const searchSort = success.responseHeader.params.sort;
|
|
509
|
-
|
|
720
|
+
let sortChanged = false;
|
|
721
|
+
if (!searchSort) {
|
|
722
|
+
// if we went from no sort to sort, the sort has changed
|
|
723
|
+
if (this.sortParam) {
|
|
724
|
+
sortChanged = true;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
// check if the sort has changed
|
|
729
|
+
const split = searchSort.split(' ');
|
|
730
|
+
if (split.length > 1) {
|
|
731
|
+
const field = searchSort.split(' ')[0];
|
|
732
|
+
const direction = searchSort.split(' ')[1];
|
|
733
|
+
if (field !== ((_c = this.sortParam) === null || _c === void 0 ? void 0 : _c.field) ||
|
|
734
|
+
direction !== ((_d = this.sortParam) === null || _d === void 0 ? void 0 : _d.direction)) {
|
|
735
|
+
sortChanged = true;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
const queryChangedSinceFetch = searchQuery !== this.fullQuery || sortChanged;
|
|
510
740
|
if (queryChangedSinceFetch)
|
|
511
741
|
return;
|
|
512
742
|
const { docs } = success.response;
|
|
513
743
|
if (docs && docs.length > 0) {
|
|
744
|
+
this.preloadCollectionNames(docs);
|
|
514
745
|
this.updateDataSource(pageNumber, docs);
|
|
515
746
|
}
|
|
516
747
|
if (docs.length < this.pageSize) {
|
|
@@ -518,9 +749,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
518
749
|
// this updates the infinite scroller to show the actual size
|
|
519
750
|
this.infiniteScroller.itemCount = this.actualTileCount;
|
|
520
751
|
}
|
|
521
|
-
(
|
|
752
|
+
(_e = this.pageFetchesInProgress[pageFetchQueryKey]) === null || _e === void 0 ? void 0 : _e.delete(pageNumber);
|
|
522
753
|
this.searchResultsLoading = false;
|
|
523
754
|
}
|
|
755
|
+
preloadCollectionNames(docs) {
|
|
756
|
+
var _a;
|
|
757
|
+
const collectionIds = docs.map(doc => { var _a; return (_a = doc.collections_raw) === null || _a === void 0 ? void 0 : _a.values; }).flat();
|
|
758
|
+
const collectionIdsArray = Array.from(new Set(collectionIds));
|
|
759
|
+
(_a = this.collectionNameCache) === null || _a === void 0 ? void 0 : _a.preloadIdentifiers(collectionIdsArray);
|
|
760
|
+
}
|
|
524
761
|
/**
|
|
525
762
|
* This is useful for determining whether we need to reload the scroller.
|
|
526
763
|
*
|
|
@@ -549,27 +786,30 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
549
786
|
const datasource = { ...this.dataSource };
|
|
550
787
|
const tiles = [];
|
|
551
788
|
docs === null || docs === void 0 ? void 0 : docs.forEach(doc => {
|
|
552
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
789
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
553
790
|
if (!doc.identifier)
|
|
554
791
|
return;
|
|
555
792
|
tiles.push({
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
793
|
+
averageRating: (_a = doc.avg_rating) === null || _a === void 0 ? void 0 : _a.value,
|
|
794
|
+
collections: (_c = (_b = doc.collections_raw) === null || _b === void 0 ? void 0 : _b.values) !== null && _c !== void 0 ? _c : [],
|
|
795
|
+
commentCount: (_e = (_d = doc.num_reviews) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : 0,
|
|
796
|
+
creator: (_f = doc.creator) === null || _f === void 0 ? void 0 : _f.value,
|
|
797
|
+
creators: (_h = (_g = doc.creator) === null || _g === void 0 ? void 0 : _g.values) !== null && _h !== void 0 ? _h : [],
|
|
798
|
+
dateAdded: (_j = doc.addeddate) === null || _j === void 0 ? void 0 : _j.value,
|
|
799
|
+
dateArchived: (_k = doc.publicdate) === null || _k === void 0 ? void 0 : _k.value,
|
|
800
|
+
datePublished: (_l = doc.date) === null || _l === void 0 ? void 0 : _l.value,
|
|
801
|
+
dateReviewed: (_m = doc.reviewdate) === null || _m === void 0 ? void 0 : _m.value,
|
|
563
802
|
description: (_o = doc.description) === null || _o === void 0 ? void 0 : _o.value,
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
averageRating: (_u = doc.avg_rating) === null || _u === void 0 ? void 0 : _u.value,
|
|
570
|
-
subject: (_v = doc.subject) === null || _v === void 0 ? void 0 : _v.value,
|
|
803
|
+
favCount: (_q = (_p = doc.num_favorites) === null || _p === void 0 ? void 0 : _p.value) !== null && _q !== void 0 ? _q : 0,
|
|
804
|
+
identifier: doc.identifier,
|
|
805
|
+
issue: (_r = doc.issue) === null || _r === void 0 ? void 0 : _r.value,
|
|
806
|
+
itemCount: (_t = (_s = doc.item_count) === null || _s === void 0 ? void 0 : _s.value) !== null && _t !== void 0 ? _t : 0,
|
|
807
|
+
mediatype: (_v = (_u = doc.mediatype) === null || _u === void 0 ? void 0 : _u.value) !== null && _v !== void 0 ? _v : 'data',
|
|
571
808
|
source: (_w = doc.source) === null || _w === void 0 ? void 0 : _w.value,
|
|
572
|
-
|
|
809
|
+
subjects: (_y = (_x = doc.subject) === null || _x === void 0 ? void 0 : _x.values) !== null && _y !== void 0 ? _y : [],
|
|
810
|
+
title: this.etreeTitle((_z = doc.title) === null || _z === void 0 ? void 0 : _z.value, (_0 = doc.mediatype) === null || _0 === void 0 ? void 0 : _0.value, (_1 = doc.collection) === null || _1 === void 0 ? void 0 : _1.values),
|
|
811
|
+
volume: (_2 = doc.volume) === null || _2 === void 0 ? void 0 : _2.value,
|
|
812
|
+
viewCount: (_4 = (_3 = doc.downloads) === null || _3 === void 0 ? void 0 : _3.value) !== null && _4 !== void 0 ? _4 : 0,
|
|
573
813
|
});
|
|
574
814
|
});
|
|
575
815
|
datasource[pageNumber] = tiles;
|
|
@@ -587,9 +827,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
587
827
|
* Todo: Check collection(s) for etree, need to get as array.
|
|
588
828
|
* Current search-service only returns first collection as string.
|
|
589
829
|
*/
|
|
590
|
-
etreeTitle(title, mediatype) {
|
|
591
|
-
if (mediatype === 'etree') {
|
|
592
|
-
// || collections.includes('etree')) {
|
|
830
|
+
etreeTitle(title, mediatype, collections) {
|
|
831
|
+
if (mediatype === 'etree' || (collections === null || collections === void 0 ? void 0 : collections.includes('etree'))) {
|
|
593
832
|
const regex = /^(.*) Live at (.*) on (\d\d\d\d-\d\d-\d\d)$/;
|
|
594
833
|
const newTitle = title === null || title === void 0 ? void 0 : title.replace(regex, '$3: $2');
|
|
595
834
|
if (newTitle) {
|
|
@@ -605,10 +844,11 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
605
844
|
return html ` <tile-dispatcher
|
|
606
845
|
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
607
846
|
.model=${model}
|
|
608
|
-
.
|
|
847
|
+
.tileDisplayMode=${this.displayMode}
|
|
609
848
|
.resizeObserver=${this.resizeObserver}
|
|
849
|
+
.collectionNameCache=${this.collectionNameCache}
|
|
610
850
|
.sortParam=${this.sortParam}
|
|
611
|
-
|
|
851
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
612
852
|
></tile-dispatcher>`;
|
|
613
853
|
}
|
|
614
854
|
/**
|
|
@@ -629,23 +869,73 @@ CollectionBrowser.styles = css `
|
|
|
629
869
|
display: flex;
|
|
630
870
|
}
|
|
631
871
|
|
|
872
|
+
.collapser {
|
|
873
|
+
display: inline-block;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
.collapser svg {
|
|
877
|
+
width: 10px;
|
|
878
|
+
height: 10px;
|
|
879
|
+
transition: transform 0.2s ease-out;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
.collapser.open svg {
|
|
883
|
+
transform: rotate(90deg);
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
#mobile-filter-collapse h1 {
|
|
887
|
+
cursor: pointer;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
#content-container.mobile {
|
|
891
|
+
display: block;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.column {
|
|
895
|
+
padding-top: 2rem;
|
|
896
|
+
}
|
|
897
|
+
|
|
632
898
|
#right-column {
|
|
633
899
|
flex: 1;
|
|
634
900
|
position: relative;
|
|
635
901
|
border-left: 1px solid rgb(232, 232, 232);
|
|
902
|
+
padding-left: 1rem;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
.mobile #right-column {
|
|
906
|
+
border-left: none;
|
|
907
|
+
padding: 0;
|
|
636
908
|
}
|
|
637
909
|
|
|
638
910
|
#left-column {
|
|
639
911
|
width: 18rem;
|
|
640
912
|
padding-right: 12px;
|
|
913
|
+
padding-right: 1rem;
|
|
641
914
|
}
|
|
642
915
|
|
|
643
|
-
.column {
|
|
644
|
-
|
|
916
|
+
.mobile #left-column {
|
|
917
|
+
width: 100%;
|
|
918
|
+
padding: 0;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
#mobile-header-container {
|
|
922
|
+
display: flex;
|
|
923
|
+
justify-content: space-between;
|
|
645
924
|
}
|
|
646
925
|
|
|
647
926
|
#facets-container {
|
|
648
927
|
position: relative;
|
|
928
|
+
max-height: 0;
|
|
929
|
+
transition: max-height 0.2s ease-in-out;
|
|
930
|
+
z-index: 1;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
.mobile #facets-container {
|
|
934
|
+
overflow: hidden;
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
#facets-container.expanded {
|
|
938
|
+
max-height: 2000px;
|
|
649
939
|
}
|
|
650
940
|
|
|
651
941
|
#results-total {
|
|
@@ -654,6 +944,10 @@ CollectionBrowser.styles = css `
|
|
|
654
944
|
margin-bottom: 5rem;
|
|
655
945
|
}
|
|
656
946
|
|
|
947
|
+
.mobile #results-total {
|
|
948
|
+
margin-bottom: 0;
|
|
949
|
+
}
|
|
950
|
+
|
|
657
951
|
#big-results-count {
|
|
658
952
|
font-size: 2.4rem;
|
|
659
953
|
font-weight: 500;
|
|
@@ -666,6 +960,10 @@ CollectionBrowser.styles = css `
|
|
|
666
960
|
text-transform: uppercase;
|
|
667
961
|
}
|
|
668
962
|
|
|
963
|
+
#list-header {
|
|
964
|
+
max-height: 4.2rem;
|
|
965
|
+
}
|
|
966
|
+
|
|
669
967
|
.loading-cover {
|
|
670
968
|
position: absolute;
|
|
671
969
|
top: 0;
|
|
@@ -683,6 +981,11 @@ CollectionBrowser.styles = css `
|
|
|
683
981
|
height: 30px;
|
|
684
982
|
}
|
|
685
983
|
|
|
984
|
+
sort-filter-bar {
|
|
985
|
+
display: block;
|
|
986
|
+
margin-bottom: 4rem;
|
|
987
|
+
}
|
|
988
|
+
|
|
686
989
|
infinite-scroller {
|
|
687
990
|
display: block;
|
|
688
991
|
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
@@ -694,14 +997,9 @@ CollectionBrowser.styles = css `
|
|
|
694
997
|
--collectionBrowserCellMinWidth,
|
|
695
998
|
100%
|
|
696
999
|
);
|
|
697
|
-
--infiniteScrollerCellMinHeight:
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
);
|
|
701
|
-
--infiniteScrollerCellMaxHeight: var(
|
|
702
|
-
--collectionBrowserCellMaxHeight,
|
|
703
|
-
2rem
|
|
704
|
-
);
|
|
1000
|
+
--infiniteScrollerCellMinHeight: 34px; /* override infinite scroller component */
|
|
1001
|
+
--infiniteScrollerCellMaxHeight: 56px;
|
|
1002
|
+
--infiniteScrollerRowGap: 0px;
|
|
705
1003
|
}
|
|
706
1004
|
|
|
707
1005
|
infinite-scroller.list-detail {
|
|
@@ -713,6 +1011,16 @@ CollectionBrowser.styles = css `
|
|
|
713
1011
|
--collectionBrowserCellMinHeight,
|
|
714
1012
|
5rem
|
|
715
1013
|
);
|
|
1014
|
+
/*
|
|
1015
|
+
30px in spec, compensating for a -4px margin
|
|
1016
|
+
to align title with top of item image
|
|
1017
|
+
src/tiles/list/tile-list.ts
|
|
1018
|
+
*/
|
|
1019
|
+
--infiniteScrollerRowGap: 34px;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
.mobile infinite-scroller.list-detail {
|
|
1023
|
+
--infiniteScrollerRowGap: 24px;
|
|
716
1024
|
}
|
|
717
1025
|
|
|
718
1026
|
infinite-scroller.grid {
|
|
@@ -740,15 +1048,24 @@ __decorate([
|
|
|
740
1048
|
__decorate([
|
|
741
1049
|
property({ type: String })
|
|
742
1050
|
], CollectionBrowser.prototype, "baseQuery", void 0);
|
|
743
|
-
__decorate([
|
|
744
|
-
property({ type: Boolean })
|
|
745
|
-
], CollectionBrowser.prototype, "showDeleteButtons", void 0);
|
|
746
1051
|
__decorate([
|
|
747
1052
|
property({ type: String })
|
|
748
1053
|
], CollectionBrowser.prototype, "displayMode", void 0);
|
|
749
1054
|
__decorate([
|
|
750
1055
|
property({ type: Object })
|
|
751
1056
|
], CollectionBrowser.prototype, "sortParam", void 0);
|
|
1057
|
+
__decorate([
|
|
1058
|
+
property({ type: String })
|
|
1059
|
+
], CollectionBrowser.prototype, "selectedSort", void 0);
|
|
1060
|
+
__decorate([
|
|
1061
|
+
property({ type: String })
|
|
1062
|
+
], CollectionBrowser.prototype, "selectedTitleFilter", void 0);
|
|
1063
|
+
__decorate([
|
|
1064
|
+
property({ type: String })
|
|
1065
|
+
], CollectionBrowser.prototype, "selectedCreatorFilter", void 0);
|
|
1066
|
+
__decorate([
|
|
1067
|
+
property({ type: String })
|
|
1068
|
+
], CollectionBrowser.prototype, "sortDirection", void 0);
|
|
752
1069
|
__decorate([
|
|
753
1070
|
property({ type: String })
|
|
754
1071
|
], CollectionBrowser.prototype, "dateRangeQueryClause", void 0);
|
|
@@ -759,23 +1076,44 @@ __decorate([
|
|
|
759
1076
|
property({ type: Object })
|
|
760
1077
|
], CollectionBrowser.prototype, "resizeObserver", void 0);
|
|
761
1078
|
__decorate([
|
|
762
|
-
|
|
763
|
-
], CollectionBrowser.prototype, "
|
|
1079
|
+
property({ type: String })
|
|
1080
|
+
], CollectionBrowser.prototype, "titleQuery", void 0);
|
|
764
1081
|
__decorate([
|
|
765
|
-
|
|
766
|
-
], CollectionBrowser.prototype, "
|
|
1082
|
+
property({ type: String })
|
|
1083
|
+
], CollectionBrowser.prototype, "creatorQuery", void 0);
|
|
767
1084
|
__decorate([
|
|
768
|
-
|
|
769
|
-
], CollectionBrowser.prototype, "
|
|
1085
|
+
property({ type: Number })
|
|
1086
|
+
], CollectionBrowser.prototype, "currentPage", void 0);
|
|
770
1087
|
__decorate([
|
|
771
|
-
|
|
772
|
-
], CollectionBrowser.prototype, "
|
|
1088
|
+
property({ type: String })
|
|
1089
|
+
], CollectionBrowser.prototype, "minSelectedDate", void 0);
|
|
773
1090
|
__decorate([
|
|
774
|
-
|
|
1091
|
+
property({ type: String })
|
|
1092
|
+
], CollectionBrowser.prototype, "maxSelectedDate", void 0);
|
|
1093
|
+
__decorate([
|
|
1094
|
+
property({ type: Object })
|
|
775
1095
|
], CollectionBrowser.prototype, "selectedFacets", void 0);
|
|
1096
|
+
__decorate([
|
|
1097
|
+
property({ type: Boolean })
|
|
1098
|
+
], CollectionBrowser.prototype, "showHistogramDatePicker", void 0);
|
|
1099
|
+
__decorate([
|
|
1100
|
+
property({ type: Object })
|
|
1101
|
+
], CollectionBrowser.prototype, "collectionNameCache", void 0);
|
|
1102
|
+
__decorate([
|
|
1103
|
+
property({ type: String })
|
|
1104
|
+
], CollectionBrowser.prototype, "pageContext", void 0);
|
|
1105
|
+
__decorate([
|
|
1106
|
+
property({ type: Object })
|
|
1107
|
+
], CollectionBrowser.prototype, "restorationStateHandler", void 0);
|
|
1108
|
+
__decorate([
|
|
1109
|
+
property({ type: Number })
|
|
1110
|
+
], CollectionBrowser.prototype, "mobileBreakpoint", void 0);
|
|
1111
|
+
__decorate([
|
|
1112
|
+
state()
|
|
1113
|
+
], CollectionBrowser.prototype, "pagesToRender", void 0);
|
|
776
1114
|
__decorate([
|
|
777
1115
|
state()
|
|
778
|
-
], CollectionBrowser.prototype, "
|
|
1116
|
+
], CollectionBrowser.prototype, "searchResultsLoading", void 0);
|
|
779
1117
|
__decorate([
|
|
780
1118
|
state()
|
|
781
1119
|
], CollectionBrowser.prototype, "facetsLoading", void 0);
|
|
@@ -793,13 +1131,13 @@ __decorate([
|
|
|
793
1131
|
], CollectionBrowser.prototype, "totalResults", void 0);
|
|
794
1132
|
__decorate([
|
|
795
1133
|
state()
|
|
796
|
-
], CollectionBrowser.prototype, "
|
|
1134
|
+
], CollectionBrowser.prototype, "mobileView", void 0);
|
|
797
1135
|
__decorate([
|
|
798
1136
|
state()
|
|
799
|
-
], CollectionBrowser.prototype, "
|
|
1137
|
+
], CollectionBrowser.prototype, "mobileFacetsVisible", void 0);
|
|
800
1138
|
__decorate([
|
|
801
|
-
|
|
802
|
-
], CollectionBrowser.prototype, "
|
|
1139
|
+
query('#content-container')
|
|
1140
|
+
], CollectionBrowser.prototype, "contentContainer", void 0);
|
|
803
1141
|
__decorate([
|
|
804
1142
|
query('infinite-scroller')
|
|
805
1143
|
], CollectionBrowser.prototype, "infiniteScroller", void 0);
|