geonetwork-ui 2.3.0-dev.c3722986 → 2.3.0-dev.cc25794c

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 (418) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +6 -2
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +2 -2
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  5. package/esm2022/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.mjs +1 -1
  6. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +12 -1
  7. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +36 -3
  8. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +21 -7
  9. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  10. package/esm2022/libs/common/domain/src/lib/model/record/user-feedbacks.model.mjs +2 -0
  11. package/esm2022/libs/common/domain/src/lib/model/user/index.mjs +2 -0
  12. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  13. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  14. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +35 -2
  15. package/esm2022/libs/feature/editor/src/index.mjs +2 -2
  16. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +6 -2
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +11 -0
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +28 -0
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +64 -0
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +11 -0
  21. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +15 -0
  22. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +45 -0
  23. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +50 -0
  24. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +11 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +11 -0
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +104 -0
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +126 -0
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +2 -0
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +10 -0
  30. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +29 -0
  31. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  32. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +10 -10
  33. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +23 -1
  34. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +1 -1
  35. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +3 -3
  36. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +73 -20
  37. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  38. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  39. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +1 -1
  40. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +58 -17
  41. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +6 -2
  42. package/esm2022/libs/feature/notifications/src/index.mjs +4 -0
  43. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +18 -0
  44. package/esm2022/libs/feature/notifications/src/lib/notification.model.mjs +2 -0
  45. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +49 -0
  46. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +29 -0
  47. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  48. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +4 -4
  49. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +7 -4
  50. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +22 -4
  51. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +37 -10
  52. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +22 -7
  53. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +50 -17
  54. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +18 -3
  55. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +2 -2
  56. package/esm2022/libs/feature/search/src/index.mjs +2 -1
  57. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +1 -1
  58. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +3 -3
  59. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +1 -1
  60. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +1 -1
  61. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +1 -1
  62. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +3 -3
  63. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +1 -1
  64. package/esm2022/libs/ui/elements/src/index.mjs +15 -15
  65. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -2
  66. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +2 -2
  67. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  68. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +16 -3
  69. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +45 -0
  70. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +34 -0
  71. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +98 -36
  72. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -7
  73. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +59 -0
  74. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +60 -0
  75. package/esm2022/libs/ui/inputs/src/index.mjs +16 -16
  76. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -3
  77. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +22 -0
  78. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +7 -5
  79. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +19 -8
  80. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +29 -0
  81. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +27 -4
  82. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +21 -3
  83. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +14 -30
  84. package/esm2022/libs/ui/layout/src/index.mjs +7 -5
  85. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +76 -0
  86. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +42 -18
  87. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +18 -0
  88. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +3 -8
  89. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +3 -1
  90. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  91. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  92. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -2
  93. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +22 -1
  94. package/esm2022/translations/de.json +31 -0
  95. package/esm2022/translations/en.json +31 -0
  96. package/esm2022/translations/es.json +31 -0
  97. package/esm2022/translations/fr.json +31 -0
  98. package/esm2022/translations/it.json +31 -0
  99. package/esm2022/translations/nl.json +31 -0
  100. package/esm2022/translations/pt.json +31 -0
  101. package/fesm2022/geonetwork-ui.mjs +3099 -1806
  102. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  103. package/index.d.ts +1 -0
  104. package/index.d.ts.map +1 -1
  105. package/index.ts +1 -0
  106. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  107. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  108. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts +1 -0
  109. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts.map +1 -1
  110. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts +1 -0
  111. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts.map +1 -1
  112. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +6 -2
  113. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  114. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -6
  115. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  116. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  117. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  118. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts +15 -0
  119. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts.map +1 -0
  120. package/libs/common/domain/src/lib/model/user/index.d.ts +2 -0
  121. package/libs/common/domain/src/lib/model/user/index.d.ts.map +1 -0
  122. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -0
  123. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  124. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
  125. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  126. package/libs/feature/editor/src/index.d.ts +1 -1
  127. package/libs/feature/editor/src/index.d.ts.map +1 -1
  128. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +8 -5
  129. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  130. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.d.ts +1 -1
  131. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.d.ts.map +1 -0
  132. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.d.ts +1 -1
  133. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.d.ts.map +1 -0
  134. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +39 -0
  135. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -0
  136. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.d.ts +1 -1
  137. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.d.ts.map +1 -0
  138. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +8 -0
  139. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -0
  140. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +16 -0
  141. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -0
  142. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.d.ts +2 -2
  143. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -0
  144. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +1 -1
  145. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -0
  146. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +1 -1
  147. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +1 -0
  148. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +21 -0
  149. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -0
  150. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.component.d.ts +13 -4
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -0
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +1 -0
  153. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -0
  154. package/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.d.ts +3 -3
  155. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -0
  156. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +1 -1
  157. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  158. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  159. package/libs/feature/editor/src/lib/models/fields.model.d.ts +1 -1
  160. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +10 -5
  161. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  162. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +7 -0
  163. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  164. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -1
  165. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  166. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  167. package/libs/feature/notifications/src/index.d.ts +4 -0
  168. package/libs/feature/notifications/src/index.d.ts.map +1 -0
  169. package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts +7 -0
  170. package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts.map +1 -0
  171. package/libs/feature/notifications/src/lib/notification.model.d.ts +7 -0
  172. package/libs/feature/notifications/src/lib/notification.model.d.ts.map +1 -0
  173. package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts +12 -0
  174. package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts.map +1 -0
  175. package/libs/feature/notifications/src/lib/notifications.service.d.ts +15 -0
  176. package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -0
  177. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  178. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  179. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +40 -6
  180. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  181. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +24 -4
  182. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  183. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +14 -4
  184. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  185. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +8 -5
  186. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  187. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +12 -9
  188. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  189. package/libs/feature/search/src/index.d.ts +1 -0
  190. package/libs/feature/search/src/index.d.ts.map +1 -1
  191. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +3 -3
  192. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  193. package/libs/ui/elements/src/index.d.ts +14 -14
  194. package/libs/ui/elements/src/index.d.ts.map +1 -1
  195. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  196. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  197. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +3 -1
  198. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  199. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +13 -0
  200. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -0
  201. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +13 -0
  202. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -0
  203. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +24 -4
  204. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  205. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +16 -15
  206. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  207. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +11 -0
  208. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +1 -0
  209. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +21 -0
  210. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -0
  211. package/libs/ui/inputs/src/index.d.ts +15 -15
  212. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  213. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +1 -1
  214. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  215. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +9 -0
  216. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -0
  217. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +1 -1
  218. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  219. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +2 -1
  220. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  221. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +12 -0
  222. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  223. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +7 -1
  224. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  225. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +5 -1
  226. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  227. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -43
  228. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  229. package/libs/ui/layout/src/index.d.ts +6 -4
  230. package/libs/ui/layout/src/index.d.ts.map +1 -1
  231. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +25 -0
  232. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -0
  233. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +13 -6
  234. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  235. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +8 -0
  236. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -0
  237. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +4 -5
  238. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  239. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  240. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  241. package/libs/util/app-config/src/lib/model.d.ts +1 -0
  242. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  243. package/libs/util/shared/src/lib/links/link-utils.d.ts +18 -0
  244. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  245. package/package.json +2 -2
  246. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +7 -1
  247. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -1
  248. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +1 -4
  249. package/src/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.ts +1 -0
  250. package/src/libs/api/repository/src/lib/gn4/auth/gravatar.service.ts +12 -1
  251. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +51 -1
  252. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +40 -7
  253. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  254. package/src/libs/common/domain/src/lib/model/record/user-feedbacks.model.ts +15 -0
  255. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -0
  256. package/src/libs/common/fixtures/src/index.ts +8 -6
  257. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +8 -0
  258. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
  259. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +83 -0
  260. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +51 -1
  261. package/src/libs/feature/editor/src/index.ts +1 -1
  262. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +8 -1
  263. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.ts +1 -0
  264. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.ts +4 -1
  265. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +8 -0
  266. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +64 -0
  267. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.ts +1 -0
  268. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +4 -0
  269. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +15 -0
  270. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +20 -0
  271. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +44 -0
  272. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.ts +4 -1
  273. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +1 -0
  274. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +1 -0
  275. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +0 -0
  276. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +14 -0
  277. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +143 -0
  278. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.css +0 -0
  279. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +97 -0
  280. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +142 -0
  281. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.css +0 -0
  282. package/src/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.html +1 -0
  283. package/src/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.ts +4 -4
  284. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +9 -9
  285. package/src/libs/feature/editor/src/lib/fields.config.ts +22 -0
  286. package/src/libs/feature/editor/src/lib/models/fields.model.ts +1 -1
  287. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +1 -1
  288. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +7 -0
  289. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +32 -18
  290. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +72 -17
  291. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +7 -0
  292. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +57 -17
  293. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +5 -1
  294. package/src/libs/feature/notifications/src/index.ts +3 -0
  295. package/src/libs/feature/notifications/src/lib/feature-notifications.module.ts +10 -0
  296. package/src/libs/feature/notifications/src/lib/notification.model.ts +6 -0
  297. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.css +0 -0
  298. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.html +17 -0
  299. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.ts +44 -0
  300. package/src/libs/feature/notifications/src/lib/notifications.service.ts +27 -0
  301. package/src/libs/feature/record/src/lib/feature-record.module.ts +5 -2
  302. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -5
  303. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +51 -6
  304. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +82 -7
  305. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +48 -8
  306. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +79 -24
  307. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +40 -10
  308. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  309. package/src/libs/feature/search/src/index.ts +1 -0
  310. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +3 -3
  311. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -2
  312. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +5 -5
  313. package/src/libs/ui/elements/src/index.ts +14 -14
  314. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +2 -1
  315. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +1 -1
  316. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  317. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +38 -20
  318. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +12 -0
  319. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +0 -5
  320. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +0 -21
  321. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -14
  322. package/src/libs/ui/elements/src/lib/notification/notification.component.css +0 -0
  323. package/src/libs/ui/elements/src/lib/notification/notification.component.html +52 -0
  324. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +31 -0
  325. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +27 -11
  326. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +125 -30
  327. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +5 -2
  328. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +54 -0
  329. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.css +0 -0
  330. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +75 -0
  331. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +62 -0
  332. package/src/libs/ui/inputs/src/index.ts +15 -15
  333. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -0
  334. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +3 -0
  335. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +11 -0
  336. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +16 -0
  337. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +8 -1
  338. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -0
  339. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +14 -0
  340. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.css +6 -0
  341. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +26 -0
  342. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +32 -0
  343. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
  344. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +29 -0
  345. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +2 -1
  346. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +17 -1
  347. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -22
  348. package/src/libs/ui/layout/src/index.ts +6 -4
  349. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +23 -0
  350. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +20 -0
  351. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +84 -0
  352. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +8 -4
  353. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -4
  354. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +45 -15
  355. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.css +0 -0
  356. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +18 -0
  357. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +16 -0
  358. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -2
  359. package/src/libs/util/app-config/src/lib/app-config.ts +2 -0
  360. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  361. package/src/libs/util/app-config/src/lib/model.ts +1 -0
  362. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +1 -1
  363. package/src/libs/util/shared/src/lib/links/link-utils.ts +21 -0
  364. package/tailwind.base.css +36 -0
  365. package/translations/de.json +31 -0
  366. package/translations/en.json +31 -0
  367. package/translations/es.json +31 -0
  368. package/translations/fr.json +31 -0
  369. package/translations/it.json +31 -0
  370. package/translations/nl.json +31 -0
  371. package/translations/pt.json +31 -0
  372. package/translations/sk.json +31 -0
  373. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +0 -30
  374. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.mjs +0 -11
  375. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.mjs +0 -27
  376. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.mjs +0 -11
  377. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.mjs +0 -27
  378. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.mjs +0 -49
  379. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +0 -11
  380. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  381. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +0 -76
  382. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +0 -2
  383. package/esm2022/libs/ui/inputs/src/lib/form-field/index.mjs +0 -10
  384. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +0 -1
  385. package/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.d.ts.map +0 -1
  386. package/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.d.ts.map +0 -1
  387. package/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.d.ts.map +0 -1
  388. package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts +0 -11
  389. package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts.map +0 -1
  390. package/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.d.ts.map +0 -1
  391. package/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +0 -1
  392. package/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  393. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +0 -1
  394. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +0 -1
  395. package/libs/ui/inputs/src/lib/form-field/index.d.ts.map +0 -1
  396. package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.html +0 -11
  397. package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.ts +0 -15
  398. package/src/libs/ui/inputs/src/lib/form-field/form-field.component.html +0 -68
  399. package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +0 -80
  400. /package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.d.ts +0 -0
  401. /package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.d.ts +0 -0
  402. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.css +0 -0
  403. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.html +0 -0
  404. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.css +0 -0
  405. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.html +0 -0
  406. /package/src/libs/feature/editor/src/lib/{record-form/record-form.component.css → components/record-form/form-field/form-field-license/form-field-license.component.css} +0 -0
  407. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.css +0 -0
  408. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.html +0 -0
  409. /package/src/libs/{ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css} +0 -0
  410. /package/src/libs/{ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.css} +0 -0
  411. /package/src/libs/{ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.css} +0 -0
  412. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.html +0 -0
  413. /package/src/libs/{ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.css} +0 -0
  414. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -0
  415. /package/src/libs/{ui/inputs/src/lib/form-field/form-field.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css} +0 -0
  416. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -0
  417. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.ts +0 -0
  418. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.ts +0 -0
