@internetarchive/collection-browser 2.7.5-alpha.3 → 2.7.5-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +29 -29
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +13 -13
- package/dist/src/app-root.d.ts +99 -95
- package/dist/src/app-root.js +514 -494
- 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/collection-browser.d.ts +582 -578
- package/dist/src/collection-browser.js +1629 -1614
- 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-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +44 -44
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +407 -407
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/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/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/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/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 -240
- 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-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-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/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +522 -522
- 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.d.ts +373 -378
- package/dist/src/data-source/collection-browser-data-source.js +982 -1012
- 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 +79 -79
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +35 -30
- package/dist/src/manage/manage-bar.js +86 -82
- 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 -91
- 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 -363
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
- package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +51 -19
- package/dist/src/styles/ia-button.js.map +1 -1
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +64 -64
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +158 -158
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +53 -53
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
- package/dist/src/tiles/list/tile-list-compact.js +122 -122
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +323 -323
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/icon-overlay.js +25 -25
- 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/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- 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/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/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +25 -25
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/log.d.ts +7 -7
- package/dist/src/utils/log.js +15 -15
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- 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 +1294 -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 -227
- 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/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +141 -141
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +690 -690
- 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/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +63 -63
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +95 -95
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +107 -107
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +85 -85
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +91 -81
- 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-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +44 -44
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +38 -38
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +81 -81
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +312 -312
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +51 -51
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- 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/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +297 -297
- 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-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/app-root.ts +23 -0
- package/src/collection-browser.ts +18 -0
- package/src/data-source/collection-browser-data-source.ts +9 -45
- package/src/manage/manage-bar.ts +28 -21
- package/src/models.ts +2 -2
- package/src/styles/ia-button.ts +37 -5
- package/test/collection-browser.test.ts +1 -1
- package/test/manage/manage-bar.test.ts +12 -0
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -149,18 +149,11 @@ export class CollectionBrowserDataSource
|
|
|
149
149
|
*/
|
|
150
150
|
queryErrorMessage?: string;
|
|
151
151
|
|
|
152
|
-
/**
|
|
153
|
-
* Internal property to store the `resolve` function for the most recent
|
|
154
|
-
* `initialSearchComplete` promise, allowing us to resolve it at the appropriate time.
|
|
155
|
-
*/
|
|
156
|
-
private _initialSearchCompleteResolver!: (val: boolean) => void;
|
|
157
|
-
|
|
158
152
|
/**
|
|
159
153
|
* Internal property to store the private value backing the `initialSearchComplete` getter.
|
|
160
154
|
*/
|
|
161
|
-
private _initialSearchCompletePromise: Promise<boolean> =
|
|
162
|
-
|
|
163
|
-
});
|
|
155
|
+
private _initialSearchCompletePromise: Promise<boolean> =
|
|
156
|
+
Promise.resolve(true);
|
|
164
157
|
|
|
165
158
|
/**
|
|
166
159
|
* @inheritdoc
|
|
@@ -186,8 +179,6 @@ export class CollectionBrowserDataSource
|
|
|
186
179
|
}
|
|
187
180
|
|
|
188
181
|
hostUpdate(): void {
|
|
189
|
-
console.log('host updated');
|
|
190
|
-
console.log(`active on host? ${this.activeOnHost}`);
|
|
191
182
|
// This reactive controller hook is run whenever the host component (collection-browser) performs an update.
|
|
192
183
|
// We check whether the host's state has changed in a way which should trigger a reset & new results fetch.
|
|
193
184
|
|
|
@@ -198,22 +189,18 @@ export class CollectionBrowserDataSource
|
|
|
198
189
|
this.setSearchResultsLoading(this.searchResultsLoading);
|
|
199
190
|
this.setFacetsLoading(this.facetsLoading);
|
|
200
191
|
|
|
201
|
-
console.log(`has search service? ${!!this.host.searchService}`);
|
|
202
192
|
// Can't perform searches without a search service
|
|
203
193
|
if (!this.host.searchService) return;
|
|
204
194
|
|
|
205
195
|
// We should only reset if part of the full query state has changed
|
|
206
196
|
const queryKeyChanged = this.pageFetchQueryKey !== this.previousQueryKey;
|
|
207
|
-
console.log(`query key changed? ${queryKeyChanged}`);
|
|
208
197
|
if (!queryKeyChanged) return;
|
|
209
198
|
|
|
210
199
|
// We should only reset if either:
|
|
211
200
|
// (a) our state permits a valid search, or
|
|
212
|
-
// (b) we have a blank query that we
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
console.log(`emptyQuery: ${emptyQuery}`);
|
|
216
|
-
if (!(this.canPerformSearch || emptyQuery)) return;
|
|
201
|
+
// (b) we have a blank query that we're showing a placeholder/message for
|
|
202
|
+
const queryIsEmpty = !this.host.baseQuery;
|
|
203
|
+
if (!(this.canPerformSearch || queryIsEmpty)) return;
|
|
217
204
|
|
|
218
205
|
if (this.activeOnHost) this.host.emitQueryStateChanged();
|
|
219
206
|
this.handleQueryChange();
|
|
@@ -243,6 +230,7 @@ export class CollectionBrowserDataSource
|
|
|
243
230
|
this.yearHistogramAggregation = undefined;
|
|
244
231
|
this.pageElements = undefined;
|
|
245
232
|
this.parentCollections = [];
|
|
233
|
+
this.previousQueryKey = '';
|
|
246
234
|
this.queryErrorMessage = undefined;
|
|
247
235
|
|
|
248
236
|
this.offset = 0;
|
|
@@ -381,28 +369,26 @@ export class CollectionBrowserDataSource
|
|
|
381
369
|
* @inheritdoc
|
|
382
370
|
*/
|
|
383
371
|
async handleQueryChange(): Promise<void> {
|
|
384
|
-
console.log('handling query change');
|
|
385
|
-
console.log(`suppressFetches: ${this.suppressFetches}`);
|
|
386
372
|
// Don't react to the change if fetches are suppressed for this data source
|
|
387
373
|
if (this.suppressFetches) return;
|
|
388
374
|
|
|
389
375
|
this.reset();
|
|
390
376
|
|
|
391
377
|
// Reset the `initialSearchComplete` promise with a new value for the imminent search
|
|
378
|
+
let initialSearchCompleteResolver: (value: boolean) => void;
|
|
392
379
|
this._initialSearchCompletePromise = new Promise(res => {
|
|
393
|
-
|
|
380
|
+
initialSearchCompleteResolver = res;
|
|
394
381
|
});
|
|
395
382
|
|
|
396
383
|
// Fire the initial page & facet requests
|
|
397
384
|
this.queryInitialized = true;
|
|
398
|
-
console.log('firing requests...');
|
|
399
385
|
await Promise.all([
|
|
400
386
|
this.doInitialPageFetch(),
|
|
401
387
|
this.canFetchFacets ? this.fetchFacets() : null,
|
|
402
388
|
]);
|
|
403
389
|
|
|
404
390
|
// Resolve the `initialSearchComplete` promise for this search
|
|
405
|
-
|
|
391
|
+
initialSearchCompleteResolver!(true);
|
|
406
392
|
}
|
|
407
393
|
|
|
408
394
|
/**
|
|
@@ -423,15 +409,11 @@ export class CollectionBrowserDataSource
|
|
|
423
409
|
* (i.e., they aren't suppressed or already loading, etc.)
|
|
424
410
|
*/
|
|
425
411
|
private get canFetchFacets(): boolean {
|
|
426
|
-
console.log('in canFetchFacets');
|
|
427
|
-
console.log(`facetLoadStrategy is ${this.host.facetLoadStrategy}`);
|
|
428
|
-
console.log(`profileElement is ${this.host.profileElement}`);
|
|
429
412
|
// Don't fetch facets if they are suppressed entirely or not required for the current profile page element
|
|
430
413
|
if (this.host.facetLoadStrategy === 'off') return false;
|
|
431
414
|
if (FACETLESS_PAGE_ELEMENTS.includes(this.host.profileElement!))
|
|
432
415
|
return false;
|
|
433
416
|
|
|
434
|
-
console.log(`facetsReadyToLoad: ${this.facetsReadyToLoad}`);
|
|
435
417
|
// If facets are to be lazy-loaded, don't fetch them if they are not going to be visible anyway
|
|
436
418
|
// (wait until they become visible instead)
|
|
437
419
|
if (this.host.facetLoadStrategy !== 'eager' && !this.facetsReadyToLoad)
|
|
@@ -440,11 +422,8 @@ export class CollectionBrowserDataSource
|
|
|
440
422
|
// Don't fetch facets again if they are already fetched or pending
|
|
441
423
|
const facetsAlreadyFetched =
|
|
442
424
|
Object.keys(this.aggregations ?? {}).length > 0;
|
|
443
|
-
console.log(`facetsAlreadyFetched: ${facetsAlreadyFetched}`);
|
|
444
|
-
console.log(`facetsLoading: ${this.facetsLoading}`);
|
|
445
425
|
if (this.facetsLoading || facetsAlreadyFetched) return false;
|
|
446
426
|
|
|
447
|
-
console.log('canFetchFacets = true');
|
|
448
427
|
return true;
|
|
449
428
|
}
|
|
450
429
|
|
|
@@ -570,8 +549,6 @@ export class CollectionBrowserDataSource
|
|
|
570
549
|
* @inheritdoc
|
|
571
550
|
*/
|
|
572
551
|
get canPerformSearch(): boolean {
|
|
573
|
-
console.log('in canPerformSearch');
|
|
574
|
-
console.log(`has search service: ${!!this.host.searchService}`);
|
|
575
552
|
if (!this.host.searchService) return false;
|
|
576
553
|
|
|
577
554
|
const trimmedQuery = this.host.baseQuery?.trim();
|
|
@@ -580,12 +557,6 @@ export class CollectionBrowserDataSource
|
|
|
580
557
|
const isProfileSearch = !!this.host.withinProfile;
|
|
581
558
|
const hasProfileElement = !!this.host.profileElement;
|
|
582
559
|
const isMetadataSearch = this.host.searchType === SearchType.METADATA;
|
|
583
|
-
console.log(`hasNonEmptyQuery: ${hasNonEmptyQuery}
|
|
584
|
-
isCollectionSearch: ${isCollectionSearch}
|
|
585
|
-
isProfileSearch: ${isProfileSearch}
|
|
586
|
-
isMetadataSearch: ${isMetadataSearch}
|
|
587
|
-
hasProfileElement: ${hasProfileElement}`
|
|
588
|
-
);
|
|
589
560
|
|
|
590
561
|
// Metadata searches within a collection/profile are allowed to have no query.
|
|
591
562
|
// Otherwise, a non-empty query must be set.
|
|
@@ -601,7 +572,6 @@ export class CollectionBrowserDataSource
|
|
|
601
572
|
* current query is loading
|
|
602
573
|
*/
|
|
603
574
|
private setSearchResultsLoading(loading: boolean): void {
|
|
604
|
-
console.log(`setSearchResultsLoading: ${loading} (active on host: ${this.activeOnHost})`);
|
|
605
575
|
this.searchResultsLoading = loading;
|
|
606
576
|
if (this.activeOnHost) {
|
|
607
577
|
this.host.setSearchResultsLoading(loading);
|
|
@@ -612,7 +582,6 @@ export class CollectionBrowserDataSource
|
|
|
612
582
|
* Sets the state for whether the facets for a query is loading
|
|
613
583
|
*/
|
|
614
584
|
private setFacetsLoading(loading: boolean): void {
|
|
615
|
-
console.log(`setFacetsLoading: ${loading} (active on host: ${this.activeOnHost})`);
|
|
616
585
|
this.facetsLoading = loading;
|
|
617
586
|
if (this.activeOnHost) {
|
|
618
587
|
this.host.setFacetsLoading(loading);
|
|
@@ -934,14 +903,10 @@ export class CollectionBrowserDataSource
|
|
|
934
903
|
* the current search state.
|
|
935
904
|
*/
|
|
936
905
|
private async fetchFacets(): Promise<void> {
|
|
937
|
-
console.log('in fetchFacets');
|
|
938
|
-
console.log(`can perform search? ${this.canPerformSearch}`);
|
|
939
906
|
const trimmedQuery = this.host.baseQuery?.trim();
|
|
940
907
|
if (!this.canPerformSearch) return;
|
|
941
908
|
|
|
942
909
|
const { facetFetchQueryKey } = this;
|
|
943
|
-
console.log(`facetFetchQueryKey: ${facetFetchQueryKey}`);
|
|
944
|
-
console.log(`fetch in progress? ${this.fetchesInProgress.has(facetFetchQueryKey)}`);
|
|
945
910
|
if (this.fetchesInProgress.has(facetFetchQueryKey)) return;
|
|
946
911
|
this.fetchesInProgress.add(facetFetchQueryKey);
|
|
947
912
|
|
|
@@ -963,7 +928,6 @@ export class CollectionBrowserDataSource
|
|
|
963
928
|
'aggregations'
|
|
964
929
|
);
|
|
965
930
|
|
|
966
|
-
console.log('sending facet request');
|
|
967
931
|
const searchResponse = await this.host.searchService?.search(
|
|
968
932
|
params,
|
|
969
933
|
this.host.searchType
|
package/src/manage/manage-bar.ts
CHANGED
|
@@ -17,6 +17,11 @@ export class ManageBar extends LitElement {
|
|
|
17
17
|
*/
|
|
18
18
|
@property({ type: String }) label = msg('Select items to remove');
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Specifies the context in which the collection browser is being used
|
|
22
|
+
*/
|
|
23
|
+
@property({ type: String }) pageContext?: string;
|
|
24
|
+
|
|
20
25
|
/**
|
|
21
26
|
* Whether to show the "Select All" button (default false)
|
|
22
27
|
*/
|
|
@@ -47,11 +52,22 @@ export class ManageBar extends LitElement {
|
|
|
47
52
|
>
|
|
48
53
|
${msg('Remove selected items')}
|
|
49
54
|
</button>
|
|
55
|
+
${this.pageContext === 'search'
|
|
56
|
+
? html`
|
|
57
|
+
<button
|
|
58
|
+
class="ia-button warning"
|
|
59
|
+
?disabled=${!this.removeAllowed}
|
|
60
|
+
@click=${this.itemsManagerClicked}
|
|
61
|
+
>
|
|
62
|
+
${msg('Item Manager the items')}
|
|
63
|
+
</button>
|
|
64
|
+
`
|
|
65
|
+
: ''}
|
|
50
66
|
<div class="selection-buttons">
|
|
51
67
|
${when(
|
|
52
68
|
this.showSelectAll,
|
|
53
69
|
() => html` <button
|
|
54
|
-
class="
|
|
70
|
+
class="ia-button link select-all-btn"
|
|
55
71
|
@click=${this.selectAllClicked}
|
|
56
72
|
>
|
|
57
73
|
${msg('Select all')}
|
|
@@ -60,7 +76,7 @@ export class ManageBar extends LitElement {
|
|
|
60
76
|
${when(
|
|
61
77
|
this.showUnselectAll,
|
|
62
78
|
() => html` <button
|
|
63
|
-
class="
|
|
79
|
+
class="ia-button link unselect-all-btn"
|
|
64
80
|
@click=${this.unselectAllClicked}
|
|
65
81
|
>
|
|
66
82
|
${msg('Unselect all')}
|
|
@@ -80,6 +96,10 @@ export class ManageBar extends LitElement {
|
|
|
80
96
|
this.dispatchEvent(new CustomEvent('removeItems'));
|
|
81
97
|
}
|
|
82
98
|
|
|
99
|
+
private itemsManagerClicked(): void {
|
|
100
|
+
this.dispatchEvent(new CustomEvent('itemsManager'));
|
|
101
|
+
}
|
|
102
|
+
|
|
83
103
|
private selectAllClicked(): void {
|
|
84
104
|
this.dispatchEvent(new CustomEvent('selectAll'));
|
|
85
105
|
}
|
|
@@ -108,33 +128,20 @@ export class ManageBar extends LitElement {
|
|
|
108
128
|
|
|
109
129
|
.manage-buttons {
|
|
110
130
|
display: flex;
|
|
131
|
+
flex-wrap: wrap;
|
|
111
132
|
align-items: center;
|
|
112
133
|
column-gap: 5px;
|
|
113
134
|
}
|
|
114
135
|
|
|
136
|
+
.selection-buttons {
|
|
137
|
+
display: inherit;
|
|
138
|
+
}
|
|
139
|
+
|
|
115
140
|
.ia-button,
|
|
116
141
|
button {
|
|
117
142
|
padding: 6px 12px;
|
|
118
143
|
font-size: 1.4rem;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
.ia-button.danger:disabled {
|
|
122
|
-
opacity: 0.5;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
button.link-styled {
|
|
126
|
-
margin: 0;
|
|
127
|
-
padding: 6px;
|
|
128
|
-
border: 0;
|
|
129
|
-
appearance: none;
|
|
130
|
-
background: none;
|
|
131
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
132
|
-
font: inherit;
|
|
133
|
-
text-decoration: none;
|
|
134
|
-
cursor: pointer;
|
|
135
|
-
}
|
|
136
|
-
button.link-styled:hover {
|
|
137
|
-
text-decoration: underline;
|
|
144
|
+
margin: 3px 0;
|
|
138
145
|
}
|
|
139
146
|
`;
|
|
140
147
|
}
|
package/src/models.ts
CHANGED
|
@@ -236,9 +236,9 @@ export type TileDisplayMode =
|
|
|
236
236
|
/**
|
|
237
237
|
* This is mainly used to set the cookies for the collection display mode.
|
|
238
238
|
*
|
|
239
|
-
* It allows the user to set different modes for different contexts (collection page, search page, etc).
|
|
239
|
+
* It allows the user to set different modes for different contexts (collection page, search page, profile page etc).
|
|
240
240
|
*/
|
|
241
|
-
export type CollectionBrowserContext = 'collection' | 'search';
|
|
241
|
+
export type CollectionBrowserContext = 'collection' | 'search' | 'profile';
|
|
242
242
|
|
|
243
243
|
/**
|
|
244
244
|
* The sort fields shown in the sort filter bar
|
package/src/styles/ia-button.ts
CHANGED
|
@@ -16,8 +16,9 @@ const darkButtonFillColor = css`var(--secondaryCTAFill, #333)`;
|
|
|
16
16
|
const darkButtonFillColorRGB = css`var(--secondaryCTAFillRGB, 51, 51, 51)`; // RBG format of --secondaryCTAFill
|
|
17
17
|
const darkButtonBorderColor = css`var(--primaryCTABorder, #979797)`;
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
const
|
|
19
|
+
const warningButtonFillColor = css`var(---primaryWarningFill, #ee8950)`;
|
|
20
|
+
const warningButtonFillColorRGB = css`var(--primaryWarningFillRGB, 238, 137, 80)`; // RBG format of --primaryWarningFill
|
|
21
|
+
const warningButtonBorderColor = css`var(--primaryWarningBorder, #ec7939)`;
|
|
21
22
|
|
|
22
23
|
export default css`
|
|
23
24
|
.ia-button {
|
|
@@ -58,9 +59,12 @@ export default css`
|
|
|
58
59
|
.ia-button.transparent {
|
|
59
60
|
background-color: transparent;
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
|
|
63
|
+
.ia-button.primary:disabled,
|
|
64
|
+
.ia-button.danger:disabled,
|
|
65
|
+
.ia-button.warning:disabled,
|
|
66
|
+
.ia-button.dark:disabled {
|
|
67
|
+
opacity: 0.5;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
.ia-button.primary {
|
|
@@ -91,6 +95,20 @@ export default css`
|
|
|
91
95
|
background-color: rgba(${dangerButtonFillColorRGB}, 0.7);
|
|
92
96
|
}
|
|
93
97
|
|
|
98
|
+
.ia-button.warning {
|
|
99
|
+
background-color: ${warningButtonFillColor};
|
|
100
|
+
border-color: ${warningButtonBorderColor};
|
|
101
|
+
}
|
|
102
|
+
.ia-button.warning:hover {
|
|
103
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.9);
|
|
104
|
+
}
|
|
105
|
+
.ia-button.warning:focus-visible {
|
|
106
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.8);
|
|
107
|
+
}
|
|
108
|
+
.ia-button.warning:active {
|
|
109
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.7);
|
|
110
|
+
}
|
|
111
|
+
|
|
94
112
|
.ia-button.dark {
|
|
95
113
|
background-color: ${darkButtonFillColor};
|
|
96
114
|
border-color: ${darkButtonBorderColor};
|
|
@@ -104,4 +122,18 @@ export default css`
|
|
|
104
122
|
.ia-button.dark:active {
|
|
105
123
|
background-color: rgba(${darkButtonFillColorRGB}, 0.7);
|
|
106
124
|
}
|
|
125
|
+
|
|
126
|
+
.ia-button.link {
|
|
127
|
+
margin: 0;
|
|
128
|
+
padding: 6px;
|
|
129
|
+
border: 0;
|
|
130
|
+
appearance: none;
|
|
131
|
+
background: none;
|
|
132
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
133
|
+
text-decoration: none;
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
}
|
|
136
|
+
.ia-button.link:hover {
|
|
137
|
+
text-decoration: underline;
|
|
138
|
+
}
|
|
107
139
|
`;
|
|
@@ -1010,11 +1010,11 @@ describe('Collection Browser', () => {
|
|
|
1010
1010
|
const el = await fixture<CollectionBrowser>(
|
|
1011
1011
|
html`<collection-browser
|
|
1012
1012
|
.searchService=${searchService}
|
|
1013
|
+
@searchResultsLoadingChanged=${spy}
|
|
1013
1014
|
></collection-browser>`
|
|
1014
1015
|
);
|
|
1015
1016
|
|
|
1016
1017
|
el.baseQuery = 'collection:foo';
|
|
1017
|
-
el.addEventListener('searchResultsLoadingChanged', spy);
|
|
1018
1018
|
await el.updateComplete;
|
|
1019
1019
|
await el.initialSearchComplete;
|
|
1020
1020
|
|
|
@@ -31,6 +31,18 @@ describe('Manage bar', () => {
|
|
|
31
31
|
expect(el.shadowRoot?.querySelector('.unselect-all-btn')).not.to.exist;
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
it('does not render item manager button except /search/ page', async () => {
|
|
35
|
+
const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);
|
|
36
|
+
expect(el.shadowRoot?.querySelector('.ia-button.warning')).not.to.exist;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('render item manager button for /search/ page', async () => {
|
|
40
|
+
const el = await fixture<ManageBar>(
|
|
41
|
+
html`<manage-bar .pageContext=${'search'}></manage-bar>`
|
|
42
|
+
);
|
|
43
|
+
expect(el.shadowRoot?.querySelector('.ia-button.warning')).to.exist;
|
|
44
|
+
});
|
|
45
|
+
|
|
34
46
|
it('includes Select All button when requested', async () => {
|
|
35
47
|
const el = await fixture<ManageBar>(
|
|
36
48
|
html`<manage-bar showSelectAll></manage-bar>`
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
-
|
|
3
|
-
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
-
const hmr = process.argv.includes('--hmr');
|
|
5
|
-
|
|
6
|
-
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
-
nodeResolve: true,
|
|
8
|
-
open: '/',
|
|
9
|
-
watch: !hmr,
|
|
10
|
-
|
|
11
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
-
// esbuildTarget: 'auto'
|
|
13
|
-
|
|
14
|
-
/** Set appIndex to enable SPA routing */
|
|
15
|
-
// appIndex: 'demo/index.html',
|
|
16
|
-
|
|
17
|
-
/** Confgure bare import resolve plugin */
|
|
18
|
-
// nodeResolve: {
|
|
19
|
-
// exportConditions: ['browser', 'development']
|
|
20
|
-
// },
|
|
21
|
-
|
|
22
|
-
plugins: [
|
|
23
|
-
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
-
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
-
],
|
|
26
|
-
|
|
27
|
-
http2: true,
|
|
28
|
-
sslCert: './local.archive.org.cert',
|
|
29
|
-
sslKey: './local.archive.org.key',
|
|
30
|
-
});
|
|
1
|
+
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
+
|
|
3
|
+
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
+
const hmr = process.argv.includes('--hmr');
|
|
5
|
+
|
|
6
|
+
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
+
nodeResolve: true,
|
|
8
|
+
open: '/',
|
|
9
|
+
watch: !hmr,
|
|
10
|
+
|
|
11
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
+
// esbuildTarget: 'auto'
|
|
13
|
+
|
|
14
|
+
/** Set appIndex to enable SPA routing */
|
|
15
|
+
// appIndex: 'demo/index.html',
|
|
16
|
+
|
|
17
|
+
/** Confgure bare import resolve plugin */
|
|
18
|
+
// nodeResolve: {
|
|
19
|
+
// exportConditions: ['browser', 'development']
|
|
20
|
+
// },
|
|
21
|
+
|
|
22
|
+
plugins: [
|
|
23
|
+
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
+
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
+
],
|
|
26
|
+
|
|
27
|
+
http2: true,
|
|
28
|
+
sslCert: './local.archive.org.cert',
|
|
29
|
+
sslKey: './local.archive.org.key',
|
|
30
|
+
});
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
-
|
|
3
|
-
const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
|
|
4
|
-
|
|
5
|
-
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
6
|
-
/** Test files to run */
|
|
7
|
-
files: 'dist/test/**/*.test.js',
|
|
8
|
-
|
|
9
|
-
/** Resolve bare module imports */
|
|
10
|
-
nodeResolve: {
|
|
11
|
-
exportConditions: ['browser', 'development'],
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
/** Filter out lit dev mode logs */
|
|
15
|
-
filterBrowserLogs(log) {
|
|
16
|
-
for (const arg of log.args) {
|
|
17
|
-
if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
25
|
-
// esbuildTarget: 'auto',
|
|
26
|
-
|
|
27
|
-
/** Amount of browsers to run concurrently */
|
|
28
|
-
// concurrentBrowsers: 2,
|
|
29
|
-
|
|
30
|
-
/** Amount of test files per browser to test concurrently */
|
|
31
|
-
// concurrency: 1,
|
|
32
|
-
|
|
33
|
-
/** Browsers to run tests on */
|
|
34
|
-
// browsers: [
|
|
35
|
-
// playwrightLauncher({ product: 'chromium' }),
|
|
36
|
-
// playwrightLauncher({ product: 'firefox' }),
|
|
37
|
-
// playwrightLauncher({ product: 'webkit' }),
|
|
38
|
-
// ],
|
|
39
|
-
|
|
40
|
-
// See documentation for all available options
|
|
41
|
-
});
|
|
1
|
+
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
+
|
|
3
|
+
const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
|
|
4
|
+
|
|
5
|
+
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
6
|
+
/** Test files to run */
|
|
7
|
+
files: 'dist/test/**/*.test.js',
|
|
8
|
+
|
|
9
|
+
/** Resolve bare module imports */
|
|
10
|
+
nodeResolve: {
|
|
11
|
+
exportConditions: ['browser', 'development'],
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
/** Filter out lit dev mode logs */
|
|
15
|
+
filterBrowserLogs(log) {
|
|
16
|
+
for (const arg of log.args) {
|
|
17
|
+
if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
25
|
+
// esbuildTarget: 'auto',
|
|
26
|
+
|
|
27
|
+
/** Amount of browsers to run concurrently */
|
|
28
|
+
// concurrentBrowsers: 2,
|
|
29
|
+
|
|
30
|
+
/** Amount of test files per browser to test concurrently */
|
|
31
|
+
// concurrency: 1,
|
|
32
|
+
|
|
33
|
+
/** Browsers to run tests on */
|
|
34
|
+
// browsers: [
|
|
35
|
+
// playwrightLauncher({ product: 'chromium' }),
|
|
36
|
+
// playwrightLauncher({ product: 'firefox' }),
|
|
37
|
+
// playwrightLauncher({ product: 'webkit' }),
|
|
38
|
+
// ],
|
|
39
|
+
|
|
40
|
+
// See documentation for all available options
|
|
41
|
+
});
|