geonetwork-ui 2.3.0-dev.139106e0 → 2.3.0-dev.16f429aa

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 (248) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +2 -2
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  3. package/esm2022/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.mjs +1 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +12 -1
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +36 -3
  6. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +21 -7
  7. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  8. package/esm2022/libs/common/domain/src/lib/model/record/user-feedbacks.model.mjs +2 -0
  9. package/esm2022/libs/common/domain/src/lib/model/user/index.mjs +2 -0
  10. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  11. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  12. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +35 -2
  13. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +64 -0
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +15 -0
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +104 -0
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +25 -6
  17. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  18. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +23 -1
  19. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +73 -20
  20. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  21. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  22. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +1 -1
  23. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +37 -8
  24. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +6 -2
  25. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  26. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +4 -4
  27. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -3
  28. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +22 -4
  29. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +37 -10
  30. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +22 -7
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +50 -17
  32. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +18 -3
  33. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +2 -2
  34. package/esm2022/libs/feature/search/src/index.mjs +2 -1
  35. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +1 -1
  36. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +1 -1
  37. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +1 -1
  38. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +1 -1
  39. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +1 -1
  40. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -2
  41. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +2 -2
  42. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +16 -3
  43. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +2 -2
  44. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +99 -36
  45. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -7
  46. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +59 -0
  47. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +60 -0
  48. package/esm2022/libs/ui/inputs/src/index.mjs +16 -15
  49. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -3
  50. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +22 -0
  51. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +7 -5
  52. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +19 -8
  53. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +29 -0
  54. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +27 -4
  55. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +21 -3
  56. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +14 -11
  57. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  58. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +76 -0
  59. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +42 -18
  60. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +3 -8
  61. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -2
  62. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +22 -1
  63. package/esm2022/translations/de.json +23 -0
  64. package/esm2022/translations/en.json +23 -0
  65. package/esm2022/translations/es.json +23 -0
  66. package/esm2022/translations/fr.json +23 -0
  67. package/esm2022/translations/it.json +23 -0
  68. package/esm2022/translations/nl.json +23 -0
  69. package/esm2022/translations/pt.json +23 -0
  70. package/fesm2022/geonetwork-ui.mjs +1845 -811
  71. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  72. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  73. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts +1 -0
  74. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts.map +1 -1
  75. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts +1 -0
  76. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts.map +1 -1
  77. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +6 -2
  78. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  79. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -6
  80. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  81. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  82. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  83. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts +15 -0
  84. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts.map +1 -0
  85. package/libs/common/domain/src/lib/model/user/index.d.ts +2 -0
  86. package/libs/common/domain/src/lib/model/user/index.d.ts.map +1 -0
  87. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -0
  88. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  89. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
  90. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  91. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +39 -0
  92. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -0
  93. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +8 -0
  94. 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
  95. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +21 -0
  96. 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
  97. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -1
  98. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  99. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  100. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +10 -5
  101. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  102. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +7 -0
  103. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  104. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  105. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  106. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  107. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  108. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +40 -6
  109. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  110. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +24 -4
  111. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  112. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +14 -4
  113. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  114. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +8 -5
  115. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  116. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +12 -9
  117. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  118. package/libs/feature/search/src/index.d.ts +1 -0
  119. package/libs/feature/search/src/index.d.ts.map +1 -1
  120. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +3 -3
  121. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  122. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  124. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +3 -1
  125. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  126. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +24 -4
  127. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  128. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +16 -15
  129. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  130. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +11 -0
  131. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +1 -0
  132. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +21 -0
  133. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -0
  134. package/libs/ui/inputs/src/index.d.ts +15 -14
  135. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  136. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +1 -1
  137. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  138. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +9 -0
  139. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -0
  140. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +1 -1
  141. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  142. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +2 -1
  143. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  144. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +12 -0
  145. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  146. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +7 -1
  147. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  148. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +5 -1
  149. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  150. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  151. package/libs/ui/layout/src/index.d.ts +1 -0
  152. package/libs/ui/layout/src/index.d.ts.map +1 -1
  153. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +25 -0
  154. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -0
  155. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +13 -6
  156. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  157. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +4 -5
  158. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  159. package/libs/util/shared/src/lib/links/link-utils.d.ts +18 -0
  160. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  161. package/package.json +2 -2
  162. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -1
  163. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +1 -4
  164. package/src/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.ts +1 -0
  165. package/src/libs/api/repository/src/lib/gn4/auth/gravatar.service.ts +12 -1
  166. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +51 -1
  167. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +40 -7
  168. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  169. package/src/libs/common/domain/src/lib/model/record/user-feedbacks.model.ts +15 -0
  170. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -0
  171. package/src/libs/common/fixtures/src/index.ts +8 -6
  172. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +8 -0
  173. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
  174. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +83 -0
  175. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +51 -1
  176. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +0 -0
  177. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +8 -0
  178. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +64 -0
  179. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css +0 -0
  180. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +4 -0
  181. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +15 -0
  182. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +0 -0
  183. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +14 -0
  184. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +143 -0
  185. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +38 -33
  186. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +21 -0
  187. package/src/libs/feature/editor/src/lib/fields.config.ts +22 -0
  188. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +7 -0
  189. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +32 -18
  190. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +72 -17
  191. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +7 -0
  192. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +34 -8
  193. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +5 -1
  194. package/src/libs/feature/record/src/lib/feature-record.module.ts +5 -2
  195. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
  196. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +51 -6
  197. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +82 -7
  198. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +48 -8
  199. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +79 -24
  200. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +40 -10
  201. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  202. package/src/libs/feature/search/src/index.ts +1 -0
  203. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -2
  204. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +2 -1
  205. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +1 -1
  206. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +38 -20
  207. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +12 -0
  208. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +26 -10
  209. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +126 -30
  210. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +5 -2
  211. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +54 -0
  212. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.css +0 -0
  213. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +75 -0
  214. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +62 -0
  215. package/src/libs/ui/inputs/src/index.ts +15 -14
  216. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -0
  217. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +3 -0
  218. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +11 -0
  219. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +16 -0
  220. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +8 -1
  221. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -0
  222. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +14 -0
  223. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.css +6 -0
  224. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +26 -0
  225. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +32 -0
  226. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
  227. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +29 -0
  228. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +2 -1
  229. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +17 -1
  230. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  231. package/src/libs/ui/layout/src/index.ts +1 -0
  232. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +23 -0
  233. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +20 -0
  234. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +84 -0
  235. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +8 -4
  236. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -4
  237. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +45 -15
  238. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -2
  239. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +1 -1
  240. package/src/libs/util/shared/src/lib/links/link-utils.ts +21 -0
  241. package/translations/de.json +23 -0
  242. package/translations/en.json +23 -0
  243. package/translations/es.json +23 -0
  244. package/translations/fr.json +23 -0
  245. package/translations/it.json +23 -0
  246. package/translations/nl.json +23 -0
  247. package/translations/pt.json +23 -0
  248. package/translations/sk.json +23 -0
