@net7/boilerplate-arianna 3.0.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +29 -0
  3. package/esm2020/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.mjs +23 -0
  4. package/esm2020/lib/components/chart-tippy/chart-tippy.mjs +25 -0
  5. package/esm2020/lib/components/index.mjs +7 -0
  6. package/esm2020/lib/components/pdf-viewer/pdf-viewer.mjs +31 -0
  7. package/esm2020/lib/components/scheda-dropdown/scheda-dropdown.mjs +26 -0
  8. package/esm2020/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +82 -0
  9. package/esm2020/lib/config/apollo.config.mjs +706 -0
  10. package/esm2020/lib/config-types/arianna/app.mjs +2 -0
  11. package/esm2020/lib/config-types/arianna/index.mjs +3 -0
  12. package/esm2020/lib/config-types/arianna/layouts.mjs +2 -0
  13. package/esm2020/lib/config-types/index.mjs +2 -0
  14. package/esm2020/lib/data-sources/autocomplete-wrapper.ds.mjs +48 -0
  15. package/esm2020/lib/data-sources/aw-facets-wrapper.ds.mjs +162 -0
  16. package/esm2020/lib/data-sources/bubble-chart.ds.mjs +95 -0
  17. package/esm2020/lib/data-sources/carousel.ds.mjs +74 -0
  18. package/esm2020/lib/data-sources/chart-tippy.ds.mjs +30 -0
  19. package/esm2020/lib/data-sources/entita-metadata-viewer.ds.mjs +16 -0
  20. package/esm2020/lib/data-sources/entita-nav.ds.mjs +74 -0
  21. package/esm2020/lib/data-sources/gallery-results.ds.mjs +103 -0
  22. package/esm2020/lib/data-sources/hero.ds.mjs +27 -0
  23. package/esm2020/lib/data-sources/home-autocomplete.ds.mjs +80 -0
  24. package/esm2020/lib/data-sources/home-facets-wrapper.ds.mjs +178 -0
  25. package/esm2020/lib/data-sources/home-hero-patrimonio.ds.mjs +7 -0
  26. package/esm2020/lib/data-sources/home-item-tags-wrapper.ds.mjs +7 -0
  27. package/esm2020/lib/data-sources/index.mjs +36 -0
  28. package/esm2020/lib/data-sources/linked-objects.ds.mjs +219 -0
  29. package/esm2020/lib/data-sources/map.ds.mjs +88 -0
  30. package/esm2020/lib/data-sources/related-entities.ds.mjs +35 -0
  31. package/esm2020/lib/data-sources/scheda-breadcrumbs.ds.mjs +18 -0
  32. package/esm2020/lib/data-sources/scheda-dropdown.ds.mjs +40 -0
  33. package/esm2020/lib/data-sources/scheda-image.ds.mjs +65 -0
  34. package/esm2020/lib/data-sources/scheda-inner-title.ds.mjs +7 -0
  35. package/esm2020/lib/data-sources/scheda-metadata.ds.mjs +11 -0
  36. package/esm2020/lib/data-sources/scheda-pdf.ds.mjs +54 -0
  37. package/esm2020/lib/data-sources/search-layout-tabs.ds.mjs +28 -0
  38. package/esm2020/lib/data-sources/sidebar-header.ds.mjs +24 -0
  39. package/esm2020/lib/data-sources/table.ds.mjs +8 -0
  40. package/esm2020/lib/data-sources/timeline.ds.mjs +106 -0
  41. package/esm2020/lib/data-sources/tree.ds.mjs +154 -0
  42. package/esm2020/lib/event-handlers/autocomplete-wrapper.eh.mjs +18 -0
  43. package/esm2020/lib/event-handlers/aw-facets-wrapper.eh.mjs +88 -0
  44. package/esm2020/lib/event-handlers/bubble-chart.eh.mjs +98 -0
  45. package/esm2020/lib/event-handlers/chart-tippy.eh.mjs +64 -0
  46. package/esm2020/lib/event-handlers/entita-nav.eh.mjs +22 -0
  47. package/esm2020/lib/event-handlers/gallery-results.eh.mjs +38 -0
  48. package/esm2020/lib/event-handlers/hero.eh.mjs +25 -0
  49. package/esm2020/lib/event-handlers/home-autocomplete.eh.mjs +15 -0
  50. package/esm2020/lib/event-handlers/home-facets-wrapper.eh.mjs +125 -0
  51. package/esm2020/lib/event-handlers/home-hero-patrimonio.eh.mjs +7 -0
  52. package/esm2020/lib/event-handlers/home-item-tags-wrapper.eh.mjs +18 -0
  53. package/esm2020/lib/event-handlers/index.mjs +30 -0
  54. package/esm2020/lib/event-handlers/linked-objects.eh.mjs +60 -0
  55. package/esm2020/lib/event-handlers/map.eh.mjs +23 -0
  56. package/esm2020/lib/event-handlers/scheda-breadcrumbs.eh.mjs +12 -0
  57. package/esm2020/lib/event-handlers/scheda-dropdown.eh.mjs +17 -0
  58. package/esm2020/lib/event-handlers/scheda-pdf.eh.mjs +14 -0
  59. package/esm2020/lib/event-handlers/search-layout-tabs.eh.mjs +7 -0
  60. package/esm2020/lib/event-handlers/sidebar-header.eh.mjs +11 -0
  61. package/esm2020/lib/event-handlers/table.eh.mjs +15 -0
  62. package/esm2020/lib/event-handlers/timeline.eh.mjs +46 -0
  63. package/esm2020/lib/event-handlers/tree.eh.mjs +113 -0
  64. package/esm2020/lib/helpers/metadata.helper.mjs +89 -0
  65. package/esm2020/lib/layouts/collection-layout/collection-layout.config.mjs +17 -0
  66. package/esm2020/lib/layouts/collection-layout/collection-layout.ds.mjs +173 -0
  67. package/esm2020/lib/layouts/collection-layout/collection-layout.eh.mjs +27 -0
  68. package/esm2020/lib/layouts/collection-layout/collection-layout.mjs +38 -0
  69. package/esm2020/lib/layouts/collection-layout/collection-layout.types.mjs +2 -0
  70. package/esm2020/lib/layouts/entita-layout/entita-layout.config.mjs +29 -0
  71. package/esm2020/lib/layouts/entita-layout/entita-layout.ds.mjs +310 -0
  72. package/esm2020/lib/layouts/entita-layout/entita-layout.eh.mjs +119 -0
  73. package/esm2020/lib/layouts/entita-layout/entita-layout.mjs +51 -0
  74. package/esm2020/lib/layouts/entita-layout/entita-layout.types.mjs +2 -0
  75. package/esm2020/lib/layouts/gallery-layout/gallery-facets.config.mjs +145 -0
  76. package/esm2020/lib/layouts/gallery-layout/gallery-layout.config.mjs +32 -0
  77. package/esm2020/lib/layouts/gallery-layout/gallery-layout.ds.mjs +15 -0
  78. package/esm2020/lib/layouts/gallery-layout/gallery-layout.eh.mjs +8 -0
  79. package/esm2020/lib/layouts/gallery-layout/gallery-layout.mjs +45 -0
  80. package/esm2020/lib/layouts/home-layout/home-layout.config.mjs +36 -0
  81. package/esm2020/lib/layouts/home-layout/home-layout.ds.mjs +286 -0
  82. package/esm2020/lib/layouts/home-layout/home-layout.eh.mjs +245 -0
  83. package/esm2020/lib/layouts/home-layout/home-layout.mjs +44 -0
  84. package/esm2020/lib/layouts/index.mjs +41 -0
  85. package/esm2020/lib/layouts/map-layout/map-layout.config.mjs +26 -0
  86. package/esm2020/lib/layouts/map-layout/map-layout.ds.mjs +112 -0
  87. package/esm2020/lib/layouts/map-layout/map-layout.eh.mjs +44 -0
  88. package/esm2020/lib/layouts/map-layout/map-layout.mjs +46 -0
  89. package/esm2020/lib/layouts/scheda-layout/scheda-layout.config.mjs +32 -0
  90. package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +282 -0
  91. package/esm2020/lib/layouts/scheda-layout/scheda-layout.eh.mjs +150 -0
  92. package/esm2020/lib/layouts/scheda-layout/scheda-layout.mjs +53 -0
  93. package/esm2020/lib/layouts/search-layout/search-facets.config.mjs +163 -0
  94. package/esm2020/lib/layouts/search-layout/search-layout.config.mjs +32 -0
  95. package/esm2020/lib/layouts/search-layout/search-layout.ds.mjs +296 -0
  96. package/esm2020/lib/layouts/search-layout/search-layout.eh.mjs +175 -0
  97. package/esm2020/lib/layouts/search-layout/search-layout.mjs +50 -0
  98. package/esm2020/lib/layouts/timeline-layout/timeline-layout.config.mjs +26 -0
  99. package/esm2020/lib/layouts/timeline-layout/timeline-layout.ds.mjs +133 -0
  100. package/esm2020/lib/layouts/timeline-layout/timeline-layout.eh.mjs +41 -0
  101. package/esm2020/lib/layouts/timeline-layout/timeline-layout.mjs +46 -0
  102. package/esm2020/lib/n7-boilerplate-arianna.module.mjs +110 -0
  103. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-checkbox.mjs +32 -0
  104. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-link.mjs +89 -0
  105. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-select.mjs +28 -0
  106. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input-text.mjs +36 -0
  107. package/esm2020/lib/search/aw-facet-inputs/aw-facet-input.mjs +30 -0
  108. package/esm2020/lib/search/aw-facet-inputs/index.mjs +6 -0
  109. package/esm2020/lib/search/aw-search.model.mjs +331 -0
  110. package/esm2020/lib/search/aw-search.service.mjs +42 -0
  111. package/esm2020/lib/search/entity-links.helper.mjs +126 -0
  112. package/esm2020/net7-boilerplate-arianna.mjs +5 -0
  113. package/esm2020/public-api.mjs +11 -0
  114. package/fesm2015/net7-boilerplate-arianna.mjs +7482 -0
  115. package/fesm2015/net7-boilerplate-arianna.mjs.map +1 -0
  116. package/fesm2020/net7-boilerplate-arianna.mjs +7520 -0
  117. package/fesm2020/net7-boilerplate-arianna.mjs.map +1 -0
  118. package/lib/components/aw-facets-wrapper/aw-facets-wrapper.d.ts +9 -0
  119. package/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.d.ts +9 -0
  120. package/lib/components/chart-tippy/chart-tippy.d.ts +9 -0
  121. package/lib/components/index.d.ts +6 -0
  122. package/lib/components/pdf-viewer/pdf-viewer.d.ts +38 -0
  123. package/lib/components/scheda-dropdown/scheda-dropdown.d.ts +23 -0
  124. package/lib/components/smart-breadcrumbs/smart-breadcrumbs.d.ts +71 -0
  125. package/lib/config/apollo.config.d.ts +67 -0
  126. package/lib/config-types/arianna/app.d.ts +103 -0
  127. package/lib/config-types/arianna/index.d.ts +2 -0
  128. package/lib/config-types/arianna/layouts.d.ts +164 -0
  129. package/lib/config-types/index.d.ts +1 -0
  130. package/lib/data-sources/autocomplete-wrapper.ds.d.ts +18 -0
  131. package/lib/data-sources/aw-facets-wrapper.ds.d.ts +50 -0
  132. package/lib/data-sources/bubble-chart.ds.d.ts +47 -0
  133. package/lib/data-sources/carousel.ds.d.ts +22 -0
  134. package/lib/data-sources/chart-tippy.ds.d.ts +4 -0
  135. package/lib/data-sources/entita-metadata-viewer.ds.d.ts +9 -0
  136. package/lib/data-sources/entita-nav.ds.d.ts +4 -0
  137. package/lib/data-sources/gallery-results.ds.d.ts +11 -0
  138. package/lib/data-sources/hero.ds.d.ts +20 -0
  139. package/lib/data-sources/home-autocomplete.ds.d.ts +37 -0
  140. package/lib/data-sources/home-facets-wrapper.ds.d.ts +14 -0
  141. package/lib/data-sources/home-hero-patrimonio.ds.d.ts +4 -0
  142. package/lib/data-sources/home-item-tags-wrapper.ds.d.ts +4 -0
  143. package/lib/data-sources/index.d.ts +27 -0
  144. package/lib/data-sources/linked-objects.ds.d.ts +22 -0
  145. package/lib/data-sources/map.ds.d.ts +17 -0
  146. package/lib/data-sources/related-entities.ds.d.ts +7 -0
  147. package/lib/data-sources/scheda-breadcrumbs.ds.d.ts +5 -0
  148. package/lib/data-sources/scheda-dropdown.ds.d.ts +7 -0
  149. package/lib/data-sources/scheda-image.ds.d.ts +10 -0
  150. package/lib/data-sources/scheda-inner-title.ds.d.ts +4 -0
  151. package/lib/data-sources/scheda-metadata.ds.d.ts +8 -0
  152. package/lib/data-sources/scheda-pdf.ds.d.ts +8 -0
  153. package/lib/data-sources/search-layout-tabs.ds.d.ts +12 -0
  154. package/lib/data-sources/sidebar-header.ds.d.ts +11 -0
  155. package/lib/data-sources/table.ds.d.ts +4 -0
  156. package/lib/data-sources/timeline.ds.d.ts +37 -0
  157. package/lib/data-sources/tree.ds.d.ts +19 -0
  158. package/lib/event-handlers/autocomplete-wrapper.eh.d.ts +4 -0
  159. package/lib/event-handlers/aw-facets-wrapper.eh.d.ts +7 -0
  160. package/lib/event-handlers/bubble-chart.eh.d.ts +7 -0
  161. package/lib/event-handlers/chart-tippy.eh.d.ts +6 -0
  162. package/lib/event-handlers/entita-nav.eh.d.ts +4 -0
  163. package/lib/event-handlers/gallery-results.eh.d.ts +4 -0
  164. package/lib/event-handlers/hero.eh.d.ts +4 -0
  165. package/lib/event-handlers/home-autocomplete.eh.d.ts +4 -0
  166. package/lib/event-handlers/home-facets-wrapper.eh.d.ts +7 -0
  167. package/lib/event-handlers/home-hero-patrimonio.eh.d.ts +4 -0
  168. package/lib/event-handlers/home-item-tags-wrapper.eh.d.ts +4 -0
  169. package/lib/event-handlers/index.d.ts +21 -0
  170. package/lib/event-handlers/linked-objects.eh.d.ts +5 -0
  171. package/lib/event-handlers/map.eh.d.ts +5 -0
  172. package/lib/event-handlers/scheda-breadcrumbs.eh.d.ts +4 -0
  173. package/lib/event-handlers/scheda-dropdown.eh.d.ts +4 -0
  174. package/lib/event-handlers/scheda-pdf.eh.d.ts +6 -0
  175. package/lib/event-handlers/search-layout-tabs.eh.d.ts +4 -0
  176. package/lib/event-handlers/sidebar-header.eh.d.ts +4 -0
  177. package/lib/event-handlers/table.eh.d.ts +4 -0
  178. package/lib/event-handlers/timeline.eh.d.ts +5 -0
  179. package/lib/event-handlers/tree.eh.d.ts +9 -0
  180. package/lib/helpers/metadata.helper.d.ts +15 -0
  181. package/lib/layouts/collection-layout/collection-layout.config.d.ts +13 -0
  182. package/lib/layouts/collection-layout/collection-layout.d.ts +21 -0
  183. package/lib/layouts/collection-layout/collection-layout.ds.d.ts +50 -0
  184. package/lib/layouts/collection-layout/collection-layout.eh.d.ts +6 -0
  185. package/lib/layouts/collection-layout/collection-layout.types.d.ts +31 -0
  186. package/lib/layouts/entita-layout/entita-layout.config.d.ts +29 -0
  187. package/lib/layouts/entita-layout/entita-layout.d.ts +28 -0
  188. package/lib/layouts/entita-layout/entita-layout.ds.d.ts +76 -0
  189. package/lib/layouts/entita-layout/entita-layout.eh.d.ts +13 -0
  190. package/lib/layouts/entita-layout/entita-layout.types.d.ts +17 -0
  191. package/lib/layouts/gallery-layout/gallery-facets.config.d.ts +150 -0
  192. package/lib/layouts/gallery-layout/gallery-layout.config.d.ts +38 -0
  193. package/lib/layouts/gallery-layout/gallery-layout.d.ts +26 -0
  194. package/lib/layouts/gallery-layout/gallery-layout.ds.d.ts +158 -0
  195. package/lib/layouts/gallery-layout/gallery-layout.eh.d.ts +4 -0
  196. package/lib/layouts/home-layout/home-layout.config.d.ts +15 -0
  197. package/lib/layouts/home-layout/home-layout.d.ts +23 -0
  198. package/lib/layouts/home-layout/home-layout.ds.d.ts +53 -0
  199. package/lib/layouts/home-layout/home-layout.eh.d.ts +11 -0
  200. package/lib/layouts/index.d.ts +32 -0
  201. package/lib/layouts/map-layout/map-layout.config.d.ts +22 -0
  202. package/lib/layouts/map-layout/map-layout.d.ts +23 -0
  203. package/lib/layouts/map-layout/map-layout.ds.d.ts +37 -0
  204. package/lib/layouts/map-layout/map-layout.eh.d.ts +5 -0
  205. package/lib/layouts/scheda-layout/scheda-layout.config.d.ts +19 -0
  206. package/lib/layouts/scheda-layout/scheda-layout.d.ts +33 -0
  207. package/lib/layouts/scheda-layout/scheda-layout.ds.d.ts +75 -0
  208. package/lib/layouts/scheda-layout/scheda-layout.eh.d.ts +11 -0
  209. package/lib/layouts/search-layout/search-facets.config.d.ts +168 -0
  210. package/lib/layouts/search-layout/search-layout.config.d.ts +38 -0
  211. package/lib/layouts/search-layout/search-layout.d.ts +31 -0
  212. package/lib/layouts/search-layout/search-layout.ds.d.ts +71 -0
  213. package/lib/layouts/search-layout/search-layout.eh.d.ts +31 -0
  214. package/lib/layouts/timeline-layout/timeline-layout.config.d.ts +22 -0
  215. package/lib/layouts/timeline-layout/timeline-layout.d.ts +23 -0
  216. package/lib/layouts/timeline-layout/timeline-layout.ds.d.ts +39 -0
  217. package/lib/layouts/timeline-layout/timeline-layout.eh.d.ts +5 -0
  218. package/lib/n7-boilerplate-arianna.module.d.ts +28 -0
  219. package/lib/search/aw-facet-inputs/aw-facet-input-checkbox.d.ts +18 -0
  220. package/lib/search/aw-facet-inputs/aw-facet-input-link.d.ts +8 -0
  221. package/lib/search/aw-facet-inputs/aw-facet-input-select.d.ts +21 -0
  222. package/lib/search/aw-facet-inputs/aw-facet-input-text.d.ts +30 -0
  223. package/lib/search/aw-facet-inputs/aw-facet-input.d.ts +35 -0
  224. package/lib/search/aw-facet-inputs/index.d.ts +5 -0
  225. package/lib/search/aw-search.model.d.ts +125 -0
  226. package/lib/search/aw-search.service.d.ts +13 -0
  227. package/lib/search/entity-links.helper.d.ts +12 -0
  228. package/net7-boilerplate-arianna.d.ts +5 -0
  229. package/package.json +36 -0
  230. package/public-api.d.ts +6 -0
  231. package/src/lib/styles/arianna/components/_advanced-autocomplete.scss +103 -0
  232. package/src/lib/styles/arianna/components/_breadcrumbs.scss +129 -0
  233. package/src/lib/styles/arianna/components/_bubble-popup-menu.scss +87 -0
  234. package/src/lib/styles/arianna/components/_carousel.scss +32 -0
  235. package/src/lib/styles/arianna/components/_facet-header.scss +58 -0
  236. package/src/lib/styles/arianna/components/_facet.scss +268 -0
  237. package/src/lib/styles/arianna/components/_footer.scss +64 -0
  238. package/src/lib/styles/arianna/components/_header.scss +61 -0
  239. package/src/lib/styles/arianna/components/_item-preview.scss +278 -0
  240. package/src/lib/styles/arianna/components/_map.scss +59 -0
  241. package/src/lib/styles/arianna/components/_metadata-viewer.scss +106 -0
  242. package/src/lib/styles/arianna/components/_pdf-viewer.scss +93 -0
  243. package/src/lib/styles/arianna/components/_simple-autocomplete.scss +60 -0
  244. package/src/lib/styles/arianna/components/_timeline.scss +112 -0
  245. package/src/lib/styles/arianna/components/_tippy-tooltip.scss +41 -0
  246. package/src/lib/styles/arianna/components/_tree.scss +110 -0
  247. package/src/lib/styles/arianna/generic/_color_scheme.scss +60 -0
  248. package/src/lib/styles/arianna/generic/_mixins.scss +18 -0
  249. package/src/lib/styles/arianna/generic/_variables.scss +380 -0
  250. package/src/lib/styles/arianna/layouts/_collection-layout.scss +200 -0
  251. package/src/lib/styles/arianna/layouts/_entita-layout.scss +344 -0
  252. package/src/lib/styles/arianna/layouts/_home-layout.scss +785 -0
  253. package/src/lib/styles/arianna/layouts/_multimedia-layout.scss +132 -0
  254. package/src/lib/styles/arianna/layouts/_scheda-layout.scss +438 -0
  255. package/src/lib/styles/arianna/layouts/_search-layout.scss +284 -0
  256. package/src/lib/styles/arianna/utilities/_item-preview-list.scss +48 -0
