@internetarchive/collection-browser 0.3.0 → 0.3.1-alpha.1

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 (212) 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 +234 -234
  68. package/dist/src/collection-browser.js +1368 -1367
  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/facets-util.d.ts +10 -10
  73. package/dist/src/collection-facets/facets-util.js +19 -19
  74. package/dist/src/collection-facets/facets-util.js.map +1 -1
  75. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  76. package/dist/src/collection-facets/more-facets-content.js +330 -330
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  79. package/dist/src/collection-facets.d.ts +71 -71
  80. package/dist/src/collection-facets.js +476 -476
  81. package/dist/src/collection-facets.js.map +1 -1
  82. package/dist/src/empty-placeholder.d.ts +11 -11
  83. package/dist/src/empty-placeholder.js +42 -42
  84. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  85. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  86. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  87. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  88. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  89. package/dist/src/mediatype/mediatype-config.js +85 -85
  90. package/dist/src/models.d.ts +89 -89
  91. package/dist/src/models.js +85 -85
  92. package/dist/src/models.js.map +1 -1
  93. package/dist/src/restoration-state-handler.d.ts +46 -45
  94. package/dist/src/restoration-state-handler.js +230 -219
  95. package/dist/src/restoration-state-handler.js.map +1 -1
  96. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  97. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  98. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  100. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/list.js +2 -2
  102. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  104. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  106. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  107. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  108. package/dist/src/styles/item-image-styles.d.ts +8 -8
  109. package/dist/src/styles/item-image-styles.js +9 -9
  110. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  111. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  112. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  113. package/dist/src/tiles/grid/account-tile.js +20 -20
  114. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  115. package/dist/src/tiles/grid/collection-tile.js +23 -23
  116. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  117. package/dist/src/tiles/grid/item-tile.js +87 -87
  118. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  119. package/dist/src/tiles/grid/tile-stats.js +35 -35
  120. package/dist/src/tiles/image-block.d.ts +17 -17
  121. package/dist/src/tiles/image-block.js +73 -73
  122. package/dist/src/tiles/item-image.d.ts +31 -31
  123. package/dist/src/tiles/item-image.js +103 -103
  124. package/dist/src/tiles/list/account-label.d.ts +1 -1
  125. package/dist/src/tiles/list/account-label.js +6 -6
  126. package/dist/src/tiles/list/date-label.d.ts +1 -1
  127. package/dist/src/tiles/list/date-label.js +12 -12
  128. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  129. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  130. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
  131. package/dist/src/tiles/list/tile-list-compact.js +87 -87
  132. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  133. package/dist/src/tiles/list/tile-list.js +263 -263
  134. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  135. package/dist/src/tiles/mediatype-icon.js +47 -47
  136. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  137. package/dist/src/tiles/overlay/icon-overlay.js +31 -31
  138. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  139. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  140. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  141. package/dist/src/tiles/text-snippet-block.js +81 -81
  142. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  143. package/dist/src/tiles/tile-dispatcher.js +128 -128
  144. package/dist/src/utils/analytics-events.d.ts +18 -18
  145. package/dist/src/utils/analytics-events.js +20 -20
  146. package/dist/src/utils/format-count.d.ts +7 -7
  147. package/dist/src/utils/format-count.js +75 -75
  148. package/dist/src/utils/format-date.d.ts +2 -2
  149. package/dist/src/utils/format-date.js +23 -23
  150. package/dist/test/collection-browser.test.d.ts +1 -1
  151. package/dist/test/collection-browser.test.js +342 -342
  152. package/dist/test/collection-browser.test.js.map +1 -1
  153. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  154. package/dist/test/collection-facets/facets-template.test.js +62 -62
  155. package/dist/test/collection-facets/facets-util.test.d.ts +1 -1
  156. package/dist/test/collection-facets/facets-util.test.js +12 -12
  157. package/dist/test/collection-facets/facets-util.test.js.map +1 -1
  158. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  159. package/dist/test/collection-facets/more-facets-content.test.js +91 -91
  160. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  161. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  162. package/dist/test/collection-facets.test.d.ts +2 -2
  163. package/dist/test/collection-facets.test.js +182 -182
  164. package/dist/test/empty-placeholder.test.d.ts +1 -1
  165. package/dist/test/empty-placeholder.test.js +33 -33
  166. package/dist/test/icon-overlay.test.d.ts +1 -1
  167. package/dist/test/icon-overlay.test.js +24 -24
  168. package/dist/test/item-image.test.d.ts +1 -1
  169. package/dist/test/item-image.test.js +56 -56
  170. package/dist/test/mediatype-config.test.d.ts +1 -1
  171. package/dist/test/mediatype-config.test.js +16 -16
  172. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  173. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  174. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  175. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  176. package/dist/test/mocks/mock-search-responses.d.ts +5 -5
  177. package/dist/test/mocks/mock-search-responses.js +103 -103
  178. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  179. package/dist/test/mocks/mock-search-service.js +25 -25
  180. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  181. package/dist/test/restoration-state-handler.test.js +117 -117
  182. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  183. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  184. package/dist/test/text-overlay.test.d.ts +1 -1
  185. package/dist/test/text-overlay.test.js +41 -41
  186. package/dist/test/text-snippet-block.test.d.ts +1 -1
  187. package/dist/test/text-snippet-block.test.js +57 -57
  188. package/dist/test/tile-stats.test.d.ts +1 -1
  189. package/dist/test/tile-stats.test.js +33 -33
  190. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  191. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  192. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  193. package/dist/test/tiles/list/tile-list.test.js +36 -36
  194. package/dist/test/utils/format-count.test.d.ts +1 -1
  195. package/dist/test/utils/format-count.test.js +23 -23
  196. package/dist/test/utils/format-date.test.d.ts +1 -1
  197. package/dist/test/utils/format-date.test.js +17 -17
  198. package/index.html +24 -24
  199. package/local.archive.org.cert +86 -86
  200. package/local.archive.org.key +27 -27
  201. package/package.json +115 -115
  202. package/renovate.json +6 -6
  203. package/src/collection-browser.ts +1490 -1489
  204. package/src/collection-facets/facets-util.ts +22 -22
  205. package/src/collection-facets.ts +541 -541
  206. package/src/models.ts +188 -188
  207. package/src/restoration-state-handler.ts +313 -301
  208. package/test/collection-browser.test.ts +488 -488
  209. package/test/collection-facets/facets-util.test.ts +18 -18
  210. package/tsconfig.json +21 -21
  211. package/web-dev-server.config.mjs +30 -30
  212. package/web-test-runner.config.mjs +41 -41
