@mediusinc/mng-commons 5.0.0-rc.0-c31d5206 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1425) hide show
  1. package/README.md +1 -0
  2. package/core/README.md +8 -0
  3. package/core/action/action-data.model.d.ts +3 -0
  4. package/core/action/action-parameters.model.d.ts +17 -0
  5. package/core/components/pages/error/error.page.component.d.ts +8 -0
  6. package/core/components/pages/not-found/not-found.page.component.d.ts +8 -0
  7. package/core/data-list/data-list-params.util.d.ts +84 -0
  8. package/core/data-providers/base.data-provider.d.ts +32 -0
  9. package/core/data-providers/lookup.data-provider.d.ts +10 -0
  10. package/core/descriptors/action.descriptor.d.ts +12 -0
  11. package/core/descriptors/column.descriptor.d.ts +3 -0
  12. package/core/descriptors/editor.descriptor.d.ts +11 -0
  13. package/core/descriptors/filter.descriptor.d.ts +3 -0
  14. package/core/descriptors/lookup.descriptor.d.ts +12 -0
  15. package/core/descriptors/model.descriptor.d.ts +8 -0
  16. package/core/descriptors/table.descriptor.d.ts +9 -0
  17. package/core/descriptors/tableview.descriptor.d.ts +11 -0
  18. package/core/directives/component.directive.d.ts +20 -0
  19. package/core/directives/dialog-keydown-handler.directive.d.ts +12 -0
  20. package/core/directives/template.directive.d.ts +12 -0
  21. package/core/enum/enum.model.d.ts +8 -0
  22. package/core/enum/enum.util.d.ts +51 -0
  23. package/core/error/error-handler.d.ts +6 -0
  24. package/core/error/error.model.d.ts +47 -0
  25. package/core/error/error.util.d.ts +116 -0
  26. package/core/helpers/coercion.d.ts +9 -0
  27. package/core/helpers/notification.d.ts +2 -0
  28. package/core/helpers/type-helpers.d.ts +16 -0
  29. package/core/index.d.ts +77 -0
  30. package/core/log/log-publisher-console.service.d.ts +4 -0
  31. package/core/log/log.model.d.ts +40 -0
  32. package/core/log/logger.service.d.ts +33 -0
  33. package/core/models/class-service.model.d.ts +7 -0
  34. package/core/models/getter.model.d.ts +2 -0
  35. package/core/models/i18n.model.d.ts +1 -0
  36. package/core/models/menu.model.d.ts +32 -0
  37. package/core/models/user.model.d.ts +8 -0
  38. package/core/pipes/boolean.pipe.d.ts +7 -0
  39. package/core/pipes/class-map.pipe.d.ts +7 -0
  40. package/core/pipes/enumerate-async.pipe.d.ts +9 -0
  41. package/core/pipes/enumerate.pipe.d.ts +16 -0
  42. package/core/pipes/getter.pipe.d.ts +8 -0
  43. package/core/pipes/json-path.pipe.d.ts +13 -0
  44. package/core/pipes/parametrize.pipe.d.ts +12 -0
  45. package/core/pipes/template.pipe.d.ts +10 -0
  46. package/core/provide.d.ts +12 -0
  47. package/core/reflect/type-enum-metadata.d.ts +32 -0
  48. package/core/registry/registry.model.d.ts +8 -0
  49. package/core/registry/type-registry.d.ts +27 -0
  50. package/core/router/route-builder.d.ts +67 -0
  51. package/core/router/router.model.d.ts +13 -0
  52. package/core/router/routes-builder.d.ts +19 -0
  53. package/core/rxjs/map-data-list-result-operator.d.ts +9 -0
  54. package/core/security/permission.guard.d.ts +2 -0
  55. package/core/security/permission.service.d.ts +16 -0
  56. package/core/security/permission.util.d.ts +5 -0
  57. package/core/security/permissions.model.d.ts +55 -0
  58. package/core/services/commons-configuration.service.d.ts +69 -0
  59. package/core/services/commons-init.service.d.ts +30 -0
  60. package/core/services/commons-router.service.d.ts +37 -0
  61. package/core/services/commons.service.d.ts +66 -0
  62. package/core/services/local-storage-config.service.d.ts +11 -0
  63. package/core/services/providers/commons-init.provider.d.ts +4 -0
  64. package/core/services/tokens/browser-storage.token.d.ts +2 -0
  65. package/core/services/tokens/commons-init.token.d.ts +3 -0
  66. package/core/services/tokens/log-publisher.token.d.ts +3 -0
  67. package/core/services/tokens/module-config.token.d.ts +34 -0
  68. package/core/styles/style-constants.d.ts +10 -0
  69. package/core/styles/style.model.d.ts +17 -0
  70. package/core/utils/i18n.util.d.ts +36 -0
  71. package/core/utils/object.util.d.ts +31 -0
  72. package/core/utils/route.util.d.ts +37 -0
  73. package/dev-scripts/version-info.js +1 -1
  74. package/esm2022/core/action/action-data.model.mjs +2 -0
  75. package/esm2022/core/action/action-parameters.model.mjs +2 -0
  76. package/esm2022/core/components/notification/notification-wrapper.component.mjs +50 -0
  77. package/esm2022/core/components/pages/error/error.page.component.mjs +21 -0
  78. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +21 -0
  79. package/esm2022/core/data-list/data-list-params.util.mjs +417 -0
  80. package/esm2022/core/data-list/data-list.model.mjs +2 -0
  81. package/esm2022/core/data-list/filter-match.model.mjs +105 -0
  82. package/esm2022/core/data-providers/base.data-provider.mjs +48 -0
  83. package/esm2022/core/data-providers/lookup.data-provider.mjs +2 -0
  84. package/esm2022/core/descriptors/action.descriptor.mjs +2 -0
  85. package/esm2022/core/descriptors/column.descriptor.mjs +2 -0
  86. package/esm2022/core/descriptors/editor.descriptor.mjs +2 -0
  87. package/esm2022/core/descriptors/filter.descriptor.mjs +2 -0
  88. package/esm2022/core/descriptors/lookup.descriptor.mjs +2 -0
  89. package/esm2022/core/descriptors/model.descriptor.mjs +2 -0
  90. package/esm2022/core/descriptors/table.descriptor.mjs +2 -0
  91. package/esm2022/core/descriptors/tableview.descriptor.mjs +2 -0
  92. package/esm2022/core/directives/component.directive.mjs +72 -0
  93. package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +49 -0
  94. package/esm2022/core/directives/template.directive.mjs +29 -0
  95. package/esm2022/core/enum/enum.model.mjs +2 -0
  96. package/esm2022/core/enum/enum.util.mjs +83 -0
  97. package/esm2022/core/error/error-handler.mjs +20 -0
  98. package/esm2022/core/error/error.model.mjs +32 -0
  99. package/esm2022/core/error/error.util.mjs +249 -0
  100. package/esm2022/core/helpers/coercion.mjs +52 -0
  101. package/esm2022/core/helpers/notification.mjs +6 -0
  102. package/esm2022/core/helpers/type-helpers.mjs +2 -0
  103. package/esm2022/core/index.mjs +99 -0
  104. package/esm2022/core/log/log-publisher-console.service.mjs +40 -0
  105. package/esm2022/core/log/log.model.mjs +10 -0
  106. package/esm2022/core/log/logger.service.mjs +131 -0
  107. package/esm2022/core/mediusinc-mng-commons-core.mjs +5 -0
  108. package/esm2022/core/models/class-attribute.model.mjs +2 -0
  109. package/esm2022/core/models/class-service.model.mjs +2 -0
  110. package/esm2022/core/models/getter.model.mjs +2 -0
  111. package/esm2022/core/models/i18n.model.mjs +2 -0
  112. package/esm2022/core/models/menu.model.mjs +2 -0
  113. package/esm2022/core/models/user.model.mjs +2 -0
  114. package/esm2022/core/models/version.model.mjs +2 -0
  115. package/esm2022/core/pipes/boolean.pipe.mjs +28 -0
  116. package/esm2022/core/pipes/class-map.pipe.mjs +23 -0
  117. package/esm2022/core/pipes/enumerate-async.pipe.mjs +36 -0
  118. package/esm2022/core/pipes/enumerate.pipe.mjs +49 -0
  119. package/esm2022/core/pipes/getter.pipe.mjs +21 -0
  120. package/esm2022/core/pipes/json-path.pipe.mjs +25 -0
  121. package/esm2022/core/pipes/parametrize.pipe.mjs +86 -0
  122. package/esm2022/core/pipes/template.pipe.mjs +26 -0
  123. package/esm2022/core/provide.mjs +98 -0
  124. package/esm2022/core/reflect/type-enum-decorator.mjs +12 -0
  125. package/esm2022/core/reflect/type-enum-metadata.mjs +62 -0
  126. package/esm2022/core/registry/registry.model.mjs +2 -0
  127. package/esm2022/core/registry/type-registry.mjs +106 -0
  128. package/esm2022/core/router/route-builder.mjs +336 -0
  129. package/esm2022/core/router/router.model.mjs +2 -0
  130. package/esm2022/core/router/routes-builder.mjs +53 -0
  131. package/esm2022/core/rxjs/map-data-list-result-operator.mjs +19 -0
  132. package/esm2022/core/security/permission.guard.mjs +15 -0
  133. package/esm2022/core/security/permission.service.mjs +49 -0
  134. package/esm2022/core/security/permission.util.mjs +16 -0
  135. package/esm2022/core/security/permissions.model.mjs +93 -0
  136. package/esm2022/core/services/commons-configuration.service.mjs +174 -0
  137. package/esm2022/core/services/commons-init.service.mjs +111 -0
  138. package/esm2022/core/services/commons-router.service.mjs +180 -0
  139. package/esm2022/core/services/commons.service.mjs +390 -0
  140. package/esm2022/core/services/local-storage-config.service.mjs +29 -0
  141. package/esm2022/core/services/providers/commons-init.provider.mjs +4 -0
  142. package/esm2022/core/services/tokens/browser-storage.token.mjs +3 -0
  143. package/esm2022/core/services/tokens/commons-init.token.mjs +3 -0
  144. package/esm2022/core/services/tokens/log-publisher.token.mjs +3 -0
  145. package/esm2022/core/services/tokens/module-config.token.mjs +3 -0
  146. package/esm2022/core/styles/style-constants.mjs +11 -0
  147. package/esm2022/core/styles/style.model.mjs +20 -0
  148. package/esm2022/core/utils/date.util.mjs +136 -0
  149. package/esm2022/core/utils/i18n.util.mjs +137 -0
  150. package/esm2022/core/utils/object.util.mjs +147 -0
  151. package/esm2022/core/utils/route.util.mjs +60 -0
  152. package/esm2022/core/utils/string.util.mjs +59 -0
  153. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +186 -0
  154. package/esm2022/filter/descriptors/filter.descriptor.mjs +197 -0
  155. package/esm2022/filter/index.mjs +6 -0
  156. package/esm2022/filter/mediusinc-mng-commons-filter.mjs +5 -0
  157. package/esm2022/filter/models/filter.model.mjs +15 -0
  158. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +45 -0
  159. package/esm2022/form/api/descriptors/action-button.descriptor.mjs +68 -0
  160. package/esm2022/form/api/descriptors/button-style.builder.mjs +174 -0
  161. package/esm2022/form/api/index.mjs +8 -0
  162. package/esm2022/form/api/mediusinc-mng-commons-form-api.mjs +5 -0
  163. package/esm2022/form/api/models/trim.model.mjs +2 -0
  164. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +404 -0
  165. package/esm2022/form/components/date-range/date-range.component.mjs +110 -0
  166. package/esm2022/form/components/dropdown/dropdown.component.mjs +213 -0
  167. package/esm2022/form/directives/input-trim.directive.mjs +55 -0
  168. package/esm2022/form/index.mjs +7 -0
  169. package/esm2022/form/mediusinc-mng-commons-form.mjs +5 -0
  170. package/esm2022/index.mjs +2 -74
  171. package/esm2022/model/descriptors/enum.descriptor.mjs +31 -0
  172. package/esm2022/model/descriptors/model.descriptor.mjs +78 -0
  173. package/esm2022/model/descriptors/type.descriptor.mjs +21 -0
  174. package/esm2022/model/index.mjs +11 -0
  175. package/esm2022/model/mediusinc-mng-commons-model.mjs +5 -0
  176. package/esm2022/model/pipes/enum.pipe.mjs +26 -0
  177. package/esm2022/model/pipes/i18n-property.pipe.mjs +19 -0
  178. package/esm2022/model/utils/i18n.util.mjs +51 -0
  179. package/esm2022/model/utils/model.util.mjs +73 -0
  180. package/esm2022/provide.mjs +6 -0
  181. package/esm2022/table/api/data-providers/table.data-provider.mjs +63 -0
  182. package/esm2022/table/api/descriptors/column.descriptor.mjs +359 -0
  183. package/esm2022/table/api/descriptors/sort.descriptor.mjs +45 -0
  184. package/esm2022/table/api/descriptors/table.descriptor.mjs +750 -0
  185. package/esm2022/table/api/helpers/class-attribute-converter.mjs +104 -0
  186. package/esm2022/table/api/index.mjs +16 -0
  187. package/esm2022/table/api/mediusinc-mng-commons-table-api.mjs +5 -0
  188. package/esm2022/table/api/models/class-table-attribute.model.mjs +2 -0
  189. package/esm2022/table/api/models/column-value.model.mjs +2 -0
  190. package/esm2022/table/api/models/column.model.mjs +21 -0
  191. package/esm2022/table/api/models/table-columns.model.mjs +2 -0
  192. package/esm2022/table/api/models/table-event.model.mjs +2 -0
  193. package/esm2022/table/api/models/table.model.mjs +22 -0
  194. package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +594 -0
  195. package/esm2022/table/components/column-value/column-value.component.mjs +88 -0
  196. package/esm2022/table/components/table/table.component.mjs +647 -0
  197. package/esm2022/table/helpers/notification.mjs +15 -0
  198. package/esm2022/table/helpers/table-layout-prefs.mjs +10 -0
  199. package/esm2022/table/index.mjs +13 -0
  200. package/esm2022/table/mediusinc-mng-commons-table.mjs +5 -0
  201. package/esm2022/table/models/column-preferences.model.mjs +2 -0
  202. package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +27 -0
  203. package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +25 -0
  204. package/esm2022/table/services/data-list.service.mjs +23 -0
  205. package/esm2022/tableview/action/components/action/action.component.mjs +323 -0
  206. package/esm2022/tableview/action/components/editor/action-editor.component.mjs +97 -0
  207. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +398 -0
  208. package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +53 -0
  209. package/esm2022/tableview/action/components/route/action-route.component.mjs +152 -0
  210. package/esm2022/tableview/action/components/table/action-table.component.mjs +158 -0
  211. package/esm2022/tableview/action/guards/unsaved-changes.guard.mjs +4 -0
  212. package/esm2022/tableview/action/helpers/notification.mjs +17 -0
  213. package/esm2022/tableview/action/helpers/styles.mjs +32 -0
  214. package/esm2022/tableview/action/models/action-editor-dialog-data.model.mjs +2 -0
  215. package/esm2022/tableview/action/models/can-component-deactivate.model.mjs +2 -0
  216. package/esm2022/tableview/action/models/execution/action-context.model.mjs +56 -0
  217. package/esm2022/tableview/action/models/execution/action-instance-state.model.mjs +32 -0
  218. package/esm2022/tableview/action/models/execution/action-instance.model.mjs +170 -0
  219. package/esm2022/tableview/action/services/action-error-mapper.service.mjs +20 -0
  220. package/esm2022/tableview/action/services/action-executor.service.mjs +766 -0
  221. package/esm2022/tableview/action/services/component-action-executor.service.mjs +19 -0
  222. package/esm2022/tableview/action/services/data-provider-executor.service.mjs +26 -0
  223. package/esm2022/tableview/action/services/navigation.service.mjs +52 -0
  224. package/esm2022/tableview/action/services/providers/provide-action-executor.mjs +9 -0
  225. package/esm2022/tableview/action/services/providers/provide-view-container.mjs +17 -0
  226. package/esm2022/tableview/action/services/root-action-executor.service.mjs +18 -0
  227. package/esm2022/tableview/action/services/tokens/action-editor.token.mjs +3 -0
  228. package/esm2022/tableview/action/services/view-container.service.mjs +56 -0
  229. package/esm2022/tableview/action/utils/i18n.util.mjs +126 -0
  230. package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +76 -0
  231. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +264 -0
  232. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +89 -0
  233. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +385 -0
  234. package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +80 -0
  235. package/esm2022/tableview/api/action/models/action-component.model.mjs +2 -0
  236. package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +2 -0
  237. package/esm2022/tableview/api/action/models/action-editor.model.mjs +2 -0
  238. package/esm2022/tableview/api/action/models/action-error.model.mjs +14 -0
  239. package/esm2022/tableview/api/action/models/action.type.mjs +26 -0
  240. package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +2 -0
  241. package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +2 -0
  242. package/esm2022/tableview/api/action/models/execution/action-execution-error.model.mjs +2 -0
  243. package/esm2022/tableview/api/action/models/execution/action-instance-state.model.mjs +32 -0
  244. package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +2 -0
  245. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +2 -0
  246. package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +11 -0
  247. package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +28 -0
  248. package/esm2022/tableview/api/action/services/tokens/data-language-dropdown.token.mjs +3 -0
  249. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +104 -0
  250. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +626 -0
  251. package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +49 -0
  252. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +288 -0
  253. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +97 -0
  254. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +213 -0
  255. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +153 -0
  256. package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +25 -0
  257. package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +343 -0
  258. package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +85 -0
  259. package/esm2022/tableview/api/editor/helpers/field-validators.mjs +33 -0
  260. package/esm2022/tableview/api/editor/models/class-tableview-attribute.model.mjs +2 -0
  261. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +2 -0
  262. package/esm2022/tableview/api/editor/models/editor.model.mjs +9 -0
  263. package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +2 -0
  264. package/esm2022/tableview/api/editor/models/field.model.mjs +56 -0
  265. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +27 -0
  266. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +2 -0
  267. package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +69 -0
  268. package/esm2022/tableview/api/editor/models/formly-field.model.mjs +2 -0
  269. package/esm2022/tableview/api/editor/models/radio.model.mjs +2 -0
  270. package/esm2022/tableview/api/index.mjs +64 -0
  271. package/esm2022/tableview/api/mediusinc-mng-commons-tableview-api.mjs +5 -0
  272. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +105 -0
  273. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +672 -0
  274. package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +34 -0
  275. package/esm2022/tableview/api/tableview/helpers/files-export.mjs +34 -0
  276. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +24 -0
  277. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +240 -0
  278. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +162 -0
  279. package/esm2022/tableview/api/tableview/models/class-tableview-attribute.model.mjs +2 -0
  280. package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +2 -0
  281. package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +2 -0
  282. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +285 -0
  283. package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +61 -0
  284. package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +54 -0
  285. package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +39 -0
  286. package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +49 -0
  287. package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +27 -0
  288. package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +220 -0
  289. package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +24 -0
  290. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +215 -0
  291. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +217 -0
  292. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +196 -0
  293. package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +18 -0
  294. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +33 -0
  295. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +30 -0
  296. package/esm2022/tableview/editor/helpers/formly-config.mjs +260 -0
  297. package/esm2022/tableview/editor/helpers/notification.mjs +11 -0
  298. package/esm2022/tableview/editor/models/formly-config.model.mjs +2 -0
  299. package/esm2022/tableview/editor/services/formly-config.provider.mjs +31 -0
  300. package/esm2022/tableview/editor/utils/editor-formly.util.mjs +337 -0
  301. package/esm2022/tableview/index.mjs +64 -0
  302. package/esm2022/tableview/mediusinc-mng-commons-tableview.mjs +5 -0
  303. package/esm2022/tableview/provide.mjs +61 -0
  304. package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +15 -0
  305. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +84 -0
  306. package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +201 -0
  307. package/esm2022/tableview/tableview/services/tableview-feature-config.token.mjs +3 -0
  308. package/fesm2022/mediusinc-mng-commons-core.mjs +3904 -0
  309. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -0
  310. package/fesm2022/mediusinc-mng-commons-filter.mjs +403 -0
  311. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -0
  312. package/fesm2022/mediusinc-mng-commons-form-api.mjs +294 -0
  313. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -0
  314. package/fesm2022/mediusinc-mng-commons-form.mjs +770 -0
  315. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -0
  316. package/fesm2022/mediusinc-mng-commons-model.mjs +300 -0
  317. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -0
  318. package/fesm2022/mediusinc-mng-commons-table-api.mjs +1363 -0
  319. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -0
  320. package/fesm2022/mediusinc-mng-commons-table.mjs +1393 -0
  321. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -0
  322. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +4372 -0
  323. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -0
  324. package/fesm2022/mediusinc-mng-commons-tableview.mjs +4756 -0
  325. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -0
  326. package/fesm2022/mediusinc-mng-commons.mjs +5 -18605
  327. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  328. package/filter/README.md +9 -0
  329. package/filter/descriptors/filter-lookup.descriptor.d.ts +67 -0
  330. package/filter/descriptors/filter.descriptor.d.ts +67 -0
  331. package/filter/index.d.ts +3 -0
  332. package/form/README.md +8 -0
  333. package/form/api/README.md +7 -0
  334. package/form/api/data-providers/lookup.data-provider.d.ts +19 -0
  335. package/form/api/descriptors/action-button.descriptor.d.ts +25 -0
  336. package/form/api/descriptors/button-style.builder.d.ts +68 -0
  337. package/form/api/index.d.ts +4 -0
  338. package/form/components/autocomplete/autocomplete.component.d.ts +82 -0
  339. package/form/components/date-range/date-range.component.d.ts +28 -0
  340. package/form/components/dropdown/dropdown.component.d.ts +55 -0
  341. package/form/directives/input-trim.directive.d.ts +14 -0
  342. package/form/index.d.ts +4 -0
  343. package/index.d.ts +1 -50
  344. package/model/README.md +7 -0
  345. package/model/descriptors/enum.descriptor.d.ts +14 -0
  346. package/model/descriptors/model.descriptor.d.ts +31 -0
  347. package/model/descriptors/type.descriptor.d.ts +10 -0
  348. package/model/index.d.ts +7 -0
  349. package/model/pipes/enum.pipe.d.ts +8 -0
  350. package/model/pipes/i18n-property.pipe.d.ts +8 -0
  351. package/model/utils/i18n.util.d.ts +15 -0
  352. package/model/utils/model.util.d.ts +8 -0
  353. package/package.json +55 -19
  354. package/provide.d.ts +7 -0
  355. package/table/README.md +11 -0
  356. package/table/api/README.md +9 -0
  357. package/table/api/data-providers/table.data-provider.d.ts +38 -0
  358. package/table/api/descriptors/column.descriptor.d.ts +148 -0
  359. package/table/api/descriptors/table.descriptor.d.ts +271 -0
  360. package/table/api/helpers/class-attribute-converter.d.ts +22 -0
  361. package/table/api/index.d.ts +11 -0
  362. package/table/api/models/class-table-attribute.model.d.ts +8 -0
  363. package/table/api/models/column-value.model.d.ts +7 -0
  364. package/table/api/models/table-columns.model.d.ts +42 -0
  365. package/table/api/models/table-event.model.d.ts +17 -0
  366. package/table/api/models/table.model.d.ts +35 -0
  367. package/table/components/column-filter-full/column-filter-full.component.d.ts +100 -0
  368. package/table/components/column-value/column-value.component.d.ts +33 -0
  369. package/table/components/table/table.component.d.ts +114 -0
  370. package/table/helpers/notification.d.ts +4 -0
  371. package/table/helpers/table-layout-prefs.d.ts +7 -0
  372. package/table/index.d.ts +8 -0
  373. package/table/models/column-preferences.model.d.ts +12 -0
  374. package/table/pipes/locale-default-row-class.pipe.d.ts +10 -0
  375. package/table/pipes/table-column-filter-class.pipe.d.ts +8 -0
  376. package/table/services/data-list.service.d.ts +16 -0
  377. package/tableview/README.md +13 -0
  378. package/tableview/action/components/action/action.component.d.ts +73 -0
  379. package/tableview/action/components/editor/action-editor.component.d.ts +31 -0
  380. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +76 -0
  381. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +22 -0
  382. package/tableview/action/components/route/action-route.component.d.ts +31 -0
  383. package/tableview/action/components/table/action-table.component.d.ts +48 -0
  384. package/tableview/action/guards/unsaved-changes.guard.d.ts +3 -0
  385. package/tableview/action/helpers/notification.d.ts +6 -0
  386. package/tableview/action/helpers/styles.d.ts +5 -0
  387. package/tableview/action/models/action-editor-dialog-data.model.d.ts +11 -0
  388. package/tableview/action/models/execution/action-context.model.d.ts +36 -0
  389. package/tableview/action/models/execution/action-instance-state.model.d.ts +30 -0
  390. package/tableview/action/models/execution/action-instance.model.d.ts +56 -0
  391. package/tableview/action/services/action-error-mapper.service.d.ts +18 -0
  392. package/tableview/action/services/action-executor.service.d.ts +175 -0
  393. package/tableview/action/services/component-action-executor.service.d.ts +9 -0
  394. package/tableview/action/services/data-provider-executor.service.d.ts +23 -0
  395. package/tableview/action/services/navigation.service.d.ts +15 -0
  396. package/tableview/action/services/root-action-executor.service.d.ts +9 -0
  397. package/tableview/action/services/tokens/action-editor.token.d.ts +2 -0
  398. package/tableview/action/services/view-container.service.d.ts +30 -0
  399. package/tableview/action/utils/i18n.util.d.ts +48 -0
  400. package/tableview/api/README.md +11 -0
  401. package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +36 -0
  402. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +117 -0
  403. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +34 -0
  404. package/tableview/api/action/descriptors/action.descriptor.d.ts +151 -0
  405. package/tableview/api/action/helpers/data-provider-executors.d.ts +18 -0
  406. package/tableview/api/action/models/action-component.model.d.ts +12 -0
  407. package/tableview/api/action/models/action-descriptor.types.d.ts +5 -0
  408. package/tableview/api/action/models/action-editor.model.d.ts +4 -0
  409. package/tableview/api/action/models/action-error.model.d.ts +14 -0
  410. package/tableview/api/action/models/execution/action-context-validation.model.d.ts +11 -0
  411. package/tableview/api/action/models/execution/action-context.model.d.ts +24 -0
  412. package/tableview/api/action/models/execution/action-execution-error.model.d.ts +4 -0
  413. package/tableview/api/action/models/execution/action-instance-state.model.d.ts +30 -0
  414. package/tableview/api/action/models/execution/action-instance.model.d.ts +31 -0
  415. package/tableview/api/action/models/execution/view-container.model.d.ts +38 -0
  416. package/tableview/api/action/services/data-provider-executor.service.d.ts +38 -0
  417. package/tableview/api/action/services/tokens/data-language-dropdown.token.d.ts +2 -0
  418. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +87 -0
  419. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +366 -0
  420. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +22 -0
  421. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +120 -0
  422. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +41 -0
  423. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +80 -0
  424. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +61 -0
  425. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +19 -0
  426. package/tableview/api/editor/descriptors/field.descriptor.d.ts +168 -0
  427. package/tableview/api/editor/helpers/class-attribute-converter.d.ts +21 -0
  428. package/tableview/api/editor/helpers/field-validators.d.ts +3 -0
  429. package/tableview/api/editor/models/class-tableview-attribute.model.d.ts +7 -0
  430. package/tableview/api/editor/models/editor-fields.model.d.ts +34 -0
  431. package/tableview/api/editor/models/editor.model.d.ts +7 -0
  432. package/tableview/api/editor/models/field-action-context.model.d.ts +24 -0
  433. package/tableview/api/editor/models/field.model.d.ts +66 -0
  434. package/tableview/api/editor/models/form-editor.event.d.ts +55 -0
  435. package/tableview/api/editor/models/formly-custom-field.model.d.ts +27 -0
  436. package/tableview/api/editor/models/formly-field.model.d.ts +18 -0
  437. package/tableview/api/index.d.ts +50 -0
  438. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +43 -0
  439. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +296 -0
  440. package/tableview/api/tableview/helpers/class-attribute-converter.d.ts +8 -0
  441. package/tableview/api/tableview/helpers/files-export.d.ts +4 -0
  442. package/tableview/api/tableview/helpers/tableview-create.d.ts +16 -0
  443. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +38 -0
  444. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +114 -0
  445. package/tableview/api/tableview/models/class-tableview-attribute.model.d.ts +3 -0
  446. package/tableview/api/tableview/models/tableview-input.model.d.ts +8 -0
  447. package/tableview/api/tableview/models/tableview-route.model.d.ts +20 -0
  448. package/tableview/editor/components/editor/form-editor.component.d.ts +50 -0
  449. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +14 -0
  450. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +15 -0
  451. package/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +11 -0
  452. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -0
  453. package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +12 -0
  454. package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +37 -0
  455. package/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -0
  456. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +43 -0
  457. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +23 -0
  458. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +41 -0
  459. package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -0
  460. package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +11 -0
  461. package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +9 -0
  462. package/tableview/editor/helpers/formly-config.d.ts +18 -0
  463. package/tableview/editor/helpers/notification.d.ts +4 -0
  464. package/tableview/editor/models/formly-config.model.d.ts +5 -0
  465. package/tableview/editor/services/formly-config.provider.d.ts +5 -0
  466. package/tableview/editor/utils/editor-formly.util.d.ts +12 -0
  467. package/tableview/index.d.ts +48 -0
  468. package/tableview/provide.d.ts +8 -0
  469. package/tableview/tableview/components/route/tableview-route.component.d.ts +7 -0
  470. package/tableview/tableview/components/tableview/tableview.component.d.ts +26 -0
  471. package/tableview/tableview/router/tableview-route-builder.d.ts +42 -0
  472. package/tableview/tableview/services/tableview-feature-config.token.d.ts +18 -0
  473. package/assets/fonts/poppins-v20-latin-500.woff +0 -0
  474. package/assets/fonts/poppins-v20-latin-500.woff2 +0 -0
  475. package/assets/fonts/poppins-v20-latin-600.woff +0 -0
  476. package/assets/fonts/poppins-v20-latin-600.woff2 +0 -0
  477. package/assets/fonts/poppins-v20-latin-700.woff +0 -0
  478. package/assets/fonts/poppins-v20-latin-700.woff2 +0 -0
  479. package/assets/fonts/poppins-v20-latin-regular.woff +0 -0
  480. package/assets/fonts/poppins-v20-latin-regular.woff2 +0 -0
  481. package/assets/images/effect-ondark.png +0 -0
  482. package/assets/images/effect-ondark.svg +0 -38
  483. package/assets/images/effect-ondark@2x.png +0 -0
  484. package/assets/images/effect-onlight.png +0 -0
  485. package/assets/images/effect-onlight.svg +0 -38
  486. package/assets/images/effect-onlight@2x.png +0 -0
  487. package/assets/images/pages/exception-ondark.png +0 -0
  488. package/assets/images/pages/exception-onlight.png +0 -0
  489. package/assets/images/pages/login-ondark.png +0 -0
  490. package/assets/images/pages/login-onlight.png +0 -0
  491. package/data-api/README.md +0 -3
  492. package/data-api/class-dto/README.md +0 -3
  493. package/data-api/class-dto/helpers/tableview-crud-create.d.ts +0 -40
  494. package/data-api/class-dto/index.d.ts +0 -7
  495. package/data-api/class-dto/models/query-result.model.d.ts +0 -13
  496. package/data-api/class-dto/obsolete/README.md +0 -3
  497. package/data-api/class-dto/obsolete/helpers/query-param-convert.d.ts +0 -23
  498. package/data-api/class-dto/obsolete/helpers/tableview-crud-create.d.ts +0 -22
  499. package/data-api/class-dto/obsolete/index.d.ts +0 -14
  500. package/data-api/class-dto/obsolete/models/builders/query-param.builder.d.ts +0 -36
  501. package/data-api/class-dto/obsolete/models/filter-match-type.model.d.ts +0 -25
  502. package/data-api/class-dto/obsolete/models/filter-param.model.d.ts +0 -23
  503. package/data-api/class-dto/obsolete/models/query-mode.model.d.ts +0 -16
  504. package/data-api/class-dto/obsolete/models/query-param.model.d.ts +0 -31
  505. package/data-api/class-dto/obsolete/models/query-result.model.d.ts +0 -24
  506. package/data-api/class-dto/obsolete/provide.d.ts +0 -9
  507. package/data-api/class-dto/obsolete/services/api.abstract.service.d.ts +0 -36
  508. package/data-api/class-dto/obsolete/services/crud-api.abstract.service.d.ts +0 -37
  509. package/data-api/class-dto/obsolete/services/get-all-api.abstract.service.d.ts +0 -30
  510. package/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.d.ts +0 -28
  511. package/data-api/class-dto/obsolete/utils/query-param-map.util.d.ts +0 -22
  512. package/data-api/class-dto/serder/object-serializer.d.ts +0 -26
  513. package/data-api/class-dto/services/api.abstract.service.d.ts +0 -22
  514. package/data-api/class-dto/services/crud-api.abstract.service.d.ts +0 -25
  515. package/data-api/class-dto/services/get-all-api.abstract.service.d.ts +0 -14
  516. package/data-api/class-dto/tableview/tableview-crud.data-provider.d.ts +0 -17
  517. package/data-api/helpers/get-all-params.d.ts +0 -69
  518. package/data-api/helpers/tableview-get-all-params-create.d.ts +0 -14
  519. package/data-api/index.d.ts +0 -5
  520. package/data-api/models/request-params.model.d.ts +0 -61
  521. package/data-api/rxjs/map-to-data-list.operator.d.ts +0 -9
  522. package/data-api/types/extract-get-all-params.type.d.ts +0 -14
  523. package/esm2022/data-api/class-dto/helpers/tableview-crud-create.mjs +0 -40
  524. package/esm2022/data-api/class-dto/index.mjs +0 -13
  525. package/esm2022/data-api/class-dto/mediusinc-mng-commons-data-api-class-dto.mjs +0 -5
  526. package/esm2022/data-api/class-dto/models/query-result.model.mjs +0 -24
  527. package/esm2022/data-api/class-dto/obsolete/helpers/query-param-convert.mjs +0 -103
  528. package/esm2022/data-api/class-dto/obsolete/helpers/tableview-crud-create.mjs +0 -21
  529. package/esm2022/data-api/class-dto/obsolete/index.mjs +0 -21
  530. package/esm2022/data-api/class-dto/obsolete/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +0 -5
  531. package/esm2022/data-api/class-dto/obsolete/models/builders/query-param.builder.mjs +0 -83
  532. package/esm2022/data-api/class-dto/obsolete/models/filter-match-type.model.mjs +0 -27
  533. package/esm2022/data-api/class-dto/obsolete/models/filter-param.model.mjs +0 -33
  534. package/esm2022/data-api/class-dto/obsolete/models/query-mode.model.mjs +0 -18
  535. package/esm2022/data-api/class-dto/obsolete/models/query-param.model.mjs +0 -68
  536. package/esm2022/data-api/class-dto/obsolete/models/query-result.model.mjs +0 -24
  537. package/esm2022/data-api/class-dto/obsolete/provide.mjs +0 -40
  538. package/esm2022/data-api/class-dto/obsolete/services/api.abstract.service.mjs +0 -70
  539. package/esm2022/data-api/class-dto/obsolete/services/crud-api.abstract.service.mjs +0 -83
  540. package/esm2022/data-api/class-dto/obsolete/services/get-all-api.abstract.service.mjs +0 -38
  541. package/esm2022/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.mjs +0 -51
  542. package/esm2022/data-api/class-dto/obsolete/utils/query-param-map.util.mjs +0 -57
  543. package/esm2022/data-api/class-dto/serder/object-serializer.mjs +0 -184
  544. package/esm2022/data-api/class-dto/services/api.abstract.service.mjs +0 -55
  545. package/esm2022/data-api/class-dto/services/crud-api.abstract.service.mjs +0 -82
  546. package/esm2022/data-api/class-dto/services/get-all-api.abstract.service.mjs +0 -49
  547. package/esm2022/data-api/class-dto/tableview/tableview-crud.data-provider.mjs +0 -49
  548. package/esm2022/data-api/helpers/get-all-params.mjs +0 -180
  549. package/esm2022/data-api/helpers/tableview-get-all-params-create.mjs +0 -18
  550. package/esm2022/data-api/index.mjs +0 -10
  551. package/esm2022/data-api/mediusinc-mng-commons-data-api.mjs +0 -5
  552. package/esm2022/data-api/models/request-params.model.mjs +0 -2
  553. package/esm2022/data-api/rxjs/map-to-data-list.operator.mjs +0 -19
  554. package/esm2022/data-api/types/extract-get-all-params.type.mjs +0 -2
  555. package/esm2022/lib/components/action/action.component.mjs +0 -314
  556. package/esm2022/lib/components/action/editor/action-editor.component.mjs +0 -98
  557. package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +0 -394
  558. package/esm2022/lib/components/action/index.mjs +0 -6
  559. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +0 -53
  560. package/esm2022/lib/components/action/models/action-component.model.mjs +0 -2
  561. package/esm2022/lib/components/action/models/action-execution.model.mjs +0 -323
  562. package/esm2022/lib/components/action/models/index.mjs +0 -4
  563. package/esm2022/lib/components/action/models/tableview-action-default-categories.model.mjs +0 -11
  564. package/esm2022/lib/components/action/route/action-route.component.mjs +0 -141
  565. package/esm2022/lib/components/action/table/action-table.component.mjs +0 -152
  566. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -408
  567. package/esm2022/lib/components/form/date-range/date-range.component.mjs +0 -110
  568. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +0 -210
  569. package/esm2022/lib/components/form/editor/form-editor.component.mjs +0 -281
  570. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +0 -61
  571. package/esm2022/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -54
  572. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +0 -69
  573. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +0 -39
  574. package/esm2022/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -49
  575. package/esm2022/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -27
  576. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -220
  577. package/esm2022/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +0 -24
  578. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +0 -219
  579. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -221
  580. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -212
  581. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -18
  582. package/esm2022/lib/components/form/formly/fields/index.mjs +0 -13
  583. package/esm2022/lib/components/form/formly/formly.config.mjs +0 -250
  584. package/esm2022/lib/components/form/formly/index.mjs +0 -2
  585. package/esm2022/lib/components/form/formly/models/formly-config.model.mjs +0 -2
  586. package/esm2022/lib/components/form/formly/models/formly-field.model.mjs +0 -2
  587. package/esm2022/lib/components/form/formly/models/index.mjs +0 -3
  588. package/esm2022/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +0 -33
  589. package/esm2022/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -31
  590. package/esm2022/lib/components/form/formly/wrappers/index.mjs +0 -3
  591. package/esm2022/lib/components/form/index.mjs +0 -5
  592. package/esm2022/lib/components/form/models/field-action-context.model.mjs +0 -2
  593. package/esm2022/lib/components/form/models/form-editor.event.mjs +0 -49
  594. package/esm2022/lib/components/form/models/form-editor.interface.mjs +0 -2
  595. package/esm2022/lib/components/form/models/index.mjs +0 -4
  596. package/esm2022/lib/components/layout/breadcrumb.component.mjs +0 -34
  597. package/esm2022/lib/components/layout/footer.component.mjs +0 -19
  598. package/esm2022/lib/components/layout/index.mjs +0 -9
  599. package/esm2022/lib/components/layout/main-layout.component.mjs +0 -53
  600. package/esm2022/lib/components/layout/menu-item.component.mjs +0 -296
  601. package/esm2022/lib/components/layout/menu.component.mjs +0 -34
  602. package/esm2022/lib/components/layout/services/index.mjs +0 -2
  603. package/esm2022/lib/components/layout/services/main-layout.component.service.mjs +0 -196
  604. package/esm2022/lib/components/layout/topbar-user.component.mjs +0 -46
  605. package/esm2022/lib/components/layout/topbar.component.mjs +0 -66
  606. package/esm2022/lib/components/layout/version.component.mjs +0 -60
  607. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +0 -30
  608. package/esm2022/lib/components/layoutV2/footer.component.mjs +0 -29
  609. package/esm2022/lib/components/layoutV2/index.mjs +0 -8
  610. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +0 -95
  611. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +0 -275
  612. package/esm2022/lib/components/layoutV2/menu.component.mjs +0 -39
  613. package/esm2022/lib/components/layoutV2/model/index.mjs +0 -3
  614. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +0 -2
  615. package/esm2022/lib/components/layoutV2/model/menu.model.mjs +0 -2
  616. package/esm2022/lib/components/layoutV2/services/index.mjs +0 -3
  617. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +0 -71
  618. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +0 -122
  619. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +0 -62
  620. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +0 -40
  621. package/esm2022/lib/components/layoutV2/topbar.component.mjs +0 -69
  622. package/esm2022/lib/components/layoutV2/version.component.mjs +0 -63
  623. package/esm2022/lib/components/notification/notification-wrapper.component.mjs +0 -50
  624. package/esm2022/lib/components/pages/error/error.page.component.mjs +0 -21
  625. package/esm2022/lib/components/pages/index.mjs +0 -3
  626. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +0 -21
  627. package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +0 -597
  628. package/esm2022/lib/components/table/column-value/column-value.component.mjs +0 -90
  629. package/esm2022/lib/components/table/models/table.event.mjs +0 -16
  630. package/esm2022/lib/components/table/models/table.interface.mjs +0 -2
  631. package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +0 -25
  632. package/esm2022/lib/components/table/table.component.mjs +0 -643
  633. package/esm2022/lib/components/tableview/actions/tableview-default-actions.mjs +0 -215
  634. package/esm2022/lib/components/tableview/builders/tableview-builder.mjs +0 -162
  635. package/esm2022/lib/components/tableview/helpers/tableview-create.mjs +0 -24
  636. package/esm2022/lib/components/tableview/index.mjs +0 -7
  637. package/esm2022/lib/components/tableview/models/tableview.model.mjs +0 -2
  638. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +0 -15
  639. package/esm2022/lib/components/tableview/tableview.component.mjs +0 -82
  640. package/esm2022/lib/data-providers/base.data-provider.mjs +0 -48
  641. package/esm2022/lib/data-providers/editor.data-provider.mjs +0 -105
  642. package/esm2022/lib/data-providers/index.mjs +0 -6
  643. package/esm2022/lib/data-providers/lookup.data-provider.mjs +0 -45
  644. package/esm2022/lib/data-providers/table.data-provider.mjs +0 -64
  645. package/esm2022/lib/data-providers/tableview.data-provider.mjs +0 -105
  646. package/esm2022/lib/descriptors/action/action-button.descriptor.mjs +0 -68
  647. package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +0 -77
  648. package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +0 -266
  649. package/esm2022/lib/descriptors/action/action-link.descriptor.mjs +0 -89
  650. package/esm2022/lib/descriptors/action/action.descriptor.mjs +0 -383
  651. package/esm2022/lib/descriptors/action/index.mjs +0 -6
  652. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +0 -510
  653. package/esm2022/lib/descriptors/editor/field-action.descriptor.mjs +0 -50
  654. package/esm2022/lib/descriptors/editor/field-base.descriptor.mjs +0 -285
  655. package/esm2022/lib/descriptors/editor/field-group.descriptor.mjs +0 -97
  656. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +0 -212
  657. package/esm2022/lib/descriptors/editor/field-many.descriptor.mjs +0 -153
  658. package/esm2022/lib/descriptors/editor/field-validation.descriptor.mjs +0 -25
  659. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +0 -343
  660. package/esm2022/lib/descriptors/editor/index.mjs +0 -9
  661. package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +0 -2
  662. package/esm2022/lib/descriptors/editor/internal/editor.model.mjs +0 -2
  663. package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +0 -186
  664. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +0 -198
  665. package/esm2022/lib/descriptors/filter/index.mjs +0 -3
  666. package/esm2022/lib/descriptors/interfaces/field-config.interface.mjs +0 -2
  667. package/esm2022/lib/descriptors/interfaces/index.mjs +0 -3
  668. package/esm2022/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +0 -2
  669. package/esm2022/lib/descriptors/model/enum.descriptor.mjs +0 -31
  670. package/esm2022/lib/descriptors/model/index.mjs +0 -4
  671. package/esm2022/lib/descriptors/model/model.descriptor.mjs +0 -79
  672. package/esm2022/lib/descriptors/model/type.descriptor.mjs +0 -11
  673. package/esm2022/lib/descriptors/table/column.descriptor.mjs +0 -359
  674. package/esm2022/lib/descriptors/table/index.mjs +0 -4
  675. package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +0 -2
  676. package/esm2022/lib/descriptors/table/internal/table.model.mjs +0 -2
  677. package/esm2022/lib/descriptors/table/sort.descriptor.mjs +0 -45
  678. package/esm2022/lib/descriptors/table/table.descriptor.mjs +0 -751
  679. package/esm2022/lib/descriptors/tableview/index.mjs +0 -2
  680. package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +0 -2
  681. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +0 -558
  682. package/esm2022/lib/descriptors/types/action.type.mjs +0 -26
  683. package/esm2022/lib/descriptors/types/column.type.mjs +0 -21
  684. package/esm2022/lib/descriptors/types/editor.type.mjs +0 -8
  685. package/esm2022/lib/descriptors/types/field.type.mjs +0 -56
  686. package/esm2022/lib/descriptors/types/filter.type.mjs +0 -15
  687. package/esm2022/lib/descriptors/types/index.mjs +0 -8
  688. package/esm2022/lib/descriptors/types/table.type.mjs +0 -22
  689. package/esm2022/lib/descriptors/types/trim.type.mjs +0 -2
  690. package/esm2022/lib/directives/component.directive.mjs +0 -66
  691. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +0 -49
  692. package/esm2022/lib/directives/index.mjs +0 -5
  693. package/esm2022/lib/directives/input-trim.directive.mjs +0 -55
  694. package/esm2022/lib/directives/template.directive.mjs +0 -29
  695. package/esm2022/lib/error/error.handler.mjs +0 -20
  696. package/esm2022/lib/error/index.mjs +0 -2
  697. package/esm2022/lib/guards/index.mjs +0 -2
  698. package/esm2022/lib/guards/unsaved-changes.guard.mjs +0 -4
  699. package/esm2022/lib/helpers/coercion.mjs +0 -52
  700. package/esm2022/lib/helpers/data-provider-executors.mjs +0 -80
  701. package/esm2022/lib/models/action-editor.model.mjs +0 -2
  702. package/esm2022/lib/models/can-component-deactivate.model.mjs +0 -2
  703. package/esm2022/lib/models/class.model.mjs +0 -2
  704. package/esm2022/lib/models/column-value.model.mjs +0 -2
  705. package/esm2022/lib/models/common-init-event-enum.model.mjs +0 -11
  706. package/esm2022/lib/models/config.model.mjs +0 -2
  707. package/esm2022/lib/models/data-list.model.mjs +0 -2
  708. package/esm2022/lib/models/enum.model.mjs +0 -2
  709. package/esm2022/lib/models/error.model.mjs +0 -44
  710. package/esm2022/lib/models/filter-match.model.mjs +0 -105
  711. package/esm2022/lib/models/index.mjs +0 -20
  712. package/esm2022/lib/models/layout-config.model.mjs +0 -2
  713. package/esm2022/lib/models/log.model.mjs +0 -10
  714. package/esm2022/lib/models/menu.model.mjs +0 -2
  715. package/esm2022/lib/models/radio.model.mjs +0 -2
  716. package/esm2022/lib/models/tableview-attr.model.mjs +0 -2
  717. package/esm2022/lib/models/type-registry.model.mjs +0 -2
  718. package/esm2022/lib/models/user.model.mjs +0 -2
  719. package/esm2022/lib/models/version.model.mjs +0 -2
  720. package/esm2022/lib/models/view-container.model.mjs +0 -2
  721. package/esm2022/lib/pipes/boolean.pipe.mjs +0 -28
  722. package/esm2022/lib/pipes/class-map.pipe.mjs +0 -23
  723. package/esm2022/lib/pipes/enum.pipe.mjs +0 -26
  724. package/esm2022/lib/pipes/enumerate-async.pipe.mjs +0 -41
  725. package/esm2022/lib/pipes/enumerate.pipe.mjs +0 -58
  726. package/esm2022/lib/pipes/getter.pipe.mjs +0 -21
  727. package/esm2022/lib/pipes/i18n-property.pipe.mjs +0 -19
  728. package/esm2022/lib/pipes/index.mjs +0 -12
  729. package/esm2022/lib/pipes/json-path.pipe.mjs +0 -25
  730. package/esm2022/lib/pipes/locale-default-row-class.pipe.mjs +0 -27
  731. package/esm2022/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +0 -2
  732. package/esm2022/lib/pipes/models/internal/index.mjs +0 -2
  733. package/esm2022/lib/pipes/parametrize.pipe.mjs +0 -86
  734. package/esm2022/lib/pipes/template.pipe.mjs +0 -26
  735. package/esm2022/lib/provide.mjs +0 -101
  736. package/esm2022/lib/registry/type.registry.mjs +0 -106
  737. package/esm2022/lib/router/index.mjs +0 -4
  738. package/esm2022/lib/router/models/index.mjs +0 -2
  739. package/esm2022/lib/router/models/router.model.mjs +0 -2
  740. package/esm2022/lib/router/route-builder.mjs +0 -347
  741. package/esm2022/lib/router/routes-builder.mjs +0 -69
  742. package/esm2022/lib/router/tableview-route-builder.mjs +0 -201
  743. package/esm2022/lib/security/authorization.guard.mjs +0 -15
  744. package/esm2022/lib/security/authorization.service.mjs +0 -51
  745. package/esm2022/lib/security/authorization.util.mjs +0 -16
  746. package/esm2022/lib/security/index.mjs +0 -4
  747. package/esm2022/lib/security/model/authorization.type.mjs +0 -8
  748. package/esm2022/lib/security/model/index.mjs +0 -4
  749. package/esm2022/lib/security/model/permission-service.interface.mjs +0 -2
  750. package/esm2022/lib/security/model/permissions.model.mjs +0 -87
  751. package/esm2022/lib/services/action/action-executor.service.mjs +0 -747
  752. package/esm2022/lib/services/action/component-action-executor.service.mjs +0 -19
  753. package/esm2022/lib/services/action/index.mjs +0 -5
  754. package/esm2022/lib/services/action/provide-action-executor.mjs +0 -9
  755. package/esm2022/lib/services/action/root-action-executor.service.mjs +0 -18
  756. package/esm2022/lib/services/action-error-mapper.service.mjs +0 -20
  757. package/esm2022/lib/services/commons-init.service.mjs +0 -100
  758. package/esm2022/lib/services/commons.service.mjs +0 -459
  759. package/esm2022/lib/services/configuration.service.mjs +0 -174
  760. package/esm2022/lib/services/data-provider-executor.service.mjs +0 -52
  761. package/esm2022/lib/services/index.mjs +0 -12
  762. package/esm2022/lib/services/internal/commons-init.provider.mjs +0 -4
  763. package/esm2022/lib/services/internal/index.mjs +0 -2
  764. package/esm2022/lib/services/log-publisher-console.service.mjs +0 -40
  765. package/esm2022/lib/services/logger.service.mjs +0 -130
  766. package/esm2022/lib/services/mng-localstorage-config.service.mjs +0 -30
  767. package/esm2022/lib/services/navigation.service.mjs +0 -55
  768. package/esm2022/lib/services/providers/formly-config.provider.mjs +0 -31
  769. package/esm2022/lib/services/providers/index.mjs +0 -2
  770. package/esm2022/lib/services/router.service.mjs +0 -183
  771. package/esm2022/lib/services/tokens/browser-storage.token.mjs +0 -6
  772. package/esm2022/lib/services/tokens/commons-init.token.mjs +0 -3
  773. package/esm2022/lib/services/tokens/default-setting.token.mjs +0 -3
  774. package/esm2022/lib/services/tokens/index.mjs +0 -6
  775. package/esm2022/lib/services/tokens/log-publisher.token.mjs +0 -3
  776. package/esm2022/lib/services/tokens/module-config.token.mjs +0 -3
  777. package/esm2022/lib/services/version.service.mjs +0 -49
  778. package/esm2022/lib/services/view/index.mjs +0 -3
  779. package/esm2022/lib/services/view/provide-view-container.mjs +0 -17
  780. package/esm2022/lib/services/view/view-container.service.mjs +0 -59
  781. package/esm2022/lib/styles/button-style.builder.mjs +0 -174
  782. package/esm2022/lib/styles/index.mjs +0 -3
  783. package/esm2022/lib/styles/models/index.mjs +0 -3
  784. package/esm2022/lib/styles/models/style-level.enum.mjs +0 -12
  785. package/esm2022/lib/styles/models/style-size.enum.mjs +0 -9
  786. package/esm2022/lib/styles/styles.util.mjs +0 -42
  787. package/esm2022/lib/types/action-descriptor.types.mjs +0 -2
  788. package/esm2022/lib/types/data-provider.types.mjs +0 -2
  789. package/esm2022/lib/types/getter.type.mjs +0 -2
  790. package/esm2022/lib/types/i18n.type.mjs +0 -2
  791. package/esm2022/lib/types/index.mjs +0 -8
  792. package/esm2022/lib/types/localstorage-config-value.type.mjs +0 -2
  793. package/esm2022/lib/types/type.decorator.mjs +0 -12
  794. package/esm2022/lib/types/type.model.mjs +0 -2
  795. package/esm2022/lib/utils/data-list-params.util.mjs +0 -416
  796. package/esm2022/lib/utils/date.util.mjs +0 -136
  797. package/esm2022/lib/utils/decorator-metadata.util.mjs +0 -61
  798. package/esm2022/lib/utils/editor-formly.util.mjs +0 -339
  799. package/esm2022/lib/utils/enum.util.mjs +0 -83
  800. package/esm2022/lib/utils/error.util.mjs +0 -247
  801. package/esm2022/lib/utils/export.util.mjs +0 -21
  802. package/esm2022/lib/utils/file.util.mjs +0 -18
  803. package/esm2022/lib/utils/i18n.util.mjs +0 -274
  804. package/esm2022/lib/utils/index.mjs +0 -14
  805. package/esm2022/lib/utils/model.util.mjs +0 -73
  806. package/esm2022/lib/utils/notification.util.mjs +0 -45
  807. package/esm2022/lib/utils/object.util.mjs +0 -135
  808. package/esm2022/lib/utils/route.util.mjs +0 -60
  809. package/esm2022/lib/utils/string.util.mjs +0 -59
  810. package/esm2022/lib/utils/tableview.util.mjs +0 -193
  811. package/esm2022/lib/validators/field.validator.mjs +0 -33
  812. package/esm2022/lib/validators/index.mjs +0 -2
  813. package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +0 -698
  814. package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs.map +0 -1
  815. package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs +0 -480
  816. package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs.map +0 -1
  817. package/fesm2022/mediusinc-mng-commons-data-api.mjs +0 -224
  818. package/fesm2022/mediusinc-mng-commons-data-api.mjs.map +0 -1
  819. package/lib/components/action/action.component.d.ts +0 -76
  820. package/lib/components/action/editor/action-editor.component.d.ts +0 -33
  821. package/lib/components/action/editor/injector-context/action-editor-injector-context.component.d.ts +0 -80
  822. package/lib/components/action/index.d.ts +0 -5
  823. package/lib/components/action/localization/data-language-dropdown.component.d.ts +0 -24
  824. package/lib/components/action/models/action-component.model.d.ts +0 -13
  825. package/lib/components/action/models/action-execution.model.d.ts +0 -169
  826. package/lib/components/action/models/index.d.ts +0 -3
  827. package/lib/components/action/route/action-route.component.d.ts +0 -31
  828. package/lib/components/action/table/action-table.component.d.ts +0 -49
  829. package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -83
  830. package/lib/components/form/date-range/date-range.component.d.ts +0 -28
  831. package/lib/components/form/dropdown/dropdown.component.d.ts +0 -54
  832. package/lib/components/form/editor/form-editor.component.d.ts +0 -51
  833. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +0 -16
  834. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -16
  835. package/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.d.ts +0 -27
  836. package/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +0 -12
  837. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -15
  838. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -14
  839. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -39
  840. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +0 -11
  841. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -45
  842. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -25
  843. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -42
  844. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -7
  845. package/lib/components/form/formly/fields/index.d.ts +0 -12
  846. package/lib/components/form/formly/formly.config.d.ts +0 -17
  847. package/lib/components/form/formly/index.d.ts +0 -1
  848. package/lib/components/form/formly/models/formly-config.model.d.ts +0 -11
  849. package/lib/components/form/formly/models/formly-field.model.d.ts +0 -17
  850. package/lib/components/form/formly/models/index.d.ts +0 -2
  851. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +0 -11
  852. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -11
  853. package/lib/components/form/formly/wrappers/index.d.ts +0 -2
  854. package/lib/components/form/index.d.ts +0 -4
  855. package/lib/components/form/models/field-action-context.model.d.ts +0 -24
  856. package/lib/components/form/models/form-editor.event.d.ts +0 -58
  857. package/lib/components/form/models/index.d.ts +0 -3
  858. package/lib/components/layout/breadcrumb.component.d.ts +0 -13
  859. package/lib/components/layout/footer.component.d.ts +0 -9
  860. package/lib/components/layout/index.d.ts +0 -8
  861. package/lib/components/layout/main-layout.component.d.ts +0 -19
  862. package/lib/components/layout/menu-item.component.d.ts +0 -55
  863. package/lib/components/layout/menu.component.d.ts +0 -16
  864. package/lib/components/layout/services/index.d.ts +0 -1
  865. package/lib/components/layout/services/main-layout.component.service.d.ts +0 -65
  866. package/lib/components/layout/topbar-user.component.d.ts +0 -22
  867. package/lib/components/layout/topbar.component.d.ts +0 -26
  868. package/lib/components/layout/version.component.d.ts +0 -19
  869. package/lib/components/layoutV2/breadcrumb.component.d.ts +0 -10
  870. package/lib/components/layoutV2/footer.component.d.ts +0 -12
  871. package/lib/components/layoutV2/index.d.ts +0 -7
  872. package/lib/components/layoutV2/main-layout.component.d.ts +0 -24
  873. package/lib/components/layoutV2/menu-item.component.d.ts +0 -42
  874. package/lib/components/layoutV2/menu.component.d.ts +0 -14
  875. package/lib/components/layoutV2/model/index.d.ts +0 -2
  876. package/lib/components/layoutV2/model/layout-state.model.d.ts +0 -10
  877. package/lib/components/layoutV2/model/menu.model.d.ts +0 -4
  878. package/lib/components/layoutV2/services/index.d.ts +0 -2
  879. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +0 -17
  880. package/lib/components/layoutV2/services/menu.service.d.ts +0 -22
  881. package/lib/components/layoutV2/sidebar.component.d.ts +0 -19
  882. package/lib/components/layoutV2/topbar-user.component.d.ts +0 -16
  883. package/lib/components/layoutV2/topbar.component.d.ts +0 -22
  884. package/lib/components/layoutV2/version.component.d.ts +0 -19
  885. package/lib/components/pages/error/error.page.component.d.ts +0 -8
  886. package/lib/components/pages/index.d.ts +0 -2
  887. package/lib/components/pages/not-found/not-found.page.component.d.ts +0 -8
  888. package/lib/components/table/column-filter-full/column-filter-full.component.d.ts +0 -101
  889. package/lib/components/table/column-value/column-value.component.d.ts +0 -35
  890. package/lib/components/table/models/table.event.d.ts +0 -17
  891. package/lib/components/table/models/table.interface.d.ts +0 -17
  892. package/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.d.ts +0 -8
  893. package/lib/components/table/table.component.d.ts +0 -123
  894. package/lib/components/tableview/actions/tableview-default-actions.d.ts +0 -36
  895. package/lib/components/tableview/builders/tableview-builder.d.ts +0 -115
  896. package/lib/components/tableview/helpers/tableview-create.d.ts +0 -16
  897. package/lib/components/tableview/index.d.ts +0 -6
  898. package/lib/components/tableview/models/tableview.model.d.ts +0 -8
  899. package/lib/components/tableview/route/tableview-route.component.d.ts +0 -7
  900. package/lib/components/tableview/tableview.component.d.ts +0 -29
  901. package/lib/data-providers/base.data-provider.d.ts +0 -32
  902. package/lib/data-providers/editor.data-provider.d.ts +0 -88
  903. package/lib/data-providers/index.d.ts +0 -5
  904. package/lib/data-providers/lookup.data-provider.d.ts +0 -27
  905. package/lib/data-providers/table.data-provider.d.ts +0 -40
  906. package/lib/data-providers/tableview.data-provider.d.ts +0 -45
  907. package/lib/descriptors/action/action-button.descriptor.d.ts +0 -25
  908. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +0 -36
  909. package/lib/descriptors/action/action-editor.descriptor.d.ts +0 -118
  910. package/lib/descriptors/action/action-link.descriptor.d.ts +0 -34
  911. package/lib/descriptors/action/action.descriptor.d.ts +0 -149
  912. package/lib/descriptors/action/index.d.ts +0 -5
  913. package/lib/descriptors/editor/editor.descriptor.d.ts +0 -270
  914. package/lib/descriptors/editor/field-action.descriptor.d.ts +0 -23
  915. package/lib/descriptors/editor/field-base.descriptor.d.ts +0 -122
  916. package/lib/descriptors/editor/field-group.descriptor.d.ts +0 -42
  917. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +0 -83
  918. package/lib/descriptors/editor/field-many.descriptor.d.ts +0 -63
  919. package/lib/descriptors/editor/field-validation.descriptor.d.ts +0 -19
  920. package/lib/descriptors/editor/field.descriptor.d.ts +0 -167
  921. package/lib/descriptors/editor/index.d.ts +0 -8
  922. package/lib/descriptors/editor/internal/editor-fields.model.d.ts +0 -33
  923. package/lib/descriptors/editor/internal/editor.model.d.ts +0 -15
  924. package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +0 -70
  925. package/lib/descriptors/filter/filter.descriptor.d.ts +0 -66
  926. package/lib/descriptors/filter/index.d.ts +0 -2
  927. package/lib/descriptors/interfaces/field-config.interface.d.ts +0 -9
  928. package/lib/descriptors/interfaces/index.d.ts +0 -2
  929. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +0 -12
  930. package/lib/descriptors/model/enum.descriptor.d.ts +0 -14
  931. package/lib/descriptors/model/index.d.ts +0 -3
  932. package/lib/descriptors/model/model.descriptor.d.ts +0 -31
  933. package/lib/descriptors/model/type.descriptor.d.ts +0 -5
  934. package/lib/descriptors/table/column.descriptor.d.ts +0 -148
  935. package/lib/descriptors/table/index.d.ts +0 -3
  936. package/lib/descriptors/table/internal/table-columns.model.d.ts +0 -42
  937. package/lib/descriptors/table/internal/table.model.d.ts +0 -12
  938. package/lib/descriptors/table/table.descriptor.d.ts +0 -272
  939. package/lib/descriptors/tableview/index.d.ts +0 -1
  940. package/lib/descriptors/tableview/internal/tableview.model.d.ts +0 -11
  941. package/lib/descriptors/tableview/tableview.descriptor.d.ts +0 -193
  942. package/lib/descriptors/types/editor.type.d.ts +0 -6
  943. package/lib/descriptors/types/field.type.d.ts +0 -47
  944. package/lib/descriptors/types/index.d.ts +0 -7
  945. package/lib/descriptors/types/table.type.d.ts +0 -18
  946. package/lib/directives/component.directive.d.ts +0 -20
  947. package/lib/directives/dialog-keydown-handler.directive.d.ts +0 -12
  948. package/lib/directives/index.d.ts +0 -4
  949. package/lib/directives/input-trim.directive.d.ts +0 -14
  950. package/lib/directives/template.directive.d.ts +0 -12
  951. package/lib/error/error.handler.d.ts +0 -6
  952. package/lib/error/index.d.ts +0 -1
  953. package/lib/guards/index.d.ts +0 -1
  954. package/lib/guards/unsaved-changes.guard.d.ts +0 -3
  955. package/lib/helpers/coercion.d.ts +0 -9
  956. package/lib/helpers/data-provider-executors.d.ts +0 -19
  957. package/lib/models/action-editor.model.d.ts +0 -15
  958. package/lib/models/column-value.model.d.ts +0 -4
  959. package/lib/models/common-init-event-enum.model.d.ts +0 -9
  960. package/lib/models/config.model.d.ts +0 -53
  961. package/lib/models/enum.model.d.ts +0 -7
  962. package/lib/models/error.model.d.ts +0 -50
  963. package/lib/models/index.d.ts +0 -19
  964. package/lib/models/layout-config.model.d.ts +0 -34
  965. package/lib/models/log.model.d.ts +0 -40
  966. package/lib/models/menu.model.d.ts +0 -32
  967. package/lib/models/tableview-attr.model.d.ts +0 -10
  968. package/lib/models/type-registry.model.d.ts +0 -7
  969. package/lib/models/user.model.d.ts +0 -8
  970. package/lib/models/view-container.model.d.ts +0 -24
  971. package/lib/pipes/boolean.pipe.d.ts +0 -7
  972. package/lib/pipes/class-map.pipe.d.ts +0 -7
  973. package/lib/pipes/enum.pipe.d.ts +0 -8
  974. package/lib/pipes/enumerate-async.pipe.d.ts +0 -14
  975. package/lib/pipes/enumerate.pipe.d.ts +0 -21
  976. package/lib/pipes/getter.pipe.d.ts +0 -8
  977. package/lib/pipes/i18n-property.pipe.d.ts +0 -8
  978. package/lib/pipes/index.d.ts +0 -11
  979. package/lib/pipes/json-path.pipe.d.ts +0 -13
  980. package/lib/pipes/locale-default-row-class.pipe.d.ts +0 -10
  981. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +0 -5
  982. package/lib/pipes/models/internal/index.d.ts +0 -1
  983. package/lib/pipes/parametrize.pipe.d.ts +0 -13
  984. package/lib/pipes/template.pipe.d.ts +0 -10
  985. package/lib/provide.d.ts +0 -10
  986. package/lib/registry/type.registry.d.ts +0 -25
  987. package/lib/router/index.d.ts +0 -3
  988. package/lib/router/models/index.d.ts +0 -1
  989. package/lib/router/models/router.model.d.ts +0 -31
  990. package/lib/router/route-builder.d.ts +0 -75
  991. package/lib/router/routes-builder.d.ts +0 -28
  992. package/lib/router/tableview-route-builder.d.ts +0 -44
  993. package/lib/security/authorization.guard.d.ts +0 -2
  994. package/lib/security/authorization.service.d.ts +0 -17
  995. package/lib/security/authorization.util.d.ts +0 -5
  996. package/lib/security/index.d.ts +0 -3
  997. package/lib/security/model/authorization.type.d.ts +0 -6
  998. package/lib/security/model/index.d.ts +0 -3
  999. package/lib/security/model/permission-service.interface.d.ts +0 -6
  1000. package/lib/security/model/permissions.model.d.ts +0 -37
  1001. package/lib/services/action/action-executor.service.d.ts +0 -177
  1002. package/lib/services/action/component-action-executor.service.d.ts +0 -9
  1003. package/lib/services/action/index.d.ts +0 -4
  1004. package/lib/services/action/root-action-executor.service.d.ts +0 -9
  1005. package/lib/services/action-error-mapper.service.d.ts +0 -18
  1006. package/lib/services/commons-init.service.d.ts +0 -22
  1007. package/lib/services/commons.service.d.ts +0 -90
  1008. package/lib/services/configuration.service.d.ts +0 -68
  1009. package/lib/services/data-provider-executor.service.d.ts +0 -60
  1010. package/lib/services/index.d.ts +0 -11
  1011. package/lib/services/internal/commons-init.provider.d.ts +0 -4
  1012. package/lib/services/internal/index.d.ts +0 -1
  1013. package/lib/services/log-publisher-console.service.d.ts +0 -4
  1014. package/lib/services/logger.service.d.ts +0 -33
  1015. package/lib/services/mng-localstorage-config.service.d.ts +0 -11
  1016. package/lib/services/navigation.service.d.ts +0 -15
  1017. package/lib/services/providers/formly-config.provider.d.ts +0 -5
  1018. package/lib/services/providers/index.d.ts +0 -1
  1019. package/lib/services/router.service.d.ts +0 -37
  1020. package/lib/services/tokens/browser-storage.token.d.ts +0 -2
  1021. package/lib/services/tokens/commons-init.token.d.ts +0 -3
  1022. package/lib/services/tokens/default-setting.token.d.ts +0 -2
  1023. package/lib/services/tokens/index.d.ts +0 -5
  1024. package/lib/services/tokens/log-publisher.token.d.ts +0 -3
  1025. package/lib/services/tokens/module-config.token.d.ts +0 -3
  1026. package/lib/services/version.service.d.ts +0 -14
  1027. package/lib/services/view/index.d.ts +0 -2
  1028. package/lib/services/view/view-container.service.d.ts +0 -32
  1029. package/lib/styles/button-style.builder.d.ts +0 -68
  1030. package/lib/styles/index.d.ts +0 -2
  1031. package/lib/styles/models/index.d.ts +0 -2
  1032. package/lib/styles/models/style-level.enum.d.ts +0 -10
  1033. package/lib/styles/models/style-size.enum.d.ts +0 -7
  1034. package/lib/styles/styles.util.d.ts +0 -15
  1035. package/lib/types/action-descriptor.types.d.ts +0 -4
  1036. package/lib/types/data-provider.types.d.ts +0 -3
  1037. package/lib/types/getter.type.d.ts +0 -2
  1038. package/lib/types/i18n.type.d.ts +0 -1
  1039. package/lib/types/index.d.ts +0 -7
  1040. package/lib/types/localstorage-config-value.type.d.ts +0 -1
  1041. package/lib/types/type.model.d.ts +0 -31
  1042. package/lib/utils/data-list-params.util.d.ts +0 -84
  1043. package/lib/utils/decorator-metadata.util.d.ts +0 -33
  1044. package/lib/utils/editor-formly.util.d.ts +0 -13
  1045. package/lib/utils/enum.util.d.ts +0 -51
  1046. package/lib/utils/error.util.d.ts +0 -116
  1047. package/lib/utils/export.util.d.ts +0 -5
  1048. package/lib/utils/file.util.d.ts +0 -3
  1049. package/lib/utils/i18n.util.d.ts +0 -85
  1050. package/lib/utils/index.d.ts +0 -13
  1051. package/lib/utils/model.util.d.ts +0 -10
  1052. package/lib/utils/notification.util.d.ts +0 -13
  1053. package/lib/utils/object.util.d.ts +0 -30
  1054. package/lib/utils/route.util.d.ts +0 -37
  1055. package/lib/utils/tableview.util.d.ts +0 -53
  1056. package/lib/validators/field.validator.d.ts +0 -3
  1057. package/lib/validators/index.d.ts +0 -1
  1058. package/openapi/angular/README.mustache +0 -226
  1059. package/openapi/angular/api.module.mustache +0 -39
  1060. package/openapi/angular/api.service.mustache +0 -253
  1061. package/openapi/angular/apiInterface.mustache +0 -47
  1062. package/openapi/angular/apis.mustache +0 -12
  1063. package/openapi/angular/config.yaml +0 -23
  1064. package/openapi/angular/configuration.mustache +0 -128
  1065. package/openapi/angular/custom/base-api.service.mustache +0 -14
  1066. package/openapi/angular/custom/helpers.mustache +0 -71
  1067. package/openapi/angular/custom/modelSchema.mustache +0 -46
  1068. package/openapi/angular/custom/schema.mustache +0 -18
  1069. package/openapi/angular/encoder.mustache +0 -20
  1070. package/openapi/angular/git_push.sh.mustache +0 -57
  1071. package/openapi/angular/index.mustache +0 -0
  1072. package/openapi/angular/licenseInfo.mustache +0 -11
  1073. package/openapi/angular/model.mustache +0 -16
  1074. package/openapi/angular/modelAlias.mustache +0 -1
  1075. package/openapi/angular/modelEnum.mustache +0 -21
  1076. package/openapi/angular/modelGeneric.mustache +0 -14
  1077. package/openapi/angular/modelGenericAdditionalProperties.mustache +0 -5
  1078. package/openapi/angular/modelGenericEnums.mustache +0 -30
  1079. package/openapi/angular/modelOneOf.mustache +0 -14
  1080. package/openapi/angular/modelTaggedUnion.mustache +0 -21
  1081. package/openapi/angular/models.mustache +0 -5
  1082. package/openapi/angular/ng-package.mustache +0 -6
  1083. package/openapi/angular/package.mustache +0 -39
  1084. package/openapi/angular/param.mustache +0 -69
  1085. package/openapi/angular/tsconfig.mustache +0 -28
  1086. package/openapi/angular/variables.mustache +0 -9
  1087. package/openapi/node/model.mustache +0 -83
  1088. package/openapi/node/models.mustache +0 -6
  1089. package/scss/common/layout/_breadcrumb.scss +0 -99
  1090. package/scss/common/layout/_config.scss +0 -100
  1091. package/scss/common/layout/_dashboard.scss +0 -16
  1092. package/scss/common/layout/_exception.scss +0 -133
  1093. package/scss/common/layout/_footer.scss +0 -29
  1094. package/scss/common/layout/_help.scss +0 -156
  1095. package/scss/common/layout/_inlinemenu.scss +0 -68
  1096. package/scss/common/layout/_invoice.scss +0 -176
  1097. package/scss/common/layout/_landing.scss +0 -636
  1098. package/scss/common/layout/_layout_dark.scss +0 -23
  1099. package/scss/common/layout/_layout_light.scss +0 -23
  1100. package/scss/common/layout/_loader.scss +0 -17
  1101. package/scss/common/layout/_login.scss +0 -106
  1102. package/scss/common/layout/_main.scss +0 -45
  1103. package/scss/common/layout/_mixins.scss +0 -222
  1104. package/scss/common/layout/_rightmenu.scss +0 -130
  1105. package/scss/common/layout/_topbar.scss +0 -191
  1106. package/scss/common/layout/_typography.scss +0 -68
  1107. package/scss/common/layout/_utils.scss +0 -96
  1108. package/scss/common/layout/_widgets.scss +0 -392
  1109. package/scss/common/layout/menu/_menu.scss +0 -7
  1110. package/scss/common/layout/menu/_menu_common.scss +0 -183
  1111. package/scss/common/layout/menu/_menu_overlay.scss +0 -52
  1112. package/scss/common/layout/menu/_menu_sidebar.scss +0 -233
  1113. package/scss/common/layout/menu/_menu_slim.scss +0 -137
  1114. package/scss/common/layout/menu/_menu_static.scss +0 -70
  1115. package/scss/common/layout/menu/_menu_theme.scss +0 -364
  1116. package/scss/common/theme/_theme_dark.scss +0 -5
  1117. package/scss/common/theme/_theme_light.scss +0 -5
  1118. package/scss/common/theme/designer/_colors.scss +0 -17
  1119. package/scss/common/theme/designer/_common.scss +0 -41
  1120. package/scss/common/theme/designer/_components.scss +0 -102
  1121. package/scss/common/theme/designer/_mixins.scss +0 -203
  1122. package/scss/common/theme/designer/components/button/_button.scss +0 -572
  1123. package/scss/common/theme/designer/components/button/_speeddial.scss +0 -81
  1124. package/scss/common/theme/designer/components/button/_splitbutton.scss +0 -2
  1125. package/scss/common/theme/designer/components/data/_carousel.scss +0 -37
  1126. package/scss/common/theme/designer/components/data/_datatable.scss +0 -266
  1127. package/scss/common/theme/designer/components/data/_dataview.scss +0 -55
  1128. package/scss/common/theme/designer/components/data/_filter.scss +0 -137
  1129. package/scss/common/theme/designer/components/data/_fullcalendar.scss +0 -324
  1130. package/scss/common/theme/designer/components/data/_orderlist.scss +0 -91
  1131. package/scss/common/theme/designer/components/data/_organizationchart.scss +0 -50
  1132. package/scss/common/theme/designer/components/data/_paginator.scss +0 -83
  1133. package/scss/common/theme/designer/components/data/_picklist.scss +0 -91
  1134. package/scss/common/theme/designer/components/data/_timeline.scss +0 -35
  1135. package/scss/common/theme/designer/components/data/_tree.scss +0 -144
  1136. package/scss/common/theme/designer/components/data/_treetable.scss +0 -241
  1137. package/scss/common/theme/designer/components/data/_virtualscroller.scss +0 -28
  1138. package/scss/common/theme/designer/components/file/_fileupload.scss +0 -58
  1139. package/scss/common/theme/designer/components/input/_autocomplete.scss +0 -105
  1140. package/scss/common/theme/designer/components/input/_calendar.scss +0 -212
  1141. package/scss/common/theme/designer/components/input/_cascadeselect.scss +0 -98
  1142. package/scss/common/theme/designer/components/input/_checkbox.scss +0 -85
  1143. package/scss/common/theme/designer/components/input/_chips.scss +0 -43
  1144. package/scss/common/theme/designer/components/input/_colorpicker.scss +0 -19
  1145. package/scss/common/theme/designer/components/input/_dropdown.scss +0 -136
  1146. package/scss/common/theme/designer/components/input/_editor.scss +0 -122
  1147. package/scss/common/theme/designer/components/input/_inputgroup.scss +0 -69
  1148. package/scss/common/theme/designer/components/input/_inputmask.scss +0 -3
  1149. package/scss/common/theme/designer/components/input/_inputnumber.scss +0 -3
  1150. package/scss/common/theme/designer/components/input/_inputswitch.scss +0 -60
  1151. package/scss/common/theme/designer/components/input/_inputtext.scss +0 -97
  1152. package/scss/common/theme/designer/components/input/_listbox.scss +0 -82
  1153. package/scss/common/theme/designer/components/input/_multiselect.scss +0 -165
  1154. package/scss/common/theme/designer/components/input/_password.scss +0 -33
  1155. package/scss/common/theme/designer/components/input/_radiobutton.scss +0 -78
  1156. package/scss/common/theme/designer/components/input/_rating.scss +0 -48
  1157. package/scss/common/theme/designer/components/input/_selectbutton.scss +0 -50
  1158. package/scss/common/theme/designer/components/input/_slider.scss +0 -71
  1159. package/scss/common/theme/designer/components/input/_togglebutton.scss +0 -48
  1160. package/scss/common/theme/designer/components/input/_treeselect.scss +0 -91
  1161. package/scss/common/theme/designer/components/menu/_breadcrumb.scss +0 -42
  1162. package/scss/common/theme/designer/components/menu/_contextmenu.scss +0 -51
  1163. package/scss/common/theme/designer/components/menu/_dock.scss +0 -51
  1164. package/scss/common/theme/designer/components/menu/_megamenu.scss +0 -103
  1165. package/scss/common/theme/designer/components/menu/_menu.scss +0 -41
  1166. package/scss/common/theme/designer/components/menu/_menubar.scss +0 -180
  1167. package/scss/common/theme/designer/components/menu/_panelmenu.scss +0 -136
  1168. package/scss/common/theme/designer/components/menu/_slidemenu.scss +0 -56
  1169. package/scss/common/theme/designer/components/menu/_steps.scss +0 -56
  1170. package/scss/common/theme/designer/components/menu/_tabmenu.scss +0 -49
  1171. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +0 -57
  1172. package/scss/common/theme/designer/components/messages/_inlinemessage.scss +0 -64
  1173. package/scss/common/theme/designer/components/messages/_message.scss +0 -102
  1174. package/scss/common/theme/designer/components/messages/_toast.scss +0 -94
  1175. package/scss/common/theme/designer/components/misc/_avatar.scss +0 -30
  1176. package/scss/common/theme/designer/components/misc/_badge.scss +0 -48
  1177. package/scss/common/theme/designer/components/misc/_blockui.scss +0 -3
  1178. package/scss/common/theme/designer/components/misc/_chip.scss +0 -38
  1179. package/scss/common/theme/designer/components/misc/_inplace.scss +0 -16
  1180. package/scss/common/theme/designer/components/misc/_progressbar.scss +0 -17
  1181. package/scss/common/theme/designer/components/misc/_scrolltop.scss +0 -20
  1182. package/scss/common/theme/designer/components/misc/_skeleton.scss +0 -8
  1183. package/scss/common/theme/designer/components/misc/_tag.scss +0 -35
  1184. package/scss/common/theme/designer/components/misc/_terminal.scss +0 -11
  1185. package/scss/common/theme/designer/components/multimedia/_galleria.scss +0 -141
  1186. package/scss/common/theme/designer/components/multimedia/_image.scss +0 -44
  1187. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +0 -65
  1188. package/scss/common/theme/designer/components/overlay/_dialog.scss +0 -63
  1189. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +0 -62
  1190. package/scss/common/theme/designer/components/overlay/_sidebar.scss +0 -27
  1191. package/scss/common/theme/designer/components/overlay/_tooltip.scss +0 -33
  1192. package/scss/common/theme/designer/components/panel/_accordion.scss +0 -119
  1193. package/scss/common/theme/designer/components/panel/_card.scss +0 -30
  1194. package/scss/common/theme/designer/components/panel/_divider.scss +0 -31
  1195. package/scss/common/theme/designer/components/panel/_fieldset.scss +0 -47
  1196. package/scss/common/theme/designer/components/panel/_panel.scss +0 -42
  1197. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +0 -6
  1198. package/scss/common/theme/designer/components/panel/_splitter.scss +0 -19
  1199. package/scss/common/theme/designer/components/panel/_tabview.scss +0 -66
  1200. package/scss/common/theme/designer/components/panel/_toolbar.scss +0 -10
  1201. package/scss/common/theme/extensions/_button.scss +0 -111
  1202. package/scss/common/theme/extensions/_calendar.scss +0 -18
  1203. package/scss/common/theme/extensions/_card.scss +0 -6
  1204. package/scss/common/theme/extensions/_carousel.scss +0 -13
  1205. package/scss/common/theme/extensions/_checkbox.scss +0 -10
  1206. package/scss/common/theme/extensions/_contextmenu.scss +0 -16
  1207. package/scss/common/theme/extensions/_datatable.scss +0 -83
  1208. package/scss/common/theme/extensions/_dialog.scss +0 -14
  1209. package/scss/common/theme/extensions/_fieldset.scss +0 -6
  1210. package/scss/common/theme/extensions/_galleria.scss +0 -25
  1211. package/scss/common/theme/extensions/_megamenu.scss +0 -18
  1212. package/scss/common/theme/extensions/_menu.scss +0 -14
  1213. package/scss/common/theme/extensions/_menubar.scss +0 -14
  1214. package/scss/common/theme/extensions/_orderlist.scss +0 -37
  1215. package/scss/common/theme/extensions/_paginator.scss +0 -19
  1216. package/scss/common/theme/extensions/_panelmenu.scss +0 -20
  1217. package/scss/common/theme/extensions/_password.scss +0 -5
  1218. package/scss/common/theme/extensions/_picklist.scss +0 -37
  1219. package/scss/common/theme/extensions/_radiobutton.scss +0 -8
  1220. package/scss/common/theme/extensions/_sidebar.scss +0 -19
  1221. package/scss/common/theme/extensions/_slidemenu.scss +0 -10
  1222. package/scss/common/theme/extensions/_slider.scss +0 -6
  1223. package/scss/common/theme/extensions/_steps.scss +0 -50
  1224. package/scss/common/theme/extensions/_tieredmenu.scss +0 -14
  1225. package/scss/common/theme/extensions/_toast.scss +0 -6
  1226. package/scss/common/theme/extensions/_tree.scss +0 -35
  1227. package/scss/common/theme/extensions/_treetable.scss +0 -35
  1228. package/scss/common/theme/extensions/_vendor_extensions.scss +0 -27
  1229. package/scss/common/variables/layout/_common.scss +0 -12
  1230. package/scss/common/variables/layout/_layout_dark.scss +0 -70
  1231. package/scss/common/variables/layout/_layout_light.scss +0 -70
  1232. package/scss/common/variables/theme/_theme_dark.scss +0 -937
  1233. package/scss/common/variables/theme/_theme_light.scss +0 -936
  1234. package/scss/layout/default/_mng-variables-layout-dark.scss +0 -2
  1235. package/scss/layout/default/_mng-variables-layout-light.scss +0 -2
  1236. package/scss/layout/default/layout-dark.scss +0 -2
  1237. package/scss/layout/default/layout-light.scss +0 -2
  1238. package/scss/mng-commons-dark-v2.scss +0 -9
  1239. package/scss/mng-commons-dark.scss +0 -5
  1240. package/scss/mng-commons-light-v2.scss +0 -9
  1241. package/scss/mng-commons-light.scss +0 -8
  1242. package/scss/mng-overrides/_layout_action.scss +0 -10
  1243. package/scss/mng-overrides/_layout_dialog.scss +0 -91
  1244. package/scss/mng-overrides/_layout_forms.scss +0 -38
  1245. package/scss/mng-overrides/_layout_menu.scss +0 -10
  1246. package/scss/mng-overrides/_layout_radio.scss +0 -3
  1247. package/scss/mng-overrides/_layout_styles.scss +0 -35
  1248. package/scss/mng-overrides/_layout_topbar.scss +0 -21
  1249. package/scss/mng-overrides/_mixins.scss +0 -69
  1250. package/scss/mng-overrides/_theme_autocomplete.scss +0 -29
  1251. package/scss/mng-overrides/_theme_button.scss +0 -61
  1252. package/scss/mng-overrides/_theme_datatable.scss +0 -160
  1253. package/scss/mng-overrides/_theme_datepicker.scss +0 -21
  1254. package/scss/mng-overrides/_theme_dialog.scss +0 -108
  1255. package/scss/mng-overrides/_theme_dropdown.scss +0 -22
  1256. package/scss/mng-overrides/_theme_fileupload.scss +0 -24
  1257. package/scss/mng-overrides/_theme_forms.scss +0 -29
  1258. package/scss/mng-overrides/_theme_image.scss +0 -27
  1259. package/scss/mng-overrides/_theme_input.scss +0 -27
  1260. package/scss/mng-overrides/_theme_menu.scss +0 -5
  1261. package/scss/mng-overrides/_theme_multiselect.scss +0 -20
  1262. package/scss/mng-overrides/_theme_styles.scss +0 -17
  1263. package/scss/mng-overrides/_theme_tableview.scss +0 -79
  1264. package/scss/mng-overrides/_theme_tabview.scss +0 -11
  1265. package/scss/mng-overrides/_theme_toast.scss +0 -3
  1266. package/scss/mng-overrides/_theme_toolbar.scss +0 -5
  1267. package/scss/mng-overrides/_variables.scss +0 -15
  1268. package/scss/theme/default/_mng-variables-theme-dark.scss +0 -11
  1269. package/scss/theme/default/_mng-variables-theme-light.scss +0 -13
  1270. package/scss/theme/default/theme-dark.scss +0 -2
  1271. package/scss/theme/default/theme-light.scss +0 -2
  1272. package/scss/v2/layout/_animation.scss +0 -53
  1273. package/scss/v2/layout/_breadcrumb.scss +0 -97
  1274. package/scss/v2/layout/_config.scss +0 -42
  1275. package/scss/v2/layout/_content.scss +0 -3
  1276. package/scss/v2/layout/_fonts.scss +0 -32
  1277. package/scss/v2/layout/_layout_dark.scss +0 -12
  1278. package/scss/v2/layout/_layout_light.scss +0 -12
  1279. package/scss/v2/layout/_main.scss +0 -54
  1280. package/scss/v2/layout/_profile.scss +0 -10
  1281. package/scss/v2/layout/_responsive.scss +0 -131
  1282. package/scss/v2/layout/_sidebar_drawer.scss +0 -283
  1283. package/scss/v2/layout/_sidebar_horizontal.scss +0 -168
  1284. package/scss/v2/layout/_sidebar_reveal.scss +0 -201
  1285. package/scss/v2/layout/_sidebar_slim.scss +0 -157
  1286. package/scss/v2/layout/_sidebar_slim_plus.scss +0 -167
  1287. package/scss/v2/layout/_sidebar_vertical.scss +0 -176
  1288. package/scss/v2/layout/_topbar.scss +0 -174
  1289. package/scss/v2/layout/_typography.scss +0 -62
  1290. package/scss/v2/layout/_utils.scss +0 -33
  1291. package/scss/v2/layout/layout.scss +0 -24
  1292. package/scss/v2/layout/mng/_mng_layout_footer.scss +0 -39
  1293. package/scss/v2/layout/mng/_mng_layout_menu.scss +0 -10
  1294. package/scss/v2/layout/mng/_mng_layout_styles.scss +0 -3
  1295. package/scss/v2/layout/mng/_mng_layout_topbar.scss +0 -18
  1296. package/scss/v2/layout/preloading.scss +0 -84
  1297. package/scss/v2/theme/extensions/_fullcalendar.scss +0 -328
  1298. package/scss/v2/theme/theme-base/_colors.scss +0 -17
  1299. package/scss/v2/theme/theme-base/_common.scss +0 -76
  1300. package/scss/v2/theme/theme-base/_components.scss +0 -110
  1301. package/scss/v2/theme/theme-base/_mixins.scss +0 -337
  1302. package/scss/v2/theme/theme-base/components/button/_button.scss +0 -576
  1303. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +0 -96
  1304. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +0 -348
  1305. package/scss/v2/theme/theme-base/components/data/_carousel.scss +0 -37
  1306. package/scss/v2/theme/theme-base/components/data/_datatable.scss +0 -338
  1307. package/scss/v2/theme/theme-base/components/data/_dataview.scss +0 -46
  1308. package/scss/v2/theme/theme-base/components/data/_filter.scss +0 -137
  1309. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +0 -114
  1310. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +0 -50
  1311. package/scss/v2/theme/theme-base/components/data/_paginator.scss +0 -92
  1312. package/scss/v2/theme/theme-base/components/data/_picklist.scss +0 -114
  1313. package/scss/v2/theme/theme-base/components/data/_timeline.scss +0 -35
  1314. package/scss/v2/theme/theme-base/components/data/_tree.scss +0 -150
  1315. package/scss/v2/theme/theme-base/components/data/_treetable.scss +0 -255
  1316. package/scss/v2/theme/theme-base/components/data/_virtualscroller.scss +0 -28
  1317. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +0 -64
  1318. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +0 -136
  1319. package/scss/v2/theme/theme-base/components/input/_calendar.scss +0 -267
  1320. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +0 -135
  1321. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +0 -94
  1322. package/scss/v2/theme/theme-base/components/input/_chips.scss +0 -65
  1323. package/scss/v2/theme/theme-base/components/input/_colorpicker.scss +0 -19
  1324. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +0 -151
  1325. package/scss/v2/theme/theme-base/components/input/_editor.scss +0 -122
  1326. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +0 -74
  1327. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +0 -16
  1328. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +0 -28
  1329. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +0 -60
  1330. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +0 -100
  1331. package/scss/v2/theme/theme-base/components/input/_listbox.scss +0 -97
  1332. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +0 -177
  1333. package/scss/v2/theme/theme-base/components/input/_password.scss +0 -52
  1334. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +0 -78
  1335. package/scss/v2/theme/theme-base/components/input/_rating.scss +0 -60
  1336. package/scss/v2/theme/theme-base/components/input/_selectbutton.scss +0 -50
  1337. package/scss/v2/theme/theme-base/components/input/_slider.scss +0 -71
  1338. package/scss/v2/theme/theme-base/components/input/_togglebutton.scss +0 -48
  1339. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +0 -139
  1340. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +0 -42
  1341. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +0 -39
  1342. package/scss/v2/theme/theme-base/components/menu/_dock.scss +0 -95
  1343. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +0 -55
  1344. package/scss/v2/theme/theme-base/components/menu/_menu.scss +0 -37
  1345. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +0 -140
  1346. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +0 -153
  1347. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +0 -59
  1348. package/scss/v2/theme/theme-base/components/menu/_steps.scss +0 -56
  1349. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +0 -73
  1350. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +0 -43
  1351. package/scss/v2/theme/theme-base/components/messages/_inlinemessage.scss +0 -69
  1352. package/scss/v2/theme/theme-base/components/messages/_message.scss +0 -107
  1353. package/scss/v2/theme/theme-base/components/messages/_toast.scss +0 -99
  1354. package/scss/v2/theme/theme-base/components/misc/_avatar.scss +0 -30
  1355. package/scss/v2/theme/theme-base/components/misc/_badge.scss +0 -48
  1356. package/scss/v2/theme/theme-base/components/misc/_blockui.scss +0 -0
  1357. package/scss/v2/theme/theme-base/components/misc/_chip.scss +0 -42
  1358. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +0 -16
  1359. package/scss/v2/theme/theme-base/components/misc/_progressbar.scss +0 -17
  1360. package/scss/v2/theme/theme-base/components/misc/_scrolltop.scss +0 -25
  1361. package/scss/v2/theme/theme-base/components/misc/_skeleton.scss +0 -8
  1362. package/scss/v2/theme/theme-base/components/misc/_tag.scss +0 -40
  1363. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +0 -12
  1364. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +0 -155
  1365. package/scss/v2/theme/theme-base/components/multimedia/_image.scss +0 -49
  1366. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +0 -70
  1367. package/scss/v2/theme/theme-base/components/overlay/_dialog.scss +0 -69
  1368. package/scss/v2/theme/theme-base/components/overlay/_overlaypanel.scss +0 -64
  1369. package/scss/v2/theme/theme-base/components/overlay/_sidebar.scss +0 -27
  1370. package/scss/v2/theme/theme-base/components/overlay/_tooltip.scss +0 -33
  1371. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +0 -119
  1372. package/scss/v2/theme/theme-base/components/panel/_card.scss +0 -30
  1373. package/scss/v2/theme/theme-base/components/panel/_divider.scss +0 -31
  1374. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +0 -47
  1375. package/scss/v2/theme/theme-base/components/panel/_panel.scss +0 -63
  1376. package/scss/v2/theme/theme-base/components/panel/_scrollpanel.scss +0 -6
  1377. package/scss/v2/theme/theme-base/components/panel/_splitter.scss +0 -19
  1378. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +0 -82
  1379. package/scss/v2/theme/theme-base/components/panel/_toolbar.scss +0 -11
  1380. package/scss/v2/theme/theme-base/mng/_mng_mixins.scss +0 -69
  1381. package/scss/v2/theme/theme-base/mng/_mng_theme_autocomplete.scss +0 -34
  1382. package/scss/v2/theme/theme-base/mng/_mng_theme_button.scss +0 -68
  1383. package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +0 -153
  1384. package/scss/v2/theme/theme-base/mng/_mng_theme_datepicker.scss +0 -21
  1385. package/scss/v2/theme/theme-base/mng/_mng_theme_dialog.scss +0 -206
  1386. package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +0 -32
  1387. package/scss/v2/theme/theme-base/mng/_mng_theme_fileupload.scss +0 -24
  1388. package/scss/v2/theme/theme-base/mng/_mng_theme_forms.scss +0 -66
  1389. package/scss/v2/theme/theme-base/mng/_mng_theme_image.scss +0 -27
  1390. package/scss/v2/theme/theme-base/mng/_mng_theme_input.scss +0 -31
  1391. package/scss/v2/theme/theme-base/mng/_mng_theme_menu.scss +0 -5
  1392. package/scss/v2/theme/theme-base/mng/_mng_theme_multiselect.scss +0 -20
  1393. package/scss/v2/theme/theme-base/mng/_mng_theme_styles.scss +0 -17
  1394. package/scss/v2/theme/theme-base/mng/_mng_theme_tableview.scss +0 -97
  1395. package/scss/v2/theme/theme-base/mng/_mng_theme_tabview.scss +0 -11
  1396. package/scss/v2/theme/theme-base/mng/_mng_theme_toast.scss +0 -3
  1397. package/scss/v2/theme/theme-base/mng/_mng_theme_toolbar.scss +0 -5
  1398. package/scss/v2/theme/theme-base/mng/_mng_variables.scss +0 -15
  1399. package/scss/v2/theme/theme-dark/_extensions.scss +0 -100
  1400. package/scss/v2/theme/theme-dark/_variables.scss +0 -940
  1401. package/scss/v2/theme/theme-dark/blue/theme.scss +0 -14
  1402. package/scss/v2/theme/theme-light/_extensions.scss +0 -100
  1403. package/scss/v2/theme/theme-light/_variables.scss +0 -936
  1404. package/scss/v2/theme/theme-light/blue/theme.scss +0 -14
  1405. /package/{lib → core}/components/notification/notification-wrapper.component.d.ts +0 -0
  1406. /package/{lib/models → core/data-list}/data-list.model.d.ts +0 -0
  1407. /package/{lib/models → core/data-list}/filter-match.model.d.ts +0 -0
  1408. /package/{lib/models/class.model.d.ts → core/models/class-attribute.model.d.ts} +0 -0
  1409. /package/{lib → core}/models/version.model.d.ts +0 -0
  1410. /package/{lib/types/type.decorator.d.ts → core/reflect/type-enum-decorator.d.ts} +0 -0
  1411. /package/{lib → core}/utils/date.util.d.ts +0 -0
  1412. /package/{lib → core}/utils/string.util.d.ts +0 -0
  1413. /package/{lib/descriptors/types/filter.type.d.ts → filter/models/filter.model.d.ts} +0 -0
  1414. /package/{lib/descriptors/types/trim.type.d.ts → form/api/models/trim.model.d.ts} +0 -0
  1415. /package/{assets/i18n → i18n}/en.json +0 -0
  1416. /package/{assets/i18n → i18n}/sl.json +0 -0
  1417. /package/{lib/descriptors/table → table/api/descriptors}/sort.descriptor.d.ts +0 -0
  1418. /package/{lib/descriptors/types/column.type.d.ts → table/api/models/column.model.d.ts} +0 -0
  1419. /package/{lib → tableview/action}/models/can-component-deactivate.model.d.ts +0 -0
  1420. /package/{lib/services/action → tableview/action/services/providers}/provide-action-executor.d.ts +0 -0
  1421. /package/{lib/services/view → tableview/action/services/providers}/provide-view-container.d.ts +0 -0
  1422. /package/{lib/descriptors/types → tableview/api/action/models}/action.type.d.ts +0 -0
  1423. /package/{lib/components → tableview/api}/action/models/tableview-action-default-categories.model.d.ts +0 -0
  1424. /package/{lib/components/form → tableview/api/editor}/models/form-editor.interface.d.ts +0 -0
  1425. /package/{lib → tableview/api/editor}/models/radio.model.d.ts +0 -0