@@ -0,0 +1,4 @@
1
+ export * from './lib/feature-notifications.module';
2
+ export * from './lib/notifications.service';
3
+ export * from './lib/notifications-container/notifications-container.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbm90aWZpY2F0aW9ucy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsaUVBQWlFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW5vdGlmaWNhdGlvbnMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9ucy1jb250YWluZXIvbm90aWZpY2F0aW9ucy1jb250YWluZXIuY29tcG9uZW50J1xuIl19
@@ -0,0 +1,18 @@
1
+ import { NotificationsService } from './notifications.service';
2
+ import { NgModule } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class FeatureNotificationsModule {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FeatureNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: FeatureNotificationsModule }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FeatureNotificationsModule, providers: [NotificationsService] }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FeatureNotificationsModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ declarations: [],
13
+ exports: [],
14
+ imports: [],
15
+ providers: [NotificationsService],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1ub3RpZmljYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9ub3RpZmljYXRpb25zL3NyYy9saWIvZmVhdHVyZS1ub3RpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQVF4QyxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLGFBRjFCLENBQUMsb0JBQW9CLENBQUM7OzJGQUV0QiwwQkFBMEI7a0JBTnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zLnNlcnZpY2UnXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBpbXBvcnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbTm90aWZpY2F0aW9uc1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTm90aWZpY2F0aW9uc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQ29udGVudCB7XG4gIHR5cGU6ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcydcbiAgdGl0bGU6IHN0cmluZ1xuICB0ZXh0OiBzdHJpbmdcbiAgY2xvc2VNZXNzYWdlPzogc3RyaW5nXG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NotificationsService } from '../notifications.service';
4
+ import { NotificationComponent } from '../../../../../../libs/ui/elements/src';
5
+ import { animate, keyframes, style, transition, trigger, } from '@angular/animations';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../notifications.service";
8
+ import * as i2 from "@angular/common";
9
+ export class NotificationsContainerComponent {
10
+ constructor(notificationsService) {
11
+ this.notificationsService = notificationsService;
12
+ }
13
+ trackById(index, notification) {
14
+ return notification.id;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NotificationsContainerComponent, deps: [{ token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NotificationsContainerComponent, isStandalone: true, selector: "gn-ui-notifications-container", ngImport: i0, template: "<div class=\"flex flex-col gap-6 p-6 items-start pointer-events-none\">\n <gn-ui-notification\n *ngFor=\"\n let notification of notificationsService.notifications$ | async;\n trackBy: trackById\n \"\n class=\"max-w-full pointer-events-auto\"\n [text]=\"notification.text\"\n [type]=\"notification.type\"\n [title]=\"notification.title\"\n [closeMessage]=\"notification.closeMessage\"\n (notificationClose)=\"\n notificationsService.removeNotificationById(notification.id)\n \"\n [@enterExit]\n ></gn-ui-notification>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: NotificationComponent, selector: "gn-ui-notification", inputs: ["type", "title", "text", "closeMessage"], outputs: ["notificationClose"] }], animations: [
18
+ trigger('enterExit', [
19
+ transition(':enter', [
20
+ animate('150ms', keyframes([
21
+ style({ transform: 'scale(1)', opacity: 0 }),
22
+ style({ transform: 'scale(1.03)', opacity: 0.5 }),
23
+ style({ transform: 'scale(1)', opacity: 1 }),
24
+ ])),
25
+ ]),
26
+ transition(':leave', [
27
+ animate('200ms', style({ transform: 'translateX(50px)', opacity: 0 })),
28
+ ]),
29
+ ]),
30
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NotificationsContainerComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'gn-ui-notifications-container', standalone: true, imports: [CommonModule, NotificationComponent], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
35
+ trigger('enterExit', [
36
+ transition(':enter', [
37
+ animate('150ms', keyframes([
38
+ style({ transform: 'scale(1)', opacity: 0 }),
39
+ style({ transform: 'scale(1.03)', opacity: 0.5 }),
40
+ style({ transform: 'scale(1)', opacity: 1 }),
41
+ ])),
42
+ ]),
43
+ transition(':leave', [
44
+ animate('200ms', style({ transform: 'translateX(50px)', opacity: 0 })),
45
+ ]),
46
+ ]),
47
+ ], template: "<div class=\"flex flex-col gap-6 p-6 items-start pointer-events-none\">\n <gn-ui-notification\n *ngFor=\"\n let notification of notificationsService.notifications$ | async;\n trackBy: trackById\n \"\n class=\"max-w-full pointer-events-auto\"\n [text]=\"notification.text\"\n [type]=\"notification.type\"\n [title]=\"notification.title\"\n [closeMessage]=\"notification.closeMessage\"\n (notificationClose)=\"\n notificationsService.removeNotificationById(notification.id)\n \"\n [@enterExit]\n ></gn-ui-notification>\n</div>\n" }]
48
+ }], ctorParameters: function () { return [{ type: i1.NotificationsService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLWNvbnRhaW5lci9ub3RpZmljYXRpb25zLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtY29udGFpbmVyL25vdGlmaWNhdGlvbnMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzlFLE9BQU8sRUFDTCxPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUE7Ozs7QUEyQjVCLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsWUFBc0Isb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFBRyxDQUFDO0lBRXBFLFNBQVMsQ0FBQyxLQUFhLEVBQUUsWUFBNEI7UUFDbkQsT0FBTyxZQUFZLENBQUMsRUFBRSxDQUFBO0lBQ3hCLENBQUM7OEdBTFUsK0JBQStCO2tHQUEvQiwrQkFBK0IseUZDckM1QywrakJBaUJBLHlEREZZLFlBQVksaU5BQUUscUJBQXFCLG9JQUlqQztZQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ25CLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ25CLE9BQU8sQ0FDTCxPQUFPLEVBQ1AsU0FBUyxDQUFDO3dCQUNSLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO3dCQUM1QyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQzt3QkFDakQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7cUJBQzdDLENBQUMsQ0FDSDtpQkFDRixDQUFDO2dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN2RSxDQUFDO2FBQ0gsQ0FBQztTQUNIOzsyRkFFVSwrQkFBK0I7a0JBekIzQyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsbUJBRzdCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLE9BQU8sRUFDUCxTQUFTLENBQUM7b0NBQ1IsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0NBQzVDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO29DQUNqRCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQ0FDN0MsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3ZFLENBQUM7eUJBQ0gsQ0FBQztxQkFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb25zLnNlcnZpY2UnXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYydcbmltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIGtleWZyYW1lcyxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTm90aWZpY2F0aW9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbnMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9ucy1jb250YWluZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2VudGVyRXhpdCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMnLFxuICAgICAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMS4wMyknLCBvcGFjaXR5OiAwLjUgfSksXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb3BhY2l0eTogMSB9KSxcbiAgICAgICAgICBdKVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDUwcHgpJywgb3BhY2l0eTogMCB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0NvbnRhaW5lckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UpIHt9XG5cbiAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIsIG5vdGlmaWNhdGlvbjogeyBpZDogbnVtYmVyIH0pIHtcbiAgICByZXR1cm4gbm90aWZpY2F0aW9uLmlkXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02IHAtNiBpdGVtcy1zdGFydCBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gIDxnbi11aS1ub3RpZmljYXRpb25cbiAgICAqbmdGb3I9XCJcbiAgICAgIGxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9ucyQgfCBhc3luYztcbiAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZFxuICAgIFwiXG4gICAgY2xhc3M9XCJtYXgtdy1mdWxsIHBvaW50ZXItZXZlbnRzLWF1dG9cIlxuICAgIFt0ZXh0XT1cIm5vdGlmaWNhdGlvbi50ZXh0XCJcbiAgICBbdHlwZV09XCJub3RpZmljYXRpb24udHlwZVwiXG4gICAgW3RpdGxlXT1cIm5vdGlmaWNhdGlvbi50aXRsZVwiXG4gICAgW2Nsb3NlTWVzc2FnZV09XCJub3RpZmljYXRpb24uY2xvc2VNZXNzYWdlXCJcbiAgICAobm90aWZpY2F0aW9uQ2xvc2UpPVwiXG4gICAgICBub3RpZmljYXRpb25zU2VydmljZS5yZW1vdmVOb3RpZmljYXRpb25CeUlkKG5vdGlmaWNhdGlvbi5pZClcbiAgICBcIlxuICAgIFtAZW50ZXJFeGl0XVxuICA+PC9nbi11aS1ub3RpZmljYXRpb24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class NotificationsService {
5
+ constructor() {
6
+ this.notifications$ = new BehaviorSubject([]);
7
+ }
8
+ showNotification(content, timeoutMs) {
9
+ const id = Math.floor(Math.random() * 1000000);
10
+ this.notifications$.next([...this.notifications$.value, { ...content, id }]);
11
+ if (typeof timeoutMs === 'undefined')
12
+ return;
13
+ setTimeout(() => {
14
+ this.removeNotificationById(id);
15
+ }, timeoutMs);
16
+ }
17
+ removeNotificationById(id) {
18
+ this.notifications$.next(this.notifications$.value.filter((n) => n.id !== id));
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NotificationsService, providedIn: 'root' }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NotificationsService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root',
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFBOztBQU90QyxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSUUsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsRUFBRSxDQUFDLENBQUE7S0FnQnJFO0lBZEMsZ0JBQWdCLENBQUMsT0FBNEIsRUFBRSxTQUFrQjtRQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDNUUsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXO1lBQUUsT0FBTTtRQUM1QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2pDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxFQUFVO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQ3JELENBQUE7SUFDSCxDQUFDOzhHQWhCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db250ZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG50eXBlIE5vdGlmaWNhdGlvbldpdGhJZGVudGl0eSA9IE5vdGlmaWNhdGlvbkNvbnRlbnQgJiB7IGlkOiBudW1iZXIgfVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xuICBub3RpZmljYXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uV2l0aElkZW50aXR5W10+KFtdKVxuXG4gIHNob3dOb3RpZmljYXRpb24oY29udGVudDogTm90aWZpY2F0aW9uQ29udGVudCwgdGltZW91dE1zPzogbnVtYmVyKSB7XG4gICAgY29uc3QgaWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKVxuICAgIHRoaXMubm90aWZpY2F0aW9ucyQubmV4dChbLi4udGhpcy5ub3RpZmljYXRpb25zJC52YWx1ZSwgeyAuLi5jb250ZW50LCBpZCB9XSlcbiAgICBpZiAodHlwZW9mIHRpbWVvdXRNcyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVOb3RpZmljYXRpb25CeUlkKGlkKVxuICAgIH0sIHRpbWVvdXRNcylcbiAgfVxuXG4gIHJlbW92ZU5vdGlmaWNhdGlvbkJ5SWQoaWQ6IG51bWJlcikge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyQubmV4dChcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyQudmFsdWUuZmlsdGVyKChuKSA9PiBuLmlkICE9PSBpZClcbiAgICApXG4gIH1cbn1cbiJdfQ==
@@ -41,7 +41,7 @@ export class DataViewComponent {
41
41
  this.selectedLink$.next(link);
42
42
  }
43
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DataViewComponent, deps: [{ token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DataViewComponent, selector: "gn-ui-data-view", inputs: { mode: "mode" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[420px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }, { kind: "component", type: i4.TableViewComponent, selector: "gn-ui-table-view", inputs: ["link"] }, { kind: "component", type: i5.ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DataViewComponent, selector: "gn-ui-data-view", inputs: { mode: "mode" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[420px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i4.TableViewComponent, selector: "gn-ui-table-view", inputs: ["link"] }, { kind: "component", type: i5.ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
45
  }
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DataViewComponent, decorators: [{
47
47
  type: Component,
@@ -11,7 +11,7 @@ import { MdViewFacade } from './state';
11
11
  import { MdViewEffects } from './state/mdview.effects';
12
12
  import { MapViewComponent } from './map-view/map-view.component';
13
13
  import { DataViewComponent } from './data-view/data-view.component';
14
- import { MD_VIEW_FEATURE_STATE_KEY, reducer } from './state/mdview.reducer';
14
+ import { METADATA_VIEW_FEATURE_STATE_KEY, reducer, } from './state/mdview.reducer';
15
15
  import { MatTabsModule } from '@angular/material/tabs';
16
16
  import { MatIconModule } from '@angular/material/icon';
17
17
  import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
@@ -50,7 +50,7 @@ export class FeatureRecordModule {
50
50
  DataViewWebComponentComponent,
51
51
  DataViewShareComponent] }); }
52
52
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FeatureRecordModule, providers: [MdViewFacade], imports: [CommonModule,
53
- StoreModule.forFeature(MD_VIEW_FEATURE_STATE_KEY, reducer),
53
+ StoreModule.forFeature(METADATA_VIEW_FEATURE_STATE_KEY, reducer),
54
54
  EffectsModule.forFeature([MdViewEffects]),
55
55
  UiLayoutModule,
56
56
  FeatureMapModule,
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
78
78
  ],
79
79
  imports: [
80
80
  CommonModule,
81
- StoreModule.forFeature(MD_VIEW_FEATURE_STATE_KEY, reducer),
81
+ StoreModule.forFeature(METADATA_VIEW_FEATURE_STATE_KEY, reducer),
82
82
  EffectsModule.forFeature([MdViewEffects]),
83
83
  UiLayoutModule,
84
84
  FeatureMapModule,
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
103
103
  ],
104
104
  }]
105
105
  }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7O0FBcUNwRixNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixpQkFqQzVCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isc0JBQXNCLGFBR3RCLFlBQVksa0RBR1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0IsYUFJcEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsNkJBQTZCO1lBQzdCLHNCQUFzQjsrR0FHYixtQkFBbUIsYUFUbkIsQ0FBQyxZQUFZLENBQUMsWUFoQnZCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLHlCQUF5QixFQUFFLE9BQU8sQ0FBQztZQUMxRCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0I7OzJGQVdYLG1CQUFtQjtrQkFuQy9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMseUJBQXlCLEVBQUUsT0FBTyxDQUFDO3dCQUMxRCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3pDLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDekIsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBVaU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuL3N0YXRlJ1xuaW1wb3J0IHsgTWRWaWV3RWZmZWN0cyB9IGZyb20gJy4vc3RhdGUvbWR2aWV3LmVmZmVjdHMnXG5pbXBvcnQgeyBNYXBWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBNRF9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLCByZWR1Y2VyIH0gZnJvbSAnLi9zdGF0ZS9tZHZpZXcucmVkdWNlcidcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmVhdHVyZUNhdGFsb2dNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMnXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlRGF0YXZpek1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7IERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YVZpZXdXZWJDb21wb25lbnRDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy13ZWItY29tcG9uZW50L2RhdGEtdmlldy13ZWItY29tcG9uZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3U2hhcmVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy1zaGFyZS9kYXRhLXZpZXctc2hhcmUuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShNRF9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLCByZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01kVmlld0VmZmVjdHNdKSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBGZWF0dXJlTWFwTW9kdWxlLFxuICAgIEZlYXR1cmVDYXRhbG9nTW9kdWxlLFxuICAgIFVpTWFwTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIFVpRWxlbWVudHNNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgRmVhdHVyZURhdGF2aXpNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW01kVmlld0ZhY2FkZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVSZWNvcmRNb2R1bGUge31cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsT0FBTyxHQUNSLE1BQU0sd0JBQXdCLENBQUE7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQTtBQUMzRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTs7OztBQXFDcEYsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBakM1QixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsNkJBQTZCO1lBQzdCLHNCQUFzQixhQUd0QixZQUFZLGtEQUdaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjO1lBQ2Qsb0JBQW9CLGFBSXBCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsMEJBQTBCO1lBQzFCLDZCQUE2QjtZQUM3QixzQkFBc0I7K0dBR2IsbUJBQW1CLGFBVG5CLENBQUMsWUFBWSxDQUFDLFlBaEJ2QixZQUFZO1lBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUM7WUFDaEUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjO1lBQ2Qsb0JBQW9COzsyRkFXWCxtQkFBbUI7a0JBbkMvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLE9BQU8sQ0FBQzt3QkFDaEUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUN6QyxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pCLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVWlNYXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnXG5pbXBvcnQgeyBVaUxheW91dE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IEZlYXR1cmVNYXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYydcbmltcG9ydCB7IFVpSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVWlFbGVtZW50c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi9zdGF0ZSdcbmltcG9ydCB7IE1kVmlld0VmZmVjdHMgfSBmcm9tICcuL3N0YXRlL21kdmlldy5lZmZlY3RzJ1xuaW1wb3J0IHsgTWFwVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXZpZXcvbWFwLXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy9kYXRhLXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgTUVUQURBVEFfVklFV19GRUFUVVJFX1NUQVRFX0tFWSxcbiAgcmVkdWNlcixcbn0gZnJvbSAnLi9zdGF0ZS9tZHZpZXcucmVkdWNlcidcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmVhdHVyZUNhdGFsb2dNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMnXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlRGF0YXZpek1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7IERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YVZpZXdXZWJDb21wb25lbnRDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy13ZWItY29tcG9uZW50L2RhdGEtdmlldy13ZWItY29tcG9uZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3U2hhcmVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy1zaGFyZS9kYXRhLXZpZXctc2hhcmUuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShNRVRBREFUQV9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLCByZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01kVmlld0VmZmVjdHNdKSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBGZWF0dXJlTWFwTW9kdWxlLFxuICAgIEZlYXR1cmVDYXRhbG9nTW9kdWxlLFxuICAgIFVpTWFwTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIFVpRWxlbWVudHNNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgRmVhdHVyZURhdGF2aXpNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW01kVmlld0ZhY2FkZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVSZWNvcmRNb2R1bGUge31cbiJdfQ==
@@ -67,7 +67,9 @@ export class MapViewComponent {
67
67
  view: {
68
68
  extent,
69
69
  },
70
- })), tap(() => this.resetSelection()))), withLatestFrom(this.mdViewFacade.metadata$), map(([context, metadata]) => {
70
+ })), tap((res) => {
71
+ this.resetSelection();
72
+ }))), withLatestFrom(this.mdViewFacade.metadata$), map(([context, metadata]) => {
71
73
  if (context.view.extent)
72
74
  return context;
73
75
  const extent = this.mapUtils.getRecordExtent(metadata);
@@ -123,7 +125,8 @@ export class MapViewComponent {
123
125
  }
124
126
  else if ((link.type === 'service' &&
125
127
  (link.accessServiceProtocol === 'wfs' ||
126
- link.accessServiceProtocol === 'esriRest')) ||
128
+ link.accessServiceProtocol === 'esriRest' ||
129
+ link.accessServiceProtocol === 'ogcFeatures')) ||
127
130
  link.type === 'download') {
128
131
  return this.dataService.readAsGeoJson(link).pipe(map((data) => ({
129
132
  type: MapContextLayerTypeEnum.GEOJSON,
@@ -136,10 +139,10 @@ export class MapViewComponent {
136
139
  this.selectedLinkIndex$.next(link);
137
140
  }
138
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapManagerService }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i2.FeatureInfoService }, { token: i0.ChangeDetectorRef }, { token: i2.MapStyleService }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MapViewComponent, selector: "gn-ui-map-view", ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MapContextComponent, selector: "gn-ui-map-context", inputs: ["context", "mapConfig"], outputs: ["featureClicked"] }, { kind: "component", type: i6.FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: i7.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: i10.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: i11.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i12.ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link", "mapConfig"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MapViewComponent, selector: "gn-ui-map-view", ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MapContextComponent, selector: "gn-ui-map-context", inputs: ["context", "mapConfig"], outputs: ["featureClicked"] }, { kind: "component", type: i6.FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: i7.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: i10.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: i11.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i12.ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link", "mapConfig"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
143
  }
141
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MapViewComponent, decorators: [{
142
145
  type: Component,
143
146
  args: [{ selector: 'gn-ui-map-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"error_outline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
144
147
  }], ctorParameters: function () { return [{ type: i1.MdViewFacade }, { type: i2.MapManagerService }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i2.FeatureInfoService }, { type: i0.ChangeDetectorRef }, { type: i2.MapStyleService }]; } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLGtCQUFrQixFQUVsQix1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFhLE1BQU0sNENBQTRDLENBQUE7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSx3Q0FBd0MsQ0FBQTtBQUluRixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixJQUFJLEVBR0osRUFBRSxFQUVGLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFBO0FBQ2IsT0FBTyxFQUNMLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7QUFTeEUsTUFBTSxPQUFPLGdCQUFnQjtJQXFGM0IsWUFDVSxZQUEwQixFQUMxQixVQUE2QixFQUM3QixRQUF5QixFQUN6QixXQUF3QixFQUN4QixXQUErQixF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RDdCLGt5REFzREE7OzJGREhhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEZlYXR1cmVJbmZvU2VydmljZSxcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxuICBNYXBDb250ZXh0TW9kZWwsXG4gIE1hcE1hbmFnZXJTZXJ2aWNlLFxuICBNYXBTdHlsZVNlcnZpY2UsXG4gIE1hcFV0aWxzU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBnZXRPcHRpb25hbE1hcENvbmZpZywgTWFwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBQcm94eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCBGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nXG5pbXBvcnQgeyBTdHlsZUxpa2UgfSBmcm9tICdvbC9zdHlsZS9TdHlsZSdcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbSxcbiAgbGFzdFZhbHVlRnJvbSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3Vic2NyaXB0aW9uLFxuICB0aHJvd0Vycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaW5hbGl6ZSxcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9tZHZpZXcuZmFjYWRlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhc2V0RGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tYXAtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG1hcENvbmZpZzogTWFwQ29uZmlnID0gZ2V0T3B0aW9uYWxNYXBDb25maWcoKVxuICBzZWxlY3Rpb246IEZlYXR1cmU8R2VvbWV0cnk+XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG4gIHByaXZhdGUgc2VsZWN0aW9uU3R5bGU6IFN0eWxlTGlrZVxuXG4gIGNvbXBhdGlibGVNYXBMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5tYXBBcGlMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFttYXBBcGlMaW5rcywgZ2VvRGF0YUxpbmtzXSkgPT4gWy4uLm1hcEFwaUxpbmtzLCAuLi5nZW9EYXRhTGlua3NdKVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ05vIHByZXZpZXcgbGF5ZXInLCB2YWx1ZTogMCB9XVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmtJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApXG5cbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuXG4gIHNlbGVjdGVkTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQsXG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgXSkucGlwZShtYXAoKFtsaW5rcywgaW5kZXhdKSA9PiBsaW5rc1tpbmRleF0pKVxuXG4gIGN1cnJlbnRMYXllcnMkID0gdGhpcy5zZWxlY3RlZExpbmskLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbSh0aGlzLm1hcFV0aWxzLmdldExheWVyRXh0ZW50KGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKSAvLyBGSVhNRTogcmVwb3J0IHRoaXMgdG8gdGhlIHVzZXIgc29tZWhvd1xuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoXG4gICAgICAgICAgKGV4dGVudCkgPT5cbiAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29udGV4dE1vZGVsKVxuICAgICAgICApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZXNldFNlbGVjdGlvbigpKVxuICAgICAgKVxuICAgICksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5tZFZpZXdGYWNhZGUubWV0YWRhdGEkKSxcbiAgICBtYXAoKFtjb250ZXh0LCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnZpZXcuZXh0ZW50KSByZXR1cm4gY29udGV4dFxuICAgICAgY29uc3QgZXh0ZW50ID0gdGhpcy5tYXBVdGlscy5nZXRSZWNvcmRFeHRlbnQobWV0YWRhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgLi4uY29udGV4dC52aWV3LFxuICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIG1hcE1hbmFnZXI6IE1hcE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGZlYXR1cmVJbmZvOiBGZWF0dXJlSW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBNYXBTdHlsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWFwVXRpbHMucHJpb3JpdGl6ZVBhZ2VTY3JvbGwodGhpcy5tYXBNYW5hZ2VyLm1hcC5nZXRJbnRlcmFjdGlvbnMoKSlcbiAgICB0aGlzLnNlbGVjdGlvblN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2Uuc3R5bGVzLmRlZmF1bHRITFxuICAgIHRoaXMuZmVhdHVyZUluZm8uaGFuZGxlRmVhdHVyZUluZm8oKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuZmVhdHVyZUluZm8uZmVhdHVyZXMkLnN1YnNjcmliZSgoZmVhdHVyZXMpID0+IHtcbiAgICAgICAgdGhpcy5vbk1hcEZlYXR1cmVTZWxlY3QoZmVhdHVyZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZTxHZW9tZXRyeT5bXSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgIHRoaXMuc2VsZWN0aW9uID0gZmVhdHVyZXM/Lmxlbmd0aCA+IDAgJiYgZmVhdHVyZXNbMF1cbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZShudWxsKVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsoXG4gICAgbGluazogRGF0YXNldERpc3RyaWJ1dGlvblxuICApOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllck1vZGVsPiB7XG4gICAgaWYgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd21zJykge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XTVMsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNVFMsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCcpKSB8fFxuICAgICAgbGluay50eXBlID09PSAnZG93bmxvYWQnXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5yZWFkQXNHZW9Kc29uKGxpbmspLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gKHtcbiAgICAgICAgICB0eXBlOiBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5HRU9KU09OLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cblxuICBzZWxlY3RMaW5rVG9EaXNwbGF5KGxpbms6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSW5kZXgkLm5leHQobGluaylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBwLTFcIj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktZW5kIG1iLTcgbXQtMVwiPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTFcIlxuICAgICAgZXh0cmFCdG5DbGFzcz1cIiF0ZXh0LXByaW1hcnkgZm9udC1zYW5zIGZvbnQtbWVkaXVtXCJcbiAgICAgIFt0aXRsZV09XCInbWFwLnNlbGVjdC5sYXllcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Nob2ljZXNdPVwiZHJvcGRvd25DaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZWxlY3RMaW5rVG9EaXNwbGF5KCRldmVudClcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uXG4gICAgICBjbGFzcz1cInNocmluay0wIHB5LTEgcGxhY2Utc2VsZi1lbmRcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICAgIFttYXBDb25maWddPVwibWFwQ29uZmlnXCJcbiAgICA+XG4gICAgPC9nbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsIGgtZnVsbCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgPlxuICAgIDxnbi11aS1tYXAtY29udGV4dFxuICAgICAgW2NvbnRleHRdPVwibWFwQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICBbbWFwQ29uZmlnXT1cIm1hcENvbmZpZ1wiXG4gICAgPjwvZ24tdWktbWFwLWNvbnRleHQ+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcC0zIGJnLXdoaXRlIGFic29sdXRlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBtYXgtaC03MiB3LTU2XCJcbiAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNlbGVjdGlvblwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRTZWxlY3Rpb24oKVwiXG4gICAgICAgIGNsYXNzPVwicm91bmRlZCBiZy1wcmltYXJ5LW9wYWNpdHktMjUgdGV4dC13aGl0ZSBhYnNvbHV0ZSByaWdodC1bMC41ZW1dXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGFsaWduLW1pZGRsZSB0ZXh0LXNtXCJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogMjFweFwiXG4gICAgICAgICAgPmNsb3NlPC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxnbi11aS1mZWF0dXJlLWRldGFpbCBbZmVhdHVyZV09XCJzZWxlY3Rpb25cIj48L2duLXVpLWZlYXR1cmUtZGV0YWlsPlxuICAgIDwvZGl2PlxuICAgIDxnbi11aS1sb2FkaW5nLW1hc2tcbiAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTBcIlxuICAgICAgW21lc3NhZ2VdPVwiJ21hcC5sb2FkaW5nLmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1sb2FkaW5nLW1hc2s+XG4gICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJlcnJvcl9vdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbS0yIGluc2V0LTBcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLGtCQUFrQixFQUVsQix1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFhLE1BQU0sNENBQTRDLENBQUE7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBSXJFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7Ozs7Ozs7OztBQVN4RSxNQUFNLE9BQU8sZ0JBQWdCO0lBdUYzQixZQUNVLFlBQTBCLEVBQzFCLFVBQTZCLEVBQzdCLFFBQXlCLEVBQ3pCLFdBQXdCLEVBQ3hCLFdBQStCLEVB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SUFBSSxDQUFDLENBQUE7SUFDcEMsQ0FBQzs4R0FyS1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isc0RDakQ3QixreURBc0RBOzsyRkRMYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBGZWF0dXJlSW5mb1NlcnZpY2UsXG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbiAgTWFwQ29udGV4dE1vZGVsLFxuICBNYXBNYW5hZ2VyU2VydmljZSxcbiAgTWFwU3R5bGVTZXJ2aWNlLFxuICBNYXBVdGlsc1NlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0T3B0aW9uYWxNYXBDb25maWcsIE1hcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYydcbmltcG9ydCB7IGdldExpbmtMYWJlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSdcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSdcbmltcG9ydCB7IFN0eWxlTGlrZSB9IGZyb20gJ29sL3N0eWxlL1N0eWxlJ1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0aHJvd0Vycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaW5hbGl6ZSxcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9tZHZpZXcuZmFjYWRlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhc2V0RGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tYXAtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG1hcENvbmZpZzogTWFwQ29uZmlnID0gZ2V0T3B0aW9uYWxNYXBDb25maWcoKVxuICBzZWxlY3Rpb246IEZlYXR1cmU8R2VvbWV0cnk+XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG4gIHByaXZhdGUgc2VsZWN0aW9uU3R5bGU6IFN0eWxlTGlrZVxuXG4gIGNvbXBhdGlibGVNYXBMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5tYXBBcGlMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFttYXBBcGlMaW5rcywgZ2VvRGF0YUxpbmtzXSkgPT4gWy4uLm1hcEFwaUxpbmtzLCAuLi5nZW9EYXRhTGlua3NdKVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ05vIHByZXZpZXcgbGF5ZXInLCB2YWx1ZTogMCB9XVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmtJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApXG5cbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuXG4gIHNlbGVjdGVkTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQsXG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgXSkucGlwZShtYXAoKFtsaW5rcywgaW5kZXhdKSA9PiBsaW5rc1tpbmRleF0pKVxuXG4gIGN1cnJlbnRMYXllcnMkID0gdGhpcy5zZWxlY3RlZExpbmskLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbSh0aGlzLm1hcFV0aWxzLmdldExheWVyRXh0ZW50KGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKSAvLyBGSVhNRTogcmVwb3J0IHRoaXMgdG8gdGhlIHVzZXIgc29tZWhvd1xuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoXG4gICAgICAgICAgKGV4dGVudCkgPT5cbiAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29udGV4dE1vZGVsKVxuICAgICAgICApLFxuICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5tZFZpZXdGYWNhZGUubWV0YWRhdGEkKSxcbiAgICBtYXAoKFtjb250ZXh0LCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnZpZXcuZXh0ZW50KSByZXR1cm4gY29udGV4dFxuICAgICAgY29uc3QgZXh0ZW50ID0gdGhpcy5tYXBVdGlscy5nZXRSZWNvcmRFeHRlbnQobWV0YWRhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgLi4uY29udGV4dC52aWV3LFxuICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIG1hcE1hbmFnZXI6IE1hcE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGZlYXR1cmVJbmZvOiBGZWF0dXJlSW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBNYXBTdHlsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWFwVXRpbHMucHJpb3JpdGl6ZVBhZ2VTY3JvbGwodGhpcy5tYXBNYW5hZ2VyLm1hcC5nZXRJbnRlcmFjdGlvbnMoKSlcbiAgICB0aGlzLnNlbGVjdGlvblN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2Uuc3R5bGVzLmRlZmF1bHRITFxuICAgIHRoaXMuZmVhdHVyZUluZm8uaGFuZGxlRmVhdHVyZUluZm8oKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuZmVhdHVyZUluZm8uZmVhdHVyZXMkLnN1YnNjcmliZSgoZmVhdHVyZXMpID0+IHtcbiAgICAgICAgdGhpcy5vbk1hcEZlYXR1cmVTZWxlY3QoZmVhdHVyZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZTxHZW9tZXRyeT5bXSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgIHRoaXMuc2VsZWN0aW9uID0gZmVhdHVyZXM/Lmxlbmd0aCA+IDAgJiYgZmVhdHVyZXNbMF1cbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZShudWxsKVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsoXG4gICAgbGluazogRGF0YXNldERpc3RyaWJ1dGlvblxuICApOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllck1vZGVsPiB7XG4gICAgaWYgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd21zJykge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XTVMsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNVFMsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCcgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJykpIHx8XG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaykucGlwZShcbiAgICAgICAgbWFwKChkYXRhKSA9PiAoe1xuICAgICAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLkdFT0pTT04sXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxuXG4gIHNlbGVjdExpbmtUb0Rpc3BsYXkobGluazogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpbmtJbmRleCQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmQgbWItNyBtdC0xXCI+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cInRydW5jYXRlIHAtMSAtbXgtMVwiXG4gICAgICBleHRyYUJ0bkNsYXNzPVwiIXRleHQtcHJpbWFyeSBmb250LXNhbnMgZm9udC1tZWRpdW1cIlxuICAgICAgW3RpdGxlXT1cIidtYXAuc2VsZWN0LmxheWVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2hvaWNlc109XCJkcm9wZG93bkNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmtUb0Rpc3BsYXkoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b25cbiAgICAgIGNsYXNzPVwic2hyaW5rLTAgcHktMSBwbGFjZS1zZWxmLWVuZFwiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgW21hcENvbmZpZ109XCJtYXBDb25maWdcIlxuICAgID5cbiAgICA8L2duLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW5cIlxuICA+XG4gICAgPGduLXVpLW1hcC1jb250ZXh0XG4gICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgIFttYXBDb25maWddPVwibWFwQ29uZmlnXCJcbiAgICA+PC9nbi11aS1tYXAtY29udGV4dD5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2VsZWN0aW9uXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldFNlbGVjdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJyb3VuZGVkIGJnLXByaW1hcnktb3BhY2l0eS0yNSB0ZXh0LXdoaXRlIGFic29sdXRlIHJpZ2h0LVswLjVlbV1cIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgYWxpZ24tbWlkZGxlIHRleHQtc21cIlxuICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAyMXB4XCJcbiAgICAgICAgICA+Y2xvc2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGduLXVpLWZlYXR1cmUtZGV0YWlsIFtmZWF0dXJlXT1cInNlbGVjdGlvblwiPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG4gICAgPC9kaXY+XG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICBbbWVzc2FnZV09XCInbWFwLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cImVycm9yX291dGxpbmVcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,9 +1,27 @@
1
1
  import { createAction, props } from '@ngrx/store';
2
+ /*
3
+ Metadata actions
4
+ */
2
5
  export const loadFullMetadata = createAction('[Metadata view] Load full metadata', props());
3
6
  export const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
4
- export const loadFullSuccess = createAction('[Metadata view] Load full success', props());
5
- export const loadFullFailure = createAction('[Metadata view] Load full failure', props());
7
+ export const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
8
+ export const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
9
+ export const closeMetadata = createAction('[Metadata view] close');
10
+ /*
11
+ Related actions
12
+ */
6
13
  export const setRelated = createAction('[Metadata view] Set related records', props());
14
+ /*
15
+ ChartConfig actions
16
+ */
7
17
  export const setChartConfig = createAction('[Metadata view] Set chart config', props());
8
- export const close = createAction('[Metadata view] close');
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHakQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUMxQyxvQ0FBb0MsRUFDcEMsS0FBSyxFQUFvQixDQUMxQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUMvQyx5Q0FBeUMsRUFDekMsS0FBSyxFQUEwQyxDQUNoRCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FDekMsbUNBQW1DLEVBQ25DLEtBQUssRUFBMkIsQ0FDakMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQ3pDLG1DQUFtQyxFQUNuQyxLQUFLLEVBQStDLENBQ3JELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUNwQyxxQ0FBcUMsRUFDckMsS0FBSyxFQUFnQyxDQUN0QyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FDeEMsa0NBQWtDLEVBQ2xDLEtBQUssRUFBOEMsQ0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCBjb25zdCBsb2FkRnVsbE1ldGFkYXRhID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIExvYWQgZnVsbCBtZXRhZGF0YScsXG4gIHByb3BzPHsgdXVpZDogc3RyaW5nIH0+KClcbilcblxuZXhwb3J0IGNvbnN0IHNldEluY29tcGxldGVNZXRhZGF0YSA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tNZXRhZGF0YSB2aWV3XSBTZXQgaW5jb21wbGV0ZSBtZXRhZGF0YScsXG4gIHByb3BzPHsgaW5jb21wbGV0ZTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPiB9PigpXG4pXG5cbmV4cG9ydCBjb25zdCBsb2FkRnVsbFN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gTG9hZCBmdWxsIHN1Y2Nlc3MnLFxuICBwcm9wczx7IGZ1bGw6IENhdGFsb2dSZWNvcmQgfT4oKVxuKVxuXG5leHBvcnQgY29uc3QgbG9hZEZ1bGxGYWlsdXJlID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIExvYWQgZnVsbCBmYWlsdXJlJyxcbiAgcHJvcHM8eyBvdGhlckVycm9yPzogc3RyaW5nOyBub3RGb3VuZD86IGJvb2xlYW4gfT4oKVxuKVxuXG5leHBvcnQgY29uc3Qgc2V0UmVsYXRlZCA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tNZXRhZGF0YSB2aWV3XSBTZXQgcmVsYXRlZCByZWNvcmRzJyxcbiAgcHJvcHM8eyByZWxhdGVkOiBDYXRhbG9nUmVjb3JkW10gfT4oKVxuKVxuXG5leHBvcnQgY29uc3Qgc2V0Q2hhcnRDb25maWcgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gU2V0IGNoYXJ0IGNvbmZpZycsXG4gIHByb3BzPHsgY2hhcnRDb25maWc6IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfT4oKVxuKVxuXG5leHBvcnQgY29uc3QgY2xvc2UgPSBjcmVhdGVBY3Rpb24oJ1tNZXRhZGF0YSB2aWV3XSBjbG9zZScpXG4iXX0=
18
+ /*
19
+ User Feedbacks actions
20
+ */
21
+ export const addUserFeedback = createAction('[Metadata view] Add UserFeedback', props());
22
+ export const addUserFeedbackSuccess = createAction('[Metadata view] Add UserFeedback Success', props());
23
+ export const addUserFeedbackFailure = createAction('[Metadata view] Add UserFeedback Failure', props());
24
+ export const loadUserFeedbacks = createAction('[Metadata view] Load UserFeedbacks', props());
25
+ export const loadUserFeedbacksSuccess = createAction('[Metadata view] Load UserFeedbacks Success', props());
26
+ export const loadUserFeedbacksFailure = createAction('[Metadata view] Load UserFeedbacks Failure', props());
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFNakQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQzFDLG9DQUFvQyxFQUNwQyxLQUFLLEVBQW9CLENBQzFCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxZQUFZLENBQy9DLHlDQUF5QyxFQUN6QyxLQUFLLEVBQTBDLENBQ2hELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQ2pELDRDQUE0QyxFQUM1QyxLQUFLLEVBQTJCLENBQ2pDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQ2pELDRDQUE0QyxFQUM1QyxLQUFLLEVBQStDLENBQ3JELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFFbEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUNwQyxxQ0FBcUMsRUFDckMsS0FBSyxFQUFnQyxDQUN0QyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUN4QyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUE4QyxDQUNwRCxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUN6QyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFrQyxDQUN4QyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUNoRCwwQ0FBMEMsRUFDMUMsS0FBSyxFQUEyQixDQUNqQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUNoRCwwQ0FBMEMsRUFDMUMsS0FBSyxFQUErQyxDQUNyRCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUMzQyxvQ0FBb0MsRUFDcEMsS0FBSyxFQUEyQixDQUNqQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUNsRCw0Q0FBNEMsRUFDNUMsS0FBSyxFQUFxQyxDQUMzQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUNsRCw0Q0FBNEMsRUFDNUMsS0FBSyxFQUErQyxDQUNyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL2RhdGF2aXovZGF0YXZpei1jb25maWd1cmF0aW9uLm1vZGVsJ1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgVXNlckZlZWRiYWNrLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbi8qXG4gIE1ldGFkYXRhIGFjdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRGdWxsTWV0YWRhdGEgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gTG9hZCBmdWxsIG1ldGFkYXRhJyxcbiAgcHJvcHM8eyB1dWlkOiBzdHJpbmcgfT4oKVxuKVxuXG5leHBvcnQgY29uc3Qgc2V0SW5jb21wbGV0ZU1ldGFkYXRhID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIFNldCBpbmNvbXBsZXRlIG1ldGFkYXRhJyxcbiAgcHJvcHM8eyBpbmNvbXBsZXRlOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+IH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGxvYWRGdWxsTWV0YWRhdGFTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIExvYWQgZnVsbCBtZXRhZGF0YSBzdWNjZXNzJyxcbiAgcHJvcHM8eyBmdWxsOiBDYXRhbG9nUmVjb3JkIH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGxvYWRGdWxsTWV0YWRhdGFGYWlsdXJlID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIExvYWQgZnVsbCBtZXRhZGF0YSBmYWlsdXJlJyxcbiAgcHJvcHM8eyBvdGhlckVycm9yPzogc3RyaW5nOyBub3RGb3VuZD86IGJvb2xlYW4gfT4oKVxuKVxuXG5leHBvcnQgY29uc3QgY2xvc2VNZXRhZGF0YSA9IGNyZWF0ZUFjdGlvbignW01ldGFkYXRhIHZpZXddIGNsb3NlJylcblxuLypcbiAgUmVsYXRlZCBhY3Rpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRSZWxhdGVkID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIFNldCByZWxhdGVkIHJlY29yZHMnLFxuICBwcm9wczx7IHJlbGF0ZWQ6IENhdGFsb2dSZWNvcmRbXSB9PigpXG4pXG5cbi8qXG4gIENoYXJ0Q29uZmlnIGFjdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldENoYXJ0Q29uZmlnID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIFNldCBjaGFydCBjb25maWcnLFxuICBwcm9wczx7IGNoYXJ0Q29uZmlnOiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0+KClcbilcblxuLypcbiAgVXNlciBGZWVkYmFja3MgYWN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgYWRkVXNlckZlZWRiYWNrID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIEFkZCBVc2VyRmVlZGJhY2snLFxuICBwcm9wczx7IHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrIH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGFkZFVzZXJGZWVkYmFja1N1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gQWRkIFVzZXJGZWVkYmFjayBTdWNjZXNzJyxcbiAgcHJvcHM8eyBkYXRhc2V0VXVpZDogc3RyaW5nIH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGFkZFVzZXJGZWVkYmFja0ZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gQWRkIFVzZXJGZWVkYmFjayBGYWlsdXJlJyxcbiAgcHJvcHM8eyBvdGhlckVycm9yPzogc3RyaW5nOyBub3RGb3VuZD86IGJvb2xlYW4gfT4oKVxuKVxuXG5leHBvcnQgY29uc3QgbG9hZFVzZXJGZWVkYmFja3MgPSBjcmVhdGVBY3Rpb24oXG4gICdbTWV0YWRhdGEgdmlld10gTG9hZCBVc2VyRmVlZGJhY2tzJyxcbiAgcHJvcHM8eyBkYXRhc2V0VXVpZDogc3RyaW5nIH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGxvYWRVc2VyRmVlZGJhY2tzU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tNZXRhZGF0YSB2aWV3XSBMb2FkIFVzZXJGZWVkYmFja3MgU3VjY2VzcycsXG4gIHByb3BzPHsgdXNlckZlZWRiYWNrczogVXNlckZlZWRiYWNrW10gfT4oKVxuKVxuXG5leHBvcnQgY29uc3QgbG9hZFVzZXJGZWVkYmFja3NGYWlsdXJlID0gY3JlYXRlQWN0aW9uKFxuICAnW01ldGFkYXRhIHZpZXddIExvYWQgVXNlckZlZWRiYWNrcyBGYWlsdXJlJyxcbiAgcHJvcHM8eyBvdGhlckVycm9yPzogc3RyaW5nOyBub3RGb3VuZD86IGJvb2xlYW4gfT4oKVxuKVxuIl19
@@ -1,30 +1,57 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
- import { of } from 'rxjs';
3
+ import { exhaustMap, mergeMap, of } from 'rxjs';
4
4
  import { catchError, map, switchMap } from 'rxjs/operators';
5
5
  import * as MdViewActions from './mdview.actions';
6
6
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
7
+ import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@ngrx/effects";
9
10
  import * as i2 from "../../../../../../libs/common/domain/src/lib/repository/records-repository.interface";
11
+ import * as i3 from "../../../../../../libs/common/domain/src/lib/platform.service.interface";
10
12
  export class MdViewEffects {
11
- constructor(actions$, recordsRepository) {
13
+ constructor(actions$, recordsRepository, platformServiceInterface) {
12
14
  this.actions$ = actions$;
13
15
  this.recordsRepository = recordsRepository;
14
- this.loadFull$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadFullMetadata), switchMap(({ uuid }) => this.recordsRepository.getByUniqueIdentifier(uuid)), map((record) => {
16
+ this.platformServiceInterface = platformServiceInterface;
17
+ /*
18
+ Metadata effects
19
+ */
20
+ this.loadFullMetadata$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadFullMetadata), switchMap(({ uuid }) => this.recordsRepository.getByUniqueIdentifier(uuid)), map((record) => {
15
21
  if (record === null) {
16
- return MdViewActions.loadFullFailure({ notFound: true });
22
+ return MdViewActions.loadFullMetadataFailure({ notFound: true });
17
23
  }
18
- return MdViewActions.loadFullSuccess({ full: record });
19
- }), catchError((error) => of(MdViewActions.loadFullFailure({ otherError: error.message })))));
20
- this.loadRelatedRecords$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadFullSuccess), switchMap(({ full }) => this.recordsRepository.getSimilarRecords(full)), map((related) => {
24
+ return MdViewActions.loadFullMetadataSuccess({ full: record });
25
+ }), catchError((error) => of(MdViewActions.loadFullMetadataFailure({ otherError: error.message })))));
26
+ /*
27
+ Related effects
28
+ */
29
+ this.loadRelatedRecords$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadFullMetadataSuccess), switchMap(({ full }) => this.recordsRepository.getSimilarRecords(full)), map((related) => {
21
30
  return MdViewActions.setRelated({ related });
22
31
  }), catchError((error) => of(MdViewActions.setRelated({ related: null })))));