@@ -0,0 +1,28 @@
1
+ import { DataSource } from '@n7-frontend/core';
2
+ export class AwSearchLayoutTabsDS extends DataSource {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.selected = 'list';
6
+ }
7
+ transform() {
8
+ return {
9
+ items: [{
10
+ text: 'LISTA',
11
+ payload: 'list',
12
+ classes: this.selected === 'list' ? 'is-selected' : '',
13
+ }, {
14
+ text: 'GRAFICO',
15
+ payload: 'chart',
16
+ classes: this.selected === 'chart' ? 'is-selected' : '',
17
+ }, {
18
+ text: 'TIMELINE',
19
+ payload: 'timeline',
20
+ classes: this.selected === 'timeline' ? 'is-selected' : '',
21
+ }],
22
+ };
23
+ }
24
+ setSelected(tabId) {
25
+ this.selected = tabId;
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxheW91dC10YWJzLmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtYXJpYW5uYS9zcmMvbGliL2RhdGEtc291cmNlcy9zZWFyY2gtbGF5b3V0LXRhYnMuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFVO0lBQXBEOztRQUNVLGFBQVEsR0FBRyxNQUFNLENBQUM7SUF1QjVCLENBQUM7SUFyQlcsU0FBUztRQUNqQixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLE1BQU07b0JBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQ3ZELEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO2lCQUN4RCxFQUFFO29CQUNELElBQUksRUFBRSxVQUFVO29CQUNoQixPQUFPLEVBQUUsVUFBVTtvQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQzNELENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBd1NlYXJjaExheW91dFRhYnNEUyBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwcml2YXRlIHNlbGVjdGVkID0gJ2xpc3QnO1xuXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICB0ZXh0OiAnTElTVEEnLFxuICAgICAgICBwYXlsb2FkOiAnbGlzdCcsXG4gICAgICAgIGNsYXNzZXM6IHRoaXMuc2VsZWN0ZWQgPT09ICdsaXN0JyA/ICdpcy1zZWxlY3RlZCcgOiAnJyxcbiAgICAgIH0sIHtcbiAgICAgICAgdGV4dDogJ0dSQUZJQ08nLFxuICAgICAgICBwYXlsb2FkOiAnY2hhcnQnLFxuICAgICAgICBjbGFzc2VzOiB0aGlzLnNlbGVjdGVkID09PSAnY2hhcnQnID8gJ2lzLXNlbGVjdGVkJyA6ICcnLFxuICAgICAgfSwge1xuICAgICAgICB0ZXh0OiAnVElNRUxJTkUnLFxuICAgICAgICBwYXlsb2FkOiAndGltZWxpbmUnLFxuICAgICAgICBjbGFzc2VzOiB0aGlzLnNlbGVjdGVkID09PSAndGltZWxpbmUnID8gJ2lzLXNlbGVjdGVkJyA6ICcnLFxuICAgICAgfV0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZCh0YWJJZCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB0YWJJZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,24 @@
1
+ import { DataSource } from '@n7-frontend/core';
2
+ export class AwSidebarHeaderDS extends DataSource {
3
+ transform(data) {
4
+ return {
5
+ iconLeft: 'n7-icon-tree-icon',
6
+ text: data.text || '',
7
+ iconRight: data.isExpanded ? 'n7-icon-angle-left' : 'n7-icon-angle-right',
8
+ classes: data.isExpanded ? 'is-expanded' : 'is-collapsed',
9
+ payload: 'header',
10
+ };
11
+ }
12
+ toggleSidebar() {
13
+ const sidebarData = this.output;
14
+ if (sidebarData.classes === 'is-expanded') {
15
+ sidebarData.classes = 'is-collapsed';
16
+ sidebarData.iconRight = 'n7-icon-angle-right';
17
+ }
18
+ else {
19
+ sidebarData.classes = 'is-expanded';
20
+ sidebarData.iconRight = 'n7-icon-angle-left';
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1oZWFkZXIuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL3NpZGViYXItaGVhZGVyLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTtJQUNyQyxTQUFTLENBQUMsSUFBSTtRQUN0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1lBQ3pFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGNBQWM7WUFDekQsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssYUFBYSxFQUFFO1lBQ3pDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO1lBQ3JDLFdBQVcsQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUM7U0FDL0M7YUFBTTtZQUNMLFdBQVcsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7U0FDOUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQG43LWZyb250ZW5kL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQXdTaWRlYmFySGVhZGVyRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybShkYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25MZWZ0OiAnbjctaWNvbi10cmVlLWljb24nLFxuICAgICAgdGV4dDogZGF0YS50ZXh0IHx8ICcnLFxuICAgICAgaWNvblJpZ2h0OiBkYXRhLmlzRXhwYW5kZWQgPyAnbjctaWNvbi1hbmdsZS1sZWZ0JyA6ICduNy1pY29uLWFuZ2xlLXJpZ2h0JyxcbiAgICAgIGNsYXNzZXM6IGRhdGEuaXNFeHBhbmRlZCA/ICdpcy1leHBhbmRlZCcgOiAnaXMtY29sbGFwc2VkJyxcbiAgICAgIHBheWxvYWQ6ICdoZWFkZXInLFxuICAgIH07XG4gIH1cblxuICB0b2dnbGVTaWRlYmFyKCkge1xuICAgIGNvbnN0IHNpZGViYXJEYXRhID0gdGhpcy5vdXRwdXQ7XG4gICAgaWYgKHNpZGViYXJEYXRhLmNsYXNzZXMgPT09ICdpcy1leHBhbmRlZCcpIHtcbiAgICAgIHNpZGViYXJEYXRhLmNsYXNzZXMgPSAnaXMtY29sbGFwc2VkJztcbiAgICAgIHNpZGViYXJEYXRhLmljb25SaWdodCA9ICduNy1pY29uLWFuZ2xlLXJpZ2h0JztcbiAgICB9IGVsc2Uge1xuICAgICAgc2lkZWJhckRhdGEuY2xhc3NlcyA9ICdpcy1leHBhbmRlZCc7XG4gICAgICBzaWRlYmFyRGF0YS5pY29uUmlnaHQgPSAnbjctaWNvbi1hbmdsZS1sZWZ0JztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { DataSource } from '@n7-frontend/core';
2
+ import { TABLE_MOCK } from '@n7-frontend/components';
3
+ export class AwTableDS extends DataSource {
4
+ transform() {
5
+ return TABLE_MOCK;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL3RhYmxlLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckQsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUFVO0lBQzdCLFNBQVM7UUFDakIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuNy1mcm9udGVuZC9jb3JlJztcbmltcG9ydCB7IFRBQkxFX01PQ0sgfSBmcm9tICdAbjctZnJvbnRlbmQvY29tcG9uZW50cyc7XG5cbmV4cG9ydCBjbGFzcyBBd1RhYmxlRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybSgpIHtcbiAgICByZXR1cm4gVEFCTEVfTU9DSztcbiAgfVxufVxuIl19
@@ -0,0 +1,106 @@
1
+ import { DataSource } from '@n7-frontend/core';
2
+ import * as moment from 'moment';
3
+ import { max as _max, min as _min } from 'lodash';
4
+ import { Subject } from 'rxjs';
5
+ const ONE_YEAR = 31557600000;
6
+ const YEARS_MARGIN = 30;
7
+ export class AwTimelineDS extends DataSource {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.timelineLoaded$ = new Subject();
11
+ this.timelineControlsVisible = false;
12
+ this.transform = (data) => {
13
+ const { disableEndDates } = this.options.configuration;
14
+ this.dataSet = data.map(({ id, start, end, item, label }) => ({
15
+ id,
16
+ item,
17
+ start: start ? moment(start).format('YYYY-MM-DD') : null,
18
+ end: (end && end !== start && !disableEndDates)
19
+ ? moment(end).format('YYYY-MM-DD') // show end date
20
+ : null,
21
+ content: this.getItemTemplate(label, item.label),
22
+ _meta: {
23
+ dateText: label
24
+ }
25
+ }));
26
+ const max = this.getMax();
27
+ const min = this.getMin();
28
+ return {
29
+ containerID: 'timeline-component',
30
+ libOptions: {
31
+ max,
32
+ min,
33
+ start: min,
34
+ end: max,
35
+ align: 'left',
36
+ minHeight: '100px',
37
+ // height: '100px',
38
+ locale: 'it_IT',
39
+ // cluster: {
40
+ // fitOnDoubleClick: true,
41
+ // clusterCriteria: (f, s) => f.content.charAt(0) === s.content.charAt(0),
42
+ // titleTemplate: '{count} eventi',
43
+ // },
44
+ showCurrentTime: false,
45
+ showTooltips: false,
46
+ tooltip: {
47
+ followMouse: false,
48
+ template: (d, element) => `<div class="tooltip">${element.title}</div>`
49
+ },
50
+ width: '100%',
51
+ // minHeight: '350px',
52
+ // maxHeight: '800px',
53
+ zoomMax: ONE_YEAR * 2000,
54
+ zoomMin: ONE_YEAR / 12, // a month
55
+ // zoomFriction: 8
56
+ },
57
+ dataSet: this.dataSet,
58
+ _setInstance: (timeline) => {
59
+ this.timeline = timeline;
60
+ this.timelineLoaded$.next();
61
+ // fix cluster visualization
62
+ setTimeout(() => {
63
+ this.timeline.fit();
64
+ });
65
+ // timeout for zoom controls
66
+ setTimeout(() => {
67
+ this.timelineControlsVisible = true;
68
+ }, 1000);
69
+ }
70
+ };
71
+ };
72
+ }
73
+ getItemTemplate(datesLabel, label) {
74
+ return (`
75
+ <div class="dates">
76
+ <em>${datesLabel}</em>
77
+ </div>
78
+ <div class="content">${label}</div>
79
+ `);
80
+ }
81
+ getMax() {
82
+ const maxDate = new Date(_max(this.getAllDates()));
83
+ const year = maxDate.getFullYear();
84
+ const month = maxDate.getMonth();
85
+ const day = maxDate.getDate();
86
+ return new Date(year + YEARS_MARGIN, month, day);
87
+ }
88
+ getMin() {
89
+ const minDate = new Date(_min(this.getAllDates()));
90
+ const year = minDate.getFullYear();
91
+ const month = minDate.getMonth();
92
+ const day = minDate.getDate();
93
+ return new Date(year - YEARS_MARGIN, month, day);
94
+ }
95
+ getAllDates() {
96
+ return [
97
+ ...this.dataSet
98
+ .filter(({ start }) => start)
99
+ .map(({ start }) => start),
100
+ ...this.dataSet
101
+ .filter(({ end }) => end)
102
+ .map(({ end }) => end)
103
+ ];
104
+ }
105
+ }
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZGF0YS1zb3VyY2VzL3RpbWVsaW5lLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDO0FBQzdCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUV4QixNQUFNLE9BQU8sWUFBYSxTQUFRLFVBQVU7SUFBNUM7O1FBR1Msb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUkvQyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3ZCLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQzVCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ0wsRUFBRTtnQkFDRixJQUFJO2dCQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ3hELEdBQUcsRUFBRSxDQUFDLEdB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QUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQyxPQUFPO2lCQUNaLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDNUIsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzVCLEdBQUcsSUFBSSxDQUFDLE9BQU87aUJBQ1osTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUN4QixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDekIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IG1heCBhcyBfbWF4LCBtaW4gYXMgX21pbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IE9ORV9ZRUFSID0gMzE1NTc2MDAwMDA7XG5jb25zdCBZRUFSU19NQVJHSU4gPSAzMDtcblxuZXhwb3J0IGNsYXNzIEF3VGltZWxpbmVEUyBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgdGltZWxpbmU7XG5cbiAgcHVibGljIHRpbWVsaW5lTG9hZGVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIGRhdGFTZXQ7XG5cbiAgcHVibGljIHRpbWVsaW5lQ29udHJvbHNWaXNpYmxlID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHRyYW5zZm9ybSA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgeyBkaXNhYmxlRW5kRGF0ZXMgfSA9IHRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uO1xuICAgIHRoaXMuZGF0YVNldCA9IGRhdGEubWFwKCh7XG4gICAgICBpZCwgc3RhcnQsIGVuZCwgaXRlbSwgbGFiZWxcbiAgICB9KSA9PiAoe1xuICAgICAgaWQsXG4gICAgICBpdGVtLFxuICAgICAgc3RhcnQ6IHN0YXJ0ID8gbW9tZW50KHN0YXJ0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSA6IG51bGwsXG4gICAgICBlbmQ6IChlbmQgJiYgZW5kICE9PSBzdGFydCAmJiAhZGlzYWJsZUVuZERhdGVzKVxuICAgICAgICA/IG1vbWVudChlbmQpLmZvcm1hdCgnWVlZWS1NTS1ERCcpIC8vIHNob3cgZW5kIGRhdGVcbiAgICAgICAgOiBudWxsLCAvLyBoaWRlIGVuZCBkYXRlXG4gICAgICBjb250ZW50OiB0aGlzLmdldEl0ZW1UZW1wbGF0ZShsYWJlbCwgaXRlbS5sYWJlbCksXG4gICAgICBfbWV0YToge1xuICAgICAgICBkYXRlVGV4dDogbGFiZWxcbiAgICAgIH1cbiAgICB9KSk7XG5cbiAgICBjb25zdCBtYXggPSB0aGlzLmdldE1heCgpO1xuICAgIGNvbnN0IG1pbiA9IHRoaXMuZ2V0TWluKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVySUQ6ICd0aW1lbGluZS1jb21wb25lbnQnLFxuICAgICAgbGliT3B0aW9uczoge1xuICAgICAgICBtYXgsXG4gICAgICAgIG1pbixcbiAgICAgICAgc3RhcnQ6IG1pbixcbiAgICAgICAgZW5kOiBtYXgsXG4gICAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICAgIG1pbkhlaWdodDogJzEwMHB4JyxcbiAgICAgICAgLy8gaGVpZ2h0OiAnMTAwcHgnLFxuICAgICAgICBsb2NhbGU6ICdpdF9JVCcsXG4gICAgICAgIC8vIGNsdXN0ZXI6IHtcbiAgICAgICAgLy8gZml0T25Eb3VibGVDbGljazogdHJ1ZSxcbiAgICAgICAgLy8gY2x1c3RlckNyaXRlcmlhOiAoZiwgcykgPT4gZi5jb250ZW50LmNoYXJBdCgwKSA9PT0gcy5jb250ZW50LmNoYXJBdCgwKSxcbiAgICAgICAgLy8gICB0aXRsZVRlbXBsYXRlOiAne2NvdW50fSBldmVudGknLFxuICAgICAgICAvLyB9LFxuICAgICAgICBzaG93Q3VycmVudFRpbWU6IGZhbHNlLFxuICAgICAgICBzaG93VG9vbHRpcHM6IGZhbHNlLFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgZm9sbG93TW91c2U6IGZhbHNlLFxuICAgICAgICAgIHRlbXBsYXRlOiAoZDogYW55LCBlbGVtZW50OiB7IHRpdGxlOiBzdHJpbmcgfSkgPT4gYDxkaXYgY2xhc3M9XCJ0b29sdGlwXCI+JHtlbGVtZW50LnRpdGxlfTwvZGl2PmBcbiAgICAgICAgfSxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgLy8gbWluSGVpZ2h0OiAnMzUwcHgnLFxuICAgICAgICAvLyBtYXhIZWlnaHQ6ICc4MDBweCcsXG4gICAgICAgIHpvb21NYXg6IE9ORV9ZRUFSICogMjAwMCwgLy8gMjAwMCB5ZWFyc1xuICAgICAgICB6b29tTWluOiBPTkVfWUVBUiAvIDEyLCAvLyBhIG1vbnRoXG4gICAgICAgIC8vIHpvb21GcmljdGlvbjogOFxuICAgICAgfSxcbiAgICAgIGRhdGFTZXQ6IHRoaXMuZGF0YVNldCxcbiAgICAgIF9zZXRJbnN0YW5jZTogKHRpbWVsaW5lKSA9PiB7XG4gICAgICAgIHRoaXMudGltZWxpbmUgPSB0aW1lbGluZTtcbiAgICAgICAgdGhpcy50aW1lbGluZUxvYWRlZCQubmV4dCgpO1xuXG4gICAgICAgIC8vIGZpeCBjbHVzdGVyIHZpc3VhbGl6YXRpb25cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50aW1lbGluZS5maXQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gdGltZW91dCBmb3Igem9vbSBjb250cm9sc1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRpbWVsaW5lQ29udHJvbHNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldEl0ZW1UZW1wbGF0ZShkYXRlc0xhYmVsLCBsYWJlbCkge1xuICAgIHJldHVybiAoYFxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVzXCI+XG4gICAgICAgIDxlbT4ke2RhdGVzTGFiZWx9PC9lbT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj4ke2xhYmVsfTwvZGl2PlxuICAgIGApO1xuICB9XG5cbiAgZ2V0TWF4KCkge1xuICAgIGNvbnN0IG1heERhdGUgPSBuZXcgRGF0ZShfbWF4KHRoaXMuZ2V0QWxsRGF0ZXMoKSkpO1xuXG4gICAgY29uc3QgeWVhciA9IG1heERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IG1heERhdGUuZ2V0TW9udGgoKTtcbiAgICBjb25zdCBkYXkgPSBtYXhEYXRlLmdldERhdGUoKTtcbiAgICByZXR1cm4gbmV3IERhdGUoeWVhciArIFlFQVJTX01BUkdJTiwgbW9udGgsIGRheSk7XG4gIH1cblxuICBnZXRNaW4oKSB7XG4gICAgY29uc3QgbWluRGF0ZSA9IG5ldyBEYXRlKF9taW4odGhpcy5nZXRBbGxEYXRlcygpKSk7XG5cbiAgICBjb25zdCB5ZWFyID0gbWluRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gbWluRGF0ZS5nZXRNb250aCgpO1xuICAgIGNvbnN0IGRheSA9IG1pbkRhdGUuZ2V0RGF0ZSgpO1xuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyIC0gWUVBUlNfTUFSR0lOLCBtb250aCwgZGF5KTtcbiAgfVxuXG4gIGdldEFsbERhdGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi50aGlzLmRhdGFTZXRcbiAgICAgICAgLmZpbHRlcigoeyBzdGFydCB9KSA9PiBzdGFydClcbiAgICAgICAgLm1hcCgoeyBzdGFydCB9KSA9PiBzdGFydCksXG4gICAgICAuLi50aGlzLmRhdGFTZXRcbiAgICAgICAgLmZpbHRlcigoeyBlbmQgfSkgPT4gZW5kKVxuICAgICAgICAubWFwKCh7IGVuZCB9KSA9PiBlbmQpXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -0,0 +1,154 @@
1
+ import { DataSource } from '@n7-frontend/core';
2
+ import { helpers } from '@net7/boilerplate-common';
3
+ export class AwTreeDS extends DataSource {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.transform = (data) => data;
7
+ this._getCachedData = () => AwTreeDS.dataCache[this.rootId];
8
+ this._normalize = ({ id, label, icon, img, branches, document_type: type, document_classification: classification }) => {
9
+ const hasBranches = !!(Array.isArray(branches) && branches.length);
10
+ this._getCachedData().flatData[id] = {
11
+ id, label, icon, img, hasBranches, type, classification
12
+ };
13
+ if (hasBranches) {
14
+ branches.forEach((data) => {
15
+ this._getCachedData().flatIds.push([id, data.id]);
16
+ this._normalize(data);
17
+ });
18
+ }
19
+ };
20
+ this._getParent = (id) => this._getCachedData().flatIds
21
+ .filter(([, childId]) => childId === id)
22
+ .map(([parentId]) => parentId)[0] || null;
23
+ this._getTreePath = (id) => {
24
+ const ids = [id];
25
+ let currentId = id;
26
+ while (currentId) {
27
+ const parentId = this._getParent(currentId);
28
+ if (parentId) {
29
+ ids.push(parentId);
30
+ }
31
+ currentId = parentId;
32
+ }
33
+ return ids.reverse();
34
+ };
35
+ this._getTree = (path) => {
36
+ const tree = {};
37
+ let counter = 0;
38
+ const loadItems = (id, source) => {
39
+ counter += 1;
40
+ const nextParent = path[counter];
41
+ source.items = [];
42
+ this._getCachedData().flatIds
43
+ .filter(([parentId]) => parentId === id)
44
+ .forEach(([, childId], index) => {
45
+ const inPath = childId === nextParent;
46
+ const item = this._getTreeItem(childId, inPath);
47
+ source.items.push(item);
48
+ if (inPath) {
49
+ loadItems(childId, source.items[index]);
50
+ }
51
+ });
52
+ };
53
+ // init
54
+ loadItems(path[0], tree);
55
+ return tree;
56
+ };
57
+ this._getTreeItem = (id, inPath) => {
58
+ const { label, img, hasBranches, type, classification } = this._getCachedData().flatData[id];
59
+ const defaultIcon = (this.options.config[type] || { icon: null }).icon;
60
+ let specificIcon = '';
61
+ const lastSegment = /.*\.(\w+)$/;
62
+ if (classification && lastSegment.test(classification)) {
63
+ const classID = classification
64
+ .match(lastSegment)[1] // get classification characters
65
+ .toUpperCase(); // normalize
66
+ specificIcon = this.options.config[type].classifications[classID].icon;
67
+ }
68
+ const arrowIcons = inPath ? 'n7-icon-angle-down' : 'n7-icon-angle-right';
69
+ const classes = [];
70
+ if (inPath) {
71
+ classes.push('is-expanded');
72
+ }
73
+ if (this.activeId === id) {
74
+ classes.push('is-active');
75
+ }
76
+ return {
77
+ classes: classes.join(' '),
78
+ text: label || null,
79
+ img: img || null,
80
+ icon: (specificIcon || defaultIcon),
81
+ toggle: hasBranches ? {
82
+ icon: arrowIcons,
83
+ payload: {
84
+ source: 'toggle',
85
+ id,
86
+ },
87
+ } : null,
88
+ meta: id,
89
+ anchor: {
90
+ href: `${this.basePath}/${id}/${helpers.slugify(label)}`,
91
+ },
92
+ };
93
+ };
94
+ }
95
+ load(data) {
96
+ const { tree, basePath } = data;
97
+ this.rootId = tree.id;
98
+ this.basePath = basePath;
99
+ // save in cache
100
+ if (!AwTreeDS.dataCache[this.rootId]) {
101
+ AwTreeDS.dataCache[this.rootId] = { flatIds: [], flatData: {} };
102
+ this._normalize(tree);
103
+ }
104
+ }
105
+ build(id) {
106
+ const path = this._getTreePath(id);
107
+ const oldPath = this._getTreePath(this.currentId);
108
+ const oldPathIndex = oldPath.indexOf(id);
109
+ if (oldPathIndex > 0) {
110
+ path.splice(oldPathIndex);
111
+ this.currentId = null;
112
+ }
113
+ else if (this.currentId === id) {
114
+ const idIndex = path.indexOf(this.currentId);
115
+ path.splice(idIndex);
116
+ this.currentId = null;
117
+ }
118
+ else {
119
+ this.currentId = id;
120
+ }
121
+ const tree = this._getTree(path);
122
+ this.update(tree);
123
+ }
124
+ setActive(id) {
125
+ this.activeId = id;
126
+ }
127
+ highlightActive() {
128
+ const control = (items) => {
129
+ items.forEach((item) => {
130
+ const founded = item.meta === this.activeId;
131
+ const hasActive = item.classes.indexOf('is-active') !== -1;
132
+ // clear is-active
133
+ if (hasActive && !founded) {
134
+ const currentClasses = item.classes.split(' ');
135
+ currentClasses.splice(currentClasses.indexOf('is-active'), 1);
136
+ item.classes = currentClasses.join(' ');
137
+ }
138
+ if (founded) {
139
+ const currentClasses = item.classes.split(' ');
140
+ if (currentClasses.indexOf('is-active') === -1) {
141
+ currentClasses.push('is-active');
142
+ }
143
+ item.classes = currentClasses.join(' ');
144
+ }
145
+ if (Array.isArray(item.items) && item.items.length) {
146
+ control(item.items);
147
+ }
148
+ });
149
+ };
150
+ control(this.output.items);
151
+ }
152
+ }
153
+ AwTreeDS.dataCache = {};
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9kYXRhLXNvdXJjZXMvdHJlZS5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxRQUFTLFNBQVEsVUFBVTtJQUF4Qzs7UUFXWSxjQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQztRQWtFN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV0RCxlQUFVLEdBQUcsQ0FBQyxFQUNwQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUM3RixFQUFFLEVBQUU7WUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHO2dCQUNuQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxjQUFjO2FBQ3hELENBQUM7WUFDRixJQUFJLFdBQVcsRUFBRTtnQkFDZixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFBO1FBRU8sZUFBVSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTzthQUN2RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7YUFDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFBO1FBRW5DLGlCQUFZLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUM1QixNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixPQUFPLFNBQVMsRUFBRTtnQkFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDcEI7Z0JBQ0QsU0FBUyxHQUFHLFFBQVEsQ0FBQzthQUN0QjtZQUNELE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQTtRQUVPLGFBQVEsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFFaEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFFbEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU87cUJBQzFCLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUM7cUJBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDOUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxLQUFLLFVBQVUsQ0FBQztvQkFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQ2hELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QixJQUFJLE1BQU0sRUFBRTt3QkFDVixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztxQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7WUFFRixPQUFPO1lBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtRQUVPLGlCQUFZLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxFQUNKLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQzlDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZFLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7WUFDakMsSUFBSSxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDdEQsTUFBTSxPQUFPLEdBQUcsY0FBYztxQkFDM0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztxQkFDdEQsV0FBVyxFQUFFLENBQUMsQ0FBQyxZQUFZO2dCQUM5QixZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN4RTtZQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1lBQ3pFLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMzQjtZQUNELE9BQU87Z0JBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMxQixJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUk7Z0JBQ25CLEdBQUcsRUFBRSxHQUFHLElBQUksSUFBSTtnQkFDaEIsSUFBSSxFQUFFLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQztnQkFDbkMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLElBQUksRUFBRSxVQUFVO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsTUFBTSxFQUFFLFFBQVE7d0JBQ2hCLEVBQUU7cUJBQ0g7aUJBQ0YsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDUixJQUFJLEVBQUUsRUFBRTtnQkFDUixNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtpQkFDekQ7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQW5LUSxJQUFJLENBQUMsSUFBSTtRQUNkLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QyxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN2QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDckI7UUFFRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUUzRCxrQkFBa0I7Z0JBQ2xCLElBQUksU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUN6QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDL0MsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3pDO2dCQUVELElBQUksT0FBTyxFQUFFO29CQUNYLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMvQyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzlDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ2xDO29CQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekM7Z0JBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7O0FBMUVNLGtCQUFTLEdBQVEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuNy1mcm9udGVuZC9jb3JlJztcbmltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQXdUcmVlRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgc3RhdGljIGRhdGFDYWNoZTogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcm9vdElkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjdXJyZW50SWQ6IHN0cmluZztcblxuICBwcml2YXRlIGFjdGl2ZUlkOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIHRyYW5zZm9ybSA9IChkYXRhKSA9PiBkYXRhO1xuXG4gIHB1YmxpYyBsb2FkKGRhdGEpIHtcbiAgICBjb25zdCB7IHRyZWUsIGJhc2VQYXRoIH0gPSBkYXRhO1xuICAgIHRoaXMucm9vdElkID0gdHJlZS5pZDtcbiAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgLy8gc2F2ZSBpbiBjYWNoZVxuICAgIGlmICghQXdUcmVlRFMuZGF0YUNhY2hlW3RoaXMucm9vdElkXSkge1xuICAgICAgQXdUcmVlRFMuZGF0YUNhY2hlW3RoaXMucm9vdElkXSA9IHsgZmxhdElkczogW10sIGZsYXREYXRhOiB7fSB9O1xuICAgICAgdGhpcy5fbm9ybWFsaXplKHRyZWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZChpZCkge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLl9nZXRUcmVlUGF0aChpZCk7XG4gICAgY29uc3Qgb2xkUGF0aCA9IHRoaXMuX2dldFRyZWVQYXRoKHRoaXMuY3VycmVudElkKTtcbiAgICBjb25zdCBvbGRQYXRoSW5kZXggPSBvbGRQYXRoLmluZGV4T2YoaWQpO1xuXG4gICAgaWYgKG9sZFBhdGhJbmRleCA+IDApIHtcbiAgICAgIHBhdGguc3BsaWNlKG9sZFBhdGhJbmRleCk7XG4gICAgICB0aGlzLmN1cnJlbnRJZCA9IG51bGw7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRJZCA9PT0gaWQpIHtcbiAgICAgIGNvbnN0IGlkSW5kZXggPSBwYXRoLmluZGV4T2YodGhpcy5jdXJyZW50SWQpO1xuICAgICAgcGF0aC5zcGxpY2UoaWRJbmRleCk7XG4gICAgICB0aGlzLmN1cnJlbnRJZCA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudElkID0gaWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdHJlZTogYW55ID0gdGhpcy5fZ2V0VHJlZShwYXRoKTtcbiAgICB0aGlzLnVwZGF0ZSh0cmVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmUoaWQpIHtcbiAgICB0aGlzLmFjdGl2ZUlkID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgaGlnaGxpZ2h0QWN0aXZlKCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSAoaXRlbXMpID0+IHtcbiAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgZm91bmRlZCA9IGl0ZW0ubWV0YSA9PT0gdGhpcy5hY3RpdmVJZDtcbiAgICAgICAgY29uc3QgaGFzQWN0aXZlID0gaXRlbS5jbGFzc2VzLmluZGV4T2YoJ2lzLWFjdGl2ZScpICE9PSAtMTtcblxuICAgICAgICAvLyBjbGVhciBpcy1hY3RpdmVcbiAgICAgICAgaWYgKGhhc0FjdGl2ZSAmJiAhZm91bmRlZCkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzc2VzID0gaXRlbS5jbGFzc2VzLnNwbGl0KCcgJyk7XG4gICAgICAgICAgY3VycmVudENsYXNzZXMuc3BsaWNlKGN1cnJlbnRDbGFzc2VzLmluZGV4T2YoJ2lzLWFjdGl2ZScpLCAxKTtcbiAgICAgICAgICBpdGVtLmNsYXNzZXMgPSBjdXJyZW50Q2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm91bmRlZCkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzc2VzID0gaXRlbS5jbGFzc2VzLnNwbGl0KCcgJyk7XG4gICAgICAgICAgaWYgKGN1cnJlbnRDbGFzc2VzLmluZGV4T2YoJ2lzLWFjdGl2ZScpID09PSAtMSkge1xuICAgICAgICAgICAgY3VycmVudENsYXNzZXMucHVzaCgnaXMtYWN0aXZlJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGl0ZW0uY2xhc3NlcyA9IGN1cnJlbnRDbGFzc2VzLmpvaW4oJyAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uaXRlbXMpICYmIGl0ZW0uaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29udHJvbChpdGVtLml0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBjb250cm9sKHRoaXMub3V0cHV0Lml0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENhY2hlZERhdGEgPSAoKSA9PiBBd1RyZWVEUy5kYXRhQ2FjaGVbdGhpcy5yb290SWRdXG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplID0gKHtcbiAgICBpZCwgbGFiZWwsIGljb24sIGltZywgYnJhbmNoZXMsIGRvY3VtZW50X3R5cGU6IHR5cGUsIGRvY3VtZW50X2NsYXNzaWZpY2F0aW9uOiBjbGFzc2lmaWNhdGlvblxuICB9KSA9PiB7XG4gICAgY29uc3QgaGFzQnJhbmNoZXMgPSAhIShBcnJheS5pc0FycmF5KGJyYW5jaGVzKSAmJiBicmFuY2hlcy5sZW5ndGgpO1xuICAgIHRoaXMuX2dldENhY2hlZERhdGEoKS5mbGF0RGF0YVtpZF0gPSB7XG4gICAgICBpZCwgbGFiZWwsIGljb24sIGltZywgaGFzQnJhbmNoZXMsIHR5cGUsIGNsYXNzaWZpY2F0aW9uXG4gICAgfTtcbiAgICBpZiAoaGFzQnJhbmNoZXMpIHtcbiAgICAgIGJyYW5jaGVzLmZvckVhY2goKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5fZ2V0Q2FjaGVkRGF0YSgpLmZsYXRJZHMucHVzaChbaWQsIGRhdGEuaWRdKTtcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFyZW50ID0gKGlkKSA9PiB0aGlzLl9nZXRDYWNoZWREYXRhKCkuZmxhdElkc1xuICAgIC5maWx0ZXIoKFssIGNoaWxkSWRdKSA9PiBjaGlsZElkID09PSBpZClcbiAgICAubWFwKChbcGFyZW50SWRdKSA9PiBwYXJlbnRJZClbMF0gfHwgbnVsbFxuXG4gIHByaXZhdGUgX2dldFRyZWVQYXRoID0gKGlkKSA9PiB7XG4gICAgY29uc3QgaWRzID0gW2lkXTtcbiAgICBsZXQgY3VycmVudElkID0gaWQ7XG4gICAgd2hpbGUgKGN1cnJlbnRJZCkge1xuICAgICAgY29uc3QgcGFyZW50SWQgPSB0aGlzLl9nZXRQYXJlbnQoY3VycmVudElkKTtcbiAgICAgIGlmIChwYXJlbnRJZCkge1xuICAgICAgICBpZHMucHVzaChwYXJlbnRJZCk7XG4gICAgICB9XG4gICAgICBjdXJyZW50SWQgPSBwYXJlbnRJZDtcbiAgICB9XG4gICAgcmV0dXJuIGlkcy5yZXZlcnNlKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUcmVlID0gKHBhdGgpID0+IHtcbiAgICBjb25zdCB0cmVlID0ge307XG4gICAgbGV0IGNvdW50ZXIgPSAwO1xuXG4gICAgY29uc3QgbG9hZEl0ZW1zID0gKGlkLCBzb3VyY2UpID0+IHtcbiAgICAgIGNvdW50ZXIgKz0gMTtcbiAgICAgIGNvbnN0IG5leHRQYXJlbnQgPSBwYXRoW2NvdW50ZXJdO1xuICAgICAgc291cmNlLml0ZW1zID0gW107XG5cbiAgICAgIHRoaXMuX2dldENhY2hlZERhdGEoKS5mbGF0SWRzXG4gICAgICAgIC5maWx0ZXIoKFtwYXJlbnRJZF0pID0+IHBhcmVudElkID09PSBpZClcbiAgICAgICAgLmZvckVhY2goKFssIGNoaWxkSWRdLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGluUGF0aCA9IGNoaWxkSWQgPT09IG5leHRQYXJlbnQ7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuX2dldFRyZWVJdGVtKGNoaWxkSWQsIGluUGF0aCk7XG4gICAgICAgICAgc291cmNlLml0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgaWYgKGluUGF0aCkge1xuICAgICAgICAgICAgbG9hZEl0ZW1zKGNoaWxkSWQsIHNvdXJjZS5pdGVtc1tpbmRleF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIGluaXRcbiAgICBsb2FkSXRlbXMocGF0aFswXSwgdHJlZSk7XG4gICAgcmV0dXJuIHRyZWU7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUcmVlSXRlbSA9IChpZCwgaW5QYXRoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbGFiZWwsIGltZywgaGFzQnJhbmNoZXMsIHR5cGUsIGNsYXNzaWZpY2F0aW9uXG4gICAgfSA9IHRoaXMuX2dldENhY2hlZERhdGEoKS5mbGF0RGF0YVtpZF07XG4gICAgY29uc3QgZGVmYXVsdEljb24gPSAodGhpcy5vcHRpb25zLmNvbmZpZ1t0eXBlXSB8fCB7IGljb246IG51bGwgfSkuaWNvbjtcbiAgICBsZXQgc3BlY2lmaWNJY29uID0gJyc7XG4gICAgY29uc3QgbGFzdFNlZ21lbnQgPSAvLipcXC4oXFx3KykkLztcbiAgICBpZiAoY2xhc3NpZmljYXRpb24gJiYgbGFzdFNlZ21lbnQudGVzdChjbGFzc2lmaWNhdGlvbikpIHtcbiAgICAgIGNvbnN0IGNsYXNzSUQgPSBjbGFzc2lmaWNhdGlvblxuICAgICAgICAubWF0Y2gobGFzdFNlZ21lbnQpWzFdIC8vIGdldCBjbGFzc2lmaWNhdGlvbiBjaGFyYWN0ZXJzXG4gICAgICAgIC50b1VwcGVyQ2FzZSgpOyAvLyBub3JtYWxpemVcbiAgICAgIHNwZWNpZmljSWNvbiA9IHRoaXMub3B0aW9ucy5jb25maWdbdHlwZV0uY2xhc3NpZmljYXRpb25zW2NsYXNzSURdLmljb247XG4gICAgfVxuICAgIGNvbnN0IGFycm93SWNvbnMgPSBpblBhdGggPyAnbjctaWNvbi1hbmdsZS1kb3duJyA6ICduNy1pY29uLWFuZ2xlLXJpZ2h0JztcbiAgICBjb25zdCBjbGFzc2VzID0gW107XG4gICAgaWYgKGluUGF0aCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdpcy1leHBhbmRlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hY3RpdmVJZCA9PT0gaWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnaXMtYWN0aXZlJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjbGFzc2VzOiBjbGFzc2VzLmpvaW4oJyAnKSxcbiAgICAgIHRleHQ6IGxhYmVsIHx8IG51bGwsXG4gICAgICBpbWc6IGltZyB8fCBudWxsLFxuICAgICAgaWNvbjogKHNwZWNpZmljSWNvbiB8fCBkZWZhdWx0SWNvbiksXG4gICAgICB0b2dnbGU6IGhhc0JyYW5jaGVzID8ge1xuICAgICAgICBpY29uOiBhcnJvd0ljb25zLFxuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgc291cmNlOiAndG9nZ2xlJyxcbiAgICAgICAgICBpZCxcbiAgICAgICAgfSxcbiAgICAgIH0gOiBudWxsLFxuICAgICAgbWV0YTogaWQsXG4gICAgICBhbmNob3I6IHtcbiAgICAgICAgaHJlZjogYCR7dGhpcy5iYXNlUGF0aH0vJHtpZH0vJHtoZWxwZXJzLnNsdWdpZnkobGFiZWwpfWAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { EventHandler } from '@n7-frontend/core';
2
+ export class AwAutocompleteWrapperEH extends EventHandler {
3
+ listen() {
4
+ this.innerEvents$.subscribe(({ type, payload }) => {
5
+ switch (type) {
6
+ case 'aw-autocomplete-wrapper.click':
7
+ if (payload !== 'fallback-simple-autocomplete') { // if this is the fallback item, kill the event.
8
+ this.emitOuter('clickresult', payload);
9
+ }
10
+ break;
11
+ default:
12
+ console.warn('unhandled event of type:', type);
13
+ break;
14
+ }
15
+ });
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXdyYXBwZXIuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvYXV0b2NvbXBsZXRlLXdyYXBwZXIuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUFZO0lBQ2hELE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDaEQsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osS0FBSywrQkFBK0I7b0JBQ2xDLElBQUksT0FBTyxLQUFLLDhCQUE4QixFQUFFLEVBQUUsZ0RBQWdEO3dCQUNoRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDeEM7b0JBQ0QsTUFBTTtnQkFDUjtvQkFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMvQyxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50SGFuZGxlciB9IGZyb20gJ0BuNy1mcm9udGVuZC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEF3QXV0b2NvbXBsZXRlV3JhcHBlckVIIGV4dGVuZHMgRXZlbnRIYW5kbGVyIHtcbiAgcHVibGljIGxpc3RlbigpIHtcbiAgICB0aGlzLmlubmVyRXZlbnRzJC5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnYXctYXV0b2NvbXBsZXRlLXdyYXBwZXIuY2xpY2snOlxuICAgICAgICAgIGlmIChwYXlsb2FkICE9PSAnZmFsbGJhY2stc2ltcGxlLWF1dG9jb21wbGV0ZScpIHsgLy8gaWYgdGhpcyBpcyB0aGUgZmFsbGJhY2sgaXRlbSwga2lsbCB0aGUgZXZlbnQuXG4gICAgICAgICAgICB0aGlzLmVtaXRPdXRlcignY2xpY2tyZXN1bHQnLCBwYXlsb2FkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc29sZS53YXJuKCd1bmhhbmRsZWQgZXZlbnQgb2YgdHlwZTonLCB0eXBlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,88 @@
1
+ import { EventHandler } from '@n7-frontend/core';
2
+ import { Subject } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ export class AwFacetsWrapperEH extends EventHandler {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.internalFacetsChange$ = new Subject();
8
+ this.externalFacetsChange$ = new Subject();
9
+ }
10
+ listen() {
11
+ // listen to inner (widget) events
12
+ this.innerEvents$.subscribe(({ type, payload }) => {
13
+ switch (type) {
14
+ case 'facets-wrapper.facet':
15
+ {
16
+ // empty payload control
17
+ if (!payload.eventPayload.inputPayload) {
18
+ return;
19
+ }
20
+ const { facetId, value } = payload.eventPayload.inputPayload;
21
+ if (value === '__loading__') {
22
+ return;
23
+ }
24
+ const input = this.dataSource.getInputByFacetId(facetId);
25
+ const context = input.getContext();
26
+ // update
27
+ this.dataSource.onFacetChange(payload);
28
+ // internal
29
+ if (context === 'internal') {
30
+ this.internalFacetsChange$.next(input.getTarget());
31
+ // external
32
+ }
33
+ else {
34
+ this.externalFacetsChange$.next(facetId);
35
+ }
36
+ }
37
+ break;
38
+ case 'facets-wrapper.facetheader':
39
+ this.dataSource.toggleGroup(payload);
40
+ break;
41
+ default:
42
+ break;
43
+ }
44
+ });
45
+ this.outerEvents$.subscribe(({ type, payload }) => {
46
+ if (type.indexOf('queryparamschange') !== -1 && this.dataSource.searchModel) {
47
+ this.dataSource.updateFiltersFromQueryParams(payload);
48
+ this.dataSource.updateInputsFromFilters();
49
+ }
50
+ });
51
+ // listen to global events
52
+ EventHandler.globalEvents$.subscribe(({ type, payload }) => {
53
+ switch (type) {
54
+ case 'global.searchresponse':
55
+ if (this.dataSource.searchModel && this.dataSource.searchModel.getId() === payload) {
56
+ this.dataSource.updateInputLinks();
57
+ const internalFilters = this.dataSource.searchModel.getInternalFilters();
58
+ internalFilters.forEach((filter) => {
59
+ const input = this.dataSource.searchModel.getInputByFacetId(filter.facetId);
60
+ const target = input.getTarget();
61
+ // this.dataSource.filterTarget(target);
62
+ this.dataSource.updateFilteredTarget(target);
63
+ });
64
+ }
65
+ break;
66
+ default:
67
+ break;
68
+ }
69
+ });
70
+ // internal facets change
71
+ this.externalFacetsChange$.pipe(debounceTime(500)).subscribe((facetId) => {
72
+ const requestParams = this.dataSource.getRequestParams();
73
+ const queryParams = this.dataSource.filtersAsQueryParams(requestParams.filters);
74
+ Object.keys(queryParams).forEach((key) => { queryParams[key] = queryParams[key] || null; });
75
+ // signal
76
+ this.emitOuter('facetschange', { facetId });
77
+ // reset page
78
+ queryParams.page = 1;
79
+ // router signal
80
+ this.emitGlobal('navigate', {
81
+ handler: 'router',
82
+ path: [],
83
+ queryParams,
84
+ });
85
+ });
86
+ }
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXctZmFjZXRzLXdyYXBwZXIuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvZXZlbnQtaGFuZGxlcnMvYXctZmFjZXRzLXdyYXBwZXIuZWgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxZQUFZO0lBQW5EOztRQUNTLDBCQUFxQixHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXBELDBCQUFxQixHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBMkY3RCxDQUFDO0lBekZRLE1BQU07UUFDWCxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2hELFFBQVEsSUFBSSxFQUFFO2dCQUNaLEtBQUssc0JBQXNCO29CQUFFO3dCQUMzQix3QkFBd0I7d0JBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRTs0QkFDdEMsT0FBTzt5QkFDUjt3QkFDRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO3dCQUM3RCxJQUFJLEtBQUssS0FBSyxhQUFhLEVBQUU7NEJBQzNCLE9BQU87eUJBQ1I7d0JBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDekQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFB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QVMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRTVDLGFBQWE7WUFDYixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUVyQixnQkFBZ0I7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7Z0JBQzFCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixJQUFJLEVBQUUsRUFBRTtnQkFDUixXQUFXO2FBQ1osQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBBd0ZhY2V0c1dyYXBwZXJFSCBleHRlbmRzIEV2ZW50SGFuZGxlciB7XG4gIHB1YmxpYyBpbnRlcm5hbEZhY2V0c0NoYW5nZSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIGV4dGVybmFsRmFjZXRzQ2hhbmdlJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwdWJsaWMgbGlzdGVuKCkge1xuICAgIC8vIGxpc3RlbiB0byBpbm5lciAod2lkZ2V0KSBldmVudHNcbiAgICB0aGlzLmlubmVyRXZlbnRzJC5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnZmFjZXRzLXdyYXBwZXIuZmFjZXQnOiB7XG4gICAgICAgICAgLy8gZW1wdHkgcGF5bG9hZCBjb250cm9sXG4gICAgICAgICAgaWYgKCFwYXlsb2FkLmV2ZW50UGF5bG9hZC5pbnB1dFBheWxvYWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgeyBmYWNldElkLCB2YWx1ZSB9ID0gcGF5bG9hZC5ldmVudFBheWxvYWQuaW5wdXRQYXlsb2FkO1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJ19fbG9hZGluZ19fJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZGF0YVNvdXJjZS5nZXRJbnB1dEJ5RmFjZXRJZChmYWNldElkKTtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gaW5wdXQuZ2V0Q29udGV4dCgpO1xuXG4gICAgICAgICAgLy8gdXBkYXRlXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLm9uRmFjZXRDaGFuZ2UocGF5bG9hZCk7XG5cbiAgICAgICAgICAvLyBpbnRlcm5hbFxuICAgICAgICAgIGlmIChjb250ZXh0ID09PSAnaW50ZXJuYWwnKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFsRmFjZXRzQ2hhbmdlJC5uZXh0KGlucHV0LmdldFRhcmdldCgpKTtcbiAgICAgICAgICAgIC8vIGV4dGVybmFsXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxGYWNldHNDaGFuZ2UkLm5leHQoZmFjZXRJZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZmFjZXRzLXdyYXBwZXIuZmFjZXRoZWFkZXInOlxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS50b2dnbGVHcm91cChwYXlsb2FkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vdXRlckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgaWYgKHR5cGUuaW5kZXhPZigncXVlcnlwYXJhbXNjaGFuZ2UnKSAhPT0gLTEgJiYgdGhpcy5kYXRhU291cmNlLnNlYXJjaE1vZGVsKSB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS51cGRhdGVGaWx0ZXJzRnJvbVF1ZXJ5UGFyYW1zKHBheWxvYWQpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UudXBkYXRlSW5wdXRzRnJvbUZpbHRlcnMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGxpc3RlbiB0byBnbG9iYWwgZXZlbnRzXG4gICAgRXZlbnRIYW5kbGVyLmdsb2JhbEV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2dsb2JhbC5zZWFyY2hyZXNwb25zZSc6XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5zZWFyY2hNb2RlbCAmJiB0aGlzLmRhdGFTb3VyY2Uuc2VhcmNoTW9kZWwuZ2V0SWQoKSA9PT0gcGF5bG9hZCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnVwZGF0ZUlucHV0TGlua3MoKTtcbiAgICAgICAgICAgIGNvbnN0IGludGVybmFsRmlsdGVycyA9IHRoaXMuZGF0YVNvdXJjZS5zZWFyY2hNb2RlbC5nZXRJbnRlcm5hbEZpbHRlcnMoKTtcblxuICAgICAgICAgICAgaW50ZXJuYWxGaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZGF0YVNvdXJjZS5zZWFyY2hNb2RlbC5nZXRJbnB1dEJ5RmFjZXRJZChmaWx0ZXIuZmFjZXRJZCk7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGlucHV0LmdldFRhcmdldCgpO1xuICAgICAgICAgICAgICAvLyB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyVGFyZ2V0KHRhcmdldCk7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS51cGRhdGVGaWx0ZXJlZFRhcmdldCh0YXJnZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBpbnRlcm5hbCBmYWNldHMgY2hhbmdlXG4gICAgdGhpcy5leHRlcm5hbEZhY2V0c0NoYW5nZSQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICkuc3Vic2NyaWJlKChmYWNldElkKSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5kYXRhU291cmNlLmdldFJlcXVlc3RQYXJhbXMoKTtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5kYXRhU291cmNlLmZpbHRlcnNBc1F1ZXJ5UGFyYW1zKHJlcXVlc3RQYXJhbXMuZmlsdGVycyk7XG5cbiAgICAgIE9iamVjdC5rZXlzKHF1ZXJ5UGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHsgcXVlcnlQYXJhbXNba2V5XSA9IHF1ZXJ5UGFyYW1zW2tleV0gfHwgbnVsbDsgfSk7XG4gICAgICAvLyBzaWduYWxcbiAgICAgIHRoaXMuZW1pdE91dGVyKCdmYWNldHNjaGFuZ2UnLCB7IGZhY2V0SWQgfSk7XG5cbiAgICAgIC8vIHJlc2V0IHBhZ2VcbiAgICAgIHF1ZXJ5UGFyYW1zLnBhZ2UgPSAxO1xuXG4gICAgICAvLyByb3V0ZXIgc2lnbmFsXG4gICAgICB0aGlzLmVtaXRHbG9iYWwoJ25hdmlnYXRlJywge1xuICAgICAgICBoYW5kbGVyOiAncm91dGVyJyxcbiAgICAgICAgcGF0aDogW10sXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,98 @@
1
+ import { EventHandler } from '@n7-frontend/core';
2
+ export class AwBubbleChartEH extends EventHandler {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.initialLoad = false;
6
+ this.toggleSelection = (id) => {
7
+ /*
8
+ Expects the ID of a bubble.
9
+ Updates the graph with a new request
10
+ */
11
+ this.dataSource.handleBubbleClick(id);
12
+ this.emitOuter('selection', this.dataSource.selected);
13
+ };
14
+ this.toggleFilter = (f) => {
15
+ /*
16
+ Toggle the clicked eye-filter in the filteres array and
17
+ redraw the graph.
18
+ */
19
+ if (this.dataSource.filters.includes(f)) {
20
+ this.dataSource.filters.splice(this.dataSource.filters.indexOf(f), 1);
21
+ }
22
+ else {
23
+ this.dataSource.filters.push(f);
24
+ }
25
+ this.dataSource.updateChart(null); // null means "reuse the last response"
26
+ };
27
+ }
28
+ listen() {
29
+ this.innerEvents$.subscribe(({ type, payload }) => {
30
+ switch (type) {
31
+ case 'aw-bubble-chart.click':
32
+ if (this.dataSource.options.selectable !== false) {
33
+ this.toggleSelection(payload);
34
+ }
35
+ this.emitOuter('lockfilter', this.dataSource.chartData.find((el) => payload === el.entity.id));
36
+ break;
37
+ case 'aw-bubble-chart.d3end':
38
+ { // end of d3.js draw()
39
+ let filteredChartData;
40
+ // apply filters to the data before adding tooltips
41
+ if (this.dataSource.filters.length > 0) {
42
+ filteredChartData = this.dataSource.chartData.filter((el) => !this.dataSource.filters.includes(el.entity.typeOfEntity.replace(/ /g, '-')));
43
+ }
44
+ else {
45
+ filteredChartData = this.dataSource.chartData;
46
+ }
47
+ this.emitOuter('d3end', {
48
+ bubbles: this.dataSource.smartSlice(filteredChartData),
49
+ selected: this.dataSource.selected,
50
+ });
51
+ }
52
+ break;
53
+ default:
54
+ console.warn('unhandled inner event of type', type, 'with payload', payload);
55
+ break;
56
+ }
57
+ });
58
+ this.outerEvents$.subscribe(({ type, payload }) => {
59
+ switch (type) {
60
+ case 'aw-home-layout.select':
61
+ {
62
+ const { id } = payload;
63
+ this.toggleSelection(id);
64
+ const foundBubble = this.dataSource.chartData.find((el) => id === el.entity.id);
65
+ if (foundBubble) {
66
+ this.emitOuter('lockfilter', foundBubble);
67
+ }
68
+ else {
69
+ console.warn('Unable to determine which bubble was selected.');
70
+ }
71
+ }
72
+ break;
73
+ case 'aw-home-layout.tagclick':
74
+ this.toggleSelection(payload);
75
+ break;
76
+ case 'aw-home-layout.facetclick':
77
+ if (!this.dataSource.selected.includes(payload)) {
78
+ this.toggleSelection(payload);
79
+ }
80
+ break;
81
+ case 'aw-home-layout.togglefilter':
82
+ this.toggleFilter(payload);
83
+ break;
84
+ case 'aw-home-layout.clearselection':
85
+ this.dataSource.selected = [];
86
+ this.emitOuter('selection', []);
87
+ break;
88
+ case 'aw-entita-layout.filterbubbleresponse':
89
+ case 'aw-home-layout.filterbubbleresponse':
90
+ this.dataSource.updateChart(payload);
91
+ break;
92
+ default:
93
+ break;
94
+ }
95
+ });
96
+ }
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLWNoYXJ0LmVoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtYXJpYW5uYS9zcmMvbGliL2V2ZW50LWhhbmRsZXJzL2J1YmJsZS1jaGFydC5laC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQUFqRDs7UUFDUyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQW1FM0Isb0JBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCOzs7Y0FHRTtZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUE7UUFFRCxpQkFBWSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkI7OztjQUdFO1lBQ0YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7UUFDNUUsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQXRGUSxNQUFNO1FBQ1gsSUFBSSxD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O29CQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMzQixNQUFNO2dCQUNSLEtBQUssK0JBQStCO29CQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNoQyxNQUFNO2dCQUNSLEtBQUssdUNBQXVDLENBQUM7Z0JBQzdDLEtBQUsscUNBQXFDO29CQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDckMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0F1QkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBd0J1YmJsZUNoYXJ0RUggZXh0ZW5kcyBFdmVudEhhbmRsZXIge1xuICBwdWJsaWMgaW5pdGlhbExvYWQgPSBmYWxzZTtcblxuICBwdWJsaWMgbGlzdGVuKCkge1xuICAgIHRoaXMuaW5uZXJFdmVudHMkLnN1YnNjcmliZSgoeyB0eXBlLCBwYXlsb2FkIH0pID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdhdy1idWJibGUtY2hhcnQuY2xpY2snOlxuICAgICAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2Uub3B0aW9ucy5zZWxlY3RhYmxlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3Rpb24ocGF5bG9hZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZW1pdE91dGVyKCdsb2NrZmlsdGVyJywgdGhpcy5kYXRhU291cmNlLmNoYXJ0RGF0YS5maW5kKChlbCkgPT4gcGF5bG9hZCA9PT0gZWwuZW50aXR5LmlkKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2F3LWJ1YmJsZS1jaGFydC5kM2VuZCc6IHsgLy8gZW5kIG9mIGQzLmpzIGRyYXcoKVxuICAgICAgICAgIGxldCBmaWx0ZXJlZENoYXJ0RGF0YTtcbiAgICAgICAgICAvLyBhcHBseSBmaWx0ZXJzIHRvIHRoZSBkYXRhIGJlZm9yZSBhZGRpbmcgdG9vbHRpcHNcbiAgICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlLmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmlsdGVyZWRDaGFydERhdGEgPSB0aGlzLmRhdGFTb3VyY2UuY2hhcnREYXRhLmZpbHRlcigoZWwpID0+ICF0aGlzLmRhdGFTb3VyY2UuZmlsdGVycy5pbmNsdWRlcyhlbC5lbnRpdHkudHlwZU9mRW50aXR5LnJlcGxhY2UoLyAvZywgJy0nKSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJlZENoYXJ0RGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5jaGFydERhdGE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZW1pdE91dGVyKCdkM2VuZCcsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRoaXMuZGF0YVNvdXJjZS5zbWFydFNsaWNlKGZpbHRlcmVkQ2hhcnREYXRhKSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLmRhdGFTb3VyY2Uuc2VsZWN0ZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc29sZS53YXJuKCd1bmhhbmRsZWQgaW5uZXIgZXZlbnQgb2YgdHlwZScsIHR5cGUsICd3aXRoIHBheWxvYWQnLCBwYXlsb2FkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMub3V0ZXJFdmVudHMkLnN1YnNjcmliZSgoeyB0eXBlLCBwYXlsb2FkIH0pID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdhdy1ob21lLWxheW91dC5zZWxlY3QnOiB7XG4gICAgICAgICAgY29uc3QgeyBpZCB9ID0gcGF5bG9hZDtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdGlvbihpZCk7XG4gICAgICAgICAgY29uc3QgZm91bmRCdWJibGUgPSB0aGlzLmRhdGFTb3VyY2UuY2hhcnREYXRhLmZpbmQoKGVsKSA9PiBpZCA9PT0gZWwuZW50aXR5LmlkKTtcbiAgICAgICAgICBpZiAoZm91bmRCdWJibGUpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdE91dGVyKCdsb2NrZmlsdGVyJywgZm91bmRCdWJibGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1VuYWJsZSB0byBkZXRlcm1pbmUgd2hpY2ggYnViYmxlIHdhcyBzZWxlY3RlZC4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gYnJlYWs7XG4gICAgICAgIGNhc2UgJ2F3LWhvbWUtbGF5b3V0LnRhZ2NsaWNrJzpcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdGlvbihwYXlsb2FkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXctaG9tZS1sYXlvdXQuZmFjZXRjbGljayc6XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2Uuc2VsZWN0ZWQuaW5jbHVkZXMocGF5bG9hZCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0aW9uKHBheWxvYWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXctaG9tZS1sYXlvdXQudG9nZ2xlZmlsdGVyJzpcbiAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRlcihwYXlsb2FkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXctaG9tZS1sYXlvdXQuY2xlYXJzZWxlY3Rpb24nOlxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZWxlY3RlZCA9IFtdO1xuICAgICAgICAgIHRoaXMuZW1pdE91dGVyKCdzZWxlY3Rpb24nLCBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2F3LWVudGl0YS1sYXlvdXQuZmlsdGVyYnViYmxlcmVzcG9uc2UnOlxuICAgICAgICBjYXNlICdhdy1ob21lLWxheW91dC5maWx0ZXJidWJibGVyZXNwb25zZSc6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnVwZGF0ZUNoYXJ0KHBheWxvYWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uID0gKGlkKSA9PiB7XG4gICAgLypcbiAgICAgIEV4cGVjdHMgdGhlIElEIG9mIGEgYnViYmxlLlxuICAgICAgVXBkYXRlcyB0aGUgZ3JhcGggd2l0aCBhIG5ldyByZXF1ZXN0XG4gICAgKi9cbiAgICB0aGlzLmRhdGFTb3VyY2UuaGFuZGxlQnViYmxlQ2xpY2soaWQpO1xuICAgIHRoaXMuZW1pdE91dGVyKCdzZWxlY3Rpb24nLCB0aGlzLmRhdGFTb3VyY2Uuc2VsZWN0ZWQpO1xuICB9XG5cbiAgdG9nZ2xlRmlsdGVyID0gKGYpID0+IHtcbiAgICAvKlxuICAgICAgVG9nZ2xlIHRoZSBjbGlja2VkIGV5ZS1maWx0ZXIgaW4gdGhlIGZpbHRlcmVzIGFycmF5IGFuZFxuICAgICAgcmVkcmF3IHRoZSBncmFwaC5cbiAgICAqL1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UuZmlsdGVycy5pbmNsdWRlcyhmKSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcnMuc3BsaWNlKHRoaXMuZGF0YVNvdXJjZS5maWx0ZXJzLmluZGV4T2YoZiksIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVycy5wdXNoKGYpO1xuICAgIH1cbiAgICB0aGlzLmRhdGFTb3VyY2UudXBkYXRlQ2hhcnQobnVsbCk7IC8vIG51bGwgbWVhbnMgXCJyZXVzZSB0aGUgbGFzdCByZXNwb25zZVwiXG4gIH1cbn1cbiJdfQ==