@internetarchive/collection-browser 0.3.1 → 0.3.2-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.
Files changed (200) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +43 -43
  12. package/dist/src/app-root.js +233 -233
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +242 -236
  68. package/dist/src/collection-browser.js +1411 -1406
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  71. package/dist/src/collection-facets/facets-template.js +125 -125
  72. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  73. package/dist/src/collection-facets/more-facets-content.js +330 -330
  74. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  75. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  76. package/dist/src/collection-facets.d.ts +73 -71
  77. package/dist/src/collection-facets.js +507 -496
  78. package/dist/src/collection-facets.js.map +1 -1
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +97 -97
  88. package/dist/src/models.js +100 -100
  89. package/dist/src/restoration-state-handler.d.ts +45 -45
  90. package/dist/src/restoration-state-handler.js +220 -220
  91. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  92. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  93. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  94. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  95. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/list.js +2 -2
  97. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  99. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  101. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  103. package/dist/src/styles/item-image-styles.d.ts +8 -8
  104. package/dist/src/styles/item-image-styles.js +9 -9
  105. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  106. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  107. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  108. package/dist/src/tiles/grid/account-tile.js +20 -20
  109. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  110. package/dist/src/tiles/grid/collection-tile.js +23 -23
  111. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  112. package/dist/src/tiles/grid/item-tile.js +87 -87
  113. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  114. package/dist/src/tiles/grid/tile-stats.js +35 -35
  115. package/dist/src/tiles/image-block.d.ts +17 -17
  116. package/dist/src/tiles/image-block.js +73 -73
  117. package/dist/src/tiles/item-image.d.ts +31 -31
  118. package/dist/src/tiles/item-image.js +103 -103
  119. package/dist/src/tiles/list/account-label.d.ts +1 -1
  120. package/dist/src/tiles/list/account-label.js +6 -6
  121. package/dist/src/tiles/list/date-label.d.ts +1 -1
  122. package/dist/src/tiles/list/date-label.js +12 -12
  123. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  124. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  125. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
  126. package/dist/src/tiles/list/tile-list-compact.js +87 -87
  127. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  128. package/dist/src/tiles/list/tile-list.js +264 -264
  129. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  130. package/dist/src/tiles/mediatype-icon.js +47 -47
  131. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  132. package/dist/src/tiles/overlay/icon-overlay.js +31 -31
  133. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  134. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  135. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  136. package/dist/src/tiles/text-snippet-block.js +81 -81
  137. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  138. package/dist/src/tiles/tile-dispatcher.js +128 -128
  139. package/dist/src/utils/analytics-events.d.ts +18 -18
  140. package/dist/src/utils/analytics-events.js +20 -20
  141. package/dist/src/utils/format-count.d.ts +7 -7
  142. package/dist/src/utils/format-count.js +76 -76
  143. package/dist/src/utils/format-date.d.ts +2 -2
  144. package/dist/src/utils/format-date.js +23 -23
  145. package/dist/test/collection-browser.test.d.ts +1 -1
  146. package/dist/test/collection-browser.test.js +318 -318
  147. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  148. package/dist/test/collection-facets/facets-template.test.js +62 -62
  149. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  150. package/dist/test/collection-facets/more-facets-content.test.js +91 -91
  151. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  152. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  153. package/dist/test/collection-facets.test.d.ts +2 -2
  154. package/dist/test/collection-facets.test.js +423 -387
  155. package/dist/test/collection-facets.test.js.map +1 -1
  156. package/dist/test/empty-placeholder.test.d.ts +1 -1
  157. package/dist/test/empty-placeholder.test.js +33 -33
  158. package/dist/test/icon-overlay.test.d.ts +1 -1
  159. package/dist/test/icon-overlay.test.js +24 -24
  160. package/dist/test/item-image.test.d.ts +1 -1
  161. package/dist/test/item-image.test.js +56 -56
  162. package/dist/test/mediatype-config.test.d.ts +1 -1
  163. package/dist/test/mediatype-config.test.js +16 -16
  164. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  165. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  166. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  167. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  168. package/dist/test/mocks/mock-search-responses.d.ts +5 -5
  169. package/dist/test/mocks/mock-search-responses.js +103 -103
  170. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  171. package/dist/test/mocks/mock-search-service.js +25 -25
  172. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  173. package/dist/test/restoration-state-handler.test.js +117 -117
  174. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  175. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  176. package/dist/test/text-overlay.test.d.ts +1 -1
  177. package/dist/test/text-overlay.test.js +41 -41
  178. package/dist/test/text-snippet-block.test.d.ts +1 -1
  179. package/dist/test/text-snippet-block.test.js +57 -57
  180. package/dist/test/tile-stats.test.d.ts +1 -1
  181. package/dist/test/tile-stats.test.js +33 -33
  182. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  183. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  184. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  185. package/dist/test/tiles/list/tile-list.test.js +36 -36
  186. package/dist/test/utils/format-count.test.d.ts +1 -1
  187. package/dist/test/utils/format-count.test.js +23 -23
  188. package/dist/test/utils/format-date.test.d.ts +1 -1
  189. package/dist/test/utils/format-date.test.js +17 -17
  190. package/index.html +24 -24
  191. package/local.archive.org.cert +86 -86
  192. package/local.archive.org.key +27 -27
  193. package/package.json +115 -115
  194. package/renovate.json +6 -6
  195. package/src/collection-browser.ts +1539 -1530
  196. package/src/collection-facets.ts +582 -569
  197. package/test/collection-facets.test.ts +556 -510
  198. package/tsconfig.json +21 -21
  199. package/web-dev-server.config.mjs +30 -30
  200. package/web-test-runner.config.mjs +41 -41
