@internetarchive/collection-browser 0.3.8 → 0.3.9

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 (204) 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 +48 -48
  12. package/dist/src/app-root.js +258 -258
  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 +278 -278
  68. package/dist/src/collection-browser.js +1105 -1105
  69. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  70. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  74. package/dist/src/collection-facets/more-facets-content.js +353 -353
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +77 -77
  78. package/dist/src/collection-facets.js +388 -388
  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 +103 -103
  88. package/dist/src/models.js +117 -117
  89. package/dist/src/restoration-state-handler.d.ts +46 -46
  90. package/dist/src/restoration-state-handler.js +230 -230
  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 +40 -40
  115. package/dist/src/tiles/image-block.d.ts +17 -17
  116. package/dist/src/tiles/image-block.js +69 -69
  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 +21 -21
  126. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  127. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  128. package/dist/src/tiles/list/tile-list.js +280 -275
  129. package/dist/src/tiles/list/tile-list.js.map +1 -1
  130. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  131. package/dist/src/tiles/mediatype-icon.js +47 -47
  132. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  133. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  134. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  135. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  136. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  137. package/dist/src/tiles/text-snippet-block.js +81 -81
  138. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  139. package/dist/src/tiles/tile-dispatcher.js +128 -128
  140. package/dist/src/utils/analytics-events.d.ts +22 -22
  141. package/dist/src/utils/analytics-events.js +24 -24
  142. package/dist/src/utils/format-count.d.ts +7 -7
  143. package/dist/src/utils/format-count.js +76 -76
  144. package/dist/src/utils/format-date.d.ts +2 -2
  145. package/dist/src/utils/format-date.js +23 -23
  146. package/dist/test/collection-browser.test.d.ts +1 -1
  147. package/dist/test/collection-browser.test.js +575 -575
  148. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  149. package/dist/test/collection-facets/facets-template.test.js +62 -62
  150. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  151. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  152. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  153. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  154. package/dist/test/collection-facets.test.d.ts +2 -2
  155. package/dist/test/collection-facets.test.js +544 -544
  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/image-block.test.d.ts +1 -1
  161. package/dist/test/image-block.test.js +48 -48
  162. package/dist/test/item-image.test.d.ts +1 -1
  163. package/dist/test/item-image.test.js +56 -56
  164. package/dist/test/mediatype-config.test.d.ts +1 -1
  165. package/dist/test/mediatype-config.test.js +16 -16
  166. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  167. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  168. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  169. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  170. package/dist/test/mocks/mock-search-responses.d.ts +10 -10
  171. package/dist/test/mocks/mock-search-responses.js +271 -271
  172. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  173. package/dist/test/mocks/mock-search-service.js +36 -36
  174. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  175. package/dist/test/restoration-state-handler.test.js +126 -126
  176. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  177. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  178. package/dist/test/text-overlay.test.d.ts +1 -1
  179. package/dist/test/text-overlay.test.js +41 -41
  180. package/dist/test/text-snippet-block.test.d.ts +1 -1
  181. package/dist/test/text-snippet-block.test.js +57 -57
  182. package/dist/test/tile-stats.test.d.ts +1 -1
  183. package/dist/test/tile-stats.test.js +33 -33
  184. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  185. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  186. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  187. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  188. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  189. package/dist/test/tiles/list/tile-list.test.js +136 -92
  190. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  191. package/dist/test/utils/format-count.test.d.ts +1 -1
  192. package/dist/test/utils/format-count.test.js +23 -23
  193. package/dist/test/utils/format-date.test.d.ts +1 -1
  194. package/dist/test/utils/format-date.test.js +17 -17
  195. package/index.html +24 -24
  196. package/local.archive.org.cert +86 -86
  197. package/local.archive.org.key +27 -27
  198. package/package.json +1 -1
  199. package/renovate.json +6 -6
  200. package/src/tiles/list/tile-list.ts +12 -5
  201. package/test/tiles/list/tile-list.test.ts +51 -0
  202. package/tsconfig.json +21 -21
  203. package/web-dev-server.config.mjs +30 -30
  204. 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 particular facet group', async () => {
