@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha2
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 +3 -3
- package/.github/workflows/gh-pages-main.yml +2 -2
- package/.github/workflows/pr-preview.yml +2 -2
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -0
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +11 -13
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +109 -107
- package/dist/src/app-root.js +541 -531
- 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/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
- package/dist/src/assets/img/icons/filter.d.ts +2 -2
- package/dist/src/assets/img/icons/filter.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/circular-activity-indicator.js.map +1 -1
- package/dist/src/collection-browser.d.ts +607 -606
- package/dist/src/collection-browser.js +1683 -1677
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -30
- package/dist/src/collection-facets/facet-row.js +118 -118
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- 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/facet-tombstone-row.js.map +1 -1
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +49 -49
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +406 -408
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +197 -196
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
- package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
- package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
- package/dist/src/collection-facets/smart-facets/models.js +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
- 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/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +521 -522
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- 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 +377 -377
- package/dist/src/data-source/collection-browser-data-source.js +1003 -1001
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
- package/dist/src/data-source/collection-browser-query-state.js +1 -1
- package/dist/src/data-source/models.d.ts +28 -28
- package/dist/src/data-source/models.js +8 -8
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +87 -88
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/expanded-date-picker.js.map +1 -1
- 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-handler.js.map +1 -1
- 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/language-code-handler/language-code-mapping.js.map +1 -1
- package/dist/src/manage/manage-bar.d.ts +58 -58
- package/dist/src/manage/manage-bar.js +175 -175
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
- package/dist/src/manage/remove-items-modal-content.js +34 -34
- package/dist/src/manage/remove-items-modal-content.js.map +1 -1
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +92 -91
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/models.d.ts +228 -228
- package/dist/src/models.js +401 -401
- 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 +362 -363
- package/dist/src/restoration-state-handler.js.map +1 -1
- 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-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- 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 +223 -223
- package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +17 -17
- 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 +64 -64
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- 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/collection-browser-loading-tile.js.map +1 -1
- 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/account-tile.js.map +1 -1
- 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/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +159 -160
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- 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/search-tile.js.map +1 -1
- 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 +54 -54
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- 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/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/item-image.js.map +1 -1
- 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-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
- package/dist/src/tiles/list/tile-list-compact.js +122 -122
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +324 -326
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/mediatype-icon.js.map +1 -1
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/icon-overlay.js +25 -25
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/review-block.js.map +1 -1
- 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/text-snippet-block.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
- package/dist/src/tiles/tile-display-value-provider.js +94 -94
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/src/utils/analytics-events.d.ts +28 -28
- package/dist/src/utils/analytics-events.js +30 -30
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- package/dist/src/utils/facet-utils.d.ts +83 -83
- package/dist/src/utils/facet-utils.js +145 -145
- package/dist/src/utils/facet-utils.js.map +1 -1
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +75 -76
- package/dist/src/utils/format-count.js.map +1 -1
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +27 -27
- package/dist/src/utils/format-date.js.map +1 -1
- 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/format-unit-size.js.map +1 -1
- 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/log.d.ts +7 -7
- package/dist/src/utils/log.js +13 -15
- package/dist/src/utils/log.js.map +1 -1
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/resolve-mediatype.js.map +1 -1
- 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 +1309 -1308
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +230 -227
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +91 -91
- 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 +140 -141
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +82 -73
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +692 -692
- package/dist/test/collection-facets.test.js.map +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
- package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +62 -63
- package/dist/test/empty-placeholder.test.js.map +1 -1
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +97 -96
- package/dist/test/expanded-date-picker.test.js.map +1 -1
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +23 -24
- package/dist/test/icon-overlay.test.js.map +1 -1
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +106 -107
- package/dist/test/image-block.test.js.map +1 -1
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -85
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.d.ts +2 -2
- package/dist/test/manage/manage-bar.test.js +100 -101
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
- package/dist/test/manage/remove-items-modal-content.test.js +44 -45
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
- 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-search-responses.d.ts +25 -25
- package/dist/test/mocks/mock-search-responses.js +942 -942
- package/dist/test/mocks/mock-search-responses.js.map +1 -1
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/mocks/mock-search-service.js.map +1 -1
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +43 -44
- package/dist/test/review-block.test.js.map +1 -1
- 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-tooltip.test.js.map +1 -1
- 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/alpha-bar.test.js.map +1 -1
- 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 +425 -426
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +37 -38
- package/dist/test/text-overlay.test.js.map +1 -1
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +56 -57
- package/dist/test/text-snippet-block.test.js.map +1 -1
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +98 -99
- package/dist/test/tile-stats.test.js.map +1 -1
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +75 -76
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +72 -73
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +311 -312
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +50 -51
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +296 -297
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +100 -100
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- 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-count.test.js.map +1 -1
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +30 -30
- package/dist/test/utils/format-date.test.js.map +1 -1
- 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/dist/test/utils/local-date-from-utc.test.js.map +1 -1
- package/eslint.config.mjs +53 -0
- package/index.html +0 -3
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +41 -39
- package/renovate.json +6 -6
- package/src/app-root.ts +33 -23
- package/src/collection-browser.ts +44 -42
- package/src/collection-facets/facets-template.ts +7 -6
- package/src/collection-facets/more-facets-content.ts +11 -13
- package/src/collection-facets/more-facets-pagination.ts +3 -2
- package/src/collection-facets/smart-facets/dedupe.ts +2 -2
- package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
- package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
- package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
- package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
- package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
- package/src/collection-facets/toggle-switch.ts +2 -2
- package/src/collection-facets.ts +18 -19
- package/src/data-source/collection-browser-data-source-interface.ts +5 -1
- package/src/data-source/collection-browser-data-source.ts +42 -35
- package/src/empty-placeholder.ts +19 -16
- package/src/expanded-date-picker.ts +1 -1
- package/src/language-code-handler/language-code-handler.ts +1 -1
- package/src/manage/manage-bar.ts +23 -20
- package/src/manage/remove-items-modal-content.ts +2 -2
- package/src/mediatype/mediatype-config.ts +1 -0
- package/src/models.ts +3 -3
- package/src/restoration-state-handler.ts +14 -15
- package/src/sort-filter-bar/alpha-bar.ts +16 -17
- package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -1
- package/src/tiles/grid/item-tile.ts +9 -9
- package/src/tiles/grid/tile-stats.ts +4 -4
- package/src/tiles/hover/hover-pane-controller.ts +1 -1
- package/src/tiles/hover/tile-hover-pane.ts +4 -2
- package/src/tiles/item-image.ts +1 -1
- package/src/tiles/list/tile-list-compact.ts +2 -2
- package/src/tiles/list/tile-list.ts +22 -24
- package/src/tiles/tile-dispatcher.ts +5 -5
- package/src/tiles/tile-display-value-provider.ts +4 -4
- package/src/utils/facet-utils.ts +6 -6
- package/src/utils/format-count.ts +2 -3
- package/src/utils/format-date.ts +1 -1
- package/src/utils/format-unit-size.ts +1 -1
- package/src/utils/log.ts +1 -3
- package/test/collection-browser.test.ts +125 -124
- package/test/collection-facets/facet-row.test.ts +31 -28
- package/test/collection-facets/facets-template.test.ts +9 -9
- package/test/collection-facets/more-facets-content.test.ts +14 -15
- package/test/collection-facets/more-facets-pagination.test.ts +18 -19
- package/test/collection-facets/toggle-switch.test.ts +28 -18
- package/test/collection-facets.test.ts +46 -39
- package/test/data-source/collection-browser-data-source.test.ts +2 -2
- package/test/empty-placeholder.test.ts +6 -7
- package/test/expanded-date-picker.test.ts +25 -20
- package/test/icon-overlay.test.ts +0 -1
- package/test/image-block.test.ts +6 -7
- package/test/item-image.test.ts +0 -1
- package/test/manage/manage-bar.test.ts +19 -16
- package/test/manage/remove-items-modal-content.test.ts +4 -5
- package/test/mocks/mock-search-responses.ts +2 -1
- package/test/mocks/mock-search-service.ts +1 -1
- package/test/restoration-state-handler.test.ts +12 -12
- package/test/review-block.test.ts +1 -2
- package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
- package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
- package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
- package/test/text-overlay.test.ts +0 -1
- package/test/text-snippet-block.test.ts +5 -6
- package/test/tile-stats.test.ts +26 -35
- package/test/tiles/grid/account-tile.test.ts +2 -3
- package/test/tiles/grid/collection-tile.test.ts +3 -4
- package/test/tiles/grid/item-tile.test.ts +13 -14
- package/test/tiles/grid/search-tile.test.ts +1 -2
- package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
- package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
- package/test/tiles/list/tile-list-compact.test.ts +1 -2
- package/test/tiles/list/tile-list.test.ts +10 -11
- package/test/tiles/tile-dispatcher.test.ts +5 -5
- package/test/utils/format-count.test.ts +1 -1
- package/test/utils/format-date.test.ts +1 -1
- package/test/utils/local-date-from-utc.test.ts +1 -1
- package/tsconfig.json +0 -1
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
1
|
import {
|
|
3
2
|
html,
|
|
4
3
|
css,
|
|
@@ -220,11 +219,10 @@ export class CollectionBrowser
|
|
|
220
219
|
@property({ type: String }) pageContext: CollectionBrowserContext = 'search';
|
|
221
220
|
|
|
222
221
|
@property({ type: Object })
|
|
223
|
-
restorationStateHandler: RestorationStateHandlerInterface =
|
|
224
|
-
{
|
|
222
|
+
restorationStateHandler: RestorationStateHandlerInterface =
|
|
223
|
+
new RestorationStateHandler({
|
|
225
224
|
context: this.pageContext,
|
|
226
|
-
}
|
|
227
|
-
);
|
|
225
|
+
});
|
|
228
226
|
|
|
229
227
|
@property({ type: Number }) mobileBreakpoint = 600;
|
|
230
228
|
|
|
@@ -243,6 +241,7 @@ export class CollectionBrowser
|
|
|
243
241
|
* If item management UI active
|
|
244
242
|
*/
|
|
245
243
|
@property({ type: Boolean }) isManageView = false;
|
|
244
|
+
@property({ type: Boolean }) urlBasedManageView = false;
|
|
246
245
|
|
|
247
246
|
@property({ type: String }) manageViewLabel = 'Select items to remove';
|
|
248
247
|
|
|
@@ -394,7 +393,7 @@ export class CollectionBrowser
|
|
|
394
393
|
|
|
395
394
|
sessionStorage?.setItem('cb-session', newSessionId);
|
|
396
395
|
return newSessionId;
|
|
397
|
-
} catch
|
|
396
|
+
} catch {
|
|
398
397
|
// Either we can't generate the hash or we're restricted from accessing sessionStorage
|
|
399
398
|
return '';
|
|
400
399
|
}
|
|
@@ -554,7 +553,7 @@ export class CollectionBrowser
|
|
|
554
553
|
|
|
555
554
|
if (!hasQuery && !isCollection && !isProfile) {
|
|
556
555
|
this.placeholderType = 'empty-query';
|
|
557
|
-
} else if (noResults) {
|
|
556
|
+
} else if (noResults && !this.isManageView) {
|
|
558
557
|
// Within a collection, no query + no results means the collection simply has no viewable items.
|
|
559
558
|
// Otherwise, we must have a user query that produced 0 results.
|
|
560
559
|
this.placeholderType =
|
|
@@ -815,13 +814,13 @@ export class CollectionBrowser
|
|
|
815
814
|
*/
|
|
816
815
|
private handleRemoveItems(): void {
|
|
817
816
|
this.dispatchEvent(
|
|
818
|
-
new CustomEvent<{ items:
|
|
817
|
+
new CustomEvent<{ items: string[] }>('itemRemovalRequested', {
|
|
819
818
|
detail: {
|
|
820
819
|
items: this.dataSource.checkedTileModels.map(model =>
|
|
821
|
-
model?.identifier ? model.identifier : ''
|
|
820
|
+
model?.identifier ? model.identifier : '',
|
|
822
821
|
),
|
|
823
822
|
},
|
|
824
|
-
})
|
|
823
|
+
}),
|
|
825
824
|
);
|
|
826
825
|
}
|
|
827
826
|
|
|
@@ -830,13 +829,13 @@ export class CollectionBrowser
|
|
|
830
829
|
*/
|
|
831
830
|
private handleManageItems(): void {
|
|
832
831
|
this.dispatchEvent(
|
|
833
|
-
new CustomEvent<{ items:
|
|
832
|
+
new CustomEvent<{ items: string[] }>('itemManagerRequested', {
|
|
834
833
|
detail: {
|
|
835
834
|
items: this.dataSource.checkedTileModels.map(model =>
|
|
836
|
-
model?.identifier ? model.identifier : ''
|
|
835
|
+
model?.identifier ? model.identifier : '',
|
|
837
836
|
),
|
|
838
837
|
},
|
|
839
|
-
})
|
|
838
|
+
}),
|
|
840
839
|
);
|
|
841
840
|
}
|
|
842
841
|
|
|
@@ -869,7 +868,7 @@ export class CollectionBrowser
|
|
|
869
868
|
e: CustomEvent<{
|
|
870
869
|
selectedSort: SortField;
|
|
871
870
|
sortDirection: SortDirection | null;
|
|
872
|
-
}
|
|
871
|
+
}>,
|
|
873
872
|
) {
|
|
874
873
|
const { selectedSort, sortDirection } = e.detail;
|
|
875
874
|
this.selectedSort = selectedSort;
|
|
@@ -943,7 +942,7 @@ export class CollectionBrowser
|
|
|
943
942
|
* Handler for when the display mode option is changed (grid/list/compact-list views).
|
|
944
943
|
*/
|
|
945
944
|
private displayModeChanged(
|
|
946
|
-
e: CustomEvent<{ displayMode?: CollectionDisplayMode }
|
|
945
|
+
e: CustomEvent<{ displayMode?: CollectionDisplayMode }>,
|
|
947
946
|
): void {
|
|
948
947
|
this.displayMode = e.detail.displayMode;
|
|
949
948
|
|
|
@@ -1000,7 +999,7 @@ export class CollectionBrowser
|
|
|
1000
999
|
* labels: 'start-<ToLetter>' | 'clear-<FromLetter>' | '<FromLetter>-<ToLetter>'
|
|
1001
1000
|
*/
|
|
1002
1001
|
private sendFilterByCreatorAnalytics(
|
|
1003
|
-
prevSelectedLetter: string | null
|
|
1002
|
+
prevSelectedLetter: string | null,
|
|
1004
1003
|
): void {
|
|
1005
1004
|
if (!prevSelectedLetter && !this.selectedCreatorFilter) {
|
|
1006
1005
|
return;
|
|
@@ -1020,7 +1019,7 @@ export class CollectionBrowser
|
|
|
1020
1019
|
* Handler for changes to which letter is selected in the title alphabet bar.
|
|
1021
1020
|
*/
|
|
1022
1021
|
private titleLetterSelected(
|
|
1023
|
-
e: CustomEvent<{ selectedLetter: string | null }
|
|
1022
|
+
e: CustomEvent<{ selectedLetter: string | null }>,
|
|
1024
1023
|
): void {
|
|
1025
1024
|
this.selectedCreatorFilter = null;
|
|
1026
1025
|
this.selectedTitleFilter = e.detail.selectedLetter;
|
|
@@ -1030,7 +1029,7 @@ export class CollectionBrowser
|
|
|
1030
1029
|
* Handler for changes to which letter is selected in the creator alphabet bar.
|
|
1031
1030
|
*/
|
|
1032
1031
|
private creatorLetterSelected(
|
|
1033
|
-
e: CustomEvent<{ selectedLetter: string | null }
|
|
1032
|
+
e: CustomEvent<{ selectedLetter: string | null }>,
|
|
1034
1033
|
): void {
|
|
1035
1034
|
this.selectedTitleFilter = null;
|
|
1036
1035
|
this.selectedCreatorFilter = e.detail.selectedLetter;
|
|
@@ -1151,7 +1150,7 @@ export class CollectionBrowser
|
|
|
1151
1150
|
* @param mobile Whether to style/shorten the button for mobile view
|
|
1152
1151
|
*/
|
|
1153
1152
|
private clearFiltersBtnTemplate(
|
|
1154
|
-
mobile: boolean
|
|
1153
|
+
mobile: boolean,
|
|
1155
1154
|
): TemplateResult | typeof nothing {
|
|
1156
1155
|
if (!this.hasActiveFilters) return nothing;
|
|
1157
1156
|
|
|
@@ -1200,7 +1199,7 @@ export class CollectionBrowser
|
|
|
1200
1199
|
e: CustomEvent<{
|
|
1201
1200
|
minDate: string;
|
|
1202
1201
|
maxDate: string;
|
|
1203
|
-
}
|
|
1202
|
+
}>,
|
|
1204
1203
|
) {
|
|
1205
1204
|
const { minDate, maxDate } = e.detail;
|
|
1206
1205
|
[this.minSelectedDate, this.maxSelectedDate] = [minDate, maxDate];
|
|
@@ -1230,7 +1229,7 @@ export class CollectionBrowser
|
|
|
1230
1229
|
this.dispatchEvent(
|
|
1231
1230
|
new CustomEvent<boolean>('manageModeChanged', {
|
|
1232
1231
|
detail: this.isManageView,
|
|
1233
|
-
})
|
|
1232
|
+
}),
|
|
1234
1233
|
);
|
|
1235
1234
|
}
|
|
1236
1235
|
|
|
@@ -1249,7 +1248,7 @@ export class CollectionBrowser
|
|
|
1249
1248
|
*/
|
|
1250
1249
|
async installDataSourceAndQueryState(
|
|
1251
1250
|
dataSource: CollectionBrowserDataSourceInterface,
|
|
1252
|
-
queryState: CollectionBrowserQueryState
|
|
1251
|
+
queryState: CollectionBrowserQueryState,
|
|
1253
1252
|
): Promise<void> {
|
|
1254
1253
|
log('Installing data source & query state in CB:', dataSource, queryState);
|
|
1255
1254
|
if (this.dataSource) this.removeController(this.dataSource);
|
|
@@ -1408,12 +1407,12 @@ export class CollectionBrowser
|
|
|
1408
1407
|
|
|
1409
1408
|
if (changed.has('selectedTitleFilter')) {
|
|
1410
1409
|
this.sendFilterByTitleAnalytics(
|
|
1411
|
-
changed.get('selectedTitleFilter') as string
|
|
1410
|
+
changed.get('selectedTitleFilter') as string,
|
|
1412
1411
|
);
|
|
1413
1412
|
}
|
|
1414
1413
|
if (changed.has('selectedCreatorFilter')) {
|
|
1415
1414
|
this.sendFilterByCreatorAnalytics(
|
|
1416
|
-
changed.get('selectedCreatorFilter') as string
|
|
1415
|
+
changed.get('selectedCreatorFilter') as string,
|
|
1417
1416
|
);
|
|
1418
1417
|
}
|
|
1419
1418
|
|
|
@@ -1458,6 +1457,7 @@ export class CollectionBrowser
|
|
|
1458
1457
|
|
|
1459
1458
|
if (changed.has('isManageView')) {
|
|
1460
1459
|
if (this.isManageView) {
|
|
1460
|
+
console.log('here1');
|
|
1461
1461
|
this.displayMode = 'grid';
|
|
1462
1462
|
this.fetchManagableSearchResults();
|
|
1463
1463
|
} else if (this.pageContext === 'search') this.infiniteScroller?.reload();
|
|
@@ -1468,7 +1468,7 @@ export class CollectionBrowser
|
|
|
1468
1468
|
|
|
1469
1469
|
if (changed.has('resizeObserver')) {
|
|
1470
1470
|
const oldObserver = changed.get(
|
|
1471
|
-
'resizeObserver'
|
|
1471
|
+
'resizeObserver',
|
|
1472
1472
|
) as SharedResizeObserverInterface;
|
|
1473
1473
|
if (oldObserver) this.disconnectResizeObserver(oldObserver);
|
|
1474
1474
|
this.setupResizeObserver();
|
|
@@ -1525,7 +1525,7 @@ export class CollectionBrowser
|
|
|
1525
1525
|
this.setTileCount(
|
|
1526
1526
|
this.dataSource.endOfDataReached
|
|
1527
1527
|
? this.dataSource.size
|
|
1528
|
-
: this.estimatedTileCount
|
|
1528
|
+
: this.estimatedTileCount,
|
|
1529
1529
|
);
|
|
1530
1530
|
}
|
|
1531
1531
|
}
|
|
@@ -1546,7 +1546,7 @@ export class CollectionBrowser
|
|
|
1546
1546
|
// In desktop view, we are always ready to load facets *unless* we are using one of the
|
|
1547
1547
|
// `opt-in` strategies and have not opted in (whether by login or UI interaction).
|
|
1548
1548
|
const usingOptInStrategy = ['opt-in', 'opt-in-or-login'].includes(
|
|
1549
|
-
this.facetLoadStrategy
|
|
1549
|
+
this.facetLoadStrategy,
|
|
1550
1550
|
);
|
|
1551
1551
|
const desktopFacetsReady =
|
|
1552
1552
|
!this.mobileView && (!usingOptInStrategy || optedIn);
|
|
@@ -1556,7 +1556,7 @@ export class CollectionBrowser
|
|
|
1556
1556
|
const mobileFacetsReady = this.mobileView && optedIn;
|
|
1557
1557
|
|
|
1558
1558
|
this.dataSource.handleFacetReadinessChange(
|
|
1559
|
-
desktopFacetsReady || mobileFacetsReady
|
|
1559
|
+
desktopFacetsReady || mobileFacetsReady,
|
|
1560
1560
|
);
|
|
1561
1561
|
}
|
|
1562
1562
|
|
|
@@ -1569,14 +1569,14 @@ export class CollectionBrowser
|
|
|
1569
1569
|
// match the _available_ viewport height. This should generally be more
|
|
1570
1570
|
// performant than listening to scroll events on the page or column.
|
|
1571
1571
|
const leftColumnSentinel = this.shadowRoot?.querySelector(
|
|
1572
|
-
'#left-column-scroll-sentinel'
|
|
1572
|
+
'#left-column-scroll-sentinel',
|
|
1573
1573
|
);
|
|
1574
1574
|
if (leftColumnSentinel) {
|
|
1575
1575
|
this.leftColIntersectionObserver = new IntersectionObserver(
|
|
1576
1576
|
this.updateLeftColumnHeight,
|
|
1577
1577
|
{
|
|
1578
1578
|
threshold: [...Array(201).keys()].map(n => n / 200), // Threshold every 0.5%
|
|
1579
|
-
}
|
|
1579
|
+
},
|
|
1580
1580
|
);
|
|
1581
1581
|
this.leftColIntersectionObserver.observe(leftColumnSentinel);
|
|
1582
1582
|
}
|
|
@@ -1593,11 +1593,11 @@ export class CollectionBrowser
|
|
|
1593
1593
|
*/
|
|
1594
1594
|
private setupFacetsScrollListeners(): void {
|
|
1595
1595
|
const facetsSentinel = this.shadowRoot?.querySelector(
|
|
1596
|
-
'#facets-scroll-sentinel'
|
|
1596
|
+
'#facets-scroll-sentinel',
|
|
1597
1597
|
);
|
|
1598
1598
|
if (facetsSentinel) {
|
|
1599
1599
|
this.facetsIntersectionObserver = new IntersectionObserver(
|
|
1600
|
-
this.updateFacetFadeOut
|
|
1600
|
+
this.updateFacetFadeOut,
|
|
1601
1601
|
);
|
|
1602
1602
|
this.facetsIntersectionObserver.observe(facetsSentinel);
|
|
1603
1603
|
}
|
|
@@ -1642,7 +1642,7 @@ export class CollectionBrowser
|
|
|
1642
1642
|
detail: {
|
|
1643
1643
|
baseQuery: this.baseQuery,
|
|
1644
1644
|
},
|
|
1645
|
-
})
|
|
1645
|
+
}),
|
|
1646
1646
|
);
|
|
1647
1647
|
}
|
|
1648
1648
|
|
|
@@ -1654,7 +1654,7 @@ export class CollectionBrowser
|
|
|
1654
1654
|
this.dispatchEvent(
|
|
1655
1655
|
new CustomEvent<SearchType>('searchTypeChanged', {
|
|
1656
1656
|
detail: this.searchType,
|
|
1657
|
-
})
|
|
1657
|
+
}),
|
|
1658
1658
|
);
|
|
1659
1659
|
}
|
|
1660
1660
|
|
|
@@ -1679,7 +1679,7 @@ export class CollectionBrowser
|
|
|
1679
1679
|
selectedTitleFilter: this.selectedTitleFilter,
|
|
1680
1680
|
selectedCreatorFilter: this.selectedCreatorFilter,
|
|
1681
1681
|
},
|
|
1682
|
-
})
|
|
1682
|
+
}),
|
|
1683
1683
|
);
|
|
1684
1684
|
}
|
|
1685
1685
|
|
|
@@ -1692,7 +1692,7 @@ export class CollectionBrowser
|
|
|
1692
1692
|
}
|
|
1693
1693
|
|
|
1694
1694
|
private disconnectResizeObserver(
|
|
1695
|
-
resizeObserver: SharedResizeObserverInterface
|
|
1695
|
+
resizeObserver: SharedResizeObserverInterface,
|
|
1696
1696
|
) {
|
|
1697
1697
|
resizeObserver.removeObserver({
|
|
1698
1698
|
target: this.contentContainer,
|
|
@@ -1716,7 +1716,7 @@ export class CollectionBrowser
|
|
|
1716
1716
|
* @returns
|
|
1717
1717
|
*/
|
|
1718
1718
|
private visibleCellsChanged(
|
|
1719
|
-
e: CustomEvent<{ visibleCellIndices: number[] }
|
|
1719
|
+
e: CustomEvent<{ visibleCellIndices: number[] }>,
|
|
1720
1720
|
) {
|
|
1721
1721
|
if (this.isScrollingToCell) return;
|
|
1722
1722
|
const { visibleCellIndices } = e.detail;
|
|
@@ -1864,7 +1864,7 @@ export class CollectionBrowser
|
|
|
1864
1864
|
};
|
|
1865
1865
|
this.restorationStateHandler.persistState(
|
|
1866
1866
|
restorationState,
|
|
1867
|
-
this.dataSourceInstallInProgress
|
|
1867
|
+
this.dataSourceInstallInProgress,
|
|
1868
1868
|
);
|
|
1869
1869
|
}
|
|
1870
1870
|
|
|
@@ -1878,7 +1878,7 @@ export class CollectionBrowser
|
|
|
1878
1878
|
detail: {
|
|
1879
1879
|
loading: this.searchResultsLoading,
|
|
1880
1880
|
},
|
|
1881
|
-
})
|
|
1881
|
+
}),
|
|
1882
1882
|
);
|
|
1883
1883
|
}
|
|
1884
1884
|
|
|
@@ -2112,10 +2112,12 @@ export class CollectionBrowser
|
|
|
2112
2112
|
*/
|
|
2113
2113
|
private fetchManagableSearchResults(): void {
|
|
2114
2114
|
if (
|
|
2115
|
-
this.pageContext === 'search' &&
|
|
2116
|
-
|
|
2117
|
-
|
|
2115
|
+
(this.pageContext === 'search' &&
|
|
2116
|
+
this.dataSource.totalResults > 100 &&
|
|
2117
|
+
!this.searchResultsLoading) ||
|
|
2118
|
+
this.urlBasedManageView
|
|
2118
2119
|
) {
|
|
2120
|
+
console.log('here22');
|
|
2119
2121
|
this.dataSource.resetPages();
|
|
2120
2122
|
this.dataSource.fetchPage(1, this.maxPagesToManage);
|
|
2121
2123
|
this.infiniteScroller?.reload();
|
|
@@ -44,12 +44,13 @@ export class FacetsTemplate extends LitElement {
|
|
|
44
44
|
${repeat(
|
|
45
45
|
facetBuckets,
|
|
46
46
|
bucket => `${facetGroup.key}:${bucket.key}`,
|
|
47
|
-
bucket =>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
bucket =>
|
|
48
|
+
html`<facet-row
|
|
49
|
+
.facetType=${facetGroup.key}
|
|
50
|
+
.bucket=${bucket}
|
|
51
|
+
.collectionTitles=${this.collectionTitles}
|
|
52
|
+
@facetClick=${this.facetClicked}
|
|
53
|
+
></facet-row>`,
|
|
53
54
|
)}
|
|
54
55
|
</div>
|
|
55
56
|
`;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
/* eslint-disable lit-a11y/click-events-have-key-events */
|
|
3
1
|
import {
|
|
4
2
|
css,
|
|
5
3
|
CSSResultGroup,
|
|
@@ -39,7 +37,7 @@ import type {
|
|
|
39
37
|
CollectionTitles,
|
|
40
38
|
PageSpecifierParams,
|
|
41
39
|
} from '../data-source/models';
|
|
42
|
-
import '@internetarchive/ia-activity-indicator
|
|
40
|
+
import '@internetarchive/ia-activity-indicator';
|
|
43
41
|
import './more-facets-pagination';
|
|
44
42
|
import './facets-template';
|
|
45
43
|
import {
|
|
@@ -247,7 +245,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
247
245
|
const bucketsWithCount =
|
|
248
246
|
selectedFacetGroup?.buckets.map(bucket => {
|
|
249
247
|
const selectedBucket = aggregationFacetGroup.buckets.find(
|
|
250
|
-
b => b.key === bucket.key
|
|
248
|
+
b => b.key === bucket.key,
|
|
251
249
|
);
|
|
252
250
|
return selectedBucket
|
|
253
251
|
? {
|
|
@@ -265,7 +263,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
265
263
|
// Append any additional buckets that were not selected
|
|
266
264
|
aggregationFacetGroup.buckets.forEach(bucket => {
|
|
267
265
|
const existingBucket = selectedFacetGroup?.buckets.find(
|
|
268
|
-
b => b.key === bucket.key
|
|
266
|
+
b => b.key === bucket.key,
|
|
269
267
|
);
|
|
270
268
|
if (existingBucket) return;
|
|
271
269
|
bucketsWithCount.push(bucket);
|
|
@@ -305,7 +303,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
305
303
|
count: data?.count,
|
|
306
304
|
state: data?.state,
|
|
307
305
|
};
|
|
308
|
-
}
|
|
306
|
+
},
|
|
309
307
|
);
|
|
310
308
|
|
|
311
309
|
return {
|
|
@@ -329,7 +327,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
329
327
|
|
|
330
328
|
// Order the facets according to the current sort option
|
|
331
329
|
let sortedBuckets = currentAggregation.getSortedBuckets(
|
|
332
|
-
this.sortedBy
|
|
330
|
+
this.sortedBy,
|
|
333
331
|
) as Bucket[];
|
|
334
332
|
|
|
335
333
|
if (this.facetKey === 'collection') {
|
|
@@ -371,7 +369,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
371
369
|
const firstBucketIndexOnPage = (this.pageNumber - 1) * this.facetsPerPage;
|
|
372
370
|
const truncatedBuckets = facetGroup.buckets.slice(
|
|
373
371
|
firstBucketIndexOnPage,
|
|
374
|
-
firstBucketIndexOnPage + this.facetsPerPage
|
|
372
|
+
firstBucketIndexOnPage + this.facetsPerPage,
|
|
375
373
|
);
|
|
376
374
|
|
|
377
375
|
return {
|
|
@@ -391,7 +389,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
391
389
|
this.unappliedFacetChanges = updateSelectedFacetBucket(
|
|
392
390
|
this.unappliedFacetChanges,
|
|
393
391
|
this.facetKey,
|
|
394
|
-
e.detail.bucket
|
|
392
|
+
e.detail.bucket,
|
|
395
393
|
);
|
|
396
394
|
}
|
|
397
395
|
}}
|
|
@@ -454,7 +452,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
454
452
|
private sortFacetAggregation(facetSortType: AggregationSortType) {
|
|
455
453
|
this.sortedBy = facetSortType;
|
|
456
454
|
this.dispatchEvent(
|
|
457
|
-
new CustomEvent('sortedFacets', { detail: this.sortedBy })
|
|
455
|
+
new CustomEvent('sortedFacets', { detail: this.sortedBy }),
|
|
458
456
|
);
|
|
459
457
|
}
|
|
460
458
|
|
|
@@ -475,11 +473,11 @@ export class MoreFacetsContent extends LitElement {
|
|
|
475
473
|
leftValue=${AggregationSortType.COUNT}
|
|
476
474
|
leftLabel="Count"
|
|
477
475
|
rightValue=${valueFacetSort[this.facetKey]}
|
|
478
|
-
rightLabel=${this.facetGroup?.title}
|
|
476
|
+
.rightLabel=${this.facetGroup?.title}
|
|
479
477
|
side=${defaultSwitchSide}
|
|
480
478
|
@change=${(e: CustomEvent<string>) => {
|
|
481
479
|
this.sortFacetAggregation(
|
|
482
|
-
Number(e.detail) as AggregationSortType
|
|
480
|
+
Number(e.detail) as AggregationSortType,
|
|
483
481
|
);
|
|
484
482
|
}}
|
|
485
483
|
></toggle-switch>`
|
|
@@ -504,7 +502,7 @@ export class MoreFacetsContent extends LitElement {
|
|
|
504
502
|
private applySearchFacetsClicked() {
|
|
505
503
|
const mergedSelections = mergeSelectedFacets(
|
|
506
504
|
this.selectedFacets,
|
|
507
|
-
this.unappliedFacetChanges
|
|
505
|
+
this.unappliedFacetChanges,
|
|
508
506
|
);
|
|
509
507
|
|
|
510
508
|
const event = new CustomEvent<SelectedFacets>('facetsChanged', {
|
|
@@ -31,6 +31,7 @@ export class MoreFacetsPagination extends LitElement {
|
|
|
31
31
|
this.observePageCount();
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
35
|
override updated(changed: Map<string, any>) {
|
|
35
36
|
if (changed.has('size')) {
|
|
36
37
|
this.observePageCount();
|
|
@@ -175,7 +176,7 @@ export class MoreFacetsPagination extends LitElement {
|
|
|
175
176
|
detail: { page: this.currentPage },
|
|
176
177
|
bubbles: true,
|
|
177
178
|
composed: true,
|
|
178
|
-
})
|
|
179
|
+
}),
|
|
179
180
|
);
|
|
180
181
|
}
|
|
181
182
|
|
|
@@ -219,7 +220,7 @@ export class MoreFacetsPagination extends LitElement {
|
|
|
219
220
|
page =>
|
|
220
221
|
html`${page !== 0
|
|
221
222
|
? this.getPageTemplate(page)
|
|
222
|
-
: this.getEllipsisTemplate}
|
|
223
|
+
: this.getEllipsisTemplate}`,
|
|
223
224
|
)}
|
|
224
225
|
`;
|
|
225
226
|
}
|
|
@@ -16,7 +16,7 @@ export function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {
|
|
|
16
16
|
let result: SmartFacet[] = [...facetsUnnested];
|
|
17
17
|
for (const curFacet of facetsUnnested) {
|
|
18
18
|
result = result.filter(
|
|
19
|
-
sf => curFacet === sf || !smartFacetEquals(curFacet, sf)
|
|
19
|
+
sf => curFacet === sf || !smartFacetEquals(curFacet, sf),
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -30,7 +30,7 @@ export function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {
|
|
|
30
30
|
const subresult: SmartFacet[] = [];
|
|
31
31
|
for (const curFacet of curFacetArray) {
|
|
32
32
|
const existing = result.find(sfa =>
|
|
33
|
-
sfa.find(sf => smartFacetEquals(curFacet, sf))
|
|
33
|
+
sfa.find(sf => smartFacetEquals(curFacet, sf)),
|
|
34
34
|
);
|
|
35
35
|
if (!existing) subresult.push(curFacet);
|
|
36
36
|
}
|
|
@@ -43,7 +43,7 @@ export class QueryKeywordsHeuristic implements SmartQueryHeuristic {
|
|
|
43
43
|
const recommendations: SmartFacet[] = [];
|
|
44
44
|
|
|
45
45
|
for (const [keyword, facets] of Object.entries(
|
|
46
|
-
QueryKeywordsHeuristic.KEYWORDS
|
|
46
|
+
QueryKeywordsHeuristic.KEYWORDS,
|
|
47
47
|
)) {
|
|
48
48
|
if (query.includes(keyword)) {
|
|
49
49
|
recommendations.push(...facets);
|
|
@@ -147,12 +147,12 @@ export class WikidataHeuristic implements SmartQueryHeuristic {
|
|
|
147
147
|
const urlQuery = encodeURIComponent(query);
|
|
148
148
|
|
|
149
149
|
const wikidataResponse = await fetch(
|
|
150
|
-
`https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${urlQuery}&format=json&language=en&uselang=en&origin=*&type=item&limit=5
|
|
150
|
+
`https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${urlQuery}&format=json&language=en&uselang=en&origin=*&type=item&limit=5`,
|
|
151
151
|
);
|
|
152
152
|
const searchResults = await wikidataResponse.json();
|
|
153
153
|
|
|
154
154
|
for (const [keyword, facets] of Object.entries(
|
|
155
|
-
WikidataHeuristic.ENTITIES
|
|
155
|
+
WikidataHeuristic.ENTITIES,
|
|
156
156
|
)) {
|
|
157
157
|
const keywordRegex = new RegExp(`\\b${keyword}\\b`);
|
|
158
158
|
if (keywordRegex.test(searchResults.search[0]?.description)) {
|
|
@@ -171,20 +171,20 @@ export class WikidataHeuristic implements SmartQueryHeuristic {
|
|
|
171
171
|
if (f.displayText) {
|
|
172
172
|
replaced.displayText = replaced.displayText?.replace(
|
|
173
173
|
'__QUERY',
|
|
174
|
-
entityName
|
|
174
|
+
entityName,
|
|
175
175
|
);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
return replaced;
|
|
179
179
|
}),
|
|
180
|
-
} as SmartFacet
|
|
181
|
-
)
|
|
180
|
+
}) as SmartFacet,
|
|
181
|
+
),
|
|
182
182
|
);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
return recommendations;
|
|
187
|
-
} catch
|
|
187
|
+
} catch {
|
|
188
188
|
return [];
|
|
189
189
|
}
|
|
190
190
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-continue */
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
css,
|
|
5
3
|
html,
|
|
@@ -68,7 +66,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
68
66
|
this.smartFacets,
|
|
69
67
|
f =>
|
|
70
68
|
`${f[0].label}|${f[0].facets[0].facetType}|${f[0].facets[0].bucketKey}`,
|
|
71
|
-
facet => this.makeSmartFacet(facet)
|
|
69
|
+
facet => this.makeSmartFacet(facet),
|
|
72
70
|
)}
|
|
73
71
|
</div>
|
|
74
72
|
`;
|
|
@@ -190,7 +188,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
190
188
|
key === 'mediatype' &&
|
|
191
189
|
this.selectedFacets &&
|
|
192
190
|
Object.values(this.selectedFacets.mediatype).some(
|
|
193
|
-
bucket => bucket.state !== 'none'
|
|
191
|
+
bucket => bucket.state !== 'none',
|
|
194
192
|
)
|
|
195
193
|
) {
|
|
196
194
|
continue;
|
|
@@ -210,7 +208,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
210
208
|
if (facetType === 'mediatype') {
|
|
211
209
|
facets.push(
|
|
212
210
|
[this.toSmartFacet(facetType, [unusedBuckets[0]])],
|
|
213
|
-
[this.toSmartFacet(facetType, [unusedBuckets[1]])]
|
|
211
|
+
[this.toSmartFacet(facetType, [unusedBuckets[1]])],
|
|
214
212
|
);
|
|
215
213
|
} else if (facetType === 'collection' || facetType === 'subject') {
|
|
216
214
|
const topBuckets = unusedBuckets.slice(0, 5);
|
|
@@ -226,7 +224,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
226
224
|
|
|
227
225
|
private toSmartFacet(
|
|
228
226
|
facetType: FacetOption,
|
|
229
|
-
buckets: Bucket[]
|
|
227
|
+
buckets: Bucket[],
|
|
230
228
|
// prefix = true
|
|
231
229
|
): SmartFacet {
|
|
232
230
|
return {
|
|
@@ -259,7 +257,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
259
257
|
this.selectedFacets,
|
|
260
258
|
facet.facetType,
|
|
261
259
|
facet.bucket,
|
|
262
|
-
true
|
|
260
|
+
true,
|
|
263
261
|
);
|
|
264
262
|
}
|
|
265
263
|
|
|
@@ -286,7 +284,7 @@ export class SmartFacetBar extends LitElement {
|
|
|
286
284
|
this.selectedFacets,
|
|
287
285
|
facet.facetType,
|
|
288
286
|
facet.bucket,
|
|
289
|
-
true
|
|
287
|
+
true,
|
|
290
288
|
);
|
|
291
289
|
}
|
|
292
290
|
|
|
@@ -28,7 +28,9 @@ export class SmartFacetButton extends LitElement {
|
|
|
28
28
|
|
|
29
29
|
const displayText = capitalize(
|
|
30
30
|
(this.labelPrefix ? `${this.labelPrefix} ` : '') +
|
|
31
|
-
(this.facetInfo.label ??
|
|
31
|
+
(this.facetInfo.label ??
|
|
32
|
+
firstFacet.displayText ??
|
|
33
|
+
firstFacet.bucketKey),
|
|
32
34
|
);
|
|
33
35
|
if (!displayText) return nothing;
|
|
34
36
|
|
|
@@ -61,7 +63,7 @@ export class SmartFacetButton extends LitElement {
|
|
|
61
63
|
for (const facet of this.facetInfo.facets) {
|
|
62
64
|
url.searchParams.append(
|
|
63
65
|
'and[]',
|
|
64
|
-
encodeURIComponent(`${facet.facetType}:"${facet.bucketKey}"`)
|
|
66
|
+
encodeURIComponent(`${facet.facetType}:"${facet.bucketKey}"`),
|
|
65
67
|
);
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -88,7 +90,7 @@ export class SmartFacetButton extends LitElement {
|
|
|
88
90
|
negative: false,
|
|
89
91
|
})),
|
|
90
92
|
},
|
|
91
|
-
})
|
|
93
|
+
}),
|
|
92
94
|
);
|
|
93
95
|
}
|
|
94
96
|
|
|
@@ -67,7 +67,7 @@ export class SmartFacetDropdown extends LitElement {
|
|
|
67
67
|
private get activeDropdownOption(): optionInterface | undefined {
|
|
68
68
|
if (!this.activeFacetRef) return undefined;
|
|
69
69
|
return this.dropdownOptions.find(
|
|
70
|
-
opt => opt.id === this.activeFacetRef?.bucketKey
|
|
70
|
+
opt => opt.id === this.activeFacetRef?.bucketKey,
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -77,7 +77,7 @@ export class SmartFacetDropdown extends LitElement {
|
|
|
77
77
|
let selectedSmartFacet;
|
|
78
78
|
for (const smartFacet of this.facetInfo) {
|
|
79
79
|
const selectedRef = smartFacet.facets.find(
|
|
80
|
-
b => b.bucketKey === e.detail.option.id
|
|
80
|
+
b => b.bucketKey === e.detail.option.id,
|
|
81
81
|
);
|
|
82
82
|
if (selectedRef) {
|
|
83
83
|
this.activeFacetRef = selectedRef;
|
|
@@ -103,14 +103,14 @@ export class SmartFacetDropdown extends LitElement {
|
|
|
103
103
|
},
|
|
104
104
|
],
|
|
105
105
|
},
|
|
106
|
-
})
|
|
106
|
+
}),
|
|
107
107
|
);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
private onDropdownClick(): void {
|
|
111
111
|
log('smart dropdown: onDropdownClick', this);
|
|
112
112
|
this.dispatchEvent(
|
|
113
|
-
new CustomEvent<SmartFacetDropdown>('dropdownClick', { detail: this })
|
|
113
|
+
new CustomEvent<SmartFacetDropdown>('dropdownClick', { detail: this }),
|
|
114
114
|
);
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -13,7 +13,7 @@ export class SmartQueryHeuristicGroup implements SmartQueryHeuristic {
|
|
|
13
13
|
|
|
14
14
|
async getRecommendedFacets(query: string): Promise<SmartFacet[]> {
|
|
15
15
|
const promises = SmartQueryHeuristicGroup.HEURISTICS.map(HeuristicCtor =>
|
|
16
|
-
new HeuristicCtor().getRecommendedFacets(query)
|
|
16
|
+
new HeuristicCtor().getRecommendedFacets(query),
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
return dedupe((await Promise.all(promises)).flat());
|
|
@@ -84,8 +84,8 @@ export class ToggleSwitch extends LitElement {
|
|
|
84
84
|
*/
|
|
85
85
|
get selectedLabel(): string {
|
|
86
86
|
return this.side === 'left'
|
|
87
|
-
? this.leftLabel ?? this.leftValue
|
|
88
|
-
: this.rightLabel ?? this.rightValue;
|
|
87
|
+
? (this.leftLabel ?? this.leftValue)
|
|
88
|
+
: (this.rightLabel ?? this.rightValue);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
private handleClick(): void {
|