@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
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
1
2
|
import { expect, fixture } from '@open-wc/testing';
|
|
2
3
|
import { html } from 'lit';
|
|
3
4
|
import Sinon from 'sinon';
|
|
4
|
-
import type { ManageBar } from '../../src/manage/manage-bar';
|
|
5
|
-
|
|
6
5
|
import '../../src/manage/manage-bar';
|
|
6
|
+
import {
|
|
7
|
+
ModalManager,
|
|
8
|
+
ModalManagerInterface,
|
|
9
|
+
} from '@internetarchive/modal-manager';
|
|
10
|
+
import '@internetarchive/modal-manager';
|
|
11
|
+
import { msg } from '@lit/localize';
|
|
12
|
+
import type { ManageBar } from '../../src/manage/manage-bar';
|
|
7
13
|
|
|
8
14
|
describe('Manage bar', () => {
|
|
9
15
|
it('renders basic component', async () => {
|
|
@@ -17,10 +23,10 @@ describe('Manage bar', () => {
|
|
|
17
23
|
|
|
18
24
|
it('can set the label', async () => {
|
|
19
25
|
const el = await fixture<ManageBar>(
|
|
20
|
-
html`<manage-bar label="foo bar"></manage-bar
|
|
26
|
+
html`<manage-bar label="foo bar"></manage-bar>`
|
|
21
27
|
);
|
|
22
28
|
expect(el.shadowRoot?.querySelector('.manage-label')?.textContent).to.equal(
|
|
23
|
-
'foo bar'
|
|
29
|
+
'foo bar'
|
|
24
30
|
);
|
|
25
31
|
});
|
|
26
32
|
|
|
@@ -37,21 +43,21 @@ describe('Manage bar', () => {
|
|
|
37
43
|
|
|
38
44
|
it('render item manager button for /search/ page', async () => {
|
|
39
45
|
const el = await fixture<ManageBar>(
|
|
40
|
-
html`<manage-bar
|
|
46
|
+
html`<manage-bar showItemManageButton></manage-bar>`
|
|
41
47
|
);
|
|
42
48
|
expect(el.shadowRoot?.querySelector('.ia-button.warning')).to.exist;
|
|
43
49
|
});
|
|
44
50
|
|
|
45
51
|
it('includes Select All button when requested', async () => {
|
|
46
52
|
const el = await fixture<ManageBar>(
|
|
47
|
-
html`<manage-bar showSelectAll></manage-bar
|
|
53
|
+
html`<manage-bar showSelectAll></manage-bar>`
|
|
48
54
|
);
|
|
49
55
|
expect(el.shadowRoot?.querySelector('.select-all-btn')).to.exist;
|
|
50
56
|
});
|
|
51
57
|
|
|
52
58
|
it('includes Unselect All button when requested', async () => {
|
|
53
59
|
const el = await fixture<ManageBar>(
|
|
54
|
-
html`<manage-bar showUnselectAll></manage-bar
|
|
60
|
+
html`<manage-bar showUnselectAll></manage-bar>`
|
|
55
61
|
);
|
|
56
62
|
expect(el.shadowRoot?.querySelector('.unselect-all-btn')).to.exist;
|
|
57
63
|
});
|
|
@@ -71,11 +77,11 @@ describe('Manage bar', () => {
|
|
|
71
77
|
it('emits event when Cancel button clicked', async () => {
|
|
72
78
|
const spy = Sinon.spy();
|
|
73
79
|
const el = await fixture<ManageBar>(
|
|
74
|
-
html`<manage-bar @cancel=${spy}></manage-bar
|
|
80
|
+
html`<manage-bar @cancel=${spy}></manage-bar>`
|
|
75
81
|
);
|
|
76
82
|
|
|
77
83
|
const cancelBtn = el.shadowRoot?.querySelector(
|
|
78
|
-
'.ia-button.dark'
|
|
84
|
+
'.ia-button.dark'
|
|
79
85
|
) as HTMLButtonElement;
|
|
80
86
|
expect(cancelBtn).to.exist;
|
|
81
87
|
|
|
@@ -83,29 +89,14 @@ describe('Manage bar', () => {
|
|
|
83
89
|
expect(spy.callCount).to.equal(1);
|
|
84
90
|
});
|
|
85
91
|
|
|
86
|
-
it('emits event when Remove Items button clicked', async () => {
|
|
87
|
-
const spy = Sinon.spy();
|
|
88
|
-
const el = await fixture<ManageBar>(
|
|
89
|
-
html`<manage-bar @removeItems=${spy} removeAllowed></manage-bar>`,
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
const removeItemsBtn = el.shadowRoot?.querySelector(
|
|
93
|
-
'.ia-button.danger',
|
|
94
|
-
) as HTMLButtonElement;
|
|
95
|
-
expect(removeItemsBtn).to.exist;
|
|
96
|
-
|
|
97
|
-
removeItemsBtn.click();
|
|
98
|
-
expect(spy.callCount).to.equal(1);
|
|
99
|
-
});
|
|
100
|
-
|
|
101
92
|
it('emits event when Select All button clicked', async () => {
|
|
102
93
|
const spy = Sinon.spy();
|
|
103
94
|
const el = await fixture<ManageBar>(
|
|
104
|
-
html`<manage-bar showSelectAll @selectAll=${spy}></manage-bar
|
|
95
|
+
html`<manage-bar showSelectAll @selectAll=${spy}></manage-bar>`
|
|
105
96
|
);
|
|
106
97
|
|
|
107
98
|
const selectAllBtn = el.shadowRoot?.querySelector(
|
|
108
|
-
'.select-all-btn'
|
|
99
|
+
'.select-all-btn'
|
|
109
100
|
) as HTMLButtonElement;
|
|
110
101
|
expect(selectAllBtn).to.exist;
|
|
111
102
|
|
|
@@ -116,15 +107,48 @@ describe('Manage bar', () => {
|
|
|
116
107
|
it('emits event when Unselect All button clicked', async () => {
|
|
117
108
|
const spy = Sinon.spy();
|
|
118
109
|
const el = await fixture<ManageBar>(
|
|
119
|
-
html`<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar
|
|
110
|
+
html`<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar>`
|
|
120
111
|
);
|
|
121
112
|
|
|
122
113
|
const unselectAllBtn = el.shadowRoot?.querySelector(
|
|
123
|
-
'.unselect-all-btn'
|
|
114
|
+
'.unselect-all-btn'
|
|
124
115
|
) as HTMLButtonElement;
|
|
125
116
|
expect(unselectAllBtn).to.exist;
|
|
126
117
|
|
|
127
118
|
unselectAllBtn.click();
|
|
128
119
|
expect(spy.callCount).to.equal(1);
|
|
129
120
|
});
|
|
121
|
+
|
|
122
|
+
it('opens the remove items modal when showRemoveItemsModal is clicked', async () => {
|
|
123
|
+
const el = await fixture<ManageBar>(html`
|
|
124
|
+
<manage-bar
|
|
125
|
+
.modalManager=${new ModalManager()}
|
|
126
|
+
.selectedItems=${[{ identifier: '1', title: 'Item 1' }]}
|
|
127
|
+
removeAllowed
|
|
128
|
+
></manage-bar>
|
|
129
|
+
`);
|
|
130
|
+
await el.updateComplete;
|
|
131
|
+
|
|
132
|
+
const removeButton = el.shadowRoot?.querySelector(
|
|
133
|
+
'.ia-button.danger'
|
|
134
|
+
) as HTMLButtonElement;
|
|
135
|
+
expect(removeButton).to.exist;
|
|
136
|
+
|
|
137
|
+
const showModalSpy = Sinon.spy(
|
|
138
|
+
el.modalManager as ModalManagerInterface,
|
|
139
|
+
'showModal'
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
await el.updateComplete;
|
|
143
|
+
removeButton?.click();
|
|
144
|
+
|
|
145
|
+
console.log(showModalSpy.args[0][0].config.title?.values[0]);
|
|
146
|
+
|
|
147
|
+
expect(showModalSpy.callCount).to.equal(1);
|
|
148
|
+
expect(el.modalManager?.classList.contains('remove-items')).to.be;
|
|
149
|
+
expect(showModalSpy.args[0][0].config.title?.values[0]).to.equal(
|
|
150
|
+
msg('Are you sure you want to remove these items?')
|
|
151
|
+
);
|
|
152
|
+
expect(showModalSpy.args[0][0].customModalContent).to.exist;
|
|
153
|
+
});
|
|
130
154
|
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import Sinon from 'sinon';
|
|
5
|
+
import type { ManageableItem } from '../../src/models';
|
|
6
|
+
import type { RemoveItemsModalContent } from '../../src/manage/remove-items-modal-content';
|
|
7
|
+
import '../../src/manage/remove-items-modal-content';
|
|
8
|
+
|
|
9
|
+
describe('RemoveItemsModalContent', () => {
|
|
10
|
+
const items: ManageableItem[] = [
|
|
11
|
+
{ identifier: '1', title: 'Item 1', date: '2022-01-01' },
|
|
12
|
+
{ identifier: '2', title: 'Item 2', date: '2022-01-02' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
it('renders basic component', async () => {
|
|
16
|
+
const el = await fixture<RemoveItemsModalContent>(html`
|
|
17
|
+
<remove-items-modal-content
|
|
18
|
+
.items=${items}
|
|
19
|
+
.message=${''}
|
|
20
|
+
></remove-items-modal-content>
|
|
21
|
+
`);
|
|
22
|
+
|
|
23
|
+
expect(el.shadowRoot?.querySelector('ul')).to.exist;
|
|
24
|
+
expect(el.shadowRoot?.querySelector('.button-bar')).to.exist;
|
|
25
|
+
expect(el.shadowRoot?.querySelector('.remove-items-btn')).to.exist;
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('renders list of items', async () => {
|
|
29
|
+
const el = await fixture<RemoveItemsModalContent>(html`
|
|
30
|
+
<remove-items-modal-content
|
|
31
|
+
.items=${items}
|
|
32
|
+
.message=${''}
|
|
33
|
+
></remove-items-modal-content>
|
|
34
|
+
`);
|
|
35
|
+
|
|
36
|
+
const listItems = el.shadowRoot?.querySelectorAll('li');
|
|
37
|
+
expect(listItems).to.have.lengthOf(2);
|
|
38
|
+
|
|
39
|
+
listItems?.forEach((item, index) => {
|
|
40
|
+
expect(item.querySelector('.item-title')?.textContent).to.equal(
|
|
41
|
+
items[index].title
|
|
42
|
+
);
|
|
43
|
+
expect(item.querySelector('.item-date')?.textContent).to.equal(
|
|
44
|
+
items[index].date
|
|
45
|
+
);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('renders message', async () => {
|
|
50
|
+
const message = 'This is a test message';
|
|
51
|
+
const el = await fixture<RemoveItemsModalContent>(html`
|
|
52
|
+
<remove-items-modal-content
|
|
53
|
+
.items=${[]}
|
|
54
|
+
.message=${message}
|
|
55
|
+
></remove-items-modal-content>
|
|
56
|
+
`);
|
|
57
|
+
|
|
58
|
+
expect(el.shadowRoot?.querySelector('.message')?.textContent).to.equal(
|
|
59
|
+
message
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('dispatches confirm event when remove items button is clicked', async () => {
|
|
64
|
+
const el = await fixture<RemoveItemsModalContent>(html`
|
|
65
|
+
<remove-items-modal-content
|
|
66
|
+
.items=${items}
|
|
67
|
+
.message=${''}
|
|
68
|
+
></remove-items-modal-content>
|
|
69
|
+
`);
|
|
70
|
+
|
|
71
|
+
const spy = Sinon.spy();
|
|
72
|
+
el.addEventListener('confirm', spy);
|
|
73
|
+
|
|
74
|
+
const button = el.shadowRoot?.querySelector(
|
|
75
|
+
'.remove-items-btn'
|
|
76
|
+
) as HTMLInputElement;
|
|
77
|
+
button?.click();
|
|
78
|
+
|
|
79
|
+
expect(spy.calledOnce).to.be.true;
|
|
80
|
+
expect(spy.args[0][0].detail.items).to.deep.equal(items);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// eslint-disable @typescript-eslint/no-unsafe-function-type
|
|
2
1
|
import type { Result } from '@internetarchive/result-type';
|
|
3
2
|
import {
|
|
4
3
|
Aggregation,
|
|
@@ -495,7 +494,7 @@ export const getMockSuccessWithCollectionAggregations: () => Result<
|
|
|
495
494
|
});
|
|
496
495
|
|
|
497
496
|
export const getMockSuccessSingleResultWithSort: (
|
|
498
|
-
resultsSpy: Function
|
|
497
|
+
resultsSpy: Function
|
|
499
498
|
) => Result<SearchResponse, SearchServiceError> = (resultsSpy: Function) => ({
|
|
500
499
|
success: {
|
|
501
500
|
request: {
|
|
@@ -82,7 +82,7 @@ export class MockSearchService implements SearchServiceInterface {
|
|
|
82
82
|
|
|
83
83
|
async search(
|
|
84
84
|
params: SearchParams,
|
|
85
|
-
searchType: SearchType
|
|
85
|
+
searchType: SearchType
|
|
86
86
|
): Promise<Result<SearchResponse, SearchServiceError>> {
|
|
87
87
|
this.searchParams = params;
|
|
88
88
|
this.searchType = searchType;
|
|
@@ -68,7 +68,7 @@ describe('Restoration state handler', () => {
|
|
|
68
68
|
|
|
69
69
|
const restorationState = handler.getRestorationState();
|
|
70
70
|
expect(restorationState.selectedFacets.year['2018'].state).to.equal(
|
|
71
|
-
'selected'
|
|
71
|
+
'selected'
|
|
72
72
|
);
|
|
73
73
|
});
|
|
74
74
|
|
|
@@ -81,7 +81,7 @@ describe('Restoration state handler', () => {
|
|
|
81
81
|
|
|
82
82
|
const restorationState = handler.getRestorationState();
|
|
83
83
|
expect(restorationState.selectedFacets).to.deep.equal(
|
|
84
|
-
getDefaultSelectedFacets()
|
|
84
|
+
getDefaultSelectedFacets()
|
|
85
85
|
);
|
|
86
86
|
});
|
|
87
87
|
|
|
@@ -128,7 +128,7 @@ describe('Restoration state handler', () => {
|
|
|
128
128
|
|
|
129
129
|
const restorationState = handler.getRestorationState();
|
|
130
130
|
expect(restorationState.selectedFacets.subject.foo.state).to.equal(
|
|
131
|
-
'selected'
|
|
131
|
+
'selected'
|
|
132
132
|
);
|
|
133
133
|
});
|
|
134
134
|
|
|
@@ -141,7 +141,7 @@ describe('Restoration state handler', () => {
|
|
|
141
141
|
|
|
142
142
|
const restorationState = handler.getRestorationState();
|
|
143
143
|
expect(restorationState.selectedFacets.year['2018'].state).to.equal(
|
|
144
|
-
'hidden'
|
|
144
|
+
'hidden'
|
|
145
145
|
);
|
|
146
146
|
});
|
|
147
147
|
|
|
@@ -156,17 +156,17 @@ describe('Restoration state handler', () => {
|
|
|
156
156
|
const restorationState = handler.getRestorationState();
|
|
157
157
|
|
|
158
158
|
expect(restorationState.selectedFacets.collection.foo.state).to.equal(
|
|
159
|
-
'selected'
|
|
159
|
+
'selected'
|
|
160
160
|
);
|
|
161
161
|
expect(restorationState.selectedFacets.collection.bar.state).to.equal(
|
|
162
|
-
'selected'
|
|
162
|
+
'selected'
|
|
163
163
|
);
|
|
164
164
|
|
|
165
165
|
expect(restorationState.selectedFacets.collection.baz.state).to.equal(
|
|
166
|
-
'hidden'
|
|
166
|
+
'hidden'
|
|
167
167
|
);
|
|
168
168
|
expect(restorationState.selectedFacets.collection.boop.state).to.equal(
|
|
169
|
-
'hidden'
|
|
169
|
+
'hidden'
|
|
170
170
|
);
|
|
171
171
|
});
|
|
172
172
|
|
|
@@ -179,7 +179,7 @@ describe('Restoration state handler', () => {
|
|
|
179
179
|
|
|
180
180
|
const restorationState = handler.getRestorationState();
|
|
181
181
|
expect(restorationState.selectedFacets.collection.foo.state).to.equal(
|
|
182
|
-
'hidden'
|
|
182
|
+
'hidden'
|
|
183
183
|
);
|
|
184
184
|
});
|
|
185
185
|
|
|
@@ -192,7 +192,7 @@ describe('Restoration state handler', () => {
|
|
|
192
192
|
|
|
193
193
|
const restorationState = handler.getRestorationState();
|
|
194
194
|
expect(restorationState.selectedFacets.subject.foo.state).to.equal(
|
|
195
|
-
'selected'
|
|
195
|
+
'selected'
|
|
196
196
|
);
|
|
197
197
|
});
|
|
198
198
|
|
|
@@ -205,7 +205,7 @@ describe('Restoration state handler', () => {
|
|
|
205
205
|
|
|
206
206
|
const restorationState = handler.getRestorationState();
|
|
207
207
|
expect(restorationState.selectedFacets.year['2018'].state).to.equal(
|
|
208
|
-
'hidden'
|
|
208
|
+
'hidden'
|
|
209
209
|
);
|
|
210
210
|
});
|
|
211
211
|
|
|
@@ -377,7 +377,7 @@ describe('Restoration state handler', () => {
|
|
|
377
377
|
|
|
378
378
|
// Ensure the new URL includes the "normalized" facet parameter and not the numbered one
|
|
379
379
|
expect(decodeURIComponent(window.location.search)).to.include(
|
|
380
|
-
'and[]=subject:"foo"'
|
|
380
|
+
'and[]=subject:"foo"'
|
|
381
381
|
);
|
|
382
382
|
expect(new URL(window.location.href).searchParams.get('and[0]')).to.be.null;
|
|
383
383
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
1
2
|
import { expect, fixture } from '@open-wc/testing';
|
|
2
3
|
import { html } from 'lit';
|
|
3
4
|
import type { ReviewBlock } from '../src/tiles/review-block';
|
|
@@ -10,7 +11,7 @@ describe('ReviewBlock component', () => {
|
|
|
10
11
|
title="Foo"
|
|
11
12
|
body="foo bar baz"
|
|
12
13
|
starRating="3"
|
|
13
|
-
></review-block
|
|
14
|
+
></review-block>`
|
|
14
15
|
);
|
|
15
16
|
|
|
16
17
|
el.title = 'Foo';
|
|
@@ -7,7 +7,7 @@ import '../../src/sort-filter-bar/alpha-bar-tooltip';
|
|
|
7
7
|
describe('Alphabet Filter Bar Tooltips', () => {
|
|
8
8
|
it('renders component', async () => {
|
|
9
9
|
const el = await fixture<AlphaBarTooltip>(
|
|
10
|
-
html`<alpha-bar-tooltip .numResults=${42}></alpha-bar-tooltip
|
|
10
|
+
html`<alpha-bar-tooltip .numResults=${42}></alpha-bar-tooltip>`
|
|
11
11
|
);
|
|
12
12
|
|
|
13
13
|
// Should render the number of results
|
|
@@ -22,7 +22,7 @@ describe('Alphabetical Filter Bar', () => {
|
|
|
22
22
|
|
|
23
23
|
// Should have exactly two letter buttons
|
|
24
24
|
const letterButtons = el.shadowRoot?.querySelectorAll(
|
|
25
|
-
'li > button:not(:disabled)'
|
|
25
|
+
'li > button:not(:disabled)'
|
|
26
26
|
);
|
|
27
27
|
expect(letterButtons?.length).to.equal(2);
|
|
28
28
|
expect(letterButtons?.item(0).textContent?.trim()).to.equal('U');
|
|
@@ -37,7 +37,7 @@ describe('Alphabetical Filter Bar', () => {
|
|
|
37
37
|
|
|
38
38
|
// All but the two letters above should be disabled
|
|
39
39
|
const letterButtons = el.shadowRoot?.querySelectorAll(
|
|
40
|
-
'li > button:disabled'
|
|
40
|
+
'li > button:disabled'
|
|
41
41
|
);
|
|
42
42
|
expect(letterButtons?.length).to.equal(24);
|
|
43
43
|
expect(letterButtons?.item(0).textContent?.trim()).to.equal('A');
|
|
@@ -64,7 +64,7 @@ describe('Alphabetical Filter Bar', () => {
|
|
|
64
64
|
await el.updateComplete;
|
|
65
65
|
|
|
66
66
|
const tooltip = el.shadowRoot?.querySelector(
|
|
67
|
-
'alpha-bar-tooltip'
|
|
67
|
+
'alpha-bar-tooltip'
|
|
68
68
|
) as AlphaBarTooltip;
|
|
69
69
|
expect(tooltip).to.exist;
|
|
70
70
|
|
|
@@ -88,14 +88,14 @@ describe('Alphabetical Filter Bar', () => {
|
|
|
88
88
|
await el.updateComplete;
|
|
89
89
|
|
|
90
90
|
const tooltip = el.shadowRoot?.querySelector(
|
|
91
|
-
'alpha-bar-tooltip'
|
|
91
|
+
'alpha-bar-tooltip'
|
|
92
92
|
) as AlphaBarTooltip;
|
|
93
93
|
expect(tooltip).to.exist;
|
|
94
94
|
|
|
95
95
|
// Should be positioned after next tick, but not off-screen
|
|
96
96
|
await aTimeout(0);
|
|
97
97
|
expect(tooltip.getBoundingClientRect().right).to.be.lessThan(
|
|
98
|
-
window.innerWidth
|
|
98
|
+
window.innerWidth
|
|
99
99
|
);
|
|
100
100
|
});
|
|
101
101
|
});
|