@@ -1 +1 @@
1
- import '../../src/collection-facets/facets-template';
1
+ import '../../src/collection-facets/facets-template';
@@ -1,75 +1,75 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import { html } from 'lit';
3
- import '../../src/collection-facets/facets-template';
4
- const facetGroup = {
5
- title: 'Media Type',
6
- key: 'mediatype',
7
- buckets: [
8
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
9
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
10
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
11
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
12
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
13
- ],
14
- };
15
- describe('Render facets', () => {
16
- it('should render more facets template', async () => {
17
- var _a;
18
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
19
- await el.updateComplete;
20
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row')).to.exist;
21
- });
22
- it('facets render on page', async () => {
23
- var _a;
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import '../../src/collection-facets/facets-template';
4
+ const facetGroup = {
5
+ title: 'Media Type',
6
+ key: 'mediatype',
7
+ buckets: [
8
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
9
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
10
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
11
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
12
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
13
+ ],
14
+ };
15
+ describe('Render facets', () => {
16
+ it('should render more facets template', async () => {
17
+ var _a;
18
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
19
+ await el.updateComplete;
20
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row')).to.exist;
21
+ });
22
+ it('facets render on page', async () => {
23
+ var _a;
24
24
  const el = await fixture(html `<facets-template
25
25
  .facetGroup=${facetGroup}
26
26
  .renderOn=${'page'}
27
- ></facets-template>`);
28
- await el.updateComplete;
29
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
30
- });
31
- it('facets render on modal', async () => {
32
- var _a;
27
+ ></facets-template>`);
28
+ await el.updateComplete;
29
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-page')).to.exist;
30
+ });
31
+ it('facets render on modal', async () => {
32
+ var _a;
33
33
  const el = await fixture(html `<facets-template
34
34
  .facetGroup=${facetGroup}
35
35
  .renderOn=${'modal'}
36
- ></facets-template>`);
37
- await el.updateComplete;
38
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
39
- });
40
- it('find facet-title and facet-count for perticular facet group', async () => {
41
- var _a, _b, _c;
42
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
43
- await el.updateComplete;
44
- const facetInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
45
- expect((_b = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-title')) === null || _b === void 0 ? void 0 : _b.textContent).equal('audio');
46
- expect((_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent).equal('1001');
47
- });
48
- it('find the hidden facet item', async () => {
49
- var _a;
50
- const selectedFacets = { ...facetGroup };
51
- selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype
36
+ ></facets-template>`);
37
+ await el.updateComplete;
38
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-on-modal')).to.exist;
39
+ });
40
+ it('find facet-title and facet-count for perticular facet group', async () => {
41
+ var _a, _b, _c;
42
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
43
+ await el.updateComplete;
44
+ const facetInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
45
+ expect((_b = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-title')) === null || _b === void 0 ? void 0 : _b.textContent).equal('audio');
46
+ expect((_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent).equal('1001');
47
+ });
48
+ it('find the hidden facet item', async () => {
49
+ var _a;
50
+ const selectedFacets = { ...facetGroup };
51
+ selectedFacets.buckets[2].state = 'hidden'; // hide 'texts' mediatype
52
52
  const el = await fixture(html `<facets-template
53
53
  .facetGroup=${facetGroup}
54
54
  .selectedFacets=${selectedFacets}
55
- ></facets-template>`);
56
- await el.updateComplete;
57
- const hiddenFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
58
- // check title attribute for 'texts' mediatype
59
- expect(hiddenFacet === null || hiddenFacet === void 0 ? void 0 : hiddenFacet.getAttribute('title')).equal('Unhide mediatype: texts');
60
- });
61
- it('find the selected facet item', async () => {
62
- var _a;
63
- const selectedFacets = { ...facetGroup };
64
- selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype
55
+ ></facets-template>`);
56
+ await el.updateComplete;
57
+ const hiddenFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
58
+ // check title attribute for 'texts' mediatype
59
+ expect(hiddenFacet === null || hiddenFacet === void 0 ? void 0 : hiddenFacet.getAttribute('title')).equal('Unhide mediatype: texts');
60
+ });
61
+ it('find the selected facet item', async () => {
62
+ var _a;
63
+ const selectedFacets = { ...facetGroup };
64
+ selectedFacets.buckets[1].state = 'selected'; // select 'movies' mediatype
65
65
  const el = await fixture(html `<facets-template
66
66
  .facetGroup=${facetGroup}
67
67
  .selectedFacets=${selectedFacets}
68
- ></facets-template>`);
69
- await el.updateComplete;
70
- const selectedFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
71
- // check title attribute for 'movies' mediatype
72
- expect(selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.getAttribute('title')).equal('Hide mediatype: movies');
73
- });
74
- });
68
+ ></facets-template>`);
69
+ await el.updateComplete;
70
+ const selectedFacet = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.hide-facet-icon')[0];
71
+ // check title attribute for 'movies' mediatype
72
+ expect(selectedFacet === null || selectedFacet === void 0 ? void 0 : selectedFacet.getAttribute('title')).equal('Hide mediatype: movies');
73
+ });
74
+ });
75
75
  //# sourceMappingURL=facets-template.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/more-facets-content';
1
+ import '../../src/collection-facets/more-facets-content';
@@ -1,105 +1,105 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture, oneEvent } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import { Aggregation } from '@internetarchive/search-service';
5
- import '../../src/collection-facets/more-facets-content';
6
- import { MockSearchService } from '../mocks/mock-search-service';
7
- const selectedFacetsGroup = {
8
- title: 'Media Type',
9
- key: 'mediatype',
10
- buckets: [
11
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
12
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
13
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
14
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
15
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
16
- ],
17
- };
18
- const aggregations = {
19
- collection: new Aggregation({
20
- buckets: [
21
- {
22
- key: 'foo',
23
- doc_count: 5,
24
- },
25
- ],
26
- }),
27
- };
28
- describe('More facets content', () => {
29
- it('should render more facets template', async () => {
30
- var _a;
31
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
32
- el.facetsLoading = false;
33
- await el.updateComplete;
34
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
35
- });
36
- it('should render more facets loader template', async () => {
37
- var _a;
38
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
39
- el.facetsLoading = true;
40
- await el.updateComplete;
41
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
42
- });
43
- it('should render pagination for more facets', async () => {
44
- var _a;
45
- const searchService = new MockSearchService();
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture, oneEvent } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import { Aggregation } from '@internetarchive/search-service';
5
+ import '../../src/collection-facets/more-facets-content';
6
+ import { MockSearchService } from '../mocks/mock-search-service';
7
+ const selectedFacetsGroup = {
8
+ title: 'Media Type',
9
+ key: 'mediatype',
10
+ buckets: [
11
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
12
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
13
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
14
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
15
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
16
+ ],
17
+ };
18
+ const aggregations = {
19
+ collection: new Aggregation({
20
+ buckets: [
21
+ {
22
+ key: 'foo',
23
+ doc_count: 5,
24
+ },
25
+ ],
26
+ }),
27
+ };
28
+ describe('More facets content', () => {
29
+ it('should render more facets template', async () => {
30
+ var _a;
31
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
32
+ el.facetsLoading = false;
33
+ await el.updateComplete;
34
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
35
+ });
36
+ it('should render more facets loader template', async () => {
37
+ var _a;
38
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
39
+ el.facetsLoading = true;
40
+ await el.updateComplete;
41
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
42
+ });
43
+ it('should render pagination for more facets', async () => {
44
+ var _a;
45
+ const searchService = new MockSearchService();
46
46
  const el = await fixture(html `<more-facets-content
47
47
  .searchService=${searchService}
48
- ></more-facets-content>`);
49
- el.facetKey = 'mediatype';
50
- el.facetsLoading = false;
51
- el.paginationSize = 6;
52
- await el.updateComplete;
53
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
54
- });
55
- it('query for more facets content using search service', async () => {
56
- var _a;
57
- const searchService = new MockSearchService();
48
+ ></more-facets-content>`);
49
+ el.facetKey = 'mediatype';
50
+ el.facetsLoading = false;
51
+ el.paginationSize = 6;
52
+ await el.updateComplete;
53
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
54
+ });
55
+ it('query for more facets content using search service', async () => {
56
+ var _a;
57
+ const searchService = new MockSearchService();
58
58
  const el = await fixture(html `<more-facets-content
59
59
  .searchService=${searchService}
60
- ></more-facets-content>`);
61
- el.facetKey = 'collection';
62
- el.fullQuery = 'title:hello';
63
- await el.updateComplete;
64
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
65
- });
66
- it('filter raw selectedFacets object', async () => {
67
- var _a;
68
- const searchService = new MockSearchService();
60
+ ></more-facets-content>`);
61
+ el.facetKey = 'collection';
62
+ el.fullQuery = 'title:hello';
63
+ await el.updateComplete;
64
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
65
+ });
66
+ it('filter raw selectedFacets object', async () => {
67
+ var _a;
68
+ const searchService = new MockSearchService();
69
69
  const el = await fixture(html `<more-facets-content
70
70
  .searchService=${searchService}
71
71
  .selectedFacets=${selectedFacetsGroup}
72
- ></more-facets-content>`);
73
- el.facetKey = 'collection';
74
- el.fullQuery = 'title:hello';
75
- await el.updateComplete;
76
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
77
- });
78
- it('combine selectedFacets and aggregationFacets and render on modal', async () => {
79
- var _a;
80
- const searchService = new MockSearchService();
72
+ ></more-facets-content>`);
73
+ el.facetKey = 'collection';
74
+ el.fullQuery = 'title:hello';
75
+ await el.updateComplete;
76
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
77
+ });
78
+ it('combine selectedFacets and aggregationFacets and render on modal', async () => {
79
+ var _a;
80
+ const searchService = new MockSearchService();
81
81
  const el = await fixture(html `<more-facets-content
82
82
  .searchService=${searchService}
83
83
  .selectedFacets=${selectedFacetsGroup}
84
84
  .aggregations=${aggregations}
85
- ></more-facets-content>`);
86
- await el.updateComplete;
87
- expect(el.facetGroupTitle).to.equal('Collection');
88
- const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
89
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
90
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
91
- const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
92
- expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
93
- expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
94
- });
95
- it('page number clicked event', async () => {
96
- const searchService = new MockSearchService();
85
+ ></more-facets-content>`);
86
+ await el.updateComplete;
87
+ expect(el.facetGroupTitle).to.equal('Collection');
88
+ const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
89
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
90
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
91
+ const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
92
+ expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
93
+ expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
94
+ });
95
+ it('page number clicked event', async () => {
96
+ const searchService = new MockSearchService();
97
97
  const el = await fixture(html `<more-facets-content
98
98
  .searchService=${searchService}
99
- ></more-facets-content>`);
100
- setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
101
- const { detail } = await oneEvent(el, 'pageNumberClicked');
102
- expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
103
- });
104
- });
99
+ ></more-facets-content>`);
100
+ setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
101
+ const { detail } = await oneEvent(el, 'pageNumberClicked');
102
+ expect(detail === null || detail === void 0 ? void 0 : detail.page).to.equal(15);
103
+ });
104
+ });
105
105
  //# sourceMappingURL=more-facets-content.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/more-facets-pagination';
1
+ import '../../src/collection-facets/more-facets-pagination';
@@ -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';