@mediusinc/mng-commons 1.4.0 → 2.0.0-rc.0-08f92864

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 (416) hide show
  1. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  2. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  3. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  4. package/esm2020/lib/api/models/index.mjs +8 -8
  5. package/esm2020/lib/api/models/mappers.mjs +12 -12
  6. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  7. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  8. package/esm2020/lib/api/models/query-result.model.mjs +23 -23
  9. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  10. package/esm2020/lib/api/services/api.abstract.service.mjs +57 -57
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +74 -74
  12. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +29 -29
  13. package/esm2020/lib/api/services/index.mjs +3 -3
  14. package/esm2020/lib/api/utils/index.mjs +2 -2
  15. package/esm2020/lib/api/utils/medius-rest.util.mjs +213 -213
  16. package/esm2020/lib/api/utils/object-serializer.util.mjs +247 -247
  17. package/esm2020/lib/components/action/action.component.mjs +281 -275
  18. package/esm2020/lib/components/action/editor/action-editor.component.mjs +303 -303
  19. package/esm2020/lib/components/action/index.mjs +4 -4
  20. package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +45 -45
  21. package/esm2020/lib/components/action/models/action-component.model.mjs +2 -2
  22. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -2
  23. package/esm2020/lib/components/action/models/action-execution.model.mjs +249 -249
  24. package/esm2020/lib/components/action/models/index.mjs +4 -4
  25. package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +10 -10
  26. package/esm2020/lib/components/action/route/action-route.component.mjs +131 -130
  27. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +301 -300
  28. package/esm2020/lib/components/form/date-range/date-range.component.mjs +110 -109
  29. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +196 -194
  30. package/esm2020/lib/components/form/editor/form-editor.component.mjs +246 -243
  31. package/esm2020/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +43 -39
  32. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +51 -50
  33. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +46 -45
  34. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +28 -26
  35. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +180 -150
  36. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +24 -24
  37. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +191 -186
  38. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +198 -197
  39. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +158 -154
  40. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +19 -17
  41. package/esm2020/lib/components/form/formly/fields/index.mjs +10 -10
  42. package/esm2020/lib/components/form/formly/formly.config.mjs +211 -211
  43. package/esm2020/lib/components/form/formly/index.mjs +1 -1
  44. package/esm2020/lib/components/form/formly/models/formly-config.model.mjs +1 -1
  45. package/esm2020/lib/components/form/formly/models/formly-field.model.mjs +2 -2
  46. package/esm2020/lib/components/form/formly/models/index.mjs +2 -2
  47. package/esm2020/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +16 -15
  48. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +84 -83
  49. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  50. package/esm2020/lib/components/form/index.mjs +4 -4
  51. package/esm2020/lib/components/form/models/field-action-context.model.mjs +2 -2
  52. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  53. package/esm2020/lib/components/form/models/form-editor.interface.mjs +1 -1
  54. package/esm2020/lib/components/form/models/index.mjs +2 -2
  55. package/esm2020/lib/components/layout/breadcrumb.component.mjs +18 -17
  56. package/esm2020/lib/components/layout/footer.component.mjs +18 -17
  57. package/esm2020/lib/components/layout/index.mjs +7 -7
  58. package/esm2020/lib/components/layout/main-layout.component.mjs +52 -52
  59. package/esm2020/lib/components/layout/menu-item.component.mjs +292 -272
  60. package/esm2020/lib/components/layout/menu.component.mjs +32 -21
  61. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  62. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +194 -194
  63. package/esm2020/lib/components/layout/topbar.component.mjs +67 -65
  64. package/esm2020/lib/components/layout/version.component.mjs +58 -58
  65. package/esm2020/lib/components/tableview/index.mjs +6 -6
  66. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  67. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -16
  68. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +150 -147
  69. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +52 -53
  70. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +121 -120
  71. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +101 -84
  72. package/esm2020/lib/components/tableview/table/table.component.mjs +611 -595
  73. package/esm2020/lib/components/tableview/tableview.component.mjs +115 -113
  74. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  75. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  76. package/esm2020/lib/data-providers/index.mjs +6 -6
  77. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  78. package/esm2020/lib/data-providers/table.data-provider.mjs +37 -37
  79. package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +23 -23
  80. package/esm2020/lib/data-providers/tableview.data-provider.mjs +44 -44
  81. package/esm2020/lib/descriptors/action/action-button.descriptor.mjs +60 -0
  82. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +77 -77
  83. package/esm2020/lib/descriptors/action/action.descriptor.mjs +579 -0
  84. package/esm2020/lib/descriptors/action/index.mjs +4 -0
  85. package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +291 -0
  86. package/esm2020/lib/descriptors/editor/field-validation.descriptor.mjs +25 -0
  87. package/esm2020/lib/descriptors/editor/field.descriptor.mjs +990 -0
  88. package/esm2020/lib/descriptors/editor/index.mjs +4 -0
  89. package/esm2020/lib/descriptors/filter/filter.descriptor.mjs +370 -0
  90. package/esm2020/lib/descriptors/filter/index.mjs +2 -0
  91. package/esm2020/lib/descriptors/index.mjs +2 -12
  92. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  93. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  94. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  95. package/esm2020/lib/descriptors/model.descriptor.mjs +44 -44
  96. package/esm2020/lib/descriptors/table/column.descriptor.mjs +406 -0
  97. package/esm2020/lib/descriptors/table/index.mjs +3 -0
  98. package/esm2020/lib/descriptors/table/table.descriptor.mjs +497 -0
  99. package/esm2020/lib/descriptors/tableview/index.mjs +2 -0
  100. package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +346 -0
  101. package/esm2020/lib/descriptors/types/action.type.mjs +25 -25
  102. package/esm2020/lib/descriptors/types/column.type.mjs +20 -20
  103. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  104. package/esm2020/lib/descriptors/types/field.type.mjs +55 -55
  105. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  106. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  107. package/esm2020/lib/descriptors/types/table.type.mjs +26 -26
  108. package/esm2020/lib/directives/component.directive.mjs +45 -44
  109. package/esm2020/lib/directives/index.mjs +2 -2
  110. package/esm2020/lib/directives/template.directive.mjs +29 -28
  111. package/esm2020/lib/mng-commons.module.mjs +445 -485
  112. package/esm2020/lib/models/column-value.model.mjs +2 -2
  113. package/esm2020/lib/models/config.model.mjs +2 -2
  114. package/esm2020/lib/models/enum.model.mjs +1 -1
  115. package/esm2020/lib/models/error.model.mjs +1 -1
  116. package/esm2020/lib/models/index.mjs +9 -9
  117. package/esm2020/lib/models/menu.model.mjs +2 -2
  118. package/esm2020/lib/models/tableview-attr.model.mjs +1 -1
  119. package/esm2020/lib/models/user.model.mjs +1 -1
  120. package/esm2020/lib/models/version.model.mjs +1 -1
  121. package/esm2020/lib/models/view-container.model.mjs +2 -2
  122. package/esm2020/lib/pipes/boolean.pipe.mjs +28 -27
  123. package/esm2020/lib/pipes/class-map.pipe.mjs +23 -22
  124. package/esm2020/lib/pipes/enum.pipe.mjs +26 -25
  125. package/esm2020/lib/pipes/enumerate-async.pipe.mjs +39 -38
  126. package/esm2020/lib/pipes/enumerate.pipe.mjs +56 -55
  127. package/esm2020/lib/pipes/getter.pipe.mjs +21 -20
  128. package/esm2020/lib/pipes/i18n-property.pipe.mjs +19 -18
  129. package/esm2020/lib/pipes/index.mjs +11 -11
  130. package/esm2020/lib/pipes/json-path.pipe.mjs +80 -79
  131. package/esm2020/lib/pipes/locale-default-row-class.pipe.mjs +27 -26
  132. package/esm2020/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +1 -1
  133. package/esm2020/lib/pipes/models/internal/index.mjs +1 -1
  134. package/esm2020/lib/pipes/parametrize.pipe.mjs +86 -85
  135. package/esm2020/lib/pipes/template.pipe.mjs +25 -24
  136. package/esm2020/lib/provide-commons.mjs +73 -0
  137. package/esm2020/lib/router/index.mjs +4 -3
  138. package/esm2020/lib/router/models/index.mjs +1 -1
  139. package/esm2020/lib/router/models/router.model.mjs +2 -2
  140. package/esm2020/lib/router/route-builder.mjs +313 -426
  141. package/esm2020/lib/router/routes-builder.mjs +67 -0
  142. package/esm2020/lib/router/tableview-route-builder.mjs +187 -187
  143. package/esm2020/lib/security/authorization.guard.mjs +29 -26
  144. package/esm2020/lib/security/authorization.service.mjs +50 -47
  145. package/esm2020/lib/security/authorization.util.mjs +15 -15
  146. package/esm2020/lib/security/index.mjs +3 -3
  147. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  148. package/esm2020/lib/security/model/index.mjs +3 -3
  149. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  150. package/esm2020/lib/security/model/permissions.model.mjs +86 -86
  151. package/esm2020/lib/services/action-executor.service.mjs +558 -555
  152. package/esm2020/lib/services/commons.service.mjs +464 -461
  153. package/esm2020/lib/services/configuration.service.mjs +149 -142
  154. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  155. package/esm2020/lib/services/index.mjs +6 -6
  156. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  157. package/esm2020/lib/services/internal/commons-init.service.mjs +50 -44
  158. package/esm2020/lib/services/internal/index.mjs +2 -2
  159. package/esm2020/lib/services/navigation.service.mjs +51 -48
  160. package/esm2020/lib/services/providers/config-service.provider.mjs +31 -30
  161. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  162. package/esm2020/lib/services/providers/index.mjs +2 -2
  163. package/esm2020/lib/services/router.service.mjs +97 -0
  164. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  165. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  166. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  167. package/esm2020/lib/services/tokens/index.mjs +4 -4
  168. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  169. package/esm2020/lib/services/version.service.mjs +42 -39
  170. package/esm2020/lib/services/view-container.component.service.mjs +55 -55
  171. package/esm2020/lib/styles/button-style.builder.mjs +164 -164
  172. package/esm2020/lib/styles/index.mjs +2 -2
  173. package/esm2020/lib/styles/models/index.mjs +2 -2
  174. package/esm2020/lib/styles/models/style-level.enum.mjs +11 -11
  175. package/esm2020/lib/styles/models/style-size.enum.mjs +8 -8
  176. package/esm2020/lib/styles/styles.util.mjs +42 -42
  177. package/esm2020/lib/types/index.mjs +2 -2
  178. package/esm2020/lib/types/type.decorator.mjs +21 -21
  179. package/esm2020/lib/types/type.model.mjs +1 -1
  180. package/esm2020/lib/utils/action-data-provider.util.mjs +145 -145
  181. package/esm2020/lib/utils/date.util.mjs +117 -117
  182. package/esm2020/lib/utils/editor-formly.util.mjs +288 -288
  183. package/esm2020/lib/utils/enum.util.mjs +81 -81
  184. package/esm2020/lib/utils/export.util.mjs +20 -20
  185. package/esm2020/lib/utils/i18n.util.mjs +233 -233
  186. package/esm2020/lib/utils/index.mjs +10 -10
  187. package/esm2020/lib/utils/model.util.mjs +68 -68
  188. package/esm2020/lib/utils/notification.util.mjs +51 -51
  189. package/esm2020/lib/utils/route.util.mjs +36 -24
  190. package/esm2020/lib/utils/string.util.mjs +26 -26
  191. package/esm2020/lib/utils/tableview.util.mjs +160 -160
  192. package/esm2020/lib/utils/type.util.mjs +92 -92
  193. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  194. package/esm2020/public-api.mjs +61 -55
  195. package/fesm2015/mediusinc-mng-commons.mjs +14147 -13931
  196. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  197. package/fesm2020/mediusinc-mng-commons.mjs +13980 -13768
  198. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  199. package/index.d.ts +5 -5
  200. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  201. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  202. package/lib/api/models/filter-param.model.d.ts +23 -23
  203. package/lib/api/models/index.d.ts +8 -8
  204. package/lib/api/models/mappers.d.ts +6 -6
  205. package/lib/api/models/query-mode.model.d.ts +16 -16
  206. package/lib/api/models/query-param.model.d.ts +31 -31
  207. package/lib/api/models/query-result.model.d.ts +24 -24
  208. package/lib/api/models/serialization.model.d.ts +8 -8
  209. package/lib/api/services/api.abstract.service.d.ts +24 -24
  210. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  211. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  212. package/lib/api/services/index.d.ts +3 -3
  213. package/lib/api/utils/index.d.ts +2 -2
  214. package/lib/api/utils/medius-rest.util.d.ts +16 -16
  215. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  216. package/lib/components/action/action.component.d.ts +79 -79
  217. package/lib/components/action/editor/action-editor.component.d.ts +69 -69
  218. package/lib/components/action/index.d.ts +4 -4
  219. package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -25
  220. package/lib/components/action/models/action-component.model.d.ts +15 -15
  221. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  222. package/lib/components/action/models/action-execution.model.d.ts +135 -135
  223. package/lib/components/action/models/index.d.ts +4 -4
  224. package/lib/components/action/models/tableview-action-default-categories.model.d.ts +10 -10
  225. package/lib/components/action/route/action-route.component.d.ts +31 -31
  226. package/lib/components/form/autocomplete/autocomplete.component.d.ts +61 -61
  227. package/lib/components/form/date-range/date-range.component.d.ts +28 -28
  228. package/lib/components/form/dropdown/dropdown.component.d.ts +52 -52
  229. package/lib/components/form/editor/form-editor.component.d.ts +52 -52
  230. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +13 -13
  231. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +16 -16
  232. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +15 -15
  233. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +14 -14
  234. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +29 -29
  235. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -11
  236. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +46 -46
  237. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +25 -24
  238. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
  239. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -7
  240. package/lib/components/form/formly/fields/index.d.ts +10 -10
  241. package/lib/components/form/formly/formly.config.d.ts +14 -14
  242. package/lib/components/form/formly/index.d.ts +1 -1
  243. package/lib/components/form/formly/models/formly-config.model.d.ts +11 -11
  244. package/lib/components/form/formly/models/formly-field.model.d.ts +16 -16
  245. package/lib/components/form/formly/models/index.d.ts +2 -2
  246. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +6 -6
  247. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +11 -11
  248. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  249. package/lib/components/form/index.d.ts +4 -4
  250. package/lib/components/form/models/field-action-context.model.d.ts +17 -17
  251. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  252. package/lib/components/form/models/form-editor.interface.d.ts +10 -10
  253. package/lib/components/form/models/index.d.ts +2 -2
  254. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  255. package/lib/components/layout/footer.component.d.ts +9 -9
  256. package/lib/components/layout/index.d.ts +7 -7
  257. package/lib/components/layout/main-layout.component.d.ts +20 -20
  258. package/lib/components/layout/menu-item.component.d.ts +56 -52
  259. package/lib/components/layout/menu.component.d.ts +16 -10
  260. package/lib/components/layout/services/index.d.ts +1 -1
  261. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  262. package/lib/components/layout/topbar.component.d.ts +28 -28
  263. package/lib/components/layout/version.component.d.ts +19 -19
  264. package/lib/components/tableview/index.d.ts +6 -6
  265. package/lib/components/tableview/models/index.d.ts +1 -1
  266. package/lib/components/tableview/models/table.event.d.ts +17 -17
  267. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +36 -33
  268. package/lib/components/tableview/route/tableview-route.component.d.ts +19 -18
  269. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +38 -38
  270. package/lib/components/tableview/table/column-value/column-value.component.d.ts +35 -35
  271. package/lib/components/tableview/table/table.component.d.ts +117 -115
  272. package/lib/components/tableview/tableview.component.d.ts +49 -48
  273. package/lib/data-providers/base.data-provider.d.ts +14 -14
  274. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  275. package/lib/data-providers/index.d.ts +6 -6
  276. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  277. package/lib/data-providers/table.data-provider.d.ts +27 -27
  278. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -8
  279. package/lib/data-providers/tableview.data-provider.d.ts +33 -33
  280. package/lib/descriptors/{action-button.descriptor.d.ts → action/action-button.descriptor.d.ts} +22 -22
  281. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +36 -36
  282. package/lib/descriptors/{action.descriptor.d.ts → action/action.descriptor.d.ts} +225 -223
  283. package/lib/descriptors/action/index.d.ts +3 -0
  284. package/lib/descriptors/{editor.descriptor.d.ts → editor/editor.descriptor.d.ts} +119 -116
  285. package/lib/descriptors/{field-validation.descriptor.d.ts → editor/field-validation.descriptor.d.ts} +19 -19
  286. package/lib/descriptors/{field.descriptor.d.ts → editor/field.descriptor.d.ts} +349 -345
  287. package/lib/descriptors/editor/index.d.ts +3 -0
  288. package/lib/descriptors/{filter.descriptor.d.ts → filter/filter.descriptor.d.ts} +120 -118
  289. package/lib/descriptors/filter/index.d.ts +1 -0
  290. package/lib/descriptors/index.d.ts +1 -11
  291. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  292. package/lib/descriptors/interfaces/index.d.ts +2 -2
  293. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  294. package/lib/descriptors/model.descriptor.d.ts +18 -18
  295. package/lib/descriptors/{column.descriptor.d.ts → table/column.descriptor.d.ts} +130 -130
  296. package/lib/descriptors/table/index.d.ts +2 -0
  297. package/lib/descriptors/{table.descriptor.d.ts → table/table.descriptor.d.ts} +193 -193
  298. package/lib/descriptors/tableview/index.d.ts +1 -0
  299. package/lib/descriptors/{tableview.descriptor.d.ts → tableview/tableview.descriptor.d.ts} +131 -129
  300. package/lib/descriptors/types/action.type.d.ts +21 -21
  301. package/lib/descriptors/types/column.type.d.ts +18 -18
  302. package/lib/descriptors/types/editor.type.d.ts +6 -6
  303. package/lib/descriptors/types/field.type.d.ts +47 -47
  304. package/lib/descriptors/types/filter.type.d.ts +27 -27
  305. package/lib/descriptors/types/index.d.ts +6 -6
  306. package/lib/descriptors/types/table.type.d.ts +22 -22
  307. package/lib/directives/component.directive.d.ts +16 -16
  308. package/lib/directives/index.d.ts +2 -2
  309. package/lib/directives/template.directive.d.ts +13 -13
  310. package/lib/mng-commons.module.d.ts +99 -99
  311. package/lib/models/column-value.model.d.ts +4 -4
  312. package/lib/models/config.model.d.ts +41 -40
  313. package/lib/models/enum.model.d.ts +6 -6
  314. package/lib/models/error.model.d.ts +14 -14
  315. package/lib/models/index.d.ts +9 -9
  316. package/lib/models/menu.model.d.ts +30 -30
  317. package/lib/models/tableview-attr.model.d.ts +10 -10
  318. package/lib/models/user.model.d.ts +8 -8
  319. package/lib/models/version.model.d.ts +18 -18
  320. package/lib/models/view-container.model.d.ts +43 -43
  321. package/lib/pipes/boolean.pipe.d.ts +7 -7
  322. package/lib/pipes/class-map.pipe.d.ts +7 -7
  323. package/lib/pipes/enum.pipe.d.ts +8 -8
  324. package/lib/pipes/enumerate-async.pipe.d.ts +14 -14
  325. package/lib/pipes/enumerate.pipe.d.ts +21 -21
  326. package/lib/pipes/getter.pipe.d.ts +7 -7
  327. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  328. package/lib/pipes/index.d.ts +11 -11
  329. package/lib/pipes/json-path.pipe.d.ts +13 -13
  330. package/lib/pipes/locale-default-row-class.pipe.d.ts +10 -10
  331. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +5 -5
  332. package/lib/pipes/models/internal/index.d.ts +1 -1
  333. package/lib/pipes/parametrize.pipe.d.ts +13 -13
  334. package/lib/pipes/template.pipe.d.ts +10 -10
  335. package/lib/provide-commons.d.ts +3 -0
  336. package/lib/router/index.d.ts +3 -2
  337. package/lib/router/models/index.d.ts +1 -1
  338. package/lib/router/models/router.model.d.ts +36 -33
  339. package/lib/router/route-builder.d.ts +62 -98
  340. package/lib/router/routes-builder.d.ts +29 -0
  341. package/lib/router/tableview-route-builder.d.ts +38 -37
  342. package/lib/security/authorization.guard.d.ts +11 -11
  343. package/lib/security/authorization.service.d.ts +19 -19
  344. package/lib/security/authorization.util.d.ts +5 -5
  345. package/lib/security/index.d.ts +3 -3
  346. package/lib/security/model/authorization.type.d.ts +6 -6
  347. package/lib/security/model/index.d.ts +3 -3
  348. package/lib/security/model/permission-service.interface.d.ts +6 -6
  349. package/lib/security/model/permissions.model.d.ts +37 -37
  350. package/lib/services/action-executor.service.d.ts +150 -149
  351. package/lib/services/commons.service.d.ts +93 -93
  352. package/lib/services/configuration.service.d.ts +60 -57
  353. package/lib/services/error-mapper.service.d.ts +7 -7
  354. package/lib/services/index.d.ts +6 -6
  355. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  356. package/lib/services/internal/commons-init.service.d.ts +18 -16
  357. package/lib/services/internal/index.d.ts +2 -2
  358. package/lib/services/navigation.service.d.ts +14 -14
  359. package/lib/services/providers/config-service.provider.d.ts +6 -6
  360. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  361. package/lib/services/providers/index.d.ts +2 -2
  362. package/lib/services/router.service.d.ts +22 -0
  363. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  364. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  365. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  366. package/lib/services/tokens/index.d.ts +4 -4
  367. package/lib/services/tokens/module-config.token.d.ts +3 -3
  368. package/lib/services/version.service.d.ts +13 -13
  369. package/lib/services/view-container.component.service.d.ts +31 -31
  370. package/lib/styles/button-style.builder.d.ts +67 -67
  371. package/lib/styles/index.d.ts +2 -2
  372. package/lib/styles/models/index.d.ts +2 -2
  373. package/lib/styles/models/style-level.enum.d.ts +10 -10
  374. package/lib/styles/models/style-size.enum.d.ts +7 -7
  375. package/lib/styles/styles.util.d.ts +15 -14
  376. package/lib/types/index.d.ts +2 -2
  377. package/lib/types/type.decorator.d.ts +4 -4
  378. package/lib/types/type.model.d.ts +23 -23
  379. package/lib/utils/action-data-provider.util.d.ts +20 -20
  380. package/lib/utils/date.util.d.ts +7 -7
  381. package/lib/utils/editor-formly.util.d.ts +12 -12
  382. package/lib/utils/enum.util.d.ts +50 -50
  383. package/lib/utils/export.util.d.ts +5 -5
  384. package/lib/utils/i18n.util.d.ts +57 -56
  385. package/lib/utils/index.d.ts +10 -10
  386. package/lib/utils/model.util.d.ts +8 -8
  387. package/lib/utils/notification.util.d.ts +13 -12
  388. package/lib/utils/route.util.d.ts +59 -4
  389. package/lib/utils/string.util.d.ts +4 -4
  390. package/lib/utils/tableview.util.d.ts +40 -40
  391. package/lib/utils/type.util.d.ts +57 -57
  392. package/package.json +6 -6
  393. package/public-api.d.ts +40 -34
  394. package/scss/common/layout/_breadcrumb.scss +12 -2
  395. package/scss/common/layout/_exception.scss +1 -1
  396. package/scss/common/layout/_inlinemenu.scss +13 -0
  397. package/scss/common/layout/_login.scss +1 -0
  398. package/scss/common/layout/_rightmenu.scss +5 -0
  399. package/scss/common/layout/menu/_menu_common.scss +1 -1
  400. package/scss/common/theme/designer/_mixins.scss +29 -0
  401. package/scss/common/theme/extensions/_datatable.scss +2 -2
  402. package/scss/common/variables/layout/_layout_dark.scss +0 -1
  403. package/scss/common/variables/layout/_layout_light.scss +0 -1
  404. package/scss/common/variables/theme/_theme_dark.scss +72 -46
  405. package/scss/common/variables/theme/_theme_light.scss +70 -33
  406. package/version-info.json +7 -7
  407. package/esm2020/lib/descriptors/action-button.descriptor.mjs +0 -60
  408. package/esm2020/lib/descriptors/action.descriptor.mjs +0 -577
  409. package/esm2020/lib/descriptors/column.descriptor.mjs +0 -405
  410. package/esm2020/lib/descriptors/editor.descriptor.mjs +0 -290
  411. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +0 -25
  412. package/esm2020/lib/descriptors/field.descriptor.mjs +0 -987
  413. package/esm2020/lib/descriptors/filter.descriptor.mjs +0 -368
  414. package/esm2020/lib/descriptors/table.descriptor.mjs +0 -497
  415. package/esm2020/lib/descriptors/tableview.descriptor.mjs +0 -344
  416. package/mediusinc-mng-commons-1.4.0.tgz +0 -0
