@internetarchive/collection-browser 2.7.7-alpha.2 → 2.7.8-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/.github/workflows/ci.yml +3 -3
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +9 -1
- package/dist/src/app-root.js +40 -6
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +1 -1
- package/dist/src/assets/img/icons/arrow-right.d.ts +1 -1
- package/dist/src/assets/img/icons/chevron.d.ts +1 -1
- package/dist/src/assets/img/icons/contract.d.ts +1 -1
- package/dist/src/assets/img/icons/empty-query.d.ts +1 -1
- package/dist/src/assets/img/icons/expand.d.ts +1 -1
- package/dist/src/assets/img/icons/eye-closed.d.ts +1 -1
- package/dist/src/assets/img/icons/eye.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/filter.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/null-result.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/circular-activity-indicator.d.ts +1 -1
- package/dist/src/circular-activity-indicator.js.map +1 -1
- package/dist/src/collection-browser.d.ts +21 -1
- package/dist/src/collection-browser.js +60 -17
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
- package/dist/src/collection-facets/facets-template.js +5 -5
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +1 -1
- package/dist/src/collection-facets/more-facets-content.js +4 -2
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.js +0 -1
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +1 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/models.d.ts +2 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +4 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +2 -2
- package/dist/src/collection-facets/toggle-switch.js +2 -2
- package/dist/src/collection-facets/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.js +3 -2
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +4 -0
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +4 -0
- package/dist/src/data-source/collection-browser-data-source.js +22 -8
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +1 -0
- package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
- package/dist/src/data-source/models.d.ts +2 -2
- package/dist/src/empty-placeholder.d.ts +1 -1
- package/dist/src/empty-placeholder.js +11 -10
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +86 -86
- package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
- package/dist/src/manage/manage-bar.d.ts +32 -9
- package/dist/src/manage/manage-bar.js +121 -27
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
- package/dist/src/manage/remove-items-modal-content.js +104 -0
- package/dist/src/manage/remove-items-modal-content.js.map +1 -0
- package/dist/src/mediatype/mediatype-config.js +0 -1
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/models.d.ts +24 -15
- package/dist/src/models.js +3 -3
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.js +1 -0
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +1 -1
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.js +9 -9
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.js +2 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.js +3 -2
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/search-tile.js.map +1 -1
- package/dist/src/tiles/grid/tile-stats.d.ts +1 -1
- package/dist/src/tiles/grid/tile-stats.js +2 -2
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.js +1 -3
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +1 -1
- package/dist/src/tiles/image-block.js +1 -1
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +1 -1
- package/dist/src/tiles/item-image.js +2 -2
- package/dist/src/tiles/item-image.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +6 -4
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +1 -1
- package/dist/src/tiles/mediatype-icon.js.map +1 -1
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/review-block.js.map +1 -1
- package/dist/src/tiles/text-snippet-block.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +1 -1
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/src/utils/facet-utils.js.map +1 -1
- package/dist/src/utils/format-count.d.ts +2 -2
- package/dist/src/utils/format-count.js +1 -0
- package/dist/src/utils/format-count.js.map +1 -1
- package/dist/src/utils/format-date.d.ts +1 -1
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/src/utils/format-unit-size.js.map +1 -1
- package/dist/src/utils/log.js +3 -1
- package/dist/src/utils/log.js.map +1 -1
- package/dist/src/utils/resolve-mediatype.js.map +1 -1
- package/dist/test/collection-browser.test.js +17 -2
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.js +1 -4
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- package/dist/test/collection-facets/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +1 -0
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +1 -0
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +3 -12
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
- package/dist/test/collection-facets.test.js +1 -0
- package/dist/test/collection-facets.test.js.map +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.js +1 -0
- package/dist/test/empty-placeholder.test.js.map +1 -1
- package/dist/test/expanded-date-picker.test.js.map +1 -1
- package/dist/test/icon-overlay.test.js +1 -0
- package/dist/test/icon-overlay.test.js.map +1 -1
- package/dist/test/image-block.test.js +1 -0
- package/dist/test/image-block.test.js.map +1 -1
- package/dist/test/item-image.test.js +1 -0
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.d.ts +1 -0
- package/dist/test/manage/manage-bar.test.js +26 -10
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
- package/dist/test/manage/remove-items-modal-content.test.js +66 -0
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
- package/dist/test/mocks/mock-search-responses.js.map +1 -1
- package/dist/test/mocks/mock-search-service.js.map +1 -1
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/review-block.test.js +1 -0
- package/dist/test/review-block.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +1 -0
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.js +1 -0
- package/dist/test/text-overlay.test.js.map +1 -1
- package/dist/test/text-snippet-block.test.js +1 -0
- package/dist/test/text-snippet-block.test.js.map +1 -1
- package/dist/test/tile-stats.test.js +23 -22
- package/dist/test/tile-stats.test.js.map +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +1 -0
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +1 -0
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +1 -0
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +1 -0
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +1 -0
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +1 -0
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- package/dist/test/utils/format-count.test.js.map +1 -1
- package/dist/test/utils/format-date.test.js.map +1 -1
- package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
- package/index.html +3 -0
- package/package.json +38 -40
- package/src/app-root.ts +60 -25
- package/src/collection-browser.ts +101 -50
- package/src/collection-facets/facets-template.ts +6 -7
- package/src/collection-facets/more-facets-content.ts +13 -11
- package/src/collection-facets/more-facets-pagination.ts +2 -3
- package/src/collection-facets/smart-facets/dedupe.ts +2 -2
- package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
- package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +8 -6
- package/src/collection-facets/smart-facets/smart-facet-button.ts +3 -5
- package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
- package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
- package/src/collection-facets/toggle-switch.ts +2 -2
- package/src/collection-facets.ts +19 -18
- package/src/data-source/collection-browser-data-source-interface.ts +6 -5
- package/src/data-source/collection-browser-data-source.ts +48 -37
- package/src/data-source/collection-browser-query-state.ts +1 -0
- package/src/empty-placeholder.ts +16 -19
- package/src/expanded-date-picker.ts +1 -1
- package/src/language-code-handler/language-code-handler.ts +1 -1
- package/src/manage/manage-bar.ts +132 -38
- package/src/manage/remove-items-modal-content.ts +102 -0
- package/src/mediatype/mediatype-config.ts +0 -1
- package/src/models.ts +13 -3
- package/src/restoration-state-handler.ts +15 -14
- package/src/sort-filter-bar/alpha-bar.ts +17 -16
- package/src/sort-filter-bar/sort-filter-bar.ts +15 -14
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -1
- package/src/tiles/grid/item-tile.ts +9 -9
- package/src/tiles/grid/tile-stats.ts +4 -4
- package/src/tiles/hover/hover-pane-controller.ts +1 -1
- package/src/tiles/hover/tile-hover-pane.ts +2 -4
- package/src/tiles/item-image.ts +1 -1
- package/src/tiles/list/tile-list-compact.ts +2 -2
- package/src/tiles/list/tile-list.ts +24 -22
- package/src/tiles/tile-dispatcher.ts +5 -5
- package/src/tiles/tile-display-value-provider.ts +4 -4
- package/src/utils/facet-utils.ts +6 -6
- package/src/utils/format-count.ts +3 -2
- package/src/utils/format-date.ts +1 -1
- package/src/utils/format-unit-size.ts +1 -1
- package/src/utils/log.ts +3 -1
- package/test/collection-browser.test.ts +145 -123
- package/test/collection-facets/facet-row.test.ts +28 -31
- package/test/collection-facets/facets-template.test.ts +9 -9
- package/test/collection-facets/more-facets-content.test.ts +15 -14
- package/test/collection-facets/more-facets-pagination.test.ts +19 -18
- package/test/collection-facets/toggle-switch.test.ts +18 -28
- package/test/collection-facets.test.ts +37 -36
- package/test/data-source/collection-browser-data-source.test.ts +2 -2
- package/test/empty-placeholder.test.ts +7 -6
- package/test/expanded-date-picker.test.ts +18 -17
- package/test/icon-overlay.test.ts +1 -0
- package/test/image-block.test.ts +7 -6
- package/test/item-image.test.ts +1 -0
- package/test/manage/manage-bar.test.ts +52 -28
- package/test/manage/remove-items-modal-content.test.ts +82 -0
- package/test/mocks/mock-search-responses.ts +1 -2
- package/test/mocks/mock-search-service.ts +1 -1
- package/test/restoration-state-handler.test.ts +12 -12
- package/test/review-block.test.ts +2 -1
- package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
- package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
- package/test/sort-filter-bar/sort-filter-bar.test.ts +39 -38
- package/test/text-overlay.test.ts +1 -0
- package/test/text-snippet-block.test.ts +6 -5
- package/test/tile-stats.test.ts +35 -26
- package/test/tiles/grid/account-tile.test.ts +3 -2
- package/test/tiles/grid/collection-tile.test.ts +4 -3
- package/test/tiles/grid/item-tile.test.ts +14 -13
- package/test/tiles/grid/search-tile.test.ts +2 -1
- package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
- package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
- package/test/tiles/list/tile-list-compact.test.ts +2 -1
- package/test/tiles/list/tile-list.test.ts +11 -10
- package/test/tiles/tile-dispatcher.test.ts +5 -5
- package/test/utils/format-count.test.ts +1 -1
- package/test/utils/format-date.test.ts +1 -1
- package/test/utils/local-date-from-utc.test.ts +1 -1
- package/tsconfig.json +1 -0
- package/.prettierignore +0 -1
- package/eslint.config.mjs +0 -53
|
@@ -99,7 +99,7 @@ export class CollectionTile extends BaseTileComponent {
|
|
|
99
99
|
e.preventDefault();
|
|
100
100
|
const event = new CustomEvent<{ x: number; y: number }>(
|
|
101
101
|
'infoButtonPressed',
|
|
102
|
-
{ detail: { x: e.clientX, y: e.clientY } }
|
|
102
|
+
{ detail: { x: e.clientX, y: e.clientY } }
|
|
103
103
|
);
|
|
104
104
|
this.dispatchEvent(event);
|
|
105
105
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
1
2
|
import { css, CSSResultGroup, html, nothing, TemplateResult } from 'lit';
|
|
2
3
|
import { customElement, property } from 'lit/decorators.js';
|
|
3
4
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
@@ -201,13 +202,12 @@ export class ItemTile extends BaseTileComponent {
|
|
|
201
202
|
<ul class="capture-dates">
|
|
202
203
|
${map(
|
|
203
204
|
this.model.captureDates,
|
|
204
|
-
date =>
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
</li>`,
|
|
205
|
+
date => html`<li>
|
|
206
|
+
${this.displayValueProvider.webArchivesCaptureLink(
|
|
207
|
+
this.model!.title,
|
|
208
|
+
date
|
|
209
|
+
)}
|
|
210
|
+
</li>`
|
|
211
211
|
)}
|
|
212
212
|
</ul>
|
|
213
213
|
`;
|
|
@@ -215,7 +215,7 @@ export class ItemTile extends BaseTileComponent {
|
|
|
215
215
|
|
|
216
216
|
private get isSortedByDate(): boolean {
|
|
217
217
|
return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes(
|
|
218
|
-
this.effectiveSort?.field as string
|
|
218
|
+
this.effectiveSort?.field as string
|
|
219
219
|
);
|
|
220
220
|
}
|
|
221
221
|
|
|
@@ -234,7 +234,7 @@ export class ItemTile extends BaseTileComponent {
|
|
|
234
234
|
e.preventDefault();
|
|
235
235
|
const event = new CustomEvent<{ x: number; y: number }>(
|
|
236
236
|
'infoButtonPressed',
|
|
237
|
-
{ detail: { x: e.clientX, y: e.clientY } }
|
|
237
|
+
{ detail: { x: e.clientX, y: e.clientY } }
|
|
238
238
|
);
|
|
239
239
|
this.dispatchEvent(event);
|
|
240
240
|
}
|
|
@@ -29,7 +29,7 @@ export class TileStats extends LitElement {
|
|
|
29
29
|
const formattedReviewCount = formatCount(
|
|
30
30
|
this.commentCount,
|
|
31
31
|
'short',
|
|
32
|
-
'short'
|
|
32
|
+
'short'
|
|
33
33
|
);
|
|
34
34
|
|
|
35
35
|
const uploadsOrViewsTitle =
|
|
@@ -57,10 +57,10 @@ export class TileStats extends LitElement {
|
|
|
57
57
|
</span>
|
|
58
58
|
${formatCount(
|
|
59
59
|
this.mediatype === 'account'
|
|
60
|
-
?
|
|
61
|
-
:
|
|
62
|
-
'short',
|
|
60
|
+
? this.itemCount ?? 0
|
|
61
|
+
: this.viewCount ?? 0,
|
|
63
62
|
'short',
|
|
63
|
+
'short'
|
|
64
64
|
)}
|
|
65
65
|
</p>
|
|
66
66
|
</li>
|
|
@@ -151,7 +151,7 @@ export class HoverPaneController implements HoverPaneControllerInterface {
|
|
|
151
151
|
HoverPaneProviderInterface &
|
|
152
152
|
HTMLElement,
|
|
153
153
|
/** Options for adjusting the hover pane behavior (offsets, delays, etc.) */
|
|
154
|
-
options: HoverPaneControllerOptions = {}
|
|
154
|
+
options: HoverPaneControllerOptions = {}
|
|
155
155
|
) {
|
|
156
156
|
this.mobileBreakpoint = options.mobileBreakpoint ?? this.mobileBreakpoint;
|
|
157
157
|
this.offsetX = options.offsetX ?? this.offsetX;
|
|
@@ -26,7 +26,7 @@ export class TileHoverPane extends LitElement {
|
|
|
26
26
|
|
|
27
27
|
@property({ type: Number }) mobileBreakpoint?: number;
|
|
28
28
|
|
|
29
|
-
@property({ type: Number }) currentWidth?:
|
|
29
|
+
@property({ type: Number }) currentWidth?: Number;
|
|
30
30
|
|
|
31
31
|
@property({ type: Object })
|
|
32
32
|
collectionTitles?: CollectionTitles;
|
|
@@ -95,9 +95,7 @@ export class TileHoverPane extends LitElement {
|
|
|
95
95
|
visibility: hidden;
|
|
96
96
|
opacity: 0;
|
|
97
97
|
transform: translateY(8px);
|
|
98
|
-
transition:
|
|
99
|
-
opacity 0.1s ease-in,
|
|
100
|
-
transform 0.1s ease-in;
|
|
98
|
+
transition: opacity 0.1s ease-in, transform 0.1s ease-in;
|
|
101
99
|
--image-width: auto;
|
|
102
100
|
}
|
|
103
101
|
|
package/src/tiles/item-image.ts
CHANGED
|
@@ -73,7 +73,7 @@ export class TileListCompact extends BaseTileComponent {
|
|
|
73
73
|
|
|
74
74
|
return this.displayValueProvider.itemPageUrl(
|
|
75
75
|
this.model.identifier,
|
|
76
|
-
this.model.mediatype === 'collection'
|
|
76
|
+
this.model.mediatype === 'collection'
|
|
77
77
|
);
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -155,7 +155,7 @@ export class TileListCompact extends BaseTileComponent {
|
|
|
155
155
|
|
|
156
156
|
private get isSortedByDate(): boolean {
|
|
157
157
|
return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes(
|
|
158
|
-
this.effectiveSort?.field as string
|
|
158
|
+
this.effectiveSort?.field as string
|
|
159
159
|
);
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -90,7 +90,7 @@ export class TileList extends BaseTileComponent {
|
|
|
90
90
|
const isCollection = this.model.mediatype === 'collection';
|
|
91
91
|
const href = this.displayValueProvider.itemPageUrl(
|
|
92
92
|
this.model.identifier,
|
|
93
|
-
isCollection
|
|
93
|
+
isCollection
|
|
94
94
|
);
|
|
95
95
|
|
|
96
96
|
return html`<a href=${href}>
|
|
@@ -149,7 +149,7 @@ export class TileList extends BaseTileComponent {
|
|
|
149
149
|
: this.detailsLink(
|
|
150
150
|
this.model.identifier,
|
|
151
151
|
this.model.title,
|
|
152
|
-
this.model.mediatype === 'collection'
|
|
152
|
+
this.model.mediatype === 'collection'
|
|
153
153
|
);
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -203,7 +203,7 @@ export class TileList extends BaseTileComponent {
|
|
|
203
203
|
${this.labelTemplate(msg('By'))}
|
|
204
204
|
${join(
|
|
205
205
|
map(this.model.creators, id => this.searchLink('creator', id)),
|
|
206
|
-
', '
|
|
206
|
+
', '
|
|
207
207
|
)}
|
|
208
208
|
</div>
|
|
209
209
|
`;
|
|
@@ -233,7 +233,7 @@ export class TileList extends BaseTileComponent {
|
|
|
233
233
|
) {
|
|
234
234
|
return this.metadataTemplate(
|
|
235
235
|
formatDate(this.date, 'long'),
|
|
236
|
-
this.displayValueProvider.dateLabel
|
|
236
|
+
this.displayValueProvider.dateLabel
|
|
237
237
|
);
|
|
238
238
|
}
|
|
239
239
|
return nothing;
|
|
@@ -253,7 +253,7 @@ export class TileList extends BaseTileComponent {
|
|
|
253
253
|
|
|
254
254
|
return this.metadataTemplate(
|
|
255
255
|
`${formatCount(viewCount, this.formatSize)}`,
|
|
256
|
-
msg('Views')
|
|
256
|
+
msg('Views')
|
|
257
257
|
);
|
|
258
258
|
}
|
|
259
259
|
|
|
@@ -274,7 +274,7 @@ export class TileList extends BaseTileComponent {
|
|
|
274
274
|
${this.labelTemplate(msg('Topics'))}
|
|
275
275
|
${join(
|
|
276
276
|
map(this.model.subjects, id => this.searchLink('subject', id)),
|
|
277
|
-
', '
|
|
277
|
+
', '
|
|
278
278
|
)}
|
|
279
279
|
</div>
|
|
280
280
|
`;
|
|
@@ -296,10 +296,10 @@ export class TileList extends BaseTileComponent {
|
|
|
296
296
|
return this.metadataTemplate(
|
|
297
297
|
// Sanitize away any HTML tags and convert line breaks to spaces.
|
|
298
298
|
unsafeHTML(
|
|
299
|
-
DOMPurify.sanitize(this.model?.description?.replace(/\n/g, ' ') ?? '')
|
|
299
|
+
DOMPurify.sanitize(this.model?.description?.replace(/\n/g, ' ') ?? '')
|
|
300
300
|
),
|
|
301
301
|
'',
|
|
302
|
-
'description'
|
|
302
|
+
'description'
|
|
303
303
|
);
|
|
304
304
|
}
|
|
305
305
|
|
|
@@ -340,20 +340,19 @@ export class TileList extends BaseTileComponent {
|
|
|
340
340
|
<ul class="capture-dates">
|
|
341
341
|
${map(
|
|
342
342
|
this.model.captureDates,
|
|
343
|
-
date =>
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
</li>`,
|
|
343
|
+
date => html`<li>
|
|
344
|
+
${this.displayValueProvider.webArchivesCaptureLink(
|
|
345
|
+
this.model!.title,
|
|
346
|
+
date
|
|
347
|
+
)}
|
|
348
|
+
</li>`
|
|
350
349
|
)}
|
|
351
350
|
</ul>
|
|
352
351
|
`;
|
|
353
352
|
}
|
|
354
353
|
|
|
355
354
|
// Utility functions
|
|
356
|
-
// eslint-disable-next-line
|
|
355
|
+
// eslint-disable-next-line default-param-last
|
|
357
356
|
private metadataTemplate(text: any, label = '', id?: string) {
|
|
358
357
|
if (!text) return nothing;
|
|
359
358
|
return html`
|
|
@@ -376,25 +375,28 @@ export class TileList extends BaseTileComponent {
|
|
|
376
375
|
const query = encodeURIComponent(`${field}:"${searchTerm}"`);
|
|
377
376
|
// No whitespace after closing tag
|
|
378
377
|
// Note: single ' for href='' to wrap " in query var gets changed back by yarn format
|
|
378
|
+
|
|
379
|
+
/* eslint-disable lit/no-invalid-html */
|
|
379
380
|
return html`<a
|
|
380
381
|
href="${this.baseNavigationUrl}/search?query=${query}"
|
|
381
382
|
rel="nofollow"
|
|
382
383
|
>
|
|
383
384
|
${DOMPurify.sanitize(searchTerm)}</a
|
|
384
385
|
>`;
|
|
386
|
+
/* eslint-enable lit/no-invalid-html */
|
|
385
387
|
}
|
|
386
388
|
|
|
387
389
|
private detailsLink(
|
|
388
390
|
identifier?: string,
|
|
389
391
|
text?: string,
|
|
390
|
-
isCollection = false
|
|
392
|
+
isCollection = false
|
|
391
393
|
): TemplateResult | typeof nothing {
|
|
392
394
|
if (!identifier) return nothing;
|
|
393
395
|
|
|
394
396
|
const linkText = text ?? identifier;
|
|
395
397
|
const linkHref = this.displayValueProvider.itemPageUrl(
|
|
396
398
|
identifier,
|
|
397
|
-
isCollection
|
|
399
|
+
isCollection
|
|
398
400
|
);
|
|
399
401
|
|
|
400
402
|
return html`<a href=${linkHref}> ${DOMPurify.sanitize(linkText)} </a>`;
|
|
@@ -415,7 +417,7 @@ export class TileList extends BaseTileComponent {
|
|
|
415
417
|
default:
|
|
416
418
|
return this.displayValueProvider.itemPageUrl(
|
|
417
419
|
this.model.mediatype,
|
|
418
|
-
true
|
|
420
|
+
true
|
|
419
421
|
);
|
|
420
422
|
}
|
|
421
423
|
}
|
|
@@ -445,8 +447,8 @@ export class TileList extends BaseTileComponent {
|
|
|
445
447
|
this.detailsLink(
|
|
446
448
|
collection,
|
|
447
449
|
this.collectionTitles?.get(collection) ?? collection,
|
|
448
|
-
true
|
|
449
|
-
)
|
|
450
|
+
true
|
|
451
|
+
)
|
|
450
452
|
);
|
|
451
453
|
}
|
|
452
454
|
}
|
|
@@ -662,7 +664,7 @@ export class TileList extends BaseTileComponent {
|
|
|
662
664
|
/*
|
|
663
665
|
* With the exception of the title line, allow these to wrap if
|
|
664
666
|
* the space becomes too small to accommodate them together.
|
|
665
|
-
*
|
|
667
|
+
*
|
|
666
668
|
* The title line is excluded because it contains the mediatype icon
|
|
667
669
|
* which we don't want to wrap.
|
|
668
670
|
*/
|
|
@@ -60,7 +60,7 @@ export class TileDispatcher
|
|
|
60
60
|
@property({ type: Boolean }) enableHoverPane = false;
|
|
61
61
|
|
|
62
62
|
@property({ type: String }) manageCheckTitle = msg(
|
|
63
|
-
'Remove this item from the list'
|
|
63
|
+
'Remove this item from the list'
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
private hoverPaneController?: HoverPaneControllerInterface;
|
|
@@ -155,7 +155,7 @@ export class TileDispatcher
|
|
|
155
155
|
|
|
156
156
|
return this.displayValueProvider.itemPageUrl(
|
|
157
157
|
this.model.identifier,
|
|
158
|
-
this.model.mediatype === 'collection'
|
|
158
|
+
this.model.mediatype === 'collection'
|
|
159
159
|
);
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -229,7 +229,7 @@ export class TileDispatcher
|
|
|
229
229
|
updated(props: PropertyValues) {
|
|
230
230
|
if (props.has('resizeObserver')) {
|
|
231
231
|
const previousObserver = props.get(
|
|
232
|
-
'resizeObserver'
|
|
232
|
+
'resizeObserver'
|
|
233
233
|
) as SharedResizeObserverInterface;
|
|
234
234
|
this.stopResizeObservation(previousObserver);
|
|
235
235
|
this.startResizeObservation();
|
|
@@ -247,7 +247,7 @@ export class TileDispatcher
|
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
this.dispatchEvent(
|
|
250
|
-
new CustomEvent('resultSelected', { detail: this.model })
|
|
250
|
+
new CustomEvent('resultSelected', { detail: this.model })
|
|
251
251
|
);
|
|
252
252
|
}
|
|
253
253
|
|
|
@@ -263,7 +263,7 @@ export class TileDispatcher
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
private tileInfoButtonPressed(
|
|
266
|
-
e: CustomEvent<{ x: number; y: number }
|
|
266
|
+
e: CustomEvent<{ x: number; y: number }>
|
|
267
267
|
): void {
|
|
268
268
|
this.hoverPaneController?.toggleHoverPane({
|
|
269
269
|
coords: e.detail,
|
|
@@ -26,7 +26,7 @@ export class TileDisplayValueProvider {
|
|
|
26
26
|
collectionPagePath?: string;
|
|
27
27
|
sortParam?: SortParam;
|
|
28
28
|
creatorFilter?: string;
|
|
29
|
-
} = {}
|
|
29
|
+
} = {}
|
|
30
30
|
) {
|
|
31
31
|
this.model = options.model;
|
|
32
32
|
this.baseNavigationUrl = options.baseNavigationUrl;
|
|
@@ -55,7 +55,7 @@ export class TileDisplayValueProvider {
|
|
|
55
55
|
.normalize('NFD')
|
|
56
56
|
.replace(/[^A-Z]+/gi, '')
|
|
57
57
|
.toUpperCase()
|
|
58
|
-
.startsWith(firstLetter)
|
|
58
|
+
.startsWith(firstLetter)
|
|
59
59
|
);
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -98,7 +98,7 @@ export class TileDisplayValueProvider {
|
|
|
98
98
|
*/
|
|
99
99
|
itemPageUrl(
|
|
100
100
|
identifier?: string,
|
|
101
|
-
isCollection = false
|
|
101
|
+
isCollection = false
|
|
102
102
|
): string | typeof nothing {
|
|
103
103
|
if (!identifier || this.baseNavigationUrl == null) return nothing;
|
|
104
104
|
const basePath = isCollection ? this.collectionPagePath : '/details/';
|
|
@@ -115,7 +115,7 @@ export class TileDisplayValueProvider {
|
|
|
115
115
|
.replace(/[TZ:-]/g, '')
|
|
116
116
|
.replace(/\..*/, '');
|
|
117
117
|
const captureHref = `https://web.archive.org/web/${captureDateStr}/${encodeURIComponent(
|
|
118
|
-
url
|
|
118
|
+
url
|
|
119
119
|
)}`;
|
|
120
120
|
const captureText = formatDate(date, 'long');
|
|
121
121
|
|
package/src/utils/facet-utils.ts
CHANGED
|
@@ -33,8 +33,8 @@ export function forEachFacetBucket(
|
|
|
33
33
|
facetType: FacetOption,
|
|
34
34
|
bucketKey: string,
|
|
35
35
|
bucket: FacetBucket,
|
|
36
|
-
selectedFacets: SelectedFacets
|
|
37
|
-
) => unknown
|
|
36
|
+
selectedFacets: SelectedFacets
|
|
37
|
+
) => unknown
|
|
38
38
|
): void {
|
|
39
39
|
if (!selectedFacets) return;
|
|
40
40
|
for (const [facetType, facetBuckets] of Object.entries(selectedFacets)) {
|
|
@@ -59,7 +59,7 @@ export function updateSelectedFacetBucket(
|
|
|
59
59
|
selectedFacets: SelectedFacets | undefined,
|
|
60
60
|
facetType: FacetOption,
|
|
61
61
|
bucket: FacetBucket,
|
|
62
|
-
omitNoneState = false
|
|
62
|
+
omitNoneState = false
|
|
63
63
|
): SelectedFacets {
|
|
64
64
|
const defaultedSelectedFacets = selectedFacets ?? getDefaultSelectedFacets();
|
|
65
65
|
const newFacets = {
|
|
@@ -89,7 +89,7 @@ export function updateSelectedFacetBucket(
|
|
|
89
89
|
* @param selectedFacets The SelectedFacets object to be cloned
|
|
90
90
|
*/
|
|
91
91
|
export function cloneSelectedFacets(
|
|
92
|
-
selectedFacets: SelectedFacets | undefined
|
|
92
|
+
selectedFacets: SelectedFacets | undefined
|
|
93
93
|
): SelectedFacets {
|
|
94
94
|
const cloneResult = getDefaultSelectedFacets();
|
|
95
95
|
forEachFacetBucket(selectedFacets, (facetType, bucketKey, bucket) => {
|
|
@@ -120,7 +120,7 @@ export function cloneSelectedFacets(
|
|
|
120
120
|
*/
|
|
121
121
|
export function mergeSelectedFacets(
|
|
122
122
|
destination: SelectedFacets | undefined,
|
|
123
|
-
source: SelectedFacets | undefined
|
|
123
|
+
source: SelectedFacets | undefined
|
|
124
124
|
): SelectedFacets {
|
|
125
125
|
const mergeResult = cloneSelectedFacets(destination);
|
|
126
126
|
forEachFacetBucket(source, (facetType, bucketKey, bucket) => {
|
|
@@ -160,7 +160,7 @@ const BUCKET_STATE_ORDER = ['selected', 'hidden', 'none'];
|
|
|
160
160
|
*/
|
|
161
161
|
export function sortBucketsBySelectionState(
|
|
162
162
|
buckets: FacetBucket[],
|
|
163
|
-
sort = AggregationSortType.COUNT
|
|
163
|
+
sort = AggregationSortType.COUNT
|
|
164
164
|
) {
|
|
165
165
|
return buckets.sort((a, b) => {
|
|
166
166
|
const aStateIndex = BUCKET_STATE_ORDER.indexOf(a.state);
|
|
@@ -31,6 +31,7 @@ function magnitude(number: number, numberFormat: NumberFormat): Divisor {
|
|
|
31
31
|
* Round a number given passed magnitude.
|
|
32
32
|
* Significant digits of value less than 10 get a decimal.
|
|
33
33
|
*/
|
|
34
|
+
// eslint-disable-next-line default-param-last
|
|
34
35
|
function round(number: number = 0, divisor: Divisor): number {
|
|
35
36
|
const result = number / divisor;
|
|
36
37
|
const roundToOne = result < 10;
|
|
@@ -50,7 +51,7 @@ function labelize(
|
|
|
50
51
|
rounded: number,
|
|
51
52
|
divisor: Divisor,
|
|
52
53
|
format: LabelFormat,
|
|
53
|
-
locale: string
|
|
54
|
+
locale: string
|
|
54
55
|
): string {
|
|
55
56
|
switch (divisor) {
|
|
56
57
|
case 1_000_000_000:
|
|
@@ -82,7 +83,7 @@ export function formatCount(
|
|
|
82
83
|
count: number | undefined,
|
|
83
84
|
numberFormat: NumberFormat = 'long',
|
|
84
85
|
labelFormat: LabelFormat = 'short',
|
|
85
|
-
locale: string = 'en-US'
|
|
86
|
+
locale: string = 'en-US'
|
|
86
87
|
): string {
|
|
87
88
|
// Return blank if undefined
|
|
88
89
|
const number = count ?? -1;
|
package/src/utils/format-date.ts
CHANGED
package/src/utils/log.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable semi */
|
|
1
2
|
/**
|
|
2
3
|
* console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
|
|
3
4
|
*/
|
|
@@ -10,5 +11,6 @@ export const log =
|
|
|
10
11
|
window.location.host.match(/^ia-petabox-/) ||
|
|
11
12
|
window.location.host.match(/^local\.archive\.org/) ||
|
|
12
13
|
window.location.host.match(/^internetarchive\.github\.io$/))
|
|
13
|
-
?
|
|
14
|
+
? // eslint-disable-next-line no-console
|
|
15
|
+
console.log.bind(console) // convenient, no? Stateless function
|
|
14
16
|
: () => {};
|