@internetarchive/collection-browser 2.7.7-alpha.2 → 2.7.7
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/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +99 -99
- package/dist/src/app-root.js +503 -503
- 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 +582 -582
- package/dist/src/collection-browser.js +1627 -1626
- 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 +408 -406
- 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 +196 -197
- 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 +240 -237
- 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 +522 -521
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
- 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 +373 -373
- package/dist/src/data-source/collection-browser-data-source.js +982 -981
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
- 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 +88 -87
- 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 +35 -35
- package/dist/src/manage/manage-bar.js +79 -79
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -92
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/models.d.ts +219 -219
- 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 +363 -362
- 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 +697 -696
- 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 +160 -159
- 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 +70 -72
- 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 +326 -324
- 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 +76 -75
- 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 +15 -13
- 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 +1293 -1294
- 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 +227 -230
- 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 +141 -140
- 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 +117 -116
- 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 +73 -82
- 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 +690 -689
- 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 +63 -62
- 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 +95 -95
- 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 +24 -23
- 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 +107 -106
- 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 +85 -84
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +91 -90
- package/dist/test/manage/manage-bar.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 +44 -43
- 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 +426 -425
- 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 +38 -37
- 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 +57 -56
- 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 +99 -98
- 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 +76 -75
- 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 +73 -72
- 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 +312 -311
- 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 +51 -50
- 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 +143 -142
- 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 +297 -296
- 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/index.html +3 -0
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +38 -40
- package/renovate.json +6 -6
- package/src/app-root.ts +22 -21
- package/src/collection-browser.ts +35 -33
- package/src/collection-facets/facets-template.ts +6 -7
- package/src/collection-facets/more-facets-content.ts +13 -11
- package/src/collection-facets/more-facets-pagination.ts +2 -3
- 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 +8 -6
- package/src/collection-facets/smart-facets/smart-facet-button.ts +3 -5
- 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 +19 -18
- package/src/data-source/collection-browser-data-source-interface.ts +1 -5
- package/src/data-source/collection-browser-data-source.ts +34 -37
- package/src/empty-placeholder.ts +16 -19
- 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 +12 -14
- package/src/mediatype/mediatype-config.ts +0 -1
- package/src/models.ts +3 -3
- package/src/restoration-state-handler.ts +15 -14
- package/src/sort-filter-bar/alpha-bar.ts +17 -16
- package/src/sort-filter-bar/sort-filter-bar.ts +15 -14
- 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 +2 -4
- 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 +24 -22
- 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 +3 -2
- package/src/utils/format-date.ts +1 -1
- package/src/utils/format-unit-size.ts +1 -1
- package/src/utils/log.ts +3 -1
- package/test/collection-browser.test.ts +122 -123
- package/test/collection-facets/facet-row.test.ts +28 -31
- package/test/collection-facets/facets-template.test.ts +9 -9
- package/test/collection-facets/more-facets-content.test.ts +15 -14
- package/test/collection-facets/more-facets-pagination.test.ts +19 -18
- package/test/collection-facets/toggle-switch.test.ts +18 -28
- package/test/collection-facets.test.ts +37 -36
- package/test/data-source/collection-browser-data-source.test.ts +2 -2
- package/test/empty-placeholder.test.ts +7 -6
- package/test/expanded-date-picker.test.ts +18 -17
- package/test/icon-overlay.test.ts +1 -0
- package/test/image-block.test.ts +7 -6
- package/test/item-image.test.ts +1 -0
- package/test/manage/manage-bar.test.ts +14 -13
- package/test/mocks/mock-search-responses.ts +1 -2
- package/test/mocks/mock-search-service.ts +1 -1
- package/test/restoration-state-handler.test.ts +12 -12
- package/test/review-block.test.ts +2 -1
- 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 +39 -38
- package/test/text-overlay.test.ts +1 -0
- package/test/text-snippet-block.test.ts +6 -5
- package/test/tile-stats.test.ts +35 -26
- package/test/tiles/grid/account-tile.test.ts +3 -2
- package/test/tiles/grid/collection-tile.test.ts +4 -3
- package/test/tiles/grid/item-tile.test.ts +14 -13
- package/test/tiles/grid/search-tile.test.ts +2 -1
- 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 +2 -1
- package/test/tiles/list/tile-list.test.ts +11 -10
- 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 +1 -0
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
- package/.prettierignore +0 -1
- package/eslint.config.mjs +0 -53
package/src/collection-facets.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
1
2
|
import {
|
|
2
3
|
css,
|
|
3
4
|
html,
|
|
@@ -170,7 +171,7 @@ export class CollectionFacets extends LitElement {
|
|
|
170
171
|
: nothing}
|
|
171
172
|
${this.collectionPartOfTemplate}
|
|
172
173
|
${this.mergedFacets.map(facetGroup =>
|
|
173
|
-
this.getFacetGroupTemplate(facetGroup)
|
|
174
|
+
this.getFacetGroupTemplate(facetGroup)
|
|
174
175
|
)}
|
|
175
176
|
</div>
|
|
176
177
|
`;
|
|
@@ -348,7 +349,7 @@ export class CollectionFacets extends LitElement {
|
|
|
348
349
|
e: CustomEvent<{
|
|
349
350
|
minDate: string;
|
|
350
351
|
maxDate: string;
|
|
351
|
-
}
|
|
352
|
+
}>
|
|
352
353
|
): void => {
|
|
353
354
|
const { minDate, maxDate } = e.detail;
|
|
354
355
|
const event = new CustomEvent('histogramDateRangeUpdated', {
|
|
@@ -365,10 +366,10 @@ export class CollectionFacets extends LitElement {
|
|
|
365
366
|
|
|
366
367
|
facetDisplayOrder.forEach(facetKey => {
|
|
367
368
|
const selectedFacetGroup = this.selectedFacetGroups.find(
|
|
368
|
-
group => group.key === facetKey
|
|
369
|
+
group => group.key === facetKey
|
|
369
370
|
);
|
|
370
371
|
const aggregateFacetGroup = this.aggregationFacetGroups.find(
|
|
371
|
-
group => group.key === facetKey
|
|
372
|
+
group => group.key === facetKey
|
|
372
373
|
);
|
|
373
374
|
|
|
374
375
|
// if the user selected a facet, but it's not in the aggregation, we add it as-is
|
|
@@ -387,7 +388,7 @@ export class CollectionFacets extends LitElement {
|
|
|
387
388
|
let bucketsWithCount =
|
|
388
389
|
selectedFacetGroup?.buckets.map(bucket => {
|
|
389
390
|
const selectedBucket = aggregateFacetGroup.buckets.find(
|
|
390
|
-
b => b.key === bucket.key
|
|
391
|
+
b => b.key === bucket.key
|
|
391
392
|
);
|
|
392
393
|
return selectedBucket
|
|
393
394
|
? {
|
|
@@ -411,7 +412,7 @@ export class CollectionFacets extends LitElement {
|
|
|
411
412
|
* - additionally want to show all items (selected/suppressed) in page facet area
|
|
412
413
|
*/
|
|
413
414
|
let allowedFacetCount = Object.keys(
|
|
414
|
-
(selectedFacetGroup?.buckets as []) || []
|
|
415
|
+
(selectedFacetGroup?.buckets as []) || []
|
|
415
416
|
)?.length;
|
|
416
417
|
if (allowedFacetCount < this.allowedFacetCount) {
|
|
417
418
|
allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
|
|
@@ -420,7 +421,7 @@ export class CollectionFacets extends LitElement {
|
|
|
420
421
|
// For lending facets, only include a specific subset of buckets
|
|
421
422
|
if (facetKey === 'lending') {
|
|
422
423
|
bucketsWithCount = bucketsWithCount.filter(
|
|
423
|
-
bucket => lendingFacetKeysVisibility[bucket.key as LendingFacetKey]
|
|
424
|
+
bucket => lendingFacetKeysVisibility[bucket.key as LendingFacetKey]
|
|
424
425
|
);
|
|
425
426
|
}
|
|
426
427
|
|
|
@@ -430,13 +431,13 @@ export class CollectionFacets extends LitElement {
|
|
|
430
431
|
// For mediatype facets, ensure the collection bucket is always shown if present
|
|
431
432
|
if (facetKey === 'mediatype') {
|
|
432
433
|
const collectionIndex = bucketsWithCount.findIndex(
|
|
433
|
-
bucket => bucket.key === 'collection'
|
|
434
|
+
bucket => bucket.key === 'collection'
|
|
434
435
|
);
|
|
435
436
|
|
|
436
437
|
if (collectionIndex >= allowedFacetCount) {
|
|
437
438
|
const [collectionBucket] = bucketsWithCount.splice(
|
|
438
439
|
collectionIndex,
|
|
439
|
-
1
|
|
440
|
+
1
|
|
440
441
|
);
|
|
441
442
|
|
|
442
443
|
// If we're showing lots of selected facets, ensure we're not cutting off the last one
|
|
@@ -483,7 +484,7 @@ export class CollectionFacets extends LitElement {
|
|
|
483
484
|
count: facetData.count,
|
|
484
485
|
state: facetData.state,
|
|
485
486
|
};
|
|
486
|
-
}
|
|
487
|
+
}
|
|
487
488
|
);
|
|
488
489
|
|
|
489
490
|
return {
|
|
@@ -491,7 +492,7 @@ export class CollectionFacets extends LitElement {
|
|
|
491
492
|
key: option,
|
|
492
493
|
buckets,
|
|
493
494
|
};
|
|
494
|
-
}
|
|
495
|
+
}
|
|
495
496
|
);
|
|
496
497
|
|
|
497
498
|
return facetGroups;
|
|
@@ -511,7 +512,7 @@ export class CollectionFacets extends LitElement {
|
|
|
511
512
|
if (!title) return;
|
|
512
513
|
|
|
513
514
|
let castedBuckets = aggregation.getSortedBuckets(
|
|
514
|
-
defaultFacetSort[option]
|
|
515
|
+
defaultFacetSort[option]
|
|
515
516
|
) as Bucket[];
|
|
516
517
|
|
|
517
518
|
if (option === 'collection') {
|
|
@@ -555,7 +556,7 @@ export class CollectionFacets extends LitElement {
|
|
|
555
556
|
* chevron for the mobile view
|
|
556
557
|
*/
|
|
557
558
|
private getFacetGroupTemplate(
|
|
558
|
-
facetGroup: FacetGroup
|
|
559
|
+
facetGroup: FacetGroup
|
|
559
560
|
): TemplateResult | typeof nothing {
|
|
560
561
|
if (!this.facetsLoading && facetGroup.buckets.length === 0) return nothing;
|
|
561
562
|
|
|
@@ -610,7 +611,7 @@ export class CollectionFacets extends LitElement {
|
|
|
610
611
|
return html`
|
|
611
612
|
${map(
|
|
612
613
|
Array(5).fill(null),
|
|
613
|
-
() => html`<facet-tombstone-row></facet-tombstone-row
|
|
614
|
+
() => html`<facet-tombstone-row></facet-tombstone-row>`
|
|
614
615
|
)}
|
|
615
616
|
`;
|
|
616
617
|
}
|
|
@@ -621,7 +622,7 @@ export class CollectionFacets extends LitElement {
|
|
|
621
622
|
* TODO: want to fire analytics?
|
|
622
623
|
*/
|
|
623
624
|
private searchMoreFacetsLink(
|
|
624
|
-
facetGroup: FacetGroup
|
|
625
|
+
facetGroup: FacetGroup
|
|
625
626
|
): TemplateResult | typeof nothing {
|
|
626
627
|
// Don't render More... links for FTS searches
|
|
627
628
|
if (!this.moreLinksVisible) {
|
|
@@ -653,7 +654,7 @@ export class CollectionFacets extends LitElement {
|
|
|
653
654
|
label: facetGroup.key,
|
|
654
655
|
});
|
|
655
656
|
this.dispatchEvent(
|
|
656
|
-
new CustomEvent('showMoreFacets', { detail: facetGroup.key })
|
|
657
|
+
new CustomEvent('showMoreFacets', { detail: facetGroup.key })
|
|
657
658
|
);
|
|
658
659
|
}}
|
|
659
660
|
data-testid="more-link-btn"
|
|
@@ -664,7 +665,7 @@ export class CollectionFacets extends LitElement {
|
|
|
664
665
|
|
|
665
666
|
async showMoreFacetsModal(
|
|
666
667
|
facetGroup: FacetGroup,
|
|
667
|
-
sortedBy: AggregationSortType
|
|
668
|
+
sortedBy: AggregationSortType
|
|
668
669
|
): Promise<void> {
|
|
669
670
|
const customModalContent = html`
|
|
670
671
|
<more-facets-content
|
|
@@ -723,7 +724,7 @@ export class CollectionFacets extends LitElement {
|
|
|
723
724
|
this.selectedFacets,
|
|
724
725
|
facetGroup.key,
|
|
725
726
|
e.detail.bucket,
|
|
726
|
-
true
|
|
727
|
+
true
|
|
727
728
|
);
|
|
728
729
|
|
|
729
730
|
const event = new CustomEvent<SelectedFacets>('facetsChanged', {
|
|
@@ -280,11 +280,7 @@ export interface CollectionBrowserDataSourceInterface
|
|
|
280
280
|
* @param callback A callback function to apply on each tile model, as with Array.map
|
|
281
281
|
*/
|
|
282
282
|
map(
|
|
283
|
-
callback: (
|
|
284
|
-
model: TileModel,
|
|
285
|
-
index: number,
|
|
286
|
-
array: TileModel[],
|
|
287
|
-
) => TileModel,
|
|
283
|
+
callback: (model: TileModel, index: number, array: TileModel[]) => TileModel
|
|
288
284
|
): void;
|
|
289
285
|
|
|
290
286
|
/**
|
|
@@ -162,12 +162,13 @@ export class CollectionBrowserDataSource
|
|
|
162
162
|
return this._initialSearchCompletePromise;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
+
// eslint-disable-next-line no-useless-constructor
|
|
165
166
|
constructor(
|
|
166
167
|
/** The host element to which this controller should attach listeners */
|
|
167
168
|
private readonly host: ReactiveControllerHost &
|
|
168
169
|
CollectionBrowserSearchInterface,
|
|
169
170
|
/** Default size of result pages */
|
|
170
|
-
private pageSize: number = 50
|
|
171
|
+
private pageSize: number = 50
|
|
171
172
|
) {
|
|
172
173
|
// Just setting some property values
|
|
173
174
|
}
|
|
@@ -263,13 +264,13 @@ export class CollectionBrowserDataSource
|
|
|
263
264
|
const pageStartIndex = this.pageSize * i;
|
|
264
265
|
this.addPage(
|
|
265
266
|
firstPageNum + i,
|
|
266
|
-
tiles.slice(pageStartIndex, pageStartIndex + this.pageSize)
|
|
267
|
+
tiles.slice(pageStartIndex, pageStartIndex + this.pageSize)
|
|
267
268
|
);
|
|
268
269
|
}
|
|
269
270
|
|
|
270
271
|
const visiblePages = this.host.currentVisiblePageNumbers;
|
|
271
272
|
const needsReload = visiblePages.some(
|
|
272
|
-
page => page >= firstPageNum && page <= firstPageNum + numPages
|
|
273
|
+
page => page >= firstPageNum && page <= firstPageNum + numPages
|
|
273
274
|
);
|
|
274
275
|
if (needsReload) {
|
|
275
276
|
this.refreshVisibleResults();
|
|
@@ -430,19 +431,15 @@ export class CollectionBrowserDataSource
|
|
|
430
431
|
* @inheritdoc
|
|
431
432
|
*/
|
|
432
433
|
map(
|
|
433
|
-
callback: (
|
|
434
|
-
model: TileModel,
|
|
435
|
-
index: number,
|
|
436
|
-
array: TileModel[],
|
|
437
|
-
) => TileModel,
|
|
434
|
+
callback: (model: TileModel, index: number, array: TileModel[]) => TileModel
|
|
438
435
|
): void {
|
|
439
436
|
this.pages = Object.fromEntries(
|
|
440
437
|
Object.entries(this.pages).map(([page, tileModels]) => [
|
|
441
438
|
page,
|
|
442
439
|
tileModels.map((model, index, array) =>
|
|
443
|
-
model ? callback(model, index, array) : model
|
|
440
|
+
model ? callback(model, index, array) : model
|
|
444
441
|
),
|
|
445
|
-
])
|
|
442
|
+
])
|
|
446
443
|
);
|
|
447
444
|
this.requestHostUpdate();
|
|
448
445
|
this.refreshVisibleResults();
|
|
@@ -539,12 +536,12 @@ export class CollectionBrowserDataSource
|
|
|
539
536
|
* @returns A filtered array of tile models satisfying the predicate
|
|
540
537
|
*/
|
|
541
538
|
private getFilteredTileModels(
|
|
542
|
-
predicate: (model: TileModel, index: number, array: TileModel[]) => unknown
|
|
539
|
+
predicate: (model: TileModel, index: number, array: TileModel[]) => unknown
|
|
543
540
|
): TileModel[] {
|
|
544
541
|
return Object.values(this.pages)
|
|
545
542
|
.flat()
|
|
546
543
|
.filter((model, index, array) =>
|
|
547
|
-
model ? predicate(model, index, array) : false
|
|
544
|
+
model ? predicate(model, index, array) : false
|
|
548
545
|
);
|
|
549
546
|
}
|
|
550
547
|
|
|
@@ -656,25 +653,25 @@ export class CollectionBrowserDataSource
|
|
|
656
653
|
builder.addFilter(
|
|
657
654
|
'year',
|
|
658
655
|
this.host.minSelectedDate,
|
|
659
|
-
FilterConstraint.GREATER_OR_EQUAL
|
|
656
|
+
FilterConstraint.GREATER_OR_EQUAL
|
|
660
657
|
);
|
|
661
658
|
}
|
|
662
659
|
if (this.host.maxSelectedDate) {
|
|
663
660
|
builder.addFilter(
|
|
664
661
|
'year',
|
|
665
662
|
this.host.maxSelectedDate,
|
|
666
|
-
FilterConstraint.LESS_OR_EQUAL
|
|
663
|
+
FilterConstraint.LESS_OR_EQUAL
|
|
667
664
|
);
|
|
668
665
|
}
|
|
669
666
|
|
|
670
667
|
// Add any selected facets
|
|
671
668
|
if (this.host.selectedFacets) {
|
|
672
669
|
for (const [facetName, facetValues] of Object.entries(
|
|
673
|
-
this.host.selectedFacets
|
|
670
|
+
this.host.selectedFacets
|
|
674
671
|
)) {
|
|
675
672
|
const { name, values } = this.prepareFacetForFetch(
|
|
676
673
|
facetName,
|
|
677
|
-
facetValues
|
|
674
|
+
facetValues
|
|
678
675
|
);
|
|
679
676
|
for (const [value, bucket] of Object.entries(values)) {
|
|
680
677
|
let constraint;
|
|
@@ -696,14 +693,14 @@ export class CollectionBrowserDataSource
|
|
|
696
693
|
builder.addFilter(
|
|
697
694
|
'firstTitle',
|
|
698
695
|
this.host.selectedTitleFilter,
|
|
699
|
-
FilterConstraint.INCLUDE
|
|
696
|
+
FilterConstraint.INCLUDE
|
|
700
697
|
);
|
|
701
698
|
}
|
|
702
699
|
if (this.host.selectedCreatorFilter) {
|
|
703
700
|
builder.addFilter(
|
|
704
701
|
'firstCreator',
|
|
705
702
|
this.host.selectedCreatorFilter,
|
|
706
|
-
FilterConstraint.INCLUDE
|
|
703
|
+
FilterConstraint.INCLUDE
|
|
707
704
|
);
|
|
708
705
|
}
|
|
709
706
|
|
|
@@ -791,7 +788,7 @@ export class CollectionBrowserDataSource
|
|
|
791
788
|
if (!this.host.selectedFacets) return undefined;
|
|
792
789
|
const facetClauses = [];
|
|
793
790
|
for (const [facetName, facetValues] of Object.entries(
|
|
794
|
-
this.host.selectedFacets
|
|
791
|
+
this.host.selectedFacets
|
|
795
792
|
)) {
|
|
796
793
|
facetClauses.push(this.buildFacetClause(facetName, facetValues));
|
|
797
794
|
}
|
|
@@ -844,11 +841,11 @@ export class CollectionBrowserDataSource
|
|
|
844
841
|
*/
|
|
845
842
|
private buildFacetClause(
|
|
846
843
|
facetName: string,
|
|
847
|
-
facetValues: Record<string, FacetBucket
|
|
844
|
+
facetValues: Record<string, FacetBucket>
|
|
848
845
|
): string {
|
|
849
846
|
const { name: facetQueryName, values } = this.prepareFacetForFetch(
|
|
850
847
|
facetName,
|
|
851
|
-
facetValues
|
|
848
|
+
facetValues
|
|
852
849
|
);
|
|
853
850
|
const facetEntries = Object.entries(values);
|
|
854
851
|
if (facetEntries.length === 0) return '';
|
|
@@ -872,7 +869,7 @@ export class CollectionBrowserDataSource
|
|
|
872
869
|
*/
|
|
873
870
|
private prepareFacetForFetch(
|
|
874
871
|
facetName: string,
|
|
875
|
-
facetValues: Record<string, FacetBucket
|
|
872
|
+
facetValues: Record<string, FacetBucket>
|
|
876
873
|
): { name: string; values: Record<string, FacetBucket> } {
|
|
877
874
|
// eslint-disable-next-line prefer-const
|
|
878
875
|
let [normalizedName, normalizedValues] = [facetName, facetValues];
|
|
@@ -894,7 +891,7 @@ export class CollectionBrowserDataSource
|
|
|
894
891
|
*/
|
|
895
892
|
private joinFacetClauses(facetClauses: string[]): string | undefined {
|
|
896
893
|
const nonEmptyFacetClauses = facetClauses.filter(
|
|
897
|
-
clause => clause.length > 0
|
|
894
|
+
clause => clause.length > 0
|
|
898
895
|
);
|
|
899
896
|
return nonEmptyFacetClauses.length > 0
|
|
900
897
|
? `(${nonEmptyFacetClauses.join(' AND ')})`
|
|
@@ -928,12 +925,12 @@ export class CollectionBrowserDataSource
|
|
|
928
925
|
};
|
|
929
926
|
params.uid = await this.requestUID(
|
|
930
927
|
{ ...params, sort: sortParams },
|
|
931
|
-
'aggregations'
|
|
928
|
+
'aggregations'
|
|
932
929
|
);
|
|
933
930
|
|
|
934
931
|
const searchResponse = await this.host.searchService?.search(
|
|
935
932
|
params,
|
|
936
|
-
this.host.searchType
|
|
933
|
+
this.host.searchType
|
|
937
934
|
);
|
|
938
935
|
const success = searchResponse?.success;
|
|
939
936
|
|
|
@@ -950,10 +947,10 @@ export class CollectionBrowserDataSource
|
|
|
950
947
|
const detailMsg = searchResponse?.error?.details?.message;
|
|
951
948
|
|
|
952
949
|
if (!errorMsg && !detailMsg) {
|
|
953
|
-
// @ts-
|
|
950
|
+
// @ts-ignore: Property 'Sentry' does not exist on type 'Window & typeof globalThis'
|
|
954
951
|
window?.Sentry?.captureMessage?.(
|
|
955
952
|
'Missing or malformed facet response from backend',
|
|
956
|
-
'error'
|
|
953
|
+
'error'
|
|
957
954
|
);
|
|
958
955
|
}
|
|
959
956
|
|
|
@@ -1048,7 +1045,7 @@ export class CollectionBrowserDataSource
|
|
|
1048
1045
|
// log('=== FIRING PAGE REQUEST ===', params);
|
|
1049
1046
|
const searchResponse = await this.host.searchService?.search(
|
|
1050
1047
|
params,
|
|
1051
|
-
this.host.searchType
|
|
1048
|
+
this.host.searchType
|
|
1052
1049
|
);
|
|
1053
1050
|
// log('=== RECEIVED PAGE RESPONSE IN CB ===', searchResponse);
|
|
1054
1051
|
const success = searchResponse?.success;
|
|
@@ -1070,7 +1067,7 @@ export class CollectionBrowserDataSource
|
|
|
1070
1067
|
|
|
1071
1068
|
if (!this.queryErrorMessage) {
|
|
1072
1069
|
this.queryErrorMessage = 'Missing or malformed response from backend';
|
|
1073
|
-
// @ts-
|
|
1070
|
+
// @ts-ignore: Property 'Sentry' does not exist on type 'Window & typeof globalThis'
|
|
1074
1071
|
window?.Sentry?.captureMessage?.(this.queryErrorMessage, 'error');
|
|
1075
1072
|
}
|
|
1076
1073
|
|
|
@@ -1097,7 +1094,7 @@ export class CollectionBrowserDataSource
|
|
|
1097
1094
|
|
|
1098
1095
|
if (this.collectionExtraInfo) {
|
|
1099
1096
|
this.parentCollections = [].concat(
|
|
1100
|
-
this.collectionExtraInfo.public_metadata?.collection ?? []
|
|
1097
|
+
this.collectionExtraInfo.public_metadata?.collection ?? []
|
|
1101
1098
|
);
|
|
1102
1099
|
}
|
|
1103
1100
|
} else if (this.host.withinProfile) {
|
|
@@ -1118,7 +1115,7 @@ export class CollectionBrowserDataSource
|
|
|
1118
1115
|
// Update the data source for each returned page.
|
|
1119
1116
|
// For loans and web archives, we must account for receiving more pages than we asked for.
|
|
1120
1117
|
const isUnpagedElement = ['lending', 'web_archives'].includes(
|
|
1121
|
-
this.host.profileElement
|
|
1118
|
+
this.host.profileElement!
|
|
1122
1119
|
);
|
|
1123
1120
|
if (isUnpagedElement) {
|
|
1124
1121
|
numPages = Math.ceil(results.length / this.pageSize);
|
|
@@ -1131,7 +1128,7 @@ export class CollectionBrowserDataSource
|
|
|
1131
1128
|
this.addFetchedResultsToDataSource(
|
|
1132
1129
|
pageNumber + i,
|
|
1133
1130
|
results.slice(pageStartIndex, pageStartIndex + this.pageSize),
|
|
1134
|
-
!isUnpagedElement || i === numPages - 1
|
|
1131
|
+
!isUnpagedElement || i === numPages - 1
|
|
1135
1132
|
);
|
|
1136
1133
|
}
|
|
1137
1134
|
}
|
|
@@ -1157,7 +1154,7 @@ export class CollectionBrowserDataSource
|
|
|
1157
1154
|
private addFetchedResultsToDataSource(
|
|
1158
1155
|
pageNumber: number,
|
|
1159
1156
|
results: SearchResult[],
|
|
1160
|
-
needsReload = true
|
|
1157
|
+
needsReload = true
|
|
1161
1158
|
): void {
|
|
1162
1159
|
const tiles: TileModel[] = [];
|
|
1163
1160
|
results?.forEach(result => {
|
|
@@ -1176,7 +1173,7 @@ export class CollectionBrowserDataSource
|
|
|
1176
1173
|
* Fetches the aggregation buckets for the given prefix filter type.
|
|
1177
1174
|
*/
|
|
1178
1175
|
private async fetchPrefixFilterBuckets(
|
|
1179
|
-
filterType: PrefixFilterType
|
|
1176
|
+
filterType: PrefixFilterType
|
|
1180
1177
|
): Promise<Bucket[]> {
|
|
1181
1178
|
const trimmedQuery = this.host.baseQuery?.trim();
|
|
1182
1179
|
if (!this.canPerformSearch) return [];
|
|
@@ -1196,12 +1193,12 @@ export class CollectionBrowserDataSource
|
|
|
1196
1193
|
};
|
|
1197
1194
|
params.uid = await this.requestUID(
|
|
1198
1195
|
{ ...params, sort: sortParams },
|
|
1199
|
-
'aggregations'
|
|
1196
|
+
'aggregations'
|
|
1200
1197
|
);
|
|
1201
1198
|
|
|
1202
1199
|
const searchResponse = await this.host.searchService?.search(
|
|
1203
1200
|
params,
|
|
1204
|
-
this.host.searchType
|
|
1201
|
+
this.host.searchType
|
|
1205
1202
|
);
|
|
1206
1203
|
|
|
1207
1204
|
return (searchResponse?.success?.response?.aggregations?.[
|
|
@@ -1229,7 +1226,7 @@ export class CollectionBrowserDataSource
|
|
|
1229
1226
|
acc[(bucket.key as string).toUpperCase()] = bucket.doc_count;
|
|
1230
1227
|
return acc;
|
|
1231
1228
|
},
|
|
1232
|
-
{}
|
|
1229
|
+
{}
|
|
1233
1230
|
);
|
|
1234
1231
|
|
|
1235
1232
|
this.requestHostUpdate();
|
package/src/empty-placeholder.ts
CHANGED
|
@@ -23,38 +23,35 @@ export type PlaceholderType =
|
|
|
23
23
|
@customElement('empty-placeholder')
|
|
24
24
|
export class EmptyPlaceholder extends LitElement {
|
|
25
25
|
private static readonly MESSAGE_EMPTY_QUERY = msg(
|
|
26
|
-
'To begin searching, enter a search term in the box above and hit "Go".'
|
|
26
|
+
'To begin searching, enter a search term in the box above and hit "Go".'
|
|
27
27
|
);
|
|
28
28
|
|
|
29
29
|
private static readonly MESSAGE_NO_SEARCH_RESULTS = msg(
|
|
30
30
|
'Your search did not match any items in the Archive. ' +
|
|
31
|
-
'Try different keywords or a more general search.'
|
|
31
|
+
'Try different keywords or a more general search.'
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
private static readonly MESSAGE_NO_COLLECTION_RESULTS = msg(
|
|
35
35
|
'Your search did not match any items in this collection. ' +
|
|
36
|
-
'Try different keywords or a more general search.'
|
|
36
|
+
'Try different keywords or a more general search.'
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
private static readonly MESSAGE_NO_VIEWABLE_MEMBERS = msg(
|
|
40
|
-
'This collection contains no viewable items.'
|
|
40
|
+
'This collection contains no viewable items.'
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
private static readonly MESSAGE_QUERY_ERROR = msg(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
If the problem persists, please let us know at
|
|
56
|
-
<a href="mailto:info@archive.org">info@archive.org</a>.`,
|
|
57
|
-
);
|
|
43
|
+
private static readonly MESSAGE_QUERY_ERROR = msg(html`The search engine
|
|
44
|
+
encountered an error, which might be related to your search query.
|
|
45
|
+
<a
|
|
46
|
+
href="https://help.archive.org/help/search-building-powerful-complex-queries/"
|
|
47
|
+
>
|
|
48
|
+
Tips for constructing search queries.
|
|
49
|
+
</a> `);
|
|
50
|
+
|
|
51
|
+
private static readonly MESSAGE_COLLECTION_ERROR = msg(html`The search engine
|
|
52
|
+
encountered an error while loading this collection. If the problem persists,
|
|
53
|
+
please let us know at
|
|
54
|
+
<a href="mailto:info@archive.org">info@archive.org</a>.`);
|
|
58
55
|
|
|
59
56
|
private static readonly QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
|
|
60
57
|
|
|
@@ -50,7 +50,7 @@ export class LanguageCodeHandler implements LanguageCodeHandlerInterface {
|
|
|
50
50
|
/** @inheritdoc */
|
|
51
51
|
getCodeStringFromLanguageName(languageName: string): string {
|
|
52
52
|
const languageCodes = Object.keys(codeToLanguageMap).filter(
|
|
53
|
-
code => codeToLanguageMap[code] === languageName
|
|
53
|
+
code => codeToLanguageMap[code] === languageName
|
|
54
54
|
);
|
|
55
55
|
const stringifiedCodes = languageCodes?.join(this.delimeter);
|
|
56
56
|
return stringifiedCodes;
|
package/src/manage/manage-bar.ts
CHANGED
|
@@ -66,23 +66,21 @@ export class ManageBar extends LitElement {
|
|
|
66
66
|
<div class="selection-buttons">
|
|
67
67
|
${when(
|
|
68
68
|
this.showSelectAll,
|
|
69
|
-
() =>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
</button>`,
|
|
69
|
+
() => html` <button
|
|
70
|
+
class="ia-button link select-all-btn"
|
|
71
|
+
@click=${this.selectAllClicked}
|
|
72
|
+
>
|
|
73
|
+
${msg('Select all')}
|
|
74
|
+
</button>`
|
|
76
75
|
)}
|
|
77
76
|
${when(
|
|
78
77
|
this.showUnselectAll,
|
|
79
|
-
() =>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
</button>`,
|
|
78
|
+
() => html` <button
|
|
79
|
+
class="ia-button link unselect-all-btn"
|
|
80
|
+
@click=${this.unselectAllClicked}
|
|
81
|
+
>
|
|
82
|
+
${msg('Unselect all')}
|
|
83
|
+
</button>`
|
|
86
84
|
)}
|
|
87
85
|
</div>
|
|
88
86
|
</div>
|
|
@@ -13,7 +13,6 @@ import { videoIcon } from '../assets/img/icons/mediatype/video';
|
|
|
13
13
|
import { webIcon } from '../assets/img/icons/mediatype/web';
|
|
14
14
|
import { searchIcon } from '../assets/img/icons/mediatype/search';
|
|
15
15
|
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
16
|
export const mediatypeConfig: { [key: string]: any } = {
|
|
18
17
|
account: {
|
|
19
18
|
color: '#000000',
|
package/src/models.ts
CHANGED
|
@@ -125,7 +125,7 @@ export class TileModel {
|
|
|
125
125
|
this.description = result.description?.values.join('\n');
|
|
126
126
|
this.favCount = result.num_favorites?.value ?? 0;
|
|
127
127
|
this.href = collapseRepeatedQuotes(
|
|
128
|
-
result.review?.__href__ ?? result.__href__?.value
|
|
128
|
+
result.review?.__href__ ?? result.__href__?.value
|
|
129
129
|
);
|
|
130
130
|
this.identifier = TileModel.cleanIdentifier(result.identifier);
|
|
131
131
|
this.issue = result.issue?.value;
|
|
@@ -212,7 +212,7 @@ export class TileModel {
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
private static cleanIdentifier(
|
|
215
|
-
identifier: string | undefined
|
|
215
|
+
identifier: string | undefined
|
|
216
216
|
): string | undefined {
|
|
217
217
|
// Some identifiers (e.g., from Whisper) represent documents rather than items, and
|
|
218
218
|
// are suffixed with values that need to be stripped. Those values are separated
|
|
@@ -463,7 +463,7 @@ export const SORT_OPTIONS: Record<SortField, SortOption> = {
|
|
|
463
463
|
export function sortOptionFromAPIString(sortName?: string | null): SortOption {
|
|
464
464
|
return (
|
|
465
465
|
Object.values(SORT_OPTIONS).find(opt =>
|
|
466
|
-
opt.urlNames.some(name => sortName === name)
|
|
466
|
+
opt.urlNames.some(name => sortName === name)
|
|
467
467
|
) ?? SORT_OPTIONS[SortField.unrecognized]
|
|
468
468
|
);
|
|
469
469
|
}
|