@@ -0,0 +1,104 @@
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { CheckToggleComponent, DropdownSelectorComponent, } from '../../../../../../../../../libs/ui/inputs/src';
4
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class FormFieldUpdateFrequencyComponent {
8
+ get planned() {
9
+ return this.control.value !== 'notPlanned';
10
+ }
11
+ constructor(translateService) {
12
+ this.translateService = translateService;
13
+ this.choices = [
14
+ {
15
+ value: 'day.1',
16
+ label: this.translateService.instant('domain.record.updateFrequency.day', {
17
+ count: 1,
18
+ }),
19
+ },
20
+ {
21
+ value: 'day.2',
22
+ label: this.translateService.instant('domain.record.updateFrequency.day', {
23
+ count: 2,
24
+ }),
25
+ },
26
+ {
27
+ value: 'week.1',
28
+ label: this.translateService.instant('domain.record.updateFrequency.week', {
29
+ count: 1,
30
+ }),
31
+ },
32
+ {
33
+ value: 'week.2',
34
+ label: this.translateService.instant('domain.record.updateFrequency.week', {
35
+ count: 2,
36
+ }),
37
+ },
38
+ {
39
+ value: 'month.1',
40
+ label: this.translateService.instant('domain.record.updateFrequency.month', {
41
+ count: 1,
42
+ }),
43
+ },
44
+ {
45
+ value: 'month.2',
46
+ label: this.translateService.instant('domain.record.updateFrequency.month', {
47
+ count: 2,
48
+ }),
49
+ },
50
+ {
51
+ value: 'year.1',
52
+ label: this.translateService.instant('domain.record.updateFrequency.year', {
53
+ count: 1,
54
+ }),
55
+ },
56
+ {
57
+ value: 'year.2',
58
+ label: this.translateService.instant('domain.record.updateFrequency.year', {
59
+ count: 2,
60
+ }),
61
+ },
62
+ ];
63
+ }
64
+ ngOnInit() {
65
+ const updatedTimes = this.control.value?.updatedTimes;
66
+ const per = this.control.value?.per;
67
+ if (updatedTimes && updatedTimes !== 1 && updatedTimes !== 2) {
68
+ this.choices = [
69
+ {
70
+ value: `${per}.${updatedTimes}`,
71
+ label: this.translateService.instant(`domain.record.updateFrequency.${per}`, {
72
+ count: updatedTimes,
73
+ }),
74
+ },
75
+ ...this.choices,
76
+ ];
77
+ }
78
+ }
79
+ onPlannedToggled() {
80
+ if (this.planned) {
81
+ this.control.setValue('notPlanned');
82
+ }
83
+ else {
84
+ this.control.setValue({ updatedTimes: 1, per: 'day' });
85
+ }
86
+ }
87
+ get selectedFrequency() {
88
+ const { updatedTimes, per } = this.control.value;
89
+ return `${per}.${updatedTimes}`;
90
+ }
91
+ onSelectFrequencyValue(value) {
92
+ const split = value.split('.');
93
+ this.control.setValue({ updatedTimes: Number(split[1]), per: split[0] });
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldUpdateFrequencyComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FormFieldUpdateFrequencyComponent, isStandalone: true, selector: "gn-ui-form-field-update-frequency", inputs: { control: "control" }, ngImport: i0, template: "<gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n></gn-ui-check-toggle>\n<gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n>\n</gn-ui-dropdown-selector>\n", styles: [""], dependencies: [{ kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldUpdateFrequencyComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: 'gn-ui-form-field-update-frequency', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CheckToggleComponent, DropdownSelectorComponent, TranslateModule], template: "<gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n></gn-ui-check-toggle>\n<gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n>\n</gn-ui-dropdown-selector>\n" }]
101
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { control: [{
102
+ type: Input
103
+ }] } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZC1mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5L2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7O0FBVXZFLE1BQU0sT0FBTyxpQ0FBaUM7SUFHNUMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdUN0RCxZQUFPLEdBQUc7WUFDUjtnQkFDRSxLQUFLLEVBQUUsT0FBTztnQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFD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Q0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDMUUsQ0FBQzs4R0E1Q1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsNkhDdEI5Qyw2YUFjQSwwRERNWSxvQkFBb0IsbUlBQUUseUJBQXlCLG9OQUFFLGVBQWU7OzJGQUUvRCxpQ0FBaUM7a0JBUjdDLFNBQVM7K0JBQ0UsbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLGVBQWUsQ0FBQzt1R0FHbEUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlY2tUb2dnbGVDb21wb25lbnQsIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sXG5cbiAgZ2V0IHBsYW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC52YWx1ZSAhPT0gJ25vdFBsYW5uZWQnXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgdXBkYXRlZFRpbWVzID0gdGhpcy5jb250cm9sLnZhbHVlPy51cGRhdGVkVGltZXNcbiAgICBjb25zdCBwZXIgPSB0aGlzLmNvbnRyb2wudmFsdWU/LnBlclxuICAgIGlmICh1cGRhdGVkVGltZXMgJiYgdXBkYXRlZFRpbWVzICE9PSAxICYmIHVwZGF0ZWRUaW1lcyAhPT0gMikge1xuICAgICAgdGhpcy5jaG9pY2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdmFsdWU6IGAke3Blcn0uJHt1cGRhdGVkVGltZXN9YCxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICBgZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuJHtwZXJ9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY291bnQ6IHVwZGF0ZWRUaW1lcyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICAuLi50aGlzLmNob2ljZXMsXG4gICAgICBdXG4gICAgfVxuICB9XG5cbiAgb25QbGFubmVkVG9nZ2xlZCgpIHtcbiAgICBpZiAodGhpcy5wbGFubmVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJ25vdFBsYW5uZWQnKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoeyB1cGRhdGVkVGltZXM6IDEsIHBlcjogJ2RheScgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRGcmVxdWVuY3koKSB7XG4gICAgY29uc3QgeyB1cGRhdGVkVGltZXMsIHBlciB9ID0gdGhpcy5jb250cm9sLnZhbHVlXG4gICAgcmV0dXJuIGAke3Blcn0uJHt1cGRhdGVkVGltZXN9YFxuICB9XG5cbiAgb25TZWxlY3RGcmVxdWVuY3lWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAgIGNvbnN0IHNwbGl0ID0gKHZhbHVlIGFzIHN0cmluZykuc3BsaXQoJy4nKVxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh7IHVwZGF0ZWRUaW1lczogTnVtYmVyKHNwbGl0WzFdKSwgcGVyOiBzcGxpdFswXSB9KVxuICB9XG5cbiAgY2hvaWNlcyA9IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ2RheS4xJyxcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmRheScsXG4gICAgICAgIHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhbHVlOiAnZGF5LjInLFxuICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAnZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGF5JyxcbiAgICAgICAge1xuICAgICAgICAgIGNvdW50OiAyLFxuICAgICAgICB9XG4gICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICd3ZWVrLjEnLFxuICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAnZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kud2VlaycsXG4gICAgICAgIHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhbHVlOiAnd2Vlay4yJyxcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LndlZWsnLFxuICAgICAgICB7XG4gICAgICAgICAgY291bnQ6IDIsXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ21vbnRoLjEnLFxuICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAnZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnLFxuICAgICAgICB7XG4gICAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ21vbnRoLjInLFxuICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAnZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnLFxuICAgICAgICB7XG4gICAgICAgICAgY291bnQ6IDIsXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ3llYXIuMScsXG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS55ZWFyJyxcbiAgICAgICAge1xuICAgICAgICAgIGNvdW50OiAxLFxuICAgICAgICB9XG4gICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICd5ZWFyLjInLFxuICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAnZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kueWVhcicsXG4gICAgICAgIHtcbiAgICAgICAgICBjb3VudDogMixcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICB9LFxuICBdXG59XG4iLCI8Z24tdWktY2hlY2stdG9nZ2xlXG4gIFtsYWJlbF09XCInZWRpdG9yLnJlY29yZC5mb3JtLnVwZGF0ZUZyZXF1ZW5jeS5wbGFubmVkJyB8IHRyYW5zbGF0ZVwiXG4gIFt2YWx1ZV09XCJwbGFubmVkXCJcbiAgKHRvZ2dsZWQpPVwib25QbGFubmVkVG9nZ2xlZCgpXCJcbj48L2duLXVpLWNoZWNrLXRvZ2dsZT5cbjxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICB0aXRsZT1cInVwZGF0ZUZyZXF1ZW5jeVwiXG4gIFtzaG93VGl0bGVdPVwiZmFsc2VcIlxuICBbY2hvaWNlc109XCJjaG9pY2VzXCJcbiAgW3NlbGVjdGVkXT1cInNlbGVjdGVkRnJlcXVlbmN5XCJcbiAgKHNlbGVjdFZhbHVlKT1cIm9uU2VsZWN0RnJlcXVlbmN5VmFsdWUoJGV2ZW50KVwiXG4gIFtkaXNhYmxlZF09XCIhcGxhbm5lZFwiXG4+XG48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuIl19
@@ -4,20 +4,23 @@ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatTooltipModule } from '@angular/material/tooltip';
6
6
  import { EditableLabelDirective } from '../../../../../../../../libs/ui/inputs/src';
