@internetarchive/collection-browser 1.14.10-alpha.2 → 1.14.10-alpha1
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/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -9
- package/dist/src/app-root.d.ts +79 -72
- package/dist/src/app-root.js +564 -432
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/contract.d.ts +2 -2
- package/dist/src/assets/img/icons/contract.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/expand.d.ts +2 -2
- package/dist/src/assets/img/icons/expand.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +533 -533
- package/dist/src/collection-browser.js +1897 -1893
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -0
- package/dist/src/collection-facets/facet-row.js +245 -0
- package/dist/src/collection-facets/facet-row.js.map +1 -0
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +17 -20
- package/dist/src/collection-facets/facets-template.js +122 -264
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
- package/dist/src/collection-facets/more-facets-content.js +359 -359
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +104 -104
- package/dist/src/collection-facets.js +506 -506
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +74 -74
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +26 -26
- package/dist/src/manage/manage-bar.js +53 -53
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -91
- package/dist/src/models.d.ts +180 -164
- package/dist/src/models.js +269 -269
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +355 -355
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
- package/dist/src/sort-filter-bar/sort-filter-bar.js +638 -637
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +63 -63
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +27 -27
- package/dist/src/tiles/grid/item-tile.js +134 -134
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +48 -48
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- package/dist/src/tiles/item-image.d.ts +36 -36
- package/dist/src/tiles/item-image.js +127 -127
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
- package/dist/src/tiles/list/tile-list-compact.js +114 -114
- package/dist/src/tiles/list/tile-list.d.ts +46 -46
- package/dist/src/tiles/list/tile-list.js +302 -302
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +231 -231
- package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
- package/dist/src/tiles/tile-display-value-provider.js +80 -80
- package/dist/src/utils/analytics-events.d.ts +25 -25
- package/dist/src/utils/analytics-events.js +27 -27
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +25 -25
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/sha1.d.ts +2 -2
- package/dist/src/utils/sha1.js +8 -8
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +1130 -1098
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
- package/dist/test/collection-facets/facet-row.test.js +235 -0
- package/dist/test/collection-facets/facet-row.test.js.map +1 -0
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +110 -141
- package/dist/test/collection-facets/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +133 -133
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +651 -682
- package/dist/test/collection-facets.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +63 -63
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +95 -95
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +48 -48
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +86 -86
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +72 -72
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
- package/dist/test/mocks/mock-collection-name-cache.js +17 -17
- package/dist/test/mocks/mock-search-responses.d.ts +21 -21
- package/dist/test/mocks/mock-search-responses.js +709 -709
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +50 -50
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +33 -33
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +254 -254
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +51 -51
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -258
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +242 -242
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +94 -94
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +3 -3
- package/renovate.json +6 -6
- package/src/app-root.ts +230 -90
- package/src/collection-browser.ts +32 -27
- package/src/collection-facets/facet-row.ts +274 -0
- package/src/collection-facets/facets-template.ts +49 -196
- package/src/models.ts +18 -2
- package/src/sort-filter-bar/sort-filter-bar.ts +1 -0
- package/test/collection-browser.test.ts +36 -4
- package/test/collection-facets/facet-row.test.ts +328 -0
- package/test/collection-facets/facets-template.test.ts +72 -110
- package/test/collection-facets.test.ts +69 -101
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
- package/dist/src/selected-facets.d.ts +0 -67
- package/dist/src/selected-facets.js +0 -149
- package/dist/src/selected-facets.js.map +0 -1
- package/src/selected-facets.ts +0 -216
package/src/app-root.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
StringField,
|
|
11
11
|
} from '@internetarchive/search-service';
|
|
12
12
|
import { LocalCache } from '@internetarchive/local-cache';
|
|
13
|
-
import { html, css, LitElement, PropertyValues } from 'lit';
|
|
13
|
+
import { html, css, LitElement, PropertyValues, nothing } from 'lit';
|
|
14
14
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
15
15
|
import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
|
|
16
16
|
import { CollectionNameCache } from '@internetarchive/collection-name-cache';
|
|
@@ -35,6 +35,8 @@ export class AppRoot extends LitElement {
|
|
|
35
35
|
localCache: this.localCache,
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
+
@state() private toggleSlots: boolean = false;
|
|
39
|
+
|
|
38
40
|
@state() private currentPage?: number;
|
|
39
41
|
|
|
40
42
|
@state() private searchQuery?: string;
|
|
@@ -229,91 +231,93 @@ export class AppRoot extends LitElement {
|
|
|
229
231
|
>
|
|
230
232
|
</div>
|
|
231
233
|
|
|
232
|
-
<
|
|
233
|
-
<
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
</div>
|
|
247
|
-
<div>
|
|
248
|
-
<label for="cell-height-slider">Cell height:</label>
|
|
249
|
-
<input
|
|
250
|
-
type="range"
|
|
251
|
-
min="10"
|
|
252
|
-
max="100"
|
|
253
|
-
value="29"
|
|
254
|
-
step="0.1"
|
|
255
|
-
id="cell-height-slider"
|
|
256
|
-
@input=${this.heightChanged}
|
|
257
|
-
/>
|
|
258
|
-
<span>${this.cellHeight}rem</span>
|
|
259
|
-
</div>
|
|
234
|
+
<fieldset class="cell-controls">
|
|
235
|
+
<legend>Cell Controls</legend>
|
|
236
|
+
<div>
|
|
237
|
+
<label for="cell-width-slider">Cell width:</label>
|
|
238
|
+
<input
|
|
239
|
+
type="range"
|
|
240
|
+
min="10"
|
|
241
|
+
max="100"
|
|
242
|
+
value="18"
|
|
243
|
+
step="0.1"
|
|
244
|
+
id="cell-width-slider"
|
|
245
|
+
@input=${this.widthChanged}
|
|
246
|
+
/>
|
|
247
|
+
<span>${this.cellWidth}rem</span>
|
|
260
248
|
</div>
|
|
261
|
-
<div
|
|
262
|
-
<
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
<span>${this.rowGap}rem</span>
|
|
274
|
-
</div>
|
|
275
|
-
<div>
|
|
276
|
-
<label for="cell-col-gap-slider">Col gap:</label>
|
|
277
|
-
<input
|
|
278
|
-
type="range"
|
|
279
|
-
min="0"
|
|
280
|
-
max="5"
|
|
281
|
-
value="1.7"
|
|
282
|
-
step="0.1"
|
|
283
|
-
id="cell-col-gap-slider"
|
|
284
|
-
@input=${this.colGapChanged}
|
|
285
|
-
/>
|
|
286
|
-
<span>${this.colGap}rem</span>
|
|
287
|
-
</div>
|
|
249
|
+
<div>
|
|
250
|
+
<label for="cell-height-slider">Cell height:</label>
|
|
251
|
+
<input
|
|
252
|
+
type="range"
|
|
253
|
+
min="10"
|
|
254
|
+
max="100"
|
|
255
|
+
value="29"
|
|
256
|
+
step="0.1"
|
|
257
|
+
id="cell-height-slider"
|
|
258
|
+
@input=${this.heightChanged}
|
|
259
|
+
/>
|
|
260
|
+
<span>${this.cellHeight}rem</span>
|
|
288
261
|
</div>
|
|
289
|
-
|
|
290
|
-
|
|
262
|
+
<div>
|
|
263
|
+
<label for="cell-row-gap-slider">Row gap:</label>
|
|
264
|
+
<input
|
|
265
|
+
type="range"
|
|
266
|
+
min="0"
|
|
267
|
+
max="5"
|
|
268
|
+
value="1.7"
|
|
269
|
+
step="0.1"
|
|
270
|
+
id="cell-row-gap-slider"
|
|
271
|
+
@input=${this.rowGapChanged}
|
|
272
|
+
/>
|
|
273
|
+
<span>${this.rowGap}rem</span>
|
|
274
|
+
</div>
|
|
275
|
+
<div>
|
|
276
|
+
<label for="cell-col-gap-slider">Col gap:</label>
|
|
277
|
+
<input
|
|
278
|
+
type="range"
|
|
279
|
+
min="0"
|
|
280
|
+
max="5"
|
|
281
|
+
value="1.7"
|
|
282
|
+
step="0.1"
|
|
283
|
+
id="cell-col-gap-slider"
|
|
284
|
+
@input=${this.colGapChanged}
|
|
285
|
+
/>
|
|
286
|
+
<span>${this.colGap}rem</span>
|
|
287
|
+
</div>
|
|
288
|
+
</fieldset>
|
|
289
|
+
|
|
290
|
+
<fieldset class="other-controls">
|
|
291
|
+
<legend>Other Controls</legend>
|
|
291
292
|
<div class="checkbox-control">
|
|
292
293
|
<input
|
|
293
294
|
type="checkbox"
|
|
294
|
-
id="
|
|
295
|
-
@click=${this.
|
|
295
|
+
id="simulate-login"
|
|
296
|
+
@click=${this.loginChanged}
|
|
296
297
|
/>
|
|
297
|
-
<label for="
|
|
298
|
+
<label for="simulate-login">Simulate login</label>
|
|
298
299
|
</div>
|
|
299
300
|
<div class="checkbox-control">
|
|
300
301
|
<input
|
|
301
302
|
type="checkbox"
|
|
302
|
-
id="
|
|
303
|
-
|
|
303
|
+
id="enable-date-picker"
|
|
304
|
+
checked
|
|
305
|
+
@click=${this.datePickerChanged}
|
|
304
306
|
/>
|
|
305
|
-
<label for="
|
|
306
|
-
Show facet group outlines
|
|
307
|
-
</label>
|
|
307
|
+
<label for="enable-date-picker">Enable date picker</label>
|
|
308
308
|
</div>
|
|
309
309
|
<div class="checkbox-control">
|
|
310
310
|
<input
|
|
311
311
|
type="checkbox"
|
|
312
|
-
id="
|
|
313
|
-
@click=${this.
|
|
312
|
+
id="enable-management"
|
|
313
|
+
@click=${this.manageModeCheckboxChanged}
|
|
314
314
|
/>
|
|
315
|
-
<label for="
|
|
315
|
+
<label for="enable-management">Enable manage mode</label>
|
|
316
316
|
</div>
|
|
317
|
+
</fieldset>
|
|
318
|
+
|
|
319
|
+
<fieldset class="cb-visual-appearance">
|
|
320
|
+
<legend>CB Visual Appearance</legend>
|
|
317
321
|
<div class="checkbox-control">
|
|
318
322
|
<input
|
|
319
323
|
type="checkbox"
|
|
@@ -325,37 +329,62 @@ export class AppRoot extends LitElement {
|
|
|
325
329
|
<div class="checkbox-control">
|
|
326
330
|
<input
|
|
327
331
|
type="checkbox"
|
|
328
|
-
id="
|
|
329
|
-
|
|
330
|
-
@click=${this.datePickerChanged}
|
|
332
|
+
id="show-facet-group-outline-check"
|
|
333
|
+
@click=${this.toggleFacetGroupOutline}
|
|
331
334
|
/>
|
|
332
|
-
<label for="
|
|
335
|
+
<label for="show-facet-group-outline-check">
|
|
336
|
+
Show facet group outlines
|
|
337
|
+
</label>
|
|
333
338
|
</div>
|
|
334
339
|
<div class="checkbox-control">
|
|
335
340
|
<input
|
|
336
341
|
type="checkbox"
|
|
337
|
-
id="
|
|
338
|
-
@click=${this.
|
|
342
|
+
id="show-outline-check"
|
|
343
|
+
@click=${this.outlineChanged}
|
|
339
344
|
/>
|
|
340
|
-
<label for="
|
|
345
|
+
<label for="show-outline-check">Show cell outlines</label>
|
|
341
346
|
</div>
|
|
347
|
+
</fieldset>
|
|
348
|
+
|
|
349
|
+
<fieldset class="user-profile-controls">
|
|
350
|
+
<legend>User Profile Controls</legend>
|
|
342
351
|
<div class="checkbox-control">
|
|
343
352
|
<input
|
|
344
353
|
type="checkbox"
|
|
345
|
-
id="enable-facet-top-
|
|
346
|
-
@click=${this.
|
|
354
|
+
id="enable-facet-top-slot"
|
|
355
|
+
@click=${this.facetTopSlotCheckboxChanged}
|
|
347
356
|
/>
|
|
348
|
-
<label for="enable-facet-top-
|
|
357
|
+
<label for="enable-facet-top-slot">Show facet top slot</label>
|
|
349
358
|
</div>
|
|
350
359
|
<div class="checkbox-control">
|
|
351
360
|
<input
|
|
352
361
|
type="checkbox"
|
|
353
|
-
id="enable-cb-top-
|
|
354
|
-
@click=${this.
|
|
362
|
+
id="enable-cb-top-slot"
|
|
363
|
+
@click=${this.cbTopSlotCheckboxChanged}
|
|
355
364
|
/>
|
|
356
|
-
<label for="enable-cb-top-
|
|
365
|
+
<label for="enable-cb-top-slot">Show CB top slot</label>
|
|
357
366
|
</div>
|
|
358
|
-
|
|
367
|
+
<div class="checkbox-control">
|
|
368
|
+
<input
|
|
369
|
+
type="checkbox"
|
|
370
|
+
id="enable-sortbar-left-slot"
|
|
371
|
+
@click=${this.sortBarSlotCheckboxChanged}
|
|
372
|
+
/>
|
|
373
|
+
<label for="enable-sortbar-left-slot"
|
|
374
|
+
>Show sortbar left slot</label
|
|
375
|
+
>
|
|
376
|
+
</div>
|
|
377
|
+
<div class="checkbox-control">
|
|
378
|
+
<input
|
|
379
|
+
type="checkbox"
|
|
380
|
+
id="enable-result-last-tile-slot"
|
|
381
|
+
@click=${this.resultLastTileSlotCheckboxChanged}
|
|
382
|
+
/>
|
|
383
|
+
<label for="enable-result-last-tile-slot"
|
|
384
|
+
>Show result last tile slot</label
|
|
385
|
+
>
|
|
386
|
+
</div>
|
|
387
|
+
</fieldset>
|
|
359
388
|
</div>
|
|
360
389
|
<button id="toggle-dev-tools-btn" @click=${this.toggleDevTools}>
|
|
361
390
|
Toggle Search Controls
|
|
@@ -377,6 +406,12 @@ export class AppRoot extends LitElement {
|
|
|
377
406
|
@searchTypeChanged=${this.searchTypeChanged}
|
|
378
407
|
@manageModeChanged=${this.manageModeChanged}
|
|
379
408
|
>
|
|
409
|
+
${this.toggleSlots
|
|
410
|
+
? html`<div slot="sortbar-left-slot">Sort Slot</div>`
|
|
411
|
+
: nothing}
|
|
412
|
+
${this.toggleSlots
|
|
413
|
+
? html`<div slot="facet-top-slot">Facet Slot</div>`
|
|
414
|
+
: nothing}
|
|
380
415
|
</collection-browser>
|
|
381
416
|
</div>
|
|
382
417
|
<modal-manager></modal-manager>
|
|
@@ -537,9 +572,9 @@ export class AppRoot extends LitElement {
|
|
|
537
572
|
}
|
|
538
573
|
|
|
539
574
|
/**
|
|
540
|
-
* Handler for when the dev panel's "Show facet top
|
|
575
|
+
* Handler for when the dev panel's "Show facet top slot" checkbox is changed.
|
|
541
576
|
*/
|
|
542
|
-
private
|
|
577
|
+
private facetTopSlotCheckboxChanged(e: Event) {
|
|
543
578
|
const target = e.target as HTMLInputElement;
|
|
544
579
|
|
|
545
580
|
const p = document.createElement('p');
|
|
@@ -558,10 +593,34 @@ export class AppRoot extends LitElement {
|
|
|
558
593
|
}
|
|
559
594
|
}
|
|
560
595
|
|
|
596
|
+
private toggleSlotOptions() {
|
|
597
|
+
this.toggleSlots = !this.toggleSlots;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
private resultLastTileSlotCheckboxChanged(e: Event) {
|
|
601
|
+
const target = e.target as HTMLInputElement;
|
|
602
|
+
|
|
603
|
+
const div = document.createElement('div');
|
|
604
|
+
const title = document.createElement('h3');
|
|
605
|
+
title.textContent = 'Upload';
|
|
606
|
+
|
|
607
|
+
div.setAttribute('slot', 'result-last-tile');
|
|
608
|
+
div.setAttribute('class', 'result-last-tile');
|
|
609
|
+
div.appendChild(title);
|
|
610
|
+
|
|
611
|
+
if (target.checked) {
|
|
612
|
+
this.collectionBrowser.appendChild(div);
|
|
613
|
+
} else {
|
|
614
|
+
this.collectionBrowser.removeChild(
|
|
615
|
+
this.collectionBrowser.lastElementChild as Element
|
|
616
|
+
);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
|
|
561
620
|
/**
|
|
562
|
-
* Handler for when the dev panel's "Show cb top
|
|
621
|
+
* Handler for when the dev panel's "Show cb top slot" checkbox is changed.
|
|
563
622
|
*/
|
|
564
|
-
private
|
|
623
|
+
private cbTopSlotCheckboxChanged(e: Event) {
|
|
565
624
|
const target = e.target as HTMLInputElement;
|
|
566
625
|
|
|
567
626
|
const p = document.createElement('p');
|
|
@@ -580,6 +639,29 @@ export class AppRoot extends LitElement {
|
|
|
580
639
|
}
|
|
581
640
|
}
|
|
582
641
|
|
|
642
|
+
/**
|
|
643
|
+
* Handler for when the dev panel's "Show facet top slot" checkbox is changed.
|
|
644
|
+
*/
|
|
645
|
+
private sortBarSlotCheckboxChanged(e: Event) {
|
|
646
|
+
const target = e.target as HTMLInputElement;
|
|
647
|
+
|
|
648
|
+
const div = document.createElement('div');
|
|
649
|
+
div.style.setProperty('border', '1px solid #000');
|
|
650
|
+
div.textContent = 'Btn';
|
|
651
|
+
div.style.setProperty('height', '3rem');
|
|
652
|
+
div.style.setProperty('width', '3rem');
|
|
653
|
+
div.style.backgroundColor = '#00000';
|
|
654
|
+
div.setAttribute('slot', 'sortbar-left-slot');
|
|
655
|
+
|
|
656
|
+
if (target.checked) {
|
|
657
|
+
this.collectionBrowser.appendChild(div);
|
|
658
|
+
} else {
|
|
659
|
+
this.collectionBrowser.removeChild(
|
|
660
|
+
this.collectionBrowser.lastElementChild as Element
|
|
661
|
+
);
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
|
|
583
665
|
private rowGapChanged(e: Event) {
|
|
584
666
|
const input = e.target as HTMLInputElement;
|
|
585
667
|
this.rowGap = parseFloat(input.value);
|
|
@@ -706,7 +788,6 @@ export class AppRoot extends LitElement {
|
|
|
706
788
|
padding: 0.5rem 1rem;
|
|
707
789
|
border: 1px solid black;
|
|
708
790
|
font-size: 1.4rem;
|
|
709
|
-
width: 75%;
|
|
710
791
|
background: #ffffffb3;
|
|
711
792
|
}
|
|
712
793
|
|
|
@@ -749,11 +830,17 @@ export class AppRoot extends LitElement {
|
|
|
749
830
|
margin-right: 1rem;
|
|
750
831
|
}
|
|
751
832
|
|
|
752
|
-
|
|
833
|
+
.cell-controls {
|
|
753
834
|
display: flex;
|
|
754
835
|
flex-wrap: wrap;
|
|
755
836
|
}
|
|
756
|
-
|
|
837
|
+
.cell-controls div {
|
|
838
|
+
display: flex;
|
|
839
|
+
align-items: center;
|
|
840
|
+
}
|
|
841
|
+
.cell-controls input[type='range'] {
|
|
842
|
+
width: 120px;
|
|
843
|
+
}
|
|
757
844
|
#cell-controls label {
|
|
758
845
|
display: inline-block;
|
|
759
846
|
width: 10rem;
|
|
@@ -777,6 +864,9 @@ export class AppRoot extends LitElement {
|
|
|
777
864
|
.checkbox-control {
|
|
778
865
|
flex-basis: 50%;
|
|
779
866
|
}
|
|
867
|
+
.checkbox-control label {
|
|
868
|
+
user-select: none;
|
|
869
|
+
}
|
|
780
870
|
|
|
781
871
|
#last-event {
|
|
782
872
|
background-color: aliceblue;
|
|
@@ -799,5 +889,55 @@ export class AppRoot extends LitElement {
|
|
|
799
889
|
background-color: aliceblue;
|
|
800
890
|
font-size: 1.6rem;
|
|
801
891
|
}
|
|
892
|
+
|
|
893
|
+
// slots
|
|
894
|
+
div[slot='cb-top-slot'] {
|
|
895
|
+
height: 50px;
|
|
896
|
+
border: 1px solid red;
|
|
897
|
+
background: bisque;
|
|
898
|
+
}
|
|
899
|
+
div[slot='facet-top-slot'] {
|
|
900
|
+
border: 1px solid red;
|
|
901
|
+
width: 100%;
|
|
902
|
+
height: 150px;
|
|
903
|
+
background-color: darkseagreen;
|
|
904
|
+
}
|
|
905
|
+
div[slot='sort-slot-left'] {
|
|
906
|
+
height: 50px;
|
|
907
|
+
border: 1px solid red;
|
|
908
|
+
background: bisque;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
/* user profile controls */
|
|
912
|
+
.user-profile-controls {
|
|
913
|
+
width: fit-content;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
fieldset {
|
|
917
|
+
display: inline-block !important;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
.result-last-tile {
|
|
921
|
+
border-radius: 4px;
|
|
922
|
+
background-color: white;
|
|
923
|
+
border: 3px dashed #555;
|
|
924
|
+
box-shadow: none;
|
|
925
|
+
display: grid;
|
|
926
|
+
align-content: center;
|
|
927
|
+
}
|
|
928
|
+
.result-last-tile:hover {
|
|
929
|
+
box-shadow: rgba(8, 8, 32, 0.8) 0 0 6px 2px;
|
|
930
|
+
transition: box-shadow 0.1s ease 0s;
|
|
931
|
+
cursor: pointer;
|
|
932
|
+
border: 3px dashed #4b64ff;
|
|
933
|
+
}
|
|
934
|
+
.result-last-tile h3 {
|
|
935
|
+
margin-bottom: 4rem;
|
|
936
|
+
margin: 0px auto;
|
|
937
|
+
font-size: 2.8rem;
|
|
938
|
+
color: rgb(44, 44, 44);
|
|
939
|
+
font-weight: 200;
|
|
940
|
+
text-align: center;
|
|
941
|
+
}
|
|
802
942
|
`;
|
|
803
943
|
}
|
|
@@ -131,7 +131,7 @@ export class CollectionBrowser
|
|
|
131
131
|
|
|
132
132
|
@property({ type: Boolean }) suppressResultCount = false;
|
|
133
133
|
|
|
134
|
-
@property({ type: Boolean })
|
|
134
|
+
@property({ type: Boolean }) clearResultsOnEmptyQuery = false;
|
|
135
135
|
|
|
136
136
|
@property({ type: String }) collectionPagePath: string = '/details/';
|
|
137
137
|
|
|
@@ -586,7 +586,10 @@ export class CollectionBrowser
|
|
|
586
586
|
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
587
587
|
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
588
588
|
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
589
|
-
|
|
589
|
+
>${this.displayMode === 'grid'
|
|
590
|
+
? html`<slot name="result-last-tile" slot="result-last-tile"></slot>`
|
|
591
|
+
: nothing}
|
|
592
|
+
</infinite-scroller>`;
|
|
590
593
|
}
|
|
591
594
|
|
|
592
595
|
private get infiniteScrollerClasses() {
|
|
@@ -615,6 +618,9 @@ export class CollectionBrowser
|
|
|
615
618
|
@titleLetterChanged=${this.titleLetterSelected}
|
|
616
619
|
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
617
620
|
>
|
|
621
|
+
<div slot="sortbar-left-slot">
|
|
622
|
+
<slot name="sortbar-left-slot"></slot>
|
|
623
|
+
</div>
|
|
618
624
|
</sort-filter-bar>
|
|
619
625
|
`;
|
|
620
626
|
}
|
|
@@ -1178,10 +1184,6 @@ export class CollectionBrowser
|
|
|
1178
1184
|
this.handleQueryChange();
|
|
1179
1185
|
}
|
|
1180
1186
|
|
|
1181
|
-
if (changed.has('suppressResultTiles') && this.suppressResultTiles) {
|
|
1182
|
-
this.pagesToRender = 0;
|
|
1183
|
-
}
|
|
1184
|
-
|
|
1185
1187
|
if (changed.has('searchResultsLoading')) {
|
|
1186
1188
|
this.emitSearchResultsLoadingChanged();
|
|
1187
1189
|
}
|
|
@@ -1420,7 +1422,11 @@ export class CollectionBrowser
|
|
|
1420
1422
|
return;
|
|
1421
1423
|
|
|
1422
1424
|
// If the new state prevents us from updating the search results, don't reset
|
|
1423
|
-
if (
|
|
1425
|
+
if (
|
|
1426
|
+
!this.canPerformSearch &&
|
|
1427
|
+
!(this.clearResultsOnEmptyQuery && this.baseQuery === '')
|
|
1428
|
+
)
|
|
1429
|
+
return;
|
|
1424
1430
|
|
|
1425
1431
|
this.previousQueryKey = this.pageFetchQueryKey;
|
|
1426
1432
|
|
|
@@ -1432,9 +1438,9 @@ export class CollectionBrowser
|
|
|
1432
1438
|
this.pageFetchesInProgress = {};
|
|
1433
1439
|
this.endOfDataReached = false;
|
|
1434
1440
|
this.pagesToRender =
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1441
|
+
this.initialPageNumber === 1
|
|
1442
|
+
? 2 // First two pages are batched into one request when starting from page 1
|
|
1443
|
+
: this.initialPageNumber;
|
|
1438
1444
|
this.queryErrorMessage = undefined;
|
|
1439
1445
|
|
|
1440
1446
|
// Reset the infinite scroller's item count, so that it
|
|
@@ -1751,27 +1757,26 @@ export class CollectionBrowser
|
|
|
1751
1757
|
}
|
|
1752
1758
|
|
|
1753
1759
|
facetClickHandler({
|
|
1754
|
-
detail: {
|
|
1760
|
+
detail: { facetType, bucket, negative },
|
|
1755
1761
|
}: CustomEvent<FacetEventDetails>): void {
|
|
1762
|
+
let action: analyticsActions;
|
|
1756
1763
|
if (negative) {
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
? analyticsActions.facetNegativeSelected
|
|
1762
|
-
: analyticsActions.facetNegativeDeselected,
|
|
1763
|
-
label: key,
|
|
1764
|
-
});
|
|
1764
|
+
action =
|
|
1765
|
+
bucket.state !== 'none'
|
|
1766
|
+
? analyticsActions.facetNegativeSelected
|
|
1767
|
+
: analyticsActions.facetNegativeDeselected;
|
|
1765
1768
|
} else {
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
? analyticsActions.facetSelected
|
|
1771
|
-
: analyticsActions.facetDeselected,
|
|
1772
|
-
label: key,
|
|
1773
|
-
});
|
|
1769
|
+
action =
|
|
1770
|
+
bucket.state !== 'none'
|
|
1771
|
+
? analyticsActions.facetSelected
|
|
1772
|
+
: analyticsActions.facetDeselected;
|
|
1774
1773
|
}
|
|
1774
|
+
|
|
1775
|
+
this.analyticsHandler?.sendEvent({
|
|
1776
|
+
category: this.searchContext,
|
|
1777
|
+
action,
|
|
1778
|
+
label: facetType,
|
|
1779
|
+
});
|
|
1775
1780
|
}
|
|
1776
1781
|
|
|
1777
1782
|
private async fetchFacets() {
|