41
- var _a, _b, _c, _d;
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).to.equal('audio');
46
- expect((_d = (_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('1,001');
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 particular facet group', async () => {
41
+ var _a, _b, _c, _d;
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).to.equal('audio');
46
+ expect((_d = (_c = facetInfo === null || facetInfo === void 0 ? void 0 : facetInfo.querySelector('.facet-count')) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('1,001');
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,130 +1,130 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } 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
- import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
8
- const selectedFacetsGroup = {
9
- title: 'Media Type',
10
- key: 'mediatype',
11
- buckets: [
12
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
13
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
14
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
15
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
16
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
17
- ],
18
- };
19
- const aggregations = {
20
- collection: new Aggregation({
21
- buckets: [
22
- {
23
- key: 'foo',
24
- doc_count: 5,
25
- },
26
- ],
27
- }),
28
- };
29
- describe('More facets content', () => {
30
- it('should render more facets template', async () => {
31
- var _a;
32
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
33
- el.facetsLoading = false;
34
- await el.updateComplete;
35
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
36
- });
37
- it('should render more facets loader template', async () => {
38
- var _a;
39
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
40
- el.facetsLoading = true;
41
- await el.updateComplete;
42
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
43
- });
44
- it('should render pagination for more facets', async () => {
45
- var _a;
46
- const searchService = new MockSearchService();
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } 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
+ import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
8
+ const selectedFacetsGroup = {
9
+ title: 'Media Type',
10
+ key: 'mediatype',
11
+ buckets: [
12
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
13
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
14
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
15
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
16
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
17
+ ],
18
+ };
19
+ const aggregations = {
20
+ collection: new Aggregation({
21
+ buckets: [
22
+ {
23
+ key: 'foo',
24
+ doc_count: 5,
25
+ },
26
+ ],
27
+ }),
28
+ };
29
+ describe('More facets content', () => {
30
+ it('should render more facets template', async () => {
31
+ var _a;
32
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
33
+ el.facetsLoading = false;
34
+ await el.updateComplete;
35
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
36
+ });
37
+ it('should render more facets loader template', async () => {
38
+ var _a;
39
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
40
+ el.facetsLoading = true;
41
+ await el.updateComplete;
42
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
43
+ });
44
+ it('should render pagination for more facets', async () => {
45
+ var _a;
46
+ const searchService = new MockSearchService();
47
47
  const el = await fixture(html `<more-facets-content
48
48
  .searchService=${searchService}
49
- ></more-facets-content>`);
50
- el.facetKey = 'mediatype';
51
- el.facetsLoading = false;
52
- el.paginationSize = 6;
53
- await el.updateComplete;
54
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
55
- });
56
- it('query for more facets content using search service', async () => {
57
- var _a;
58
- const searchService = new MockSearchService();
49
+ ></more-facets-content>`);
50
+ el.facetKey = 'mediatype';
51
+ el.facetsLoading = false;
52
+ el.paginationSize = 6;
53
+ await el.updateComplete;
54
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
55
+ });
56
+ it('query for more facets content using search service', async () => {
57
+ var _a;
58
+ const searchService = new MockSearchService();
59
59
  const el = await fixture(html `<more-facets-content
60
60
  .searchService=${searchService}
61
- ></more-facets-content>`);
62
- el.facetKey = 'collection';
63
- el.fullQuery = 'title:hello';
64
- await el.updateComplete;
65
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
66
- });
67
- it('filter raw selectedFacets object', async () => {
68
- var _a;
69
- const searchService = new MockSearchService();
61
+ ></more-facets-content>`);
62
+ el.facetKey = 'collection';
63
+ el.fullQuery = 'title:hello';
64
+ await el.updateComplete;
65
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
66
+ });
67
+ it('filter raw selectedFacets object', async () => {
68
+ var _a;
69
+ const searchService = new MockSearchService();
70
70
  const el = await fixture(html `<more-facets-content
71
71
  .searchService=${searchService}
72
72
  .selectedFacets=${selectedFacetsGroup}
73
- ></more-facets-content>`);
74
- el.facetKey = 'collection';
75
- el.fullQuery = 'title:hello';
76
- await el.updateComplete;
77
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
78
- });
79
- it('combine selectedFacets and aggregationFacets and render on modal', async () => {
80
- var _a;
81
- const searchService = new MockSearchService();
73
+ ></more-facets-content>`);
74
+ el.facetKey = 'collection';
75
+ el.fullQuery = 'title:hello';
76
+ await el.updateComplete;
77
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
78
+ });
79
+ it('combine selectedFacets and aggregationFacets and render on modal', async () => {
80
+ var _a;
81
+ const searchService = new MockSearchService();
82
82
  const el = await fixture(html `<more-facets-content
83
83
  .searchService=${searchService}
84
84
  .selectedFacets=${selectedFacetsGroup}
85
85
  .aggregations=${aggregations}
86
- ></more-facets-content>`);
87
- await el.updateComplete;
88
- expect(el.facetGroupTitle).to.equal('Collection');
89
- const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
90
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
91
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
92
- const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
93
- expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
94
- expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
95
- });
96
- it('cancel button clicked event', async () => {
97
- var _a;
98
- const mockAnalyticsHandler = new MockAnalyticsHandler();
86
+ ></more-facets-content>`);
87
+ await el.updateComplete;
88
+ expect(el.facetGroupTitle).to.equal('Collection');
89
+ const facetGroup = (_a = el.facetGroup) === null || _a === void 0 ? void 0 : _a.shift();
90
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('collection');
91
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Collection');
92
+ const bucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
93
+ expect(bucket === null || bucket === void 0 ? void 0 : bucket.key).to.equal('foo');
94
+ expect(bucket === null || bucket === void 0 ? void 0 : bucket.count).to.equal(5);
95
+ });
96
+ it('cancel button clicked event', async () => {
97
+ var _a;
98
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
99
99
  const el = await fixture(html `<more-facets-content
100
100
  .analyticsHandler=${mockAnalyticsHandler}
101
- ></more-facets-content>`);
102
- el.facetsLoading = false;
103
- el.paginationSize = 5;
104
- await el.updateComplete;
105
- // select cancel button
106
- const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
107
- cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
108
- expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
109
- expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
110
- expect(mockAnalyticsHandler.callLabel).to.equal('undefined');
111
- });
112
- it('facet apply button clicked event', async () => {
113
- var _a;
114
- const mockAnalyticsHandler = new MockAnalyticsHandler();
101
+ ></more-facets-content>`);
102
+ el.facetsLoading = false;
103
+ el.paginationSize = 5;
104
+ await el.updateComplete;
105
+ // select cancel button
106
+ const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
107
+ cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
108
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
109
+ expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
110
+ expect(mockAnalyticsHandler.callLabel).to.equal('undefined');
111
+ });
112
+ it('facet apply button clicked event', async () => {
113
+ var _a;
114
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
115
115
  const el = await fixture(html `<more-facets-content
116
116
  .analyticsHandler=${mockAnalyticsHandler}
117
- ></more-facets-content>`);
118
- el.facetsLoading = false;
119
- el.paginationSize = 5;
120
- el.facetKey = 'collection';
121
- await el.updateComplete;
122
- // select submit button
123
- const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
124
- submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
125
- expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
126
- expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
127
- expect(mockAnalyticsHandler.callLabel).to.equal('collection');
128
- });
129
- });
117
+ ></more-facets-content>`);
118
+ el.facetsLoading = false;
119
+ el.paginationSize = 5;
120
+ el.facetKey = 'collection';
121
+ await el.updateComplete;
122
+ // select submit button
123
+ const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
124
+ submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
125
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
126
+ expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
127
+ expect(mockAnalyticsHandler.callLabel).to.equal('collection');
128
+ });
129
+ });
130
130
  //# 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';