7
+ import { FormFieldWrapperComponent } from '../../../../../../../../libs/ui/layout/src';
7
8
  import { TranslateModule } from '@ngx-translate/core';
8
9
  import { Observable } from 'rxjs';
9
10
  import { FormFieldArrayComponent } from './form-field-array/form-field-array.component';
10
11
  import { FormFieldFileComponent } from './form-field-file/form-field-file.component';
12
+ import { FormFieldLicenseComponent } from './form-field-license/form-field-license.component';
11
13
  import { FormFieldObjectComponent } from './form-field-object/form-field-object.component';
14
+ import { FormFieldResourceUpdatedComponent } from './form-field-resource-updated/form-field-resource-updated.component';
12
15
  import { FormFieldRichComponent } from './form-field-rich/form-field-rich.component';
13
16
  import { FormFieldSimpleComponent } from './form-field-simple/form-field-simple.component';
14
17
  import { FormFieldSpatialExtentComponent } from './form-field-spatial-extent/form-field-spatial-extent.component';
15
18
  import { FormFieldTemporalExtentComponent } from './form-field-temporal-extent/form-field-temporal-extent.component';
19
+ import { FormFieldUpdateFrequencyComponent } from './form-field-update-frequency/form-field-update-frequency.component';
16
20
  import * as i0 from "@angular/core";
17
21
  import * as i1 from "@angular/common";
