@internetarchive/collection-browser 2.7.5-alpha.4 → 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 -1013
- 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 +8 -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();
|
|
@@ -382,28 +369,26 @@ export class CollectionBrowserDataSource
|
|
|
382
369
|
* @inheritdoc
|
|
383
370
|
*/
|
|
384
371
|
async handleQueryChange(): Promise<void> {
|
|
385
|
-
console.log('handling query change');
|
|
386
|
-
console.log(`suppressFetches: ${this.suppressFetches}`);
|
|
387
372
|
// Don't react to the change if fetches are suppressed for this data source
|
|
388
373
|
if (this.suppressFetches) return;
|
|
389
374
|
|
|
390
375
|
this.reset();
|
|
391
376
|
|
|
392
377
|
// Reset the `initialSearchComplete` promise with a new value for the imminent search
|
|
378
|
+
let initialSearchCompleteResolver: (value: boolean) => void;
|
|
393
379
|
this._initialSearchCompletePromise = new Promise(res => {
|
|
394
|
-
|
|
380
|
+
initialSearchCompleteResolver = res;
|
|
395
381
|
});
|
|
396
382
|
|
|
397
383
|
// Fire the initial page & facet requests
|
|
398
384
|
this.queryInitialized = true;
|
|
399
|
-
console.log('firing requests...');
|
|
400
385
|
await Promise.all([
|
|
401
386
|
this.doInitialPageFetch(),
|
|
402
387
|
this.canFetchFacets ? this.fetchFacets() : null,
|
|
403
388
|
]);
|
|
404
389
|
|
|
405
390
|
// Resolve the `initialSearchComplete` promise for this search
|
|
406
|
-
|
|
391
|
+
initialSearchCompleteResolver!(true);
|
|
407
392
|
}
|
|
408
393
|
|
|
409
394
|
/**
|
|
@@ -424,15 +409,11 @@ export class CollectionBrowserDataSource
|
|
|
424
409
|
* (i.e., they aren't suppressed or already loading, etc.)
|
|
425
410
|
*/
|
|
426
411
|
private get canFetchFacets(): boolean {
|
|
427
|
-
console.log('in canFetchFacets');
|
|
428
|
-
console.log(`facetLoadStrategy is ${this.host.facetLoadStrategy}`);
|
|
429
|
-
console.log(`profileElement is ${this.host.profileElement}`);
|
|
430
412
|
// Don't fetch facets if they are suppressed entirely or not required for the current profile page element
|
|
431
413
|
if (this.host.facetLoadStrategy === 'off') return false;
|
|
432
414
|
if (FACETLESS_PAGE_ELEMENTS.includes(this.host.profileElement!))
|
|
433
415
|
return false;
|
|
434
416
|
|
|
435
|
-
console.log(`facetsReadyToLoad: ${this.facetsReadyToLoad}`);
|
|
436
417
|
// If facets are to be lazy-loaded, don't fetch them if they are not going to be visible anyway
|
|
437
418
|
// (wait until they become visible instead)
|
|
438
419
|
if (this.host.facetLoadStrategy !== 'eager' && !this.facetsReadyToLoad)
|
|
@@ -441,11 +422,8 @@ export class CollectionBrowserDataSource
|
|
|
441
422
|
// Don't fetch facets again if they are already fetched or pending
|
|
442
423
|
const facetsAlreadyFetched =
|
|
443
424
|
Object.keys(this.aggregations ?? {}).length > 0;
|
|
444
|
-
console.log(`facetsAlreadyFetched: ${facetsAlreadyFetched}`);
|
|
445
|
-
console.log(`facetsLoading: ${this.facetsLoading}`);
|
|
446
425
|
if (this.facetsLoading || facetsAlreadyFetched) return false;
|
|
447
426
|
|
|
448
|
-
console.log('canFetchFacets = true');
|
|
449
427
|
return true;
|
|
450
428
|
}
|
|
451
429
|
|
|
@@ -571,8 +549,6 @@ export class CollectionBrowserDataSource
|
|
|
571
549
|
* @inheritdoc
|
|
572
550
|
*/
|
|
573
551
|
get canPerformSearch(): boolean {
|
|
574
|
-
console.log('in canPerformSearch');
|
|
575
|
-
console.log(`has search service: ${!!this.host.searchService}`);
|
|
576
552
|
if (!this.host.searchService) return false;
|
|
577
553
|
|
|
578
554
|
const trimmedQuery = this.host.baseQuery?.trim();
|
|
@@ -581,12 +557,6 @@ export class CollectionBrowserDataSource
|
|
|
581
557
|
const isProfileSearch = !!this.host.withinProfile;
|
|
582
558
|
const hasProfileElement = !!this.host.profileElement;
|
|
583
559
|
const isMetadataSearch = this.host.searchType === SearchType.METADATA;
|
|
584
|
-
console.log(`hasNonEmptyQuery: ${hasNonEmptyQuery}
|
|
585
|
-
isCollectionSearch: ${isCollectionSearch}
|
|
586
|
-
isProfileSearch: ${isProfileSearch}
|
|
587
|
-
isMetadataSearch: ${isMetadataSearch}
|
|
588
|
-
hasProfileElement: ${hasProfileElement}`
|
|
589
|
-
);
|
|
590
560
|
|
|
591
561
|
// Metadata searches within a collection/profile are allowed to have no query.
|
|
592
562
|
// Otherwise, a non-empty query must be set.
|
|
@@ -602,7 +572,6 @@ export class CollectionBrowserDataSource
|
|
|
602
572
|
* current query is loading
|
|
603
573
|
*/
|
|
604
574
|
private setSearchResultsLoading(loading: boolean): void {
|
|
605
|
-
console.log(`setSearchResultsLoading: ${loading} (active on host: ${this.activeOnHost})`);
|
|
606
575
|
this.searchResultsLoading = loading;
|
|
607
576
|
if (this.activeOnHost) {
|
|
608
577
|
this.host.setSearchResultsLoading(loading);
|
|
@@ -613,7 +582,6 @@ export class CollectionBrowserDataSource
|
|
|
613
582
|
* Sets the state for whether the facets for a query is loading
|
|
614
583
|
*/
|
|
615
584
|
private setFacetsLoading(loading: boolean): void {
|
|
616
|
-
console.log(`setFacetsLoading: ${loading} (active on host: ${this.activeOnHost})`);
|
|
617
585
|
this.facetsLoading = loading;
|
|
618
586
|
if (this.activeOnHost) {
|
|
619
587
|
this.host.setFacetsLoading(loading);
|
|
@@ -935,14 +903,10 @@ export class CollectionBrowserDataSource
|
|
|
935
903
|
* the current search state.
|
|
936
904
|
*/
|
|
937
905
|
private async fetchFacets(): Promise<void> {
|
|
938
|
-
console.log('in fetchFacets');
|
|
939
|
-
console.log(`can perform search? ${this.canPerformSearch}`);
|
|
940
906
|
const trimmedQuery = this.host.baseQuery?.trim();
|
|
941
907
|
if (!this.canPerformSearch) return;
|
|
942
908
|
|
|
943
909
|
const { facetFetchQueryKey } = this;
|
|
944
|
-
console.log(`facetFetchQueryKey: ${facetFetchQueryKey}`);
|
|
945
|
-
console.log(`fetch in progress? ${this.fetchesInProgress.has(facetFetchQueryKey)}`);
|
|
946
910
|
if (this.fetchesInProgress.has(facetFetchQueryKey)) return;
|
|
947
911
|
this.fetchesInProgress.add(facetFetchQueryKey);
|
|
948
912
|
|
|
@@ -964,7 +928,6 @@ export class CollectionBrowserDataSource
|
|
|
964
928
|
'aggregations'
|
|
965
929
|
);
|
|
966
930
|
|
|
967
|
-
console.log('sending facet request');
|
|
968
931
|
const searchResponse = await this.host.searchService?.search(
|
|
969
932
|
params,
|
|
970
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
|
+
});
|