@internetarchive/collection-browser 3.3.1 → 3.3.3
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/collection-browser.js +683 -683
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.js +118 -118
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets.js +265 -266
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
- package/dist/src/data-source/models.js.map +1 -1
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.js +36 -36
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +77 -77
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.js +137 -137
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +9 -1
- package/dist/src/tiles/hover/hover-pane-controller.js +105 -37
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +1 -0
- package/dist/src/tiles/hover/tile-hover-pane.js +115 -112
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +99 -99
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +297 -297
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +4 -1
- package/dist/src/tiles/tile-dispatcher.js +231 -204
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/test/collection-browser.test.js +189 -189
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +77 -77
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +68 -21
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +70 -70
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +126 -126
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +130 -52
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- package/dist/test/utils/format-date.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 -117
- package/renovate.json +6 -6
- package/src/collection-browser.ts +2829 -2829
- package/src/collection-facets/more-facets-content.ts +639 -639
- package/src/collection-facets.ts +994 -995
- package/src/data-source/collection-browser-data-source.ts +1401 -1401
- package/src/data-source/collection-browser-query-state.ts +65 -65
- package/src/data-source/models.ts +43 -43
- package/src/tiles/base-tile-component.ts +65 -65
- package/src/tiles/grid/account-tile.ts +113 -113
- package/src/tiles/grid/collection-tile.ts +163 -163
- package/src/tiles/grid/item-tile.ts +340 -340
- package/src/tiles/hover/hover-pane-controller.ts +613 -517
- package/src/tiles/hover/tile-hover-pane.ts +184 -180
- package/src/tiles/list/tile-list-compact.ts +239 -239
- package/src/tiles/list/tile-list.ts +700 -700
- package/src/tiles/tile-dispatcher.ts +517 -490
- package/src/utils/format-date.ts +62 -62
- package/test/collection-browser.test.ts +2403 -2403
- package/test/tiles/grid/item-tile.test.ts +520 -520
- package/test/tiles/hover/hover-pane-controller.test.ts +418 -353
- package/test/tiles/list/tile-list-compact.test.ts +282 -282
- package/test/tiles/list/tile-list.test.ts +552 -552
- package/test/tiles/tile-dispatcher.test.ts +283 -187
- package/test/utils/format-date.test.ts +89 -89
- package/tsconfig.json +20 -20
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -77,27 +77,27 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
77
77
|
// Added data-testid for Playwright testing
|
|
78
78
|
// Using facet-group class and aria-labels is not ideal for Playwright locator
|
|
79
79
|
const datePickerLabelId = 'date-picker-label';
|
|
80
|
-
return html `
|
|
81
|
-
<div id="container" class=${containerClasses}>
|
|
80
|
+
return html `
|
|
81
|
+
<div id="container" class=${containerClasses}>
|
|
82
82
|
${this.showHistogramDatePicker &&
|
|
83
83
|
(this.histogramAggregation || this.histogramAggregationLoading)
|
|
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>
|
|
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>
|
|
96
96
|
`
|
|
97
|
-
: nothing}
|
|
98
|
-
${this.collectionPartOfTemplate}
|
|
99
|
-
${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
|
|
100
|
-
</div>
|
|
97
|
+
: nothing}
|
|
98
|
+
${this.collectionPartOfTemplate}
|
|
99
|
+
${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
|
|
100
|
+
</div>
|
|
101
101
|
`;
|
|
102
102
|
}
|
|
103
103
|
get collectionPartOfTemplate() {
|
|
@@ -108,31 +108,31 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
108
108
|
// Added data-testid for Playwright testing
|
|
109
109
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
110
110
|
const headingId = 'partof-heading';
|
|
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>
|
|
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>
|
|
121
121
|
${map(this.parentCollections, collxn => {
|
|
122
122
|
var _a, _b;
|
|
123
123
|
const collectionURL = `${this.baseNavigationUrl}${this.collectionPagePath}${collxn}`;
|
|
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>
|
|
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>
|
|
132
132
|
</li>`;
|
|
133
|
-
})}
|
|
134
|
-
</ul>
|
|
135
|
-
</section>
|
|
133
|
+
})}
|
|
134
|
+
</ul>
|
|
135
|
+
</section>
|
|
136
136
|
`;
|
|
137
137
|
}
|
|
138
138
|
partOfCollectionClicked(e) {
|
|
@@ -215,24 +215,24 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
215
215
|
expandedDatePicker.maxSelectedDate = this.maxSelectedDate;
|
|
216
216
|
}
|
|
217
217
|
};
|
|
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>
|
|
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>
|
|
236
236
|
`;
|
|
237
237
|
const config = new ModalConfig({
|
|
238
238
|
bodyColor: '#fff',
|
|
@@ -271,13 +271,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
271
271
|
*/
|
|
272
272
|
get expandDatePickerBtnTemplate() {
|
|
273
273
|
return this.allowExpandingDatePicker && !this.facetsLoading
|
|
274
|
-
? html `<button
|
|
275
|
-
class="expand-date-picker-btn"
|
|
276
|
-
aria-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
${expandIcon}
|
|
274
|
+
? html `<button
|
|
275
|
+
class="expand-date-picker-btn"
|
|
276
|
+
aria-haspopup="dialog"
|
|
277
|
+
@click=${this.showDatePickerModal}
|
|
278
|
+
>
|
|
279
|
+
${expandIcon}
|
|
281
280
|
</button>`
|
|
282
281
|
: nothing;
|
|
283
282
|
}
|
|
@@ -290,26 +289,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
290
289
|
if (!histogramProps)
|
|
291
290
|
return nothing;
|
|
292
291
|
const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
|
|
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="..."
|
|
292
|
+
return html `
|
|
293
|
+
<histogram-date-range
|
|
294
|
+
class=${this.isTvSearch ? 'wide-inputs' : ''}
|
|
295
|
+
.minDate=${minDate}
|
|
296
|
+
.maxDate=${maxDate}
|
|
297
|
+
.minSelectedDate=${(_a = this.minSelectedDate) !== null && _a !== void 0 ? _a : minDate}
|
|
298
|
+
.maxSelectedDate=${(_b = this.maxSelectedDate) !== null && _b !== void 0 ? _b : maxDate}
|
|
299
|
+
.updateDelay=${100}
|
|
300
|
+
.dateFormat=${dateFormat}
|
|
301
|
+
.tooltipDateFormat=${tooltipDateFormat}
|
|
302
|
+
.tooltipLabel=${tooltipLabel}
|
|
303
|
+
.binSnapping=${binSnapping}
|
|
304
|
+
.barScaling=${barScaling}
|
|
305
|
+
.bins=${buckets}
|
|
306
|
+
missingDataMessage="..."
|
|
308
307
|
.width=${this.collapsableFacets && this.contentWidth
|
|
309
308
|
? this.contentWidth
|
|
310
|
-
: 180}
|
|
311
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
312
|
-
></histogram-date-range>
|
|
309
|
+
: 180}
|
|
310
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
311
|
+
></histogram-date-range>
|
|
313
312
|
`;
|
|
314
313
|
}
|
|
315
314
|
/**
|
|
@@ -485,8 +484,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
485
484
|
return nothing;
|
|
486
485
|
const { key } = facetGroup;
|
|
487
486
|
const isOpen = this.openFacets[key];
|
|
488
|
-
const collapser = html `
|
|
489
|
-
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
487
|
+
const collapser = html `
|
|
488
|
+
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
490
489
|
`;
|
|
491
490
|
const toggleCollapsed = () => {
|
|
492
491
|
const newOpenFacets = { ...this.openFacets };
|
|
@@ -496,40 +495,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
496
495
|
// Added data-testid for Playwright testing
|
|
497
496
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
498
497
|
const headerId = `facet-group-header-label-${facetGroup.key}`;
|
|
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
|
-
>
|
|
498
|
+
return html `
|
|
499
|
+
<section
|
|
500
|
+
class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
|
|
501
|
+
aria-labelledby=${headerId}
|
|
502
|
+
data-testid=${headerId}
|
|
503
|
+
>
|
|
504
|
+
<div class="facet-group-header">
|
|
505
|
+
<h3
|
|
506
|
+
id=${headerId}
|
|
507
|
+
@click=${toggleCollapsed}
|
|
508
|
+
@keyup=${toggleCollapsed}
|
|
509
|
+
>
|
|
510
|
+
${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
|
|
511
|
+
<span class="sr-only">filters</span>
|
|
512
|
+
</h3>
|
|
513
|
+
</div>
|
|
514
|
+
<div
|
|
515
|
+
class="facet-group-content ${isOpen ? 'open' : ''}"
|
|
516
|
+
data-testid="facet-group-content-${facetGroup.key}"
|
|
517
|
+
>
|
|
519
518
|
${this.facetsLoading
|
|
520
519
|
? this.getTombstoneFacetGroupTemplate()
|
|
521
|
-
: html `
|
|
522
|
-
${this.getFacetTemplate(facetGroup)}
|
|
523
|
-
${this.searchMoreFacetsLink(facetGroup)}
|
|
524
|
-
`}
|
|
525
|
-
</div>
|
|
526
|
-
</section>
|
|
520
|
+
: html `
|
|
521
|
+
${this.getFacetTemplate(facetGroup)}
|
|
522
|
+
${this.searchMoreFacetsLink(facetGroup)}
|
|
523
|
+
`}
|
|
524
|
+
</div>
|
|
525
|
+
</section>
|
|
527
526
|
`;
|
|
528
527
|
}
|
|
529
528
|
getTombstoneFacetGroupTemplate() {
|
|
530
529
|
// Render five tombstone rows
|
|
531
|
-
return html `
|
|
532
|
-
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
530
|
+
return html `
|
|
531
|
+
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
533
532
|
`;
|
|
534
533
|
}
|
|
535
534
|
/**
|
|
@@ -554,8 +553,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
554
553
|
const facetSort = defaultFacetSort[facetGroup.key];
|
|
555
554
|
// Added data-testid for Playwright testing
|
|
556
555
|
// Using the className is not ideal for Playwright locator
|
|
557
|
-
return html `<button
|
|
558
|
-
class="more-link"
|
|
556
|
+
return html `<button
|
|
557
|
+
class="more-link"
|
|
559
558
|
@click=${() => {
|
|
560
559
|
var _a;
|
|
561
560
|
this.showMoreFacetsModal(facetGroup, facetSort);
|
|
@@ -565,30 +564,30 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
565
564
|
label: facetGroup.key,
|
|
566
565
|
});
|
|
567
566
|
this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
|
|
568
|
-
}}
|
|
569
|
-
data-testid="more-link-btn"
|
|
570
|
-
>
|
|
571
|
-
More...
|
|
567
|
+
}}
|
|
568
|
+
data-testid="more-link-btn"
|
|
569
|
+
>
|
|
570
|
+
More...
|
|
572
571
|
</button>`;
|
|
573
572
|
}
|
|
574
573
|
async showMoreFacetsModal(facetGroup, sortedBy) {
|
|
575
574
|
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}
|
|
575
|
+
const customModalContent = html `
|
|
576
|
+
<more-facets-content
|
|
577
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
578
|
+
.facetKey=${facetGroup.key}
|
|
579
|
+
.query=${this.query}
|
|
580
|
+
.identifiers=${this.identifiers}
|
|
581
|
+
.filterMap=${this.filterMap}
|
|
582
|
+
.pageSpecifierParams=${this.pageSpecifierParams}
|
|
583
|
+
.modalManager=${this.modalManager}
|
|
584
|
+
.searchService=${this.searchService}
|
|
585
|
+
.searchType=${this.searchType}
|
|
586
|
+
.collectionTitles=${this.collectionTitles}
|
|
587
|
+
.tvChannelAliases=${this.tvChannelAliases}
|
|
588
|
+
.selectedFacets=${this.selectedFacets}
|
|
589
|
+
.sortedBy=${sortedBy}
|
|
590
|
+
.isTvSearch=${this.isTvSearch}
|
|
592
591
|
@facetsChanged=${(e) => {
|
|
593
592
|
const event = new CustomEvent('facetsChanged', {
|
|
594
593
|
detail: e.detail,
|
|
@@ -596,9 +595,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
596
595
|
composed: true,
|
|
597
596
|
});
|
|
598
597
|
this.dispatchEvent(event);
|
|
599
|
-
}}
|
|
600
|
-
>
|
|
601
|
-
</more-facets-content>
|
|
598
|
+
}}
|
|
599
|
+
>
|
|
600
|
+
</more-facets-content>
|
|
602
601
|
`;
|
|
603
602
|
const config = new ModalConfig({
|
|
604
603
|
bodyColor: '#fff',
|
|
@@ -621,12 +620,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
621
620
|
* Generate the list template for each bucket in a facet group
|
|
622
621
|
*/
|
|
623
622
|
getFacetTemplate(facetGroup) {
|
|
624
|
-
return html `
|
|
625
|
-
<facets-template
|
|
626
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
627
|
-
.facetGroup=${facetGroup}
|
|
628
|
-
.selectedFacets=${this.selectedFacets}
|
|
629
|
-
.collectionTitles=${this.collectionTitles}
|
|
623
|
+
return html `
|
|
624
|
+
<facets-template
|
|
625
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
626
|
+
.facetGroup=${facetGroup}
|
|
627
|
+
.selectedFacets=${this.selectedFacets}
|
|
628
|
+
.collectionTitles=${this.collectionTitles}
|
|
630
629
|
@facetClick=${(e) => {
|
|
631
630
|
this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
|
|
632
631
|
const event = new CustomEvent('facetsChanged', {
|
|
@@ -635,134 +634,134 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
635
634
|
composed: true,
|
|
636
635
|
});
|
|
637
636
|
this.dispatchEvent(event);
|
|
638
|
-
}}
|
|
639
|
-
></facets-template>
|
|
637
|
+
}}
|
|
638
|
+
></facets-template>
|
|
640
639
|
`;
|
|
641
640
|
}
|
|
642
641
|
static get styles() {
|
|
643
642
|
return [
|
|
644
643
|
srOnlyStyle,
|
|
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
|
-
}
|
|
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: 2.25rem;
|
|
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:not(:last-child) {
|
|
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
|
+
}
|
|
766
765
|
`,
|
|
767
766
|
];
|
|
768
767
|
}
|