18
- import * as i2 from "@angular/material/icon";
19
- import * as i3 from "@angular/material/tooltip";
20
- import * as i4 from "@ngx-translate/core";
22
+ import * as i2 from "@angular/material/tooltip";
23
+ import * as i3 from "@ngx-translate/core";
21
24
  export class FormFieldComponent {
22
25
  set value(v) {
23
26
  this.formControl.setValue(v, {
@@ -72,8 +75,20 @@ export class FormFieldComponent {
72
75
  get isAbstract() {
73
76
  return this.model === 'abstract';
74
77
  }
78
+ get isLicenses() {
79
+ return this.model === 'licenses';
80
+ }
81
+ get isResourceUpdated() {
82
+ return this.model === 'resourceUpdated';
83
+ }
84
+ get isUpdateFrequency() {
85
+ return this.model === 'updateFrequency';
86
+ }
87
+ get withoutWrapper() {
88
+ return this.model === 'title' || this.model === 'abstract';
89
+ }
75
90
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <div class=\"mb-2 flex flex-row\">\n <label class=\"grow\">\n <span class=\"font-medium field-label\">{{\n config.labelKey | translate\n }}</span>\n <span *ngIf=\"config.hintKey\" class=\"text-gray-900 text-sm\">\n - {{ config.hintKey | translate }}\n </span>\n </label>\n <mat-icon\n *ngIf=\"isFieldOk\"\n class=\"material-symbols-outlined text-[#c6d950] icon-ok\"\n >check_circle</mat-icon\n >\n <mat-icon\n *ngIf=\"isFieldLocked\"\n class=\"material-symbols-outlined text-blue-400 icon-locked\"\n >lock</mat-icon\n >\n <mat-icon\n *ngIf=\"isFieldInvalid\"\n class=\"material-symbols-outlined text-pink-500 icon-invalid\"\n >cancel</mat-icon\n >\n </div>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldObjectComponent, selector: "gn-ui-form-field-object" }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldTemporalExtentComponent, selector: "gn-ui-form-field-temporal-extent" }, { kind: "component", type: FormFieldFileComponent, selector: "gn-ui-form-field-file", inputs: ["control", "readonly", "invalid", "placeholder"] }, { kind: "component", type: FormFieldArrayComponent, selector: "gn-ui-form-field-array" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldObjectComponent, selector: "gn-ui-form-field-object" }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldTemporalExtentComponent, selector: "gn-ui-form-field-temporal-extent" }, { kind: "component", type: FormFieldFileComponent, selector: "gn-ui-form-field-file", inputs: ["control", "readonly", "invalid", "placeholder"] }, { kind: "component", type: FormFieldArrayComponent, selector: "gn-ui-form-field-array" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
92
  }
78
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldComponent, decorators: [{
79
94
  type: Component,
@@ -83,6 +98,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
83
98
  EditableLabelDirective,
84
99
  MatIconModule,
85
100
  MatTooltipModule,
101
+ FormFieldWrapperComponent,
102
+ FormFieldLicenseComponent,
103
+ FormFieldResourceUpdatedComponent,
104
+ FormFieldUpdateFrequencyComponent,
86
105
  FormFieldSimpleComponent,
87
106
  FormFieldRichComponent,
88
107
  FormFieldObjectComponent,
@@ -91,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
91
110
  FormFieldFileComponent,
92
111
  FormFieldArrayComponent,
93
112
  TranslateModule,
94
- ], template: "<div class=\"flex flex-col h-full\">\n <div class=\"mb-2 flex flex-row\">\n <label class=\"grow\">\n <span class=\"font-medium field-label\">{{\n config.labelKey | translate\n }}</span>\n <span *ngIf=\"config.hintKey\" class=\"text-gray-900 text-sm\">\n - {{ config.hintKey | translate }}\n </span>\n </label>\n <mat-icon\n *ngIf=\"isFieldOk\"\n class=\"material-symbols-outlined text-[#c6d950] icon-ok\"\n >check_circle</mat-icon\n >\n <mat-icon\n *ngIf=\"isFieldLocked\"\n class=\"material-symbols-outlined text-blue-400 icon-locked\"\n >lock</mat-icon\n >\n <mat-icon\n *ngIf=\"isFieldInvalid\"\n class=\"material-symbols-outlined text-pink-500 icon-invalid\"\n >cancel</mat-icon\n >\n </div>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</div>\n" }]
113
+ ], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</ng-template>\n" }]
95
114
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
96
115
  type: Input
97
116
  }], config: [{
@@ -104,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
104
123
  type: ViewChild,
105
124
  args: ['titleInput']
106
125
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsc0JBQXNC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QUN0Qix3QkFBd0Isb0VBQ3hCLCtCQUErQiw0RUFDL0IsZ0NBQWdDLDZFQUNoQyxzQkFBc0IsNkhBQ3RCLHVCQUF1QixrRUFDdkIsZUFBZTs7MkZBR04sa0JBQWtCO2tCQXRCOUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLCtCQUErQjt3QkFDL0IsZ0NBQWdDO3dCQUNoQyxzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsZUFBZTtxQkFDaEI7MEVBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRWtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50L2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNwYXRpYWxFeHRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRBcnJheUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBzdHJpbmdcbiAgQElucHV0KCkgY29uZmlnOiBGb3JtRmllbGRDb25maWdcbiAgQElucHV0KCkgc2V0IHZhbHVlKHY6IHVua25vd24pIHtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHYsIHtcbiAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgfSlcbiAgfVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IE9ic2VydmFibGU8dW5rbm93bj5cblxuICBAVmlld0NoaWxkKCd0aXRsZUlucHV0JykgdGl0bGVJbnB1dDogRWxlbWVudFJlZlxuXG4gIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKClcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgfVxuXG4gIGZvY3VzVGl0bGVJbnB1dCgpIHtcbiAgICB0aGlzLnRpdGxlSW5wdXQubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5mb2N1cygpXG4gIH1cblxuICBnZXQgc2ltcGxlVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSBhc1xuICAgICAgfCAnZGF0ZSdcbiAgICAgIHwgJ3VybCdcbiAgICAgIHwgJ3RleHQnXG4gICAgICB8ICdudW1iZXInXG4gICAgICB8ICdsaXN0J1xuICAgICAgfCAndG9nZ2xlJ1xuICB9XG5cbiAgZ2V0IGlzU2ltcGxlRmllbGQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICd0ZXh0JyB8fFxuICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICdkYXRlJyB8fFxuICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gJ2xpc3QnIHx8XG4gICAgICB0aGlzLmNvbmZpZy50eXBlID09PSAndXJsJyB8fFxuICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gJ3RvZ2dsZSdcbiAgICApXG4gIH1cbiAgZ2V0IGlzRmlsZUZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAnZmlsZSdcbiAgfVxuICBnZXQgaXNTcGF0aWFsRXh0ZW50RmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgPT09ICdzcGF0aWFsX2V4dGVudCdcbiAgfVxuICBnZXQgaXNUZW1wb3JhbEV4dGVudEZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAndGVtcG9yYWxfZXh0ZW50J1xuICB9XG4gIGdldCBpc0FycmF5RmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgPT09ICdhcnJheSdcbiAgfVxuICBnZXQgaXNPYmplY3RGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSA9PT0gJ29iamVjdCdcbiAgfVxuXG4gIGdldCBpc0ZpZWxkT2soKSB7XG4gICAgcmV0dXJuICF0aGlzLmNvbmZpZy5sb2NrZWQgJiYgIXRoaXMuY29uZmlnLmludmFsaWRcbiAgfVxuICBnZXQgaXNGaWVsZExvY2tlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcubG9ja2VkXG4gIH1cbiAgZ2V0IGlzRmllbGRJbnZhbGlkKCkge1xuICAgIHJldHVybiAhdGhpcy5jb25maWcubG9ja2VkICYmIHRoaXMuY29uZmlnLmludmFsaWRcbiAgfVxuXG4gIGdldCBpc1RpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnXG4gIH1cbiAgZ2V0IGlzQWJzdHJhY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XG4gIDxkaXYgY2xhc3M9XCJtYi0yIGZsZXggZmxleC1yb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJncm93XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIGZpZWxkLWxhYmVsXCI+e3tcbiAgICAgICAgY29uZmlnLmxhYmVsS2V5IHwgdHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmhpbnRLZXlcIiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxuICAgICAgICAtIHt7IGNvbmZpZy5oaW50S2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiaXNGaWVsZE9rXCJcbiAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LVsjYzZkOTUwXSBpY29uLW9rXCJcbiAgICAgID5jaGVja19jaXJjbGU8L21hdC1pY29uXG4gICAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgKm5nSWY9XCJpc0ZpZWxkTG9ja2VkXCJcbiAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LWJsdWUtNDAwIGljb24tbG9ja2VkXCJcbiAgICAgID5sb2NrPC9tYXQtaWNvblxuICAgID5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiaXNGaWVsZEludmFsaWRcIlxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtcGluay01MDAgaWNvbi1pbnZhbGlkXCJcbiAgICAgID5jYW5jZWw8L21hdC1pY29uXG4gICAgPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGl0bGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8aDJcbiAgICAgICAgI3RpdGxlSW5wdXRcbiAgICAgICAgY2xhc3M9XCJncm93IHRleHQtM3hsIGZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2duVWlFZGl0YWJsZUxhYmVsXT1cInRydWVcIlxuICAgICAgICAoZWRpdGFibGVMYWJlbENoYW5nZWQpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGZvcm1Db250cm9sLnZhbHVlIH19XG4gICAgICA8L2gyPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGduLXVpLWljb24tc21hbGwgbS0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgKGNsaWNrKT1cImZvY3VzVGl0bGVJbnB1dCgpXCJcbiAgICAgICAgPmVkaXQ8L3NwYW5cbiAgICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMlwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cImNvbmZpZy5oaW50S2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgPlxuICAgICAgICBoZWxwXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW1wbGVGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgW3R5cGVdPVwic2ltcGxlVHlwZVwiXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlRmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1maWxlXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1maWxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQWJzdHJhY3RcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1yaWNoXG4gICAgICBjbGFzcz1cImgtWzhyZW1dXCJcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmljaD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0FycmF5RmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1hcnJheT48L2duLXVpLWZvcm0tZmllbGQtYXJyYXk+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPYmplY3RGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLW9iamVjdD48L2duLXVpLWZvcm0tZmllbGQtb2JqZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3BhdGlhbEV4dGVudEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+PC9nbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcG9yYWxFeHRlbnRGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudD48L2duLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaXNGaWVsZEludmFsaWQgJiYgY29uZmlnLmludmFsaWRIaW50S2V5XCJcbiAgICBjbGFzcz1cIm10LTIgdGV4dC1waW5rLTUwMCB0ZXh0LXNtIGZpZWxkLWludmFsaWQtaGludFwiXG4gID5cbiAgICB7eyBjb25maWcuaW52YWxpZEhpbnRLZXkgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUseUJBQXlC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Qjt3QkFDdEIsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNoQjswRUFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFa0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWxpY2Vuc2UvZm9ybS1maWVsZC1saWNlbnNlLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZE9iamVjdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1vYmplY3QvZm9ybS1maWVsZC1vYmplY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkUmVzb3VyY2VVcGRhdGVkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWQvZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50L2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCdcbmltcG9ydCB7IEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5L2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTGljZW5zZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSaWNoQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZE9iamVjdENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEZpbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQXJyYXlDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbDogc3RyaW5nXG4gIEBJbnB1dCgpIGNvbmZpZzogRm9ybUZpZWxkQ29uZmlnXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2OiB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2LCB7XG4gICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgIH0pXG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBPYnNlcnZhYmxlPHVua25vd24+XG5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcpIHRpdGxlSW5wdXQ6IEVsZW1lbnRSZWZcblxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gIH1cblxuICBmb2N1c1RpdGxlSW5wdXQoKSB7XG4gICAgdGhpcy50aXRsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uZm9jdXMoKVxuICB9XG5cbiAgZ2V0IHNpbXBsZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgYXNcbiAgICAgIHwgJ2RhdGUnXG4gICAgICB8ICd1cmwnXG4gICAgICB8ICd0ZXh0J1xuICAgICAgfCAnbnVtYmVyJ1xuICAgICAgfCAnbGlzdCdcbiAgICAgIHwgJ3RvZ2dsZSdcbiAgfVxuXG4gIGdldCBpc1NpbXBsZUZpZWxkKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbmZpZy50eXBlID09PSAndGV4dCcgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICdudW1iZXInIHx8XG4gICAgICB0aGlzLmNvbmZpZy50eXBlID09PSAnZGF0ZScgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICdsaXN0JyB8fFxuICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gJ3VybCcgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICd0b2dnbGUnXG4gICAgKVxuICB9XG4gIGdldCBpc0ZpbGVGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSA9PT0gJ2ZpbGUnXG4gIH1cbiAgZ2V0IGlzU3BhdGlhbEV4dGVudEZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAnc3BhdGlhbF9leHRlbnQnXG4gIH1cbiAgZ2V0IGlzVGVtcG9yYWxFeHRlbnRGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSA9PT0gJ3RlbXBvcmFsX2V4dGVudCdcbiAgfVxuICBnZXQgaXNBcnJheUZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAnYXJyYXknXG4gIH1cbiAgZ2V0IGlzT2JqZWN0RmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgPT09ICdvYmplY3QnXG4gIH1cblxuICBnZXQgaXNGaWVsZE9rKCkge1xuICAgIHJldHVybiAhdGhpcy5jb25maWcubG9ja2VkICYmICF0aGlzLmNvbmZpZy5pbnZhbGlkXG4gIH1cbiAgZ2V0IGlzRmllbGRMb2NrZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmxvY2tlZFxuICB9XG4gIGdldCBpc0ZpZWxkSW52YWxpZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuY29uZmlnLmxvY2tlZCAmJiB0aGlzLmNvbmZpZy5pbnZhbGlkXG4gIH1cblxuICBnZXQgaXNUaXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RpdGxlJ1xuICB9XG4gIGdldCBpc0Fic3RyYWN0KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnXG4gIH1cbiAgZ2V0IGlzTGljZW5zZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdsaWNlbnNlcydcbiAgfVxuICBnZXQgaXNSZXNvdXJjZVVwZGF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdyZXNvdXJjZVVwZGF0ZWQnXG4gIH1cbiAgZ2V0IGlzVXBkYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndXBkYXRlRnJlcXVlbmN5J1xuICB9XG5cbiAgZ2V0IHdpdGhvdXRXcmFwcGVyKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnIHx8IHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aXRob3V0V3JhcHBlcjsgZWxzZSB3aXRoR2VuZXJpY1dyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3dpdGhHZW5lcmljV3JhcHBlcj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC13cmFwcGVyXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5IHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9nbi11aS1mb3JtLWZpZWxkLXdyYXBwZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmaWVsZENvbnRlbnQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGgyXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwiZ3JvdyB0ZXh0LTN4bCBmb250LW5vcm1hbFwiXG4gICAgICAgIFtnblVpRWRpdGFibGVMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgKGVkaXRhYmxlTGFiZWxDaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICB7eyBmb3JtQ29udHJvbC52YWx1ZSB9fVxuICAgICAgPC9oMj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJmb2N1c1RpdGxlSW5wdXQoKVwiXG4gICAgICAgID5lZGl0PC9zcGFuXG4gICAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTJcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWcuaGludEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICAgID5cbiAgICAgICAgaGVscFxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQWJzdHJhY3RcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1yaWNoXG4gICAgICBjbGFzcz1cImgtWzhyZW1dXCJcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmljaD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xpY2Vuc2VzXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtbGljZW5zZVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1saWNlbnNlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVzb3VyY2VVcGRhdGVkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZFxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1VwZGF0ZUZyZXF1ZW5jeVwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3lcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3k+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW1wbGVGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgW3R5cGVdPVwic2ltcGxlVHlwZVwiXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlRmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1maWxlXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1maWxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXlGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWFycmF5PjwvZ24tdWktZm9ybS1maWVsZC1hcnJheT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09iamVjdEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtb2JqZWN0PjwvZ24tdWktZm9ybS1maWVsZC1vYmplY3Q+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTcGF0aWFsRXh0ZW50RmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD48L2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wb3JhbEV4dGVudEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50PjwvZ24tdWktZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJpc0ZpZWxkSW52YWxpZCAmJiBjb25maWcuaW52YWxpZEhpbnRLZXlcIlxuICAgIGNsYXNzPVwibXQtMiB0ZXh0LXBpbmstNTAwIHRleHQtc20gZmllbGQtaW52YWxpZC1oaW50XCJcbiAgPlxuICAgIHt7IGNvbmZpZy5pbnZhbGlkSGludEtleSB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -145,7 +145,7 @@ export class WizardFieldComponent {
145
145
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
146
146
  },
147
147
  { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
148
- ], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], 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.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "component", type: i5.TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: i6.ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
+ ], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], 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.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i5.TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: i6.ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
149
  }