32
+ /*
33
+ UserFeedback effects
34
+ */
35
+ this.loadUserFeedbacks$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.loadUserFeedbacks), exhaustMap(({ datasetUuid }) => this.platformServiceInterface.getUserFeedbacks(datasetUuid).pipe(map((userFeedbacks) => MdViewActions.loadUserFeedbacksSuccess({ userFeedbacks })), catchError((error) => of(MdViewActions.loadUserFeedbacksFailure({
36
+ otherError: error.message,
37
+ })))))));
38
+ this.reloadUserFeedbacks$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.addUserFeedbackSuccess), exhaustMap(({ datasetUuid }) => this.platformServiceInterface.getUserFeedbacks(datasetUuid).pipe(map((userFeedbacks) => MdViewActions.loadUserFeedbacksSuccess({ userFeedbacks })), catchError((error) => of(MdViewActions.loadUserFeedbacksFailure({
39
+ otherError: error.message,
40
+ })))))));
41
+ this.addUserFeedback$ = createEffect(() => this.actions$.pipe(ofType(MdViewActions.addUserFeedback), mergeMap((action) => this.platformServiceInterface
42
+ .postUserFeedbacks(action.userFeedback)
43
+ .pipe(map(() => MdViewActions.addUserFeedbackSuccess({
44
+ datasetUuid: action.userFeedback.metadataUUID,
45
+ })), catchError((error) => {
46
+ return of(MdViewActions.addUserFeedbackFailure({
47
+ otherError: error.message,
48
+ }));
49
+ })))));
23
50
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewEffects, deps: [{ token: i1.Actions }, { token: i2.RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewEffects, deps: [{ token: i1.Actions }, { token: i2.RecordsRepositoryInterface }, { token: i3.PlatformServiceInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
52
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewEffects }); }
26
53
  }
