@net7/boilerplate-arianna 4.9.7 → 5.0.0

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 (216) hide show
  1. package/esm2022/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +29 -0
  2. package/{esm2020 → esm2022}/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/components/chart-tippy/chart-tippy.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/components/extended-tree/extended-tree.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.mjs +4 -4
  6. package/esm2022/lib/components/pdf-viewer/pdf-viewer.mjs +31 -0
  7. package/esm2022/lib/components/scheda-dropdown/scheda-dropdown.mjs +26 -0
  8. package/{esm2020 → esm2022}/lib/components/scheda-image-navigator/scheda-image-navigator.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/components/scheda-search/scheda-search.mjs +4 -4
  10. package/esm2022/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +82 -0
  11. package/esm2022/lib/config/apollo.config.mjs +738 -0
  12. package/esm2022/lib/data-sources/autocomplete-wrapper.ds.mjs +48 -0
  13. package/esm2022/lib/data-sources/aw-facets-wrapper.ds.mjs +162 -0
  14. package/esm2022/lib/data-sources/bubble-chart.ds.mjs +95 -0
  15. package/esm2022/lib/data-sources/carousel.ds.mjs +74 -0
  16. package/esm2022/lib/data-sources/entita-nav.ds.mjs +74 -0
  17. package/esm2022/lib/data-sources/extended-tree.ds.mjs +157 -0
  18. package/esm2022/lib/data-sources/gallery-results.ds.mjs +103 -0
  19. package/esm2022/lib/data-sources/home-autocomplete.ds.mjs +80 -0
  20. package/esm2022/lib/data-sources/home-facets-wrapper.ds.mjs +190 -0
  21. package/esm2022/lib/data-sources/linked-objects.ds.mjs +219 -0
  22. package/{esm2020 → esm2022}/lib/data-sources/map.ds.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/data-sources/related-entities.ds.mjs +2 -2
  24. package/{esm2020 → esm2022}/lib/data-sources/scheda-breadcrumbs.ds.mjs +1 -1
  25. package/{esm2020 → esm2022}/lib/data-sources/scheda-dropdown.ds.mjs +1 -1
  26. package/esm2022/lib/data-sources/scheda-image-navigator.ds.mjs +82 -0
  27. package/{esm2020 → esm2022}/lib/data-sources/scheda-image.ds.mjs +1 -1
  28. package/esm2022/lib/data-sources/scheda-pdf.ds.mjs +54 -0
  29. package/esm2022/lib/data-sources/scheda-search.ds.mjs +141 -0
  30. package/{esm2020 → esm2022}/lib/data-sources/sidebar-header.ds.mjs +1 -1
  31. package/esm2022/lib/data-sources/timeline.ds.mjs +106 -0
  32. package/esm2022/lib/data-sources/tree.ds.mjs +154 -0
  33. package/esm2022/lib/event-handlers/autocomplete-wrapper.eh.mjs +18 -0
  34. package/esm2022/lib/event-handlers/aw-facets-wrapper.eh.mjs +88 -0
  35. package/esm2022/lib/event-handlers/bubble-chart.eh.mjs +98 -0
  36. package/esm2022/lib/event-handlers/chart-tippy.eh.mjs +64 -0
  37. package/{esm2020 → esm2022}/lib/event-handlers/entita-nav.eh.mjs +1 -1
  38. package/esm2022/lib/event-handlers/extended-tree.eh.mjs +23 -0
  39. package/esm2022/lib/event-handlers/gallery-results.eh.mjs +38 -0
  40. package/esm2022/lib/event-handlers/hero.eh.mjs +25 -0
  41. package/{esm2020 → esm2022}/lib/event-handlers/home-autocomplete.eh.mjs +1 -1
  42. package/esm2022/lib/event-handlers/home-facets-wrapper.eh.mjs +125 -0
  43. package/{esm2020 → esm2022}/lib/event-handlers/home-item-tags-wrapper.eh.mjs +1 -1
  44. package/esm2022/lib/event-handlers/linked-objects.eh.mjs +60 -0
  45. package/esm2022/lib/event-handlers/map.eh.mjs +23 -0
  46. package/{esm2020 → esm2022}/lib/event-handlers/scheda-breadcrumbs.eh.mjs +1 -1
  47. package/esm2022/lib/event-handlers/scheda-dropdown.eh.mjs +17 -0
  48. package/esm2022/lib/event-handlers/scheda-image-navigator.eh.mjs +18 -0
  49. package/esm2022/lib/event-handlers/scheda-pdf.eh.mjs +14 -0
  50. package/{esm2020 → esm2022}/lib/event-handlers/scheda-search.eh.mjs +1 -1
  51. package/{esm2020 → esm2022}/lib/event-handlers/sidebar-header.eh.mjs +1 -1
  52. package/esm2022/lib/event-handlers/timeline.eh.mjs +46 -0
  53. package/esm2022/lib/event-handlers/tree.eh.mjs +119 -0
  54. package/esm2022/lib/helpers/metadata.helper.mjs +89 -0
  55. package/esm2022/lib/helpers/node.helper.mjs +14 -0
  56. package/esm2022/lib/helpers/title.helper.mjs +12 -0
  57. package/esm2022/lib/layouts/collection-layout/collection-layout.ds.mjs +185 -0
  58. package/esm2022/lib/layouts/collection-layout/collection-layout.eh.mjs +27 -0
  59. package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.mjs +5 -5
  60. package/esm2022/lib/layouts/entita-layout/entita-layout.ds.mjs +320 -0
  61. package/esm2022/lib/layouts/entita-layout/entita-layout.eh.mjs +119 -0
  62. package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.mjs +5 -5
  63. package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-facets.config.mjs +3 -3
  64. package/esm2022/lib/layouts/gallery-layout/gallery-layout.ds.mjs +48 -0
  65. package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.mjs +5 -5
  66. package/esm2022/lib/layouts/home-layout/home-layout.ds.mjs +298 -0
  67. package/esm2022/lib/layouts/home-layout/home-layout.eh.mjs +245 -0
  68. package/{esm2020 → esm2022}/lib/layouts/home-layout/home-layout.mjs +5 -5
  69. package/esm2022/lib/layouts/map-layout/map-layout.ds.mjs +122 -0
  70. package/esm2022/lib/layouts/map-layout/map-layout.eh.mjs +44 -0
  71. package/{esm2020 → esm2022}/lib/layouts/map-layout/map-layout.mjs +5 -5
  72. package/esm2022/lib/layouts/scheda-layout/scheda-layout.ds.mjs +472 -0
  73. package/esm2022/lib/layouts/scheda-layout/scheda-layout.eh.mjs +347 -0
  74. package/{esm2020 → esm2022}/lib/layouts/scheda-layout/scheda-layout.mjs +5 -5
  75. package/{esm2020 → esm2022}/lib/layouts/search-layout/search-facets.config.mjs +3 -3
  76. package/esm2022/lib/layouts/search-layout/search-layout.ds.mjs +306 -0
  77. package/esm2022/lib/layouts/search-layout/search-layout.eh.mjs +175 -0
  78. package/{esm2020 → esm2022}/lib/layouts/search-layout/search-layout.mjs +5 -5
  79. package/esm2022/lib/layouts/timeline-layout/timeline-layout.ds.mjs +143 -0
  80. package/esm2022/lib/layouts/timeline-layout/timeline-layout.eh.mjs +41 -0
  81. package/{esm2020 → esm2022}/lib/layouts/timeline-layout/timeline-layout.mjs +5 -5
  82. package/{esm2020 → esm2022}/lib/n7-boilerplate-arianna.module.mjs +48 -48
  83. package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-checkbox.mjs +1 -1
  84. package/esm2022/lib/search/aw-facet-inputs/aw-facet-input-link.mjs +89 -0
  85. package/esm2022/lib/search/aw-facet-inputs/aw-facet-input.mjs +30 -0
  86. package/esm2022/lib/search/aw-search.model.mjs +331 -0
  87. package/esm2022/lib/search/aw-search.service.mjs +42 -0
  88. package/esm2022/lib/search/entity-links.helper.mjs +126 -0
  89. package/{fesm2020 → fesm2022}/net7-boilerplate-arianna.mjs +170 -159
  90. package/fesm2022/net7-boilerplate-arianna.mjs.map +1 -0
  91. package/lib/components/aw-facets-wrapper/aw-facets-wrapper.d.ts +1 -1
  92. package/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.d.ts +1 -1
  93. package/lib/components/chart-tippy/chart-tippy.d.ts +1 -1
  94. package/lib/components/extended-tree/extended-tree.d.ts +2 -2
  95. package/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.d.ts +2 -2
  96. package/lib/components/pdf-viewer/pdf-viewer.d.ts +3 -3
  97. package/lib/components/scheda-dropdown/scheda-dropdown.d.ts +2 -2
  98. package/lib/components/scheda-image-navigator/scheda-image-navigator.d.ts +2 -2
  99. package/lib/components/scheda-search/scheda-search.d.ts +2 -2
  100. package/lib/components/smart-breadcrumbs/smart-breadcrumbs.d.ts +1 -1
  101. package/lib/config-types/arianna/app.d.ts +4 -4
  102. package/lib/config-types/arianna/layouts.d.ts +1 -1
  103. package/lib/data-sources/carousel.ds.d.ts +2 -2
  104. package/lib/data-sources/extended-tree.ds.d.ts +2 -2
  105. package/lib/layouts/collection-layout/collection-layout.d.ts +1 -1
  106. package/lib/layouts/collection-layout/collection-layout.types.d.ts +2 -2
  107. package/lib/layouts/entita-layout/entita-layout.d.ts +1 -1
  108. package/lib/layouts/entita-layout/entita-layout.types.d.ts +2 -2
  109. package/lib/layouts/gallery-layout/gallery-layout.d.ts +1 -1
  110. package/lib/layouts/home-layout/home-layout.d.ts +1 -1
  111. package/lib/layouts/map-layout/map-layout.d.ts +1 -1
  112. package/lib/layouts/map-layout/map-layout.ds.d.ts +1 -1
  113. package/lib/layouts/scheda-layout/scheda-layout.d.ts +1 -1
  114. package/lib/layouts/search-layout/search-layout.d.ts +1 -1
  115. package/lib/layouts/search-layout/search-layout.ds.d.ts +1 -1
  116. package/lib/layouts/timeline-layout/timeline-layout.d.ts +1 -1
  117. package/lib/layouts/timeline-layout/timeline-layout.ds.d.ts +1 -1
  118. package/lib/search/aw-search.model.d.ts +3 -3
  119. package/package.json +5 -11
  120. package/esm2020/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +0 -29
  121. package/esm2020/lib/components/pdf-viewer/pdf-viewer.mjs +0 -31
  122. package/esm2020/lib/components/scheda-dropdown/scheda-dropdown.mjs +0 -26
  123. package/esm2020/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +0 -82
  124. package/esm2020/lib/config/apollo.config.mjs +0 -738
  125. package/esm2020/lib/data-sources/autocomplete-wrapper.ds.mjs +0 -48
  126. package/esm2020/lib/data-sources/aw-facets-wrapper.ds.mjs +0 -162
  127. package/esm2020/lib/data-sources/bubble-chart.ds.mjs +0 -95
  128. package/esm2020/lib/data-sources/carousel.ds.mjs +0 -74
  129. package/esm2020/lib/data-sources/entita-nav.ds.mjs +0 -74
  130. package/esm2020/lib/data-sources/extended-tree.ds.mjs +0 -157
  131. package/esm2020/lib/data-sources/gallery-results.ds.mjs +0 -103
  132. package/esm2020/lib/data-sources/home-autocomplete.ds.mjs +0 -80
  133. package/esm2020/lib/data-sources/home-facets-wrapper.ds.mjs +0 -190
  134. package/esm2020/lib/data-sources/linked-objects.ds.mjs +0 -219
  135. package/esm2020/lib/data-sources/scheda-image-navigator.ds.mjs +0 -82
  136. package/esm2020/lib/data-sources/scheda-pdf.ds.mjs +0 -54
  137. package/esm2020/lib/data-sources/scheda-search.ds.mjs +0 -141
  138. package/esm2020/lib/data-sources/timeline.ds.mjs +0 -106
  139. package/esm2020/lib/data-sources/tree.ds.mjs +0 -154
  140. package/esm2020/lib/event-handlers/autocomplete-wrapper.eh.mjs +0 -18
  141. package/esm2020/lib/event-handlers/aw-facets-wrapper.eh.mjs +0 -88
  142. package/esm2020/lib/event-handlers/bubble-chart.eh.mjs +0 -98
  143. package/esm2020/lib/event-handlers/chart-tippy.eh.mjs +0 -64
  144. package/esm2020/lib/event-handlers/extended-tree.eh.mjs +0 -23
  145. package/esm2020/lib/event-handlers/gallery-results.eh.mjs +0 -38
  146. package/esm2020/lib/event-handlers/hero.eh.mjs +0 -25
  147. package/esm2020/lib/event-handlers/home-facets-wrapper.eh.mjs +0 -125
  148. package/esm2020/lib/event-handlers/linked-objects.eh.mjs +0 -60
  149. package/esm2020/lib/event-handlers/map.eh.mjs +0 -23
  150. package/esm2020/lib/event-handlers/scheda-dropdown.eh.mjs +0 -17
  151. package/esm2020/lib/event-handlers/scheda-image-navigator.eh.mjs +0 -18
  152. package/esm2020/lib/event-handlers/scheda-pdf.eh.mjs +0 -14
  153. package/esm2020/lib/event-handlers/timeline.eh.mjs +0 -46
  154. package/esm2020/lib/event-handlers/tree.eh.mjs +0 -119
  155. package/esm2020/lib/helpers/metadata.helper.mjs +0 -89
  156. package/esm2020/lib/helpers/node.helper.mjs +0 -14
  157. package/esm2020/lib/helpers/title.helper.mjs +0 -12
  158. package/esm2020/lib/layouts/collection-layout/collection-layout.ds.mjs +0 -185
  159. package/esm2020/lib/layouts/collection-layout/collection-layout.eh.mjs +0 -27
  160. package/esm2020/lib/layouts/entita-layout/entita-layout.ds.mjs +0 -320
  161. package/esm2020/lib/layouts/entita-layout/entita-layout.eh.mjs +0 -119
  162. package/esm2020/lib/layouts/gallery-layout/gallery-layout.ds.mjs +0 -48
  163. package/esm2020/lib/layouts/home-layout/home-layout.ds.mjs +0 -298
  164. package/esm2020/lib/layouts/home-layout/home-layout.eh.mjs +0 -245
  165. package/esm2020/lib/layouts/map-layout/map-layout.ds.mjs +0 -122
  166. package/esm2020/lib/layouts/map-layout/map-layout.eh.mjs +0 -44
  167. package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +0 -472
  168. package/esm2020/lib/layouts/scheda-layout/scheda-layout.eh.mjs +0 -347
  169. package/esm2020/lib/layouts/search-layout/search-layout.ds.mjs +0 -306
  170. package/esm2020/lib/layouts/search-layout/search-layout.eh.mjs +0 -175
  171. package/esm2020/lib/layouts/timeline-layout/timeline-layout.ds.mjs +0 -143
  172. package/esm2020/lib/layouts/timeline-layout/timeline-layout.eh.mjs +0 -41
  173. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-link.mjs +0 -89
  174. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input.mjs +0 -30
  175. package/esm2020/lib/search/aw-search.model.mjs +0 -331
  176. package/esm2020/lib/search/aw-search.service.mjs +0 -42
  177. package/esm2020/lib/search/entity-links.helper.mjs +0 -126
  178. package/fesm2015/net7-boilerplate-arianna.mjs +0 -8551
  179. package/fesm2015/net7-boilerplate-arianna.mjs.map +0 -1
  180. package/fesm2020/net7-boilerplate-arianna.mjs.map +0 -1
  181. /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/config-types/arianna/app.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/config-types/arianna/index.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/config-types/arianna/layouts.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/config-types/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/data-sources/chart-tippy.ds.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/data-sources/entita-metadata-viewer.ds.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/data-sources/hero.ds.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/data-sources/home-hero-patrimonio.ds.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/data-sources/home-item-tags-wrapper.ds.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/data-sources/index.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/data-sources/scheda-inner-title.ds.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/data-sources/scheda-metadata.ds.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/data-sources/search-layout-tabs.ds.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/data-sources/table.ds.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/event-handlers/home-hero-patrimonio.eh.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/event-handlers/index.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/event-handlers/search-layout-tabs.eh.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/event-handlers/table.eh.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.config.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/layouts/collection-layout/collection-layout.types.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.config.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/layouts/entita-layout/entita-layout.types.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.config.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/layouts/gallery-layout/gallery-layout.eh.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/layouts/home-layout/home-layout.config.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/layouts/index.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/layouts/map-layout/map-layout.config.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/layouts/scheda-layout/scheda-layout.config.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/layouts/search-layout/search-layout.config.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/layouts/timeline-layout/timeline-layout.config.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-select.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/aw-facet-input-text.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/search/aw-facet-inputs/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/net7-boilerplate-arianna.mjs +0 -0
  216. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,48 @@
