@internetarchive/collection-browser 2.1.4-alpha2 → 2.1.4
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 +12 -12
- package/dist/index.js +12 -12
- package/dist/src/app-root.d.ts +88 -84
- package/dist/src/app-root.js +486 -454
- 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/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 +446 -395
- package/dist/src/collection-browser.js +1407 -1362
- 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 +114 -114
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +17 -17
- package/dist/src/collection-facets/facets-template.js +114 -114
- package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
- package/dist/src/collection-facets/more-facets-content.js +354 -354
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +509 -509
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +232 -232
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +360 -360
- package/dist/src/data-source/collection-browser-data-source.js +930 -930
- 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 +74 -74
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +30 -30
- package/dist/src/manage/manage-bar.js +62 -62
- 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 +198 -198
- package/dist/src/models.js +381 -381
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +357 -357
- 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 +221 -219
- package/dist/src/sort-filter-bar/sort-filter-bar.js +695 -685
- 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 +16 -16
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +63 -63
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +30 -30
- package/dist/src/tiles/grid/item-tile.js +149 -149
- 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 +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- package/dist/src/tiles/item-image.d.ts +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 +15 -15
- package/dist/src/tiles/list/tile-list-compact.js +114 -114
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +315 -315
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- package/dist/src/tiles/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 +229 -229
- 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 +25 -25
- package/dist/src/utils/analytics-events.js +27 -27
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- 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 +1242 -1242
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +203 -203
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +105 -105
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +133 -133
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +652 -652
- 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 +48 -48
- 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 +81 -77
- 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 +24 -24
- package/dist/test/mocks/mock-search-responses.js +840 -840
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +53 -53
- 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 +428 -420
- 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 +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +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 +13 -13
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +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 +56 -23
- package/src/collection-browser.ts +60 -2
- package/src/manage/manage-bar.ts +2 -2
- package/src/sort-filter-bar/sort-filter-bar.ts +10 -1
- package/test/manage/manage-bar.test.ts +14 -7
- package/test/sort-filter-bar/sort-filter-bar.test.ts +11 -0
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -90,16 +90,34 @@ export class CollectionBrowser
|
|
|
90
90
|
|
|
91
91
|
@property({ type: Object }) searchService?: SearchServiceInterface;
|
|
92
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Which backend should be targeted by searches (e.g., metadata or FTS)
|
|
95
|
+
*/
|
|
93
96
|
@property({ type: String }) searchType: SearchType = SearchType.METADATA;
|
|
94
97
|
|
|
98
|
+
/**
|
|
99
|
+
* The identifier of the collection that searches should be performed within
|
|
100
|
+
*/
|
|
95
101
|
@property({ type: String }) withinCollection?: string;
|
|
96
102
|
|
|
103
|
+
/**
|
|
104
|
+
* The identifier (e.g., @person) of the user whose profile is being searched within
|
|
105
|
+
*/
|
|
97
106
|
@property({ type: String }) withinProfile?: string;
|
|
98
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Which section of the profile page searches are for (e.g., uploads, reviews, ...)
|
|
110
|
+
*/
|
|
99
111
|
@property({ type: String }) profileElement?: PageElementName;
|
|
100
112
|
|
|
113
|
+
/**
|
|
114
|
+
* The base query to use for all searches, updated to match the current user query.
|
|
115
|
+
*/
|
|
101
116
|
@property({ type: String }) baseQuery?: string;
|
|
102
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Which mode to display result tiles in (grid, extended list, or compact list)
|
|
120
|
+
*/
|
|
103
121
|
@property({ type: String }) displayMode?: CollectionDisplayMode;
|
|
104
122
|
|
|
105
123
|
@property({ type: Object }) defaultSortParam: SortParam | null = null;
|
|
@@ -122,20 +140,54 @@ export class CollectionBrowser
|
|
|
122
140
|
|
|
123
141
|
@property({ type: Object }) selectedFacets?: SelectedFacets;
|
|
124
142
|
|
|
143
|
+
/**
|
|
144
|
+
* Whether to show the date picker (above the facets)
|
|
145
|
+
*/
|
|
125
146
|
@property({ type: Boolean }) showHistogramDatePicker = false;
|
|
126
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Whether placeholder views should be suppressed. If true, searches that produce an
|
|
150
|
+
* error or empty result set will simply show a blank results view instead of a placeholder.
|
|
151
|
+
*/
|
|
127
152
|
@property({ type: Boolean }) suppressPlaceholders = false;
|
|
128
153
|
|
|
154
|
+
/**
|
|
155
|
+
* Whether the result count text should be suppressed.
|
|
156
|
+
* If true, no "X Results" message will be shown.
|
|
157
|
+
*/
|
|
129
158
|
@property({ type: Boolean }) suppressResultCount = false;
|
|
130
159
|
|
|
160
|
+
/**
|
|
161
|
+
* Whether the scrolling result view should be suppressed entirely.
|
|
162
|
+
* If true, no infinite scroller (and thus no result tiles) will be rendered.
|
|
163
|
+
*/
|
|
131
164
|
@property({ type: Boolean }) suppressResultTiles = false;
|
|
132
165
|
|
|
166
|
+
/**
|
|
167
|
+
* Whether to suppress persistence of the query to the URL.
|
|
168
|
+
* If true, the `query` param will not be added to the URL or updated on query changes.
|
|
169
|
+
*/
|
|
133
170
|
@property({ type: Boolean }) suppressURLQuery = false;
|
|
134
171
|
|
|
172
|
+
/**
|
|
173
|
+
* Whether to suppress the display of facets.
|
|
174
|
+
* If true, the facet sidebar content will be replaced by a message that facets are
|
|
175
|
+
* temporarily unavailable.
|
|
176
|
+
*/
|
|
135
177
|
@property({ type: Boolean }) suppressFacets = false;
|
|
136
178
|
|
|
179
|
+
/**
|
|
180
|
+
* Whether to suppress display of the sort bar.
|
|
181
|
+
* If true, the entire sort bar (incl. display modes) will be omitted from rendering.
|
|
182
|
+
*/
|
|
137
183
|
@property({ type: Boolean }) suppressSortBar = false;
|
|
138
184
|
|
|
185
|
+
/**
|
|
186
|
+
* Whether to suppress showing the display mode options in the sort bar.
|
|
187
|
+
* If true, those options will be omitted (though the rest of the sort bar may still render).
|
|
188
|
+
*/
|
|
189
|
+
@property({ type: Boolean }) suppressDisplayModes = false;
|
|
190
|
+
|
|
139
191
|
@property({ type: Boolean }) clearResultsOnEmptyQuery = false;
|
|
140
192
|
|
|
141
193
|
@property({ type: String }) collectionPagePath: string = '/details/';
|
|
@@ -630,6 +682,7 @@ export class CollectionBrowser
|
|
|
630
682
|
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
631
683
|
.resizeObserver=${this.resizeObserver}
|
|
632
684
|
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
685
|
+
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
633
686
|
@sortChanged=${this.userChangedSort}
|
|
634
687
|
@displayModeChanged=${this.displayModeChanged}
|
|
635
688
|
@titleLetterChanged=${this.titleLetterSelected}
|
|
@@ -637,6 +690,7 @@ export class CollectionBrowser
|
|
|
637
690
|
>
|
|
638
691
|
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
639
692
|
<slot name="sort-options" slot="sort-options"></slot>
|
|
693
|
+
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
640
694
|
</sort-filter-bar>
|
|
641
695
|
`;
|
|
642
696
|
}
|
|
@@ -647,7 +701,7 @@ export class CollectionBrowser
|
|
|
647
701
|
.label=${this.manageViewLabel}
|
|
648
702
|
showSelectAll
|
|
649
703
|
showUnselectAll
|
|
650
|
-
?
|
|
704
|
+
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
651
705
|
@removeItems=${this.handleRemoveItems}
|
|
652
706
|
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
653
707
|
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
@@ -1188,6 +1242,7 @@ export class CollectionBrowser
|
|
|
1188
1242
|
connectedCallback(): void {
|
|
1189
1243
|
super.connectedCallback?.();
|
|
1190
1244
|
this.setupStateRestorationObserver();
|
|
1245
|
+
this.setupResizeObserver();
|
|
1191
1246
|
}
|
|
1192
1247
|
|
|
1193
1248
|
disconnectedCallback(): void {
|
|
@@ -1341,7 +1396,7 @@ export class CollectionBrowser
|
|
|
1341
1396
|
}
|
|
1342
1397
|
|
|
1343
1398
|
private setupResizeObserver() {
|
|
1344
|
-
if (!this.resizeObserver) return;
|
|
1399
|
+
if (!this.resizeObserver || !this.contentContainer) return;
|
|
1345
1400
|
this.resizeObserver.addObserver({
|
|
1346
1401
|
target: this.contentContainer,
|
|
1347
1402
|
handler: this,
|
|
@@ -1814,6 +1869,7 @@ export class CollectionBrowser
|
|
|
1814
1869
|
#right-column {
|
|
1815
1870
|
flex: 1;
|
|
1816
1871
|
position: relative;
|
|
1872
|
+
min-height: 90vh;
|
|
1817
1873
|
border-left: 1px solid rgb(232, 232, 232);
|
|
1818
1874
|
border-right: 1px solid rgb(232, 232, 232);
|
|
1819
1875
|
padding-left: 1rem;
|
|
@@ -1930,7 +1986,9 @@ export class CollectionBrowser
|
|
|
1930
1986
|
|
|
1931
1987
|
.mobile #left-column {
|
|
1932
1988
|
width: 100%;
|
|
1989
|
+
min-width: 0;
|
|
1933
1990
|
padding: 0;
|
|
1991
|
+
border: 0;
|
|
1934
1992
|
}
|
|
1935
1993
|
|
|
1936
1994
|
.clear-filters-btn-row {
|
package/src/manage/manage-bar.ts
CHANGED
|
@@ -30,7 +30,7 @@ export class ManageBar extends LitElement {
|
|
|
30
30
|
/**
|
|
31
31
|
* Whether to active delete button for selectable items
|
|
32
32
|
*/
|
|
33
|
-
@property({ type: Boolean })
|
|
33
|
+
@property({ type: Boolean }) removeAllowed = false;
|
|
34
34
|
|
|
35
35
|
render(): TemplateResult {
|
|
36
36
|
return html`
|
|
@@ -42,7 +42,7 @@ export class ManageBar extends LitElement {
|
|
|
42
42
|
</button>
|
|
43
43
|
<button
|
|
44
44
|
class="ia-button danger"
|
|
45
|
-
?disabled=${!this.
|
|
45
|
+
?disabled=${!this.removeAllowed}
|
|
46
46
|
@click=${this.removeClicked}
|
|
47
47
|
>
|
|
48
48
|
${msg('Remove selected items')}
|
|
@@ -73,6 +73,10 @@ export class SortFilterBar
|
|
|
73
73
|
@property({ type: Boolean, reflect: true }) enableSortOptionsSlot: boolean =
|
|
74
74
|
false;
|
|
75
75
|
|
|
76
|
+
/** Whether to suppress showing the three display mode options on the right of the bar (default `false`) */
|
|
77
|
+
@property({ type: Boolean, reflect: true })
|
|
78
|
+
suppressDisplayModes: boolean = false;
|
|
79
|
+
|
|
76
80
|
/** Maps of result counts for letters on the alphabet bar, for each letter filter type */
|
|
77
81
|
@property({ type: Object }) prefixFilterCountMap?: Record<
|
|
78
82
|
PrefixFilterType,
|
|
@@ -160,8 +164,13 @@ export class SortFilterBar
|
|
|
160
164
|
`
|
|
161
165
|
: html`<slot name="sort-options"></slot>`}
|
|
162
166
|
</div>
|
|
167
|
+
<slot name="sort-options-right"></slot>
|
|
163
168
|
|
|
164
|
-
|
|
169
|
+
${this.suppressDisplayModes
|
|
170
|
+
? nothing
|
|
171
|
+
: html`<div id="display-style-selector">
|
|
172
|
+
${this.displayOptionTemplate}
|
|
173
|
+
</div>`}
|
|
165
174
|
</section>
|
|
166
175
|
|
|
167
176
|
${this.dropdownBackdropVisible ? this.dropdownBackdrop : nothing}
|
|
@@ -12,8 +12,8 @@ describe('Manage bar', () => {
|
|
|
12
12
|
|
|
13
13
|
expect(el.shadowRoot?.querySelector('.manage-label')).to.exist;
|
|
14
14
|
expect(el.shadowRoot?.querySelector('.manage-buttons')).to.exist;
|
|
15
|
-
expect(el.shadowRoot?.querySelector('.
|
|
16
|
-
expect(el.shadowRoot?.querySelector('.
|
|
15
|
+
expect(el.shadowRoot?.querySelector('.ia-button.dark')).to.exist;
|
|
16
|
+
expect(el.shadowRoot?.querySelector('.ia-button.danger')).to.exist;
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
it('can set the label', async () => {
|
|
@@ -45,9 +45,16 @@ describe('Manage bar', () => {
|
|
|
45
45
|
expect(el.shadowRoot?.querySelector('.unselect-all-btn')).to.exist;
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
it('
|
|
48
|
+
it('default and toggle state of remove button', async () => {
|
|
49
49
|
const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);
|
|
50
|
-
|
|
50
|
+
|
|
51
|
+
expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.exist;
|
|
52
|
+
|
|
53
|
+
el.removeAllowed = true;
|
|
54
|
+
await el.updateComplete;
|
|
55
|
+
|
|
56
|
+
expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.not
|
|
57
|
+
.exist;
|
|
51
58
|
});
|
|
52
59
|
|
|
53
60
|
it('emits event when Cancel button clicked', async () => {
|
|
@@ -57,7 +64,7 @@ describe('Manage bar', () => {
|
|
|
57
64
|
);
|
|
58
65
|
|
|
59
66
|
const cancelBtn = el.shadowRoot?.querySelector(
|
|
60
|
-
'.
|
|
67
|
+
'.ia-button.dark'
|
|
61
68
|
) as HTMLButtonElement;
|
|
62
69
|
expect(cancelBtn).to.exist;
|
|
63
70
|
|
|
@@ -68,11 +75,11 @@ describe('Manage bar', () => {
|
|
|
68
75
|
it('emits event when Remove Items button clicked', async () => {
|
|
69
76
|
const spy = Sinon.spy();
|
|
70
77
|
const el = await fixture<ManageBar>(
|
|
71
|
-
html`<manage-bar @removeItems=${spy}></manage-bar>`
|
|
78
|
+
html`<manage-bar @removeItems=${spy} removeAllowed></manage-bar>`
|
|
72
79
|
);
|
|
73
80
|
|
|
74
81
|
const removeItemsBtn = el.shadowRoot?.querySelector(
|
|
75
|
-
'.
|
|
82
|
+
'.ia-button.danger'
|
|
76
83
|
) as HTMLButtonElement;
|
|
77
84
|
expect(removeItemsBtn).to.exist;
|
|
78
85
|
|
|
@@ -407,6 +407,17 @@ describe('Display mode/style buttons', () => {
|
|
|
407
407
|
expect(compactListButton).to.exist;
|
|
408
408
|
});
|
|
409
409
|
|
|
410
|
+
it('should not render display mode buttons when suppressed', async () => {
|
|
411
|
+
const el = await fixture<SortFilterBar>(html`
|
|
412
|
+
<sort-filter-bar suppressDisplayModes></sort-filter-bar>
|
|
413
|
+
`);
|
|
414
|
+
|
|
415
|
+
const displayModeButtonList = el.shadowRoot?.querySelector(
|
|
416
|
+
'#display-style-selector'
|
|
417
|
+
);
|
|
418
|
+
expect(displayModeButtonList).not.to.exist;
|
|
419
|
+
});
|
|
420
|
+
|
|
410
421
|
it('should active current display mode', async () => {
|
|
411
422
|
const el = await fixture<SortFilterBar>(html`
|
|
412
423
|
<sort-filter-bar> </sort-filter-bar>
|
package/tsconfig.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es2018",
|
|
4
|
-
"module": "esnext",
|
|
5
|
-
"moduleResolution": "node",
|
|
6
|
-
"noEmitOnError": true,
|
|
7
|
-
"lib": ["es2017", "dom"],
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": false,
|
|
10
|
-
"allowSyntheticDefaultImports": true,
|
|
11
|
-
"experimentalDecorators": true,
|
|
12
|
-
"importHelpers": true,
|
|
13
|
-
"outDir": "dist",
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"inlineSources": true,
|
|
16
|
-
"rootDir": "./",
|
|
17
|
-
"declaration": true,
|
|
18
|
-
"importsNotUsedAsValues": "error"
|
|
19
|
-
},
|
|
20
|
-
"include": ["src", "test", "index.ts", "types"],
|
|
21
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2018",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"noEmitOnError": true,
|
|
7
|
+
"lib": ["es2017", "dom"],
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": false,
|
|
10
|
+
"allowSyntheticDefaultImports": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"importHelpers": true,
|
|
13
|
+
"outDir": "dist",
|
|
14
|
+
"sourceMap": true,
|
|
15
|
+
"inlineSources": true,
|
|
16
|
+
"rootDir": "./",
|
|
17
|
+
"declaration": true,
|
|
18
|
+
"importsNotUsedAsValues": "error"
|
|
19
|
+
},
|
|
20
|
+
"include": ["src", "test", "index.ts", "types"],
|
|
21
|
+
}
|
|
@@ -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
|
+
});
|