@internetarchive/collection-browser 0.3.0 → 0.3.1-alpha.2
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/.github/workflows/ci.yml +26 -26
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -9
- package/dist/src/app-root.d.ts +43 -43
- package/dist/src/app-root.js +233 -233
- 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/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.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/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/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 +236 -234
- package/dist/src/collection-browser.js +1402 -1367
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facets-template.d.ts +16 -16
- package/dist/src/collection-facets/facets-template.js +125 -125
- package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
- package/dist/src/collection-facets/more-facets-content.js +330 -330
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +192 -192
- package/dist/src/collection-facets.d.ts +71 -71
- package/dist/src/collection-facets.js +496 -476
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/empty-placeholder.d.ts +11 -11
- package/dist/src/empty-placeholder.js +42 -42
- 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/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +85 -85
- package/dist/src/models.d.ts +97 -89
- package/dist/src/models.js +100 -85
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +46 -45
- package/dist/src/restoration-state-handler.js +231 -219
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
- package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
- 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-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 +107 -107
- package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- 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 +8 -8
- package/dist/src/tiles/grid/account-tile.js +20 -20
- package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
- package/dist/src/tiles/grid/collection-tile.js +23 -23
- package/dist/src/tiles/grid/item-tile.d.ts +24 -24
- package/dist/src/tiles/grid/item-tile.js +87 -87
- package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
- package/dist/src/tiles/grid/tile-stats.js +35 -35
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- package/dist/src/tiles/item-image.d.ts +31 -31
- package/dist/src/tiles/item-image.js +103 -103
- package/dist/src/tiles/list/account-label.d.ts +1 -1
- package/dist/src/tiles/list/account-label.js +6 -6
- package/dist/src/tiles/list/date-label.d.ts +1 -1
- package/dist/src/tiles/list/date-label.js +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
- package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
- package/dist/src/tiles/list/tile-list-compact.js +87 -87
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +263 -263
- 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 +7 -7
- package/dist/src/tiles/overlay/icon-overlay.js +31 -31
- package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/text-snippet-block.d.ts +29 -29
- package/dist/src/tiles/text-snippet-block.js +81 -81
- package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
- package/dist/src/tiles/tile-dispatcher.js +128 -128
- package/dist/src/utils/analytics-events.d.ts +18 -18
- package/dist/src/utils/analytics-events.js +20 -20
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +75 -75
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +23 -23
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +344 -342
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +62 -62
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +91 -91
- 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.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +182 -182
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +33 -33
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +56 -56
- 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-collection-name-cache.d.ts +7 -7
- package/dist/test/mocks/mock-collection-name-cache.js +13 -13
- package/dist/test/mocks/mock-search-responses.d.ts +5 -5
- package/dist/test/mocks/mock-search-responses.js +103 -103
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +25 -25
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +117 -117
- 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 +113 -113
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +41 -41
- 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 +33 -33
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +107 -107
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +36 -36
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +115 -115
- package/renovate.json +6 -6
- package/src/collection-browser.ts +1526 -1489
- package/src/collection-facets.ts +569 -541
- package/src/models.ts +216 -188
- package/src/restoration-state-handler.ts +314 -301
- package/test/collection-browser.test.ts +490 -488
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
- package/dist/src/collection-facets/facets-util.d.ts +0 -10
- package/dist/src/collection-facets/facets-util.js +0 -20
- package/dist/src/collection-facets/facets-util.js.map +0 -1
- package/dist/test/collection-facets/facets-util.test.d.ts +0 -1
- package/dist/test/collection-facets/facets-util.test.js +0 -13
- package/dist/test/collection-facets/facets-util.test.js.map +0 -1
- package/src/collection-facets/facets-util.ts +0 -22
- package/test/collection-facets/facets-util.test.ts +0 -18
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture, oneEvent } from '@open-wc/testing';
|
|
3
|
-
import { html } from 'lit';
|
|
4
|
-
import sinon from 'sinon';
|
|
5
|
-
import '../../src/collection-facets/more-facets-pagination';
|
|
6
|
-
afterEach(() => {
|
|
7
|
-
sinon.restore();
|
|
8
|
-
});
|
|
9
|
-
describe('More facets pagination', () => {
|
|
10
|
-
describe('5 pages or less', () => {
|
|
11
|
-
it('shows all pages', async () => {
|
|
12
|
-
var _a;
|
|
13
|
-
const el = await fixture(html `<more-facets-pagination .size=${5}></more-facets-pagination>`);
|
|
14
|
-
await el.updateComplete;
|
|
15
|
-
const pageButtons = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button[data-page]');
|
|
16
|
-
expect(pageButtons.length).to.greaterThan(0);
|
|
17
|
-
pageButtons.forEach((button, index) => {
|
|
18
|
-
expect(button.textContent).to.contain(index + 1);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
it('should render pagination template', async () => {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
const el = await fixture(html `<more-facets-pagination .size=${10}></more-facets-pagination>`);
|
|
25
|
-
await el.updateComplete;
|
|
26
|
-
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination')).to.exist;
|
|
27
|
-
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.arrow-icon')).to.exist;
|
|
28
|
-
});
|
|
29
|
-
it('should render page numbers', async () => {
|
|
30
|
-
var _a;
|
|
31
|
-
const el = await fixture(html `<more-facets-pagination .size=${3}></more-facets-pagination>`);
|
|
32
|
-
await el.updateComplete;
|
|
33
|
-
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
34
|
-
expect(pageNumberElement).to.exist;
|
|
35
|
-
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button').length).to.equal(3);
|
|
36
|
-
});
|
|
37
|
-
it('check current page and total pages', async () => {
|
|
38
|
-
var _a, _b;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture, oneEvent } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import sinon from 'sinon';
|
|
5
|
+
import '../../src/collection-facets/more-facets-pagination';
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
sinon.restore();
|
|
8
|
+
});
|
|
9
|
+
describe('More facets pagination', () => {
|
|
10
|
+
describe('5 pages or less', () => {
|
|
11
|
+
it('shows all pages', async () => {
|
|
12
|
+
var _a;
|
|
13
|
+
const el = await fixture(html `<more-facets-pagination .size=${5}></more-facets-pagination>`);
|
|
14
|
+
await el.updateComplete;
|
|
15
|
+
const pageButtons = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button[data-page]');
|
|
16
|
+
expect(pageButtons.length).to.greaterThan(0);
|
|
17
|
+
pageButtons.forEach((button, index) => {
|
|
18
|
+
expect(button.textContent).to.contain(index + 1);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('should render pagination template', async () => {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
const el = await fixture(html `<more-facets-pagination .size=${10}></more-facets-pagination>`);
|
|
25
|
+
await el.updateComplete;
|
|
26
|
+
expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination')).to.exist;
|
|
27
|
+
expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.arrow-icon')).to.exist;
|
|
28
|
+
});
|
|
29
|
+
it('should render page numbers', async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const el = await fixture(html `<more-facets-pagination .size=${3}></more-facets-pagination>`);
|
|
32
|
+
await el.updateComplete;
|
|
33
|
+
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
34
|
+
expect(pageNumberElement).to.exist;
|
|
35
|
+
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button').length).to.equal(3);
|
|
36
|
+
});
|
|
37
|
+
it('check current page and total pages', async () => {
|
|
38
|
+
var _a, _b;
|
|
39
39
|
const el = await fixture(html `<more-facets-pagination
|
|
40
40
|
.size=${4}
|
|
41
41
|
.currentPage=${2}
|
|
42
|
-
></more-facets-pagination>`);
|
|
43
|
-
await el.updateComplete;
|
|
44
|
-
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
45
|
-
expect(pageNumberElement).to.exist;
|
|
46
|
-
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button')[1].classList.contains('current')).to.be.true;
|
|
47
|
-
expect((_b = el.pages) === null || _b === void 0 ? void 0 : _b.length).to.equal(4);
|
|
48
|
-
});
|
|
49
|
-
it('get page numbers based of size and currentPage', async () => {
|
|
50
|
-
var _a;
|
|
42
|
+
></more-facets-pagination>`);
|
|
43
|
+
await el.updateComplete;
|
|
44
|
+
const pageNumberElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers');
|
|
45
|
+
expect(pageNumberElement).to.exist;
|
|
46
|
+
expect(pageNumberElement === null || pageNumberElement === void 0 ? void 0 : pageNumberElement.querySelectorAll('button')[1].classList.contains('current')).to.be.true;
|
|
47
|
+
expect((_b = el.pages) === null || _b === void 0 ? void 0 : _b.length).to.equal(4);
|
|
48
|
+
});
|
|
49
|
+
it('get page numbers based of size and currentPage', async () => {
|
|
50
|
+
var _a;
|
|
51
51
|
const el = await fixture(html `<more-facets-pagination
|
|
52
52
|
.size=${4}
|
|
53
53
|
.currentPage=${2}
|
|
54
|
-
></more-facets-pagination>`);
|
|
55
|
-
await el.updateComplete;
|
|
56
|
-
expect((_a = el.pages) === null || _a === void 0 ? void 0 : _a.length).to.equal(4);
|
|
57
|
-
});
|
|
58
|
-
describe('Selecting a page', () => {
|
|
59
|
-
it('fires event', async () => {
|
|
60
|
-
const el = await fixture(html `<more-facets-pagination></more-facets-pagination>`);
|
|
61
|
-
await el.updateComplete;
|
|
62
|
-
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
63
|
-
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
64
|
-
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
65
|
-
});
|
|
66
|
-
it('sets off side effects with `onChange`', async () => {
|
|
67
|
-
var _a;
|
|
54
|
+
></more-facets-pagination>`);
|
|
55
|
+
await el.updateComplete;
|
|
56
|
+
expect((_a = el.pages) === null || _a === void 0 ? void 0 : _a.length).to.equal(4);
|
|
57
|
+
});
|
|
58
|
+
describe('Selecting a page', () => {
|
|
59
|
+
it('fires event', async () => {
|
|
60
|
+
const el = await fixture(html `<more-facets-pagination></more-facets-pagination>`);
|
|
61
|
+
await el.updateComplete;
|
|
62
|
+
setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
|
|
63
|
+
const { detail } = await oneEvent(el, 'pageNumberClicked');
|
|
64
|
+
expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
|
|
65
|
+
});
|
|
66
|
+
it('sets off side effects with `onChange`', async () => {
|
|
67
|
+
var _a;
|
|
68
68
|
const el = await fixture(html `<more-facets-pagination
|
|
69
69
|
.size=${'10'}
|
|
70
70
|
.currentPage=${2}
|
|
71
|
-
></more-facets-pagination>`);
|
|
72
|
-
expect(el.currentPage).to.equal(2); // confirm current page
|
|
73
|
-
const fake1 = sinon.fake();
|
|
74
|
-
const fake2 = sinon.fake();
|
|
75
|
-
el.observePageCount = fake1;
|
|
76
|
-
el.emitPageClick = fake2;
|
|
77
|
-
// select first page button
|
|
78
|
-
const pageButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers > button');
|
|
79
|
-
// confirm button isn't selected
|
|
80
|
-
expect(pageButton.classList.contains('current')).to.be.false;
|
|
81
|
-
pageButton.click();
|
|
82
|
-
await el.updateComplete;
|
|
83
|
-
expect(fake1.callCount).to.equal(1);
|
|
84
|
-
expect(fake2.callCount).to.equal(1);
|
|
85
|
-
expect(el.currentPage).to.equal(1); // brings us back to currentPage
|
|
86
|
-
// confirm button is selected
|
|
87
|
-
expect(pageButton.classList.contains('current')).to.be.true;
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
describe('Using Arrows', () => {
|
|
91
|
-
it('going backwards', async () => {
|
|
92
|
-
var _a, _b;
|
|
71
|
+
></more-facets-pagination>`);
|
|
72
|
+
expect(el.currentPage).to.equal(2); // confirm current page
|
|
73
|
+
const fake1 = sinon.fake();
|
|
74
|
+
const fake2 = sinon.fake();
|
|
75
|
+
el.observePageCount = fake1;
|
|
76
|
+
el.emitPageClick = fake2;
|
|
77
|
+
// select first page button
|
|
78
|
+
const pageButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.page-numbers > button');
|
|
79
|
+
// confirm button isn't selected
|
|
80
|
+
expect(pageButton.classList.contains('current')).to.be.false;
|
|
81
|
+
pageButton.click();
|
|
82
|
+
await el.updateComplete;
|
|
83
|
+
expect(fake1.callCount).to.equal(1);
|
|
84
|
+
expect(fake2.callCount).to.equal(1);
|
|
85
|
+
expect(el.currentPage).to.equal(1); // brings us back to currentPage
|
|
86
|
+
// confirm button is selected
|
|
87
|
+
expect(pageButton.classList.contains('current')).to.be.true;
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe('Using Arrows', () => {
|
|
91
|
+
it('going backwards', async () => {
|
|
92
|
+
var _a, _b;
|
|
93
93
|
const el = await fixture(html `<more-facets-pagination
|
|
94
94
|
.size=${'10'}
|
|
95
95
|
.currentPage=${2}
|
|
96
|
-
></more-facets-pagination>`);
|
|
97
|
-
expect(el.currentPage).to.equal(2); // confirm current page
|
|
98
|
-
const fake1 = sinon.fake();
|
|
99
|
-
const fake2 = sinon.fake();
|
|
100
|
-
el.observePageCount = fake1;
|
|
101
|
-
el.emitPageClick = fake2;
|
|
102
|
-
// select first page button
|
|
103
|
-
const rewindButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.rewind');
|
|
104
|
-
rewindButton.click();
|
|
105
|
-
await el.updateComplete;
|
|
106
|
-
expect(fake1.callCount).to.equal(1);
|
|
107
|
-
expect(fake2.callCount).to.equal(1);
|
|
108
|
-
expect(el.currentPage).to.equal(1); // brings us back 1 page
|
|
109
|
-
// confirm button is selected
|
|
110
|
-
expect(((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.page-numbers > button[data-page="1"]')).classList.contains('current')).to.be.true;
|
|
111
|
-
});
|
|
112
|
-
it('going forwards', async () => {
|
|
113
|
-
var _a;
|
|
96
|
+
></more-facets-pagination>`);
|
|
97
|
+
expect(el.currentPage).to.equal(2); // confirm current page
|
|
98
|
+
const fake1 = sinon.fake();
|
|
99
|
+
const fake2 = sinon.fake();
|
|
100
|
+
el.observePageCount = fake1;
|
|
101
|
+
el.emitPageClick = fake2;
|
|
102
|
+
// select first page button
|
|
103
|
+
const rewindButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.rewind');
|
|
104
|
+
rewindButton.click();
|
|
105
|
+
await el.updateComplete;
|
|
106
|
+
expect(fake1.callCount).to.equal(1);
|
|
107
|
+
expect(fake2.callCount).to.equal(1);
|
|
108
|
+
expect(el.currentPage).to.equal(1); // brings us back 1 page
|
|
109
|
+
// confirm button is selected
|
|
110
|
+
expect(((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.page-numbers > button[data-page="1"]')).classList.contains('current')).to.be.true;
|
|
111
|
+
});
|
|
112
|
+
it('going forwards', async () => {
|
|
113
|
+
var _a;
|
|
114
114
|
const el = await fixture(html `<more-facets-pagination
|
|
115
115
|
.size=${'10'}
|
|
116
116
|
.currentPage=${5}
|
|
117
|
-
></more-facets-pagination>`);
|
|
118
|
-
expect(el.currentPage).to.equal(5); // confirm current page
|
|
119
|
-
const fake1 = sinon.fake();
|
|
120
|
-
const fake2 = sinon.fake();
|
|
121
|
-
el.observePageCount = fake1;
|
|
122
|
-
el.emitPageClick = fake2;
|
|
123
|
-
// select first page button
|
|
124
|
-
const forwardButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.forward');
|
|
125
|
-
forwardButton.click();
|
|
126
|
-
await el.updateComplete;
|
|
127
|
-
expect(fake1.callCount).to.equal(1);
|
|
128
|
-
expect(fake2.callCount).to.equal(1);
|
|
129
|
-
expect(el.currentPage).to.equal(6); // brings us forward 1 page
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
117
|
+
></more-facets-pagination>`);
|
|
118
|
+
expect(el.currentPage).to.equal(5); // confirm current page
|
|
119
|
+
const fake1 = sinon.fake();
|
|
120
|
+
const fake2 = sinon.fake();
|
|
121
|
+
el.observePageCount = fake1;
|
|
122
|
+
el.emitPageClick = fake2;
|
|
123
|
+
// select first page button
|
|
124
|
+
const forwardButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-pagination > button.forward');
|
|
125
|
+
forwardButton.click();
|
|
126
|
+
await el.updateComplete;
|
|
127
|
+
expect(fake1.callCount).to.equal(1);
|
|
128
|
+
expect(fake2.callCount).to.equal(1);
|
|
129
|
+
expect(el.currentPage).to.equal(6); // brings us forward 1 page
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
133
|
//# sourceMappingURL=more-facets-pagination.test.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import '@internetarchive/modal-manager';
|
|
2
|
-
import '../src/collection-facets';
|
|
1
|
+
import '@internetarchive/modal-manager';
|
|
2
|
+
import '../src/collection-facets';
|
|
@@ -1,185 +1,185 @@
|
|
|
1
|
-
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import sinon from 'sinon';
|
|
4
|
-
import { html } from 'lit';
|
|
5
|
-
import { Aggregation } from '@internetarchive/search-service';
|
|
6
|
-
import { ModalManager, } from '@internetarchive/modal-manager';
|
|
7
|
-
import '@internetarchive/modal-manager';
|
|
8
|
-
import '../src/collection-facets';
|
|
9
|
-
describe('Collection Facets', () => {
|
|
10
|
-
it('has loader', async () => {
|
|
11
|
-
var _a, _b, _c, _d;
|
|
12
|
-
const el = await fixture(html `<collection-facets ?facetsLoading=${true}></collection-facets>`);
|
|
13
|
-
expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container')) === null || _b === void 0 ? void 0 : _b.classList.contains('loading')).to.be.true;
|
|
14
|
-
el.facetsLoading = false;
|
|
15
|
-
await el.updateComplete;
|
|
16
|
-
expect((_d = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#container')) === null || _d === void 0 ? void 0 : _d.classList.contains('loading')).to.be.false;
|
|
17
|
-
});
|
|
18
|
-
it('renders aggregations as facets', async () => {
|
|
19
|
-
var _a, _b, _c, _d, _e;
|
|
20
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
21
|
-
const aggs = {
|
|
22
|
-
subject: new Aggregation({
|
|
23
|
-
buckets: [
|
|
24
|
-
{
|
|
25
|
-
key: 'foo',
|
|
26
|
-
doc_count: 5,
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
}),
|
|
30
|
-
};
|
|
31
|
-
el.aggregations = aggs;
|
|
32
|
-
await el.updateComplete;
|
|
33
|
-
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
34
|
-
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(1);
|
|
35
|
-
const titleFacetGroup = facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups[0];
|
|
36
|
-
const facetGroupHeader = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('h1');
|
|
37
|
-
expect((_b = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Subject');
|
|
38
|
-
const titleFacetRow = (_d = (_c = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.facet-row');
|
|
39
|
-
console.log(titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template'));
|
|
40
|
-
expect((_e = titleFacetRow === null || titleFacetRow === void 0 ? void 0 : titleFacetRow.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.satisfy((text) => /^foo\s*5$/.test(text));
|
|
41
|
-
});
|
|
42
|
-
it('renders multiple aggregation types', async () => {
|
|
43
|
-
var _a;
|
|
44
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
45
|
-
const aggs = {
|
|
46
|
-
subject: new Aggregation({
|
|
47
|
-
buckets: [
|
|
48
|
-
{
|
|
49
|
-
key: 'foo',
|
|
50
|
-
doc_count: 5,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
}),
|
|
54
|
-
mediatype: new Aggregation({
|
|
55
|
-
buckets: [
|
|
56
|
-
{
|
|
57
|
-
key: 'bar',
|
|
58
|
-
doc_count: 10,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
}),
|
|
62
|
-
};
|
|
63
|
-
el.aggregations = aggs;
|
|
64
|
-
await el.updateComplete;
|
|
65
|
-
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
66
|
-
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(2);
|
|
67
|
-
});
|
|
68
|
-
it('renders collection facets as links', async () => {
|
|
69
|
-
var _a, _b, _c, _d;
|
|
70
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
71
|
-
const aggs = {
|
|
72
|
-
collection: new Aggregation({
|
|
73
|
-
buckets: [
|
|
74
|
-
{
|
|
75
|
-
key: 'foo',
|
|
76
|
-
doc_count: 5,
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
}),
|
|
80
|
-
};
|
|
81
|
-
el.aggregations = aggs;
|
|
82
|
-
await el.updateComplete;
|
|
83
|
-
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
84
|
-
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.be.instanceOf(HTMLAnchorElement);
|
|
85
|
-
expect((_d = collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement) === null || _d === void 0 ? void 0 : _d.getAttribute('href')).to.equal('/details/foo');
|
|
86
|
-
});
|
|
87
|
-
it('renders non-collection facets without links', async () => {
|
|
88
|
-
var _a, _b, _c;
|
|
89
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
90
|
-
const aggs = {
|
|
91
|
-
subject: new Aggregation({
|
|
92
|
-
buckets: [
|
|
93
|
-
{
|
|
94
|
-
key: 'foo',
|
|
95
|
-
doc_count: 5,
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
}),
|
|
99
|
-
};
|
|
100
|
-
el.aggregations = aggs;
|
|
101
|
-
await el.updateComplete;
|
|
102
|
-
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
103
|
-
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.not.be.instanceOf(HTMLAnchorElement);
|
|
104
|
-
});
|
|
105
|
-
describe('More Facets', () => {
|
|
106
|
-
it('Does not render < allowedFacetCount', async () => {
|
|
107
|
-
var _a;
|
|
108
|
-
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
109
|
-
const aggs = {
|
|
110
|
-
subject: new Aggregation({
|
|
111
|
-
buckets: [
|
|
112
|
-
{
|
|
113
|
-
key: 'foo',
|
|
114
|
-
doc_count: 5,
|
|
115
|
-
},
|
|
116
|
-
],
|
|
117
|
-
}),
|
|
118
|
-
};
|
|
119
|
-
el.aggregations = aggs;
|
|
120
|
-
await el.updateComplete;
|
|
121
|
-
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
122
|
-
expect(moreLink).to.be.null;
|
|
123
|
-
});
|
|
124
|
-
it('Render More Facets', async () => {
|
|
125
|
-
var _a, _b;
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import sinon from 'sinon';
|
|
4
|
+
import { html } from 'lit';
|
|
5
|
+
import { Aggregation } from '@internetarchive/search-service';
|
|
6
|
+
import { ModalManager, } from '@internetarchive/modal-manager';
|
|
7
|
+
import '@internetarchive/modal-manager';
|
|
8
|
+
import '../src/collection-facets';
|
|
9
|
+
describe('Collection Facets', () => {
|
|
10
|
+
it('has loader', async () => {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const el = await fixture(html `<collection-facets ?facetsLoading=${true}></collection-facets>`);
|
|
13
|
+
expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container')) === null || _b === void 0 ? void 0 : _b.classList.contains('loading')).to.be.true;
|
|
14
|
+
el.facetsLoading = false;
|
|
15
|
+
await el.updateComplete;
|
|
16
|
+
expect((_d = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#container')) === null || _d === void 0 ? void 0 : _d.classList.contains('loading')).to.be.false;
|
|
17
|
+
});
|
|
18
|
+
it('renders aggregations as facets', async () => {
|
|
19
|
+
var _a, _b, _c, _d, _e;
|
|
20
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
21
|
+
const aggs = {
|
|
22
|
+
subject: new Aggregation({
|
|
23
|
+
buckets: [
|
|
24
|
+
{
|
|
25
|
+
key: 'foo',
|
|
26
|
+
doc_count: 5,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
el.aggregations = aggs;
|
|
32
|
+
await el.updateComplete;
|
|
33
|
+
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
34
|
+
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(1);
|
|
35
|
+
const titleFacetGroup = facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups[0];
|
|
36
|
+
const facetGroupHeader = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('h1');
|
|
37
|
+
expect((_b = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Subject');
|
|
38
|
+
const titleFacetRow = (_d = (_c = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.facet-row');
|
|
39
|
+
console.log(titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template'));
|
|
40
|
+
expect((_e = titleFacetRow === null || titleFacetRow === void 0 ? void 0 : titleFacetRow.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.satisfy((text) => /^foo\s*5$/.test(text));
|
|
41
|
+
});
|
|
42
|
+
it('renders multiple aggregation types', async () => {
|
|
43
|
+
var _a;
|
|
44
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
45
|
+
const aggs = {
|
|
46
|
+
subject: new Aggregation({
|
|
47
|
+
buckets: [
|
|
48
|
+
{
|
|
49
|
+
key: 'foo',
|
|
50
|
+
doc_count: 5,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
}),
|
|
54
|
+
mediatype: new Aggregation({
|
|
55
|
+
buckets: [
|
|
56
|
+
{
|
|
57
|
+
key: 'bar',
|
|
58
|
+
doc_count: 10,
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
el.aggregations = aggs;
|
|
64
|
+
await el.updateComplete;
|
|
65
|
+
const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
|
|
66
|
+
expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(2);
|
|
67
|
+
});
|
|
68
|
+
it('renders collection facets as links', async () => {
|
|
69
|
+
var _a, _b, _c, _d;
|
|
70
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
71
|
+
const aggs = {
|
|
72
|
+
collection: new Aggregation({
|
|
73
|
+
buckets: [
|
|
74
|
+
{
|
|
75
|
+
key: 'foo',
|
|
76
|
+
doc_count: 5,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
el.aggregations = aggs;
|
|
82
|
+
await el.updateComplete;
|
|
83
|
+
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
84
|
+
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.be.instanceOf(HTMLAnchorElement);
|
|
85
|
+
expect((_d = collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement) === null || _d === void 0 ? void 0 : _d.getAttribute('href')).to.equal('/details/foo');
|
|
86
|
+
});
|
|
87
|
+
it('renders non-collection facets without links', async () => {
|
|
88
|
+
var _a, _b, _c;
|
|
89
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
90
|
+
const aggs = {
|
|
91
|
+
subject: new Aggregation({
|
|
92
|
+
buckets: [
|
|
93
|
+
{
|
|
94
|
+
key: 'foo',
|
|
95
|
+
doc_count: 5,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
el.aggregations = aggs;
|
|
101
|
+
await el.updateComplete;
|
|
102
|
+
const collectionName = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('async-collection-name');
|
|
103
|
+
expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.parentElement).to.not.be.instanceOf(HTMLAnchorElement);
|
|
104
|
+
});
|
|
105
|
+
describe('More Facets', () => {
|
|
106
|
+
it('Does not render < allowedFacetCount', async () => {
|
|
107
|
+
var _a;
|
|
108
|
+
const el = await fixture(html `<collection-facets></collection-facets>`);
|
|
109
|
+
const aggs = {
|
|
110
|
+
subject: new Aggregation({
|
|
111
|
+
buckets: [
|
|
112
|
+
{
|
|
113
|
+
key: 'foo',
|
|
114
|
+
doc_count: 5,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
}),
|
|
118
|
+
};
|
|
119
|
+
el.aggregations = aggs;
|
|
120
|
+
await el.updateComplete;
|
|
121
|
+
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
122
|
+
expect(moreLink).to.be.null;
|
|
123
|
+
});
|
|
124
|
+
it('Render More Facets', async () => {
|
|
125
|
+
var _a, _b;
|
|
126
126
|
const el = await fixture(html `<collection-facets
|
|
127
127
|
.modalManager=${new ModalManager()}
|
|
128
|
-
></collection-facets>`);
|
|
129
|
-
const aggs = {
|
|
130
|
-
subject: new Aggregation({
|
|
131
|
-
buckets: [
|
|
132
|
-
{
|
|
133
|
-
key: 'foo',
|
|
134
|
-
doc_count: 5,
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
key: 'fi',
|
|
138
|
-
doc_count: 5,
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
key: 'fum',
|
|
142
|
-
doc_count: 5,
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
key: 'flee',
|
|
146
|
-
doc_count: 5,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
key: 'wheee',
|
|
150
|
-
doc_count: 5,
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
key: 'whooo',
|
|
154
|
-
doc_count: 5,
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
key: 'boop',
|
|
158
|
-
doc_count: 5,
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
}),
|
|
162
|
-
};
|
|
163
|
-
el.aggregations = aggs;
|
|
164
|
-
await el.updateComplete;
|
|
165
|
-
let eventCaught = false;
|
|
166
|
-
let eventFacet = '';
|
|
167
|
-
el.addEventListener('showMoreFacets', e => {
|
|
168
|
-
eventFacet = e.detail;
|
|
169
|
-
eventCaught = true;
|
|
170
|
-
});
|
|
171
|
-
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
172
|
-
expect(moreLink).to.exist; // has link
|
|
173
|
-
const showModalSpy = sinon.spy(el.modalManager, 'showModal');
|
|
174
|
-
// let's pop up modal
|
|
175
|
-
moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
|
|
176
|
-
await el.updateComplete;
|
|
177
|
-
expect(showModalSpy.callCount).to.equal(1);
|
|
178
|
-
expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('more-search-facets')).to.be
|
|
179
|
-
.true;
|
|
180
|
-
expect(eventCaught).to.be.true;
|
|
181
|
-
expect(eventFacet).to.equal('subject');
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
});
|
|
128
|
+
></collection-facets>`);
|
|
129
|
+
const aggs = {
|
|
130
|
+
subject: new Aggregation({
|
|
131
|
+
buckets: [
|
|
132
|
+
{
|
|
133
|
+
key: 'foo',
|
|
134
|
+
doc_count: 5,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: 'fi',
|
|
138
|
+
doc_count: 5,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
key: 'fum',
|
|
142
|
+
doc_count: 5,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: 'flee',
|
|
146
|
+
doc_count: 5,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
key: 'wheee',
|
|
150
|
+
doc_count: 5,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
key: 'whooo',
|
|
154
|
+
doc_count: 5,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
key: 'boop',
|
|
158
|
+
doc_count: 5,
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
}),
|
|
162
|
+
};
|
|
163
|
+
el.aggregations = aggs;
|
|
164
|
+
await el.updateComplete;
|
|
165
|
+
let eventCaught = false;
|
|
166
|
+
let eventFacet = '';
|
|
167
|
+
el.addEventListener('showMoreFacets', e => {
|
|
168
|
+
eventFacet = e.detail;
|
|
169
|
+
eventCaught = true;
|
|
170
|
+
});
|
|
171
|
+
const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
|
|
172
|
+
expect(moreLink).to.exist; // has link
|
|
173
|
+
const showModalSpy = sinon.spy(el.modalManager, 'showModal');
|
|
174
|
+
// let's pop up modal
|
|
175
|
+
moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
|
|
176
|
+
await el.updateComplete;
|
|
177
|
+
expect(showModalSpy.callCount).to.equal(1);
|
|
178
|
+
expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('more-search-facets')).to.be
|
|
179
|
+
.true;
|
|
180
|
+
expect(eventCaught).to.be.true;
|
|
181
|
+
expect(eventFacet).to.equal('subject');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
185
|
//# sourceMappingURL=collection-facets.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/empty-placeholder';
|
|
1
|
+
import '../src/empty-placeholder';
|