150
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardFieldComponent, decorators: [{
151
151
  type: Component,
@@ -1,3 +1,4 @@
1
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
1
2
  export const DEFAULT_FIELDS = [
2
3
  {
3
4
  model: 'title',
@@ -30,5 +31,26 @@ export const DEFAULT_FIELDS = [
30
31
  },
31
32
  onSaveProcess: '${dateNow()}',
32
33
  },
34
+ {
35
+ model: 'licenses',
36
+ formFieldConfig: {
37
+ labelKey: marker('editor.record.form.license'),
38
+ type: 'list',
39
+ },
40
+ },
41
+ {
42
+ model: 'resourceUpdated',
43
+ formFieldConfig: {
44
+ labelKey: marker('editor.record.form.resourceUpdated'),
45
+ type: 'date',
46
+ },
47
+ },
48
+ {
49
+ model: 'updateFrequency',
50
+ formFieldConfig: {
51
+ labelKey: marker('editor.record.form.updateFrequency'),
52
+ type: 'text',
53
+ },
54
+ },
33
55
  ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBdUI7SUFDaEQ7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsVUFBVTtRQUNqQixlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsTUFBTTtTQUNiO0tBQ0Y7SUFDRDtRQUNFLEtBQUssRUFBRSxrQkFBa0I7UUFDekIsZUFBZSxFQUFFO1lBQ2YsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2I7S0FDRjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGVBQWU7UUFDdEIsZUFBZSxFQUFFO1lBQ2YsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2I7UUFDRCxhQUFhLEVBQUUsY0FBYztLQUM5QjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3JGaWVsZHNDb25maWcgfSBmcm9tICcuL21vZGVscy9maWVsZHMubW9kZWwnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJRUxEUzogRWRpdG9yRmllbGRzQ29uZmlnID0gW1xuICB7XG4gICAgbW9kZWw6ICd0aXRsZScsXG4gICAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgICBsYWJlbEtleTogJ01ldGFkYXRhIHRpdGxlJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbW9kZWw6ICdhYnN0cmFjdCcsXG4gICAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgICBsYWJlbEtleTogJ0Fic3RyYWN0JyxcbiAgICAgIHR5cGU6ICdyaWNoJyxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbW9kZWw6ICd1bmlxdWVJZGVudGlmaWVyJyxcbiAgICBmb3JtRmllbGRDb25maWc6IHtcbiAgICAgIGxhYmVsS2V5OiAnVW5pcXVlIGlkZW50aWZpZXInLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbG9ja2VkOiB0cnVlLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBtb2RlbDogJ3JlY29yZFVwZGF0ZWQnLFxuICAgIGZvcm1GaWVsZENvbmZpZzoge1xuICAgICAgbGFiZWxLZXk6ICdSZWNvcmQgVXBkYXRlZCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsb2NrZWQ6IHRydWUsXG4gICAgfSxcbiAgICBvblNhdmVQcm9jZXNzOiAnJHtkYXRlTm93KCl9JyxcbiAgfSxcbl1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXVCO0lBQ2hEO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLElBQUksRUFBRSxNQUFNO1NBQ2I7S0FDRjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsZUFBZSxFQUFFO1lBQ2YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSTtTQUNiO0tBQ0Y7SUFDRDtRQUNFLEtBQUssRUFBRSxlQUFlO1FBQ3RCLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSTtTQUNiO1FBQ0QsYUFBYSxFQUFFLGNBQWM7S0FDOUI7SUFDRDtRQUNFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsNEJBQTRCLENBQUM7WUFDOUMsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsb0NBQW9DLENBQUM7WUFDdEQsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsb0NBQW9DLENBQUM7WUFDdEQsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IEVkaXRvckZpZWxkc0NvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2ZpZWxkcy5tb2RlbCdcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklFTERTOiBFZGl0b3JGaWVsZHNDb25maWcgPSBbXG4gIHtcbiAgICBtb2RlbDogJ3RpdGxlJyxcbiAgICBmb3JtRmllbGRDb25maWc6IHtcbiAgICAgIGxhYmVsS2V5OiAnTWV0YWRhdGEgdGl0bGUnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBtb2RlbDogJ2Fic3RyYWN0JyxcbiAgICBmb3JtRmllbGRDb25maWc6IHtcbiAgICAgIGxhYmVsS2V5OiAnQWJzdHJhY3QnLFxuICAgICAgdHlwZTogJ3JpY2gnLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBtb2RlbDogJ3VuaXF1ZUlkZW50aWZpZXInLFxuICAgIGZvcm1GaWVsZENvbmZpZzoge1xuICAgICAgbGFiZWxLZXk6ICdVbmlxdWUgaWRlbnRpZmllcicsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsb2NrZWQ6IHRydWUsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG1vZGVsOiAncmVjb3JkVXBkYXRlZCcsXG4gICAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgICBsYWJlbEtleTogJ1JlY29yZCBVcGRhdGVkJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxvY2tlZDogdHJ1ZSxcbiAgICB9LFxuICAgIG9uU2F2ZVByb2Nlc3M6ICcke2RhdGVOb3coKX0nLFxuICB9LFxuICB7XG4gICAgbW9kZWw6ICdsaWNlbnNlcycsXG4gICAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZScpLFxuICAgICAgdHlwZTogJ2xpc3QnLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBtb2RlbDogJ3Jlc291cmNlVXBkYXRlZCcsXG4gICAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucmVzb3VyY2VVcGRhdGVkJyksXG4gICAgICB0eXBlOiAnZGF0ZScsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG1vZGVsOiAndXBkYXRlRnJlcXVlbmN5JyxcbiAgICBmb3JtRmllbGRDb25maWc6IHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS51cGRhdGVGcmVxdWVuY3knKSxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICB9LFxuICB9LFxuXVxuIl19
@@ -8,36 +8,35 @@ import { CommonModule } from '@angular/common';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common";
10
10
  import * as i2 from "@ngx-translate/core";
11
- import * as i3 from "../../../../../ui/inputs/src/lib/button/button.component";
12
- import * as i4 from "../../../../../ui/inputs/src/lib/text-input/text-input.component";
11
+ import * as i3 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
12
+ import * as i4 from "../../../../../ui/inputs/src/lib/button/button.component";
13
+ import * as i5 from "../../../../../ui/inputs/src/lib/text-input/text-input.component";
13
14
  export class AddLayerFromOgcApiComponent {
14
15
  constructor(changeDetectorRef) {
15
16
  this.changeDetectorRef = changeDetectorRef;
16
17
  this.layerAdded = new EventEmitter();
17
18
  this.urlChange = new Subject();
18
- this.layerUrl = '';
19
19
  this.loading = false;
20
20
  this.layers = [];
21
- this.ogcEndpoint = null;
22
21
  this.errorMessage = null;
22
+ this.selectedLayerTypes = {};
23
23
  }
24
24
  ngOnInit() {
25
25
  this.urlChange.pipe(debounceTime(700)).subscribe(() => {
26
26
  this.loadLayers();
27
- this.changeDetectorRef.detectChanges(); // manually trigger change detection
28
27
  });
29
28
  }
30
29
  async loadLayers() {
31
30
  this.errorMessage = null;
32
31
  try {
33
32
  this.loading = true;
34
- if (this.ogcUrl.trim() === '') {
33
+ if (!this.ogcUrl.trim()) {
35
34
  this.layers = [];
36
35
  return;
37
36
  }
38
- this.ogcEndpoint = await new OgcApiEndpoint(this.ogcUrl);
39
- // Currently only supports feature collections
40
- this.layers = await this.ogcEndpoint.featureCollections;
37
+ const ogcEndpoint = await new OgcApiEndpoint(this.ogcUrl);
38
+ this.layers = await ogcEndpoint.allCollections;
39
+ this.setDefaultLayerTypes();
41
40
  }
42
41
  catch (error) {
43
42
  const err = error;
@@ -49,24 +48,78 @@ export class AddLayerFromOgcApiComponent {
49
48
  this.changeDetectorRef.markForCheck();
50
49
  }
51
50
  }
52
- async addLayer(layer) {
53
- this.layerUrl = await this.ogcEndpoint.getCollectionItemsUrl(layer);
54
- const layerToAdd = {
55
- name: layer,
56
- url: this.layerUrl,
57
- type: MapContextLayerTypeEnum.OGCAPI,
58
- };
59
- this.layerAdded.emit({ ...layerToAdd, title: layer });
51
+ setDefaultLayerTypes() {
52
+ this.layers.forEach((layer) => {
53
+ const choices = this.getLayerChoices(layer);
54
+ if (choices.length > 0) {
55
+ this.selectedLayerTypes[layer.name] = choices[0].value;
56
+ }
57
+ });
58
+ }
59
+ getLayerChoices(layer) {
60
+ const choices = [];
61
+ if (layer.hasRecords) {
62
+ choices.push({ label: 'Records', value: 'record' });
63
+ }
64
+ if (layer.hasFeatures) {
65
+ choices.push({ label: 'Features', value: 'features' });
66
+ }
67
+ if (layer.hasVectorTiles) {
68
+ choices.push({ label: 'Vector Tiles', value: 'vectorTiles' });
69
+ }
70
+ if (layer.hasMapTiles) {
71
+ choices.push({ label: 'Map Tiles', value: 'mapTiles' });
72
+ }
73
+ return choices;
74
+ }
75
+ shouldDisplayLayer(layer) {
76
+ return (layer.hasRecords ||
77
+ layer.hasFeatures ||
78
+ layer.hasVectorTiles ||
79
+ layer.hasMapTiles);
80
+ }
81
+ onLayerTypeSelect(layerName, selectedType) {
82
+ this.selectedLayerTypes[layerName] = selectedType
83
+ ? selectedType
84
+ : this.getLayerChoices(layerName)[0]?.value;
85
+ }
86
+ async addLayer(layer, layerType) {
87
+ try {
88
+ const ogcEndpoint = await new OgcApiEndpoint(this.ogcUrl);
89
+ let layerUrl;
90
+ if (layerType === 'vectorTiles') {
91
+ layerUrl = await ogcEndpoint.getVectorTilesetUrl(layer);
92
+ }
93
+ else if (layerType === 'mapTiles') {
94
+ layerUrl = await ogcEndpoint.getMapTilesetUrl(layer);
95
+ }
96
+ else {
97
+ layerUrl = await ogcEndpoint.getCollectionItemsUrl(layer, {
98
+ outputFormat: 'json',
99
+ });
100
+ }
101
+ const layerToAdd = {
102
+ name: layer,
103
+ url: layerUrl,
104
+ type: MapContextLayerTypeEnum.OGCAPI,
105
+ layerType: layerType,
106
+ };
107
+ this.layerAdded.emit({ ...layerToAdd, title: layer });
108
+ }
109
+ catch (error) {
110
+ const err = error;
111
+ console.error('Error adding layer:', err.message);
112
+ }
60
113
  }
61
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromOgcApiComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromOgcApiComponent, isStandalone: true, selector: "gn-ui-add-layer-from-ogc-api", inputs: { ogcUrl: "ogcUrl" }, outputs: { layerAdded: "layerAdded" }, ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer }}\n </p>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }] }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromOgcApiComponent, isStandalone: true, selector: "gn-ui-add-layer-from-ogc-api", inputs: { ogcUrl: "ogcUrl" }, outputs: { layerAdded: "layerAdded" }, ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: UiInputsModule }, { 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.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }] }); }
63
116
  }
