@mediusinc/mng-commons 5.0.0-rc.1 → 5.0.0-rc.3

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 (245) hide show
  1. package/core/data-providers/base-data-provider.factory.d.ts +13 -0
  2. package/core/data-providers/base.data-provider.d.ts +2 -14
  3. package/core/descriptors/editor.descriptor.d.ts +1 -1
  4. package/core/descriptors/tableview.descriptor.d.ts +5 -5
  5. package/core/directives/component.directive.d.ts +2 -2
  6. package/core/index.d.ts +1 -0
  7. package/core/router/route-builder.d.ts +149 -26
  8. package/core/router/routes-builder.d.ts +28 -13
  9. package/core/security/permission.service.d.ts +1 -0
  10. package/core/services/commons-router.service.d.ts +3 -3
  11. package/core/services/commons.service.d.ts +31 -42
  12. package/core/services/tokens/module-config.token.d.ts +2 -2
  13. package/esm2022/core/components/notification/notification-wrapper.component.mjs +5 -5
  14. package/esm2022/core/components/pages/error/error.page.component.mjs +5 -5
  15. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +5 -5
  16. package/esm2022/core/data-providers/base-data-provider.factory.mjs +28 -0
  17. package/esm2022/core/data-providers/base.data-provider.mjs +1 -31
  18. package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
  19. package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
  20. package/esm2022/core/directives/component.directive.mjs +12 -9
  21. package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +3 -3
  22. package/esm2022/core/directives/template.directive.mjs +3 -3
  23. package/esm2022/core/index.mjs +2 -1
  24. package/esm2022/core/pipes/boolean.pipe.mjs +3 -3
  25. package/esm2022/core/pipes/class-map.pipe.mjs +3 -3
  26. package/esm2022/core/pipes/enum.pipe.mjs +3 -3
  27. package/esm2022/core/pipes/enumerate-async.pipe.mjs +3 -3
  28. package/esm2022/core/pipes/enumerate.pipe.mjs +3 -3
  29. package/esm2022/core/pipes/getter.pipe.mjs +3 -3
  30. package/esm2022/core/pipes/i18n-property.pipe.mjs +3 -3
  31. package/esm2022/core/pipes/json-path.pipe.mjs +3 -3
  32. package/esm2022/core/pipes/parametrize.pipe.mjs +3 -3
  33. package/esm2022/core/pipes/template.pipe.mjs +3 -3
  34. package/esm2022/core/router/route-builder.mjs +211 -84
  35. package/esm2022/core/router/routes-builder.mjs +41 -43
  36. package/esm2022/core/security/permission.service.mjs +7 -5
  37. package/esm2022/core/services/commons-init.service.mjs +5 -5
  38. package/esm2022/core/services/commons-router.service.mjs +18 -17
  39. package/esm2022/core/services/commons.service.mjs +112 -169
  40. package/esm2022/core/services/local-storage-config.service.mjs +3 -3
  41. package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
  42. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +4 -4
  43. package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +31 -0
  44. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -31
  45. package/esm2022/form/api/index.mjs +2 -1
  46. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +105 -102
  47. package/esm2022/form/components/date-range/date-range.component.mjs +3 -3
  48. package/esm2022/form/components/dropdown/dropdown.component.mjs +148 -90
  49. package/esm2022/form/directives/input-trim.directive.mjs +3 -3
  50. package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +8 -0
  51. package/esm2022/model/descriptors/enum.descriptor.mjs +3 -6
  52. package/esm2022/model/descriptors/model.descriptor.mjs +22 -9
  53. package/esm2022/model/descriptors/type.descriptor.mjs +3 -9
  54. package/esm2022/model/index.mjs +3 -1
  55. package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +33 -0
  56. package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -31
  57. package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
  58. package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +89 -0
  59. package/esm2022/table/api/descriptors/table.descriptor.mjs +4 -139
  60. package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +97 -0
  61. package/esm2022/table/api/index.mjs +4 -1
  62. package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +8 -9
  63. package/esm2022/table/components/column-value/column-value.component.mjs +4 -4
  64. package/esm2022/table/components/table/table.component.mjs +7 -7
  65. package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +5 -5
  66. package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +3 -3
  67. package/esm2022/table/services/data-list.service.mjs +4 -4
  68. package/esm2022/tableview/action/components/action/action.component.mjs +142 -190
  69. package/esm2022/tableview/action/components/editor/action-editor.component.mjs +58 -68
  70. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +133 -154
  71. package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +22 -40
  72. package/esm2022/tableview/action/components/route/action-route.component.mjs +21 -26
  73. package/esm2022/tableview/action/components/table/action-table.component.mjs +4 -4
  74. package/esm2022/tableview/action/models/execution/action-instance.model.mjs +1 -1
  75. package/esm2022/tableview/action/services/action-executor.service.mjs +10 -10
  76. package/esm2022/tableview/action/services/component-action-executor.service.mjs +3 -3
  77. package/esm2022/tableview/action/services/data-provider-executor.service.mjs +3 -3
  78. package/esm2022/tableview/action/services/navigation.service.mjs +6 -5
  79. package/esm2022/tableview/action/services/root-action-executor.service.mjs +3 -3
  80. package/esm2022/tableview/action/services/view-container.service.mjs +8 -24
  81. package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +119 -0
  82. package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +77 -0
  83. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +28 -80
  84. package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +45 -0
  85. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -32
  86. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +3 -69
  87. package/esm2022/tableview/api/action/models/action-component.model.mjs +1 -1
  88. package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +1 -1
  89. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
  90. package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +33 -0
  91. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -31
  92. package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +81 -0
  93. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +24 -161
  94. package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
  95. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +13 -5
  96. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +3 -3
  97. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +4 -4
  98. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +3 -3
  99. package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +1 -1
  100. package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +36 -7
  101. package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +95 -0
  102. package/esm2022/tableview/api/editor/helpers/field-validators.mjs +17 -27
  103. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
  104. package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
  105. package/esm2022/tableview/api/editor/models/field-validation.model.mjs +2 -0
  106. package/esm2022/tableview/api/editor/models/field.model.mjs +1 -1
  107. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
  108. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
  109. package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +3 -3
  110. package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
  111. package/esm2022/tableview/api/index.mjs +11 -1
  112. package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +47 -0
  113. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +5 -46
  114. package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +111 -0
  115. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +26 -186
  116. package/esm2022/tableview/api/tableview/helpers/files-export.mjs +2 -2
  117. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +5 -5
  118. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +53 -18
  119. package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +110 -0
  120. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +2 -2
  121. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +163 -138
  122. package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +9 -5
  123. package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +13 -16
  124. package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
  125. package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +103 -0
  126. package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +12 -16
  127. package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
  128. package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +36 -53
  129. package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
  130. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +20 -24
  131. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +24 -28
  132. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +30 -31
  133. package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
  134. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +3 -3
  135. package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +3 -3
  136. package/esm2022/tableview/editor/helpers/editor-formly.mjs +85 -56
  137. package/esm2022/tableview/editor/helpers/formly-config.mjs +5 -3
  138. package/esm2022/tableview/editor/models/formly-config.model.mjs +1 -1
  139. package/esm2022/tableview/editor/services/form-editor.service.mjs +96 -0
  140. package/esm2022/tableview/index.mjs +2 -1
  141. package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +10 -10
  142. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +26 -43
  143. package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +17 -43
  144. package/fesm2022/mediusinc-mng-commons-core.mjs +460 -390
  145. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  146. package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -3
  147. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  148. package/fesm2022/mediusinc-mng-commons-form-api.mjs +18 -18
  149. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  150. package/fesm2022/mediusinc-mng-commons-form.mjs +257 -195
  151. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  152. package/fesm2022/mediusinc-mng-commons-model.mjs +43 -33
  153. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  154. package/fesm2022/mediusinc-mng-commons-table-api.mjs +192 -146
  155. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  156. package/fesm2022/mediusinc-mng-commons-table.mjs +26 -27
  157. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  158. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +906 -665
  159. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  160. package/fesm2022/mediusinc-mng-commons-tableview.mjs +1015 -960
  161. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  162. package/form/api/data-providers/lookup-data-provider.factory.d.ts +18 -0
  163. package/form/api/data-providers/lookup.data-provider.d.ts +2 -14
  164. package/form/api/index.d.ts +1 -0
  165. package/form/components/autocomplete/autocomplete.component.d.ts +33 -24
  166. package/form/components/dropdown/dropdown.component.d.ts +38 -25
  167. package/model/data-providers/base-from-type-data-provider.factory.d.ts +8 -0
  168. package/model/descriptors/enum.descriptor.d.ts +1 -2
  169. package/model/descriptors/model.descriptor.d.ts +11 -4
  170. package/model/descriptors/type.descriptor.d.ts +2 -4
  171. package/model/index.d.ts +1 -0
  172. package/package.json +1 -1
  173. package/table/api/data-providers/table-data-provider.factory.d.ts +18 -0
  174. package/table/api/data-providers/table.data-provider.d.ts +2 -14
  175. package/table/api/descriptors/table-descriptor.factory.d.ts +44 -0
  176. package/table/api/descriptors/table.descriptor.d.ts +4 -65
  177. package/table/api/helpers/table-descriptor-helpers.d.ts +44 -0
  178. package/table/api/index.d.ts +3 -0
  179. package/table/components/column-filter-full/column-filter-full.component.d.ts +5 -4
  180. package/table/components/table/table.component.d.ts +11 -11
  181. package/table/services/data-list.service.d.ts +9 -10
  182. package/tableview/action/components/action/action.component.d.ts +37 -44
  183. package/tableview/action/components/editor/action-editor.component.d.ts +20 -18
  184. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +24 -26
  185. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +11 -14
  186. package/tableview/action/components/route/action-route.component.d.ts +7 -12
  187. package/tableview/action/components/table/action-table.component.d.ts +3 -3
  188. package/tableview/action/models/execution/action-instance.model.d.ts +2 -1
  189. package/tableview/action/services/view-container.service.d.ts +3 -9
  190. package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +36 -0
  191. package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +31 -0
  192. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +25 -37
  193. package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +15 -0
  194. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -9
  195. package/tableview/api/action/descriptors/action.descriptor.d.ts +4 -27
  196. package/tableview/api/action/models/action-component.model.d.ts +8 -8
  197. package/tableview/api/action/models/execution/action-instance.model.d.ts +2 -1
  198. package/tableview/api/action/models/execution/view-container.model.d.ts +4 -3
  199. package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +18 -0
  200. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +2 -14
  201. package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +44 -0
  202. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +44 -105
  203. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +3 -3
  204. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +35 -33
  205. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +8 -7
  206. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -2
  207. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +8 -8
  208. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +10 -13
  209. package/tableview/api/editor/descriptors/field.descriptor.d.ts +16 -1
  210. package/tableview/api/editor/helpers/editor-descriptor-helpers.d.ts +43 -0
  211. package/tableview/api/editor/helpers/field-validators.d.ts +7 -3
  212. package/tableview/api/editor/models/editor-fields.model.d.ts +25 -21
  213. package/tableview/api/editor/models/field-action-context.model.d.ts +10 -8
  214. package/tableview/api/editor/models/field-validation.model.d.ts +26 -0
  215. package/tableview/api/editor/models/field.model.d.ts +0 -10
  216. package/tableview/api/editor/models/form-editor.event.d.ts +26 -16
  217. package/tableview/api/editor/models/form-editor.interface.d.ts +38 -8
  218. package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
  219. package/tableview/api/editor/models/formly-field.model.d.ts +9 -7
  220. package/tableview/api/index.d.ts +10 -0
  221. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +25 -0
  222. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +3 -20
  223. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +49 -0
  224. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +41 -102
  225. package/tableview/api/tableview/helpers/tableview-create.d.ts +2 -2
  226. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +4 -2
  227. package/tableview/api/tableview/helpers/tableview-descriptor-helpers.d.ts +42 -0
  228. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +1 -1
  229. package/tableview/editor/components/editor/form-editor.component.d.ts +54 -36
  230. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +5 -3
  231. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -0
  232. package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +22 -0
  233. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
  234. package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +5 -7
  235. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
  236. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +3 -4
  237. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +3 -5
  238. package/tableview/editor/helpers/editor-formly.d.ts +11 -10
  239. package/tableview/editor/models/formly-config.model.d.ts +1 -1
  240. package/tableview/editor/services/form-editor.service.d.ts +39 -0
  241. package/tableview/index.d.ts +1 -0
  242. package/tableview/tableview/components/route/tableview-route.component.d.ts +2 -2
  243. package/tableview/tableview/components/tableview/tableview.component.d.ts +11 -10
  244. package/tableview/tableview/router/tableview-route-builder.d.ts +7 -13
  245. package/version-info.json +11 -0
