@internetarchive/collection-browser 2.7.7 → 2.7.8
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 +107 -99
- package/dist/src/app-root.js +539 -505
- 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 +591 -582
- package/dist/src/collection-browser.js +1644 -1629
- 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 -373
- package/dist/src/data-source/collection-browser-data-source.js +982 -982
- 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 +58 -35
- package/dist/src/manage/manage-bar.js +173 -79
- 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.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -91
- package/dist/src/models.d.ts +228 -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 +17 -17
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +64 -64
- package/dist/src/tiles/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 +27 -27
- 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 +1293 -1293
- 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 +2 -1
- package/dist/test/manage/manage-bar.test.js +106 -91
- 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/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 +30 -30
- 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 +38 -4
- package/src/collection-browser.ts +36 -16
- package/src/manage/manage-bar.ts +119 -23
- package/src/manage/remove-items-modal-content.ts +102 -0
- package/src/models.ts +10 -0
- package/test/manage/manage-bar.test.ts +41 -18
- package/test/manage/remove-items-modal-content.test.ts +82 -0
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { formatCount } from '../../src/utils/format-count';
|
|
3
|
-
const testCount = 805342;
|
|
4
|
-
describe('formatCount', () => {
|
|
5
|
-
it('returns blank when undefined number', () => {
|
|
6
|
-
expect(formatCount(undefined)).to.equal('');
|
|
7
|
-
});
|
|
8
|
-
it('returns blank when negative number', () => {
|
|
9
|
-
expect(formatCount(testCount * -1)).to.equal('');
|
|
10
|
-
});
|
|
11
|
-
it('returns long number when no NumberFormat', () => {
|
|
12
|
-
expect(formatCount(testCount)).to.equal('805,342');
|
|
13
|
-
});
|
|
14
|
-
it('returns short number when short NumberFormat', () => {
|
|
15
|
-
expect(formatCount(testCount, 'short')).to.equal('805K');
|
|
16
|
-
});
|
|
17
|
-
it('returns decimal when value of significant digits < 10', () => {
|
|
18
|
-
expect(formatCount(testCount * 10, 'short', 'long')).to.equal('8.1 million');
|
|
19
|
-
});
|
|
20
|
-
it('returns locale formatted number', () => {
|
|
21
|
-
expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');
|
|
22
|
-
});
|
|
23
|
-
});
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { formatCount } from '../../src/utils/format-count';
|
|
3
|
+
const testCount = 805342;
|
|
4
|
+
describe('formatCount', () => {
|
|
5
|
+
it('returns blank when undefined number', () => {
|
|
6
|
+
expect(formatCount(undefined)).to.equal('');
|
|
7
|
+
});
|
|
8
|
+
it('returns blank when negative number', () => {
|
|
9
|
+
expect(formatCount(testCount * -1)).to.equal('');
|
|
10
|
+
});
|
|
11
|
+
it('returns long number when no NumberFormat', () => {
|
|
12
|
+
expect(formatCount(testCount)).to.equal('805,342');
|
|
13
|
+
});
|
|
14
|
+
it('returns short number when short NumberFormat', () => {
|
|
15
|
+
expect(formatCount(testCount, 'short')).to.equal('805K');
|
|
16
|
+
});
|
|
17
|
+
it('returns decimal when value of significant digits < 10', () => {
|
|
18
|
+
expect(formatCount(testCount * 10, 'short', 'long')).to.equal('8.1 million');
|
|
19
|
+
});
|
|
20
|
+
it('returns locale formatted number', () => {
|
|
21
|
+
expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
24
|
//# sourceMappingURL=format-count.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { formatDate } from '../../src/utils/format-date';
|
|
3
|
-
const testDate = new Date(2020, 11, 9);
|
|
4
|
-
describe('formatDate', () => {
|
|
5
|
-
it('returns blank when undefined date', () => {
|
|
6
|
-
expect(formatDate(undefined)).to.equal('');
|
|
7
|
-
});
|
|
8
|
-
it('returns short date when no DateFormat', () => {
|
|
9
|
-
expect(formatDate(testDate)).to.equal('Dec 2020');
|
|
10
|
-
});
|
|
11
|
-
it('returns long date when long DateFormat', () => {
|
|
12
|
-
expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');
|
|
13
|
-
});
|
|
14
|
-
it('returns year-only date when year-only DateFormat', () => {
|
|
15
|
-
expect(formatDate(testDate, 'year-only')).to.equal('2020');
|
|
16
|
-
});
|
|
17
|
-
it('returns correct year for old "Jan 1 at midnight" dates and year-only DateFormat', () => {
|
|
18
|
-
// Many standard timezones have a discontinuity in date parsing at some point during
|
|
19
|
-
// the 19th or 20th century, corresponding to the creation of the timezone.
|
|
20
|
-
// Dates prior to the discontinuity generally have a non-hour-aligned timezone offset
|
|
21
|
-
// which can throw off the calculated year for dates which are close to a year boundary.
|
|
22
|
-
// This is particularly problematic for "Jan 1 at midnight" dates, which are what we
|
|
23
|
-
// receive from the search engine for date metadata that only specifies the year.
|
|
24
|
-
// So we must ensure these older dates still output the correct year, not the prior one.
|
|
25
|
-
expect(formatDate(new Date('1234-01-01T00:00:00Z'), 'year-only')).to.equal('1234');
|
|
26
|
-
});
|
|
27
|
-
it('returns locale formatted date', () => {
|
|
28
|
-
expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');
|
|
29
|
-
});
|
|
30
|
-
});
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { formatDate } from '../../src/utils/format-date';
|
|
3
|
+
const testDate = new Date(2020, 11, 9);
|
|
4
|
+
describe('formatDate', () => {
|
|
5
|
+
it('returns blank when undefined date', () => {
|
|
6
|
+
expect(formatDate(undefined)).to.equal('');
|
|
7
|
+
});
|
|
8
|
+
it('returns short date when no DateFormat', () => {
|
|
9
|
+
expect(formatDate(testDate)).to.equal('Dec 2020');
|
|
10
|
+
});
|
|
11
|
+
it('returns long date when long DateFormat', () => {
|
|
12
|
+
expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');
|
|
13
|
+
});
|
|
14
|
+
it('returns year-only date when year-only DateFormat', () => {
|
|
15
|
+
expect(formatDate(testDate, 'year-only')).to.equal('2020');
|
|
16
|
+
});
|
|
17
|
+
it('returns correct year for old "Jan 1 at midnight" dates and year-only DateFormat', () => {
|
|
18
|
+
// Many standard timezones have a discontinuity in date parsing at some point during
|
|
19
|
+
// the 19th or 20th century, corresponding to the creation of the timezone.
|
|
20
|
+
// Dates prior to the discontinuity generally have a non-hour-aligned timezone offset
|
|
21
|
+
// which can throw off the calculated year for dates which are close to a year boundary.
|
|
22
|
+
// This is particularly problematic for "Jan 1 at midnight" dates, which are what we
|
|
23
|
+
// receive from the search engine for date metadata that only specifies the year.
|
|
24
|
+
// So we must ensure these older dates still output the correct year, not the prior one.
|
|
25
|
+
expect(formatDate(new Date('1234-01-01T00:00:00Z'), 'year-only')).to.equal('1234');
|
|
26
|
+
});
|
|
27
|
+
it('returns locale formatted date', () => {
|
|
28
|
+
expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
31
|
//# sourceMappingURL=format-date.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { nothing } from 'lit';
|
|
3
|
-
import { formatUnitSize } from '../../src/utils/format-unit-size';
|
|
4
|
-
describe('formatUnitSize', () => {
|
|
5
|
-
it('returns blank when undefined number', () => {
|
|
6
|
-
expect(formatUnitSize(undefined, 1)).to.equal(nothing);
|
|
7
|
-
});
|
|
8
|
-
it('returns collection data is in singular form', () => {
|
|
9
|
-
expect(formatUnitSize(1025, 1)).to.equal('1 kilobyte');
|
|
10
|
-
});
|
|
11
|
-
it('return collection size data in kilobytes and plural form', () => {
|
|
12
|
-
expect(formatUnitSize(15000, 1)).to.equal('14.6 kilobytes');
|
|
13
|
-
});
|
|
14
|
-
it('return huge collection size data', () => {
|
|
15
|
-
expect(formatUnitSize(454154654134, 1)).to.equal('423 gigabytes');
|
|
16
|
-
});
|
|
17
|
-
});
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { nothing } from 'lit';
|
|
3
|
+
import { formatUnitSize } from '../../src/utils/format-unit-size';
|
|
4
|
+
describe('formatUnitSize', () => {
|
|
5
|
+
it('returns blank when undefined number', () => {
|
|
6
|
+
expect(formatUnitSize(undefined, 1)).to.equal(nothing);
|
|
7
|
+
});
|
|
8
|
+
it('returns collection data is in singular form', () => {
|
|
9
|
+
expect(formatUnitSize(1025, 1)).to.equal('1 kilobyte');
|
|
10
|
+
});
|
|
11
|
+
it('return collection size data in kilobytes and plural form', () => {
|
|
12
|
+
expect(formatUnitSize(15000, 1)).to.equal('14.6 kilobytes');
|
|
13
|
+
});
|
|
14
|
+
it('return huge collection size data', () => {
|
|
15
|
+
expect(formatUnitSize(454154654134, 1)).to.equal('423 gigabytes');
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
18
|
//# sourceMappingURL=format-unit-size.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { localDateFromUTC, isFirstMillisecondOfUTCYear, } from '../../src/utils/local-date-from-utc';
|
|
3
|
-
describe('localDateFromUTC', () => {
|
|
4
|
-
it('converts dates from UTC to local timezone', async () => {
|
|
5
|
-
const date = new Date(1990, 1, 2, 3, 4, 5, 6);
|
|
6
|
-
const dateFromUTC = new Date(Date.UTC(1990, 1, 2, 3, 4, 5, 6));
|
|
7
|
-
expect(localDateFromUTC(date).toISOString()).to.equal(dateFromUTC.toISOString());
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
describe('isFirstMillisecondOfUTCYear', () => {
|
|
11
|
-
it('returns true when date is exactly Jan 1 at midnight in UTC', async () => {
|
|
12
|
-
const midnightOnNewYearsDay = new Date(2010, 0, 1, 0, 0, 0, 0);
|
|
13
|
-
expect(isFirstMillisecondOfUTCYear(midnightOnNewYearsDay)).to.be.true;
|
|
14
|
-
});
|
|
15
|
-
it('returns false when date is not exactly Jan 1 at midnight in UTC', async () => {
|
|
16
|
-
const oneMillisecondTooEarly = new Date(2009, 11, 31, 23, 59, 59, 999);
|
|
17
|
-
expect(isFirstMillisecondOfUTCYear(oneMillisecondTooEarly)).to.be.false;
|
|
18
|
-
const oneMillisecondTooLate = new Date(2010, 0, 1, 0, 0, 0, 1);
|
|
19
|
-
expect(isFirstMillisecondOfUTCYear(oneMillisecondTooLate)).to.be.false;
|
|
20
|
-
const middleOfTheYear = new Date(2010, 6, 1, 0, 0, 0, 0);
|
|
21
|
-
expect(isFirstMillisecondOfUTCYear(middleOfTheYear)).to.be.false;
|
|
22
|
-
});
|
|
23
|
-
it('returns false when no date provided', async () => {
|
|
24
|
-
expect(isFirstMillisecondOfUTCYear(undefined)).to.be.false;
|
|
25
|
-
});
|
|
26
|
-
});
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { localDateFromUTC, isFirstMillisecondOfUTCYear, } from '../../src/utils/local-date-from-utc';
|
|
3
|
+
describe('localDateFromUTC', () => {
|
|
4
|
+
it('converts dates from UTC to local timezone', async () => {
|
|
5
|
+
const date = new Date(1990, 1, 2, 3, 4, 5, 6);
|
|
6
|
+
const dateFromUTC = new Date(Date.UTC(1990, 1, 2, 3, 4, 5, 6));
|
|
7
|
+
expect(localDateFromUTC(date).toISOString()).to.equal(dateFromUTC.toISOString());
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
describe('isFirstMillisecondOfUTCYear', () => {
|
|
11
|
+
it('returns true when date is exactly Jan 1 at midnight in UTC', async () => {
|
|
12
|
+
const midnightOnNewYearsDay = new Date(2010, 0, 1, 0, 0, 0, 0);
|
|
13
|
+
expect(isFirstMillisecondOfUTCYear(midnightOnNewYearsDay)).to.be.true;
|
|
14
|
+
});
|
|
15
|
+
it('returns false when date is not exactly Jan 1 at midnight in UTC', async () => {
|
|
16
|
+
const oneMillisecondTooEarly = new Date(2009, 11, 31, 23, 59, 59, 999);
|
|
17
|
+
expect(isFirstMillisecondOfUTCYear(oneMillisecondTooEarly)).to.be.false;
|
|
18
|
+
const oneMillisecondTooLate = new Date(2010, 0, 1, 0, 0, 0, 1);
|
|
19
|
+
expect(isFirstMillisecondOfUTCYear(oneMillisecondTooLate)).to.be.false;
|
|
20
|
+
const middleOfTheYear = new Date(2010, 6, 1, 0, 0, 0, 0);
|
|
21
|
+
expect(isFirstMillisecondOfUTCYear(middleOfTheYear)).to.be.false;
|
|
22
|
+
});
|
|
23
|
+
it('returns false when no date provided', async () => {
|
|
24
|
+
expect(isFirstMillisecondOfUTCYear(undefined)).to.be.false;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
27
|
//# sourceMappingURL=local-date-from-utc.test.js.map
|
package/local.archive.org.cert
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
Certificate:
|
|
2
|
-
Data:
|
|
3
|
-
Version: 3 (0x2)
|
|
4
|
-
Serial Number: 1 (0x1)
|
|
5
|
-
Signature Algorithm: sha256WithRSAEncryption
|
|
6
|
-
Issuer: CN=devcert
|
|
7
|
-
Validity
|
|
8
|
-
Not Before: Apr 27 16:27:46 2022 GMT
|
|
9
|
-
Not After : Jul 30 16:27:46 2024 GMT
|
|
10
|
-
Subject: CN=local.archive.org
|
|
11
|
-
Subject Public Key Info:
|
|
12
|
-
Public Key Algorithm: rsaEncryption
|
|
13
|
-
Public-Key: (2048 bit)
|
|
14
|
-
Modulus:
|
|
15
|
-
00:a9:54:ca:34:ff:8b:32:02:39:97:61:bd:f5:12:
|
|
16
|
-
5c:4a:d0:87:2e:d6:42:63:72:ea:b4:90:95:cc:4a:
|
|
17
|
-
ef:5a:66:09:9f:1d:08:0d:b2:f4:2e:b3:55:59:9c:
|
|
18
|
-
0f:77:37:1e:d7:a3:5c:b7:3d:81:84:fc:55:af:20:
|
|
19
|
-
e7:3c:bd:9e:2b:2b:9e:d1:95:9d:14:90:70:7c:99:
|
|
20
|
-
78:f1:dd:42:2b:fd:87:b9:09:f0:f6:50:c7:90:41:
|
|
21
|
-
de:e2:ee:dd:a0:4a:4d:de:20:6a:e8:1b:81:7f:d9:
|
|
22
|
-
17:0d:f5:f2:a1:dc:89:d8:e9:89:9c:ff:40:b7:0e:
|
|
23
|
-
bb:16:db:d1:e0:67:5f:24:de:3b:b8:18:b8:a6:dd:
|
|
24
|
-
d5:26:8a:2a:a4:f2:03:b1:a8:15:23:31:c9:65:de:
|
|
25
|
-
9b:5a:b0:f0:4f:ef:77:f1:8b:7b:91:95:a0:61:be:
|
|
26
|
-
1f:64:29:c6:2e:2c:03:1b:f0:91:96:b6:ab:fb:11:
|
|
27
|
-
b7:1c:41:bc:43:6e:1b:6f:28:88:40:bd:a8:47:28:
|
|
28
|
-
9e:a4:64:31:e0:a5:72:db:09:cb:b0:9e:7a:d5:d0:
|
|
29
|
-
7f:15:15:75:d4:d6:78:41:c9:a1:54:73:48:19:4f:
|
|
30
|
-
72:95:a1:31:b3:4c:81:41:13:43:d9:9b:8c:d0:2e:
|
|
31
|
-
29:09:a2:59:6b:15:6d:5c:93:22:03:f5:72:f0:46:
|
|
32
|
-
be:65
|
|
33
|
-
Exponent: 65537 (0x10001)
|
|
34
|
-
X509v3 extensions:
|
|
35
|
-
X509v3 Basic Constraints: critical
|
|
36
|
-
CA:FALSE
|
|
37
|
-
X509v3 Subject Key Identifier:
|
|
38
|
-
E1:20:A8:89:51:79:0C:23:66:20:B7:A5:A4:42:8F:40:7F:7E:C0:CE
|
|
39
|
-
X509v3 Authority Key Identifier:
|
|
40
|
-
keyid:A8:C7:C5:69:35:49:1B:B6:77:E7:2E:16:5B:B0:75:8C:B7:03:5C:04
|
|
41
|
-
DirName:/CN=devcert
|
|
42
|
-
serial:DB:1E:4C:08:75:57:8D:4E
|
|
43
|
-
|
|
44
|
-
X509v3 Key Usage: critical
|
|
45
|
-
Digital Signature, Key Encipherment
|
|
46
|
-
X509v3 Extended Key Usage:
|
|
47
|
-
TLS Web Server Authentication
|
|
48
|
-
X509v3 Subject Alternative Name:
|
|
49
|
-
DNS:local.archive.org, DNS:*.local.archive.org
|
|
50
|
-
Signature Algorithm: sha256WithRSAEncryption
|
|
51
|
-
5a:20:54:0b:6f:c3:35:e6:70:c1:bd:5c:58:e8:cf:7b:73:33:
|
|
52
|
-
38:80:70:c1:1c:60:2a:ea:5c:0c:eb:63:6a:15:48:fe:4d:f6:
|
|
53
|
-
18:89:e1:89:73:40:45:52:7d:bc:3a:d6:0e:d3:65:2c:e7:b9:
|
|
54
|
-
ab:3b:c6:ea:6e:74:74:39:4f:53:3f:bb:59:d9:91:83:db:92:
|
|
55
|
-
96:32:97:25:5f:c2:8d:85:ce:b3:c7:b1:4d:37:b7:bd:81:de:
|
|
56
|
-
f7:9f:34:5b:12:70:21:a8:03:8d:94:ed:d7:41:7f:2a:87:30:
|
|
57
|
-
bd:4f:07:22:b2:9a:06:ab:bc:41:2c:2f:7c:be:e0:a2:90:60:
|
|
58
|
-
21:79:d4:a1:08:26:c1:f4:83:b2:0a:ff:7d:0a:15:dc:ed:d0:
|
|
59
|
-
49:f9:37:ad:fe:68:d7:59:9d:f8:25:4e:10:01:bf:a5:be:ec:
|
|
60
|
-
21:a8:bf:77:6c:ff:d4:b7:d4:11:9c:43:4a:64:e8:31:76:9a:
|
|
61
|
-
01:3a:54:d9:c0:8a:a6:2c:7a:df:0a:c4:26:6e:19:52:26:9d:
|
|
62
|
-
25:b5:b1:db:6f:12:91:92:83:ab:6c:28:52:e1:e4:63:c2:cf:
|
|
63
|
-
45:f7:b4:da:7d:13:66:47:62:90:e6:8d:2c:b8:aa:d4:2b:8c:
|
|
64
|
-
d6:c0:5c:fc:83:e7:1f:71:5f:cb:38:b6:c3:a5:77:7d:97:04:
|
|
65
|
-
87:14:44:83
|
|
66
|
-
-----BEGIN CERTIFICATE-----
|
|
67
|
-
MIIDdjCCAl6gAwIBAgIBATANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdkZXZj
|
|
68
|
-
ZXJ0MB4XDTIyMDQyNzE2Mjc0NloXDTI0MDczMDE2Mjc0NlowHDEaMBgGA1UEAwwR
|
|
69
|
-
bG9jYWwuYXJjaGl2ZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
|
70
|
-
AQCpVMo0/4syAjmXYb31ElxK0Icu1kJjcuq0kJXMSu9aZgmfHQgNsvQus1VZnA93
|
|
71
|
-
Nx7Xo1y3PYGE/FWvIOc8vZ4rK57RlZ0UkHB8mXjx3UIr/Ye5CfD2UMeQQd7i7t2g
|
|
72
|
-
Sk3eIGroG4F/2RcN9fKh3InY6Ymc/0C3DrsW29HgZ18k3ju4GLim3dUmiiqk8gOx
|
|
73
|
-
qBUjMcll3ptasPBP73fxi3uRlaBhvh9kKcYuLAMb8JGWtqv7EbccQbxDbhtvKIhA
|
|
74
|
-
vahHKJ6kZDHgpXLbCcuwnnrV0H8VFXXU1nhByaFUc0gZT3KVoTGzTIFBE0PZm4zQ
|
|
75
|
-
LikJollrFW1ckyID9XLwRr5lAgMBAAGjgcwwgckwDAYDVR0TAQH/BAIwADAdBgNV
|
|
76
|
-
HQ4EFgQU4SCoiVF5DCNmILelpEKPQH9+wM4wQgYDVR0jBDswOYAUqMfFaTVJG7Z3
|
|
77
|
-
5y4WW7B1jLcDXAShFqQUMBIxEDAOBgNVBAMMB2RldmNlcnSCCQDbHkwIdVeNTjAO
|
|
78
|
-
BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwMQYDVR0RBCowKIIR
|
|
79
|
-
bG9jYWwuYXJjaGl2ZS5vcmeCEyoubG9jYWwuYXJjaGl2ZS5vcmcwDQYJKoZIhvcN
|
|
80
|
-
AQELBQADggEBAFogVAtvwzXmcMG9XFjoz3tzMziAcMEcYCrqXAzrY2oVSP5N9hiJ
|
|
81
|
-
4YlzQEVSfbw61g7TZSznuas7xupudHQ5T1M/u1nZkYPbkpYylyVfwo2FzrPHsU03
|
|
82
|
-
t72B3vefNFsScCGoA42U7ddBfyqHML1PByKymgarvEEsL3y+4KKQYCF51KEIJsH0
|
|
83
|
-
g7IK/30KFdzt0En5N63+aNdZnfglThABv6W+7CGov3ds/9S31BGcQ0pk6DF2mgE6
|
|
84
|
-
VNnAiqYset8KxCZuGVImnSW1sdtvEpGSg6tsKFLh5GPCz0X3tNp9E2ZHYpDmjSy4
|
|
85
|
-
qtQrjNbAXPyD5x9xX8s4tsOld32XBIcURIM=
|
|
86
|
-
-----END CERTIFICATE-----
|
|
1
|
+
Certificate:
|
|
2
|
+
Data:
|
|
3
|
+
Version: 3 (0x2)
|
|
4
|
+
Serial Number: 1 (0x1)
|
|
5
|
+
Signature Algorithm: sha256WithRSAEncryption
|
|
6
|
+
Issuer: CN=devcert
|
|
7
|
+
Validity
|
|
8
|
+
Not Before: Apr 27 16:27:46 2022 GMT
|
|
9
|
+
Not After : Jul 30 16:27:46 2024 GMT
|
|
10
|
+
Subject: CN=local.archive.org
|
|
11
|
+
Subject Public Key Info:
|
|
12
|
+
Public Key Algorithm: rsaEncryption
|
|
13
|
+
Public-Key: (2048 bit)
|
|
14
|
+
Modulus:
|
|
15
|
+
00:a9:54:ca:34:ff:8b:32:02:39:97:61:bd:f5:12:
|
|
16
|
+
5c:4a:d0:87:2e:d6:42:63:72:ea:b4:90:95:cc:4a:
|
|
17
|
+
ef:5a:66:09:9f:1d:08:0d:b2:f4:2e:b3:55:59:9c:
|
|
18
|
+
0f:77:37:1e:d7:a3:5c:b7:3d:81:84:fc:55:af:20:
|
|
19
|
+
e7:3c:bd:9e:2b:2b:9e:d1:95:9d:14:90:70:7c:99:
|
|
20
|
+
78:f1:dd:42:2b:fd:87:b9:09:f0:f6:50:c7:90:41:
|
|
21
|
+
de:e2:ee:dd:a0:4a:4d:de:20:6a:e8:1b:81:7f:d9:
|
|
22
|
+
17:0d:f5:f2:a1:dc:89:d8:e9:89:9c:ff:40:b7:0e:
|
|
23
|
+
bb:16:db:d1:e0:67:5f:24:de:3b:b8:18:b8:a6:dd:
|
|
24
|
+
d5:26:8a:2a:a4:f2:03:b1:a8:15:23:31:c9:65:de:
|
|
25
|
+
9b:5a:b0:f0:4f:ef:77:f1:8b:7b:91:95:a0:61:be:
|
|
26
|
+
1f:64:29:c6:2e:2c:03:1b:f0:91:96:b6:ab:fb:11:
|
|
27
|
+
b7:1c:41:bc:43:6e:1b:6f:28:88:40:bd:a8:47:28:
|
|
28
|
+
9e:a4:64:31:e0:a5:72:db:09:cb:b0:9e:7a:d5:d0:
|
|
29
|
+
7f:15:15:75:d4:d6:78:41:c9:a1:54:73:48:19:4f:
|
|
30
|
+
72:95:a1:31:b3:4c:81:41:13:43:d9:9b:8c:d0:2e:
|
|
31
|
+
29:09:a2:59:6b:15:6d:5c:93:22:03:f5:72:f0:46:
|
|
32
|
+
be:65
|
|
33
|
+
Exponent: 65537 (0x10001)
|
|
34
|
+
X509v3 extensions:
|
|
35
|
+
X509v3 Basic Constraints: critical
|
|
36
|
+
CA:FALSE
|
|
37
|
+
X509v3 Subject Key Identifier:
|
|
38
|
+
E1:20:A8:89:51:79:0C:23:66:20:B7:A5:A4:42:8F:40:7F:7E:C0:CE
|
|
39
|
+
X509v3 Authority Key Identifier:
|
|
40
|
+
keyid:A8:C7:C5:69:35:49:1B:B6:77:E7:2E:16:5B:B0:75:8C:B7:03:5C:04
|
|
41
|
+
DirName:/CN=devcert
|
|
42
|
+
serial:DB:1E:4C:08:75:57:8D:4E
|
|
43
|
+
|
|
44
|
+
X509v3 Key Usage: critical
|
|
45
|
+
Digital Signature, Key Encipherment
|
|
46
|
+
X509v3 Extended Key Usage:
|
|
47
|
+
TLS Web Server Authentication
|
|
48
|
+
X509v3 Subject Alternative Name:
|
|
49
|
+
DNS:local.archive.org, DNS:*.local.archive.org
|
|
50
|
+
Signature Algorithm: sha256WithRSAEncryption
|
|
51
|
+
5a:20:54:0b:6f:c3:35:e6:70:c1:bd:5c:58:e8:cf:7b:73:33:
|
|
52
|
+
38:80:70:c1:1c:60:2a:ea:5c:0c:eb:63:6a:15:48:fe:4d:f6:
|
|
53
|
+
18:89:e1:89:73:40:45:52:7d:bc:3a:d6:0e:d3:65:2c:e7:b9:
|
|
54
|
+
ab:3b:c6:ea:6e:74:74:39:4f:53:3f:bb:59:d9:91:83:db:92:
|
|
55
|
+
96:32:97:25:5f:c2:8d:85:ce:b3:c7:b1:4d:37:b7:bd:81:de:
|
|
56
|
+
f7:9f:34:5b:12:70:21:a8:03:8d:94:ed:d7:41:7f:2a:87:30:
|
|
57
|
+
bd:4f:07:22:b2:9a:06:ab:bc:41:2c:2f:7c:be:e0:a2:90:60:
|
|
58
|
+
21:79:d4:a1:08:26:c1:f4:83:b2:0a:ff:7d:0a:15:dc:ed:d0:
|
|
59
|
+
49:f9:37:ad:fe:68:d7:59:9d:f8:25:4e:10:01:bf:a5:be:ec:
|
|
60
|
+
21:a8:bf:77:6c:ff:d4:b7:d4:11:9c:43:4a:64:e8:31:76:9a:
|
|
61
|
+
01:3a:54:d9:c0:8a:a6:2c:7a:df:0a:c4:26:6e:19:52:26:9d:
|
|
62
|
+
25:b5:b1:db:6f:12:91:92:83:ab:6c:28:52:e1:e4:63:c2:cf:
|
|
63
|
+
45:f7:b4:da:7d:13:66:47:62:90:e6:8d:2c:b8:aa:d4:2b:8c:
|
|
64
|
+
d6:c0:5c:fc:83:e7:1f:71:5f:cb:38:b6:c3:a5:77:7d:97:04:
|
|
65
|
+
87:14:44:83
|
|
66
|
+
-----BEGIN CERTIFICATE-----
|
|
67
|
+
MIIDdjCCAl6gAwIBAgIBATANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdkZXZj
|
|
68
|
+
ZXJ0MB4XDTIyMDQyNzE2Mjc0NloXDTI0MDczMDE2Mjc0NlowHDEaMBgGA1UEAwwR
|
|
69
|
+
bG9jYWwuYXJjaGl2ZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
|
70
|
+
AQCpVMo0/4syAjmXYb31ElxK0Icu1kJjcuq0kJXMSu9aZgmfHQgNsvQus1VZnA93
|
|
71
|
+
Nx7Xo1y3PYGE/FWvIOc8vZ4rK57RlZ0UkHB8mXjx3UIr/Ye5CfD2UMeQQd7i7t2g
|
|
72
|
+
Sk3eIGroG4F/2RcN9fKh3InY6Ymc/0C3DrsW29HgZ18k3ju4GLim3dUmiiqk8gOx
|
|
73
|
+
qBUjMcll3ptasPBP73fxi3uRlaBhvh9kKcYuLAMb8JGWtqv7EbccQbxDbhtvKIhA
|
|
74
|
+
vahHKJ6kZDHgpXLbCcuwnnrV0H8VFXXU1nhByaFUc0gZT3KVoTGzTIFBE0PZm4zQ
|
|
75
|
+
LikJollrFW1ckyID9XLwRr5lAgMBAAGjgcwwgckwDAYDVR0TAQH/BAIwADAdBgNV
|
|
76
|
+
HQ4EFgQU4SCoiVF5DCNmILelpEKPQH9+wM4wQgYDVR0jBDswOYAUqMfFaTVJG7Z3
|
|
77
|
+
5y4WW7B1jLcDXAShFqQUMBIxEDAOBgNVBAMMB2RldmNlcnSCCQDbHkwIdVeNTjAO
|
|
78
|
+
BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwMQYDVR0RBCowKIIR
|
|
79
|
+
bG9jYWwuYXJjaGl2ZS5vcmeCEyoubG9jYWwuYXJjaGl2ZS5vcmcwDQYJKoZIhvcN
|
|
80
|
+
AQELBQADggEBAFogVAtvwzXmcMG9XFjoz3tzMziAcMEcYCrqXAzrY2oVSP5N9hiJ
|
|
81
|
+
4YlzQEVSfbw61g7TZSznuas7xupudHQ5T1M/u1nZkYPbkpYylyVfwo2FzrPHsU03
|
|
82
|
+
t72B3vefNFsScCGoA42U7ddBfyqHML1PByKymgarvEEsL3y+4KKQYCF51KEIJsH0
|
|
83
|
+
g7IK/30KFdzt0En5N63+aNdZnfglThABv6W+7CGov3ds/9S31BGcQ0pk6DF2mgE6
|
|
84
|
+
VNnAiqYset8KxCZuGVImnSW1sdtvEpGSg6tsKFLh5GPCz0X3tNp9E2ZHYpDmjSy4
|
|
85
|
+
qtQrjNbAXPyD5x9xX8s4tsOld32XBIcURIM=
|
|
86
|
+
-----END CERTIFICATE-----
|
package/local.archive.org.key
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
-
MIIEowIBAAKCAQEAqVTKNP+LMgI5l2G99RJcStCHLtZCY3LqtJCVzErvWmYJnx0I
|
|
3
|
-
DbL0LrNVWZwPdzce16Nctz2BhPxVryDnPL2eKyue0ZWdFJBwfJl48d1CK/2HuQnw
|
|
4
|
-
9lDHkEHe4u7doEpN3iBq6BuBf9kXDfXyodyJ2OmJnP9Atw67FtvR4GdfJN47uBi4
|
|
5
|
-
pt3VJooqpPIDsagVIzHJZd6bWrDwT+938Yt7kZWgYb4fZCnGLiwDG/CRlrar+xG3
|
|
6
|
-
HEG8Q24bbyiIQL2oRyiepGQx4KVy2wnLsJ561dB/FRV11NZ4QcmhVHNIGU9ylaEx
|
|
7
|
-
s0yBQRND2ZuM0C4pCaJZaxVtXJMiA/Vy8Ea+ZQIDAQABAoIBAAQgUdEazQyJ61da
|
|
8
|
-
BWP8b41PKYwlonaD7V47C7tvtAdy5xcegPy8eKDOs+y8FdBk4naEv5Sjhg10jK34
|
|
9
|
-
0kmzoTASHwuiZrKClosivkS+jIc/5VfH+zw1WbeVM1Y6VeI7DUy1Y4WGbhBsfNhV
|
|
10
|
-
PvVcx2smvbi6q5wKWtrCvomGW1YtngNBXJBPDWXysaVZdpF+6iWtw0RjWxbKEeMb
|
|
11
|
-
fjZ2sxl7h1EkTXxQR9pfl9WVgl6vRRXp1o+N71M14jp5t95xCyf49YzeEuZmc1Fc
|
|
12
|
-
dD77LNGcxr3kpkcQH5FdDP/spla+lR+JKb78FVqhEdPP3WcJ1qcrAstG2npAfKpj
|
|
13
|
-
MD9AhsECgYEA3BddOjeK9epaGbTZRKgmIOSgGEHo8WbVHqBHhyQKAb8kFVEPn+Hl
|
|
14
|
-
sq2EEQZf0ZJ/HhlVBc0Gj4/2PI8vj1Lzh+QWJnFu+XN/doOm5X62Ctz13qC5oWJp
|
|
15
|
-
foQ9HXcg4GAXhm/o3KUIntLrUwoi/UW8YOSRFXS8RSJtuh1rI5P2jjECgYEAxPVP
|
|
16
|
-
o/9+12Fc2ujdm8cQ1tB1Ab9Z73/vloG/xit0uMp89OqXUHEmtud/WzaIQvNxdaWi
|
|
17
|
-
9/BqAG9Oml51T3cuYPxNDkSmtd2fieq9Nh17dw8zYGMk0cSYeecgvCJOrRIJnebW
|
|
18
|
-
Glyt8vzBb3eD6FzhZoVNOVYareainSP1cwl5YnUCgYAsr2m0OjayeyRT983tDJ7B
|
|
19
|
-
Kun+QtOCv7ghgbVEEOMfO6md0llzwq+aOXSI6Fxn9nBssgP7K4dbeoUqAoBLfzIG
|
|
20
|
-
sx50K6+2YebNLymhirp3NimNS+CkjZCRqVOnOdqo85mTKAGFWtSHOpegwnwcJB59
|
|
21
|
-
Jar3Sj43YygYE4T/Mjlq4QKBgQC8zUcdt2J4xl1Df6xHkuiic0tmdG6a9jHOPex+
|
|
22
|
-
49NM/NYR1Ptd4kmxVXKxFjJCs6jUlQYG1NBYQFrCAcBEf8PWtqSLA+YnOh6gD4R3
|
|
23
|
-
ZoWfGNQwFnoKF4HugU/Q6LYwk7TiR5B/zs30urQWzSOGT9rF8wyW5OJIR2kkZ373
|
|
24
|
-
WmKgrQKBgGaw32CMejz3wBpzOAXsYJcMsVfNCMD4bJ2EbXhYuY8HB8IEEv6wqMsp
|
|
25
|
-
wtXIgHJubfIiA3MlVsfaUkRdtHMHbN+Us1oynu6nByLhYlAMKpOsJFzPVHHwGB/1
|
|
26
|
-
g3WtzfFk5eOoZltJBm5K41zjS7lyr1t05648pT6niy9snu6LaF94
|
|
27
|
-
-----END RSA PRIVATE KEY-----
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEowIBAAKCAQEAqVTKNP+LMgI5l2G99RJcStCHLtZCY3LqtJCVzErvWmYJnx0I
|
|
3
|
+
DbL0LrNVWZwPdzce16Nctz2BhPxVryDnPL2eKyue0ZWdFJBwfJl48d1CK/2HuQnw
|
|
4
|
+
9lDHkEHe4u7doEpN3iBq6BuBf9kXDfXyodyJ2OmJnP9Atw67FtvR4GdfJN47uBi4
|
|
5
|
+
pt3VJooqpPIDsagVIzHJZd6bWrDwT+938Yt7kZWgYb4fZCnGLiwDG/CRlrar+xG3
|
|
6
|
+
HEG8Q24bbyiIQL2oRyiepGQx4KVy2wnLsJ561dB/FRV11NZ4QcmhVHNIGU9ylaEx
|
|
7
|
+
s0yBQRND2ZuM0C4pCaJZaxVtXJMiA/Vy8Ea+ZQIDAQABAoIBAAQgUdEazQyJ61da
|
|
8
|
+
BWP8b41PKYwlonaD7V47C7tvtAdy5xcegPy8eKDOs+y8FdBk4naEv5Sjhg10jK34
|
|
9
|
+
0kmzoTASHwuiZrKClosivkS+jIc/5VfH+zw1WbeVM1Y6VeI7DUy1Y4WGbhBsfNhV
|
|
10
|
+
PvVcx2smvbi6q5wKWtrCvomGW1YtngNBXJBPDWXysaVZdpF+6iWtw0RjWxbKEeMb
|
|
11
|
+
fjZ2sxl7h1EkTXxQR9pfl9WVgl6vRRXp1o+N71M14jp5t95xCyf49YzeEuZmc1Fc
|
|
12
|
+
dD77LNGcxr3kpkcQH5FdDP/spla+lR+JKb78FVqhEdPP3WcJ1qcrAstG2npAfKpj
|
|
13
|
+
MD9AhsECgYEA3BddOjeK9epaGbTZRKgmIOSgGEHo8WbVHqBHhyQKAb8kFVEPn+Hl
|
|
14
|
+
sq2EEQZf0ZJ/HhlVBc0Gj4/2PI8vj1Lzh+QWJnFu+XN/doOm5X62Ctz13qC5oWJp
|
|
15
|
+
foQ9HXcg4GAXhm/o3KUIntLrUwoi/UW8YOSRFXS8RSJtuh1rI5P2jjECgYEAxPVP
|
|
16
|
+
o/9+12Fc2ujdm8cQ1tB1Ab9Z73/vloG/xit0uMp89OqXUHEmtud/WzaIQvNxdaWi
|
|
17
|
+
9/BqAG9Oml51T3cuYPxNDkSmtd2fieq9Nh17dw8zYGMk0cSYeecgvCJOrRIJnebW
|
|
18
|
+
Glyt8vzBb3eD6FzhZoVNOVYareainSP1cwl5YnUCgYAsr2m0OjayeyRT983tDJ7B
|
|
19
|
+
Kun+QtOCv7ghgbVEEOMfO6md0llzwq+aOXSI6Fxn9nBssgP7K4dbeoUqAoBLfzIG
|
|
20
|
+
sx50K6+2YebNLymhirp3NimNS+CkjZCRqVOnOdqo85mTKAGFWtSHOpegwnwcJB59
|
|
21
|
+
Jar3Sj43YygYE4T/Mjlq4QKBgQC8zUcdt2J4xl1Df6xHkuiic0tmdG6a9jHOPex+
|
|
22
|
+
49NM/NYR1Ptd4kmxVXKxFjJCs6jUlQYG1NBYQFrCAcBEf8PWtqSLA+YnOh6gD4R3
|
|
23
|
+
ZoWfGNQwFnoKF4HugU/Q6LYwk7TiR5B/zs30urQWzSOGT9rF8wyW5OJIR2kkZ373
|
|
24
|
+
WmKgrQKBgGaw32CMejz3wBpzOAXsYJcMsVfNCMD4bJ2EbXhYuY8HB8IEEv6wqMsp
|
|
25
|
+
wtXIgHJubfIiA3MlVsfaUkRdtHMHbN+Us1oynu6nByLhYlAMKpOsJFzPVHHwGB/1
|
|
26
|
+
g3WtzfFk5eOoZltJBm5K41zjS7lyr1t05648pT6niy9snu6LaF94
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
package/package.json
CHANGED
package/renovate.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": [
|
|
3
|
-
"config:base",
|
|
4
|
-
":preserveSemverRanges"
|
|
5
|
-
]
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"extends": [
|
|
3
|
+
"config:base",
|
|
4
|
+
":preserveSemverRanges"
|
|
5
|
+
]
|
|
6
|
+
}
|
package/src/app-root.ts
CHANGED
|
@@ -489,10 +489,8 @@ export class AppRoot extends LitElement {
|
|
|
489
489
|
@baseQueryChanged=${this.baseQueryChanged}
|
|
490
490
|
@searchTypeChanged=${this.searchTypeChanged}
|
|
491
491
|
@manageModeChanged=${this.manageModeChanged}
|
|
492
|
-
@itemRemovalRequested=${
|
|
493
|
-
|
|
494
|
-
@itemManagerRequested=${(e: CustomEvent) =>
|
|
495
|
-
console.log(e.detail.items)}
|
|
492
|
+
@itemRemovalRequested=${this.handleItemRemovalRequest}
|
|
493
|
+
@itemManagerRequested=${this.handleItemManagerRequest}
|
|
496
494
|
>
|
|
497
495
|
${this.toggleSlots
|
|
498
496
|
? html`<div slot="sortbar-left-slot">Sort Slot</div>`
|
|
@@ -707,6 +705,36 @@ export class AppRoot extends LitElement {
|
|
|
707
705
|
if (manageCheckbox) manageCheckbox.checked = e.detail;
|
|
708
706
|
}
|
|
709
707
|
|
|
708
|
+
/**
|
|
709
|
+
* Handler for item removal
|
|
710
|
+
*/
|
|
711
|
+
private handleItemRemovalRequest(e: CustomEvent) {
|
|
712
|
+
this.collectionBrowser.showRemoveItemsProcessingModal();
|
|
713
|
+
console.log('itemRemovalRequested: ', e.detail.items);
|
|
714
|
+
|
|
715
|
+
setTimeout(() => {
|
|
716
|
+
// execute item-removal-service, and response is successfully deleted
|
|
717
|
+
const status = false;
|
|
718
|
+
|
|
719
|
+
if (status) {
|
|
720
|
+
// looking for success?
|
|
721
|
+
this.collectionBrowser.isManageView = false;
|
|
722
|
+
this.modalManager?.closeModal();
|
|
723
|
+
this.modalManager?.classList.remove('remove-items');
|
|
724
|
+
} else {
|
|
725
|
+
// looking for failure?
|
|
726
|
+
this.collectionBrowser.showRemoveItemsErrorModal();
|
|
727
|
+
}
|
|
728
|
+
}, 2000); // let's wait to see processing modal
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Handler when item manage requested
|
|
733
|
+
*/
|
|
734
|
+
private handleItemManagerRequest(e: CustomEvent) {
|
|
735
|
+
console.log('itemManagerRequested: ', e.detail.items);
|
|
736
|
+
}
|
|
737
|
+
|
|
710
738
|
/**
|
|
711
739
|
* Handler for when the dev panel's "Enable manage mode" checkbox is changed.
|
|
712
740
|
*/
|
|
@@ -936,6 +964,12 @@ export class AppRoot extends LitElement {
|
|
|
936
964
|
modal-manager[mode='open'] {
|
|
937
965
|
display: block;
|
|
938
966
|
}
|
|
967
|
+
modal-manager.remove-items {
|
|
968
|
+
--modalWidth: 58rem;
|
|
969
|
+
--modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
|
|
970
|
+
--modalTitleLineHeight: 4rem;
|
|
971
|
+
--modalTitleFontSize: 1.8rem;
|
|
972
|
+
}
|
|
939
973
|
modal-manager.more-search-facets {
|
|
940
974
|
--modalWidth: 85rem;
|
|
941
975
|
--modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
|
|
@@ -57,7 +57,6 @@ import type {
|
|
|
57
57
|
} from './data-source/collection-browser-query-state';
|
|
58
58
|
import { FACETLESS_PAGE_ELEMENTS } from './data-source/models';
|
|
59
59
|
import type { CollectionFacets } from './collection-facets';
|
|
60
|
-
import type { ManageableItem } from './manage/manage-bar';
|
|
61
60
|
import type { CollectionBrowserDataSourceInterface } from './data-source/collection-browser-data-source-interface';
|
|
62
61
|
import {
|
|
63
62
|
analyticsActions,
|
|
@@ -66,9 +65,9 @@ import {
|
|
|
66
65
|
import chevronIcon from './assets/img/icons/chevron';
|
|
67
66
|
import { srOnlyStyle } from './styles/sr-only';
|
|
68
67
|
import { sha1 } from './utils/sha1';
|
|
69
|
-
import { formatDate } from './utils/format-date';
|
|
70
68
|
import { log } from './utils/log';
|
|
71
69
|
import type { PlaceholderType } from './empty-placeholder';
|
|
70
|
+
import type { ManageBar } from './manage/manage-bar';
|
|
72
71
|
|
|
73
72
|
import './empty-placeholder';
|
|
74
73
|
import './tiles/tile-dispatcher';
|
|
@@ -299,6 +298,8 @@ export class CollectionBrowser
|
|
|
299
298
|
|
|
300
299
|
@query('collection-facets') private collectionFacets?: CollectionFacets;
|
|
301
300
|
|
|
301
|
+
@query('manage-bar') private manageBar?: ManageBar;
|
|
302
|
+
|
|
302
303
|
@property({ type: Object, attribute: false })
|
|
303
304
|
analyticsHandler?: AnalyticsManagerInterface;
|
|
304
305
|
|
|
@@ -774,15 +775,23 @@ export class CollectionBrowser
|
|
|
774
775
|
* showing the management view. This generally replaces the sort bar when present.
|
|
775
776
|
*/
|
|
776
777
|
private get manageBarTemplate(): TemplateResult {
|
|
778
|
+
const manageViewModalMsg =
|
|
779
|
+
this.profileElement === 'uploads'
|
|
780
|
+
? 'Note: it may take a few minutes for these items to stop appearing in your uploads list.'
|
|
781
|
+
: nothing;
|
|
782
|
+
|
|
777
783
|
return html`
|
|
778
784
|
<manage-bar
|
|
779
785
|
.label=${this.manageViewLabel}
|
|
780
|
-
.
|
|
786
|
+
.modalManager=${this.modalManager}
|
|
787
|
+
.selectedItems=${this.dataSource.checkedTileModels}
|
|
788
|
+
.manageViewModalMsg=${manageViewModalMsg}
|
|
781
789
|
showSelectAll
|
|
782
790
|
showUnselectAll
|
|
791
|
+
?showItemManageButton=${this.pageContext === 'search'}
|
|
783
792
|
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
784
793
|
@removeItems=${this.handleRemoveItems}
|
|
785
|
-
@
|
|
794
|
+
@manageItems=${this.handleManageItems}
|
|
786
795
|
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
787
796
|
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
788
797
|
@cancel=${() => {
|
|
@@ -799,13 +808,11 @@ export class CollectionBrowser
|
|
|
799
808
|
*/
|
|
800
809
|
private handleRemoveItems(): void {
|
|
801
810
|
this.dispatchEvent(
|
|
802
|
-
new CustomEvent<{ items:
|
|
811
|
+
new CustomEvent<{ items: String[] }>('itemRemovalRequested', {
|
|
803
812
|
detail: {
|
|
804
|
-
items: this.dataSource.checkedTileModels.map(model =>
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
return cloned as ManageableItem;
|
|
808
|
-
}),
|
|
813
|
+
items: this.dataSource.checkedTileModels.map(model =>
|
|
814
|
+
model?.identifier ? model.identifier : ''
|
|
815
|
+
),
|
|
809
816
|
},
|
|
810
817
|
})
|
|
811
818
|
);
|
|
@@ -814,19 +821,32 @@ export class CollectionBrowser
|
|
|
814
821
|
/**
|
|
815
822
|
* Handler when user request to bulk edit from /search/ page
|
|
816
823
|
*/
|
|
817
|
-
private
|
|
824
|
+
private handleManageItems(): void {
|
|
818
825
|
this.dispatchEvent(
|
|
819
|
-
new CustomEvent('itemManagerRequested', {
|
|
826
|
+
new CustomEvent<{ items: String[] }>('itemManagerRequested', {
|
|
820
827
|
detail: {
|
|
821
|
-
items: this.dataSource.checkedTileModels
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
.join(','),
|
|
828
|
+
items: this.dataSource.checkedTileModels.map(model =>
|
|
829
|
+
model?.identifier ? model.identifier : ''
|
|
830
|
+
),
|
|
825
831
|
},
|
|
826
832
|
})
|
|
827
833
|
);
|
|
828
834
|
}
|
|
829
835
|
|
|
836
|
+
/**
|
|
837
|
+
* Handler to show processing modal while removing item
|
|
838
|
+
*/
|
|
839
|
+
showRemoveItemsProcessingModal(): void {
|
|
840
|
+
this.manageBar?.showRemoveItemsProcessingModal();
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
/**
|
|
844
|
+
* Handler to show error modal when item removal failed
|
|
845
|
+
*/
|
|
846
|
+
showRemoveItemsErrorModal(): void {
|
|
847
|
+
this.manageBar?.showRemoveItemsErrorModal();
|
|
848
|
+
}
|
|
849
|
+
|
|
830
850
|
/**
|
|
831
851
|
* Removes all tile models that are currently checked & adjusts the paging
|
|
832
852
|
* of the data source to account for any new gaps in the data.
|