@internetarchive/collection-browser 3.4.1-alpha-webdev7761.4 → 3.4.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/.editorconfig +29 -29
- package/.github/workflows/ci.yml +27 -27
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -1
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/src/app-root.js +28 -19
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/collection-browser.d.ts +4 -24
- package/dist/src/collection-browser.js +125 -286
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.js +143 -143
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +1 -1
- package/dist/src/collection-facets/more-facets-content.js +48 -34
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.js +10 -6
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +21 -16
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +10 -7
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +2 -3
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +11 -9
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +7 -7
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.js +6 -4
- package/dist/src/collection-facets/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.js +310 -309
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +1 -10
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +1 -19
- package/dist/src/data-source/collection-browser-data-source.js +65 -71
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +2 -1
- package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
- package/dist/src/data-source/models.d.ts +0 -11
- package/dist/src/data-source/models.js.map +1 -1
- package/dist/src/empty-placeholder.js +18 -19
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.js +10 -6
- package/dist/src/expanded-date-picker.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.js +2 -2
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
- package/dist/src/manage/manage-bar.js +15 -9
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/manage/remove-items-modal-content.js +2 -2
- package/dist/src/manage/remove-items-modal-content.js.map +1 -1
- package/dist/src/models.d.ts +6 -2
- package/dist/src/models.js +54 -46
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +2 -1
- package/dist/src/restoration-state-handler.js +19 -12
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.js +14 -9
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.js +24 -14
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/base-tile-component.js +2 -1
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.js +7 -5
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +6 -3
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.js +33 -23
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/search-tile.js +2 -1
- package/dist/src/tiles/grid/search-tile.js.map +1 -1
- package/dist/src/tiles/grid/tile-stats.js +3 -2
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.js +28 -21
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.js +4 -3
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.js +8 -5
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.js +19 -12
- package/dist/src/tiles/item-image.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +25 -17
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +55 -34
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/overlay/icon-overlay.js +2 -1
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/text-overlay.js +4 -2
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/text-snippet-block.js +4 -2
- package/dist/src/tiles/text-snippet-block.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.js +30 -22
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.js +9 -5
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/src/tiles/tile-mediatype-icon.js +19 -12
- package/dist/src/tiles/tile-mediatype-icon.js.map +1 -1
- package/dist/src/utils/collapse-repeated-quotes.js +1 -1
- package/dist/src/utils/collapse-repeated-quotes.js.map +1 -1
- package/dist/src/utils/facet-utils.js +5 -3
- package/dist/src/utils/facet-utils.js.map +1 -1
- package/dist/src/utils/format-count.js +10 -10
- package/dist/src/utils/format-count.js.map +1 -1
- package/dist/src/utils/resolve-mediatype.js +3 -2
- package/dist/src/utils/resolve-mediatype.js.map +1 -1
- package/dist/test/collection-browser.test.js +380 -336
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.js +52 -37
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- package/dist/test/collection-facets/facets-template.test.js +23 -17
- package/dist/test/collection-facets/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +32 -22
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +22 -16
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +19 -22
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
- package/dist/test/collection-facets.test.js +77 -60
- package/dist/test/collection-facets.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.js +17 -11
- package/dist/test/empty-placeholder.test.js.map +1 -1
- package/dist/test/expanded-date-picker.test.js +14 -8
- package/dist/test/expanded-date-picker.test.js.map +1 -1
- package/dist/test/icon-overlay.test.js +6 -7
- package/dist/test/icon-overlay.test.js.map +1 -1
- package/dist/test/image-block.test.js +26 -16
- package/dist/test/image-block.test.js.map +1 -1
- package/dist/test/item-image.test.js +32 -23
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.js +33 -21
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/manage/remove-items-modal-content.test.js +15 -10
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
- package/dist/test/mocks/mock-search-service.js +3 -2
- package/dist/test/mocks/mock-search-service.js.map +1 -1
- package/dist/test/restoration-state-handler.test.js +54 -14
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/review-block.test.js +18 -16
- package/dist/test/review-block.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +3 -2
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +24 -18
- package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +180 -178
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.js +15 -16
- package/dist/test/text-overlay.test.js.map +1 -1
- package/dist/test/text-snippet-block.test.js +19 -14
- package/dist/test/text-snippet-block.test.js.map +1 -1
- package/dist/test/tile-stats.test.js +34 -73
- package/dist/test/tile-stats.test.js.map +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +25 -25
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +19 -13
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +91 -64
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +13 -9
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +35 -23
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +16 -12
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +48 -34
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +105 -76
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +30 -17
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- package/dist/test/tiles/tile-mediatype-icon.test.js +24 -12
- package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -1
- package/eslint.config.mjs +53 -53
- package/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +118 -120
- package/renovate.json +6 -6
- package/src/collection-browser.ts +15 -246
- package/src/collection-facets/facet-row.ts +296 -299
- package/src/collection-facets/more-facets-content.ts +8 -5
- package/src/collection-facets.ts +995 -1010
- package/src/data-source/collection-browser-data-source-interface.ts +333 -345
- package/src/data-source/collection-browser-data-source.ts +1401 -1441
- package/src/data-source/collection-browser-query-state.ts +65 -59
- package/src/data-source/models.ts +43 -56
- package/src/models.ts +870 -866
- package/src/restoration-state-handler.ts +544 -546
- package/test/collection-browser.test.ts +2403 -2413
- package/test/restoration-state-handler.test.ts +510 -480
- package/tsconfig.json +20 -25
- package/vite.config.ts +22 -29
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
- package/dist/src/combo-box/caret-closed.d.ts +0 -2
- package/dist/src/combo-box/caret-closed.js +0 -7
- package/dist/src/combo-box/caret-closed.js.map +0 -1
- package/dist/src/combo-box/caret-open.d.ts +0 -2
- package/dist/src/combo-box/caret-open.js +0 -7
- package/dist/src/combo-box/caret-open.js.map +0 -1
- package/dist/src/combo-box/clear.d.ts +0 -2
- package/dist/src/combo-box/clear.js +0 -11
- package/dist/src/combo-box/clear.js.map +0 -1
- package/dist/src/combo-box/ia-combo-box.d.ts +0 -422
- package/dist/src/combo-box/ia-combo-box.js +0 -1203
- package/dist/src/combo-box/ia-combo-box.js.map +0 -1
- package/dist/src/combo-box/models.d.ts +0 -75
- package/dist/src/combo-box/models.js +0 -40
- package/dist/src/combo-box/models.js.map +0 -1
- package/src/combo-box/caret-closed.ts +0 -7
- package/src/combo-box/caret-open.ts +0 -7
- package/src/combo-box/clear.ts +0 -11
- package/src/combo-box/ia-combo-box.ts +0 -1288
- package/src/combo-box/models.ts +0 -113
|
@@ -43,7 +43,6 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
43
43
|
creator: false,
|
|
44
44
|
collection: false,
|
|
45
45
|
year: false,
|
|
46
|
-
clip_type: false,
|
|
47
46
|
program: false,
|
|
48
47
|
person: false,
|
|
49
48
|
sponsor: false,
|
|
@@ -53,7 +52,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
53
52
|
*/
|
|
54
53
|
this.allowedFacetCount = 6;
|
|
55
54
|
this.handleExpandedDatePickerClosed = () => {
|
|
56
|
-
|
|
55
|
+
var _a;
|
|
56
|
+
(_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('expanded-date-picker');
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
59
|
* Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
|
|
@@ -74,71 +74,70 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
74
74
|
loading: this.facetsLoading,
|
|
75
75
|
managing: this.isManageView,
|
|
76
76
|
});
|
|
77
|
-
const heading = this.isTvSearch
|
|
78
|
-
? msg('Date Published')
|
|
79
|
-
: msg('Year Published');
|
|
80
77
|
// Added data-testid for Playwright testing
|
|
81
78
|
// Using facet-group class and aria-labels is not ideal for Playwright locator
|
|
82
79
|
const datePickerLabelId = 'date-picker-label';
|
|
83
|
-
return html `
|
|
84
|
-
<div id="container" class=${containerClasses}>
|
|
80
|
+
return html `
|
|
81
|
+
<div id="container" class=${containerClasses}>
|
|
85
82
|
${this.showHistogramDatePicker &&
|
|
86
83
|
(this.histogramAggregation || this.histogramAggregationLoading)
|
|
87
|
-
? html `
|
|
88
|
-
<section
|
|
89
|
-
class="facet-group"
|
|
90
|
-
aria-labelledby=${datePickerLabelId}
|
|
91
|
-
data-testid="facet-group-header-label-date-picker"
|
|
92
|
-
>
|
|
93
|
-
<h3 id=${datePickerLabelId}>
|
|
94
|
-
|
|
95
|
-
${this.expandDatePickerBtnTemplate}
|
|
96
|
-
</h3>
|
|
97
|
-
${this.histogramTemplate}
|
|
98
|
-
</section>
|
|
84
|
+
? html `
|
|
85
|
+
<section
|
|
86
|
+
class="facet-group"
|
|
87
|
+
aria-labelledby=${datePickerLabelId}
|
|
88
|
+
data-testid="facet-group-header-label-date-picker"
|
|
89
|
+
>
|
|
90
|
+
<h3 id=${datePickerLabelId}>
|
|
91
|
+
Year Published <span class="sr-only">range filter</span>
|
|
92
|
+
${this.expandDatePickerBtnTemplate}
|
|
93
|
+
</h3>
|
|
94
|
+
${this.histogramTemplate}
|
|
95
|
+
</section>
|
|
99
96
|
`
|
|
100
|
-
: nothing}
|
|
101
|
-
${this.collectionPartOfTemplate}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
</div>
|
|
97
|
+
: nothing}
|
|
98
|
+
${this.collectionPartOfTemplate}
|
|
99
|
+
${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
|
|
100
|
+
</div>
|
|
105
101
|
`;
|
|
106
102
|
}
|
|
107
103
|
get collectionPartOfTemplate() {
|
|
104
|
+
var _a;
|
|
108
105
|
// We only display the "Part Of" section on collection pages
|
|
109
|
-
if (!this.parentCollections
|
|
106
|
+
if (!((_a = this.parentCollections) === null || _a === void 0 ? void 0 : _a.length))
|
|
110
107
|
return nothing;
|
|
111
108
|
// Added data-testid for Playwright testing
|
|
112
109
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
113
110
|
const headingId = 'partof-heading';
|
|
114
|
-
return html `
|
|
115
|
-
<section
|
|
116
|
-
class="facet-group partof-collections"
|
|
117
|
-
aria-labelledby=${headingId}
|
|
118
|
-
data-testid="facet-group-partof-collections"
|
|
119
|
-
>
|
|
120
|
-
<div class="facet-group-header">
|
|
121
|
-
<h3 id=${headingId}>${msg('Part Of')}</h3>
|
|
122
|
-
</div>
|
|
123
|
-
<ul>
|
|
111
|
+
return html `
|
|
112
|
+
<section
|
|
113
|
+
class="facet-group partof-collections"
|
|
114
|
+
aria-labelledby=${headingId}
|
|
115
|
+
data-testid="facet-group-partof-collections"
|
|
116
|
+
>
|
|
117
|
+
<div class="facet-group-header">
|
|
118
|
+
<h3 id=${headingId}>${msg('Part Of')}</h3>
|
|
119
|
+
</div>
|
|
120
|
+
<ul>
|
|
124
121
|
${map(this.parentCollections, collxn => {
|
|
122
|
+
var _a, _b;
|
|
125
123
|
const collectionURL = `${this.baseNavigationUrl}${this.collectionPagePath}${collxn}`;
|
|
126
|
-
return html ` <li>
|
|
127
|
-
<a
|
|
128
|
-
href=${collectionURL}
|
|
129
|
-
data-id=${collxn}
|
|
130
|
-
@click=${this.partOfCollectionClicked}
|
|
131
|
-
>
|
|
132
|
-
${this.collectionTitles
|
|
133
|
-
</a>
|
|
124
|
+
return html ` <li>
|
|
125
|
+
<a
|
|
126
|
+
href=${collectionURL}
|
|
127
|
+
data-id=${collxn}
|
|
128
|
+
@click=${this.partOfCollectionClicked}
|
|
129
|
+
>
|
|
130
|
+
${(_b = (_a = this.collectionTitles) === null || _a === void 0 ? void 0 : _a.get(collxn)) !== null && _b !== void 0 ? _b : collxn}
|
|
131
|
+
</a>
|
|
134
132
|
</li>`;
|
|
135
|
-
})}
|
|
136
|
-
</ul>
|
|
137
|
-
</section>
|
|
133
|
+
})}
|
|
134
|
+
</ul>
|
|
135
|
+
</section>
|
|
138
136
|
`;
|
|
139
137
|
}
|
|
140
138
|
partOfCollectionClicked(e) {
|
|
141
|
-
|
|
139
|
+
var _a;
|
|
140
|
+
(_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
|
|
142
141
|
category: analyticsCategories.default,
|
|
143
142
|
action: analyticsActions.partOfCollectionClicked,
|
|
144
143
|
label: e.target.dataset.id,
|
|
@@ -148,18 +147,19 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
148
147
|
* Properties to pass into the date-picker histogram component
|
|
149
148
|
*/
|
|
150
149
|
get histogramProps() {
|
|
150
|
+
var _a, _b, _c, _d, _e, _f;
|
|
151
151
|
const { histogramAggregation: aggregation } = this;
|
|
152
152
|
if (!aggregation)
|
|
153
153
|
return undefined;
|
|
154
154
|
// Normalize some properties from the raw aggregation
|
|
155
|
-
const firstYear = aggregation.first_bucket_year
|
|
156
|
-
const lastYear = aggregation.last_bucket_year
|
|
155
|
+
const firstYear = (_a = aggregation.first_bucket_year) !== null && _a !== void 0 ? _a : aggregation.first_bucket_key;
|
|
156
|
+
const lastYear = (_b = aggregation.last_bucket_year) !== null && _b !== void 0 ? _b : aggregation.last_bucket_key;
|
|
157
157
|
if (firstYear == null || lastYear == null)
|
|
158
158
|
return undefined; // We at least need a start/end year defined
|
|
159
|
-
const firstMonth = aggregation.first_bucket_month
|
|
160
|
-
const lastMonth = aggregation.last_bucket_month
|
|
161
|
-
const yearInterval = aggregation.interval
|
|
162
|
-
const monthInterval = aggregation.interval_in_months
|
|
159
|
+
const firstMonth = (_c = aggregation.first_bucket_month) !== null && _c !== void 0 ? _c : 1;
|
|
160
|
+
const lastMonth = (_d = aggregation.last_bucket_month) !== null && _d !== void 0 ? _d : 12;
|
|
161
|
+
const yearInterval = (_e = aggregation.interval) !== null && _e !== void 0 ? _e : 1;
|
|
162
|
+
const monthInterval = (_f = aggregation.interval_in_months) !== null && _f !== void 0 ? _f : 12;
|
|
163
163
|
const zeroPadMonth = (month) => month.toString().padStart(2, '0');
|
|
164
164
|
// The date picker is configured differently for TV search, allowing month-level resolution
|
|
165
165
|
if (this.isTvSearch) {
|
|
@@ -195,6 +195,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
195
195
|
* Opens a modal dialog containing an enlarged version of the date picker.
|
|
196
196
|
*/
|
|
197
197
|
showDatePickerModal() {
|
|
198
|
+
var _a, _b, _c;
|
|
198
199
|
const { histogramProps } = this;
|
|
199
200
|
if (!histogramProps)
|
|
200
201
|
return;
|
|
@@ -214,24 +215,24 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
214
215
|
expandedDatePicker.maxSelectedDate = this.maxSelectedDate;
|
|
215
216
|
}
|
|
216
217
|
};
|
|
217
|
-
const customModalContent = html `
|
|
218
|
-
<expanded-date-picker
|
|
219
|
-
${ref(expandedDatePickerChanged)}
|
|
220
|
-
.minDate=${minDate}
|
|
221
|
-
.maxDate=${maxDate}
|
|
222
|
-
.minSelectedDate=${this.minSelectedDate}
|
|
223
|
-
.maxSelectedDate=${this.maxSelectedDate}
|
|
224
|
-
.customDateFormat=${dateFormat}
|
|
225
|
-
.customTooltipDateFormat=${tooltipDateFormat}
|
|
226
|
-
.customTooltipLabel=${tooltipLabel}
|
|
227
|
-
.binSnapping=${binSnapping}
|
|
228
|
-
.barScaling=${barScaling}
|
|
229
|
-
.buckets=${buckets}
|
|
230
|
-
.modalManager=${this.modalManager}
|
|
231
|
-
.analyticsHandler=${this.analyticsHandler}
|
|
232
|
-
@histogramDateRangeApplied=${this.histogramDateRangeUpdated}
|
|
233
|
-
@modalClosed=${this.handleExpandedDatePickerClosed}
|
|
234
|
-
></expanded-date-picker>
|
|
218
|
+
const customModalContent = html `
|
|
219
|
+
<expanded-date-picker
|
|
220
|
+
${ref(expandedDatePickerChanged)}
|
|
221
|
+
.minDate=${minDate}
|
|
222
|
+
.maxDate=${maxDate}
|
|
223
|
+
.minSelectedDate=${this.minSelectedDate}
|
|
224
|
+
.maxSelectedDate=${this.maxSelectedDate}
|
|
225
|
+
.customDateFormat=${dateFormat}
|
|
226
|
+
.customTooltipDateFormat=${tooltipDateFormat}
|
|
227
|
+
.customTooltipLabel=${tooltipLabel}
|
|
228
|
+
.binSnapping=${binSnapping}
|
|
229
|
+
.barScaling=${barScaling}
|
|
230
|
+
.buckets=${buckets}
|
|
231
|
+
.modalManager=${this.modalManager}
|
|
232
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
233
|
+
@histogramDateRangeApplied=${this.histogramDateRangeUpdated}
|
|
234
|
+
@modalClosed=${this.handleExpandedDatePickerClosed}
|
|
235
|
+
></expanded-date-picker>
|
|
235
236
|
`;
|
|
236
237
|
const config = new ModalConfig({
|
|
237
238
|
bodyColor: '#fff',
|
|
@@ -240,13 +241,13 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
240
241
|
closeOnBackdropClick: true, // TODO: want to fire analytics
|
|
241
242
|
title: html `${msg('Select a date range')}`,
|
|
242
243
|
});
|
|
243
|
-
this.modalManager
|
|
244
|
-
this.modalManager
|
|
244
|
+
(_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('expanded-date-picker');
|
|
245
|
+
(_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
|
|
245
246
|
config,
|
|
246
247
|
customModalContent,
|
|
247
248
|
userClosedModalCallback: this.handleExpandedDatePickerClosed,
|
|
248
249
|
});
|
|
249
|
-
this.analyticsHandler
|
|
250
|
+
(_c = this.analyticsHandler) === null || _c === void 0 ? void 0 : _c.sendEvent({
|
|
250
251
|
category: analyticsCategories.default,
|
|
251
252
|
action: analyticsActions.histogramExpanded,
|
|
252
253
|
label: window.location.href,
|
|
@@ -270,17 +271,18 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
270
271
|
*/
|
|
271
272
|
get expandDatePickerBtnTemplate() {
|
|
272
273
|
return this.allowExpandingDatePicker && !this.facetsLoading
|
|
273
|
-
? html `<button
|
|
274
|
-
class="expand-date-picker-btn"
|
|
275
|
-
aria-haspopup="dialog"
|
|
276
|
-
@click=${this.showDatePickerModal}
|
|
277
|
-
>
|
|
278
|
-
<span class="sr-only">${msg('Expand date histogram')}</span>
|
|
279
|
-
<span aria-hidden="true">${expandIcon}</span>
|
|
274
|
+
? html `<button
|
|
275
|
+
class="expand-date-picker-btn"
|
|
276
|
+
aria-haspopup="dialog"
|
|
277
|
+
@click=${this.showDatePickerModal}
|
|
278
|
+
>
|
|
279
|
+
<span class="sr-only">${msg('Expand date histogram')}</span>
|
|
280
|
+
<span aria-hidden="true">${expandIcon}</span>
|
|
280
281
|
</button>`
|
|
281
282
|
: nothing;
|
|
282
283
|
}
|
|
283
284
|
get histogramTemplate() {
|
|
285
|
+
var _a, _b;
|
|
284
286
|
if (this.histogramAggregationLoading) {
|
|
285
287
|
return html ` <div class="histogram-loading-indicator">…</div> `;
|
|
286
288
|
}
|
|
@@ -288,26 +290,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
288
290
|
if (!histogramProps)
|
|
289
291
|
return nothing;
|
|
290
292
|
const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
|
|
291
|
-
return html `
|
|
292
|
-
<histogram-date-range
|
|
293
|
-
class=${this.isTvSearch ? 'wide-inputs' : ''}
|
|
294
|
-
.minDate=${minDate}
|
|
295
|
-
.maxDate=${maxDate}
|
|
296
|
-
.minSelectedDate=${this.minSelectedDate
|
|
297
|
-
.maxSelectedDate=${this.maxSelectedDate
|
|
298
|
-
.updateDelay=${100}
|
|
299
|
-
.dateFormat=${dateFormat}
|
|
300
|
-
.tooltipDateFormat=${tooltipDateFormat}
|
|
301
|
-
.tooltipLabel=${tooltipLabel}
|
|
302
|
-
.binSnapping=${binSnapping}
|
|
303
|
-
.barScaling=${barScaling}
|
|
304
|
-
.bins=${buckets}
|
|
305
|
-
missingDataMessage="..."
|
|
293
|
+
return html `
|
|
294
|
+
<histogram-date-range
|
|
295
|
+
class=${this.isTvSearch ? 'wide-inputs' : ''}
|
|
296
|
+
.minDate=${minDate}
|
|
297
|
+
.maxDate=${maxDate}
|
|
298
|
+
.minSelectedDate=${(_a = this.minSelectedDate) !== null && _a !== void 0 ? _a : minDate}
|
|
299
|
+
.maxSelectedDate=${(_b = this.maxSelectedDate) !== null && _b !== void 0 ? _b : maxDate}
|
|
300
|
+
.updateDelay=${100}
|
|
301
|
+
.dateFormat=${dateFormat}
|
|
302
|
+
.tooltipDateFormat=${tooltipDateFormat}
|
|
303
|
+
.tooltipLabel=${tooltipLabel}
|
|
304
|
+
.binSnapping=${binSnapping}
|
|
305
|
+
.barScaling=${barScaling}
|
|
306
|
+
.bins=${buckets}
|
|
307
|
+
missingDataMessage="..."
|
|
306
308
|
.width=${this.collapsableFacets && this.contentWidth
|
|
307
309
|
? this.contentWidth
|
|
308
|
-
: 180}
|
|
309
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
310
|
-
></histogram-date-range>
|
|
310
|
+
: 180}
|
|
311
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
312
|
+
></histogram-date-range>
|
|
311
313
|
`;
|
|
312
314
|
}
|
|
313
315
|
/**
|
|
@@ -316,6 +318,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
316
318
|
get mergedFacets() {
|
|
317
319
|
const facetGroups = [];
|
|
318
320
|
this.facetDisplayOrder.forEach(facetKey => {
|
|
321
|
+
var _a, _b;
|
|
319
322
|
if (facetKey === 'mediatype' && this.suppressMediatypeFacets)
|
|
320
323
|
return;
|
|
321
324
|
const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === facetKey);
|
|
@@ -329,9 +332,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
329
332
|
if (!aggregateFacetGroup)
|
|
330
333
|
return;
|
|
331
334
|
// start with either the selected group if we have one, or the aggregate group
|
|
332
|
-
const facetGroup = selectedFacetGroup
|
|
335
|
+
const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
|
|
333
336
|
// attach the counts to the selected buckets
|
|
334
|
-
let bucketsWithCount = selectedFacetGroup
|
|
337
|
+
let bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
|
|
335
338
|
const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
|
|
336
339
|
return selectedBucket
|
|
337
340
|
? {
|
|
@@ -339,7 +342,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
339
342
|
count: selectedBucket.count,
|
|
340
343
|
}
|
|
341
344
|
: bucket;
|
|
342
|
-
})
|
|
345
|
+
})) !== null && _a !== void 0 ? _a : [];
|
|
343
346
|
// append any additional buckets that were not selected
|
|
344
347
|
aggregateFacetGroup.buckets.forEach(bucket => {
|
|
345
348
|
const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
|
|
@@ -353,7 +356,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
353
356
|
* - by-default we are showing 6 items
|
|
354
357
|
* - additionally want to show all items (selected/suppressed) in page facet area
|
|
355
358
|
*/
|
|
356
|
-
let allowedFacetCount = Object.keys(selectedFacetGroup
|
|
359
|
+
let allowedFacetCount = (_b = Object.keys((selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets) || [])) === null || _b === void 0 ? void 0 : _b.length;
|
|
357
360
|
if (allowedFacetCount < this.allowedFacetCount) {
|
|
358
361
|
allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
|
|
359
362
|
}
|
|
@@ -378,22 +381,14 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
378
381
|
// For TV creator facets, uppercase the display text
|
|
379
382
|
if (facetKey === 'creator' && this.isTvSearch) {
|
|
380
383
|
bucketsWithCount.forEach(b => {
|
|
381
|
-
|
|
382
|
-
|
|
384
|
+
var _a, _b, _c;
|
|
385
|
+
b.displayText = (_b = ((_a = b.displayText) !== null && _a !== void 0 ? _a : b.key)) === null || _b === void 0 ? void 0 : _b.toLocaleUpperCase();
|
|
386
|
+
const channelLabel = (_c = this.tvChannelAliases) === null || _c === void 0 ? void 0 : _c.get(b.displayText);
|
|
383
387
|
if (channelLabel && channelLabel !== b.displayText) {
|
|
384
388
|
b.extraNote = `(${channelLabel})`;
|
|
385
389
|
}
|
|
386
390
|
});
|
|
387
391
|
}
|
|
388
|
-
// For TV clip_type facets, capitalize the display text
|
|
389
|
-
if (facetKey === 'clip_type') {
|
|
390
|
-
bucketsWithCount.forEach(b => {
|
|
391
|
-
b.displayText ??= b.key;
|
|
392
|
-
b.displayText =
|
|
393
|
-
b.displayText.charAt(0).toLocaleUpperCase() +
|
|
394
|
-
b.displayText.slice(1);
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
392
|
// slice off how many items we want to show in page facet area
|
|
398
393
|
facetGroup.buckets = bucketsWithCount.slice(0, allowedFacetCount);
|
|
399
394
|
facetGroups.push(facetGroup);
|
|
@@ -411,11 +406,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
411
406
|
const option = key;
|
|
412
407
|
const title = facetTitles[option];
|
|
413
408
|
const buckets = Object.entries(selectedFacets).map(([value, facetData]) => {
|
|
409
|
+
var _a;
|
|
414
410
|
let displayText = value;
|
|
415
411
|
// for lending facets, convert the key to a readable format
|
|
416
412
|
if (option === 'lending') {
|
|
417
413
|
displayText =
|
|
418
|
-
lendingFacetDisplayNames[value]
|
|
414
|
+
(_a = lendingFacetDisplayNames[value]) !== null && _a !== void 0 ? _a : value;
|
|
419
415
|
}
|
|
420
416
|
return {
|
|
421
417
|
displayText,
|
|
@@ -436,8 +432,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
436
432
|
* Converts the raw `aggregations` to `FacetGroups`, which are easier to use
|
|
437
433
|
*/
|
|
438
434
|
get aggregationFacetGroups() {
|
|
435
|
+
var _a;
|
|
439
436
|
const facetGroups = [];
|
|
440
|
-
Object.entries(this.aggregations
|
|
437
|
+
Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
|
|
441
438
|
// the year_histogram and date_histogram data is in a different format so can't be handled here
|
|
442
439
|
if (['year_histogram', 'date_histogram'].includes(key))
|
|
443
440
|
return;
|
|
@@ -448,19 +445,20 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
448
445
|
let castedBuckets = aggregation.getSortedBuckets(defaultFacetSort[option]);
|
|
449
446
|
if (option === 'collection') {
|
|
450
447
|
// we are not showing fav- collections or certain deemphasized collections in facets
|
|
451
|
-
castedBuckets = castedBuckets
|
|
452
|
-
|
|
453
|
-
|
|
448
|
+
castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
|
|
449
|
+
var _a;
|
|
450
|
+
const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
|
|
451
|
+
return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
|
|
454
452
|
});
|
|
455
453
|
}
|
|
456
454
|
const facetBuckets = castedBuckets.map(bucket => {
|
|
455
|
+
var _a;
|
|
457
456
|
const bucketKey = bucket.key;
|
|
458
457
|
let displayText = `${bucket.key}`;
|
|
459
458
|
// for lending facets, convert the bucket key to a readable format
|
|
460
459
|
if (option === 'lending') {
|
|
461
460
|
displayText =
|
|
462
|
-
lendingFacetDisplayNames[bucket.key]
|
|
463
|
-
`${bucket.key}`;
|
|
461
|
+
(_a = lendingFacetDisplayNames[bucket.key]) !== null && _a !== void 0 ? _a : `${bucket.key}`;
|
|
464
462
|
}
|
|
465
463
|
return {
|
|
466
464
|
displayText,
|
|
@@ -487,8 +485,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
487
485
|
return nothing;
|
|
488
486
|
const { key } = facetGroup;
|
|
489
487
|
const isOpen = this.openFacets[key];
|
|
490
|
-
const collapser = html `
|
|
491
|
-
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
488
|
+
const collapser = html `
|
|
489
|
+
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
492
490
|
`;
|
|
493
491
|
const toggleCollapsed = () => {
|
|
494
492
|
const newOpenFacets = { ...this.openFacets };
|
|
@@ -498,40 +496,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
498
496
|
// Added data-testid for Playwright testing
|
|
499
497
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
500
498
|
const headerId = `facet-group-header-label-${facetGroup.key}`;
|
|
501
|
-
return html `
|
|
502
|
-
<section
|
|
503
|
-
class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
|
|
504
|
-
aria-labelledby=${headerId}
|
|
505
|
-
data-testid=${headerId}
|
|
506
|
-
>
|
|
507
|
-
<div class="facet-group-header">
|
|
508
|
-
<h3
|
|
509
|
-
id=${headerId}
|
|
510
|
-
@click=${toggleCollapsed}
|
|
511
|
-
@keyup=${toggleCollapsed}
|
|
512
|
-
>
|
|
513
|
-
${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
|
|
514
|
-
<span class="sr-only">filters</span>
|
|
515
|
-
</h3>
|
|
516
|
-
</div>
|
|
517
|
-
<div
|
|
518
|
-
class="facet-group-content ${isOpen ? 'open' : ''}"
|
|
519
|
-
data-testid="facet-group-content-${facetGroup.key}"
|
|
520
|
-
>
|
|
499
|
+
return html `
|
|
500
|
+
<section
|
|
501
|
+
class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
|
|
502
|
+
aria-labelledby=${headerId}
|
|
503
|
+
data-testid=${headerId}
|
|
504
|
+
>
|
|
505
|
+
<div class="facet-group-header">
|
|
506
|
+
<h3
|
|
507
|
+
id=${headerId}
|
|
508
|
+
@click=${toggleCollapsed}
|
|
509
|
+
@keyup=${toggleCollapsed}
|
|
510
|
+
>
|
|
511
|
+
${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
|
|
512
|
+
<span class="sr-only">filters</span>
|
|
513
|
+
</h3>
|
|
514
|
+
</div>
|
|
515
|
+
<div
|
|
516
|
+
class="facet-group-content ${isOpen ? 'open' : ''}"
|
|
517
|
+
data-testid="facet-group-content-${facetGroup.key}"
|
|
518
|
+
>
|
|
521
519
|
${this.facetsLoading
|
|
522
520
|
? this.getTombstoneFacetGroupTemplate()
|
|
523
|
-
: html `
|
|
524
|
-
${this.getFacetTemplate(facetGroup)}
|
|
525
|
-
${this.searchMoreFacetsLink(facetGroup)}
|
|
526
|
-
`}
|
|
527
|
-
</div>
|
|
528
|
-
</section>
|
|
521
|
+
: html `
|
|
522
|
+
${this.getFacetTemplate(facetGroup)}
|
|
523
|
+
${this.searchMoreFacetsLink(facetGroup)}
|
|
524
|
+
`}
|
|
525
|
+
</div>
|
|
526
|
+
</section>
|
|
529
527
|
`;
|
|
530
528
|
}
|
|
531
529
|
getTombstoneFacetGroupTemplate() {
|
|
532
530
|
// Render five tombstone rows
|
|
533
|
-
return html `
|
|
534
|
-
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
531
|
+
return html `
|
|
532
|
+
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
535
533
|
`;
|
|
536
534
|
}
|
|
537
535
|
/**
|
|
@@ -556,39 +554,41 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
556
554
|
const facetSort = defaultFacetSort[facetGroup.key];
|
|
557
555
|
// Added data-testid for Playwright testing
|
|
558
556
|
// Using the className is not ideal for Playwright locator
|
|
559
|
-
return html `<button
|
|
560
|
-
class="more-link"
|
|
557
|
+
return html `<button
|
|
558
|
+
class="more-link"
|
|
561
559
|
@click=${() => {
|
|
560
|
+
var _a;
|
|
562
561
|
this.showMoreFacetsModal(facetGroup, facetSort);
|
|
563
|
-
this.analyticsHandler
|
|
562
|
+
(_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
|
|
564
563
|
category: analyticsCategories.default,
|
|
565
564
|
action: analyticsActions.showMoreFacetsModal,
|
|
566
565
|
label: facetGroup.key,
|
|
567
566
|
});
|
|
568
567
|
this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
|
|
569
|
-
}}
|
|
570
|
-
data-testid="more-link-btn"
|
|
571
|
-
>
|
|
572
|
-
More...
|
|
568
|
+
}}
|
|
569
|
+
data-testid="more-link-btn"
|
|
570
|
+
>
|
|
571
|
+
More...
|
|
573
572
|
</button>`;
|
|
574
573
|
}
|
|
575
574
|
async showMoreFacetsModal(facetGroup, sortedBy) {
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
.
|
|
580
|
-
.
|
|
581
|
-
.
|
|
582
|
-
.
|
|
583
|
-
.
|
|
584
|
-
.
|
|
585
|
-
.
|
|
586
|
-
.
|
|
587
|
-
.
|
|
588
|
-
.
|
|
589
|
-
.
|
|
590
|
-
.
|
|
591
|
-
.
|
|
575
|
+
var _a, _b;
|
|
576
|
+
const customModalContent = html `
|
|
577
|
+
<more-facets-content
|
|
578
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
579
|
+
.facetKey=${facetGroup.key}
|
|
580
|
+
.query=${this.query}
|
|
581
|
+
.identifiers=${this.identifiers}
|
|
582
|
+
.filterMap=${this.filterMap}
|
|
583
|
+
.pageSpecifierParams=${this.pageSpecifierParams}
|
|
584
|
+
.modalManager=${this.modalManager}
|
|
585
|
+
.searchService=${this.searchService}
|
|
586
|
+
.searchType=${this.searchType}
|
|
587
|
+
.collectionTitles=${this.collectionTitles}
|
|
588
|
+
.tvChannelAliases=${this.tvChannelAliases}
|
|
589
|
+
.selectedFacets=${this.selectedFacets}
|
|
590
|
+
.sortedBy=${sortedBy}
|
|
591
|
+
.isTvSearch=${this.isTvSearch}
|
|
592
592
|
@facetsChanged=${(e) => {
|
|
593
593
|
const event = new CustomEvent('facetsChanged', {
|
|
594
594
|
detail: e.detail,
|
|
@@ -596,9 +596,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
596
596
|
composed: true,
|
|
597
597
|
});
|
|
598
598
|
this.dispatchEvent(event);
|
|
599
|
-
}}
|
|
600
|
-
>
|
|
601
|
-
</more-facets-content>
|
|
599
|
+
}}
|
|
600
|
+
>
|
|
601
|
+
</more-facets-content>
|
|
602
602
|
`;
|
|
603
603
|
const config = new ModalConfig({
|
|
604
604
|
bodyColor: '#fff',
|
|
@@ -607,12 +607,13 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
607
607
|
closeOnBackdropClick: true, // TODO: want to fire analytics
|
|
608
608
|
title: html `Select filters`,
|
|
609
609
|
});
|
|
610
|
-
this.modalManager
|
|
611
|
-
this.modalManager
|
|
610
|
+
(_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('more-search-facets');
|
|
611
|
+
(_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
|
|
612
612
|
config,
|
|
613
613
|
customModalContent,
|
|
614
614
|
userClosedModalCallback: () => {
|
|
615
|
-
|
|
615
|
+
var _a;
|
|
616
|
+
(_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('more-search-facets');
|
|
616
617
|
},
|
|
617
618
|
});
|
|
618
619
|
}
|
|
@@ -620,12 +621,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
620
621
|
* Generate the list template for each bucket in a facet group
|
|
621
622
|
*/
|
|
622
623
|
getFacetTemplate(facetGroup) {
|
|
623
|
-
return html `
|
|
624
|
-
<facets-template
|
|
625
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
626
|
-
.facetGroup=${facetGroup}
|
|
627
|
-
.selectedFacets=${this.selectedFacets}
|
|
628
|
-
.collectionTitles=${this.collectionTitles}
|
|
624
|
+
return html `
|
|
625
|
+
<facets-template
|
|
626
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
627
|
+
.facetGroup=${facetGroup}
|
|
628
|
+
.selectedFacets=${this.selectedFacets}
|
|
629
|
+
.collectionTitles=${this.collectionTitles}
|
|
629
630
|
@facetClick=${(e) => {
|
|
630
631
|
this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
|
|
631
632
|
const event = new CustomEvent('facetsChanged', {
|
|
@@ -634,134 +635,134 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
634
635
|
composed: true,
|
|
635
636
|
});
|
|
636
637
|
this.dispatchEvent(event);
|
|
637
|
-
}}
|
|
638
|
-
></facets-template>
|
|
638
|
+
}}
|
|
639
|
+
></facets-template>
|
|
639
640
|
`;
|
|
640
641
|
}
|
|
641
642
|
static get styles() {
|
|
642
643
|
return [
|
|
643
644
|
srOnlyStyle,
|
|
644
|
-
css `
|
|
645
|
-
a:link {
|
|
646
|
-
text-decoration: none;
|
|
647
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
648
|
-
}
|
|
649
|
-
a:link:hover {
|
|
650
|
-
text-decoration: underline;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
#container.loading {
|
|
654
|
-
opacity: 0.5;
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
#container.managing {
|
|
658
|
-
opacity: 0.3;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
.histogram-loading-indicator {
|
|
662
|
-
width: 100%;
|
|
663
|
-
height:
|
|
664
|
-
margin-top: 1.75rem;
|
|
665
|
-
font-size: 1.4rem;
|
|
666
|
-
text-align: center;
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
.collapser {
|
|
670
|
-
display: inline-block;
|
|
671
|
-
cursor: pointer;
|
|
672
|
-
width: 10px;
|
|
673
|
-
height: 10px;
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
.collapser svg {
|
|
677
|
-
transition: transform 0.2s ease-in-out;
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
.collapser.open svg {
|
|
681
|
-
transform: rotate(90deg);
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
.facet-group {
|
|
685
|
-
margin-bottom: 2rem;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
.facet-group h3 {
|
|
689
|
-
margin-bottom: 0.7rem;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
.facet-group.mobile h3 {
|
|
693
|
-
cursor: pointer;
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
.facet-group-header {
|
|
697
|
-
display: flex;
|
|
698
|
-
margin-bottom: 0.7rem;
|
|
699
|
-
justify-content: space-between;
|
|
700
|
-
border-bottom: 1px solid rgb(232, 232, 232);
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
.facet-group-content {
|
|
704
|
-
transition: max-height 0.2s ease-in-out;
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
.facet-group.mobile .facet-group-content {
|
|
708
|
-
max-height: 0;
|
|
709
|
-
overflow: hidden;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
.facet-group.mobile .facet-group-content.open {
|
|
713
|
-
max-height: 2000px;
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
.partof-collections ul {
|
|
717
|
-
list-style-type: none;
|
|
718
|
-
padding: 0;
|
|
719
|
-
font-size: 1.2rem;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
h3 {
|
|
723
|
-
font-size: 1.4rem;
|
|
724
|
-
margin: 0;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
.more-link {
|
|
728
|
-
font-size: 1.2rem;
|
|
729
|
-
text-decoration: none;
|
|
730
|
-
padding: 0;
|
|
731
|
-
margin-top: 0.25rem;
|
|
732
|
-
background: inherit;
|
|
733
|
-
border: 0;
|
|
734
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
735
|
-
cursor: pointer;
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
#date-picker-label {
|
|
739
|
-
display: flex;
|
|
740
|
-
justify-content: space-between;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
.expand-date-picker-btn {
|
|
744
|
-
margin: 0;
|
|
745
|
-
padding: 0;
|
|
746
|
-
border: 0;
|
|
747
|
-
appearance: none;
|
|
748
|
-
background: none;
|
|
749
|
-
cursor: pointer;
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
.expand-date-picker-btn svg {
|
|
753
|
-
width: 14px;
|
|
754
|
-
height: 14px;
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
.sorting-icon {
|
|
758
|
-
height: 15px;
|
|
759
|
-
cursor: pointer;
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
histogram-date-range.wide-inputs {
|
|
763
|
-
--histogramDateRangeInputWidth: 4.8rem;
|
|
764
|
-
}
|
|
645
|
+
css `
|
|
646
|
+
a:link {
|
|
647
|
+
text-decoration: none;
|
|
648
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
649
|
+
}
|
|
650
|
+
a:link:hover {
|
|
651
|
+
text-decoration: underline;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
#container.loading {
|
|
655
|
+
opacity: 0.5;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
#container.managing {
|
|
659
|
+
opacity: 0.3;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.histogram-loading-indicator {
|
|
663
|
+
width: 100%;
|
|
664
|
+
height: 2.25rem;
|
|
665
|
+
margin-top: 1.75rem;
|
|
666
|
+
font-size: 1.4rem;
|
|
667
|
+
text-align: center;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
.collapser {
|
|
671
|
+
display: inline-block;
|
|
672
|
+
cursor: pointer;
|
|
673
|
+
width: 10px;
|
|
674
|
+
height: 10px;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.collapser svg {
|
|
678
|
+
transition: transform 0.2s ease-in-out;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.collapser.open svg {
|
|
682
|
+
transform: rotate(90deg);
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.facet-group:not(:last-child) {
|
|
686
|
+
margin-bottom: 2rem;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
.facet-group h3 {
|
|
690
|
+
margin-bottom: 0.7rem;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
.facet-group.mobile h3 {
|
|
694
|
+
cursor: pointer;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.facet-group-header {
|
|
698
|
+
display: flex;
|
|
699
|
+
margin-bottom: 0.7rem;
|
|
700
|
+
justify-content: space-between;
|
|
701
|
+
border-bottom: 1px solid rgb(232, 232, 232);
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
.facet-group-content {
|
|
705
|
+
transition: max-height 0.2s ease-in-out;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
.facet-group.mobile .facet-group-content {
|
|
709
|
+
max-height: 0;
|
|
710
|
+
overflow: hidden;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
.facet-group.mobile .facet-group-content.open {
|
|
714
|
+
max-height: 2000px;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.partof-collections ul {
|
|
718
|
+
list-style-type: none;
|
|
719
|
+
padding: 0;
|
|
720
|
+
font-size: 1.2rem;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
h3 {
|
|
724
|
+
font-size: 1.4rem;
|
|
725
|
+
margin: 0;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
.more-link {
|
|
729
|
+
font-size: 1.2rem;
|
|
730
|
+
text-decoration: none;
|
|
731
|
+
padding: 0;
|
|
732
|
+
margin-top: 0.25rem;
|
|
733
|
+
background: inherit;
|
|
734
|
+
border: 0;
|
|
735
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
736
|
+
cursor: pointer;
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
#date-picker-label {
|
|
740
|
+
display: flex;
|
|
741
|
+
justify-content: space-between;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
.expand-date-picker-btn {
|
|
745
|
+
margin: 0;
|
|
746
|
+
padding: 0;
|
|
747
|
+
border: 0;
|
|
748
|
+
appearance: none;
|
|
749
|
+
background: none;
|
|
750
|
+
cursor: pointer;
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
.expand-date-picker-btn svg {
|
|
754
|
+
width: 14px;
|
|
755
|
+
height: 14px;
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
.sorting-icon {
|
|
759
|
+
height: 15px;
|
|
760
|
+
cursor: pointer;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
histogram-date-range.wide-inputs {
|
|
764
|
+
--histogramDateRangeInputWidth: 4.8rem;
|
|
765
|
+
}
|
|
765
766
|
`,
|
|
766
767
|
];
|
|
767
768
|
}
|