@@ -0,0 +1,398 @@
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, effect, inject, signal } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { ActivatedRoute } from '@angular/router';
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ import { ConfirmationService } from 'primeng/api';
6
+ import { DialogService } from 'primeng/dynamicdialog';
7
+ import { ProgressSpinnerModule } from 'primeng/progressspinner';
8
+ import { ToolbarModule } from 'primeng/toolbar';
9
+ import { ZIndexUtils } from 'primeng/utils';
10
+ import { Subject, of } from 'rxjs';
11
+ import { take } from 'rxjs/operators';
12
+ import { CommonsInternalError, CommonsService, ComponentDirective, LoggerService } from '@mediusinc/mng-commons/core';
13
+ import { ActionActivationTriggerEnum, ActionEditorSubmitDescriptorInst, ActionEditorSubmitTypeEnum, ActionPositionEnum, ActionTypeEnum } from '@mediusinc/mng-commons/tableview/api';
14
+ import { FormEditorComponent } from '../../../../editor/components/editor/form-editor.component';
15
+ import { ActionInstanceStateEnum } from '../../../models/execution/action-instance-state.model';
16
+ import { ActionInstance } from '../../../models/execution/action-instance.model';
17
+ import { ActionExecutorService } from '../../../services/action-executor.service';
18
+ import { provideActionExecutor } from '../../../services/providers/provide-action-executor';
19
+ import { ViewContainer } from '../../../services/view-container.service';
20
+ import { I18nUtils } from '../../../utils/i18n.util';
21
+ import { ActionComponent } from '../../action/action.component';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "primeng/progressspinner";
24
+ import * as i2 from "primeng/toolbar";
25
+ export class ActionEditorInjectorContextComponent {
26
+ constructor() {
27
+ this.ActionActivationTriggerEnum = ActionActivationTriggerEnum;
28
+ this.actionEditorSubmitTypeSubmit = ActionEditorSubmitTypeEnum.Submit;
29
+ this.destroyRef = inject(DestroyRef);
30
+ this.route = inject(ActivatedRoute);
31
+ this.translate = inject(TranslateService);
32
+ this.confirmationService = inject(ConfirmationService);
33
+ this.dialogService = inject(DialogService);
34
+ this.logger = inject(LoggerService).create('ActionEditorInjectorContextComponent');
35
+ this.commonsService = inject(CommonsService);
36
+ this.actionExecutor = inject(ActionExecutorService);
37
+ this.viewContainer = inject(ViewContainer, { optional: true });
38
+ this.actionRunEventEmitter = new EventEmitter();
39
+ this.actionCancelEventEmitter = new EventEmitter();
40
+ this.title = signal(undefined);
41
+ this.isFormDisabled = signal(false);
42
+ // data
43
+ this.item = signal(undefined);
44
+ this.itemId = signal(undefined);
45
+ this.actionData = signal(undefined);
46
+ // actions
47
+ this.toolbarLeftActions = signal([]);
48
+ this.toolbarRightActions = signal([]);
49
+ this.footerLeftActions = signal([]);
50
+ this.footerRightActions = signal([]);
51
+ this.loading = signal(false);
52
+ this.submitLoading = signal(false);
53
+ effect(() => {
54
+ const title = this.title();
55
+ requestAnimationFrame(() => {
56
+ if (this.data.dialogConfig) {
57
+ this.data.dialogConfig.header = title;
58
+ }
59
+ if (this.data.descriptor.activationTrigger === ActionActivationTriggerEnum.OnRoute) {
60
+ this.commonsService.setPageTitle(title);
61
+ }
62
+ });
63
+ });
64
+ }
65
+ ngOnInit() {
66
+ if (this.data.actionInstance) {
67
+ this.processActionInstance(this.data.actionInstance);
68
+ }
69
+ if (!this.data.dataProvider) {
70
+ this.data.dataProvider = this.viewContainer?.dataProvider;
71
+ }
72
+ this.item.set(this.data.item);
73
+ this.itemId.set(this.data.itemId);
74
+ this.actionData.set(this.data.actionData);
75
+ // arrange the sub-actions
76
+ this.initializeSubActions();
77
+ // notify executor to for activation to end
78
+ this.processActionInstance(this.actionExecutor.onActionEditorInit(this.data.descriptor, this.instance, this));
79
+ // set title
80
+ this.updateTitle();
81
+ // subscribe to events that could be triggered from outside from any reason
82
+ this.viewContainer?.editorReset$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
83
+ next: e => {
84
+ if (e.fetch) {
85
+ this.fetchItem();
86
+ }
87
+ else if (e.item) {
88
+ this.formEditorCmp?.resetFormModel(e.item);
89
+ }
90
+ else if (e.fields) {
91
+ for (const key in e.fields) {
92
+ this.formEditorCmp?.resetFormFieldValue(key, e.fields[key]);
93
+ }
94
+ }
95
+ }
96
+ });
97
+ this.viewContainer?.editorClose$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
98
+ next: () => {
99
+ this.cancel();
100
+ }
101
+ });
102
+ }
103
+ ngOnDestroy() {
104
+ this.fetchExecutionSubscription?.unsubscribe();
105
+ this.submitExecutionSubscription?.unsubscribe();
106
+ const instance = this.instance;
107
+ this.unsetInstance();
108
+ this.actionExecutor.onActionEditorDestroy(instance);
109
+ }
110
+ onSubmit(event) {
111
+ if (!this.instance) {
112
+ throw new CommonsInternalError(`Action is not instantiated in action editor for action ${this.data.descriptor.actionName}.`);
113
+ }
114
+ if (event.success) {
115
+ this.instanceSubmitFormItem = event.formItem;
116
+ // prepare parameters
117
+ const actionParameters = {
118
+ itemId: this.itemId(),
119
+ item: event.formItem,
120
+ actionData: this.actionData()
121
+ };
122
+ if (this.data.descriptor.editorDescriptor.isLocalized) {
123
+ actionParameters.locale = this.commonsService.appDataLanguageDefault;
124
+ }
125
+ const context = this.actionExecutor.prepareContextForEditorSubmit(this.data.descriptor, actionParameters, this.data.dataProvider, this.instance, this.data.previousActionInstance);
126
+ this.submitExecutionSubscription?.unsubscribe();
127
+ this.submitExecutionSubscription = context.execution$.pipe(take(1)).subscribe({
128
+ next: res => {
129
+ if (res && typeof res === 'object' && !this.itemId() && this.data.descriptor.model?.idProperty) {
130
+ // to cover creation!
131
+ this.updateItemId(res[this.data.descriptor.model.idProperty]);
132
+ }
133
+ this.actionRunEventEmitter.next(res);
134
+ this.instanceSubmitResult = res;
135
+ }
136
+ });
137
+ this.actionExecutor.run(context);
138
+ }
139
+ }
140
+ cancel() {
141
+ if (!this.instance) {
142
+ this.logger.warn(`Action editor cannot be canceled for ${this.data.descriptor.actionName}, because no action instance is present`);
143
+ return;
144
+ }
145
+ this.actionCancelEventEmitter.next(undefined);
146
+ this.actionExecutor.finishAction(this.instance);
147
+ }
148
+ updateItemId(itemId) {
149
+ this.itemId.set(itemId);
150
+ }
151
+ updateItem(item) {
152
+ this.item.set(item);
153
+ }
154
+ triggerSubmit() {
155
+ this.formEditorCmp?.submit();
156
+ }
157
+ initializeSubActions() {
158
+ for (const action of this.data.descriptor.editorActions) {
159
+ if (action instanceof ActionEditorSubmitDescriptorInst) {
160
+ if (typeof action.button.icon === 'undefined') {
161
+ action.button.withIcon(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'pi pi-check' : 'pi pi-times');
162
+ }
163
+ if (typeof action.button.label === 'undefined') {
164
+ action.button.withLabel(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'general.save' : this.data.isDialog ? 'general.close' : 'general.cancel');
165
+ }
166
+ // assign run operations
167
+ action.withRunNotificationSuccess(undefined, undefined, false);
168
+ if (action.submitType === ActionEditorSubmitTypeEnum.Submit) {
169
+ action.withRunFunction(() => {
170
+ this.triggerSubmit();
171
+ return of(null);
172
+ });
173
+ }
174
+ else {
175
+ action.withRunFunction(() => {
176
+ this.closeWithUnsavedChangesConfirmation();
177
+ return of(null);
178
+ });
179
+ }
180
+ }
181
+ this.placeActionsOnPositions(action);
182
+ }
183
+ for (const action of this.viewContainer?.actions.filter(value => value.positionTableviewCategories?.includes(this.data.descriptor.tableviewCategory)) ?? []) {
184
+ this.placeActionsOnPositions(action);
185
+ }
186
+ this.toolbarRightActions.update(v => v.reverse());
187
+ this.footerRightActions.update(v => v.reverse());
188
+ }
189
+ fetchItem() {
190
+ if (!this.instance) {
191
+ throw new CommonsInternalError(`Action is not instantiated in action editor for action ${this.data.descriptor.actionName}.`);
192
+ }
193
+ const actionParameters = {
194
+ itemId: this.itemId(),
195
+ item: this.item(),
196
+ actionData: this.actionData()
197
+ };
198
+ if (this.data.descriptor.editorDescriptor.isLocalized) {
199
+ if (this.data.descriptor.editorDescriptor.disabled) {
200
+ actionParameters.locale = this.commonsService.appDataLanguage;
201
+ }
202
+ else {
203
+ actionParameters.locale = this.commonsService.appDataLanguageDefault;
204
+ }
205
+ }
206
+ if (this.instance?.previousInstance instanceof ActionInstance && this.instance.previousInstance.context?.parameters.item) {
207
+ actionParameters.formItem = this.instance.previousInstance.context.parameters.item;
208
+ }
209
+ if (typeof this.instance?.previousInstance?.result !== 'undefined') {
210
+ actionParameters.submitResult = this.instance?.previousInstance?.result;
211
+ }
212
+ const context = this.actionExecutor.prepareContextForEditorFetch(this.data.descriptor, actionParameters, this.data.dataProvider, this.instance, this.data.previousActionInstance);
213
+ this.fetchExecutionSubscription?.unsubscribe();
214
+ this.fetchExecutionSubscription = context.execution$.pipe(take(1)).subscribe(res => {
215
+ this.updateItem(res ?? undefined);
216
+ this.updateTitle();
217
+ });
218
+ this.actionExecutor.run(context);
219
+ }
220
+ updateTitle() {
221
+ if (this.data.descriptor.editorTitle === null) {
222
+ this.title.set(undefined);
223
+ return;
224
+ }
225
+ I18nUtils.Action.getEditorTitleAsync(this.translate, this.data.descriptor, this.item()).subscribe(t => {
226
+ this.title.set(t ?? undefined);
227
+ });
228
+ }
229
+ placeActionsOnPositions(action) {
230
+ switch (action.position) {
231
+ case ActionPositionEnum.ToolbarLeft:
232
+ this.toolbarLeftActions.update(v => [...v, action]);
233
+ break;
234
+ case ActionPositionEnum.ToolbarRight:
235
+ this.toolbarRightActions.update(v => [...v, action]);
236
+ break;
237
+ case ActionPositionEnum.FooterLeft:
238
+ this.footerLeftActions.update(v => [...v, action]);
239
+ break;
240
+ case ActionPositionEnum.FooterRight:
241
+ this.footerRightActions.update(v => [...v, action]);
242
+ break;
243
+ }
244
+ }
245
+ setEditorEnabled(isEnabled = true) {
246
+ this.isFormDisabled.set(!isEnabled);
247
+ }
248
+ processActionInstance(instance) {
249
+ if (!(instance instanceof ActionInstance)) {
250
+ throw new CommonsInternalError('Unknown type of action instance received', { details: instance });
251
+ }
252
+ if (!this.instance || this.instance.instanceLongName !== instance.instanceLongName) {
253
+ this.unsetInstance();
254
+ this.instance = instance;
255
+ this.instanceStateSubscription = this.instance.state$.subscribe(s => {
256
+ switch (s) {
257
+ case ActionInstanceStateEnum.ActivationEnd:
258
+ this.fetchItem();
259
+ break;
260
+ case ActionInstanceStateEnum.FetchStart:
261
+ this.setEditorEnabled(false);
262
+ this.loading.set(true);
263
+ break;
264
+ case ActionInstanceStateEnum.FetchError:
265
+ this.loading.set(false);
266
+ break;
267
+ case ActionInstanceStateEnum.FetchEnd:
268
+ this.setEditorEnabled(true);
269
+ this.loading.set(false);
270
+ break;
271
+ case ActionInstanceStateEnum.RunStart:
272
+ this.setEditorEnabled(false);
273
+ this.submitLoading.set(true);
274
+ break;
275
+ case ActionInstanceStateEnum.RunEnd:
276
+ case ActionInstanceStateEnum.RunError:
277
+ this.setEditorEnabled(true);
278
+ this.submitLoading.set(false);
279
+ break;
280
+ case ActionInstanceStateEnum.NextActionStart:
281
+ if (this.instance?.nextActionInstance?.action.type === ActionTypeEnum.Direct) {
282
+ this.submitLoading.set(true);
283
+ }
284
+ break;
285
+ case ActionInstanceStateEnum.NextActionEnd:
286
+ if (this.instance?.nextActionInstance?.action.type === ActionTypeEnum.Direct) {
287
+ this.submitLoading.set(false);
288
+ }
289
+ break;
290
+ case ActionInstanceStateEnum.ErrorActionStart:
291
+ if (this.instance?.errorActionInstance?.action.type === ActionTypeEnum.Direct) {
292
+ this.submitLoading.set(true);
293
+ }
294
+ break;
295
+ case ActionInstanceStateEnum.ErrorActionEnd:
296
+ if (this.instance?.errorActionInstance?.action.type === ActionTypeEnum.Direct) {
297
+ this.submitLoading.set(false);
298
+ }
299
+ break;
300
+ case ActionInstanceStateEnum.FinishErrorFinal:
301
+ this.setEditorEnabled(false);
302
+ break;
303
+ case ActionInstanceStateEnum.FinishSuccessFinal:
304
+ case ActionInstanceStateEnum.FinishDismissedFinal:
305
+ this.setEditorEnabled(false);
306
+ this.unsetInstance();
307
+ break;
308
+ case ActionInstanceStateEnum.FinishSuccessReactivateFinal:
309
+ this.setEditorEnabled(false);
310
+ // should also unsetInstance, but let this for reactivationInstance$ listener to not interfere
311
+ break;
312
+ }
313
+ });
314
+ this.instanceReactivationSubscription = this.instance.reactivationInstance$.subscribe(newInstance => {
315
+ this.processActionInstance(newInstance);
316
+ });
317
+ }
318
+ }
319
+ unsetInstance() {
320
+ this.instance = undefined;
321
+ this.instanceStateSubscription?.unsubscribe();
322
+ this.instanceReactivationSubscription?.unsubscribe();
323
+ }
324
+ beforeWindowUnload() {
325
+ if (this.data.isDialog && this.formEditorCmp?.form.pristine === false) {
326
+ return confirm(this.translate.instant('mngEditor.unsavedChangesConfirmation.message'));
327
+ }
328
+ return true;
329
+ }
330
+ onEscapePressed() {
331
+ if (this.data.isDialog &&
332
+ this.data.descriptor.activationTrigger === ActionActivationTriggerEnum.OnRoute &&
333
+ this.instance?.activationDialogRef &&
334
+ parseInt(this.dialogService.dialogComponentRefMap.get(this.instance?.activationDialogRef)?.instance.container?.style.zIndex ?? '') === ZIndexUtils.getCurrent())
335
+ this.closeWithUnsavedChangesConfirmation();
336
+ }
337
+ showUnsavedChangesConfirmationDialog(callFromGuard) {
338
+ const subject = new Subject();
339
+ this.confirmationService.confirm({
340
+ header: this.translate.instant('mngEditor.unsavedChangesConfirmation.header'),
341
+ message: this.translate.instant('mngEditor.unsavedChangesConfirmation.message'),
342
+ acceptLabel: this.translate.instant('general.yes'),
343
+ rejectLabel: this.translate.instant('general.no'),
344
+ icon: 'pi pi-exclamation-triangle',
345
+ accept: () => {
346
+ if (!callFromGuard) {
347
+ this.cancel();
348
+ }
349
+ subject.next(true);
350
+ subject.complete();
351
+ },
352
+ reject: () => {
353
+ subject.next(false);
354
+ subject.complete();
355
+ }
356
+ });
357
+ return subject.asObservable();
358
+ }
359
+ closeWithUnsavedChangesConfirmation(callFromGuard = false) {
360
+ if (this.formEditorCmp?.form.pristine === false && this.data.descriptor.unsavedChangesConfirmation) {
361
+ return this.showUnsavedChangesConfirmationDialog(callFromGuard);
362
+ }
363
+ else {
364
+ if (!callFromGuard) {
365
+ this.cancel();
366
+ }
367
+ }
368
+ return of(true);
369
+ }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ActionEditorInjectorContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ActionEditorInjectorContextComponent, isStandalone: true, selector: "mng-action-editor-injector-context", inputs: { data: "data" }, outputs: { actionRunEventEmitter: "actionSubmit", actionCancelEventEmitter: "actionCancel" }, host: { listeners: { "window:beforeunload": "beforeWindowUnload()", "window:keydown.Escape": "onEscapePressed()" } }, providers: [provideActionExecutor()], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "formEditorCmp", first: true, predicate: FormEditorComponent, descendants: true }], ngImport: i0, template: "@if (!data.isDialog && title()) {\n <h5>{{ title() }}</h5>\n}\n@if (data.isDialog && data.descriptor.activationTrigger === ActionActivationTriggerEnum.OnRoute) {\n <span class=\"p-dialog-header dialog-close-button-wrapper\">\n <button\n class=\"p-dialog-header-icon p-dialog-header-maximize p-link\"\n type=\"button\"\n (click)=\"closeWithUnsavedChangesConfirmation()\"\n (keydown.enter)=\"closeWithUnsavedChangesConfirmation()\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </span>\n}\n<div class=\"h-full flex flex-column\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <div class=\"flex-grow-1 mng-action-editor-toolbar-container\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template pTemplate=\"left\">\n @for (action of toolbarLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n <ng-template pTemplate=\"right\">\n @for (action of toolbarRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n </div>\n }\n\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (loading()) {\n <div class=\"text-center\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n }\n @if (data.descriptor.editorDescriptor && !loading()) {\n <mng-form-editor [descriptor]=\"data.descriptor.editorDescriptor\" [item]=\"item()\" [isFormDisabled]=\"isFormDisabled()\" (formSubmit)=\"onSubmit($event)\"> </mng-form-editor>\n }\n </div>\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div>\n @for (action of footerLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n <div>\n @for (action of footerRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n </div>\n</div>\n", styles: [".dialog-close-button-wrapper{position:absolute;top:1.286rem;right:1.714rem;background:transparent;padding:0}\n"], dependencies: [{ kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i1.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: FormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isFormDisabled"], outputs: ["formSubmit"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i2.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass", "ariaLabelledBy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
372
+ }
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ActionEditorInjectorContextComponent, decorators: [{
374
+ type: Component,
375
+ args: [{ standalone: true, selector: 'mng-action-editor-injector-context', imports: [ActionComponent, ProgressSpinnerModule, FormEditorComponent, ComponentDirective, ToolbarModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideActionExecutor()], template: "@if (!data.isDialog && title()) {\n <h5>{{ title() }}</h5>\n}\n@if (data.isDialog && data.descriptor.activationTrigger === ActionActivationTriggerEnum.OnRoute) {\n <span class=\"p-dialog-header dialog-close-button-wrapper\">\n <button\n class=\"p-dialog-header-icon p-dialog-header-maximize p-link\"\n type=\"button\"\n (click)=\"closeWithUnsavedChangesConfirmation()\"\n (keydown.enter)=\"closeWithUnsavedChangesConfirmation()\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </span>\n}\n<div class=\"h-full flex flex-column\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <div class=\"flex-grow-1 mng-action-editor-toolbar-container\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template pTemplate=\"left\">\n @for (action of toolbarLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n <ng-template pTemplate=\"right\">\n @for (action of toolbarRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n </div>\n }\n\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (loading()) {\n <div class=\"text-center\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n }\n @if (data.descriptor.editorDescriptor && !loading()) {\n <mng-form-editor [descriptor]=\"data.descriptor.editorDescriptor\" [item]=\"item()\" [isFormDisabled]=\"isFormDisabled()\" (formSubmit)=\"onSubmit($event)\"> </mng-form-editor>\n }\n </div>\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div>\n @for (action of footerLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n <div>\n @for (action of footerRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n </div>\n</div>\n", styles: [".dialog-close-button-wrapper{position:absolute;top:1.286rem;right:1.714rem;background:transparent;padding:0}\n"] }]
376
+ }], ctorParameters: () => [], propDecorators: { data: [{
377
+ type: Input,
378
+ args: [{ required: true }]
379
+ }], actionRunEventEmitter: [{
380
+ type: Output,
381
+ args: ['actionSubmit']
382
+ }], actionCancelEventEmitter: [{
383
+ type: Output,
384
+ args: ['actionCancel']
385
+ }], submitButtonElementRef: [{
386
+ type: ViewChild,
387
+ args: ['submitButton']
388
+ }], formEditorCmp: [{
389
+ type: ViewChild,
390
+ args: [FormEditorComponent]
391
+ }], beforeWindowUnload: [{
392
+ type: HostListener,
393
+ args: ['window:beforeunload']
394
+ }], onEscapePressed: [{
395
+ type: HostListener,
396
+ args: ['window:keydown.Escape']
397
+ }] } });
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvZWRpdG9yL2luamVjdG9yLWNvbnRleHQvYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvZWRpdG9yL2luamVjdG9yLWNvbnRleHQvYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxhQUFhLEVBQXNCLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFhLE9BQU8sRUFBZ0IsRUFBRSxF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Q2pCO1NBQ0o7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDOzhHQTlaUSxvQ0FBb0M7a0dBQXBDLG9DQUFvQywrVEFGbEMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtMQXdCekIsbUJBQW1CLGdEQ25GbEMsMHVIQWdGQSx3S0R2QmMsZUFBZSxtT0FBRSxxQkFBcUIseU1BQUUsbUJBQW1CLHVKQUFzQixhQUFhOzsyRkFJL0Ysb0NBQW9DO2tCQVRoRCxTQUFTO2lDQUNNLElBQUksWUFDTixvQ0FBb0MsV0FHckMsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLG1CQUN4Rix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLEVBQUUsQ0FBQzt3REFpQlgsSUFBSTtzQkFBNUIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBRVEscUJBQXFCO3NCQUFuRCxNQUFNO3VCQUFDLGNBQWM7Z0JBQ1Msd0JBQXdCO3NCQUF0RCxNQUFNO3VCQUFDLGNBQWM7Z0JBR1ksc0JBQXNCO3NCQUF2RCxTQUFTO3VCQUFDLGNBQWM7Z0JBQ2MsYUFBYTtzQkFBbkQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBcVZ0QixrQkFBa0I7c0JBRHpCLFlBQVk7dUJBQUMscUJBQXFCO2dCQVMzQixlQUFlO3NCQUR0QixZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBXcml0YWJsZVNpZ25hbCxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0RpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWd9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge1Byb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc3NwaW5uZXInO1xuaW1wb3J0IHtUb29sYmFyTW9kdWxlfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xuaW1wb3J0IHtaSW5kZXhVdGlsc30gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uRGF0YSwgQWN0aW9uUGFyYW1ldGVycywgQ29tbW9uc0ludGVybmFsRXJyb3IsIENvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmUsIElEYXRhUHJvdmlkZXIsIElkVHlwZSwgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7XG4gICAgQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLFxuICAgIEFjdGlvbkRlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLFxuICAgIEFjdGlvblBvc2l0aW9uRW51bSxcbiAgICBBY3Rpb25UeXBlRW51bSxcbiAgICBGb3JtRWRpdG9yU3VibWl0RXZlbnQsXG4gICAgSUFjdGlvbkVkaXRvckNvbXBvbmVudCxcbiAgICBJQWN0aW9uSW5zdGFuY2Vcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtGb3JtRWRpdG9yQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9lZGl0b3IvZm9ybS1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2VTdGF0ZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLXN0YXRlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2V9IGZyb20gJy4uLy4uLy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5pbXBvcnQge3Byb3ZpZGVBY3Rpb25FeGVjdXRvcn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvdmlkZXJzL3Byb3ZpZGUtYWN0aW9uLWV4ZWN1dG9yJztcbmltcG9ydCB7Vmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdmlldy1jb250YWluZXIuc2VydmljZSc7XG5pbXBvcnQge0kxOG5VdGlsc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnYWN0aW9uLWVkaXRvci1pbmplY3Rvci1jb250ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW0FjdGlvbkNvbXBvbmVudCwgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBGb3JtRWRpdG9yQ29tcG9uZW50LCBDb21wb25lbnREaXJlY3RpdmUsIFRvb2xiYXJNb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3Byb3ZpZGVBY3Rpb25FeGVjdXRvcigpXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRDb21wb25lbnQ8SXRlbSA9IGFueSwgU2VydmljZSA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgSUFjdGlvbkVkaXRvckNvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bSA9IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aW9uRWRpdG9yU3VibWl0VHlwZVN1Ym1pdCA9IEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLlN1Ym1pdDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2UgPSBpbmplY3QoQ29uZmlybWF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpLmNyZWF0ZSgnQWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0Q29tcG9uZW50Jyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zU2VydmljZSA9IGluamVjdChDb21tb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25FeGVjdXRvciA9IGluamVjdChBY3Rpb25FeGVjdXRvclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIC8vIG1ldGFkYXRhIGFuZCBlZGl0b3IgbW9kZSBpbnB1dFxuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBkYXRhITogQWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0SW5wdXREYXRhPEl0ZW0sIFNlcnZpY2U+O1xuXG4gICAgQE91dHB1dCgnYWN0aW9uU3VibWl0JykgcHVibGljIGFjdGlvblJ1bkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbSB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gICAgQE91dHB1dCgnYWN0aW9uQ2FuY2VsJykgcHVibGljIGFjdGlvbkNhbmNlbEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbSB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvLyBjb250ZW50IGFuZCB2aWV3IHF1ZXJpZXNcbiAgICBAVmlld0NoaWxkKCdzdWJtaXRCdXR0b24nKSBwdWJsaWMgc3VibWl0QnV0dG9uRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChGb3JtRWRpdG9yQ29tcG9uZW50KSBwdWJsaWMgZm9ybUVkaXRvckNtcD86IEZvcm1FZGl0b3JDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgdGl0bGU6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcbiAgICBwdWJsaWMgaXNGb3JtRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLy8gZGF0YVxuICAgIHB1YmxpYyBpdGVtOiBXcml0YWJsZVNpZ25hbDxJdGVtIHwgdW5kZWZpbmVkPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuICAgIHB1YmxpYyBpdGVtSWQ6IFdyaXRhYmxlU2lnbmFsPElkVHlwZSB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcbiAgICBwdWJsaWMgYWN0aW9uRGF0YTogV3JpdGFibGVTaWduYWw8QWN0aW9uRGF0YSB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcblxuICAgIC8vIGFjdGlvbnNcbiAgICBwdWJsaWMgdG9vbGJhckxlZnRBY3Rpb25zOiBXcml0YWJsZVNpZ25hbDxBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlPltdPiA9IHNpZ25hbChbXSk7XG4gICAgcHVibGljIHRvb2xiYXJSaWdodEFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0sIFNlcnZpY2U+W10+ID0gc2lnbmFsKFtdKTtcbiAgICBwdWJsaWMgZm9vdGVyTGVmdEFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0sIFNlcnZpY2U+W10+ID0gc2lnbmFsKFtdKTtcbiAgICBwdWJsaWMgZm9vdGVyUmlnaHRBY3Rpb25zOiBXcml0YWJsZVNpZ25hbDxBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlPltdPiA9IHNpZ25hbChbXSk7XG4gICAgcHJpdmF0ZSBpbnN0YW5jZT86IEFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+O1xuICAgIHByaXZhdGUgaW5zdGFuY2VTdGF0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGluc3RhbmNlUmVhY3RpdmF0aW9uU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaW5zdGFuY2VTdWJtaXRGb3JtSXRlbT86IEl0ZW0gfCBudWxsO1xuICAgIHByaXZhdGUgaW5zdGFuY2VTdWJtaXRSZXN1bHQ/OiBJdGVtIHwgbnVsbDtcblxuICAgIHB1YmxpYyBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcml2YXRlIGZldGNoRXhlY3V0aW9uU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBzdWJtaXRMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcml2YXRlIHN1Ym1pdEV4ZWN1dGlvblN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlKCk7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuZGlhbG9nQ29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5kaWFsb2dDb25maWcuaGVhZGVyID0gdGl0bGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuZGVzY3JpcHRvci5hY3RpdmF0aW9uVHJpZ2dlciA9PT0gQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLk9uUm91dGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21tb25zU2VydmljZS5zZXRQYWdlVGl0bGUodGl0bGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5hY3Rpb25JbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzQWN0aW9uSW5zdGFuY2UodGhpcy5kYXRhLmFjdGlvbkluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kYXRhLmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5kYXRhLmRhdGFQcm92aWRlciA9IHRoaXMudmlld0NvbnRhaW5lcj8uZGF0YVByb3ZpZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pdGVtLnNldCh0aGlzLmRhdGEuaXRlbSk7XG4gICAgICAgIHRoaXMuaXRlbUlkLnNldCh0aGlzLmRhdGEuaXRlbUlkKTtcbiAgICAgICAgdGhpcy5hY3Rpb25EYXRhLnNldCh0aGlzLmRhdGEuYWN0aW9uRGF0YSk7XG5cbiAgICAgICAgLy8gYXJyYW5nZSB0aGUgc3ViLWFjdGlvbnNcbiAgICAgICAgdGhpcy5pbml0aWFsaXplU3ViQWN0aW9ucygpO1xuXG4gICAgICAgIC8vIG5vdGlmeSBleGVjdXRvciB0byBmb3IgYWN0aXZhdGlvbiB0byBlbmRcbiAgICAgICAgdGhpcy5wcm9jZXNzQWN0aW9uSW5zdGFuY2UodGhpcy5hY3Rpb25FeGVjdXRvci5vbkFjdGlvbkVkaXRvckluaXQodGhpcy5kYXRhLmRlc2NyaXB0b3IsIHRoaXMuaW5zdGFuY2UsIHRoaXMpKTtcblxuICAgICAgICAvLyBzZXQgdGl0bGVcbiAgICAgICAgdGhpcy51cGRhdGVUaXRsZSgpO1xuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBldmVudHMgdGhhdCBjb3VsZCBiZSB0cmlnZ2VyZWQgZnJvbSBvdXRzaWRlIGZyb20gYW55IHJlYXNvblxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LmVkaXRvclJlc2V0JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUuZmV0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZXRjaEl0ZW0oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1FZGl0b3JDbXA/LnJlc2V0Rm9ybU1vZGVsKGUuaXRlbSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlLmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtRWRpdG9yQ21wPy5yZXNldEZvcm1GaWVsZFZhbHVlKGtleSwgZS5maWVsZHNba2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uZWRpdG9yQ2xvc2UkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmZldGNoRXhlY3V0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnN1Ym1pdEV4ZWN1dGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmluc3RhbmNlO1xuICAgICAgICB0aGlzLnVuc2V0SW5zdGFuY2UoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25FeGVjdXRvci5vbkFjdGlvbkVkaXRvckRlc3Ryb3koaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblN1Ym1pdChldmVudDogRm9ybUVkaXRvclN1Ym1pdEV2ZW50PEl0ZW0+KSB7XG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBBY3Rpb24gaXMgbm90IGluc3RhbnRpYXRlZCBpbiBhY3Rpb24gZWRpdG9yIGZvciBhY3Rpb24gJHt0aGlzLmRhdGEuZGVzY3JpcHRvci5hY3Rpb25OYW1lfS5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQuc3VjY2Vzcykge1xuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVN1Ym1pdEZvcm1JdGVtID0gZXZlbnQuZm9ybUl0ZW07XG5cbiAgICAgICAgICAgIC8vIHByZXBhcmUgcGFyYW1ldGVyc1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uUGFyYW1ldGVyczogQWN0aW9uUGFyYW1ldGVyczxJdGVtPiA9IHtcbiAgICAgICAgICAgICAgICBpdGVtSWQ6IHRoaXMuaXRlbUlkKCksXG4gICAgICAgICAgICAgICAgaXRlbTogZXZlbnQuZm9ybUl0ZW0sXG4gICAgICAgICAgICAgICAgYWN0aW9uRGF0YTogdGhpcy5hY3Rpb25EYXRhKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRlc2NyaXB0b3IuZWRpdG9yRGVzY3JpcHRvci5pc0xvY2FsaXplZCkge1xuICAgICAgICAgICAgICAgIGFjdGlvblBhcmFtZXRlcnMubG9jYWxlID0gdGhpcy5jb21tb25zU2VydmljZS5hcHBEYXRhTGFuZ3VhZ2VEZWZhdWx0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5hY3Rpb25FeGVjdXRvci5wcmVwYXJlQ29udGV4dEZvckVkaXRvclN1Ym1pdChcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEuZGVzY3JpcHRvcixcbiAgICAgICAgICAgICAgICBhY3Rpb25QYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5kYXRhUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSxcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEucHJldmlvdXNBY3Rpb25JbnN0YW5jZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5zdWJtaXRFeGVjdXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdEV4ZWN1dGlvblN1YnNjcmlwdGlvbiA9IGNvbnRleHQuZXhlY3V0aW9uJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiB0eXBlb2YgcmVzID09PSAnb2JqZWN0JyAmJiAhdGhpcy5pdGVtSWQoKSAmJiB0aGlzLmRhdGEuZGVzY3JpcHRvci5tb2RlbD8uaWRQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdG8gY292ZXIgY3JlYXRpb24hXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1JZChyZXNbdGhpcy5kYXRhLmRlc2NyaXB0b3IubW9kZWwuaWRQcm9wZXJ0eSBhcyBrZXlvZiBvYmplY3RdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGlvblJ1bkV2ZW50RW1pdHRlci5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VTdWJtaXRSZXN1bHQgPSByZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuYWN0aW9uRXhlY3V0b3IucnVuKGNvbnRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNhbmNlbCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBBY3Rpb24gZWRpdG9yIGNhbm5vdCBiZSBjYW5jZWxlZCBmb3IgJHt0aGlzLmRhdGEuZGVzY3JpcHRvci5hY3Rpb25OYW1lfSwgYmVjYXVzZSBubyBhY3Rpb24gaW5zdGFuY2UgaXMgcHJlc2VudGApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aW9uQ2FuY2VsRXZlbnRFbWl0dGVyLm5leHQodW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5hY3Rpb25FeGVjdXRvci5maW5pc2hBY3Rpb24odGhpcy5pbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUl0ZW1JZChpdGVtSWQ6IElkVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLml0ZW1JZC5zZXQoaXRlbUlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlSXRlbShpdGVtOiBJdGVtIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuaXRlbS5zZXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyaWdnZXJTdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUVkaXRvckNtcD8uc3VibWl0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplU3ViQWN0aW9ucygpIHtcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5kYXRhLmRlc2NyaXB0b3IuZWRpdG9yQWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24uYnV0dG9uLmljb24gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5idXR0b24ud2l0aEljb24oYWN0aW9uLnN1Ym1pdFR5cGUgPT09IEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLlN1Ym1pdCA/ICdwaSBwaS1jaGVjaycgOiAncGkgcGktdGltZXMnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24uYnV0dG9uLmxhYmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uYnV0dG9uLndpdGhMYWJlbChhY3Rpb24uc3VibWl0VHlwZSA9PT0gQWN0aW9uRWRpdG9yU3VibWl0VHlwZUVudW0uU3VibWl0ID8gJ2dlbmVyYWwuc2F2ZScgOiB0aGlzLmRhdGEuaXNEaWFsb2cgPyAnZ2VuZXJhbC5jbG9zZScgOiAnZ2VuZXJhbC5jYW5jZWwnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhc3NpZ24gcnVuIG9wZXJhdGlvbnNcbiAgICAgICAgICAgICAgICBhY3Rpb24ud2l0aFJ1bk5vdGlmaWNhdGlvblN1Y2Nlc3ModW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uLnN1Ym1pdFR5cGUgPT09IEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLlN1Ym1pdCkge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24ud2l0aFJ1bkZ1bmN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclN1Ym1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24ud2l0aFJ1bkZ1bmN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VXaXRoVW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wbGFjZUFjdGlvbnNPblBvc2l0aW9ucyhhY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy52aWV3Q29udGFpbmVyPy5hY3Rpb25zLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZS5wb3NpdGlvblRhYmxldmlld0NhdGVnb3JpZXM/LmluY2x1ZGVzKHRoaXMuZGF0YS5kZXNjcmlwdG9yLnRhYmxldmlld0NhdGVnb3J5ISkpID8/IFtdKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlQWN0aW9uc09uUG9zaXRpb25zKGFjdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvb2xiYXJSaWdodEFjdGlvbnMudXBkYXRlKHYgPT4gdi5yZXZlcnNlKCkpO1xuICAgICAgICB0aGlzLmZvb3RlclJpZ2h0QWN0aW9ucy51cGRhdGUodiA9PiB2LnJldmVyc2UoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmZXRjaEl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBBY3Rpb24gaXMgbm90IGluc3RhbnRpYXRlZCBpbiBhY3Rpb24gZWRpdG9yIGZvciBhY3Rpb24gJHt0aGlzLmRhdGEuZGVzY3JpcHRvci5hY3Rpb25OYW1lfS5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdGlvblBhcmFtZXRlcnM6IEFjdGlvblBhcmFtZXRlcnM8SXRlbT4gPSB7XG4gICAgICAgICAgICBpdGVtSWQ6IHRoaXMuaXRlbUlkKCksXG4gICAgICAgICAgICBpdGVtOiB0aGlzLml0ZW0oKSxcbiAgICAgICAgICAgIGFjdGlvbkRhdGE6IHRoaXMuYWN0aW9uRGF0YSgpXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLmRhdGEuZGVzY3JpcHRvci5lZGl0b3JEZXNjcmlwdG9yLmlzTG9jYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRlc2NyaXB0b3IuZWRpdG9yRGVzY3JpcHRvci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGFjdGlvblBhcmFtZXRlcnMubG9jYWxlID0gdGhpcy5jb21tb25zU2VydmljZS5hcHBEYXRhTGFuZ3VhZ2UhO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QYXJhbWV0ZXJzLmxvY2FsZSA9IHRoaXMuY29tbW9uc1NlcnZpY2UuYXBwRGF0YUxhbmd1YWdlRGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZT8ucHJldmlvdXNJbnN0YW5jZSBpbnN0YW5jZW9mIEFjdGlvbkluc3RhbmNlICYmIHRoaXMuaW5zdGFuY2UucHJldmlvdXNJbnN0YW5jZS5jb250ZXh0Py5wYXJhbWV0ZXJzLml0ZW0pIHtcbiAgICAgICAgICAgIGFjdGlvblBhcmFtZXRlcnMuZm9ybUl0ZW0gPSB0aGlzLmluc3RhbmNlLnByZXZpb3VzSW5zdGFuY2UuY29udGV4dC5wYXJhbWV0ZXJzLml0ZW07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmluc3RhbmNlPy5wcmV2aW91c0luc3RhbmNlPy5yZXN1bHQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBhY3Rpb25QYXJhbWV0ZXJzLnN1Ym1pdFJlc3VsdCA9IHRoaXMuaW5zdGFuY2U/LnByZXZpb3VzSW5zdGFuY2U/LnJlc3VsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmFjdGlvbkV4ZWN1dG9yLnByZXBhcmVDb250ZXh0Rm9yRWRpdG9yRmV0Y2goXG4gICAgICAgICAgICB0aGlzLmRhdGEuZGVzY3JpcHRvcixcbiAgICAgICAgICAgIGFjdGlvblBhcmFtZXRlcnMsXG4gICAgICAgICAgICB0aGlzLmRhdGEuZGF0YVByb3ZpZGVyLFxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSxcbiAgICAgICAgICAgIHRoaXMuZGF0YS5wcmV2aW91c0FjdGlvbkluc3RhbmNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZmV0Y2hFeGVjdXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZmV0Y2hFeGVjdXRpb25TdWJzY3JpcHRpb24gPSBjb250ZXh0LmV4ZWN1dGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSXRlbShyZXMgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGl0bGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hY3Rpb25FeGVjdXRvci5ydW4oY29udGV4dCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaXRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5kZXNjcmlwdG9yLmVkaXRvclRpdGxlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlLnNldCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIEkxOG5VdGlscy5BY3Rpb24uZ2V0RWRpdG9yVGl0bGVBc3luYyh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5kYXRhLmRlc2NyaXB0b3IsIHRoaXMuaXRlbSgpKS5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlLnNldCh0ID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGxhY2VBY3Rpb25zT25Qb3NpdGlvbnMoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+KSB7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyTGVmdDpcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJMZWZ0QWN0aW9ucy51cGRhdGUodiA9PiBbLi4udiwgYWN0aW9uXSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQ6XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyUmlnaHRBY3Rpb25zLnVwZGF0ZSh2ID0+IFsuLi52LCBhY3Rpb25dKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uUG9zaXRpb25FbnVtLkZvb3RlckxlZnQ6XG4gICAgICAgICAgICAgICAgdGhpcy5mb290ZXJMZWZ0QWN0aW9ucy51cGRhdGUodiA9PiBbLi4udiwgYWN0aW9uXSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJSaWdodDpcbiAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclJpZ2h0QWN0aW9ucy51cGRhdGUodiA9PiBbLi4udiwgYWN0aW9uXSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVkaXRvckVuYWJsZWQoaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmlzRm9ybURpc2FibGVkLnNldCghaXNFbmFibGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NBY3Rpb25JbnN0YW5jZShpbnN0YW5jZTogSUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+KSB7XG4gICAgICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQWN0aW9uSW5zdGFuY2UpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ1Vua25vd24gdHlwZSBvZiBhY3Rpb24gaW5zdGFuY2UgcmVjZWl2ZWQnLCB7ZGV0YWlsczogaW5zdGFuY2V9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2UgfHwgdGhpcy5pbnN0YW5jZS5pbnN0YW5jZUxvbmdOYW1lICE9PSBpbnN0YW5jZS5pbnN0YW5jZUxvbmdOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLnVuc2V0SW5zdGFuY2UoKTtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcblxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVN0YXRlU3Vic2NyaXB0aW9uID0gdGhpcy5pbnN0YW5jZS5zdGF0ZSQuc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocykge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkFjdGl2YXRpb25FbmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZldGNoSXRlbSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmV0Y2hTdGFydDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RWRpdG9yRW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmV0Y2hFcnJvcjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmV0Y2hFbmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRvckVuYWJsZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLlJ1blN0YXJ0OlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0b3JFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5SdW5FbmQ6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uUnVuRXJyb3I6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRvckVuYWJsZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLk5leHRBY3Rpb25TdGFydDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlPy5uZXh0QWN0aW9uSW5zdGFuY2U/LmFjdGlvbi50eXBlID09PSBBY3Rpb25UeXBlRW51bS5EaXJlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uTmV4dEFjdGlvbkVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlPy5uZXh0QWN0aW9uSW5zdGFuY2U/LmFjdGlvbi50eXBlID09PSBBY3Rpb25UeXBlRW51bS5EaXJlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkVycm9yQWN0aW9uU3RhcnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnN0YW5jZT8uZXJyb3JBY3Rpb25JbnN0YW5jZT8uYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGVFbnVtLkRpcmVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5FcnJvckFjdGlvbkVuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlPy5lcnJvckFjdGlvbkluc3RhbmNlPy5hY3Rpb24udHlwZSA9PT0gQWN0aW9uVHlwZUVudW0uRGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hFcnJvckZpbmFsOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0b3JFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFN1Y2Nlc3NGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hEaXNtaXNzZWRGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RWRpdG9yRW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVuc2V0SW5zdGFuY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFN1Y2Nlc3NSZWFjdGl2YXRlRmluYWw6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRvckVuYWJsZWQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkIGFsc28gdW5zZXRJbnN0YW5jZSwgYnV0IGxldCB0aGlzIGZvciByZWFjdGl2YXRpb25JbnN0YW5jZSQgbGlzdGVuZXIgdG8gbm90IGludGVyZmVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VSZWFjdGl2YXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmluc3RhbmNlLnJlYWN0aXZhdGlvbkluc3RhbmNlJC5zdWJzY3JpYmUobmV3SW5zdGFuY2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0FjdGlvbkluc3RhbmNlKG5ld0luc3RhbmNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnNldEluc3RhbmNlKCkge1xuICAgICAgICB0aGlzLmluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmluc3RhbmNlU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VSZWFjdGl2YXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcpXG4gICAgcHJpdmF0ZSBiZWZvcmVXaW5kb3dVbmxvYWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuaXNEaWFsb2cgJiYgdGhpcy5mb3JtRWRpdG9yQ21wPy5mb3JtLnByaXN0aW5lID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpcm0odGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uLm1lc3NhZ2UnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uRXNjYXBlJylcbiAgICBwcml2YXRlIG9uRXNjYXBlUHJlc3NlZCgpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5kYXRhLmlzRGlhbG9nICYmXG4gICAgICAgICAgICB0aGlzLmRhdGEuZGVzY3JpcHRvci5hY3RpdmF0aW9uVHJpZ2dlciA9PT0gQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLk9uUm91dGUgJiZcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2U/LmFjdGl2YXRpb25EaWFsb2dSZWYgJiZcbiAgICAgICAgICAgIHBhcnNlSW50KHRoaXMuZGlhbG9nU2VydmljZS5kaWFsb2dDb21wb25lbnRSZWZNYXAuZ2V0KHRoaXMuaW5zdGFuY2U/LmFjdGl2YXRpb25EaWFsb2dSZWYpPy5pbnN0YW5jZS5jb250YWluZXI/LnN0eWxlLnpJbmRleCA/PyAnJykgPT09IFpJbmRleFV0aWxzLmdldEN1cnJlbnQoKVxuICAgICAgICApXG4gICAgICAgICAgICB0aGlzLmNsb3NlV2l0aFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93VW5zYXZlZENoYW5nZXNDb25maXJtYXRpb25EaWFsb2coY2FsbEZyb21HdWFyZDogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24uaGVhZGVyJyksXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24ubWVzc2FnZScpLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2dlbmVyYWwueWVzJyksXG4gICAgICAgICAgICByZWplY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZ2VuZXJhbC5ubycpLFxuICAgICAgICAgICAgaWNvbjogJ3BpIHBpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJyxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY2FsbEZyb21HdWFyZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlV2l0aFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uKGNhbGxGcm9tR3VhcmQgPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAodGhpcy5mb3JtRWRpdG9yQ21wPy5mb3JtLnByaXN0aW5lID09PSBmYWxzZSAmJiB0aGlzLmRhdGEuZGVzY3JpcHRvci51bnNhdmVkQ2hhbmdlc0NvbmZpcm1hdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvd1Vuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uRGlhbG9nKGNhbGxGcm9tR3VhcmQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFjYWxsRnJvbUd1YXJkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0SW5wdXREYXRhPEl0ZW0sIFNlcnZpY2U+IHtcbiAgICBkZXNjcmlwdG9yOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlPjtcbiAgICBpc0RpYWxvZzogYm9vbGVhbjtcbiAgICBkaWFsb2dDb25maWc/OiBEeW5hbWljRGlhbG9nQ29uZmlnO1xuICAgIGl0ZW1JZD86IElkVHlwZTtcbiAgICBpdGVtPzogSXRlbTtcbiAgICBhY3Rpb25EYXRhPzogQWN0aW9uRGF0YTtcbiAgICBkYXRhUHJvdmlkZXI/OiBJRGF0YVByb3ZpZGVyPEl0ZW0sIFNlcnZpY2U+O1xuICAgIGFjdGlvbkluc3RhbmNlPzogQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT47XG4gICAgcHJldmlvdXNBY3Rpb25JbnN0YW5jZT86IElBY3Rpb25JbnN0YW5jZTxhbnksIGFueT47XG59XG4iLCJAaWYgKCFkYXRhLmlzRGlhbG9nICYmIHRpdGxlKCkpIHtcbiAgICA8aDU+e3sgdGl0bGUoKSB9fTwvaDU+XG59XG5AaWYgKGRhdGEuaXNEaWFsb2cgJiYgZGF0YS5kZXNjcmlwdG9yLmFjdGl2YXRpb25UcmlnZ2VyID09PSBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW0uT25Sb3V0ZSkge1xuICAgIDxzcGFuIGNsYXNzPVwicC1kaWFsb2ctaGVhZGVyIGRpYWxvZy1jbG9zZS1idXR0b24td3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInAtZGlhbG9nLWhlYWRlci1pY29uIHAtZGlhbG9nLWhlYWRlci1tYXhpbWl6ZSBwLWxpbmtcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VXaXRoVW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24oKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbG9zZVdpdGhVbnNhdmVkQ2hhbmdlc0NvbmZpcm1hdGlvbigpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZGlhbG9nLWhlYWRlci1jbG9zZS1pY29uIHBpIHBpLXRpbWVzXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG59XG48ZGl2IGNsYXNzPVwiaC1mdWxsIGZsZXggZmxleC1jb2x1bW5cIj5cbiAgICBAaWYgKHRvb2xiYXJMZWZ0QWN0aW9ucygpLmxlbmd0aCA+IDAgfHwgdG9vbGJhclJpZ2h0QWN0aW9ucygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIG1uZy1hY3Rpb24tZWRpdG9yLXRvb2xiYXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8cC10b29sYmFyIHN0eWxlQ2xhc3M9XCJtbmctYWN0aW9uLWVkaXRvci10b29sYmFyXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIHRvb2xiYXJMZWZ0QWN0aW9ucygpOyB0cmFjayBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtbmctYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIiRhbnkoYWN0aW9uKS5zdWJtaXRUeXBlID09PSBhY3Rpb25FZGl0b3JTdWJtaXRUeXBlU3VibWl0ID8gc3VibWl0TG9hZGluZygpIDogZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtob3N0Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1JZF09XCJpdGVtSWQoKVwiPjwvbW5nLWFjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiB0b29sYmFyUmlnaHRBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy1hY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdExvYWRpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiJGFueShhY3Rpb24pLnN1Ym1pdFR5cGUgPT09IGFjdGlvbkVkaXRvclN1Ym1pdFR5cGVTdWJtaXQgPyBzdWJtaXRMb2FkaW5nKCkgOiBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbUlkXT1cIml0ZW1JZCgpXCI+PC9tbmctYWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcC10b29sYmFyPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgbW5nLWFjdGlvbi1lZGl0b3ItZm9ybS1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBbc3R5bGVdPVwie3dpZHRoOiAnM3JlbScsIGhlaWdodDogJzNyZW0nfVwiIHN0cm9rZVdpZHRoPVwiM1wiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRhdGEuZGVzY3JpcHRvci5lZGl0b3JEZXNjcmlwdG9yICYmICFsb2FkaW5nKCkpIHtcbiAgICAgICAgICAgIDxtbmctZm9ybS1lZGl0b3IgW2Rlc2NyaXB0b3JdPVwiZGF0YS5kZXNjcmlwdG9yLmVkaXRvckRlc2NyaXB0b3JcIiBbaXRlbV09XCJpdGVtKClcIiBbaXNGb3JtRGlzYWJsZWRdPVwiaXNGb3JtRGlzYWJsZWQoKVwiIChmb3JtU3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj4gPC9tbmctZm9ybS1lZGl0b3I+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1uZy1hY3Rpb24tZWRpdG9yLWZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJMZWZ0QWN0aW9ucygpOyB0cmFjayBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICA8bW5nLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIkYW55KGFjdGlvbikuc3VibWl0VHlwZSA9PT0gYWN0aW9uRWRpdG9yU3VibWl0VHlwZVN1Ym1pdCA/IHN1Ym1pdExvYWRpbmcoKSA6IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtSWRdPVwiaXRlbUlkKClcIj48L21uZy1hY3Rpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGZvb3RlclJpZ2h0QWN0aW9ucygpOyB0cmFjayBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICA8bW5nLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIkYW55KGFjdGlvbikuc3VibWl0VHlwZSA9PT0gYWN0aW9uRWRpdG9yU3VibWl0VHlwZVN1Ym1pdCA/IHN1Ym1pdExvYWRpbmcoKSA6IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtSWRdPVwiaXRlbUlkKClcIj48L21uZy1hY3Rpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { of } from 'rxjs';
4
+ import { CommonsService } from '@mediusinc/mng-commons/core';
5
+ import { DropdownComponent } from '@mediusinc/mng-commons/form';
6
+ import { LookupDataProvider } from '@mediusinc/mng-commons/form/api';
7
+ import { ActionDescriptorInst } from '@mediusinc/mng-commons/tableview/api';
8
+ import { ViewContainer } from '../../services/view-container.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@mediusinc/mng-commons/core";
11
+ import * as i2 from "@angular/forms";
12
+ export class DataLanguageDropdownComponent {
13
+ constructor(commons) {
14
+ this.commons = commons;
15
+ this.viewContainer = inject(ViewContainer, { optional: true });
16
+ this.triggerActionEventEmitter = new EventEmitter();
17
+ this.selectionItemsDataProvider = LookupDataProvider.create().withLookup(() => of(commons.appDataLanguages));
18
+ }
19
+ updateDataLanguage(dataLang) {
20
+ this.commons.appDataLanguage = dataLang;
21
+ this.viewContainer?.reloadTable({});
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DataLanguageDropdownComponent, deps: [{ token: i1.CommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: DataLanguageDropdownComponent, isStandalone: true, selector: "mng-data-language-dropdown", inputs: { action: "action", actionData: "actionData", item: "item", itemId: "itemId", enabled: "enabled", loading: "loading" }, outputs: { triggerActionEventEmitter: "triggerActionEventEmitter" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownComponent, descendants: true }], ngImport: i0, template: "<mng-dropdown [dataProvider]=\"selectionItemsDataProvider\" [ngModel]=\"commons.appDataLanguage\" [showClear]=\"false\" (valueChange)=\"updateDataLanguage($event)\"></mng-dropdown>\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DataLanguageDropdownComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ standalone: true, selector: 'mng-data-language-dropdown', imports: [DropdownComponent, FormsModule], template: "<mng-dropdown [dataProvider]=\"selectionItemsDataProvider\" [ngModel]=\"commons.appDataLanguage\" [showClear]=\"false\" (valueChange)=\"updateDataLanguage($event)\"></mng-dropdown>\n" }]
29
+ }], ctorParameters: () => [{ type: i1.CommonsService }], propDecorators: { action: [{
30
+ type: Input,
31
+ args: [{ required: true }]
32
+ }], actionData: [{
33
+ type: Input,
34
+ args: [{ required: true }]
35
+ }], item: [{
36
+ type: Input,
37
+ args: [{ required: true }]
38
+ }], itemId: [{
39
+ type: Input,
40
+ args: [{ required: true }]
41
+ }], enabled: [{
42
+ type: Input,
43
+ args: [{ required: true }]
44
+ }], loading: [{
45
+ type: Input,
46
+ args: [{ required: true }]
47
+ }], triggerActionEventEmitter: [{
48
+ type: Output
49
+ }], dropdown: [{
50
+ type: ViewChild,
51
+ args: [DropdownComponent]
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYW5ndWFnZS1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL2FjdGlvbi9jb21wb25lbnRzL2xvY2FsaXphdGlvbi9kYXRhLWxhbmd1YWdlLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvbG9jYWxpemF0aW9uL2RhdGEtbGFuZ3VhZ2UtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBK0IsY0FBYyxFQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDakcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtCQUFrQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxvQkFBb0IsRUFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFRcEUsTUFBTSxPQUFPLDZCQUE2QjtJQWdCdEMsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFmekIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFTeEQsOEJBQXlCLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO1FBT3BILElBQUksQ0FBQywwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFFBQWdCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQXZCUSw2QkFBNkI7a0dBQTdCLDZCQUE2QixxVUFXM0IsaUJBQWlCLGdEQzdCaEMsd0xBQ0EsNENEY2MsaUJBQWlCLHdXQUFFLFdBQVc7OzJGQUcvQiw2QkFBNkI7a0JBTnpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDRCQUE0QixXQUM3QixDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQzttRkFNVCxNQUFNO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxVQUFVO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxJQUFJO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxNQUFNO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFFTix5QkFBeUI7c0JBQXpDLE1BQU07Z0JBQytCLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25EYXRhLCBBY3Rpb25QYXJhbWV0ZXJzLCBDb21tb25zU2VydmljZSwgSWRUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVyLCBMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2Zvcm0vYXBpJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvckluc3QsIElBY3Rpb25Db21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7Vmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlldy1jb250YWluZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZGF0YS1sYW5ndWFnZS1kcm9wZG93bicsXG4gICAgaW1wb3J0czogW0Ryb3Bkb3duQ29tcG9uZW50LCBGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICdkYXRhLWxhbmd1YWdlLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhTGFuZ3VhZ2VEcm9wZG93bkNvbXBvbmVudDxUID0gYW55PiBpbXBsZW1lbnRzIElBY3Rpb25Db21wb25lbnQ8VD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgYWN0aW9uITogQWN0aW9uRGVzY3JpcHRvckluc3Q8VD47XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBhY3Rpb25EYXRhITogQWN0aW9uRGF0YTtcbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIGl0ZW0hOiBUO1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgaXRlbUlkITogSWRUeXBlO1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgZW5hYmxlZCE6IGJvb2xlYW47XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBsb2FkaW5nITogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgdHJpZ2dlckFjdGlvbkV2ZW50RW1pdHRlcjogRXZlbnRFbWl0dGVyPEFjdGlvblBhcmFtZXRlcnM8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25QYXJhbWV0ZXJzPFQ+PigpO1xuICAgIEBWaWV3Q2hpbGQoRHJvcGRvd25Db21wb25lbnQpIHByaXZhdGUgZHJvcGRvd24/OiBEcm9wZG93bkNvbXBvbmVudDtcblxuICAgIC8vIGRyb3Bkb3duIHByb3BlcnRpZXNcbiAgICBwdWJsaWMgc2VsZWN0aW9uSXRlbXNEYXRhUHJvdmlkZXI6IExvb2t1cERhdGFQcm92aWRlckluc3Q8c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb21tb25zOiBDb21tb25zU2VydmljZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkl0ZW1zRGF0YVByb3ZpZGVyID0gTG9va3VwRGF0YVByb3ZpZGVyLmNyZWF0ZTxzdHJpbmc+KCkud2l0aExvb2t1cCgoKSA9PiBvZihjb21tb25zLmFwcERhdGFMYW5ndWFnZXMpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlRGF0YUxhbmd1YWdlKGRhdGFMYW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21tb25zLmFwcERhdGFMYW5ndWFnZSA9IGRhdGFMYW5nO1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LnJlbG9hZFRhYmxlKHt9KTtcbiAgICB9XG59XG4iLCI8bW5nLWRyb3Bkb3duIFtkYXRhUHJvdmlkZXJdPVwic2VsZWN0aW9uSXRlbXNEYXRhUHJvdmlkZXJcIiBbbmdNb2RlbF09XCJjb21tb25zLmFwcERhdGFMYW5ndWFnZVwiIFtzaG93Q2xlYXJdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwidXBkYXRlRGF0YUxhbmd1YWdlKCRldmVudClcIj48L21uZy1kcm9wZG93bj5cbiJdfQ==