@@ -1,65 +1,74 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, EventEmitter, Injector, Input, Output, inject } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
1
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, input, output } from '@angular/core';
3
2
  import { DynamicDialogConfig } from 'primeng/dynamicdialog';
4
3
  import { CommonsInternalError, ComponentDirective, DialogKeydownHandlerDirective } from '@mediusinc/mng-commons/core';
5
- import { ActionEditorDescriptorInst } from '@mediusinc/mng-commons/tableview/api';
6
4
  import { ActionEditorInjectorContextComponent } from './injector-context/action-editor-injector-context.component';
7
5
  import * as i0 from "@angular/core";
8
6
  import * as i1 from "@mediusinc/mng-commons/core";
9
7
  export class ActionEditorComponent {
10
- constructor() {
11
- this.injContextCmpType = ActionEditorInjectorContextComponent;
12
- this.injector = inject(Injector);
13
- this.destroyRef = inject(DestroyRef);
14
- this.dialogConfig = inject(DynamicDialogConfig, { optional: true });
15
- this.actionRunEventEmitter = new EventEmitter();
16
- this.actionCancelEventEmitter = new EventEmitter();
17
- this.isDialog = false;
18
- }
19
8
  get actionEditor() {
20
9
  return this.actionEditorWInjContextCmp;
21
10
  }
22
11
  get formEditorCmp() {
23
12
  return this.actionEditor?.formEditorCmp;
24
13
  }
25
- ngOnInit() {
26
- let dialogData = undefined;
27
- if (this.dialogConfig?.data) {
28
- dialogData = this.dialogConfig.data;
29
- this.isDialog = true;
30
- // set injector from provided one
31
- this.injector = dialogData.injector;
32
- }
33
- this.actionEditorWInjContextInputData = {
34
- isDialog: this.isDialog,
35
- dialogConfig: this.dialogConfig ?? undefined,
36
- descriptor: dialogData?.action.descriptor ?? this.action,
37
- actionInstance: dialogData?.action.instance,
38
- previousActionInstance: dialogData?.action.previousInstance,
39
- itemId: dialogData?.action.instance.activationParameters?.itemId ?? this.itemIdInput,
40
- item: dialogData?.action.instance.activationParameters?.item ?? this.itemInput,
41
- actionData: dialogData?.action.instance.activationParameters?.actionData ?? this.actionData,
42
- dataProvider: this.dataProvider
43
- };
44
- }
45
- ngOnChanges(changes) {
46
- if (changes['itemIdInput'] && !changes['itemIdInput'].firstChange) {
47
- this.actionEditorWInjContextCmp?.updateItemId(this.itemIdInput);
48
- }
49
- if (changes['itemInput'] && !changes['itemInput'].firstChange) {
50
- this.actionEditorWInjContextCmp?.updateItem(this.itemInput);
51
- }
14
+ constructor() {
15
+ this.injContextCmpType = ActionEditorInjectorContextComponent;
16
+ this.dialogConfig = inject(DynamicDialogConfig, { optional: true });
17
+ this.action = input.required();
18
+ this.dialogData = this.dialogConfig?.data;
19
+ this.isDialog = !!this.dialogData;
20
+ this.parentInjector = this.dialogData?.injector;
21
+ // data source inputs
22
+ this.itemId = input();
23
+ this.item = input();
24
+ this.actionData = input();
25
+ this.dataProvider = input();
26
+ this.actionRun = output();
27
+ this.actionCancel = output();
28
+ this.actionEditorWInjContextInputData = computed(() => {
29
+ return {
30
+ isDialog: this.isDialog,
31
+ dialogConfig: this.dialogConfig ?? undefined,
32
+ descriptor: this.dialogData?.action.descriptor ?? this.action(),
33
+ actionInstance: this.dialogData?.action.instance,
34
+ previousActionInstance: this.dialogData?.action.previousInstance,
35
+ itemId: this.dialogData?.action.instance.activationParameters?.itemId ?? this.itemId(),
36
+ item: this.dialogData?.action.instance.activationParameters?.item ?? this.item(),
37
+ actionData: this.dialogData?.action.instance.activationParameters?.actionData ?? this.actionData,
38
+ dataProvider: this.dataProvider()
39
+ };
40
+ });
41
+ this.itemIdFirstUpdate = true;
42
+ this.itemFirstUpdate = true;
43
+ effect(() => {
44
+ const itemId = this.itemId();
45
+ if (!this.itemIdFirstUpdate) {
46
+ this.actionEditorWInjContextCmp?.updateItemId(itemId);
47
+ }
48
+ else {
49
+ this.itemIdFirstUpdate = false;
50
+ }
51
+ });
52
+ effect(() => {
53
+ const item = this.item();
54
+ if (!this.itemFirstUpdate) {
55
+ this.actionEditorWInjContextCmp?.updateItem(item);
56
+ }
57
+ else {
58
+ this.itemFirstUpdate = false;
59
+ }
60
+ });
52
61
  }
53
62
  onActionEditorWInjContextCmp(cmp) {
54
63
  if (this.actionEditorWInjContextCmp) {
55
64
  throw new CommonsInternalError('Action editor injection context component is already initialized');
56
65
  }
57
66
  this.actionEditorWInjContextCmp = cmp;
58
- this.actionEditorWInjContextCmp.actionCancelEventEmitter.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(action => {
59
- this.actionCancelEventEmitter.emit(action);
67
+ this.actionEditorWInjContextCmp.actionCancel.subscribe(action => {
68
+ this.actionCancel.emit(action);
60
69
  });
61
- this.actionEditorWInjContextCmp.actionRunEventEmitter.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(action => {
62
- this.actionRunEventEmitter.emit(action);
70
+ this.actionEditorWInjContextCmp.actionRun.subscribe(action => {
71
+ this.actionRun.emit(action);
63
72
  });
64
73
  }
65
74
  cancel() {
@@ -68,30 +77,11 @@ export class ActionEditorComponent {
68
77
  triggerSubmit() {
69
78
  this.actionEditorWInjContextCmp?.triggerSubmit();
70
79
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ActionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: ActionEditorComponent, isStandalone: true, selector: "mng-action-editor", inputs: { action: "action", itemIdInput: ["itemId", "itemIdInput"], itemInput: ["item", "itemInput"], actionData: "actionData", dataProvider: "dataProvider" }, outputs: { actionRunEventEmitter: "actionSubmit", actionCancelEventEmitter: "actionCancel" }, usesOnChanges: true, hostDirectives: [{ directive: i1.DialogKeydownHandlerDirective }], ngImport: i0, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData\n }\"\n [nodeInjector]=\"injector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n", dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "nodeInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ActionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.4", type: ActionEditorComponent, isStandalone: true, selector: "mng-action-editor", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionRun: "actionRun", actionCancel: "actionCancel" }, hostDirectives: [{ directive: i1.DialogKeydownHandlerDirective }], ngImport: i0, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData()\n }\"\n [parentInjector]=\"parentInjector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n", dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
82
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ActionEditorComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ActionEditorComponent, decorators: [{
75
84
  type: Component,
76
- args: [{ standalone: true, selector: 'mng-action-editor', imports: [ComponentDirective], hostDirectives: [DialogKeydownHandlerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData\n }\"\n [nodeInjector]=\"injector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n" }]
77
- }], propDecorators: { action: [{
78
- type: Input,
79
- args: [{ required: true }]
80
- }], itemIdInput: [{
81
- type: Input,
82
- args: ['itemId']
83
- }], itemInput: [{
84
- type: Input,
85
- args: ['item']
86
- }], actionData: [{
87
- type: Input
88
- }], dataProvider: [{
89
- type: Input
90
- }], actionRunEventEmitter: [{
91
- type: Output,
92
- args: ['actionSubmit']
93
- }], actionCancelEventEmitter: [{
94
- type: Output,
95
- args: ['actionCancel']
96
- }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL2FjdGlvbi9jb21wb25lbnRzL2VkaXRvci9hY3Rpb24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvZWRpdG9yL2FjdGlvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBdUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BLLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSw2QkFBNkIsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN2SixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUdoRixPQUFPLEVBQUMsb0NBQW9DLEVBQXVDLE1BQU0sNkRBQTZELENBQUM7OztBQVV2SixNQUFNLE9BQU8scUJBQXFCO0lBUmxDO1FBU29CLHNCQUFpQixHQUFHLG9DQUFpRCxDQUFDO1FBRS9FLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBVy9DLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ2pF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QUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNyRCxDQUFDOzhHQXBGUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixtYUNuQmxDLHFPQU9BLDRDRFFjLGtCQUFrQjs7MkZBSW5CLHFCQUFxQjtrQkFSakMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sbUJBQW1CLFdBRXBCLENBQUMsa0JBQWtCLENBQUMsa0JBQ2IsQ0FBQyw2QkFBNkIsQ0FBQyxtQkFDOUIsdUJBQXVCLENBQUMsTUFBTTs4QkFVZixNQUFNO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFHQyxXQUFXO3NCQUFsQyxLQUFLO3VCQUFDLFFBQVE7Z0JBQ08sU0FBUztzQkFBOUIsS0FBSzt1QkFBQyxNQUFNO2dCQUNHLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFeUIscUJBQXFCO3NCQUFuRCxNQUFNO3VCQUFDLGNBQWM7Z0JBQ1Msd0JBQXdCO3NCQUF0RCxNQUFNO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUeXBlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHtEeW5hbWljRGlhbG9nQ29uZmlnfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuXG5pbXBvcnQge0FjdGlvbkRhdGEsIENvbW1vbnNJbnRlcm5hbEVycm9yLCBDb21wb25lbnREaXJlY3RpdmUsIERpYWxvZ0tleWRvd25IYW5kbGVyRGlyZWN0aXZlLCBJRGF0YVByb3ZpZGVyLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge0FjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge0FjdGlvbkVkaXRvckRpYWxvZ0RhdGF9IGZyb20gJy4uLy4uL21vZGVscy9hY3Rpb24tZWRpdG9yLWRpYWxvZy1kYXRhLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0Q29tcG9uZW50LCBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRJbnB1dERhdGF9IGZyb20gJy4vaW5qZWN0b3ItY29udGV4dC9hY3Rpb24tZWRpdG9yLWluamVjdG9yLWNvbnRleHQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hY3Rpb24tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0NvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEaWFsb2dLZXlkb3duSGFuZGxlckRpcmVjdGl2ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uRWRpdG9yQ29tcG9uZW50PFQgPSBhbnksIFMgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHB1YmxpYyByZWFkb25seSBpbmpDb250ZXh0Q21wVHlwZSA9IEFjdGlvbkVkaXRvckluamVjdG9yQ29udGV4dENvbXBvbmVudCBhcyBUeXBlPGFueT47XG5cbiAgICBwdWJsaWMgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHB1YmxpYyByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nQ29uZmlnID0gaW5qZWN0KER5bmFtaWNEaWFsb2dDb25maWcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgLy8gbWV0YWRhdGEgYW5kIGVkaXRvciBtb2RlIGlucHV0XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBhY3Rpb24hOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxULCBTPjtcblxuICAgIC8vIGRhdGEgc291cmNlIGlucHV0c1xuICAgIEBJbnB1dCgnaXRlbUlkJykgcHVibGljIGl0ZW1JZElucHV0PzogSWRUeXBlO1xuICAgIEBJbnB1dCgnaXRlbScpIHB1YmxpYyBpdGVtSW5wdXQ/OiBUO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25EYXRhPzogQWN0aW9uRGF0YTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YVByb3ZpZGVyPzogSURhdGFQcm92aWRlcjxULCBTPjtcblxuICAgIEBPdXRwdXQoJ2FjdGlvblN1Ym1pdCcpIHB1YmxpYyBhY3Rpb25SdW5FdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAgIEBPdXRwdXQoJ2FjdGlvbkNhbmNlbCcpIHB1YmxpYyBhY3Rpb25DYW5jZWxFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgcHJpdmF0ZSBhY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcD86IEFjdGlvbkVkaXRvckluamVjdG9yQ29udGV4dENvbXBvbmVudDxULCBTPjtcbiAgICBwdWJsaWMgYWN0aW9uRWRpdG9yV0luakNvbnRleHRJbnB1dERhdGE/OiBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRJbnB1dERhdGE8VCwgUz47XG5cbiAgICBwcml2YXRlIGlzRGlhbG9nID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbkVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb3JtRWRpdG9yQ21wKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25FZGl0b3I/LmZvcm1FZGl0b3JDbXA7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGxldCBkaWFsb2dEYXRhOiBBY3Rpb25FZGl0b3JEaWFsb2dEYXRhPFQsIFM+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZz8uZGF0YSkge1xuICAgICAgICAgICAgZGlhbG9nRGF0YSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEgYXMgQWN0aW9uRWRpdG9yRGlhbG9nRGF0YTxULCBTPjtcbiAgICAgICAgICAgIHRoaXMuaXNEaWFsb2cgPSB0cnVlO1xuXG4gICAgICAgICAgICAvLyBzZXQgaW5qZWN0b3IgZnJvbSBwcm92aWRlZCBvbmVcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IgPSBkaWFsb2dEYXRhLmluamVjdG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dElucHV0RGF0YSA9IHtcbiAgICAgICAgICAgIGlzRGlhbG9nOiB0aGlzLmlzRGlhbG9nLFxuICAgICAgICAgICAgZGlhbG9nQ29uZmlnOiB0aGlzLmRpYWxvZ0NvbmZpZyA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBkZXNjcmlwdG9yOiBkaWFsb2dEYXRhPy5hY3Rpb24uZGVzY3JpcHRvciA/PyB0aGlzLmFjdGlvbixcbiAgICAgICAgICAgIGFjdGlvbkluc3RhbmNlOiBkaWFsb2dEYXRhPy5hY3Rpb24uaW5zdGFuY2UsXG4gICAgICAgICAgICBwcmV2aW91c0FjdGlvbkluc3RhbmNlOiBkaWFsb2dEYXRhPy5hY3Rpb24ucHJldmlvdXNJbnN0YW5jZSxcbiAgICAgICAgICAgIGl0ZW1JZDogZGlhbG9nRGF0YT8uYWN0aW9uLmluc3RhbmNlLmFjdGl2YXRpb25QYXJhbWV0ZXJzPy5pdGVtSWQgPz8gdGhpcy5pdGVtSWRJbnB1dCxcbiAgICAgICAgICAgIGl0ZW06IGRpYWxvZ0RhdGE/LmFjdGlvbi5pbnN0YW5jZS5hY3RpdmF0aW9uUGFyYW1ldGVycz8uaXRlbSA/PyB0aGlzLml0ZW1JbnB1dCxcbiAgICAgICAgICAgIGFjdGlvbkRhdGE6IGRpYWxvZ0RhdGE/LmFjdGlvbi5pbnN0YW5jZS5hY3RpdmF0aW9uUGFyYW1ldGVycz8uYWN0aW9uRGF0YSA/PyB0aGlzLmFjdGlvbkRhdGEsXG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IHRoaXMuZGF0YVByb3ZpZGVyXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1snaXRlbUlkSW5wdXQnXSAmJiAhY2hhbmdlc1snaXRlbUlkSW5wdXQnXS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcD8udXBkYXRlSXRlbUlkKHRoaXMuaXRlbUlkSW5wdXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWydpdGVtSW5wdXQnXSAmJiAhY2hhbmdlc1snaXRlbUlucHV0J10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXA/LnVwZGF0ZUl0ZW0odGhpcy5pdGVtSW5wdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXAoY21wOiBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRDb21wb25lbnQ8VCwgUz4pIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignQWN0aW9uIGVkaXRvciBpbmplY3Rpb24gY29udGV4dCBjb21wb25lbnQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXAgPSBjbXA7XG4gICAgICAgIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXAuYWN0aW9uQ2FuY2VsRXZlbnRFbWl0dGVyLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25DYW5jZWxFdmVudEVtaXR0ZXIuZW1pdChhY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcC5hY3Rpb25SdW5FdmVudEVtaXR0ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvblJ1bkV2ZW50RW1pdHRlci5lbWl0KGFjdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXA/LmNhbmNlbCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmlnZ2VyU3VibWl0KCkge1xuICAgICAgICB0aGlzLmFjdGlvbkVkaXRvcldJbmpDb250ZXh0Q21wPy50cmlnZ2VyU3VibWl0KCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFttbmdDb21wb25lbnRdPVwiaW5qQ29udGV4dENtcFR5cGVcIlxuICAgIFtpbnB1dHNdPVwie1xuICAgICAgICBkYXRhOiBhY3Rpb25FZGl0b3JXSW5qQ29udGV4dElucHV0RGF0YVxuICAgIH1cIlxuICAgIFtub2RlSW5qZWN0b3JdPVwiaW5qZWN0b3JcIlxuICAgIChpbnN0YW5jZUNyZWF0ZWQpPVwib25BY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcCgkZXZlbnQpXCI+PC9kaXY+XG4iXX0=
85
+ args: [{ standalone: true, selector: 'mng-action-editor', imports: [ComponentDirective], hostDirectives: [DialogKeydownHandlerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData()\n }\"\n [parentInjector]=\"parentInjector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n" }]
86
+ }], ctorParameters: () => [] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL2FjdGlvbi9jb21wb25lbnRzL2VkaXRvci9hY3Rpb24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvZWRpdG9yL2FjdGlvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBUSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSw2QkFBNkIsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUl2SixPQUFPLEVBQUMsb0NBQW9DLEVBQXVDLE1BQU0sNkRBQTZELENBQUM7OztBQVV2SixNQUFNLE9BQU8scUJBQXFCO0lBc0M5QixJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO0lBQzVDLENBQUM7SUFFRDtRQTdDZ0Isc0JBQWlCLEdBQUcsb0NBQWlELENBQUM7UUFFdEUsaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUV0RSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0MsQ0FBQztRQUVsRCxlQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFnRCxDQUFDO1FBQ2pGLGFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM5QixtQkFBYyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1FBRTNELHFCQUFxQjtRQUNkLFdBQU0sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN6QixTQUFJLEdBQUcsS0FBSyxFQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBRTVDLGNBQVMsR0FBRyxNQUFNLEVBQXdCLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLEVBQXdCLENBQUM7UUFHOUMscUNBQWdDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwRCxPQUFtRDtnQkFDL0MsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxTQUFTO2dCQUM1QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQy9ELGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2dCQUNoRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7Z0JBQ2hFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3RGLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hGLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVO2dCQUNoRyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTthQUNwQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSyxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDekIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFXM0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUNqQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sNEJBQTRCLENBQUMsR0FBK0M7UUFDL0UsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksb0JBQW9CLENBQUMsa0VBQWtFLENBQUMsQ0FBQztRQUN2RyxDQUFDO1FBQ0QsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztRQUN0QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ3JELENBQUM7OEdBckZRLHFCQUFxQjtrR0FBckIscUJBQXFCLDYxQkNsQmxDLCtPQU9BLDRDRE9jLGtCQUFrQjs7MkZBSW5CLHFCQUFxQjtrQkFSakMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sbUJBQW1CLFdBRXBCLENBQUMsa0JBQWtCLENBQUMsa0JBQ2IsQ0FBQyw2QkFBNkIsQ0FBQyxtQkFDOUIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVHlwZSwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtEeW5hbWljRGlhbG9nQ29uZmlnfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuXG5pbXBvcnQge0FjdGlvbkRhdGEsIENvbW1vbnNJbnRlcm5hbEVycm9yLCBDb21wb25lbnREaXJlY3RpdmUsIERpYWxvZ0tleWRvd25IYW5kbGVyRGlyZWN0aXZlLCBJRGF0YVByb3ZpZGVyLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge0FjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge0FjdGlvbkVkaXRvckRpYWxvZ0RhdGF9IGZyb20gJy4uLy4uL21vZGVscy9hY3Rpb24tZWRpdG9yLWRpYWxvZy1kYXRhLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0Q29tcG9uZW50LCBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRJbnB1dERhdGF9IGZyb20gJy4vaW5qZWN0b3ItY29udGV4dC9hY3Rpb24tZWRpdG9yLWluamVjdG9yLWNvbnRleHQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hY3Rpb24tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0NvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEaWFsb2dLZXlkb3duSGFuZGxlckRpcmVjdGl2ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uRWRpdG9yQ29tcG9uZW50PFQgPSBhbnksIFMgPSBhbnk+IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qQ29udGV4dENtcFR5cGUgPSBBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRDb21wb25lbnQgYXMgVHlwZTxhbnk+O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGRpYWxvZ0NvbmZpZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29uZmlnLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyBhY3Rpb24gPSBpbnB1dC5yZXF1aXJlZDxBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxULCBTPj4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nRGF0YSA9IHRoaXMuZGlhbG9nQ29uZmlnPy5kYXRhIGFzIEFjdGlvbkVkaXRvckRpYWxvZ0RhdGE8VCwgUz4gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0RpYWxvZyA9ICEhdGhpcy5kaWFsb2dEYXRhO1xuICAgIHB1YmxpYyByZWFkb25seSBwYXJlbnRJbmplY3RvciA9IHRoaXMuZGlhbG9nRGF0YT8uaW5qZWN0b3I7XG5cbiAgICAvLyBkYXRhIHNvdXJjZSBpbnB1dHNcbiAgICBwdWJsaWMgaXRlbUlkID0gaW5wdXQ8SWRUeXBlPigpO1xuICAgIHB1YmxpYyBpdGVtID0gaW5wdXQ8VD4oKTtcbiAgICBwdWJsaWMgYWN0aW9uRGF0YSA9IGlucHV0PEFjdGlvbkRhdGE+KCk7XG4gICAgcHVibGljIGRhdGFQcm92aWRlciA9IGlucHV0PElEYXRhUHJvdmlkZXI8VCwgUz4+KCk7XG5cbiAgICBwdWJsaWMgYWN0aW9uUnVuID0gb3V0cHV0PFQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAgIHB1YmxpYyBhY3Rpb25DYW5jZWwgPSBvdXRwdXQ8VCB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICBwcml2YXRlIGFjdGlvbkVkaXRvcldJbmpDb250ZXh0Q21wPzogQWN0aW9uRWRpdG9ySW5qZWN0b3JDb250ZXh0Q29tcG9uZW50PFQsIFM+O1xuICAgIHB1YmxpYyBhY3Rpb25FZGl0b3JXSW5qQ29udGV4dElucHV0RGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIDxBY3Rpb25FZGl0b3JJbmplY3RvckNvbnRleHRJbnB1dERhdGE8VCwgUz4+e1xuICAgICAgICAgICAgaXNEaWFsb2c6IHRoaXMuaXNEaWFsb2csXG4gICAgICAgICAgICBkaWFsb2dDb25maWc6IHRoaXMuZGlhbG9nQ29uZmlnID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGlhbG9nRGF0YT8uYWN0aW9uLmRlc2NyaXB0b3IgPz8gdGhpcy5hY3Rpb24oKSxcbiAgICAgICAgICAgIGFjdGlvbkluc3RhbmNlOiB0aGlzLmRpYWxvZ0RhdGE/LmFjdGlvbi5pbnN0YW5jZSxcbiAgICAgICAgICAgIHByZXZpb3VzQWN0aW9uSW5zdGFuY2U6IHRoaXMuZGlhbG9nRGF0YT8uYWN0aW9uLnByZXZpb3VzSW5zdGFuY2UsXG4gICAgICAgICAgICBpdGVtSWQ6IHRoaXMuZGlhbG9nRGF0YT8uYWN0aW9uLmluc3RhbmNlLmFjdGl2YXRpb25QYXJhbWV0ZXJzPy5pdGVtSWQgPz8gdGhpcy5pdGVtSWQoKSxcbiAgICAgICAgICAgIGl0ZW06IHRoaXMuZGlhbG9nRGF0YT8uYWN0aW9uLmluc3RhbmNlLmFjdGl2YXRpb25QYXJhbWV0ZXJzPy5pdGVtID8/IHRoaXMuaXRlbSgpLFxuICAgICAgICAgICAgYWN0aW9uRGF0YTogdGhpcy5kaWFsb2dEYXRhPy5hY3Rpb24uaW5zdGFuY2UuYWN0aXZhdGlvblBhcmFtZXRlcnM/LmFjdGlvbkRhdGEgPz8gdGhpcy5hY3Rpb25EYXRhLFxuICAgICAgICAgICAgZGF0YVByb3ZpZGVyOiB0aGlzLmRhdGFQcm92aWRlcigpXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIGl0ZW1JZEZpcnN0VXBkYXRlID0gdHJ1ZTtcbiAgICBwcml2YXRlIGl0ZW1GaXJzdFVwZGF0ZSA9IHRydWU7XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbkVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb3JtRWRpdG9yQ21wKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25FZGl0b3I/LmZvcm1FZGl0b3JDbXA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtSWQgPSB0aGlzLml0ZW1JZCgpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLml0ZW1JZEZpcnN0VXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcD8udXBkYXRlSXRlbUlkKGl0ZW1JZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUlkRmlyc3RVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pdGVtRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbkVkaXRvcldJbmpDb250ZXh0Q21wPy51cGRhdGVJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1GaXJzdFVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcChjbXA6IEFjdGlvbkVkaXRvckluamVjdG9yQ29udGV4dENvbXBvbmVudDxULCBTPikge1xuICAgICAgICBpZiAodGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdBY3Rpb24gZWRpdG9yIGluamVjdGlvbiBjb250ZXh0IGNvbXBvbmVudCBpcyBhbHJlYWR5IGluaXRpYWxpemVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcCA9IGNtcDtcbiAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcC5hY3Rpb25DYW5jZWwuc3Vic2NyaWJlKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbkNhbmNlbC5lbWl0KGFjdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGlvbkVkaXRvcldJbmpDb250ZXh0Q21wLmFjdGlvblJ1bi5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uUnVuLmVtaXQoYWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5hY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcD8uY2FuY2VsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyaWdnZXJTdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uRWRpdG9yV0luakNvbnRleHRDbXA/LnRyaWdnZXJTdWJtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgW21uZ0NvbXBvbmVudF09XCJpbmpDb250ZXh0Q21wVHlwZVwiXG4gICAgW2lucHV0c109XCJ7XG4gICAgICAgIGRhdGE6IGFjdGlvbkVkaXRvcldJbmpDb250ZXh0SW5wdXREYXRhKClcbiAgICB9XCJcbiAgICBbcGFyZW50SW5qZWN0b3JdPVwicGFyZW50SW5qZWN0b3JcIlxuICAgIChpbnN0YW5jZUNyZWF0ZWQpPVwib25BY3Rpb25FZGl0b3JXSW5qQ29udGV4dENtcCgkZXZlbnQpXCI+PC9kaXY+XG4iXX0=