@@ -1,106 +1,106 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { repeat } from 'lit/directives/repeat.js';
5
- import eyeIcon from '../assets/img/icons/eye';
6
- import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
- import { defaultSelectedFacets, } from '../models';
8
- let FacetsTemplate = class FacetsTemplate extends LitElement {
9
- facetClicked(e, count, negative) {
10
- const target = e.target;
11
- const { checked, name, value } = target;
12
- if (checked) {
13
- this.facetChecked(name, value, count, negative);
14
- }
15
- else {
16
- this.facetUnchecked(name, value);
17
- }
18
- }
19
- facetChecked(key, value, count, negative) {
20
- const { selectedFacets } = this;
21
- let newFacets;
22
- if (selectedFacets) {
23
- newFacets = {
24
- ...selectedFacets,
25
- };
26
- }
27
- else {
28
- newFacets = defaultSelectedFacets;
29
- }
30
- newFacets[key][value] = {
31
- state: negative ? 'hidden' : 'selected',
32
- count,
33
- };
34
- this.selectedFacets = newFacets;
35
- this.dispatchSelectedFacetsChanged();
36
- }
37
- facetUnchecked(key, value) {
38
- const { selectedFacets } = this;
39
- let newFacets;
40
- if (selectedFacets) {
41
- newFacets = {
42
- ...selectedFacets,
43
- };
44
- }
45
- else {
46
- newFacets = defaultSelectedFacets;
47
- }
48
- delete newFacets[key][value];
49
- this.selectedFacets = newFacets;
50
- this.dispatchSelectedFacetsChanged();
51
- }
52
- dispatchSelectedFacetsChanged() {
53
- const event = new CustomEvent('selectedFacetsChanged', {
54
- detail: this.selectedFacets,
55
- bubbles: true,
56
- composed: true,
57
- });
58
- this.dispatchEvent(event);
59
- }
60
- getFacetsTemplate(facetGroup) {
61
- let facetsBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets;
62
- /**
63
- * sorting FacetBucket before render page / modal
64
- * - first, selected items should be at top having sorted
65
- * - second, suppressed/hidden items should be after selected having sorted
66
- * - and then no-selected / not suppressed items should render having sorted
67
- */
68
- facetsBucket = [
69
- ...facetsBucket
70
- .filter(x => x.state === 'selected')
71
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
72
- ...facetsBucket
73
- .filter(x => x.state === 'hidden')
74
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
75
- ...facetsBucket.filter(x => x.state === 'none'),
76
- ];
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { repeat } from 'lit/directives/repeat.js';
5
+ import eyeIcon from '../assets/img/icons/eye';
6
+ import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
+ import { defaultSelectedFacets, } from '../models';
8
+ let FacetsTemplate = class FacetsTemplate extends LitElement {
9
+ facetClicked(e, count, negative) {
10
+ const target = e.target;
11
+ const { checked, name, value } = target;
12
+ if (checked) {
13
+ this.facetChecked(name, value, count, negative);
14
+ }
15
+ else {
16
+ this.facetUnchecked(name, value);
17
+ }
18
+ }
19
+ facetChecked(key, value, count, negative) {
20
+ const { selectedFacets } = this;
21
+ let newFacets;
22
+ if (selectedFacets) {
23
+ newFacets = {
24
+ ...selectedFacets,
25
+ };
26
+ }
27
+ else {
28
+ newFacets = defaultSelectedFacets;
29
+ }
30
+ newFacets[key][value] = {
31
+ state: negative ? 'hidden' : 'selected',
32
+ count,
33
+ };
34
+ this.selectedFacets = newFacets;
35
+ this.dispatchSelectedFacetsChanged();
36
+ }
37
+ facetUnchecked(key, value) {
38
+ const { selectedFacets } = this;
39
+ let newFacets;
40
+ if (selectedFacets) {
41
+ newFacets = {
42
+ ...selectedFacets,
43
+ };
44
+ }
45
+ else {
46
+ newFacets = defaultSelectedFacets;
47
+ }
48
+ delete newFacets[key][value];
49
+ this.selectedFacets = newFacets;
50
+ this.dispatchSelectedFacetsChanged();
51
+ }
52
+ dispatchSelectedFacetsChanged() {
53
+ const event = new CustomEvent('selectedFacetsChanged', {
54
+ detail: this.selectedFacets,
55
+ bubbles: true,
56
+ composed: true,
57
+ });
58
+ this.dispatchEvent(event);
59
+ }
60
+ getFacetsTemplate(facetGroup) {
61
+ let facetsBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets;
62
+ /**
63
+ * sorting FacetBucket before render page / modal
64
+ * - first, selected items should be at top having sorted
65
+ * - second, suppressed/hidden items should be after selected having sorted
66
+ * - and then no-selected / not suppressed items should render having sorted
67
+ */
68
+ facetsBucket = [
69
+ ...facetsBucket
70
+ .filter(x => x.state === 'selected')
71
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
72
+ ...facetsBucket
73
+ .filter(x => x.state === 'hidden')
74
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
75
+ ...facetsBucket.filter(x => x.state === 'none'),
76
+ ];
77
77
  return html `
78
78
  <div class="facets-on-${this.renderOn}">
79
- ${repeat(facetsBucket, bucket => `${facetGroup.key}:${bucket.key}`, bucket => {
80
- var _a, _b;
81
- const showOnlyCheckboxId = `${facetGroup.key}:${bucket.key}-show-only`;
82
- const negativeCheckboxId = `${facetGroup.key}:${bucket.key}-negative`;
83
- // for collections, we need to asynchronously load the collection name
84
- // so we use the `async-collection-name` widget and for the rest, we have
85
- // a static value to use
86
- const bucketTextDisplay = facetGroup.key !== 'collection'
87
- ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
79
+ ${repeat(facetsBucket, bucket => `${facetGroup.key}:${bucket.key}`, bucket => {
80
+ var _a, _b;
81
+ const showOnlyCheckboxId = `${facetGroup.key}:${bucket.key}-show-only`;
82
+ const negativeCheckboxId = `${facetGroup.key}:${bucket.key}-negative`;
83
+ // for collections, we need to asynchronously load the collection name
84
+ // so we use the `async-collection-name` widget and for the rest, we have
85
+ // a static value to use
86
+ const bucketTextDisplay = facetGroup.key !== 'collection'
87
+ ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
88
88
  : html `<a href="/details/${bucket.key}">
89
89
  <async-collection-name
90
90
  .collectionNameCache=${this.collectionNameCache}
91
91
  .identifier=${bucket.key}
92
92
  placeholder="-"
93
93
  ></async-collection-name>
94
- </a> `;
95
- const facetHidden = bucket.state === 'hidden';
96
- const facetSelected = bucket.state === 'selected';
97
- const titleText = `${facetGroup.key}: ${(_b = bucket.displayText) !== null && _b !== void 0 ? _b : bucket.key}`;
98
- const onlyShowText = facetSelected
99
- ? `Show all ${facetGroup.key}s`
100
- : `Only show ${titleText}`;
101
- const hideText = `Hide ${titleText}`;
102
- const unhideText = `Unhide ${titleText}`;
103
- const showHideText = facetHidden ? unhideText : hideText;
94
+ </a> `;
95
+ const facetHidden = bucket.state === 'hidden';
96
+ const facetSelected = bucket.state === 'selected';
97
+ const titleText = `${facetGroup.key}: ${(_b = bucket.displayText) !== null && _b !== void 0 ? _b : bucket.key}`;
98
+ const onlyShowText = facetSelected
99
+ ? `Show all ${facetGroup.key}s`
100
+ : `Only show ${titleText}`;
101
+ const hideText = `Hide ${titleText}`;
102
+ const unhideText = `Unhide ${titleText}`;
103
+ const showHideText = facetHidden ? unhideText : hideText;
104
104
  return html `
105
105
  <div class="facet-row">
106
106
  <div class="facet-checkbox">
@@ -108,8 +108,8 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
108
108
  type="checkbox"
109
109
  .name=${facetGroup.key}
110
110
  .value=${bucket.key}
111
- @click=${(e) => {
112
- this.facetClicked(e, bucket.count, false);
111
+ @click=${(e) => {
112
+ this.facetClicked(e, bucket.count, false);
113
113
  }}
114
114
  .checked=${facetSelected}
115
115
  class="select-facet-checkbox"
@@ -121,8 +121,8 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
121
121
  id=${negativeCheckboxId}
122
122
  .name=${facetGroup.key}
123
123
  .value=${bucket.key}
124
- @click=${(e) => {
125
- this.facetClicked(e, bucket.count, true);
124
+ @click=${(e) => {
125
+ this.facetClicked(e, bucket.count, true);
126
126
  }}
127
127
  .checked=${facetHidden}
128
128
  class="hide-facet-checkbox"
@@ -145,15 +145,15 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
145
145
  <div class="facet-count">${bucket.count}</div>
146
146
  </div>
147
147
  </div>
148
- `;
148
+ `;
149
149
  })}
150
150
  </div>
151
- `;
152
- }
153
- render() {
154
- return html `${this.getFacetsTemplate(this.facetGroup)}`;
155
- }
156
- static get styles() {
151
+ `;
152
+ }
153
+ render() {
154
+ return html `${this.getFacetsTemplate(this.facetGroup)}`;
155
+ }
156
+ static get styles() {
157
157
  return css `
158
158
  .facets-on-modal {
159
159
  /* For Chrome, Safari, Opera browsers */
@@ -252,23 +252,23 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
252
252
  a:hover {
253
253
  text-decoration: underline;
254
254
  }
255
- `;
256
- }
257
- };
258
- __decorate([
259
- property({ type: Object })
260
- ], FacetsTemplate.prototype, "facetGroup", void 0);
261
- __decorate([
262
- property({ type: Object })
263
- ], FacetsTemplate.prototype, "selectedFacets", void 0);
264
- __decorate([
265
- property({ type: String })
266
- ], FacetsTemplate.prototype, "renderOn", void 0);
267
- __decorate([
268
- property({ type: Object })
269
- ], FacetsTemplate.prototype, "collectionNameCache", void 0);
270
- FacetsTemplate = __decorate([
271
- customElement('facets-template')
272
- ], FacetsTemplate);
273
- export { FacetsTemplate };
255
+ `;
256
+ }
257
+ };
258
+ __decorate([
259
+ property({ type: Object })
260
+ ], FacetsTemplate.prototype, "facetGroup", void 0);
261
+ __decorate([
262
+ property({ type: Object })
263
+ ], FacetsTemplate.prototype, "selectedFacets", void 0);
264
+ __decorate([
265
+ property({ type: String })
266
+ ], FacetsTemplate.prototype, "renderOn", void 0);
267
+ __decorate([
268
+ property({ type: Object })
269
+ ], FacetsTemplate.prototype, "collectionNameCache", void 0);
270
+ FacetsTemplate = __decorate([
271
+ customElement('facets-template')
272
+ ], FacetsTemplate);
273
+ export { FacetsTemplate };
274
274
  //# sourceMappingURL=facets-template.js.map
@@ -1,10 +1,10 @@
1
- import { FacetOption } from '../models';
2
- /**
3
- * Parse the aggregate key title into the human readable title
4
- *
5
- * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type
6
- *
7
- * @param key
8
- * @returns
9
- */
10
- export declare function getFacetOptionFromKey(key: string): FacetOption;
1
+ import { FacetOption } from '../models';
2
+ /**
3
+ * Parse the aggregate key title into the human readable title
4
+ *
5
+ * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type
6
+ *
7
+ * @param key
8
+ * @returns
9
+ */
10
+ export declare function getFacetOptionFromKey(key: string): FacetOption;
@@ -1,20 +1,20 @@
1
- import { aggregationToFacetOption } from '../models';
2
- /**
3
- * Parse the aggregate key title into the human readable title
4
- *
5
- * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type
6
- *
7
- * @param key
8
- * @returns
9
- */
10
- export function getFacetOptionFromKey(key) {
11
- const parts = key.split('__');
12
- const fieldNamePart = parts[2];
13
- const fieldName = fieldNamePart.split(':')[1];
14
- const facetMatch = Object.entries(aggregationToFacetOption).find(([key2]) => fieldName.includes(key2));
15
- const option = facetMatch === null || facetMatch === void 0 ? void 0 : facetMatch[1];
16
- if (!option)
17
- throw new Error(`Could not find facet option for key: ${key}`);
18
- return option;
19
- }
1
+ import { aggregationToFacetOption } from '../models';
2
+ /**
3
+ * Parse the aggregate key title into the human readable title
4
+ *
5
+ * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type
6
+ *
7
+ * @param key
8
+ * @returns
9
+ */
10
+ export function getFacetOptionFromKey(key) {
11
+ const parts = key.split('__');
12
+ const fieldNamePart = parts[2];
13
+ const fieldName = fieldNamePart.split(':')[1];
14
+ const facetMatch = Object.entries(aggregationToFacetOption).find(([key2]) => fieldName.includes(key2));
15
+ const option = facetMatch === null || facetMatch === void 0 ? void 0 : facetMatch[1];
16
+ if (!option)
17
+ throw new Error(`Could not find facet option for key: ${key}`);
18
+ return option;
19
+ }
20
20
  //# sourceMappingURL=facets-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"facets-util.js","sourceRoot":"","sources":["../../../src/collection-facets/facets-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAe,MAAM,WAAW,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAC1E,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { aggregationToFacetOption, FacetOption } from '../models';\n\n/**\n * Parse the aggregate key title into the human readable title\n *\n * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type\n *\n * @param key\n * @returns\n */\nexport function getFacetOptionFromKey(key: string): FacetOption {\n const parts = key.split('__');\n const fieldNamePart = parts[2];\n const fieldName = fieldNamePart.split(':')[1];\n const facetMatch = Object.entries(aggregationToFacetOption).find(([key2]) =>\n fieldName.includes(key2)\n );\n\n const option = facetMatch?.[1];\n if (!option) throw new Error(`Could not find facet option for key: ${key}`);\n return option;\n}\n"]}
1
+ {"version":3,"file":"facets-util.js","sourceRoot":"","sources":["../../../src/collection-facets/facets-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAe,MAAM,WAAW,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAC1E,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { aggregationToFacetOption, FacetOption } from '../models';\r\n\r\n/**\r\n * Parse the aggregate key title into the human readable title\r\n *\r\n * Example: user_aggs__terms__field:mediatypeSorter__size:6 => Media Type\r\n *\r\n * @param key\r\n * @returns\r\n */\r\nexport function getFacetOptionFromKey(key: string): FacetOption {\r\n const parts = key.split('__');\r\n const fieldNamePart = parts[2];\r\n const fieldName = fieldNamePart.split(':')[1];\r\n const facetMatch = Object.entries(aggregationToFacetOption).find(([key2]) =>\r\n fieldName.includes(key2)\r\n );\r\n\r\n const option = facetMatch?.[1];\r\n if (!option) throw new Error(`Could not find facet option for key: ${key}`);\r\n return option;\r\n}\r\n"]}
@@ -1,74 +1,74 @@
1
- import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import { Aggregation, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
- import type { ModalManagerInterface } from '@internetarchive/modal-manager';
5
- import { SelectedFacets, FacetGroup } from '../models';
6
- import type { LanguageCodeHandlerInterface } from '../language-code-handler/language-code-handler';
7
- import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
8
- import './more-facets-pagination';
9
- import './facets-template';
10
- export declare class MoreFacetsContent extends LitElement {
11
- facetKey?: string;
12
- facetAggregationKey?: string;
13
- fullQuery?: string;
14
- modalManager?: ModalManagerInterface;
15
- searchService?: SearchServiceInterface;
16
- searchType?: SearchType;
17
- collectionNameCache?: CollectionNameCacheInterface;
18
- languageCodeHandler?: LanguageCodeHandlerInterface;
19
- selectedFacets?: SelectedFacets;
20
- sortedBy: string;
21
- aggregations?: Record<string, Aggregation>;
22
- facetGroup?: FacetGroup[];
23
- facetGroupTitle?: String;
24
- pageNumber: number;
25
- /**
26
- * Facets are loading on popup
27
- */
28
- facetsLoading: boolean;
29
- paginationSize: number;
30
- facetsType: string;
31
- private facetsPerPage;
32
- updated(changed: PropertyValues): void;
33
- firstUpdated(): void;
34
- /**
35
- * Close more facets modal on Escape click
36
- */
37
- private setupEscapeListeners;
38
- /**
39
- * Get specific facets data from search-service API based of currently query params
40
- * - this.aggregations - hold result of search service and being used for further processing.
41
- */
42
- updateSpecificFacets(): Promise<void>;
43
- private pageNumberClicked;
44
- /**
45
- * Combines the selected facets with the aggregations to create a single list of facets
46
- */
47
- private get mergedFacets();
48
- /**
49
- * Converts the selected facets to a `FacetGroup` array,
50
- * which is easier to work with
51
- */
52
- private get selectedFacetGroups();
53
- /**
54
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
55
- */
56
- private get aggregationFacetGroups();
57
- /**
58
- * for collections, we need to asynchronously load the collection name
59
- * so we use the `async-collection-name` widget and for the rest, we have a static value to use
60
- *
61
- * @param castedBuckets
62
- */
63
- private preloadCollectionNames;
64
- private get getMoreFacetsTemplate();
65
- private get loaderTemplate();
66
- private get facetsPaginationTemplate();
67
- private get footerTemplate();
68
- private sortFacetAggregation;
69
- private get getModalHeaderTemplate();
70
- render(): TemplateResult<1>;
71
- private applySearchFacetsClicked;
72
- private cancelClick;
73
- static get styles(): CSSResultGroup;
74
- }
1
+ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { Aggregation, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
5
+ import { SelectedFacets, FacetGroup } from '../models';
6
+ import type { LanguageCodeHandlerInterface } from '../language-code-handler/language-code-handler';
7
+ import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
8
+ import './more-facets-pagination';
9
+ import './facets-template';
10
+ export declare class MoreFacetsContent extends LitElement {
11
+ facetKey?: string;
12
+ facetAggregationKey?: string;
13
+ fullQuery?: string;
14
+ modalManager?: ModalManagerInterface;
15
+ searchService?: SearchServiceInterface;
16
+ searchType?: SearchType;
17
+ collectionNameCache?: CollectionNameCacheInterface;
18
+ languageCodeHandler?: LanguageCodeHandlerInterface;
19
+ selectedFacets?: SelectedFacets;
20
+ sortedBy: string;
21
+ aggregations?: Record<string, Aggregation>;
22
+ facetGroup?: FacetGroup[];
23
+ facetGroupTitle?: String;
24
+ pageNumber: number;
25
+ /**
26
+ * Facets are loading on popup
27
+ */
28
+ facetsLoading: boolean;
29
+ paginationSize: number;
30
+ facetsType: string;
31
+ private facetsPerPage;
32
+ updated(changed: PropertyValues): void;
33
+ firstUpdated(): void;
34
+ /**
35
+ * Close more facets modal on Escape click
36
+ */
37
+ private setupEscapeListeners;
38
+ /**
39
+ * Get specific facets data from search-service API based of currently query params
40
+ * - this.aggregations - hold result of search service and being used for further processing.
41
+ */
42
+ updateSpecificFacets(): Promise<void>;
43
+ private pageNumberClicked;
44
+ /**
45
+ * Combines the selected facets with the aggregations to create a single list of facets
46
+ */
47
+ private get mergedFacets();
48
+ /**
49
+ * Converts the selected facets to a `FacetGroup` array,
50
+ * which is easier to work with
51
+ */
52
+ private get selectedFacetGroups();
53
+ /**
54
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
55
+ */
56
+ private get aggregationFacetGroups();
57
+ /**
58
+ * for collections, we need to asynchronously load the collection name
59
+ * so we use the `async-collection-name` widget and for the rest, we have a static value to use
60
+ *
61
+ * @param castedBuckets
62
+ */
63
+ private preloadCollectionNames;
64
+ private get getMoreFacetsTemplate();
65
+ private get loaderTemplate();
66
+ private get facetsPaginationTemplate();
67
+ private get footerTemplate();
68
+ private sortFacetAggregation;
69
+ private get getModalHeaderTemplate();
70
+ render(): TemplateResult<1>;
71
+ private applySearchFacetsClicked;
72
+ private cancelClick;
73
+ static get styles(): CSSResultGroup;
74
+ }