64
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromOgcApiComponent, decorators: [{
65
118
  type: Component,
66
- args: [{ selector: 'gn-ui-add-layer-from-ogc-api', standalone: true, imports: [CommonModule, TranslateModule, UiInputsModule], template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer }}\n </p>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n" }]
119
+ args: [{ selector: 'gn-ui-add-layer-from-ogc-api', standalone: true, imports: [CommonModule, TranslateModule, UiInputsModule], template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"] }]
67
120
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { ogcUrl: [{
68
121
  type: Input
69
122
  }], layerAdded: [{
70
123
  type: Output
71
124
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tb2djLWFwaS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tb2djLWFwaS9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBVTlDLE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFUOUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFZLENBQUE7UUFFbkQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDakMsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNiLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixXQUFNLEdBQWEsRUFBRSxDQUFBO1FBQ3JCLGdCQUFXLEdBQW1CLElBQUksQ0FBQTtRQUNsQyxpQkFBWSxHQUFrQixJQUFJLENBQUE7SUFFeUIsQ0FBQztJQUU1RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFBLENBQUMsb0NBQW9DO1FBQzdFLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDeEIsSUFBSTtZQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO2dCQUNoQixPQUFNO2FBQ1A7WUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRXhELDhDQUE4QztZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQTtTQUN4RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxHQUFHLEdBQUcsS0FBYyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1lBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsd0JBQXdCLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQTtTQUMzRDtnQkFBUztZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFbkUsTUFBTSxVQUFVLEdBQXlCO1lBQ3ZDLElBQUksRUFBRSxLQUFLO1lBQ1gsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ2xCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1NBQ3JDLENBQUE7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7OEdBbkRVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDZKQzNCeEMsMmpDQW9DQSx5RERYWSxZQUFZLCtQQUFFLGVBQWUsa09BQUUsY0FBYzs7MkZBRTVDLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUM7d0dBRy9DLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2djQXBpRW5kcG9pbnQgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbn0gZnJvbSAnLi4vbWFwLWNvbnRleHQvbWFwLWNvbnRleHQubW9kZWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXBMYXllciB9IGZyb20gJy4uLytzdGF0ZS9tYXAubW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBVaUlucHV0c01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkZExheWVyRnJvbU9nY0FwaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG9nY1VybDogc3RyaW5nXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNYXBMYXllcj4oKVxuXG4gIHVybENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBsYXllclVybCA9ICcnXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBsYXllcnM6IHN0cmluZ1tdID0gW11cbiAgb2djRW5kcG9pbnQ6IE9nY0FwaUVuZHBvaW50ID0gbnVsbFxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cmxDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoNzAwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZExheWVycygpXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSAvLyBtYW51YWxseSB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgbG9hZExheWVycygpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGxcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgaWYgKHRoaXMub2djVXJsLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMub2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG5cbiAgICAgIC8vIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIGZlYXR1cmUgY29sbGVjdGlvbnNcbiAgICAgIHRoaXMubGF5ZXJzID0gYXdhaXQgdGhpcy5vZ2NFbmRwb2ludC5mZWF0dXJlQ29sbGVjdGlvbnNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3JcbiAgICAgIHRoaXMubGF5ZXJzID0gW11cbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0Vycm9yIGxvYWRpbmcgbGF5ZXJzOiAnICsgZXJyLm1lc3NhZ2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cblxuICBhc3luYyBhZGRMYXllcihsYXllcjogc3RyaW5nKSB7XG4gICAgdGhpcy5sYXllclVybCA9IGF3YWl0IHRoaXMub2djRW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkl0ZW1zVXJsKGxheWVyKVxuXG4gICAgY29uc3QgbGF5ZXJUb0FkZDogTWFwQ29udGV4dExheWVyTW9kZWwgPSB7XG4gICAgICBuYW1lOiBsYXllcixcbiAgICAgIHVybDogdGhpcy5sYXllclVybCxcbiAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLk9HQ0FQSSxcbiAgICB9XG4gICAgdGhpcy5sYXllckFkZGVkLmVtaXQoeyAuLi5sYXllclRvQWRkLCB0aXRsZTogbGF5ZXIgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1iLTVcIj5cbiAgPGduLXVpLXRleHQtaW5wdXRcbiAgICBbKHZhbHVlKV09XCJvZ2NVcmxcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJ1cmxDaGFuZ2UubmV4dCgkZXZlbnQpXCJcbiAgICBbaGludF09XCInbWFwLm9nYy51cmxJbnB1dC5oaW50JyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ3LTk2XCJcbiAgPlxuICA8L2duLXVpLXRleHQtaW5wdXQ+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIG10LTJcIj5cbiAge3sgZXJyb3JNZXNzYWdlIH19XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgPHAgY2xhc3M9XCJsb2FkaW5nLW1lc3NhZ2VcIiB0cmFuc2xhdGU+bWFwLmxvYWRpbmcuc2VydmljZTwvcD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgbGF5ZXJzLmxlbmd0aCA+IDBcIj5cbiAgPGgyIGNsYXNzPVwiZm9udC1ib2xkXCIgdHJhbnNsYXRlPm1hcC5sYXllcnMuYXZhaWxhYmxlPC9oMj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGF5ZXIgb2YgbGF5ZXJzXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBteS0yIGxheWVyLWl0ZW0tdHJlZVwiPlxuICAgICAgPHAgY2xhc3M9XCJtYXgtdy14cyBvdmVyZmxvdy1oaWRkZW4gb3ZlcmZsb3ctZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXBcIj5cbiAgICAgICAge3sgbGF5ZXIgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJsYXllci1hZGQtYnRuXCJcbiAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiYWRkTGF5ZXIobGF5ZXIpXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cInRleHQtc20gIXB4LTIgIXB5LTFcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPjxzcGFuIHRyYW5zbGF0ZT4gbWFwLmxheWVyLmFkZCA8L3NwYW4+PC9nbi11aS1idXR0b25cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tb2djLWFwaS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tb2djLWFwaS9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7QUFVOUMsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVI5QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQTtRQUVuRCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQTtRQUNqQyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsV0FBTSxHQUFVLEVBQUUsQ0FBQTtRQUNsQixpQkFBWSxH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T0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDbEQ7SUFDSCxDQUFDOzhHQTFHVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw2SkMzQnhDLDZrREFrREEsMElEekJZLFlBQVksK1BBQUUsZUFBZSxrT0FBRSxjQUFjOzsyRkFFNUMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQzt3R0FHL0MsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPZ2NBcGlFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxufSBmcm9tICcuLi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBEcm9wZG93bkNob2ljZSwgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXBMYXllciB9IGZyb20gJy4uLytzdGF0ZS9tYXAubW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBVaUlucHV0c01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkZExheWVyRnJvbU9nY0FwaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG9nY1VybDogc3RyaW5nXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNYXBMYXllcj4oKVxuXG4gIHVybENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBsb2FkaW5nID0gZmFsc2VcbiAgbGF5ZXJzOiBhbnlbXSA9IFtdXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc2VsZWN0ZWRMYXllclR5cGVzOiB7IFtrZXk6IHN0cmluZ106IERyb3Bkb3duQ2hvaWNlWyd2YWx1ZSddIH0gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXJsQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRMYXllcnMoKVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBsb2FkTGF5ZXJzKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICBpZiAoIXRoaXMub2djVXJsLnRyaW0oKSkge1xuICAgICAgICB0aGlzLmxheWVycyA9IFtdXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICB0aGlzLmxheWVycyA9IGF3YWl0IG9nY0VuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICB0aGlzLnNldERlZmF1bHRMYXllclR5cGVzKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3JcbiAgICAgIHRoaXMubGF5ZXJzID0gW11cbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0Vycm9yIGxvYWRpbmcgbGF5ZXJzOiAnICsgZXJyLm1lc3NhZ2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0TGF5ZXJUeXBlcygpIHtcbiAgICB0aGlzLmxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgY29uc3QgY2hvaWNlcyA9IHRoaXMuZ2V0TGF5ZXJDaG9pY2VzKGxheWVyKVxuICAgICAgaWYgKGNob2ljZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllci5uYW1lXSA9IGNob2ljZXNbMF0udmFsdWVcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TGF5ZXJDaG9pY2VzKGxheWVyOiBhbnkpIHtcbiAgICBjb25zdCBjaG9pY2VzID0gW11cbiAgICBpZiAobGF5ZXIuaGFzUmVjb3Jkcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdSZWNvcmRzJywgdmFsdWU6ICdyZWNvcmQnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNGZWF0dXJlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdGZWF0dXJlcycsIHZhbHVlOiAnZmVhdHVyZXMnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNWZWN0b3JUaWxlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdWZWN0b3IgVGlsZXMnLCB2YWx1ZTogJ3ZlY3RvclRpbGVzJyB9KVxuICAgIH1cbiAgICBpZiAobGF5ZXIuaGFzTWFwVGlsZXMpIHtcbiAgICAgIGNob2ljZXMucHVzaCh7IGxhYmVsOiAnTWFwIFRpbGVzJywgdmFsdWU6ICdtYXBUaWxlcycgfSlcbiAgICB9XG4gICAgcmV0dXJuIGNob2ljZXNcbiAgfVxuXG4gIHNob3VsZERpc3BsYXlMYXllcihsYXllcjogYW55KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxheWVyLmhhc1JlY29yZHMgfHxcbiAgICAgIGxheWVyLmhhc0ZlYXR1cmVzIHx8XG4gICAgICBsYXllci5oYXNWZWN0b3JUaWxlcyB8fFxuICAgICAgbGF5ZXIuaGFzTWFwVGlsZXNcbiAgICApXG4gIH1cblxuICBvbkxheWVyVHlwZVNlbGVjdChsYXllck5hbWU6IHN0cmluZywgc2VsZWN0ZWRUeXBlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllck5hbWVdID0gc2VsZWN0ZWRUeXBlXG4gICAgICA/IHNlbGVjdGVkVHlwZVxuICAgICAgOiB0aGlzLmdldExheWVyQ2hvaWNlcyhsYXllck5hbWUpWzBdPy52YWx1ZVxuICB9XG5cbiAgYXN5bmMgYWRkTGF5ZXIobGF5ZXI6IHN0cmluZywgbGF5ZXJUeXBlOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICBsZXQgbGF5ZXJVcmw6IHN0cmluZ1xuXG4gICAgICBpZiAobGF5ZXJUeXBlID09PSAndmVjdG9yVGlsZXMnKSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0VmVjdG9yVGlsZXNldFVybChsYXllcilcbiAgICAgIH0gZWxzZSBpZiAobGF5ZXJUeXBlID09PSAnbWFwVGlsZXMnKSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0TWFwVGlsZXNldFVybChsYXllcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkl0ZW1zVXJsKGxheWVyLCB7XG4gICAgICAgICAgb3V0cHV0Rm9ybWF0OiAnanNvbicsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxheWVyVG9BZGQ6IE1hcENvbnRleHRMYXllck1vZGVsID0ge1xuICAgICAgICBuYW1lOiBsYXllcixcbiAgICAgICAgdXJsOiBsYXllclVybCxcbiAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uT0dDQVBJLFxuICAgICAgICBsYXllclR5cGU6IGxheWVyVHlwZSxcbiAgICAgIH1cbiAgICAgIHRoaXMubGF5ZXJBZGRlZC5lbWl0KHsgLi4ubGF5ZXJUb0FkZCwgdGl0bGU6IGxheWVyIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhZGRpbmcgbGF5ZXI6JywgZXJyLm1lc3NhZ2UpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWItNVwiPlxuICA8Z24tdWktdGV4dC1pbnB1dFxuICAgIFsodmFsdWUpXT1cIm9nY1VybFwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInVybENoYW5nZS5uZXh0KCRldmVudClcIlxuICAgIFtoaW50XT1cIidtYXAub2djLnVybElucHV0LmhpbnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cInctOTZcIlxuICA+PC9nbi11aS10ZXh0LWlucHV0PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBtdC0yXCI+XG4gIHt7IGVycm9yTWVzc2FnZSB9fVxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJsb2FkaW5nXCI+XG4gIDxwIGNsYXNzPVwibG9hZGluZy1tZXNzYWdlXCIgdHJhbnNsYXRlPm1hcC5sb2FkaW5nLnNlcnZpY2U8L3A+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGF5ZXIgb2YgbGF5ZXJzXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cInNob3VsZERpc3BsYXlMYXllcihsYXllcilcIlxuICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG15LTIgbGF5ZXItaXRlbS10cmVlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IHctZnVsbFwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJtYXgtdy14cyBvdmVyZmxvdy1oaWRkZW4gb3ZlcmZsb3ctZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgICAgICBbdGl0bGVdPVwibGF5ZXIubmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGxheWVyLm5hbWUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgICAgIFt0aXRsZV09XCInQWRkIExheWVyIEFzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2Nob2ljZXNdPVwiZ2V0TGF5ZXJDaG9pY2VzKGxheWVyKVwiXG4gICAgICAgICAgKHNlbGVjdFZhbHVlKT1cIm9uTGF5ZXJUeXBlU2VsZWN0KGxheWVyLm5hbWUsICRldmVudClcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZExheWVyVHlwZXNbbGF5ZXIubmFtZV1cIlxuICAgICAgICAgIGV4dHJhQnRuQ2xhc3M9XCJ3LTYgaC01ICF0ZXh0LXNtICFweC0yICFweS0xXCJcbiAgICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICBjbGFzcz1cImxheWVyLWFkZC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiYWRkTGF5ZXIobGF5ZXIubmFtZSwgc2VsZWN0ZWRMYXllclR5cGVzW2xheWVyLm5hbWVdKVwiXG4gICAgICAgICAgZXh0cmFDbGFzcz1cInRleHQtc20gIXB4LTIgIXB5LTFcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPm1hcC5sYXllci5hZGQ8L3NwYW4+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=