1
+ import { DataSource } from '@net7/core';
2
+ export class AwAutocompleteWrapperDS extends DataSource {
3
+ constructor() {
4
+ super(...arguments);
5
+ /**
6
+ * Given a string, it trims it to the specified length.
7
+ *
8
+ * @param string an input string
9
+ * @param limit character limit
10
+ * @returns the resulting trimmed string
11
+ */
12
+ this.stringTrim = (string, limit) => {
13
+ if (string.length > limit) {
14
+ return `${string.slice(0, limit)}…`;
15
+ }
16
+ return string;
17
+ };
18
+ }
19
+ transform(data) {
20
+ const { response } = data;
21
+ if (!response) {
22
+ return { suggestion: [], loading: true };
23
+ }
24
+ const suggestion = [];
25
+ const { config } = this.options;
26
+ const maxLength = (config.get('home-layout')['max-item-length'] || 20);
27
+ const fResults = response.results.filter((el) => typeof el.entity === 'object');
28
+ // eslint-disable-next-line consistent-return
29
+ fResults.forEach((el) => {
30
+ if (el.entity.id === 'fallback') { // build and return fallback data
31
+ suggestion.push({
32
+ text: el.entity.label,
33
+ payload: 'fallback-simple-autocomplete',
34
+ });
35
+ return { suggestion };
36
+ }
37
+ const text = this.stringTrim(el.entity.label, maxLength);
38
+ suggestion.push({
39
+ text,
40
+ anchor: {
41
+ payload: el.entity.id,
42
+ },
43
+ });
44
+ });
45
+ return { suggestion };
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXdyYXBwZXIuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL2F1dG9jb21wbGV0ZS13cmFwcGVyLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFeEMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQVU7SUFBdkQ7O1FBaUNFOzs7Ozs7V0FNRztRQUNLLGVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNyQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ3RDLENBQUM7WUFBQyxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUE7SUFDSCxDQUFDO0lBNUNXLFNBQVMsQ0FBQyxJQUFJO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzNDLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDaEMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQztRQUVoRiw2Q0FBNkM7UUFDN0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssVUFBVSxFQUFFLENBQUMsQ0FBQyxpQ0FBaUM7Z0JBQ2xFLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSztvQkFDckIsT0FBTyxFQUFFLDhCQUE4QjtpQkFDeEMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RCxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNkLElBQUk7Z0JBQ0osTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQ3RCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQWNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQXdBdXRvY29tcGxldGVXcmFwcGVyRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybShkYXRhKSB7XG4gICAgY29uc3QgeyByZXNwb25zZSB9ID0gZGF0YTtcblxuICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB7IHN1Z2dlc3Rpb246IFtdLCBsb2FkaW5nOiB0cnVlIH07XG4gICAgfVxuXG4gICAgY29uc3Qgc3VnZ2VzdGlvbiA9IFtdO1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgY29uc3QgbWF4TGVuZ3RoID0gKGNvbmZpZy5nZXQoJ2hvbWUtbGF5b3V0JylbJ21heC1pdGVtLWxlbmd0aCddIHx8IDIwKTtcbiAgICBjb25zdCBmUmVzdWx0cyA9IHJlc3BvbnNlLnJlc3VsdHMuZmlsdGVyKChlbCkgPT4gdHlwZW9mIGVsLmVudGl0eSA9PT0gJ29iamVjdCcpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG4gICAgZlJlc3VsdHMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGlmIChlbC5lbnRpdHkuaWQgPT09ICdmYWxsYmFjaycpIHsgLy8gYnVpbGQgYW5kIHJldHVybiBmYWxsYmFjayBkYXRhXG4gICAgICAgIHN1Z2dlc3Rpb24ucHVzaCh7XG4gICAgICAgICAgdGV4dDogZWwuZW50aXR5LmxhYmVsLFxuICAgICAgICAgIHBheWxvYWQ6ICdmYWxsYmFjay1zaW1wbGUtYXV0b2NvbXBsZXRlJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IHN1Z2dlc3Rpb24gfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnN0cmluZ1RyaW0oZWwuZW50aXR5LmxhYmVsLCBtYXhMZW5ndGgpO1xuICAgICAgc3VnZ2VzdGlvbi5wdXNoKHtcbiAgICAgICAgdGV4dCxcbiAgICAgICAgYW5jaG9yOiB7XG4gICAgICAgICAgcGF5bG9hZDogZWwuZW50aXR5LmlkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgc3VnZ2VzdGlvbiB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgc3RyaW5nLCBpdCB0cmltcyBpdCB0byB0aGUgc3BlY2lmaWVkIGxlbmd0aC5cbiAgICpcbiAgICogQHBhcmFtIHN0cmluZyBhbiBpbnB1dCBzdHJpbmdcbiAgICogQHBhcmFtIGxpbWl0IGNoYXJhY3RlciBsaW1pdFxuICAgKiBAcmV0dXJucyB0aGUgcmVzdWx0aW5nIHRyaW1tZWQgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIHN0cmluZ1RyaW0gPSAoc3RyaW5nLCBsaW1pdCkgPT4ge1xuICAgIGlmIChzdHJpbmcubGVuZ3RoID4gbGltaXQpIHtcbiAgICAgIHJldHVybiBgJHtzdHJpbmcuc2xpY2UoMCwgbGltaXQpfeKApmA7XG4gICAgfSByZXR1cm4gc3RyaW5nO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,162 @@
1
+ import { DataSource } from '@net7/core';
2
+ import entityLinksHelper from '../search/entity-links.helper';
3
+ const HEADER_ICON_OPEN = 'n7-icon-angle-down';
4
+ const HEADER_ICON_CLOSE = 'n7-icon-angle-right';
5
+ export class AwFacetsWrapperDS extends DataSource {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.getRequestParams = () => this.searchModel.getRequestParams();
9
+ this.filtersAsQueryParams = (filters) => this.searchModel.filtersAsQueryParams(filters);
10
+ this.updateFiltersFromQueryParams = (queryParams) => {
11
+ this.searchModel.updateFiltersFromQueryParams(queryParams);
12
+ };
13
+ this.getInputByFacetId = (facetId) => this.searchModel.getInputByFacetId(facetId);
14
+ this.filterTarget = (target) => {
15
+ this.searchModel.filterTarget(target);
16
+ };
17
+ this.updateInputsFromFilters = () => {
18
+ this.searchModel.updateInputsFromFilters();
19
+ };
20
+ }
21
+ transform(data) {
22
+ if (!this.searchModel) {
23
+ this.searchModel = data.searchModel;
24
+ entityLinksHelper.initPagination(this.searchModel);
25
+ }
26
+ const id = this.searchModel.getId();
27
+ const fields = this.searchModel.getFields();
28
+ const groups = [];
29
+ fields.forEach((fieldConfig, fieldIndex) => {
30
+ const groupId = `group-${id}-${fieldIndex}`;
31
+ // header config
32
+ const header = this._headerConfig(fieldConfig.header, groupId);
33
+ // inputs config
34
+ const sections = [];
35
+ this.searchModel.getInputs()
36
+ .filter((input) => input.getSectionIndex() === fieldIndex)
37
+ .map((input) => {
38
+ input.update();
39
+ return {
40
+ facetId: input.getFacetId(),
41
+ type: input.getType(),
42
+ output: input.getOutput(),
43
+ };
44
+ })
45
+ .forEach(({ type, output, facetId }) => {
46
+ sections.push({
47
+ classes: this._getSectionClasses(type),
48
+ inputs: Array.isArray(output) ? output : [output],
49
+ _meta: {
50
+ facetId,
51
+ },
52
+ });
53
+ });
54
+ groups.push({
55
+ header,
56
+ facet: { sections },
57
+ classes: `n7-facets-wrapper__${groupId}`,
58
+ isOpen: true,
59
+ _meta: {
60
+ groupId,
61
+ },
62
+ });
63
+ });
64
+ return {
65
+ groups,
66
+ classes: `n7-facets-wrapper__${this.searchModel.getId()}`,
67
+ };
68
+ }
69
+ toggleGroup({ eventPayload }) {
70
+ this.output.groups.forEach((group) => {
71
+ if (group._meta.groupId === eventPayload.groupId) {
72
+ group.isOpen = !group.isOpen;
73
+ group.header.iconRight = group.isOpen ? HEADER_ICON_OPEN : HEADER_ICON_CLOSE;
74
+ }
75
+ });
76
+ }
77
+ onFacetChange({ eventPayload }) {
78
+ const { facetId, source, trigger } = eventPayload.inputPayload;
79
+ const filter = this.searchModel.getFiltersByFacetId(facetId)[0] || { value: null };
80
+ const filterValue = filter.value;
81
+ let remove = false;
82
+ let value = eventPayload.inputPayload.value || eventPayload.value;
83
+ // normalize
84
+ value = `${value}`;
85
+ // remove control
86
+ if (Array.isArray(filterValue)) {
87
+ remove = filterValue.indexOf(value) !== -1;
88
+ }
89
+ else {
90
+ remove = filterValue === value;
91
+ }
92
+ // input text control
93
+ // TODO: gestire i casi enter / icon click nel input text
94
+ if (source === 'input-text' && ['enter', 'icon'].indexOf(trigger) !== -1)
95
+ return;
96
+ this.searchModel.updateFilter(facetId, value, remove);
97
+ this.searchModel.updateInputsFromFilters();
98
+ }
99
+ updateFilteredTarget(target) {
100
+ if (!this.searchModel) {
101
+ return;
102
+ }
103
+ const input = this.searchModel.getInputByFacetId(target);
104
+ this.output.groups
105
+ .map((group) => group.facet)
106
+ .map((facet) => facet.sections)
107
+ .forEach((sections) => {
108
+ sections.forEach((section) => {
109
+ if (section._meta.facetId === target) {
110
+ const inputOutput = input.getOutput();
111
+ section.inputs = Array.isArray(inputOutput) ? inputOutput : [inputOutput];
112
+ }
113
+ });
114
+ });
115
+ }
116
+ updateInputLinks() {
117
+ if (!this.searchModel) {
118
+ return;
119
+ }
120
+ const linksFacetIds = this.searchModel.getInputs()
121
+ .filter((input) => input.getType() === 'link')
122
+ .map((input) => input.getFacetId());
123
+ this.output.groups
124
+ .map((group) => group.facet)
125
+ .map((facet) => facet.sections)
126
+ .forEach((sections) => {
127
+ sections.forEach((section) => {
128
+ if (linksFacetIds.indexOf(section._meta.facetId) !== -1) {
129
+ const input = this.searchModel.getInputByFacetId(section._meta.facetId);
130
+ input.update();
131
+ const inputOutput = input.getOutput();
132
+ section.inputs = Array.isArray(inputOutput) ? inputOutput : [inputOutput];
133
+ }
134
+ });
135
+ });
136
+ }
137
+ _getSectionClasses(type) {
138
+ const classesMap = {
139
+ text: 'text',
140
+ checkbox: 'checkboxes',
141
+ link: 'links',
142
+ select: 'select',
143
+ };
144
+ return `n7-facet__section-input-${classesMap[type]}`;
145
+ }
146
+ _headerConfig(header, groupId) {
147
+ return header ? {
148
+ text: header.label,
149
+ iconRight: HEADER_ICON_OPEN,
150
+ classes: header.classes,
151
+ payload: {
152
+ source: 'group-header',
153
+ id: `${groupId}-header`,
154
+ groupId,
155
+ },
156
+ _meta: {
157
+ id: `${groupId}-header`,
158
+ },
159
+ } : null;
160
+ }
161
+ }
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXctZmFjZXRzLXdyYXBwZXIuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL2F3LWZhY2V0cy13cmFwcGVyLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFeEMsT0FBTyxpQkFBaUIsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RCxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDO0FBQzlDLE1BQU0saUJBQWlCLEdBQUcscUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFBakQ7O1FBdUlTLHFCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU3RCx5QkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRixpQ0FBNEIsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1FBRUssc0JBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0UsaUJBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUVLLDRCQUF1QixHQUFHLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixFQUFF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Q0FBQztJQUN2RCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPO1FBQ25DLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNkLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSztZQUNsQixTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLEVBQUUsRUFBRSxHQUFHLE9BQU8sU0FBUztnQkFDdkIsT0FBTzthQUNSO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEVBQUUsRUFBRSxHQUFHLE9BQU8sU0FBUzthQUN4QjtTQUNGLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCB7IEF3U2VhcmNoTW9kZWwgfSBmcm9tICcuLi9zZWFyY2gvYXctc2VhcmNoLm1vZGVsJztcbmltcG9ydCBlbnRpdHlMaW5rc0hlbHBlciBmcm9tICcuLi9zZWFyY2gvZW50aXR5LWxpbmtzLmhlbHBlcic7XG5cbmNvbnN0IEhFQURFUl9JQ09OX09QRU4gPSAnbjctaWNvbi1hbmdsZS1kb3duJztcbmNvbnN0IEhFQURFUl9JQ09OX0NMT1NFID0gJ243LWljb24tYW5nbGUtcmlnaHQnO1xuXG5leHBvcnQgY2xhc3MgQXdGYWNldHNXcmFwcGVyRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIHNlYXJjaE1vZGVsOiBBd1NlYXJjaE1vZGVsO1xuXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm0oZGF0YSkge1xuICAgIGlmICghdGhpcy5zZWFyY2hNb2RlbCkge1xuICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9IGRhdGEuc2VhcmNoTW9kZWw7XG4gICAgICBlbnRpdHlMaW5rc0hlbHBlci5pbml0UGFnaW5hdGlvbih0aGlzLnNlYXJjaE1vZGVsKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuc2VhcmNoTW9kZWwuZ2V0SWQoKTtcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLnNlYXJjaE1vZGVsLmdldEZpZWxkcygpO1xuXG4gICAgY29uc3QgZ3JvdXBzID0gW107XG5cbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGRDb25maWcsIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGdyb3VwSWQgPSBgZ3JvdXAtJHtpZH0tJHtmaWVsZEluZGV4fWA7XG5cbiAgICAgIC8vIGhlYWRlciBjb25maWdcbiAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuX2hlYWRlckNvbmZpZyhmaWVsZENvbmZpZy5oZWFkZXIsIGdyb3VwSWQpO1xuXG4gICAgICAvLyBpbnB1dHMgY29uZmlnXG4gICAgICBjb25zdCBzZWN0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5zZWFyY2hNb2RlbC5nZXRJbnB1dHMoKVxuICAgICAgICAuZmlsdGVyKChpbnB1dCkgPT4gaW5wdXQuZ2V0U2VjdGlvbkluZGV4KCkgPT09IGZpZWxkSW5kZXgpXG4gICAgICAgIC5tYXAoKGlucHV0KSA9PiB7XG4gICAgICAgICAgaW5wdXQudXBkYXRlKCk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZhY2V0SWQ6IGlucHV0LmdldEZhY2V0SWQoKSxcbiAgICAgICAgICAgIHR5cGU6IGlucHV0LmdldFR5cGUoKSxcbiAgICAgICAgICAgIG91dHB1dDogaW5wdXQuZ2V0T3V0cHV0KCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZvckVhY2goKHsgdHlwZSwgb3V0cHV0LCBmYWNldElkIH0pID0+IHtcbiAgICAgICAgICBzZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIGNsYXNzZXM6IHRoaXMuX2dldFNlY3Rpb25DbGFzc2VzKHR5cGUpLFxuICAgICAgICAgICAgaW5wdXRzOiBBcnJheS5pc0FycmF5KG91dHB1dCkgPyBvdXRwdXQgOiBbb3V0cHV0XSxcbiAgICAgICAgICAgIF9tZXRhOiB7XG4gICAgICAgICAgICAgIGZhY2V0SWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGZhY2V0OiB7IHNlY3Rpb25zIH0sXG4gICAgICAgIGNsYXNzZXM6IGBuNy1mYWNldHMtd3JhcHBlcl9fJHtncm91cElkfWAsXG4gICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgX21ldGE6IHtcbiAgICAgICAgICBncm91cElkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXBzLFxuICAgICAgY2xhc3NlczogYG43LWZhY2V0cy13cmFwcGVyX18ke3RoaXMuc2VhcmNoTW9kZWwuZ2V0SWQoKX1gLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlR3JvdXAoeyBldmVudFBheWxvYWQgfSkge1xuICAgIHRoaXMub3V0cHV0Lmdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLl9tZXRhLmdyb3VwSWQgPT09IGV2ZW50UGF5bG9hZC5ncm91cElkKSB7XG4gICAgICAgIGdyb3VwLmlzT3BlbiA9ICFncm91cC5pc09wZW47XG4gICAgICAgIGdyb3VwLmhlYWRlci5pY29uUmlnaHQgPSBncm91cC5pc09wZW4gPyBIRUFERVJfSUNPTl9PUEVOIDogSEVBREVSX0lDT05fQ0xPU0U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25GYWNldENoYW5nZSh7IGV2ZW50UGF5bG9hZCB9KSB7XG4gICAgY29uc3QgeyBmYWNldElkLCBzb3VyY2UsIHRyaWdnZXIgfSA9IGV2ZW50UGF5bG9hZC5pbnB1dFBheWxvYWQ7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5zZWFyY2hNb2RlbC5nZXRGaWx0ZXJzQnlGYWNldElkKGZhY2V0SWQpWzBdIHx8IHsgdmFsdWU6IG51bGwgfTtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlci52YWx1ZTtcblxuICAgIGxldCByZW1vdmUgPSBmYWxzZTtcbiAgICBsZXQgdmFsdWU6IGFueSA9IGV2ZW50UGF5bG9hZC5pbnB1dFBheWxvYWQudmFsdWUgfHwgZXZlbnRQYXlsb2FkLnZhbHVlO1xuXG4gICAgLy8gbm9ybWFsaXplXG4gICAgdmFsdWUgPSBgJHt2YWx1ZX1gO1xuXG4gICAgLy8gcmVtb3ZlIGNvbnRyb2xcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkpIHtcbiAgICAgIHJlbW92ZSA9IGZpbHRlclZhbHVlLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlID0gZmlsdGVyVmFsdWUgPT09IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGlucHV0IHRleHQgY29udHJvbFxuICAgIC8vIFRPRE86IGdlc3RpcmUgaSBjYXNpIGVudGVyIC8gaWNvbiBjbGljayBuZWwgaW5wdXQgdGV4dFxuICAgIGlmIChzb3VyY2UgPT09ICdpbnB1dC10ZXh0JyAmJiBbJ2VudGVyJywgJ2ljb24nXS5pbmRleE9mKHRyaWdnZXIpICE9PSAtMSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWFyY2hNb2RlbC51cGRhdGVGaWx0ZXIoZmFjZXRJZCwgdmFsdWUsIHJlbW92ZSk7XG4gICAgdGhpcy5zZWFyY2hNb2RlbC51cGRhdGVJbnB1dHNGcm9tRmlsdGVycygpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcmVkVGFyZ2V0KHRhcmdldCkge1xuICAgIGlmICghdGhpcy5zZWFyY2hNb2RlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuc2VhcmNoTW9kZWwuZ2V0SW5wdXRCeUZhY2V0SWQodGFyZ2V0KTtcbiAgICB0aGlzLm91dHB1dC5ncm91cHNcbiAgICAgIC5tYXAoKGdyb3VwKSA9PiBncm91cC5mYWNldClcbiAgICAgIC5tYXAoKGZhY2V0KSA9PiBmYWNldC5zZWN0aW9ucylcbiAgICAgIC5mb3JFYWNoKChzZWN0aW9ucykgPT4ge1xuICAgICAgICBzZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKHNlY3Rpb24uX21ldGEuZmFjZXRJZCA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dE91dHB1dCA9IGlucHV0LmdldE91dHB1dCgpO1xuICAgICAgICAgICAgc2VjdGlvbi5pbnB1dHMgPSBBcnJheS5pc0FycmF5KGlucHV0T3V0cHV0KSA/IGlucHV0T3V0cHV0IDogW2lucHV0T3V0cHV0XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSW5wdXRMaW5rcygpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoTW9kZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGlua3NGYWNldElkcyA9IHRoaXMuc2VhcmNoTW9kZWwuZ2V0SW5wdXRzKClcbiAgICAgIC5maWx0ZXIoKGlucHV0KSA9PiBpbnB1dC5nZXRUeXBlKCkgPT09ICdsaW5rJylcbiAgICAgIC5tYXAoKGlucHV0KSA9PiBpbnB1dC5nZXRGYWNldElkKCkpO1xuXG4gICAgdGhpcy5vdXRwdXQuZ3JvdXBzXG4gICAgICAubWFwKChncm91cCkgPT4gZ3JvdXAuZmFjZXQpXG4gICAgICAubWFwKChmYWNldCkgPT4gZmFjZXQuc2VjdGlvbnMpXG4gICAgICAuZm9yRWFjaCgoc2VjdGlvbnMpID0+IHtcbiAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICAgIGlmIChsaW5rc0ZhY2V0SWRzLmluZGV4T2Yoc2VjdGlvbi5fbWV0YS5mYWNldElkKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5zZWFyY2hNb2RlbC5nZXRJbnB1dEJ5RmFjZXRJZChzZWN0aW9uLl9tZXRhLmZhY2V0SWQpO1xuICAgICAgICAgICAgaW5wdXQudXBkYXRlKCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dE91dHB1dCA9IGlucHV0LmdldE91dHB1dCgpO1xuICAgICAgICAgICAgc2VjdGlvbi5pbnB1dHMgPSBBcnJheS5pc0FycmF5KGlucHV0T3V0cHV0KSA/IGlucHV0T3V0cHV0IDogW2lucHV0T3V0cHV0XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVxdWVzdFBhcmFtcyA9ICgpID0+IHRoaXMuc2VhcmNoTW9kZWwuZ2V0UmVxdWVzdFBhcmFtcygpO1xuXG4gIHB1YmxpYyBmaWx0ZXJzQXNRdWVyeVBhcmFtcyA9IChmaWx0ZXJzKSA9PiB0aGlzLnNlYXJjaE1vZGVsLmZpbHRlcnNBc1F1ZXJ5UGFyYW1zKGZpbHRlcnMpO1xuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXJzRnJvbVF1ZXJ5UGFyYW1zID0gKHF1ZXJ5UGFyYW1zKSA9PiB7XG4gICAgdGhpcy5zZWFyY2hNb2RlbC51cGRhdGVGaWx0ZXJzRnJvbVF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0SW5wdXRCeUZhY2V0SWQgPSAoZmFjZXRJZCkgPT4gdGhpcy5zZWFyY2hNb2RlbC5nZXRJbnB1dEJ5RmFjZXRJZChmYWNldElkKTtcblxuICBwdWJsaWMgZmlsdGVyVGFyZ2V0ID0gKHRhcmdldCkgPT4ge1xuICAgIHRoaXMuc2VhcmNoTW9kZWwuZmlsdGVyVGFyZ2V0KHRhcmdldCk7XG4gIH07XG5cbiAgcHVibGljIHVwZGF0ZUlucHV0c0Zyb21GaWx0ZXJzID0gKCkgPT4ge1xuICAgIHRoaXMuc2VhcmNoTW9kZWwudXBkYXRlSW5wdXRzRnJvbUZpbHRlcnMoKTtcbiAgfTtcblxuICBwcml2YXRlIF9nZXRTZWN0aW9uQ2xhc3Nlcyh0eXBlKSB7XG4gICAgY29uc3QgY2xhc3Nlc01hcCA9IHtcbiAgICAgIHRleHQ6ICd0ZXh0JyxcbiAgICAgIGNoZWNrYm94OiAnY2hlY2tib3hlcycsXG4gICAgICBsaW5rOiAnbGlua3MnLFxuICAgICAgc2VsZWN0OiAnc2VsZWN0JyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGBuNy1mYWNldF9fc2VjdGlvbi1pbnB1dC0ke2NsYXNzZXNNYXBbdHlwZV19YDtcbiAgfVxuXG4gIHByaXZhdGUgX2hlYWRlckNvbmZpZyhoZWFkZXIsIGdyb3VwSWQpIHtcbiAgICByZXR1cm4gaGVhZGVyID8ge1xuICAgICAgdGV4dDogaGVhZGVyLmxhYmVsLFxuICAgICAgaWNvblJpZ2h0OiBIRUFERVJfSUNPTl9PUEVOLFxuICAgICAgY2xhc3NlczogaGVhZGVyLmNsYXNzZXMsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIHNvdXJjZTogJ2dyb3VwLWhlYWRlcicsXG4gICAgICAgIGlkOiBgJHtncm91cElkfS1oZWFkZXJgLFxuICAgICAgICBncm91cElkLFxuICAgICAgfSxcbiAgICAgIF9tZXRhOiB7XG4gICAgICAgIGlkOiBgJHtncm91cElkfS1oZWFkZXJgLFxuICAgICAgfSxcbiAgICB9IDogbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,95 @@
1
+ import { DataSource } from '@net7/core';
2
+ export class AwBubbleChartDS extends DataSource {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.chartData = []; // data rendered into the graph
6
+ this.draw = null; // exposed component draw function to update the view
7
+ this.selected = []; // list of selected bubbles
8
+ this.filters = []; // list of active filters to show only some TypeOfEntity(s)
9
+ this.closedEyes = []; // array of the activated eye filters
10
+ this.tippyList = []; // list of tippy instances
11
+ this.updateChart = (res) => {
12
+ /*
13
+ Redraws the graph with the incoming data.
14
+ "res" should be Apollo's "response.entitiesData".
15
+ When res is passed as null, the chart is rendered with the previous data.
16
+ */
17
+ let response = res;
18
+ if (res === null) {
19
+ response = this.chartData;
20
+ }
21
+ else {
22
+ this.chartData = res;
23
+ }
24
+ if (this.filters.length > 0) { // apply filters to the response
25
+ response = this.chartData.filter((el) => !this.filters.includes(el.entity.typeOfEntity.replace(/ /g, '-')));
26
+ }
27
+ if (!this.draw) {
28
+ this.update(this.smartSlice(response)); // component self-update
29
+ }
30
+ else {
31
+ this.output.selected = this.selected;
32
+ this.output.data = this.smartSlice(response);
33
+ this.output.smallView.data = this.smartSlice(response, this.options.smallChartSize);
34
+ this.draw();
35
+ }
36
+ };
37
+ this.smartSlice = (d, length) => {
38
+ const l = length || this.options.limit;
39
+ if (l && l < d.length) {
40
+ return d.slice(0, l);
41
+ }
42
+ return d;
43
+ };
44
+ this.handleBubbleClick = (payload) => {
45
+ /*
46
+ Toggles the selection of the clicked bubble.
47
+ */
48
+ const id = payload;
49
+ if (this.selected.includes(id)) {
50
+ this.selected.splice(this.selected.indexOf(id), 1); // remove selection
51
+ }
52
+ else {
53
+ this.selected.push(id); // add selection
54
+ }
55
+ };
56
+ }
57
+ transform(data) {
58
+ const { config, smallChartSize } = this.options;
59
+ const { fontRendering, transition, shuffle } = config.get('bubble-chart');
60
+ const domain = [];
61
+ const range = [];
62
+ const colorConfig = config.get('config-keys');
63
+ Object.keys(colorConfig).forEach((k) => {
64
+ domain.push(k.replace(/-/g, ' '));
65
+ range.push(((colorConfig[k] || {}).color || {}).hex);
66
+ });
67
+ const commonParams = {
68
+ containerId: 'bubbleChartContainer',
69
+ setDraw: (draw) => { this.draw = draw; },
70
+ colorMatch: { domain, range },
71
+ selected: this.selected,
72
+ sizeRange: [0.5, 500],
73
+ fontRendering,
74
+ height: 400,
75
+ width: 500,
76
+ transition,
77
+ shuffle,
78
+ };
79
+ /*
80
+ Two data streams are ouputted.
81
+ The default stream is for the normal visualization,
82
+ "smallView" is used for a compressed view of the same data.
83
+ */
84
+ return {
85
+ ...commonParams,
86
+ anchorData: { href: '/placeholder/' },
87
+ data: this.smartSlice(data),
88
+ smallView: {
89
+ ...commonParams,
90
+ data: this.smartSlice(data, smallChartSize),
91
+ },
92
+ };
93
+ }
94
+ }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLWNoYXJ0LmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtYXJpYW5uYS9zcmMvbGliL2RhdGEtc291cmNlcy9idWJibGUtY2hhcnQuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxVQUFVO0lBQS9DOztRQUNTLGNBQVMsR0FBUSxFQUFFLENBQUMsQ0FBQywrQkFBK0I7UUFFcEQsU0FBSSxHQUFRLElBQUksQ0FBQyxDQUFDLHFEQUFxRDtRQUV2RSxhQUFRLEdBQWEsRUFBRSxDQUFDLENBQUMsMkJBQTJCO1FBRXBELFlBQU8sR0FBVSxFQUFFLENBQUMsQ0FBQywyREFBMkQ7UUFFaEYsZUFBVSxHQUFVLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztRQUU3RCxjQUFTLEdBQVUsRUFBRSxDQUFDLENBQUMsMEJBQTBCO1FBMEN4RCxnQkFBVyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEI7Ozs7Y0FJRTtZQUNGLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO2dCQUM3RCxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0s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LENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNyQixhQUFhO1lBQ2IsTUFBTSxFQUFFLEdBQUc7WUFDWCxLQUFLLEVBQUUsR0FBRztZQUNWLFVBQVU7WUFDVixPQUFPO1NBQ1IsQ0FBQztRQUNGOzs7O1VBSUU7UUFDRixPQUFPO1lBQ0wsR0FBRyxZQUFZO1lBQ2YsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsU0FBUyxFQUFFO2dCQUNULEdBQUcsWUFBWTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDO2FBQzVDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0E4Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBd0J1YmJsZUNoYXJ0RFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGNoYXJ0RGF0YTogYW55ID0gW107IC8vIGRhdGEgcmVuZGVyZWQgaW50byB0aGUgZ3JhcGhcblxuICBwdWJsaWMgZHJhdzogYW55ID0gbnVsbDsgLy8gZXhwb3NlZCBjb21wb25lbnQgZHJhdyBmdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZXdcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW107IC8vIGxpc3Qgb2Ygc2VsZWN0ZWQgYnViYmxlc1xuXG4gIHB1YmxpYyBmaWx0ZXJzOiBhbnlbXSA9IFtdOyAvLyBsaXN0IG9mIGFjdGl2ZSBmaWx0ZXJzIHRvIHNob3cgb25seSBzb21lIFR5cGVPZkVudGl0eShzKVxuXG4gIHB1YmxpYyBjbG9zZWRFeWVzOiBhbnlbXSA9IFtdOyAvLyBhcnJheSBvZiB0aGUgYWN0aXZhdGVkIGV5ZSBmaWx0ZXJzXG5cbiAgcHVibGljIHRpcHB5TGlzdDogYW55W10gPSBbXTsgLy8gbGlzdCBvZiB0aXBweSBpbnN0YW5jZXNcblxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGEpIHtcbiAgICBjb25zdCB7IGNvbmZpZywgc21hbGxDaGFydFNpemUgfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCB7IGZvbnRSZW5kZXJpbmcsIHRyYW5zaXRpb24sIHNodWZmbGUgfSA9IGNvbmZpZy5nZXQoJ2J1YmJsZS1jaGFydCcpO1xuICAgIGNvbnN0IGRvbWFpbiA9IFtdOyBjb25zdFxuICAgICAgcmFuZ2UgPSBbXTtcbiAgICBjb25zdCBjb2xvckNvbmZpZyA9IGNvbmZpZy5nZXQoJ2NvbmZpZy1rZXlzJyk7XG5cbiAgICBPYmplY3Qua2V5cyhjb2xvckNvbmZpZykuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgZG9tYWluLnB1c2goay5yZXBsYWNlKC8tL2csICcgJykpO1xuICAgICAgcmFuZ2UucHVzaCgoKGNvbG9yQ29uZmlnW2tdIHx8IHt9KS5jb2xvciB8fCB7fSkuaGV4KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbW1vblBhcmFtcyA9IHtcbiAgICAgIGNvbnRhaW5lcklkOiAnYnViYmxlQ2hhcnRDb250YWluZXInLFxuICAgICAgc2V0RHJhdzogKGRyYXcpID0+IHsgdGhpcy5kcmF3ID0gZHJhdzsgfSxcbiAgICAgIGNvbG9yTWF0Y2g6IHsgZG9tYWluLCByYW5nZSB9LFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBzaXplUmFuZ2U6IFswLjUsIDUwMF0sXG4gICAgICBmb250UmVuZGVyaW5nLFxuICAgICAgaGVpZ2h0OiA0MDAsXG4gICAgICB3aWR0aDogNTAwLFxuICAgICAgdHJhbnNpdGlvbixcbiAgICAgIHNodWZmbGUsXG4gICAgfTtcbiAgICAvKlxuICAgIFR3byBkYXRhIHN0cmVhbXMgYXJlIG91cHV0dGVkLlxuICAgIFRoZSBkZWZhdWx0IHN0cmVhbSBpcyBmb3IgdGhlIG5vcm1hbCB2aXN1YWxpemF0aW9uLFxuICAgIFwic21hbGxWaWV3XCIgaXMgdXNlZCBmb3IgYSBjb21wcmVzc2VkIHZpZXcgb2YgdGhlIHNhbWUgZGF0YS5cbiAgICAqL1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb21tb25QYXJhbXMsXG4gICAgICBhbmNob3JEYXRhOiB7IGhyZWY6ICcvcGxhY2Vob2xkZXIvJyB9LFxuICAgICAgZGF0YTogdGhpcy5zbWFydFNsaWNlKGRhdGEpLFxuICAgICAgc21hbGxWaWV3OiB7XG4gICAgICAgIC4uLmNvbW1vblBhcmFtcyxcbiAgICAgICAgZGF0YTogdGhpcy5zbWFydFNsaWNlKGRhdGEsIHNtYWxsQ2hhcnRTaXplKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZUNoYXJ0ID0gKHJlcykgPT4ge1xuICAgIC8qXG4gICAgICBSZWRyYXdzIHRoZSBncmFwaCB3aXRoIHRoZSBpbmNvbWluZyBkYXRhLlxuICAgICAgXCJyZXNcIiBzaG91bGQgYmUgQXBvbGxvJ3MgXCJyZXNwb25zZS5lbnRpdGllc0RhdGFcIi5cbiAgICAgIFdoZW4gcmVzIGlzIHBhc3NlZCBhcyBudWxsLCB0aGUgY2hhcnQgaXMgcmVuZGVyZWQgd2l0aCB0aGUgcHJldmlvdXMgZGF0YS5cbiAgICAqL1xuICAgIGxldCByZXNwb25zZSA9IHJlcztcbiAgICBpZiAocmVzID09PSBudWxsKSB7XG4gICAgICByZXNwb25zZSA9IHRoaXMuY2hhcnREYXRhO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcztcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVycy5sZW5ndGggPiAwKSB7IC8vIGFwcGx5IGZpbHRlcnMgdG8gdGhlIHJlc3BvbnNlXG4gICAgICByZXNwb25zZSA9IHRoaXMuY2hhcnREYXRhLmZpbHRlcigoZWwpID0+ICF0aGlzLmZpbHRlcnMuaW5jbHVkZXMoZWwuZW50aXR5LnR5cGVPZkVudGl0eS5yZXBsYWNlKC8gL2csICctJykpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmRyYXcpIHtcbiAgICAgIHRoaXMudXBkYXRlKHRoaXMuc21hcnRTbGljZShyZXNwb25zZSkpOyAvLyBjb21wb25lbnQgc2VsZi11cGRhdGVcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdXRwdXQuc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkO1xuICAgICAgdGhpcy5vdXRwdXQuZGF0YSA9IHRoaXMuc21hcnRTbGljZShyZXNwb25zZSk7XG4gICAgICB0aGlzLm91dHB1dC5zbWFsbFZpZXcuZGF0YSA9IHRoaXMuc21hcnRTbGljZShyZXNwb25zZSwgdGhpcy5vcHRpb25zLnNtYWxsQ2hhcnRTaXplKTtcbiAgICAgIHRoaXMuZHJhdygpO1xuICAgIH1cbiAgfTtcblxuICBzbWFydFNsaWNlID0gKGQsIGxlbmd0aD8pID0+IHtcbiAgICBjb25zdCBsID0gbGVuZ3RoIHx8IHRoaXMub3B0aW9ucy5saW1pdDtcbiAgICBpZiAobCAmJiBsIDwgZC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBkLnNsaWNlKDAsIGwpO1xuICAgIH1cbiAgICByZXR1cm4gZDtcbiAgfTtcblxuICBoYW5kbGVCdWJibGVDbGljayA9IChwYXlsb2FkKSA9PiB7XG4gICAgLypcbiAgICAgIFRvZ2dsZXMgdGhlIHNlbGVjdGlvbiBvZiB0aGUgY2xpY2tlZCBidWJibGUuXG4gICAgKi9cbiAgICBjb25zdCBpZCA9IHBheWxvYWQ7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuaW5jbHVkZXMoaWQpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLnNwbGljZSh0aGlzLnNlbGVjdGVkLmluZGV4T2YoaWQpLCAxKTsgLy8gcmVtb3ZlIHNlbGVjdGlvblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLnB1c2goaWQpOyAvLyBhZGQgc2VsZWN0aW9uXG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,74 @@
1
+ import { DataSource } from '@net7/core';
2
+ export class AwCarouselDS extends DataSource {
3
+ transform(data) {
4
+ const res = {
5
+ containerId: 'carousel-root',
6
+ classes: 'aw-home__carousel-root',
7
+ libOptions: {
8
+ count: 1,
9
+ move: 1,
10
+ // touch: true,
11
+ // mode: 'align',
12
+ buttons: true,
13
+ dots: true,
14
+ rewind: true,
15
+ autoplay: 4000,
16
+ animation: 500,
17
+ // responsive: {
18
+ // 0: { count: 1.5, buttons: false },
19
+ // 480: { count: 2.5, buttons: false },
20
+ // 768: { count: 3, touch: false },
21
+ // 1440: { count: 4, touch: false },
22
+ // },
23
+ },
24
+ slides: data.map((slide) => {
25
+ const items = [];
26
+ let action;
27
+ let background;
28
+ if (slide.title)
29
+ items.push({ title: slide.title });
30
+ if (slide.text)
31
+ items.push({ text: slide.text });
32
+ if (slide.ctaLabel && slide.ctaPayload) {
33
+ action = {
34
+ text: slide.ctaLabel,
35
+ anchor: {
36
+ href: slide.ctaPayload,
37
+ target: '_blank'
38
+ }
39
+ };
40
+ }
41
+ if (slide.background && slide.background.value) {
42
+ if (slide.background.type === 'color') {
43
+ background = {
44
+ color: slide.background.value
45
+ };
46
+ }
47
+ else if (slide.background.type === 'image') {
48
+ background = {
49
+ image: slide.background.value
50
+ };
51
+ }
52
+ else if (slide.background.type === 'video') {
53
+ background = {
54
+ video: slide.background.value
55
+ };
56
+ }
57
+ }
58
+ else {
59
+ // The background is missing!
60
+ background = {
61
+ color: 'rgba(0, 0, 0, 0)'
62
+ };
63
+ }
64
+ return ({
65
+ items,
66
+ action,
67
+ background
68
+ });
69
+ })
70
+ };
71
+ return res;
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Nhcm91c2VsLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFheEMsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVO0lBQ2hDLFNBQVMsQ0FBQyxJQUF1QjtRQUN6QyxNQUFNLEdBQUcsR0FBaUI7WUFDeEIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsZUFBZTtnQkFDZixpQkFBaUI7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxHQUFHO2dCQUNkLGdCQUFnQjtnQkFDaEIsdUNBQXVDO2dCQUN2Qyx5Q0FBeUM7Z0JBQ3pDLHFDQUFxQztnQkFDckMsc0NBQXNDO2dCQUN0QyxLQUFLO2FBQ047WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN6QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksTUFBTSxDQUFDO2dCQUNYLElBQUksVUFBVSxDQUFDO2dCQUNmLElBQUksS0FBSyxDQUFDLEtBQUs7b0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxLQUFLLENBQUMsSUFBSTtvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN2QyxNQUFNLEdBQUc7d0JBQ1AsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRO3dCQUNwQixNQUFNLEVBQUU7NEJBQ04sSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVOzRCQUN0QixNQUFNLEVBQUUsUUFBUTt5QkFDakI7cUJBQ0YsQ0FBQztnQkFDSixDQUFDO2dCQUNELElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUMvQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUN0QyxVQUFVLEdBQUc7NEJBQ1gsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSzt5QkFDOUIsQ0FBQztvQkFDSixDQUFDO3lCQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7d0JBQzdDLFVBQVUsR0FBRzs0QkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLO3lCQUM5QixDQUFDO29CQUNKLENBQUM7eUJBQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDN0MsVUFBVSxHQUFHOzRCQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUs7eUJBQzlCLENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sNkJBQTZCO29CQUM3QixVQUFVLEdBQUc7d0JBQ1gsS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsQ0FBQztnQkFDSixDQUFDO2dCQUNELE9BQU8sQ0FBQztvQkFDTixLQUFLO29CQUNMLE1BQU07b0JBQ04sVUFBVTtpQkFDWCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7U0FDSCxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXJvdXNlbERhdGEgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAbmV0Ny9jb3JlJztcblxudHlwZSBHZXRTbGlkZXJSZXNwb25zZSA9IFNsaWRlRGF0YVtdO1xudHlwZSBTbGlkZURhdGEgPSB7XG4gIGJhY2tncm91bmQ6IHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIHwgbnVsbCB9O1xuICBjdGFMYWJlbDogc3RyaW5nO1xuICBjdGFQYXlsb2FkOiBzdHJpbmc7XG4gIG1ldGFkYXRhOiB7a2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmd9W10gfCBudWxsO1xuICBwcmV0ZXh0OiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEF3Q2Fyb3VzZWxEUyBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGE6IEdldFNsaWRlclJlc3BvbnNlKTogQ2Fyb3VzZWxEYXRhIHtcbiAgICBjb25zdCByZXM6IENhcm91c2VsRGF0YSA9IHtcbiAgICAgIGNvbnRhaW5lcklkOiAnY2Fyb3VzZWwtcm9vdCcsXG4gICAgICBjbGFzc2VzOiAnYXctaG9tZV9fY2Fyb3VzZWwtcm9vdCcsXG4gICAgICBsaWJPcHRpb25zOiB7XG4gICAgICAgIGNvdW50OiAxLFxuICAgICAgICBtb3ZlOiAxLFxuICAgICAgICAvLyB0b3VjaDogdHJ1ZSxcbiAgICAgICAgLy8gbW9kZTogJ2FsaWduJyxcbiAgICAgICAgYnV0dG9uczogdHJ1ZSxcbiAgICAgICAgZG90czogdHJ1ZSxcbiAgICAgICAgcmV3aW5kOiB0cnVlLFxuICAgICAgICBhdXRvcGxheTogNDAwMCxcbiAgICAgICAgYW5pbWF0aW9uOiA1MDAsXG4gICAgICAgIC8vIHJlc3BvbnNpdmU6IHtcbiAgICAgICAgLy8gICAwOiB7IGNvdW50OiAxLjUsIGJ1dHRvbnM6IGZhbHNlIH0sXG4gICAgICAgIC8vICAgNDgwOiB7IGNvdW50OiAyLjUsIGJ1dHRvbnM6IGZhbHNlIH0sXG4gICAgICAgIC8vICAgNzY4OiB7IGNvdW50OiAzLCB0b3VjaDogZmFsc2UgfSxcbiAgICAgICAgLy8gICAxNDQwOiB7IGNvdW50OiA0LCB0b3VjaDogZmFsc2UgfSxcbiAgICAgICAgLy8gfSxcbiAgICAgIH0sXG4gICAgICBzbGlkZXM6IGRhdGEubWFwKChzbGlkZSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IFtdO1xuICAgICAgICBsZXQgYWN0aW9uO1xuICAgICAgICBsZXQgYmFja2dyb3VuZDtcbiAgICAgICAgaWYgKHNsaWRlLnRpdGxlKSBpdGVtcy5wdXNoKHsgdGl0bGU6IHNsaWRlLnRpdGxlIH0pO1xuICAgICAgICBpZiAoc2xpZGUudGV4dCkgaXRlbXMucHVzaCh7IHRleHQ6IHNsaWRlLnRleHQgfSk7XG4gICAgICAgIGlmIChzbGlkZS5jdGFMYWJlbCAmJiBzbGlkZS5jdGFQYXlsb2FkKSB7XG4gICAgICAgICAgYWN0aW9uID0ge1xuICAgICAgICAgICAgdGV4dDogc2xpZGUuY3RhTGFiZWwsXG4gICAgICAgICAgICBhbmNob3I6IHtcbiAgICAgICAgICAgICAgaHJlZjogc2xpZGUuY3RhUGF5bG9hZCxcbiAgICAgICAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNsaWRlLmJhY2tncm91bmQgJiYgc2xpZGUuYmFja2dyb3VuZC52YWx1ZSkge1xuICAgICAgICAgIGlmIChzbGlkZS5iYWNrZ3JvdW5kLnR5cGUgPT09ICdjb2xvcicpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQgPSB7XG4gICAgICAgICAgICAgIGNvbG9yOiBzbGlkZS5iYWNrZ3JvdW5kLnZhbHVlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSBpZiAoc2xpZGUuYmFja2dyb3VuZC50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kID0ge1xuICAgICAgICAgICAgICBpbWFnZTogc2xpZGUuYmFja2dyb3VuZC52YWx1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHNsaWRlLmJhY2tncm91bmQudHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZCA9IHtcbiAgICAgICAgICAgICAgdmlkZW86IHNsaWRlLmJhY2tncm91bmQudmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIGlzIG1pc3NpbmchXG4gICAgICAgICAgYmFja2dyb3VuZCA9IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLCAwLCAwLCAwKSdcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoe1xuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBiYWNrZ3JvdW5kXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICB9O1xuICAgIHJldHVybiByZXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { DataSource } from '@net7/core';
2
+ export class AwEntitaNavDS extends DataSource {
3
+ transform(param) {
4
+ if (!param) {
5
+ return null;
6
+ }
7
+ const { data, selected } = param;
8
+ const navigation = { items: [], payload: 'entita-nav' };
9
+ const { hasMetadataFields, labels } = this.options;
10
+ /* navigation.items.push({
11
+ text: 'OVERVIEW',
12
+ anchor: { href: `${param.basePath}/overview` },
13
+ classes: selected === 'overview' ? 'is-selected overview-tab' : 'overview-tab',
14
+ });
15
+ if (hasMetadataFields) {
16
+ navigation.items.push({
17
+ text: 'INFORMAZIONI',
18
+ anchor: { href: `${param.basePath}/informazioni` },
19
+ classes: selected === 'informazioni' ? 'is-selected' : '',
20
+ });
21
+ } */
22
+ navigation.items.push({
23
+ text: 'INFORMAZIONI',
24
+ anchor: { href: `${param.basePath}/informazioni` },
25
+ classes: selected === 'informazioni' ? 'is-selected' : '',
26
+ });
27
+ if (data.relatedLa) {
28
+ navigation.items.push({
29
+ text: labels['aggregazioni-logiche-collegate'],
30
+ anchor: { href: `${param.basePath}/fondi-collegati` },
31
+ classes: selected === 'fondi-collegati' ? 'is-selected' : '',
32
+ });
33
+ }
34
+ if (data.relatedItems) {
35
+ navigation.items.push({
36
+ text: 'OGGETTI COLLEGATI',
37
+ anchor: {
38
+ href: `${param.basePath}/oggetti-collegati`,
39
+ queryParams: {
40
+ page: 1,
41
+ },
42
+ },
43
+ classes: selected === 'oggetti-collegati' ? 'is-selected' : '',
44
+ });
45
+ }
46
+ if (data.relatedEntities) {
47
+ navigation.items.push({
48
+ text: 'ENTITÀ COLLEGATE',
49
+ anchor: { href: `${param.basePath}/entita-collegate` },
50
+ classes: selected === 'entita-collegate' ? 'is-selected' : '',
51
+ });
52
+ }
53
+ if (data.extraTab) {
54
+ navigation.items.push({
55
+ text: 'MAXXI',
56
+ anchor: { href: `${param.basePath}/maxxi` },
57
+ classes: selected === 'maxxi' ? 'is-selected' : '',
58
+ });
59
+ }
60
+ if (data.wikiTab) {
61
+ navigation.items.push({
62
+ text: 'WIKIPEDIA',
63
+ anchor: { href: `${param.basePath}/wiki` },
64
+ classes: selected === 'wiki' ? 'is-selected' : '',
65
+ });
66
+ }
67
+ // one tab control
68
+ if (navigation.items.length === 2 && !hasMetadataFields) {
69
+ navigation.items.shift();
70
+ }
71
+ return navigation;
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRhLW5hdi5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9kYXRhLXNvdXJjZXMvZW50aXRhLW5hdi5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQUNqQyxTQUFTLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3hELE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5EOzs7Ozs7Ozs7OztZQVdJO1FBQ0osVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsZUFBZSxFQUFFO1lBQ2xELE9BQU8sRUFBRSxRQUFRLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDMUQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzlDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLGtCQUFrQixFQUFFO2dCQUNyRCxPQUFPLEVBQUUsUUFBUSxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsb0JBQW9CO29CQUMzQyxXQUFXLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLENBQUM7cUJBQ1I7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFLFFBQVEsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQy9ELENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsbUJBQW1CLEVBQUU7Z0JBQ3RELE9BQU8sRUFBRSxRQUFRLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUM5RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxPQUFPO2dCQUNiLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLFFBQVEsRUFBRTtnQkFDM0MsT0FBTyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUNuRCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxPQUFPLEVBQUU7Z0JBQzFDLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDbEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELGtCQUFrQjtRQUNsQixJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEQsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQXdFbnRpdGFOYXZEUyBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKHBhcmFtKTogYW55IHtcbiAgICBpZiAoIXBhcmFtKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBkYXRhLCBzZWxlY3RlZCB9ID0gcGFyYW07XG4gICAgY29uc3QgbmF2aWdhdGlvbiA9IHsgaXRlbXM6IFtdLCBwYXlsb2FkOiAnZW50aXRhLW5hdicgfTtcbiAgICBjb25zdCB7IGhhc01ldGFkYXRhRmllbGRzLCBsYWJlbHMgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIC8qIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICB0ZXh0OiAnT1ZFUlZJRVcnLFxuICAgICAgYW5jaG9yOiB7IGhyZWY6IGAke3BhcmFtLmJhc2VQYXRofS9vdmVydmlld2AgfSxcbiAgICAgIGNsYXNzZXM6IHNlbGVjdGVkID09PSAnb3ZlcnZpZXcnID8gJ2lzLXNlbGVjdGVkIG92ZXJ2aWV3LXRhYicgOiAnb3ZlcnZpZXctdGFiJyxcbiAgICB9KTtcbiAgICBpZiAoaGFzTWV0YWRhdGFGaWVsZHMpIHtcbiAgICAgIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICAgIHRleHQ6ICdJTkZPUk1BWklPTkknLFxuICAgICAgICBhbmNob3I6IHsgaHJlZjogYCR7cGFyYW0uYmFzZVBhdGh9L2luZm9ybWF6aW9uaWAgfSxcbiAgICAgICAgY2xhc3Nlczogc2VsZWN0ZWQgPT09ICdpbmZvcm1hemlvbmknID8gJ2lzLXNlbGVjdGVkJyA6ICcnLFxuICAgICAgfSk7XG4gICAgfSAqL1xuICAgIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICB0ZXh0OiAnSU5GT1JNQVpJT05JJyxcbiAgICAgIGFuY2hvcjogeyBocmVmOiBgJHtwYXJhbS5iYXNlUGF0aH0vaW5mb3JtYXppb25pYCB9LFxuICAgICAgY2xhc3Nlczogc2VsZWN0ZWQgPT09ICdpbmZvcm1hemlvbmknID8gJ2lzLXNlbGVjdGVkJyA6ICcnLFxuICAgIH0pO1xuICAgIGlmIChkYXRhLnJlbGF0ZWRMYSkge1xuICAgICAgbmF2aWdhdGlvbi5pdGVtcy5wdXNoKHtcbiAgICAgICAgdGV4dDogbGFiZWxzWydhZ2dyZWdhemlvbmktbG9naWNoZS1jb2xsZWdhdGUnXSxcbiAgICAgICAgYW5jaG9yOiB7IGhyZWY6IGAke3BhcmFtLmJhc2VQYXRofS9mb25kaS1jb2xsZWdhdGlgIH0sXG4gICAgICAgIGNsYXNzZXM6IHNlbGVjdGVkID09PSAnZm9uZGktY29sbGVnYXRpJyA/ICdpcy1zZWxlY3RlZCcgOiAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoZGF0YS5yZWxhdGVkSXRlbXMpIHtcbiAgICAgIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICAgIHRleHQ6ICdPR0dFVFRJIENPTExFR0FUSScsXG4gICAgICAgIGFuY2hvcjoge1xuICAgICAgICAgIGhyZWY6IGAke3BhcmFtLmJhc2VQYXRofS9vZ2dldHRpLWNvbGxlZ2F0aWAsXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3Nlczogc2VsZWN0ZWQgPT09ICdvZ2dldHRpLWNvbGxlZ2F0aScgPyAnaXMtc2VsZWN0ZWQnIDogJycsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGRhdGEucmVsYXRlZEVudGl0aWVzKSB7XG4gICAgICBuYXZpZ2F0aW9uLml0ZW1zLnB1c2goe1xuICAgICAgICB0ZXh0OiAnRU5USVTDgCBDT0xMRUdBVEUnLFxuICAgICAgICBhbmNob3I6IHsgaHJlZjogYCR7cGFyYW0uYmFzZVBhdGh9L2VudGl0YS1jb2xsZWdhdGVgIH0sXG4gICAgICAgIGNsYXNzZXM6IHNlbGVjdGVkID09PSAnZW50aXRhLWNvbGxlZ2F0ZScgPyAnaXMtc2VsZWN0ZWQnIDogJycsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZXh0cmFUYWIpIHtcbiAgICAgIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICAgIHRleHQ6ICdNQVhYSScsXG4gICAgICAgIGFuY2hvcjogeyBocmVmOiBgJHtwYXJhbS5iYXNlUGF0aH0vbWF4eGlgIH0sXG4gICAgICAgIGNsYXNzZXM6IHNlbGVjdGVkID09PSAnbWF4eGknID8gJ2lzLXNlbGVjdGVkJyA6ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChkYXRhLndpa2lUYWIpIHtcbiAgICAgIG5hdmlnYXRpb24uaXRlbXMucHVzaCh7XG4gICAgICAgIHRleHQ6ICdXSUtJUEVESUEnLFxuICAgICAgICBhbmNob3I6IHsgaHJlZjogYCR7cGFyYW0uYmFzZVBhdGh9L3dpa2lgIH0sXG4gICAgICAgIGNsYXNzZXM6IHNlbGVjdGVkID09PSAnd2lraScgPyAnaXMtc2VsZWN0ZWQnIDogJycsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBvbmUgdGFiIGNvbnRyb2xcbiAgICBpZiAobmF2aWdhdGlvbi5pdGVtcy5sZW5ndGggPT09IDIgJiYgIWhhc01ldGFkYXRhRmllbGRzKSB7XG4gICAgICBuYXZpZ2F0aW9uLml0ZW1zLnNoaWZ0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hdmlnYXRpb247XG4gIH1cbn1cbiJdfQ==