27
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewEffects, decorators: [{
28
55
  type: Injectable
29
- }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.RecordsRepositoryInterface }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN6QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMzRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNGQUFzRixDQUFBOzs7O0FBR2pJLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsUUFBaUIsRUFDakIsaUJBQTZDO1FBRDdDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE0QjtRQUd2RCxjQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN0QyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUNuRCxFQUNELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUNuQixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUN6RDtZQUNELE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3hELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ25CLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQ2pFLENBQ0YsQ0FDRixDQUFBO1FBRUQsd0JBQW1CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFDckMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3ZFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUM5QyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUNGLENBQUE7SUE3QkUsQ0FBQzs4R0FKTyxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kVmlld0VmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlXG4gICkge31cblxuICBsb2FkRnVsbCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhKSxcbiAgICAgIHN3aXRjaE1hcCgoeyB1dWlkIH0pID0+XG4gICAgICAgIHRoaXMucmVjb3Jkc1JlcG9zaXRvcnkuZ2V0QnlVbmlxdWVJZGVudGlmaWVyKHV1aWQpXG4gICAgICApLFxuICAgICAgbWFwKChyZWNvcmQpID0+IHtcbiAgICAgICAgaWYgKHJlY29yZCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBNZFZpZXdBY3Rpb25zLmxvYWRGdWxsRmFpbHVyZSh7IG5vdEZvdW5kOiB0cnVlIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1kVmlld0FjdGlvbnMubG9hZEZ1bGxTdWNjZXNzKHsgZnVsbDogcmVjb3JkIH0pXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICBvZihNZFZpZXdBY3Rpb25zLmxvYWRGdWxsRmFpbHVyZSh7IG90aGVyRXJyb3I6IGVycm9yLm1lc3NhZ2UgfSkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgbG9hZFJlbGF0ZWRSZWNvcmRzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmxvYWRGdWxsU3VjY2VzcyksXG4gICAgICBzd2l0Y2hNYXAoKHsgZnVsbCB9KSA9PiB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldFNpbWlsYXJSZWNvcmRzKGZ1bGwpKSxcbiAgICAgIG1hcCgocmVsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZCB9KVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gb2YoTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZDogbnVsbCB9KSkpXG4gICAgKVxuICApXG59XG4iXX0=
56
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.RecordsRepositoryInterface }, { type: i3.PlatformServiceInterface }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0ZBQXNGLENBQUE7QUFDakksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7Ozs7O0FBR2xILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsUUFBaUIsRUFDakIsaUJBQTZDLEVBQzdDLHdCQUFrRDtRQUZsRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFDN0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUc1RDs7VUFFRTtRQUNGLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFDdEMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FDbkQsRUFDRCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNiLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDbkIsT0FBTyxhQUFhLENBQUMsdUJBQXVCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUNqRTtZQUNELE9BQU8sYUFBYSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDaEUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUN6RSxDQUNGLENBQ0YsQ0FBQTtRQUVEOztVQUVFO1FBQ0Ysd0JBQW1CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUM3QyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQ0YsQ0FBQTtRQUVEOztVQUVFO1FBQ0YsdUJBQWtCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUN2QyxVQUFVLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDcEIsYUFBYSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FDMUQsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNuQixFQUFFLENBQ0EsYUFBYSxDQUFDLHdCQUF3QixDQUFDO1lBQ3JDLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTztTQUMxQixDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsQ0FDRixDQUNGLENBQUE7UUFFRCx5QkFBb0IsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLEVBQzVDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUM3QixJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUNwQixhQUFhLENBQUMsd0JBQXdCLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUMxRCxFQUNELFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ25CLEVBQUUsQ0FDQSxhQUFhLENBQUMsd0JBQXdCLENBQUM7WUFDckMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQzFCLENBQUMsQ0FDSCxDQUNGLENBQ0YsQ0FDRixDQUNGLENBQ0YsQ0FBQTtRQUVELHFCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQ3JDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyx3QkFBd0I7YUFDMUIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzthQUN0QyxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUNQLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztZQUNuQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZO1NBQzlDLENBQUMsQ0FDSCxFQUNELFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUNQLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDbkMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQzFCLENBQUMsQ0FDSCxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FDSixDQUNGLENBQ0YsQ0FBQTtJQXRHRSxDQUFDOzhHQUxPLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWRWaWV3RWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWNvcmRzUmVwb3NpdG9yeTogUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2U6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZVxuICApIHt9XG5cbiAgLypcbiAgICBNZXRhZGF0YSBlZmZlY3RzXG4gICovXG4gIGxvYWRGdWxsTWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSksXG4gICAgICBzd2l0Y2hNYXAoKHsgdXVpZCB9KSA9PlxuICAgICAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldEJ5VW5pcXVlSWRlbnRpZmllcih1dWlkKVxuICAgICAgKSxcbiAgICAgIG1hcCgocmVjb3JkKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmQgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhRmFpbHVyZSh7IG5vdEZvdW5kOiB0cnVlIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YVN1Y2Nlc3MoeyBmdWxsOiByZWNvcmQgfSlcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgIG9mKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YUZhaWx1cmUoeyBvdGhlckVycm9yOiBlcnJvci5tZXNzYWdlIH0pKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIC8qXG4gICAgUmVsYXRlZCBlZmZlY3RzXG4gICovXG4gIGxvYWRSZWxhdGVkUmVjb3JkcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhU3VjY2VzcyksXG4gICAgICBzd2l0Y2hNYXAoKHsgZnVsbCB9KSA9PiB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmdldFNpbWlsYXJSZWNvcmRzKGZ1bGwpKSxcbiAgICAgIG1hcCgocmVsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZCB9KVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gb2YoTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkKHsgcmVsYXRlZDogbnVsbCB9KSkpXG4gICAgKVxuICApXG5cbiAgLypcbiAgICBVc2VyRmVlZGJhY2sgZWZmZWN0c1xuICAqL1xuICBsb2FkVXNlckZlZWRiYWNrcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrcyksXG4gICAgICBleGhhdXN0TWFwKCh7IGRhdGFzZXRVdWlkIH0pID0+XG4gICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLmdldFVzZXJGZWVkYmFja3MoZGF0YXNldFV1aWQpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VyRmVlZGJhY2tzKSA9PlxuICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc1N1Y2Nlc3MoeyB1c2VyRmVlZGJhY2tzIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICAgIG9mKFxuICAgICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRVc2VyRmVlZGJhY2tzRmFpbHVyZSh7XG4gICAgICAgICAgICAgICAgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICByZWxvYWRVc2VyRmVlZGJhY2tzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFja1N1Y2Nlc3MpLFxuICAgICAgZXhoYXVzdE1hcCgoeyBkYXRhc2V0VXVpZCB9KSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZUludGVyZmFjZS5nZXRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkKS5waXBlKFxuICAgICAgICAgIG1hcCgodXNlckZlZWRiYWNrcykgPT5cbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3NTdWNjZXNzKHsgdXNlckZlZWRiYWNrcyB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgICBvZihcbiAgICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc0ZhaWx1cmUoe1xuICAgICAgICAgICAgICAgIG90aGVyRXJyb3I6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgYWRkVXNlckZlZWRiYWNrJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZUludGVyZmFjZVxuICAgICAgICAgIC5wb3N0VXNlckZlZWRiYWNrcyhhY3Rpb24udXNlckZlZWRiYWNrKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+XG4gICAgICAgICAgICAgIE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrU3VjY2Vzcyh7XG4gICAgICAgICAgICAgICAgZGF0YXNldFV1aWQ6IGFjdGlvbi51c2VyRmVlZGJhY2subWV0YWRhdGFVVUlELFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFja0ZhaWx1cmUoe1xuICAgICAgICAgICAgICAgICAgb3RoZXJFcnJvcjogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcbn1cbiJdfQ==