@@ -1,142 +1,149 @@
1
- import { combineLatest, of, tap, throwError } from 'rxjs';
2
- import { catchError, map } from 'rxjs/operators';
3
- export class MngConfigurationService {
4
- constructor(http) {
5
- this.http = http;
6
- this.jsonSources = [];
7
- this.objectSources = [];
8
- this.configuration = { ...this.projectEnvironment };
9
- /**
10
- * returns true if there is no jsonSources
11
- */
12
- this.skipJsonConfigsLoading = () => this.jsonSources === null || this.jsonSources.length === 0;
13
- /**
14
- * loads json sources or skips them returning true in both cases
15
- * used for `skipJsonSourceInit` configuration parameter
16
- */
17
- this.loadJsonConfigurations = () => (this.skipJsonConfigsLoading() ? of(true) : this.loadJsonSources());
18
- }
19
- static init(httpClient) {
20
- if (!this._instance) {
21
- MngConfigurationService._instance = new MngConfigurationService(httpClient);
22
- }
23
- return MngConfigurationService.get();
24
- }
25
- static get() {
26
- if (!MngConfigurationService._instance) {
27
- throw new Error('Configuration service instance not set. Call init first.');
28
- }
29
- return MngConfigurationService._instance;
30
- }
31
- /**
32
- * Add project environment source.
33
- * @param environemnt Environment.
34
- */
35
- addEnvironmentSource(environment) {
36
- this.projectEnvironment = environment;
37
- this.mergeConfigs();
38
- }
39
- /**
40
- * Adds new config source from JSON file loaded from HTTP.
41
- * @param url Url to JSON file.
42
- * @param loadImmediately Load is by default triggered on app initialization. If immediate load is required, pass true.
43
- */
44
- addJsonSource(url = this.projectEnvironment.configurationJsonSource, loadImmediately = false) {
45
- if (!url) {
46
- console.debug('No path to configuration file specified. Setting default.');
47
- url = 'assets/config/env{{environment}}.json';
48
- }
49
- const sourceInfo = {
50
- url: url,
51
- isEnvironment: false,
52
- isLoaded: false
53
- };
54
- this.jsonSources.push(sourceInfo);
55
- console.debug(`Added JSON source: ${url}`);
56
- if (loadImmediately) {
57
- return this.loadJsonConfigurations();
58
- }
59
- else {
60
- return of(true);
61
- }
62
- }
63
- /**
64
- * Adds new config object from any object.
65
- * @param config Config object.
66
- */
67
- addObjectSource(config) {
68
- this.objectSources.push(config);
69
- this.mergeConfigs();
70
- }
71
- loadJsonSources() {
72
- return combineLatest(this.jsonSources
73
- .filter(source => !source.isLoaded)
74
- .map(sourceInfo => {
75
- let url = sourceInfo.url;
76
- if (url.indexOf('{{environment}}') >= 0) {
77
- sourceInfo.isEnvironment = true;
78
- sourceInfo.environment = this.projectEnvironment.name || (this.projectEnvironment.production ? 'prod' : 'dev');
79
- url = url.replace('{{environment}}', '.' + sourceInfo.environment);
80
- }
81
- console.debug(`Loading JSON source: ${sourceInfo.url} with env ${sourceInfo.environment ?? '/'}`);
82
- return this.http.get(url).pipe(catchError((err) => {
83
- if (sourceInfo.isEnvironment) {
84
- const noEnvUrl = sourceInfo.url.replace('{{environment}}', '');
85
- sourceInfo.environment = null;
86
- console.debug(`Reloading JSON source: ${sourceInfo.url} with env ${sourceInfo.environment ?? '/'}`);
87
- return this.http.get(noEnvUrl);
88
- }
89
- else {
90
- const message = `Configuration file ${url} not loaded (${err.status}): ${err.message}.`;
91
- console.error(message);
92
- return throwError(() => new Error(message));
93
- }
94
- }), map(configuration => {
95
- sourceInfo.configuration = configuration;
96
- sourceInfo.isLoaded = true;
97
- console.debug(`JSON source loaded: ${sourceInfo.url}`);
98
- return true;
99
- }));
100
- })).pipe(map(sourceResults => sourceResults.every(sr => sr)), tap(() => this.mergeConfigs()));
101
- }
102
- /**
103
- * Get configuration.
104
- */
105
- getConfig() {
106
- return this.configuration;
107
- }
108
- /**
109
- * Get configuration value for key.
110
- * @param key Configuration key.
111
- */
112
- getConfigValue(key) {
113
- return this.configuration[key] ? this.configuration[key] : null;
114
- }
115
- /**
116
- * Has configuration for key.
117
- * @param key Configuration key.
118
- */
119
- hasConfigKey(key) {
120
- return Object.keys(this.configuration).some(k => k === key);
121
- }
122
- /**
123
- * Merges configuration from multiple sources with
124
- */
125
- mergeConfigs() {
126
- let config = { ...this.projectEnvironment };
127
- const jsonConfigs = this.jsonSources.filter(source => source.isLoaded && typeof source.configuration === 'object').map(source => source.configuration);
128
- if (jsonConfigs.length) {
129
- for (const jsonConfig of jsonConfigs) {
130
- config = { ...config, ...jsonConfig };
131
- }
132
- }
133
- if (this.objectSources.length) {
134
- for (const objConfig of this.objectSources) {
135
- config = { ...config, ...objConfig };
136
- }
137
- }
138
- this.configuration = config;
139
- }
140
- }
141
- MngConfigurationService._instance = null;
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE1BQU0sT0FBTyx1QkFBdUI7SUF1QmhDLFlBQTRCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFMcEMsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLGtCQUFhLEdBQWUsRUFBRSxDQUFDO1FBRS9CLGtCQUFhLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBQyxDQUFDO1FBaURyRDs7V0FFRztRQUNLLDJCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUVsRzs7O1dBR0c7UUFDSSwyQkFBc0IsR0FBRyxHQUF3QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQXhEaEYsQ0FBQztJQXBCekMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFzQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQix1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sdUJBQXVCLENBQUMsR0FBRyxFQUFF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b25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQge09ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mLCB0YXAsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgc3RhdGljIGluaXQoaHR0cENsaWVudDogSHR0cENsaWVudCk6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgICAgICAgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlID0gbmV3IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKGh0dHBDbGllbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBNbmdDb25maWd1cmF0aW9uU2VydmljZS5nZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSB7XG4gICAgICAgIGlmICghTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gc2VydmljZSBpbnN0YW5jZSBub3Qgc2V0LiBDYWxsIGluaXQgZmlyc3QuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLl9pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2plY3RFbnZpcm9ubWVudD86IGFueTtcbiAgICBwcml2YXRlIGpzb25Tb3VyY2VzOiBBcnJheTxKc29uU291cmNlTG9hZEluZm8+ID0gW107XG4gICAgcHJpdmF0ZSBvYmplY3RTb3VyY2VzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5wcm9qZWN0RW52aXJvbm1lbnR9O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgcHJvamVjdCBlbnZpcm9ubWVudCBzb3VyY2UuXG4gICAgICogQHBhcmFtIGVudmlyb25lbW50IEVudmlyb25tZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRFbnZpcm9ubWVudFNvdXJjZShlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIHNvdXJjZSBmcm9tIEpTT04gZmlsZSBsb2FkZWQgZnJvbSBIVFRQLlxuICAgICAqIEBwYXJhbSB1cmwgVXJsIHRvIEpTT04gZmlsZS5cbiAgICAgKiBAcGFyYW0gbG9hZEltbWVkaWF0ZWx5IExvYWQgaXMgYnkgZGVmYXVsdCB0cmlnZ2VyZWQgb24gYXBwIGluaXRpYWxpemF0aW9uLiBJZiBpbW1lZGlhdGUgbG9hZCBpcyByZXF1aXJlZCwgcGFzcyB0cnVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRKc29uU291cmNlKHVybDogc3RyaW5nID0gdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQuY29uZmlndXJhdGlvbkpzb25Tb3VyY2UsIGxvYWRJbW1lZGlhdGVseSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKCdObyBwYXRoIHRvIGNvbmZpZ3VyYXRpb24gZmlsZSBzcGVjaWZpZWQuIFNldHRpbmcgZGVmYXVsdC4nKTtcbiAgICAgICAgICAgIHVybCA9ICdhc3NldHMvY29uZmlnL2Vudnt7ZW52aXJvbm1lbnR9fS5qc29uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNvdXJjZUluZm86IEpzb25Tb3VyY2VMb2FkSW5mbyA9IHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgICAgaXNFbnZpcm9ubWVudDogZmFsc2UsXG4gICAgICAgICAgICBpc0xvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5qc29uU291cmNlcy5wdXNoKHNvdXJjZUluZm8pO1xuXG4gICAgICAgIGNvbnNvbGUuZGVidWcoYEFkZGVkIEpTT04gc291cmNlOiAke3VybH1gKTtcblxuICAgICAgICBpZiAobG9hZEltbWVkaWF0ZWx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgb2JqZWN0IGZyb20gYW55IG9iamVjdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZyBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFkZE9iamVjdFNvdXJjZShjb25maWc6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9iamVjdFNvdXJjZXMucHVzaChjb25maWcpO1xuICAgICAgICB0aGlzLm1lcmdlQ29uZmlncygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgdHJ1ZSBpZiB0aGVyZSBpcyBubyBqc29uU291cmNlc1xuICAgICAqL1xuICAgIHByaXZhdGUgc2tpcEpzb25Db25maWdzTG9hZGluZyA9ICgpID0+IHRoaXMuanNvblNvdXJjZXMgPT09IG51bGwgfHwgdGhpcy5qc29uU291cmNlcy5sZW5ndGggPT09IDA7XG5cbiAgICAvKipcbiAgICAgKiBsb2FkcyBqc29uIHNvdXJjZXMgb3Igc2tpcHMgdGhlbSByZXR1cm5pbmcgdHJ1ZSBpbiBib3RoIGNhc2VzXG4gICAgICogdXNlZCBmb3IgYHNraXBKc29uU291cmNlSW5pdGAgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEpzb25Db25maWd1cmF0aW9ucyA9ICgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0+ICh0aGlzLnNraXBKc29uQ29uZmlnc0xvYWRpbmcoKSA/IG9mKHRydWUpIDogdGhpcy5sb2FkSnNvblNvdXJjZXMoKSk7XG5cbiAgICBwcml2YXRlIGxvYWRKc29uU291cmNlcygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICB0aGlzLmpzb25Tb3VyY2VzXG4gICAgICAgICAgICAgICAgLmZpbHRlcihzb3VyY2UgPT4gIXNvdXJjZS5pc0xvYWRlZClcbiAgICAgICAgICAgICAgICAubWFwKHNvdXJjZUluZm8gPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdXJsID0gc291cmNlSW5mby51cmw7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1cmwuaW5kZXhPZigne3tlbnZpcm9ubWVudH19JykgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5pc0Vudmlyb25tZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSB0aGlzLnByb2plY3RFbnZpcm9ubWVudC5uYW1lIHx8ICh0aGlzLnByb2plY3RFbnZpcm9ubWVudC5wcm9kdWN0aW9uID8gJ3Byb2QnIDogJ2RldicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcuJyArIHNvdXJjZUluZm8uZW52aXJvbm1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhgTG9hZGluZyBKU09OIHNvdXJjZTogJHtzb3VyY2VJbmZvLnVybH0gd2l0aCBlbnYgJHtzb3VyY2VJbmZvLmVudmlyb25tZW50ID8/ICcvJ31gKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxvYmplY3Q+KHVybCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlSW5mby5pc0Vudmlyb25tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vRW52VXJsID0gc291cmNlSW5mby51cmwucmVwbGFjZSgne3tlbnZpcm9ubWVudH19JywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmVudmlyb25tZW50ID0gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBSZWxvYWRpbmcgSlNPTiBzb3VyY2U6ICR7c291cmNlSW5mby51cmx9IHdpdGggZW52ICR7c291cmNlSW5mby5lbnZpcm9ubWVudCA/PyAnLyd9YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8b2JqZWN0Pihub0VudlVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBDb25maWd1cmF0aW9uIGZpbGUgJHt1cmx9IG5vdCBsb2FkZWQgKCR7ZXJyLnN0YXR1c30pOiAke2Vyci5tZXNzYWdlfS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IobWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGNvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5pc0xvYWRlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBKU09OIHNvdXJjZSBsb2FkZWQ6ICR7c291cmNlSW5mby51cmx9YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHNvdXJjZVJlc3VsdHMgPT4gc291cmNlUmVzdWx0cy5ldmVyeShzciA9PiBzcikpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMubWVyZ2VDb25maWdzKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29uZmlndXJhdGlvbiB2YWx1ZSBmb3Iga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgQ29uZmlndXJhdGlvbiBrZXkuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbmZpZ1ZhbHVlKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25ba2V5XSA/IHRoaXMuY29uZmlndXJhdGlvbltrZXldIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYXMgY29uZmlndXJhdGlvbiBmb3Iga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgQ29uZmlndXJhdGlvbiBrZXkuXG4gICAgICovXG4gICAgcHVibGljIGhhc0NvbmZpZ0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5jb25maWd1cmF0aW9uKS5zb21lKGsgPT4gayA9PT0ga2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgY29uZmlndXJhdGlvbiBmcm9tIG11bHRpcGxlIHNvdXJjZXMgd2l0aFxuICAgICAqL1xuICAgIHByaXZhdGUgbWVyZ2VDb25maWdzKCkge1xuICAgICAgICBsZXQgY29uZmlnID0gey4uLnRoaXMucHJvamVjdEVudmlyb25tZW50fTtcbiAgICAgICAgY29uc3QganNvbkNvbmZpZ3MgPSB0aGlzLmpzb25Tb3VyY2VzLmZpbHRlcihzb3VyY2UgPT4gc291cmNlLmlzTG9hZGVkICYmIHR5cGVvZiBzb3VyY2UuY29uZmlndXJhdGlvbiA9PT0gJ29iamVjdCcpLm1hcChzb3VyY2UgPT4gc291cmNlLmNvbmZpZ3VyYXRpb24pO1xuICAgICAgICBpZiAoanNvbkNvbmZpZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGpzb25Db25maWcgb2YganNvbkNvbmZpZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25maWcgPSB7Li4uY29uZmlnLCAuLi5qc29uQ29uZmlnfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vYmplY3RTb3VyY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBvYmpDb25maWcgb2YgdGhpcy5vYmplY3RTb3VyY2VzKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnID0gey4uLmNvbmZpZywgLi4ub2JqQ29uZmlnfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWc7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSnNvblNvdXJjZUxvYWRJbmZvIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBpc0xvYWRlZDogYm9vbGVhbjtcbiAgICBpc0Vudmlyb25tZW50OiBib29sZWFuO1xuICAgIGVudmlyb25tZW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgICBjb25maWd1cmF0aW9uPzogb2JqZWN0O1xufVxuIl19
1
+ import { combineLatest, of, tap, throwError } from 'rxjs';
2
+ import { catchError, map } from 'rxjs/operators';
3
+ export class MngConfigurationService {
4
+ static init(httpClient) {
5
+ if (!this._instance) {
6
+ MngConfigurationService._instance = new MngConfigurationService(httpClient);
7
+ }
8
+ return MngConfigurationService.get();
9
+ }
10
+ static get() {
11
+ if (!MngConfigurationService._instance) {
12
+ throw new Error('Configuration service instance not set. Call init first.');
13
+ }
14
+ return MngConfigurationService._instance;
15
+ }
16
+ constructor(http) {
17
+ this.http = http;
18
+ this.jsonSources = [];
19
+ this.objectSources = [];
20
+ this.configuration = { ...this.projectEnvironment };
21
+ /**
22
+ * returns true if there is no jsonSources
23
+ */
24
+ this.skipJsonConfigsLoading = () => this.jsonSources === null || this.jsonSources.length === 0;
25
+ /**
26
+ * loads json sources or skips them returning true in both cases
27
+ * used for `skipJsonSourceInit` configuration parameter
28
+ */
29
+ this.loadJsonConfigurations = () => (this.skipJsonConfigsLoading() ? of(true) : this.loadJsonSources());
30
+ }
31
+ /**
32
+ * Add project environment source.
33
+ * @param environemnt Environment.
34
+ */
35
+ addEnvironmentSource(environment) {
36
+ this.projectEnvironment = environment;
37
+ this.mergeConfigs();
38
+ }
39
+ /**
40
+ * Adds new config source from JSON file loaded from HTTP.
41
+ * @param url Url to JSON file.
42
+ * @param loadImmediately Load is by default triggered on app initialization. If immediate load is required, pass true.
43
+ */
44
+ addJsonSource(config = {}, loadImmediately = false) {
45
+ if (!config) {
46
+ config = {};
47
+ }
48
+ const url = config?.url ?? 'assets/config/env{{environment}}.json';
49
+ const enableEnvProdReplace = config?.enableEnvProd ?? false;
50
+ const sourceInfo = {
51
+ url: url,
52
+ isEnvironment: false,
53
+ environmentEnableEnvProd: enableEnvProdReplace,
54
+ isLoaded: false
55
+ };
56
+ this.jsonSources.push(sourceInfo);
57
+ console.debug(`Added JSON source: ${url}`);
58
+ if (loadImmediately) {
59
+ return this.loadJsonConfigurations();
60
+ }
61
+ else {
62
+ return of(true);
63
+ }
64
+ }
65
+ /**
66
+ * Adds new config object from any object.
67
+ * @param config Config object.
68
+ */
69
+ addObjectSource(config) {
70
+ this.objectSources.push(config);
71
+ this.mergeConfigs();
72
+ }
73
+ loadJsonSources() {
74
+ return combineLatest(this.jsonSources
75
+ .filter(source => !source.isLoaded)
76
+ .map(sourceInfo => {
77
+ let url = sourceInfo.url;
78
+ sourceInfo.environment = this.projectEnvironment.name || (this.projectEnvironment.production ? (sourceInfo.environmentEnableEnvProd ? 'prod' : null) : 'dev');
79
+ sourceInfo.isEnvironment = !!sourceInfo.environment;
80
+ if (sourceInfo.isEnvironment) {
81
+ url = url.replace('{{environment}}', '.' + sourceInfo.environment);
82
+ }
83
+ else {
84
+ // replace possible environment entry and change source info url
85
+ url = url.replace('{{environment}}', '');
86
+ sourceInfo.url = url;
87
+ }
88
+ console.debug(`Loading JSON source: ${sourceInfo.url} with env ${sourceInfo.environment ?? '/'}`);
89
+ return this.http.get(url).pipe(catchError((err) => {
90
+ if (sourceInfo.isEnvironment) {
91
+ const noEnvUrl = sourceInfo.url.replace('{{environment}}', '');
92
+ sourceInfo.environment = null;
93
+ console.debug(`Reloading JSON source: ${sourceInfo.url} with env ${sourceInfo.environment ?? '/'}`);
94
+ return this.http.get(noEnvUrl);
95
+ }
96
+ else {
97
+ const message = `Configuration file ${url} not loaded (${err.status}): ${err.message}.`;
98
+ console.error(message);
99
+ return throwError(() => new Error(message));
100
+ }
101
+ }), map(configuration => {
102
+ sourceInfo.configuration = configuration;
103
+ sourceInfo.isLoaded = true;
104
+ console.debug(`JSON source loaded: ${sourceInfo.url}`);
105
+ return true;
106
+ }));
107
+ })).pipe(map(sourceResults => sourceResults.every(sr => sr)), tap(() => this.mergeConfigs()));
108
+ }
109
+ /**
110
+ * Get configuration.
111
+ */
112
+ getConfig() {
113
+ return this.configuration;
114
+ }
115
+ /**
116
+ * Get configuration value for key.
117
+ * @param key Configuration key.
118
+ */
119
+ getConfigValue(key) {
120
+ return this.configuration[key] ? this.configuration[key] : null;
121
+ }
122
+ /**
123
+ * Has configuration for key.
124
+ * @param key Configuration key.
125
+ */
126
+ hasConfigKey(key) {
127
+ return Object.keys(this.configuration).some(k => k === key);
128
+ }
129
+ /**
130
+ * Merges configuration from multiple sources with
131
+ */
132
+ mergeConfigs() {
133
+ let config = { ...this.projectEnvironment };
134
+ const jsonConfigs = this.jsonSources.filter(source => source.isLoaded && typeof source.configuration === 'object').map(source => source.configuration);
135
+ if (jsonConfigs.length) {
136
+ for (const jsonConfig of jsonConfigs) {
137
+ config = { ...config, ...jsonConfig };
138
+ }
139
+ }
140
+ if (this.objectSources.length) {
141
+ for (const objConfig of this.objectSources) {
142
+ config = { ...config, ...objConfig };
143
+ }
144
+ }
145
+ this.configuration = config;
146
+ }
147
+ }
148
+ MngConfigurationService._instance = null;
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE1BQU0sT0FBTyx1QkFBdUI7SUFHekIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFzQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQix1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sdUJBQXVCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHO1FBQ2IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7U0FDL0U7UUFDRCxPQUFPLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBUUQsWUFBNEIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUxwQyxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFDLENBQUM7UUFtRHJEOztXQUVHO1FBQ0ssMkJBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FB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M0IsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN4QyxNQUFNLEdBQUcsRUFBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLFNBQVMsRUFBQyxDQUFDO2FBQ3RDO1NBQ0o7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDOztBQTVLYyxpQ0FBUyxHQUFtQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIHRhcCwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgTW5nQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBzdGF0aWMgaW5pdChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICAgICAgICBpZiAoIXRoaXMuX2luc3RhbmNlKSB7XG4gICAgICAgICAgICBNbmdDb25maWd1cmF0aW9uU2VydmljZS5faW5zdGFuY2UgPSBuZXcgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UoaHR0cENsaWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KCk6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICAgICAgaWYgKCFNbmdDb25maWd1cmF0aW9uU2VydmljZS5faW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBzZXJ2aWNlIGluc3RhbmNlIG5vdCBzZXQuIENhbGwgaW5pdCBmaXJzdC4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvamVjdEVudmlyb25tZW50PzogYW55O1xuICAgIHByaXZhdGUganNvblNvdXJjZXM6IEFycmF5PEpzb25Tb3VyY2VMb2FkSW5mbz4gPSBbXTtcbiAgICBwcml2YXRlIG9iamVjdFNvdXJjZXM6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLnByb2plY3RFbnZpcm9ubWVudH07XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIC8qKlxuICAgICAqIEFkZCBwcm9qZWN0IGVudmlyb25tZW50IHNvdXJjZS5cbiAgICAgKiBAcGFyYW0gZW52aXJvbmVtbnQgRW52aXJvbm1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGFkZEVudmlyb25tZW50U291cmNlKGVudmlyb25tZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICAgICAgdGhpcy5tZXJnZUNvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgc291cmNlIGZyb20gSlNPTiBmaWxlIGxvYWRlZCBmcm9tIEhUVFAuXG4gICAgICogQHBhcmFtIHVybCBVcmwgdG8gSlNPTiBmaWxlLlxuICAgICAqIEBwYXJhbSBsb2FkSW1tZWRpYXRlbHkgTG9hZCBpcyBieSBkZWZhdWx0IHRyaWdnZXJlZCBvbiBhcHAgaW5pdGlhbGl6YXRpb24uIElmIGltbWVkaWF0ZSBsb2FkIGlzIHJlcXVpcmVkLCBwYXNzIHRydWUuXG4gICAgICovXG4gICAgcHVibGljIGFkZEpzb25Tb3VyY2UoY29uZmlnOiB7dXJsPzogc3RyaW5nOyBlbmFibGVFbnZQcm9kPzogYm9vbGVhbn0gPSB7fSwgbG9hZEltbWVkaWF0ZWx5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IGNvbmZpZz8udXJsID8/ICdhc3NldHMvY29uZmlnL2Vudnt7ZW52aXJvbm1lbnR9fS5qc29uJztcbiAgICAgICAgY29uc3QgZW5hYmxlRW52UHJvZFJlcGxhY2UgPSBjb25maWc/LmVuYWJsZUVudlByb2QgPz8gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc291cmNlSW5mbzogSnNvblNvdXJjZUxvYWRJbmZvID0ge1xuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICBpc0Vudmlyb25tZW50OiBmYWxzZSxcbiAgICAgICAgICAgIGVudmlyb25tZW50RW5hYmxlRW52UHJvZDogZW5hYmxlRW52UHJvZFJlcGxhY2UsXG4gICAgICAgICAgICBpc0xvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5qc29uU291cmNlcy5wdXNoKHNvdXJjZUluZm8pO1xuXG4gICAgICAgIGNvbnNvbGUuZGVidWcoYEFkZGVkIEpTT04gc291cmNlOiAke3VybH1gKTtcblxuICAgICAgICBpZiAobG9hZEltbWVkaWF0ZWx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgb2JqZWN0IGZyb20gYW55IG9iamVjdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZyBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFkZE9iamVjdFNvdXJjZShjb25maWc6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9iamVjdFNvdXJjZXMucHVzaChjb25maWcpO1xuICAgICAgICB0aGlzLm1lcmdlQ29uZmlncygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgdHJ1ZSBpZiB0aGVyZSBpcyBubyBqc29uU291cmNlc1xuICAgICAqL1xuICAgIHByaXZhdGUgc2tpcEpzb25Db25maWdzTG9hZGluZyA9ICgpID0+IHRoaXMuanNvblNvdXJjZXMgPT09IG51bGwgfHwgdGhpcy5qc29uU291cmNlcy5sZW5ndGggPT09IDA7XG5cbiAgICAvKipcbiAgICAgKiBsb2FkcyBqc29uIHNvdXJjZXMgb3Igc2tpcHMgdGhlbSByZXR1cm5pbmcgdHJ1ZSBpbiBib3RoIGNhc2VzXG4gICAgICogdXNlZCBmb3IgYHNraXBKc29uU291cmNlSW5pdGAgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEpzb25Db25maWd1cmF0aW9ucyA9ICgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0+ICh0aGlzLnNraXBKc29uQ29uZmlnc0xvYWRpbmcoKSA/IG9mKHRydWUpIDogdGhpcy5sb2FkSnNvblNvdXJjZXMoKSk7XG5cbiAgICBwcml2YXRlIGxvYWRKc29uU291cmNlcygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICB0aGlzLmpzb25Tb3VyY2VzXG4gICAgICAgICAgICAgICAgLmZpbHRlcihzb3VyY2UgPT4gIXNvdXJjZS5pc0xvYWRlZClcbiAgICAgICAgICAgICAgICAubWFwKHNvdXJjZUluZm8gPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdXJsID0gc291cmNlSW5mby51cmw7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSB0aGlzLnByb2plY3RFbnZpcm9ubWVudC5uYW1lIHx8ICh0aGlzLnByb2plY3RFbnZpcm9ubWVudC5wcm9kdWN0aW9uID8gKHNvdXJjZUluZm8uZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kID8gJ3Byb2QnIDogbnVsbCkgOiAnZGV2Jyk7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCA9ICEhc291cmNlSW5mby5lbnZpcm9ubWVudDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlSW5mby5pc0Vudmlyb25tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgne3tlbnZpcm9ubWVudH19JywgJy4nICsgc291cmNlSW5mby5lbnZpcm9ubWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZXBsYWNlIHBvc3NpYmxlIGVudmlyb25tZW50IGVudHJ5IGFuZCBjaGFuZ2Ugc291cmNlIGluZm8gdXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgne3tlbnZpcm9ubWVudH19JywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby51cmwgPSB1cmw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBMb2FkaW5nIEpTT04gc291cmNlOiAke3NvdXJjZUluZm8udXJsfSB3aXRoIGVudiAke3NvdXJjZUluZm8uZW52aXJvbm1lbnQgPz8gJy8nfWApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG9iamVjdD4odXJsKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9FbnZVcmwgPSBzb3VyY2VJbmZvLnVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYFJlbG9hZGluZyBKU09OIHNvdXJjZTogJHtzb3VyY2VJbmZvLnVybH0gd2l0aCBlbnYgJHtzb3VyY2VJbmZvLmVudmlyb25tZW50ID8/ICcvJ31gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxvYmplY3Q+KG5vRW52VXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYENvbmZpZ3VyYXRpb24gZmlsZSAke3VybH0gbm90IGxvYWRlZCAoJHtlcnIuc3RhdHVzfSk6ICR7ZXJyLm1lc3NhZ2V9LmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoY29uZmlndXJhdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmlzTG9hZGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYEpTT04gc291cmNlIGxvYWRlZDogJHtzb3VyY2VJbmZvLnVybH1gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAoc291cmNlUmVzdWx0cyA9PiBzb3VyY2VSZXN1bHRzLmV2ZXJ5KHNyID0+IHNyKSksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5tZXJnZUNvbmZpZ3MoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb25maWd1cmF0aW9uIHZhbHVlIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29uZmlnVmFsdWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbltrZXldID8gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBjb25maWd1cmF0aW9uIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ29uZmlnS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ3VyYXRpb24pLnNvbWUoayA9PiBrID09PSBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBjb25maWd1cmF0aW9uIGZyb20gbXVsdGlwbGUgc291cmNlcyB3aXRoXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3MoKSB7XG4gICAgICAgIGxldCBjb25maWcgPSB7Li4udGhpcy5wcm9qZWN0RW52aXJvbm1lbnR9O1xuICAgICAgICBjb25zdCBqc29uQ29uZmlncyA9IHRoaXMuanNvblNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiBzb3VyY2UuaXNMb2FkZWQgJiYgdHlwZW9mIHNvdXJjZS5jb25maWd1cmF0aW9uID09PSAnb2JqZWN0JykubWFwKHNvdXJjZSA9PiBzb3VyY2UuY29uZmlndXJhdGlvbik7XG4gICAgICAgIGlmIChqc29uQ29uZmlncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QganNvbkNvbmZpZyBvZiBqc29uQ29uZmlncykge1xuICAgICAgICAgICAgICAgIGNvbmZpZyA9IHsuLi5jb25maWcsIC4uLmpzb25Db25maWd9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9iamVjdFNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9iakNvbmZpZyBvZiB0aGlzLm9iamVjdFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICBjb25maWcgPSB7Li4uY29uZmlnLCAuLi5vYmpDb25maWd9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZztcbiAgICB9XG59XG5cbmludGVyZmFjZSBKc29uU291cmNlTG9hZEluZm8ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGlzTG9hZGVkOiBib29sZWFuO1xuICAgIGlzRW52aXJvbm1lbnQ6IGJvb2xlYW47XG4gICAgZW52aXJvbm1lbnQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVudmlyb25tZW50RW5hYmxlRW52UHJvZD86IGJvb2xlYW47XG4gICAgY29uZmlndXJhdGlvbj86IG9iamVjdDtcbn1cbiJdfQ==
@@ -1,14 +1,14 @@
1
- export class MngErrorMapperService {
2
- }
3
- export class DefaultMngErrorMapperService extends MngErrorMapperService {
4
- toMngError(error, mngError) {
5
- if (!mngError) {
6
- mngError = {
7
- name: error?.name ?? 'UnknownError',
8
- message: error.message ?? 'Unknown error'
9
- };
10
- }
11
- return mngError;
12
- }
13
- }
1
+ export class MngErrorMapperService {
2
+ }
3
+ export class DefaultMngErrorMapperService extends MngErrorMapperService {
4
+ toMngError(error, mngError) {
5
+ if (!mngError) {
6
+ mngError = {
7
+ name: error?.name ?? 'UnknownError',
8
+ message: error.message ?? 'Unknown error'
9
+ };
10
+ }
11
+ return mngError;
12
+ }
13
+ }
14
14
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWFwcGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9yLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBZ0IscUJBQXFCO0NBRTFDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQUNuRSxVQUFVLENBQUMsS0FBVyxFQUFFLFFBQW1CO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxRQUFRLEdBQUc7Z0JBQ1AsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksY0FBYztnQkFDbkMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksZUFBZTthQUM1QyxDQUFDO1NBQ0w7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01uZ0Vycm9yfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW5nRXJyb3JNYXBwZXJTZXJ2aWNlIHtcbiAgICBhYnN0cmFjdCB0b01uZ0Vycm9yKGVycm9yPzogYW55LCBtbmdFcnJvcj86IE1uZ0Vycm9yKTogTW5nRXJyb3I7XG59XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0TW5nRXJyb3JNYXBwZXJTZXJ2aWNlIGV4dGVuZHMgTW5nRXJyb3JNYXBwZXJTZXJ2aWNlIHtcbiAgICB0b01uZ0Vycm9yKGVycm9yPzogYW55LCBtbmdFcnJvcj86IE1uZ0Vycm9yKTogTW5nRXJyb3Ige1xuICAgICAgICBpZiAoIW1uZ0Vycm9yKSB7XG4gICAgICAgICAgICBtbmdFcnJvciA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBlcnJvcj8ubmFtZSA/PyAnVW5rbm93bkVycm9yJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlID8/ICdVbmtub3duIGVycm9yJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW5nRXJyb3I7XG4gICAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
- export * from './action-executor.service';
2
- export * from './configuration.service';
3
- export * from './commons.service';
4
- export * from './error-mapper.service';
5
- export * from './navigation.service';
6
- export * from './view-container.component.service';
1
+ export * from './action-executor.service';
2
+ export * from './configuration.service';
3
+ export * from './commons.service';
4
+ export * from './error-mapper.service';
5
+ export * from './navigation.service';
6
+ export * from './view-container.component.service';
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLW1hcHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlldy1jb250YWluZXIuY29tcG9uZW50LnNlcnZpY2UnO1xuIl19
@@ -1,4 +1,4 @@
1
- export function mngCommonsInitializerProvider(mngCommonsInit) {
2
- return () => mngCommonsInit.initialize();
3
- }
1
+ export function mngCommonsInitializerProvider(mngCommonsInit) {
2
+ return () => mngCommonsInit.initialize();
3
+ }
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pbnRlcm5hbC9jb21tb25zLWluaXQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLDZCQUE2QixDQUFDLGNBQXFDO0lBQy9FLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge01uZ0NvbW1vbnNJbml0U2VydmljZX0gZnJvbSAnLi9jb21tb25zLWluaXQuc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtbmdDb21tb25zSW5pdGlhbGl6ZXJQcm92aWRlcihtbmdDb21tb25zSW5pdDogTW5nQ29tbW9uc0luaXRTZXJ2aWNlKTogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuICgpID0+IG1uZ0NvbW1vbnNJbml0LmluaXRpYWxpemUoKTtcbn1cbiJdfQ==
@@ -1,44 +1,50 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { combineLatest, mergeMap, of } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import { MNG_COMMONS_INITIALIZER_IT } from '../tokens';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- import * as i2 from "../configuration.service";
8
- import * as i3 from "../commons.service";
9
- export class MngCommonsInitService {
10
- constructor(translate, configurationService, mngCommons, commonsInitializers) {
11
- this.translate = translate;
12
- this.configurationService = configurationService;
13
- this.mngCommons = mngCommons;
14
- this.commonsInitializers = commonsInitializers;
15
- this.isInitialized = false;
16
- }
17
- initialize() {
18
- if (this.isInitialized) {
19
- return of(void 0);
20
- }
21
- console.debug(`Initializing @mediusinc/mng-commons.`);
22
- return this.configurationService.loadJsonConfigurations().pipe(mergeMap(() => {
23
- if (this.commonsInitializers) {
24
- console.debug(`Module initializers for @mediusinc/mng-commons.`);
25
- return combineLatest(this.commonsInitializers.map(ci => ci())).pipe(map(res => res));
26
- }
27
- else {
28
- return of(true);
29
- }
30
- }), map(() => this.mngCommons.reset()));
31
- this.isInitialized = true;
32
- }
33
- }
34
- MngCommonsInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsInitService, deps: [{ token: i1.TranslateService }, { token: i2.MngConfigurationService }, { token: i3.MngCommonsService }, { token: MNG_COMMONS_INITIALIZER_IT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
35
- MngCommonsInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsInitService });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsInitService, decorators: [{
37
- type: Injectable
38
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.MngConfigurationService }, { type: i3.MngCommonsService }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: [MNG_COMMONS_INITIALIZER_IT]
41
- }, {
42
- type: Optional
43
- }] }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2NvbW1vbnMtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUczRCxPQUFPLEVBQWEsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSW5DLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFHckQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5QixZQUNZLFNBQTJCLEVBQzNCLG9CQUE2QyxFQUM3QyxVQUE2QixFQUM0QixtQkFBNkQ7UUFIdEgsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBDO1FBTjFILGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTzNCLENBQUM7SUFFRyxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDckI7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFFdEQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJLENBQzFELFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDckMsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7O2tIQTlCUSxxQkFBcUIsMEhBT2xCLDBCQUEwQjtzSEFQN0IscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQVFGLE1BQU07MkJBQUMsMEJBQTBCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWVyZ2VNYXAsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uL2NvbW1vbnMuc2VydmljZSc7XG5pbXBvcnQge01uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtNTkdfQ09NTU9OU19JTklUSUFMSVpFUl9JVH0gZnJvbSAnLi4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1uZ0NvbW1vbnNJbml0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1uZ0NvbW1vbnM6IE1uZ0NvbW1vbnNTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KE1OR19DT01NT05TX0lOSVRJQUxJWkVSX0lUKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNJbml0aWFsaXplcnM6IFJlYWRvbmx5QXJyYXk8KCkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPj5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHZvaWQgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmRlYnVnKGBJbml0aWFsaXppbmcgQG1lZGl1c2luYy9tbmctY29tbW9ucy5gKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCkucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21tb25zSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYE1vZHVsZSBpbml0aWFsaXplcnMgZm9yIEBtZWRpdXNpbmMvbW5nLWNvbW1vbnMuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMuY29tbW9uc0luaXRpYWxpemVycy5tYXAoY2kgPT4gY2koKSkpLnBpcGUobWFwKHJlcyA9PiByZXMpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5tbmdDb21tb25zLnJlc2V0KCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { combineLatest, mergeMap, of } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import { MNG_COMMONS_INITIALIZER_IT } from '../tokens';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ import * as i2 from "../configuration.service";
8
+ import * as i3 from "../commons.service";
9
+ import * as i4 from "../router.service";
10
+ export class MngCommonsInitService {
11
+ constructor(translate, configurationService, mngCommons, mngRouter, commonsInitializers) {
12
+ this.translate = translate;
13
+ this.configurationService = configurationService;
14
+ this.mngCommons = mngCommons;
15
+ this.mngRouter = mngRouter;
16
+ this.commonsInitializers = commonsInitializers;
17
+ this.isInitialized = false;
18
+ }
19
+ initialize() {
20
+ if (this.isInitialized) {
21
+ return of(void 0);
22
+ }
23
+ console.debug(`Initializing @mediusinc/mng-commons.`);
24
+ this.mngRouter.initialize();
25
+ return this.configurationService.loadJsonConfigurations().pipe(mergeMap(() => {
26
+ if (this.commonsInitializers) {
27
+ console.debug(`Module initializers for @mediusinc/mng-commons.`);
28
+ return combineLatest(this.commonsInitializers.map(ci => ci())).pipe(map(res => res));
29
+ }
30
+ else {
31
+ return of(true);
32
+ }
33
+ }), map(() => this.mngCommons.reset()));
34
+ this.isInitialized = true;
35
+ }
36
+ }
37
+ MngCommonsInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngCommonsInitService, deps: [{ token: i1.TranslateService }, { token: i2.MngConfigurationService }, { token: i3.MngCommonsService }, { token: i4.MngRouterService }, { token: MNG_COMMONS_INITIALIZER_IT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ MngCommonsInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngCommonsInitService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngCommonsInitService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root'
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.MngConfigurationService }, { type: i3.MngCommonsService }, { type: i4.MngRouterService }, { type: undefined, decorators: [{
45
+ type: Inject,
46
+ args: [MNG_COMMONS_INITIALIZER_IT]
47
+ }, {
48
+ type: Optional
49
+ }] }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2NvbW1vbnMtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUczRCxPQUFPLEVBQWEsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS25DLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBS3JELE1BQU0sT0FBTyxxQkFBcUI7SUFHOUIsWUFDWSxTQUEyQixFQUMzQixvQkFBNkMsRUFDN0MsVUFBNkIsRUFDN0IsU0FBMkIsRUFDOEIsbUJBQTZEO1FBSnRILGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDOEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQztRQVAxSCxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVEzQixDQUFDO0lBRUcsVUFBVTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJLENBQzFELFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDckMsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7O2tIQWpDUSxxQkFBcUIsMEpBUWxCLDBCQUEwQjtzSEFSN0IscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBU1EsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtZXJnZU1hcCwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZX0gZnJvbSAnLi4vY29tbW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7TW5nQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge01uZ1JvdXRlclNlcnZpY2V9IGZyb20gJy4uL3JvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7TU5HX0NPTU1PTlNfSU5JVElBTElaRVJfSVR9IGZyb20gJy4uL3Rva2Vucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nQ29tbW9uc0luaXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbW5nUm91dGVyOiBNbmdSb3V0ZXJTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KE1OR19DT01NT05TX0lOSVRJQUxJWkVSX0lUKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNJbml0aWFsaXplcnM6IFJlYWRvbmx5QXJyYXk8KCkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPj5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHZvaWQgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmRlYnVnKGBJbml0aWFsaXppbmcgQG1lZGl1c2luYy9tbmctY29tbW9ucy5gKTtcblxuICAgICAgICB0aGlzLm1uZ1JvdXRlci5pbml0aWFsaXplKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UubG9hZEpzb25Db25maWd1cmF0aW9ucygpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tbW9uc0luaXRpYWxpemVycykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBNb2R1bGUgaW5pdGlhbGl6ZXJzIGZvciBAbWVkaXVzaW5jL21uZy1jb21tb25zLmApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMubWFwKGNpID0+IGNpKCkpKS5waXBlKG1hcChyZXMgPT4gcmVzKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMubW5nQ29tbW9ucy5yZXNldCgpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './commons-init.provider';
2
- export * from './commons-init.service';
1
+ export * from './commons-init.provider';
2
+ export * from './commons-init.service';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9ucy1pbml0LnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9ucy1pbml0LnNlcnZpY2UnO1xuIl19