@mediusinc/mng-commons 0.2.0 → 0.2.6

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 (235) hide show
  1. package/esm2020/lib/api/models/builders/query-param.builder.mjs +48 -48
  2. package/esm2020/lib/api/models/filter-match-type.model.mjs +26 -26
  3. package/esm2020/lib/api/models/filter-param.model.mjs +46 -46
  4. package/esm2020/lib/api/models/index.mjs +9 -9
  5. package/esm2020/lib/api/models/mappers.mjs +17 -17
  6. package/esm2020/lib/api/models/query-mode.model.mjs +19 -19
  7. package/esm2020/lib/api/models/query-param.model.mjs +69 -69
  8. package/esm2020/lib/api/models/query-result.model.mjs +45 -45
  9. package/esm2020/lib/api/models/serialization.model.mjs +2 -2
  10. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +72 -72
  11. package/esm2020/lib/api/services/index.mjs +2 -2
  12. package/esm2020/lib/api/utils/index.mjs +3 -3
  13. package/esm2020/lib/api/utils/medius-rest.util.mjs +122 -122
  14. package/esm2020/lib/api/utils/object-serializer.util.mjs +226 -226
  15. package/esm2020/lib/components/action/action.component.mjs +65 -65
  16. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +148 -148
  17. package/esm2020/lib/components/action/index.mjs +4 -4
  18. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -2
  19. package/esm2020/lib/components/action/models/action-execution.model.mjs +58 -58
  20. package/esm2020/lib/components/action/models/index.mjs +3 -3
  21. package/esm2020/lib/components/action/route/action-route.component.mjs +144 -144
  22. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +114 -114
  23. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +113 -113
  24. package/esm2020/lib/components/form/editor/form-editor.component.mjs +141 -141
  25. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +19 -19
  26. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +19 -19
  27. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +16 -16
  28. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +30 -26
  29. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +108 -109
  30. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +122 -122
  31. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +17 -17
  32. package/esm2020/lib/components/form/formly/fields/index.mjs +8 -8
  33. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +17 -17
  34. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +16 -16
  35. package/esm2020/lib/components/form/formly/wrappers/index.mjs +3 -3
  36. package/esm2020/lib/components/form/index.mjs +4 -4
  37. package/esm2020/lib/components/form/models/form-editor.event.mjs +7 -7
  38. package/esm2020/lib/components/form/models/index.mjs +2 -2
  39. package/esm2020/lib/components/layout/breadcrumb.component.mjs +17 -17
  40. package/esm2020/lib/components/layout/footer.component.mjs +17 -17
  41. package/esm2020/lib/components/layout/index.mjs +7 -7
  42. package/esm2020/lib/components/layout/main-layout.component.mjs +54 -54
  43. package/esm2020/lib/components/layout/menu-item.component.mjs +173 -173
  44. package/esm2020/lib/components/layout/menu.component.mjs +20 -20
  45. package/esm2020/lib/components/layout/services/index.mjs +2 -2
  46. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +190 -190
  47. package/esm2020/lib/components/layout/topbar.component.mjs +59 -59
  48. package/esm2020/lib/components/tableview/index.mjs +7 -6
  49. package/esm2020/lib/components/tableview/models/index.mjs +2 -2
  50. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -16
  51. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +24 -24
  52. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +33 -0
  53. package/esm2020/lib/components/tableview/services/index.mjs +2 -2
  54. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +16 -17
  55. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +85 -74
  56. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +25 -25
  57. package/esm2020/lib/components/tableview/table/table.component.mjs +307 -307
  58. package/esm2020/lib/components/tableview/tableview.component.mjs +82 -82
  59. package/esm2020/lib/config/formly.config.mjs +136 -136
  60. package/esm2020/lib/config/index.mjs +2 -2
  61. package/esm2020/lib/config/models/index.mjs +2 -2
  62. package/esm2020/lib/config/models/mng-config.model.mjs +2 -2
  63. package/esm2020/lib/data-providers/base.data-provider.mjs +24 -24
  64. package/esm2020/lib/data-providers/editor.data-provider.mjs +37 -37
  65. package/esm2020/lib/data-providers/index.mjs +6 -6
  66. package/esm2020/lib/data-providers/lookup.data-provider.mjs +16 -16
  67. package/esm2020/lib/data-providers/table.data-provider.mjs +2 -2
  68. package/esm2020/lib/data-providers/tableview.data-provider.mjs +17 -17
  69. package/esm2020/lib/descriptors/action.descriptor.mjs +332 -332
  70. package/esm2020/lib/descriptors/editor.descriptor.mjs +670 -670
  71. package/esm2020/lib/descriptors/field.validator.mjs +21 -21
  72. package/esm2020/lib/descriptors/index.mjs +8 -8
  73. package/esm2020/lib/descriptors/lookup.descriptor.mjs +2 -2
  74. package/esm2020/lib/descriptors/model.descriptor.mjs +34 -34
  75. package/esm2020/lib/descriptors/table.descriptor.mjs +427 -401
  76. package/esm2020/lib/descriptors/tableview.descriptor.mjs +131 -131
  77. package/esm2020/lib/directives/component.directive.mjs +23 -23
  78. package/esm2020/lib/directives/index.mjs +3 -3
  79. package/esm2020/lib/directives/template.directive.mjs +29 -29
  80. package/esm2020/lib/mng-commons.module.mjs +412 -410
  81. package/esm2020/lib/models/index.mjs +2 -3
  82. package/esm2020/lib/models/user.model.mjs +2 -2
  83. package/esm2020/lib/pipes/boolean.pipe.mjs +22 -22
  84. package/esm2020/lib/pipes/index.mjs +3 -3
  85. package/esm2020/lib/pipes/property-path.pipe.mjs +36 -36
  86. package/esm2020/lib/router/index.mjs +2 -0
  87. package/esm2020/lib/router/models/index.mjs +2 -0
  88. package/esm2020/lib/router/models/router.model.mjs +2 -0
  89. package/esm2020/lib/router/route-builder.mjs +288 -0
  90. package/esm2020/lib/services/action.service.mjs +269 -269
  91. package/esm2020/lib/services/commons.service.mjs +354 -353
  92. package/esm2020/lib/services/configuration.service.mjs +78 -78
  93. package/esm2020/lib/services/index.mjs +5 -5
  94. package/esm2020/lib/services/navigation.service.mjs +48 -48
  95. package/esm2020/lib/services/providers/commons-init.provider.mjs +4 -4
  96. package/esm2020/lib/services/providers/config-service.provider.mjs +20 -20
  97. package/esm2020/lib/services/providers/formly-config.provider.mjs +31 -31
  98. package/esm2020/lib/services/providers/index.mjs +4 -4
  99. package/esm2020/lib/services/tokens/browser-storage.token.mjs +6 -6
  100. package/esm2020/lib/services/tokens/index.mjs +3 -3
  101. package/esm2020/lib/services/tokens/module-config.token.mjs +3 -3
  102. package/esm2020/lib/types/index.mjs +3 -3
  103. package/esm2020/lib/types/type.decorator.mjs +7 -7
  104. package/esm2020/lib/types/type.model.mjs +2 -2
  105. package/esm2020/lib/utils/editor-formly.util.mjs +176 -176
  106. package/esm2020/lib/utils/i18n.util.mjs +125 -125
  107. package/esm2020/lib/utils/index.mjs +6 -6
  108. package/esm2020/lib/utils/model.util.mjs +57 -57
  109. package/esm2020/lib/utils/route.util.mjs +24 -0
  110. package/esm2020/lib/utils/toast.util.mjs +39 -39
  111. package/esm2020/lib/utils/type.util.mjs +39 -39
  112. package/esm2020/mediusinc-mng-commons.mjs +5 -5
  113. package/esm2020/public-api.mjs +37 -36
  114. package/fesm2015/mediusinc-mng-commons.mjs +6407 -6024
  115. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  116. package/fesm2020/mediusinc-mng-commons.mjs +6329 -5950
  117. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  118. package/lib/api/models/builders/query-param.builder.d.ts +11 -11
  119. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  120. package/lib/api/models/filter-param.model.d.ts +23 -23
  121. package/lib/api/models/index.d.ts +8 -8
  122. package/lib/api/models/mappers.d.ts +6 -6
  123. package/lib/api/models/query-mode.model.d.ts +16 -16
  124. package/lib/api/models/query-param.model.d.ts +31 -31
  125. package/lib/api/models/query-result.model.d.ts +36 -36
  126. package/lib/api/models/serialization.model.d.ts +8 -8
  127. package/lib/api/services/crud-api.abstract.service.d.ts +23 -23
  128. package/lib/api/services/index.d.ts +1 -1
  129. package/lib/api/utils/index.d.ts +2 -2
  130. package/lib/api/utils/medius-rest.util.d.ts +12 -12
  131. package/lib/api/utils/object-serializer.util.d.ts +30 -30
  132. package/lib/components/action/action.component.d.ts +36 -36
  133. package/lib/components/action/dialog/action-dialog.component.d.ts +46 -46
  134. package/lib/components/action/index.d.ts +3 -3
  135. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  136. package/lib/components/action/models/action-execution.model.d.ts +53 -53
  137. package/lib/components/action/models/index.d.ts +2 -2
  138. package/lib/components/action/route/action-route.component.d.ts +32 -32
  139. package/lib/components/form/autocomplete/autocomplete.component.d.ts +36 -36
  140. package/lib/components/form/dropdown/dropdown.component.d.ts +34 -34
  141. package/lib/components/form/editor/form-editor.component.d.ts +39 -39
  142. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +11 -11
  143. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +11 -11
  144. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +6 -6
  145. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +12 -12
  146. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +17 -17
  147. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +36 -36
  148. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  149. package/lib/components/form/formly/fields/index.d.ts +7 -7
  150. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +8 -8
  151. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +8 -8
  152. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  153. package/lib/components/form/index.d.ts +3 -3
  154. package/lib/components/form/models/form-editor.event.d.ts +5 -5
  155. package/lib/components/form/models/index.d.ts +1 -1
  156. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  157. package/lib/components/layout/footer.component.d.ts +9 -9
  158. package/lib/components/layout/index.d.ts +6 -6
  159. package/lib/components/layout/main-layout.component.d.ts +21 -21
  160. package/lib/components/layout/menu-item.component.d.ts +29 -29
  161. package/lib/components/layout/menu.component.d.ts +10 -10
  162. package/lib/components/layout/services/index.d.ts +1 -1
  163. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  164. package/lib/components/layout/topbar.component.d.ts +25 -25
  165. package/lib/components/tableview/index.d.ts +6 -5
  166. package/lib/components/tableview/models/index.d.ts +1 -1
  167. package/lib/components/tableview/models/table.event.d.ts +17 -17
  168. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +15 -14
  169. package/lib/components/tableview/route/tableview-route.component.d.ts +15 -0
  170. package/lib/components/tableview/services/index.d.ts +1 -1
  171. package/lib/components/tableview/services/tableview.component.service.d.ts +13 -13
  172. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +27 -22
  173. package/lib/components/tableview/table/column-value/column-value.component.d.ts +12 -12
  174. package/lib/components/tableview/table/table.component.d.ts +79 -79
  175. package/lib/components/tableview/tableview.component.d.ts +35 -35
  176. package/lib/config/formly.config.d.ts +14 -14
  177. package/lib/config/index.d.ts +1 -1
  178. package/lib/config/models/index.d.ts +1 -1
  179. package/lib/config/models/mng-config.model.d.ts +34 -34
  180. package/lib/data-providers/base.data-provider.d.ts +17 -17
  181. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  182. package/lib/data-providers/index.d.ts +5 -5
  183. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  184. package/lib/data-providers/table.data-provider.d.ts +6 -6
  185. package/lib/data-providers/tableview.data-provider.d.ts +15 -15
  186. package/lib/descriptors/action.descriptor.d.ts +148 -148
  187. package/lib/descriptors/editor.descriptor.d.ts +255 -255
  188. package/lib/descriptors/field.validator.d.ts +18 -18
  189. package/lib/descriptors/index.d.ts +7 -7
  190. package/lib/descriptors/lookup.descriptor.d.ts +17 -17
  191. package/lib/descriptors/model.descriptor.d.ts +15 -15
  192. package/lib/descriptors/table.descriptor.d.ts +184 -164
  193. package/lib/descriptors/tableview.descriptor.d.ts +39 -39
  194. package/lib/directives/component.directive.d.ts +11 -11
  195. package/lib/directives/index.d.ts +2 -2
  196. package/lib/directives/template.directive.d.ts +13 -13
  197. package/lib/mng-commons.module.d.ts +80 -79
  198. package/lib/models/index.d.ts +1 -2
  199. package/lib/models/user.model.d.ts +8 -8
  200. package/lib/pipes/boolean.pipe.d.ts +7 -7
  201. package/lib/pipes/index.d.ts +2 -2
  202. package/lib/pipes/property-path.pipe.d.ts +7 -7
  203. package/lib/router/index.d.ts +1 -0
  204. package/lib/router/models/index.d.ts +1 -0
  205. package/lib/router/models/router.model.d.ts +22 -0
  206. package/lib/router/route-builder.d.ts +66 -0
  207. package/lib/services/action.service.d.ts +92 -92
  208. package/lib/services/commons.service.d.ts +72 -72
  209. package/lib/services/configuration.service.d.ts +35 -35
  210. package/lib/services/index.d.ts +4 -4
  211. package/lib/services/navigation.service.d.ts +14 -14
  212. package/lib/services/providers/commons-init.provider.d.ts +2 -2
  213. package/lib/services/providers/config-service.provider.d.ts +5 -5
  214. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  215. package/lib/services/providers/index.d.ts +3 -3
  216. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  217. package/lib/services/tokens/index.d.ts +2 -2
  218. package/lib/services/tokens/module-config.token.d.ts +3 -3
  219. package/lib/types/index.d.ts +2 -2
  220. package/lib/types/type.decorator.d.ts +2 -2
  221. package/lib/types/type.model.d.ts +10 -10
  222. package/lib/utils/editor-formly.util.d.ts +9 -9
  223. package/lib/utils/i18n.util.d.ts +18 -18
  224. package/lib/utils/index.d.ts +5 -5
  225. package/lib/utils/model.util.d.ts +7 -7
  226. package/lib/utils/route.util.d.ts +4 -0
  227. package/lib/utils/toast.util.d.ts +13 -13
  228. package/lib/utils/type.util.d.ts +15 -15
  229. package/mediusinc-mng-commons.d.ts +5 -5
  230. package/package.json +4 -4
  231. package/public-api.d.ts +26 -25
  232. package/scss/common/layout/_exception.scss +1 -1
  233. package/esm2020/lib/models/router.model.mjs +0 -2
  234. package/lib/models/router.model.d.ts +0 -14
  235. package/mediusinc-mng-commons-0.2.0.tgz +0 -0
@@ -1,65 +1,65 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { of, ReplaySubject } from 'rxjs';
3
- import { finalize, first } from 'rxjs/operators';
4
- import { ConfirmationService, MessageService } from 'primeng/api';
5
- import { I18nUtil } from '../../utils';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@ngx-translate/core";
9
- import * as i3 from "../../services";
10
- import * as i4 from "primeng/api";
11
- import * as i5 from "../tableview/services";
12
- import * as i6 from "primeng/confirmdialog";
13
- import * as i7 from "@angular/common";
14
- import * as i8 from "primeng/button";
15
- import * as i9 from "primeng/ripple";
16
- import * as i10 from "primeng/tooltip";
17
- export class MngActionComponent {
18
- constructor(route, translate, actionService, confirmationService, tableviewService) {
19
- this.route = route;
20
- this.translate = translate;
21
- this.actionService = actionService;
22
- this.confirmationService = confirmationService;
23
- this.tableviewService = tableviewService;
24
- this.loadingSubject = new ReplaySubject(1);
25
- this.$loading = this.loadingSubject.asObservable();
26
- this.cmpId = Math.random().toString(36).substring(2);
27
- this.loadingSubject.next(false);
28
- }
29
- ngOnInit() {
30
- const context = this.actionService.getActionExecContext(this.action, this.itemId, this.item, this.tableviewService?.dataProvider ?? undefined, this.tableviewService, this, this.actionData);
31
- this.$isVisible = typeof this.action.isVisibleFunction === 'function' ? this.action.isVisibleFunction(context) : of(true);
32
- this.$isEnabled = typeof this.action.isEnabledFunction === 'function' ? this.action.isEnabledFunction(context) : of(true);
33
- this.$label = I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
34
- this.$tooltip = I18nUtil.streamActionTranslation(this.translate, this.action, 'tooltip', this.action?.tooltip ?? undefined, this.item);
35
- }
36
- triggerAction(event) {
37
- this.loadingSubject.next(true);
38
- const actionData = this.actionData ? this.actionData : {};
39
- actionData['cmpId'] = this.cmpId;
40
- this.actionService.triggerAction(this.action, this.itemId, this.item, actionData, this.route, this.tableviewService, this)
41
- .pipe(first(), finalize(() => this.loadingSubject.next(false)))
42
- .subscribe(res => { });
43
- }
44
- getConfirmationService() {
45
- return this.confirmationService;
46
- }
47
- getConfirmationServiceInstanceKey(action) {
48
- return `${action.actionName}_${this.cmpId}`;
49
- }
50
- }
51
- MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.MngActionService }, { token: i4.ConfirmationService }, { token: i5.TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
52
- MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", components: [{ type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionComponent, decorators: [{
54
- type: Component,
55
- args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n" }]
56
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.MngActionService }, { type: i4.ConfirmationService }, { type: i5.TableviewComponentService }]; }, propDecorators: { action: [{
57
- type: Input
58
- }], item: [{
59
- type: Input
60
- }], itemId: [{
61
- type: Input
62
- }], actionData: [{
63
- type: Input
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS2hGLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQU1oRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFTckMsTUFBTSxPQUFPLGtCQUFrQjtJQWlCM0IsWUFDWSxLQUFxQixFQUNyQixTQUEyQixFQUMzQixhQUErQixFQUMvQixtQkFBd0MsRUFDeEMsZ0JBQWlEO1FBSmpELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFkckQsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQXdCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkUsVUFBSyxHQUFXLElBQUksQ0FB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QkFOOUIsU0FBUzsrQkFDSSxZQUFZLG1CQUVMLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7Nk9BS2hDLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbmFsaXplLCBmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0lkVHlwZX0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0lBY3Rpb25Db25maXJtYXRpb25TZXJ2aWNlLCBBY3Rpb25EYXRhfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7STE4blV0aWx9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQWN0aW9uQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0LCBJQWN0aW9uQ29uZmlybWF0aW9uU2VydmljZSB7XG5cbiAgICAvLyBtZXRhZGF0YSBhbmQgZWRpdG9yIG1vZGUgaW5wdXRcbiAgICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uITogQWN0aW9uRGVzY3JpcHRvcjxUPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbT86IFQ7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1JZD86IElkVHlwZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uRGF0YT86IEFjdGlvbkRhdGE7XG5cbiAgICBwcml2YXRlIGxvYWRpbmdTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHVibGljICRsb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyBjbXBJZDogc3RyaW5nID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIHB1YmxpYyAkaXNWaXNpYmxlITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwdWJsaWMgJGlzRW5hYmxlZCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljICRsYWJlbCE6IE9ic2VydmFibGU8c3RyaW5nfG51bGw+O1xuICAgIHB1YmxpYyAkdG9vbHRpcCE6IE9ic2VydmFibGU8c3RyaW5nfG51bGw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBNbmdBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFibGV2aWV3U2VydmljZTogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxULCBTPlxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuYWN0aW9uU2VydmljZS5nZXRBY3Rpb25FeGVjQ29udGV4dCh0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuaXRlbSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5kYXRhUHJvdmlkZXIgPz8gdW5kZWZpbmVkLCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMsIHRoaXMuYWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMuJGlzVmlzaWJsZSA9IHR5cGVvZiB0aGlzLmFjdGlvbi5pc1Zpc2libGVGdW5jdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuYWN0aW9uLmlzVmlzaWJsZUZ1bmN0aW9uKGNvbnRleHQpIDogb2YodHJ1ZSk7XG4gICAgICAgIHRoaXMuJGlzRW5hYmxlZCA9IHR5cGVvZiB0aGlzLmFjdGlvbi5pc0VuYWJsZWRGdW5jdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuYWN0aW9uLmlzRW5hYmxlZEZ1bmN0aW9uKGNvbnRleHQpIDogb2YodHJ1ZSk7XG4gICAgICAgIHRoaXMuJGxhYmVsID0gSTE4blV0aWwuc3RyZWFtQWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uLCAndGl0bGUnLCB0aGlzLmFjdGlvbj8udGl0bGUgPz8gdW5kZWZpbmVkLCB0aGlzLml0ZW0pO1xuICAgICAgICB0aGlzLiR0b29sdGlwID0gSTE4blV0aWwuc3RyZWFtQWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uLCAndG9vbHRpcCcsIHRoaXMuYWN0aW9uPy50b29sdGlwID8/IHVuZGVmaW5lZCwgdGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJpZ2dlckFjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICBjb25zdCBhY3Rpb25EYXRhID0gdGhpcy5hY3Rpb25EYXRhID8gdGhpcy5hY3Rpb25EYXRhIDoge307XG4gICAgICAgIGFjdGlvbkRhdGFbJ2NtcElkJ10gPSB0aGlzLmNtcElkO1xuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UudHJpZ2dlckFjdGlvbih0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuaXRlbSwgYWN0aW9uRGF0YSwgdGhpcy5yb3V0ZSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGAke2FjdGlvbi5hY3Rpb25OYW1lfV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiJGlzVmlzaWJsZSB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbi5pY29uICYmIGFjdGlvbi50aXRsZSA9PT0gbnVsbDsgZWxzZSBub0ljb25cIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZVxuICAgICAgICAgICAgW2ljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiKCRsb2FkaW5nIHwgYXN5bmMpID8/IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCRpc0VuYWJsZWQgfCBhc3luYylcIlxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIiRhbnkoJHRvb2x0aXAgfCBhc3luYylcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRyaWdnZXJBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1uZy1hY3Rpb24tYnV0dG9uIG1uZy1hY3Rpb24tYnV0dG9uLWljb24gcC1idXR0b24tcm91bmRlZFwiXG4gICAgICAgICAgICBbY2xhc3MucC1idXR0b24tcHJpbWFyeV09XCJhY3Rpb24ubGV2ZWwgPT09IDFcIlxuICAgICAgICAgICAgW2NsYXNzLnAtYnV0dG9uLXN1Y2Nlc3NdPVwiYWN0aW9uLmxldmVsID09PSA1XCJcbiAgICAgICAgICAgIFtjbGFzcy5wLWJ1dHRvbi1kYW5nZXJdPVwiYWN0aW9uLmxldmVsID09PSA3XCI+XG4gICAgPC9idXR0b24+XG4gICAgPG5nLXRlbXBsYXRlICNub0ljb24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcEJ1dHRvbiBwUmlwcGxlXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJGFueShhY3Rpb24uaWNvbilcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIoJGxhYmVsIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIoJGxvYWRpbmcgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCRpc0VuYWJsZWQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIkYW55KCR0b29sdGlwIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidHJpZ2dlckFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1uZy1hY3Rpb24tYnV0dG9uIHAtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5wLWJ1dHRvbi1wcmltYXJ5XT1cImFjdGlvbi5sZXZlbCA9PT0gMVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnAtYnV0dG9uLXN1Y2Nlc3NdPVwiYWN0aW9uLmxldmVsID09PSA1XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MucC1idXR0b24tZGFuZ2VyXT1cImFjdGlvbi5sZXZlbCA9PT0gN1wiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxwLWNvbmZpcm1EaWFsb2cgKm5nSWY9XCJhY3Rpb24uaGFzUnVuQ29uZmlybWF0aW9uXCIgW2tleV09XCJhY3Rpb24uYWN0aW9uTmFtZSArICdfJyArIGNtcElkXCIgW2Jhc2VaSW5kZXhdPVwiNTBcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtY29uZmlybURpYWxvZz5cbjwvbmctY29udGFpbmVyPlxuIl19
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { of, ReplaySubject } from 'rxjs';
3
+ import { finalize, first } from 'rxjs/operators';
4
+ import { ConfirmationService, MessageService } from 'primeng/api';
5
+ import { I18nUtil } from '../../utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@ngx-translate/core";
9
+ import * as i3 from "../../services";
10
+ import * as i4 from "primeng/api";
11
+ import * as i5 from "../tableview/services";
12
+ import * as i6 from "primeng/confirmdialog";
13
+ import * as i7 from "@angular/common";
14
+ import * as i8 from "primeng/button";
15
+ import * as i9 from "primeng/ripple";
16
+ import * as i10 from "primeng/tooltip";
17
+ export class MngActionComponent {
18
+ constructor(route, translate, actionService, confirmationService, tableviewService) {
19
+ this.route = route;
20
+ this.translate = translate;
21
+ this.actionService = actionService;
22
+ this.confirmationService = confirmationService;
23
+ this.tableviewService = tableviewService;
24
+ this.loadingSubject = new ReplaySubject(1);
25
+ this.$loading = this.loadingSubject.asObservable();
26
+ this.cmpId = Math.random().toString(36).substring(2);
27
+ this.loadingSubject.next(false);
28
+ }
29
+ ngOnInit() {
30
+ const context = this.actionService.getActionExecContext(this.action, this.itemId, this.item, this.tableviewService?.dataProvider ?? undefined, this.tableviewService, this, this.actionData);
31
+ this.$isVisible = typeof this.action.isVisibleFunction === 'function' ? this.action.isVisibleFunction(context) : of(true);
32
+ this.$isEnabled = typeof this.action.isEnabledFunction === 'function' ? this.action.isEnabledFunction(context) : of(true);
33
+ this.$label = I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
34
+ this.$tooltip = I18nUtil.streamActionTranslation(this.translate, this.action, 'tooltip', this.action?.tooltip ?? undefined, this.item);
35
+ }
36
+ triggerAction(event) {
37
+ this.loadingSubject.next(true);
38
+ const actionData = this.actionData ? this.actionData : {};
39
+ actionData['cmpId'] = this.cmpId;
40
+ this.actionService.triggerAction(this.action, this.itemId, this.item, actionData, this.route, this.tableviewService, this)
41
+ .pipe(first(), finalize(() => this.loadingSubject.next(false)))
42
+ .subscribe(res => { });
43
+ }
44
+ getConfirmationService() {
45
+ return this.confirmationService;
46
+ }
47
+ getConfirmationServiceInstanceKey(action) {
48
+ return `${action.actionName}_${this.cmpId}`;
49
+ }
50
+ }
51
+ MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.MngActionService }, { token: i4.ConfirmationService }, { token: i5.TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
52
+ MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", components: [{ type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n" }]
56
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.MngActionService }, { type: i4.ConfirmationService }, { type: i5.TableviewComponentService }]; }, propDecorators: { action: [{
57
+ type: Input
58
+ }], item: [{
59
+ type: Input
60
+ }], itemId: [{
61
+ type: Input
62
+ }], actionData: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS2hGLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQU1oRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFTckMsTUFBTSxPQUFPLGtCQUFrQjtJQWlCM0IsWUFDWSxLQUFxQixFQUNyQixTQUEyQixFQUMzQixhQUErQixFQUMvQixtQkFBd0MsRUFDeEMsZ0JBQWlEO1FBSmpELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFkckQsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQXdCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkUsVUFBSyxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxD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cEMsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7Nk9BS2hDLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbmFsaXplLCBmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0lkVHlwZX0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0lBY3Rpb25Db25maXJtYXRpb25TZXJ2aWNlLCBBY3Rpb25EYXRhfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7STE4blV0aWx9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQWN0aW9uQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0LCBJQWN0aW9uQ29uZmlybWF0aW9uU2VydmljZSB7XG5cbiAgICAvLyBtZXRhZGF0YSBhbmQgZWRpdG9yIG1vZGUgaW5wdXRcbiAgICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uITogQWN0aW9uRGVzY3JpcHRvcjxUPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbT86IFQ7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1JZD86IElkVHlwZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uRGF0YT86IEFjdGlvbkRhdGE7XG5cbiAgICBwcml2YXRlIGxvYWRpbmdTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHVibGljICRsb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyBjbXBJZDogc3RyaW5nID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIHB1YmxpYyAkaXNWaXNpYmxlITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwdWJsaWMgJGlzRW5hYmxlZCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljICRsYWJlbCE6IE9ic2VydmFibGU8c3RyaW5nfG51bGw+O1xuICAgIHB1YmxpYyAkdG9vbHRpcCE6IE9ic2VydmFibGU8c3RyaW5nfG51bGw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBNbmdBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFibGV2aWV3U2VydmljZTogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxULCBTPlxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuYWN0aW9uU2VydmljZS5nZXRBY3Rpb25FeGVjQ29udGV4dCh0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuaXRlbSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5kYXRhUHJvdmlkZXIgPz8gdW5kZWZpbmVkLCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMsIHRoaXMuYWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMuJGlzVmlzaWJsZSA9IHR5cGVvZiB0aGlzLmFjdGlvbi5pc1Zpc2libGVGdW5jdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuYWN0aW9uLmlzVmlzaWJsZUZ1bmN0aW9uKGNvbnRleHQpIDogb2YodHJ1ZSk7XG4gICAgICAgIHRoaXMuJGlzRW5hYmxlZCA9IHR5cGVvZiB0aGlzLmFjdGlvbi5pc0VuYWJsZWRGdW5jdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuYWN0aW9uLmlzRW5hYmxlZEZ1bmN0aW9uKGNvbnRleHQpIDogb2YodHJ1ZSk7XG4gICAgICAgIHRoaXMuJGxhYmVsID0gSTE4blV0aWwuc3RyZWFtQWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uLCAndGl0bGUnLCB0aGlzLmFjdGlvbj8udGl0bGUgPz8gdW5kZWZpbmVkLCB0aGlzLml0ZW0pO1xuICAgICAgICB0aGlzLiR0b29sdGlwID0gSTE4blV0aWwuc3RyZWFtQWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uLCAndG9vbHRpcCcsIHRoaXMuYWN0aW9uPy50b29sdGlwID8/IHVuZGVmaW5lZCwgdGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJpZ2dlckFjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICBjb25zdCBhY3Rpb25EYXRhID0gdGhpcy5hY3Rpb25EYXRhID8gdGhpcy5hY3Rpb25EYXRhIDoge307XG4gICAgICAgIGFjdGlvbkRhdGFbJ2NtcElkJ10gPSB0aGlzLmNtcElkO1xuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UudHJpZ2dlckFjdGlvbih0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuaXRlbSwgYWN0aW9uRGF0YSwgdGhpcy5yb3V0ZSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGAke2FjdGlvbi5hY3Rpb25OYW1lfV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiJGlzVmlzaWJsZSB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbi5pY29uICYmIGFjdGlvbi50aXRsZSA9PT0gbnVsbDsgZWxzZSBub0ljb25cIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZVxuICAgICAgICAgICAgW2ljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiKCRsb2FkaW5nIHwgYXN5bmMpID8/IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCRpc0VuYWJsZWQgfCBhc3luYylcIlxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIiRhbnkoJHRvb2x0aXAgfCBhc3luYylcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRyaWdnZXJBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1uZy1hY3Rpb24tYnV0dG9uIG1uZy1hY3Rpb24tYnV0dG9uLWljb24gcC1idXR0b24tcm91bmRlZFwiXG4gICAgICAgICAgICBbY2xhc3MucC1idXR0b24tcHJpbWFyeV09XCJhY3Rpb24ubGV2ZWwgPT09IDFcIlxuICAgICAgICAgICAgW2NsYXNzLnAtYnV0dG9uLXN1Y2Nlc3NdPVwiYWN0aW9uLmxldmVsID09PSA1XCJcbiAgICAgICAgICAgIFtjbGFzcy5wLWJ1dHRvbi1kYW5nZXJdPVwiYWN0aW9uLmxldmVsID09PSA3XCI+XG4gICAgPC9idXR0b24+XG4gICAgPG5nLXRlbXBsYXRlICNub0ljb24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcEJ1dHRvbiBwUmlwcGxlXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJGFueShhY3Rpb24uaWNvbilcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIoJGxhYmVsIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIoJGxvYWRpbmcgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCRpc0VuYWJsZWQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIkYW55KCR0b29sdGlwIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidHJpZ2dlckFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1uZy1hY3Rpb24tYnV0dG9uIHAtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5wLWJ1dHRvbi1wcmltYXJ5XT1cImFjdGlvbi5sZXZlbCA9PT0gMVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnAtYnV0dG9uLXN1Y2Nlc3NdPVwiYWN0aW9uLmxldmVsID09PSA1XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MucC1idXR0b24tZGFuZ2VyXT1cImFjdGlvbi5sZXZlbCA9PT0gN1wiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxwLWNvbmZpcm1EaWFsb2cgKm5nSWY9XCJhY3Rpb24uaGFzUnVuQ29uZmlybWF0aW9uXCIgW2tleV09XCJhY3Rpb24uYWN0aW9uTmFtZSArICdfJyArIGNtcElkXCIgW2Jhc2VaSW5kZXhdPVwiNTBcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtY29uZmlybURpYWxvZz5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,148 +1,148 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild } from '@angular/core';
2
- import { of, ReplaySubject } from 'rxjs';
3
- import { catchError, finalize, first, mergeMap } from 'rxjs/operators';
4
- import { ActionError, ActionRunResult } from '../models';
5
- import { MngTemplateDirective } from '../../../directives';
6
- import { MngFormEditorComponent } from '../../form';
7
- import { I18nUtil, ToastUtil } from '../../../utils';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- import * as i2 from "primeng/dynamicdialog";
11
- import * as i3 from "../../../services";
12
- import * as i4 from "primeng/progressspinner";
13
- import * as i5 from "../../form/editor/form-editor.component";
14
- import * as i6 from "@angular/common";
15
- import * as i7 from "primeng/button";
16
- import * as i8 from "primeng/ripple";
17
- export class MngActionDialogComponent {
18
- constructor(injector, translate, dialogRef, dialogConfig, actionService) {
19
- this.injector = injector;
20
- this.translate = translate;
21
- this.dialogRef = dialogRef;
22
- this.dialogConfig = dialogConfig;
23
- this.actionService = actionService;
24
- this.cmpId = Math.random().toString(36).substring(2);
25
- this.loadingSubject = new ReplaySubject(1);
26
- this.submitLoadingSubject = new ReplaySubject(1);
27
- this.loading$ = this.loadingSubject.asObservable();
28
- this.submitLoading$ = this.submitLoadingSubject.asObservable();
29
- this.isSaveButton = true;
30
- this.sourceComponent = this;
31
- this.subscriptions = [];
32
- }
33
- ngOnInit() {
34
- if (this.dialogConfig.data) {
35
- if (this.dialogConfig.data.action) {
36
- this.action = this.dialogConfig.data.action;
37
- }
38
- if (this.dialogConfig.data.item) {
39
- this.item = this.dialogConfig.data.item;
40
- }
41
- if (this.dialogConfig.data.itemId) {
42
- this.itemId = this.dialogConfig.data.itemId;
43
- }
44
- if (this.dialogConfig.data.actionData) {
45
- this.actionData = this.dialogConfig.data.actionData;
46
- }
47
- if (this.dialogConfig.data.tableview) {
48
- this.tableviewService = this.dialogConfig.data.tableview;
49
- if (!this.dataProvider && this.tableviewService?.dataProvider) {
50
- this.dataProvider = this.tableviewService.dataProvider;
51
- }
52
- }
53
- if (this.dialogConfig.data.sourceComponent) {
54
- this.sourceComponent = this.dialogConfig.data.sourceComponent;
55
- }
56
- }
57
- this.isSaveButton = typeof this.action.submitFunction === 'function';
58
- this.setDialogHeaderTitle();
59
- this.loadItemWithDataProvider();
60
- }
61
- ngOnDestroy() {
62
- this.subscriptions.forEach(s => s.unsubscribe());
63
- }
64
- onSubmit(event) {
65
- if (event.success) {
66
- if (typeof this.action.submitFunction !== 'function') {
67
- return;
68
- }
69
- this.submitLoadingSubject.next(true);
70
- this.actionService.runEditorSave(this.action, this.itemId, event.formItem, this.dataProvider, this.sourceComponent, this.tableviewService, this.actionData)
71
- .pipe(first(), finalize(() => this.submitLoadingSubject.next(false)))
72
- .subscribe(res => {
73
- this.closeDialog(res);
74
- });
75
- }
76
- }
77
- closeDialog(result) {
78
- this.dialogRef.close(result ? result : new ActionRunResult(undefined, undefined, new ActionError(null, true)));
79
- }
80
- saveItem() {
81
- this.editorComponent.submit();
82
- }
83
- loadItemWithDataProvider() {
84
- if (typeof this.action.fetchFunction !== 'function') {
85
- return;
86
- }
87
- this.loadingSubject.next(true);
88
- this.actionService.runEditorFetch(this.action, this.itemId, this.dataProvider, this.sourceComponent, this.tableviewService)
89
- .pipe(first(), catchError(err => {
90
- if (this.action.hasRunNotificationError) {
91
- ToastUtil.actionNotificationError(this.translate, this.action, err, 'fetch', this.tableviewService, this.item);
92
- }
93
- throw err;
94
- }), finalize(() => this.loadingSubject.next(false)))
95
- .subscribe(res => {
96
- this.item = res.result;
97
- if (this.action.hasFetchNotificationSuccess) {
98
- ToastUtil.actionNotificationSuccess(this.translate, this.action, 'fetch', this.action.fetchNotificationSuccessTitle, this.action.fetchNotificationSuccessMessage, this.tableviewService, this.item);
99
- }
100
- this.setDialogHeaderTitle();
101
- });
102
- }
103
- setDialogHeaderTitle() {
104
- if (this.action.editorTitle === null) {
105
- requestAnimationFrame(() => {
106
- this.dialogConfig.header = undefined;
107
- });
108
- return;
109
- }
110
- const subscription = I18nUtil.streamActionTranslation(this.translate, this.action, 'dialog.title', undefined, this.item)
111
- .pipe(mergeMap(i18nDialogTitle => i18nDialogTitle === null
112
- ? I18nUtil.getActionTranslation(this.translate, this.action, 'title', this.action.editorTitle, this.item)
113
- : of(i18nDialogTitle)))
114
- .subscribe(t => {
115
- requestAnimationFrame(() => {
116
- this.dialogConfig.header = t ?? undefined;
117
- // this.mngCommonsService.setPageTitle(t ?? undefined);
118
- });
119
- });
120
- this.subscriptions.push(subscription);
121
- }
122
- }
123
- MngActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionDialogComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.MngActionService }], target: i0.ɵɵFactoryTarget.Component });
124
- MngActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionDialogComponent, selector: "mng-action-dialog", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: MngFormEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n", components: [{ type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { type: i5.MngFormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isSubmitButtonVisible", "isFormDisabled"], outputs: ["onSubmit"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }], pipes: { "async": i6.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionDialogComponent, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'mng-action-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n" }]
128
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.MngActionService }]; }, propDecorators: { action: [{
129
- type: Input
130
- }], itemId: [{
131
- type: Input
132
- }], item: [{
133
- type: Input
134
- }], actionData: [{
135
- type: Input
136
- }], dataProvider: [{
137
- type: Input
138
- }], templates: [{
139
- type: ContentChildren,
140
- args: [MngTemplateDirective]
141
- }], submitButtonElementRef: [{
142
- type: ViewChild,
143
- args: ['submitButton']
144
- }], editorComponent: [{
145
- type: ViewChild,
146
- args: [MngFormEditorComponent]
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL2RpYWxvZy9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vZGlhbG9nL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQXNDLEtBQUssRUFBd0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSTlLLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQWEsV0FBVyxFQUFFLGVBQWUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQU1uRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVFuRCxNQUFNLE9BQU8sd0JBQXdCO0lBNkJqQyxZQUNZLFFBQWtCLEVBQ2xCLFNBQTJCLEVBQzVCLFNBQTJCLEVBQzNCLFlBQWlDLEVBQ2hDLGFBQStCO1FBSi9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVks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b0JBQW9CO2dCQUVGLHNCQUFzQjtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjO2dCQUNrQixlQUFlO3NCQUF6RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmluYWxpemUsIGZpcnN0LCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FjdGlvbkRhdGEsIEFjdGlvbkVycm9yLCBBY3Rpb25SdW5SZXN1bHR9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckRlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7SWRUeXBlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge0lFZGl0b3JEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7TW5nRm9ybUVkaXRvclN1Ym1pdEV2ZW50fSBmcm9tICcuLi8uLi9mb3JtL21vZGVscyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2UsIE1uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7TW5nRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybSc7XG5pbXBvcnQge0kxOG5VdGlsLCBUb2FzdFV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0FjdGlvbkRpYWxvZ0NvbXBvbmVudDxULCBTPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIG1ldGFkYXRhIGFuZCBlZGl0b3IgbW9kZSBpbnB1dFxuICAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb24hOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yPFQ+O1xuXG4gICAgLy8gZGF0YSBzb3VyY2UgaW5wdXRzXG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1JZD86IElkVHlwZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbT86IFQ7XG4gICAgQElucHV0KCkgcHVibGljIGFjdGlvbkRhdGE/OiBBY3Rpb25EYXRhO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhUHJvdmlkZXI/OiBJRWRpdG9yRGF0YVByb3ZpZGVyPFQsIFM+O1xuXG4gICAgLy8gY29udGVudCBhbmQgdmlldyBxdWVyaWVzXG4gICAgQENvbnRlbnRDaGlsZHJlbihNbmdUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzITogUXVlcnlMaXN0PE1uZ1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3N1Ym1pdEJ1dHRvbicpIHByaXZhdGUgc3VibWl0QnV0dG9uRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChNbmdGb3JtRWRpdG9yQ29tcG9uZW50KSBwcml2YXRlIGVkaXRvckNvbXBvbmVudCE6IE1uZ0Zvcm1FZGl0b3JDb21wb25lbnQ8VD47XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcblxuICAgIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgICBwcml2YXRlIHN1Ym1pdExvYWRpbmdTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgc3VibWl0TG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN1Ym1pdExvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBpc1NhdmVCdXR0b24gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSB0YWJsZXZpZXdTZXJ2aWNlPzogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxULCBTPjtcbiAgICBwcml2YXRlIHNvdXJjZUNvbXBvbmVudDogYW55ID0gdGhpcztcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgYWN0aW9uU2VydmljZTogTW5nQWN0aW9uU2VydmljZSxcbiAgICAgICAgLy8gcHJpdmF0ZSBtbmdDb21tb25zU2VydmljZTogTW5nQ29tbW9uc1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5hY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS5pdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5pdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuaXRlbUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtSWQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLml0ZW1JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbkRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbkRhdGEgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbkRhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS50YWJsZXZpZXcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxldmlld1NlcnZpY2UgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLnRhYmxldmlldztcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YVByb3ZpZGVyICYmIHRoaXMudGFibGV2aWV3U2VydmljZT8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlLmRhdGFQcm92aWRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS5zb3VyY2VDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvdXJjZUNvbXBvbmVudCA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuc291cmNlQ29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1NhdmVCdXR0b24gPSB0eXBlb2YgdGhpcy5hY3Rpb24uc3VibWl0RnVuY3Rpb24gPT09ICdmdW5jdGlvbic7XG4gICAgICAgIHRoaXMuc2V0RGlhbG9nSGVhZGVyVGl0bGUoKTtcblxuICAgICAgICB0aGlzLmxvYWRJdGVtV2l0aERhdGFQcm92aWRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblN1Ym1pdChldmVudDogTW5nRm9ybUVkaXRvclN1Ym1pdEV2ZW50PFQ+KSB7XG4gICAgICAgIGlmIChldmVudC5zdWNjZXNzKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aW9uLnN1Ym1pdEZ1bmN0aW9uICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlLnJ1bkVkaXRvclNhdmUodGhpcy5hY3Rpb24sIHRoaXMuaXRlbUlkLCBldmVudC5mb3JtSXRlbSwgdGhpcy5kYXRhUHJvdmlkZXIsIHRoaXMuc291cmNlQ29tcG9uZW50LCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMuYWN0aW9uRGF0YSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5zdWJtaXRMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKHJlcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VEaWFsb2cocmVzdWx0PzogQWN0aW9uUnVuUmVzdWx0PFQsIGFueSwgYW55Pikge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQgPyByZXN1bHQgOiBuZXcgQWN0aW9uUnVuUmVzdWx0KHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBuZXcgQWN0aW9uRXJyb3IobnVsbCwgdHJ1ZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZUl0ZW0oKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yQ29tcG9uZW50LnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEl0ZW1XaXRoRGF0YVByb3ZpZGVyKCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aW9uLmZldGNoRnVuY3Rpb24gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuYWN0aW9uU2VydmljZS5ydW5FZGl0b3JGZXRjaCh0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuZGF0YVByb3ZpZGVyLCB0aGlzLnNvdXJjZUNvbXBvbmVudCwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGlvbi5oYXNSdW5Ob3RpZmljYXRpb25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgVG9hc3RVdGlsLmFjdGlvbk5vdGlmaWNhdGlvbkVycm9yKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiwgZXJyLCAnZmV0Y2gnLCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMuaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gcmVzLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24uaGFzRmV0Y2hOb3RpZmljYXRpb25TdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIFRvYXN0VXRpbC5hY3Rpb25Ob3RpZmljYXRpb25TdWNjZXNzKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiwgJ2ZldGNoJywgdGhpcy5hY3Rpb24uZmV0Y2hOb3RpZmljYXRpb25TdWNjZXNzVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbi5mZXRjaE5vdGlmaWNhdGlvblN1Y2Nlc3NNZXNzYWdlLHRoaXMudGFibGV2aWV3U2VydmljZSwgdGhpcy5pdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaWFsb2dIZWFkZXJUaXRsZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREaWFsb2dIZWFkZXJUaXRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uLmVkaXRvclRpdGxlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQ29uZmlnLmhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IEkxOG5VdGlsLnN0cmVhbUFjdGlvblRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiBhcyBBY3Rpb25EZXNjcmlwdG9yPFQ+LCAnZGlhbG9nLnRpdGxlJywgdW5kZWZpbmVkLCB0aGlzLml0ZW0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcChpMThuRGlhbG9nVGl0bGUgPT4gaTE4bkRpYWxvZ1RpdGxlID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gSTE4blV0aWwuZ2V0QWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4sICd0aXRsZScsIHRoaXMuYWN0aW9uLmVkaXRvclRpdGxlLCB0aGlzLml0ZW0pXG4gICAgICAgICAgICAgICAgICAgIDogb2YoaTE4bkRpYWxvZ1RpdGxlKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dDb25maWcuaGVhZGVyID0gdCA/PyB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubW5nQ29tbW9uc1NlcnZpY2Uuc2V0UGFnZVRpdGxlKHQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLWZ1bGwgZmxleCBmbGV4LWNvbHVtblwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiAqbmdJZj1cImxvYWRpbmckIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBbc3R5bGVdPVwie3dpZHRoOiAnM3JlbScsIGhlaWdodDogJzNyZW0nfVwiIHN0cm9rZVdpZHRoPVwiM1wiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bW5nLWZvcm0tZWRpdG9yICpuZ0lmPVwiYWN0aW9uLmVkaXRvckRlc2NyaXB0b3IgJiYgIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdG9yXT1cImFjdGlvbi5lZGl0b3JEZXNjcmlwdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChvblN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIDwvbW5nLWZvcm0tZWRpdG9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIHBSaXBwbGUgW2xhYmVsXT1cIidnZW5lcmFsLmNsb3NlJyB8IHRyYW5zbGF0ZVwiIGljb249XCJwaSBwaS10aW1lc1wiIGNsYXNzPVwicC1idXR0b24tdGV4dFwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgW2Rpc2FibGVkXT1cInN1Ym1pdExvYWRpbmckIHwgYXN5bmNcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpc1NhdmVCdXR0b25cIiAjc3VibWl0QnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIHBSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidnZW5lcmFsLnNhdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVJdGVtKClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIoc3VibWl0TG9hZGluZyQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKHN1Ym1pdExvYWRpbmckIHwgYXN5bmMpID8/IGZhbHNlXCI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild } from '@angular/core';
2
+ import { of, ReplaySubject } from 'rxjs';
3
+ import { catchError, finalize, first, mergeMap } from 'rxjs/operators';
4
+ import { ActionError, ActionRunResult } from '../models';
5
+ import { MngTemplateDirective } from '../../../directives';
6
+ import { MngFormEditorComponent } from '../../form';
7
+ import { I18nUtil, ToastUtil } from '../../../utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ import * as i2 from "primeng/dynamicdialog";
11
+ import * as i3 from "../../../services";
12
+ import * as i4 from "primeng/progressspinner";
13
+ import * as i5 from "../../form/editor/form-editor.component";
14
+ import * as i6 from "@angular/common";
15
+ import * as i7 from "primeng/button";
16
+ import * as i8 from "primeng/ripple";
17
+ export class MngActionDialogComponent {
18
+ constructor(injector, translate, dialogRef, dialogConfig, actionService) {
19
+ this.injector = injector;
20
+ this.translate = translate;
21
+ this.dialogRef = dialogRef;
22
+ this.dialogConfig = dialogConfig;
23
+ this.actionService = actionService;
24
+ this.cmpId = Math.random().toString(36).substring(2);
25
+ this.loadingSubject = new ReplaySubject(1);
26
+ this.submitLoadingSubject = new ReplaySubject(1);
27
+ this.loading$ = this.loadingSubject.asObservable();
28
+ this.submitLoading$ = this.submitLoadingSubject.asObservable();
29
+ this.isSaveButton = true;
30
+ this.sourceComponent = this;
31
+ this.subscriptions = [];
32
+ }
33
+ ngOnInit() {
34
+ if (this.dialogConfig.data) {
35
+ if (this.dialogConfig.data.action) {
36
+ this.action = this.dialogConfig.data.action;
37
+ }
38
+ if (this.dialogConfig.data.item) {
39
+ this.item = this.dialogConfig.data.item;
40
+ }
41
+ if (this.dialogConfig.data.itemId) {
42
+ this.itemId = this.dialogConfig.data.itemId;
43
+ }
44
+ if (this.dialogConfig.data.actionData) {
45
+ this.actionData = this.dialogConfig.data.actionData;
46
+ }
47
+ if (this.dialogConfig.data.tableview) {
48
+ this.tableviewService = this.dialogConfig.data.tableview;
49
+ if (!this.dataProvider && this.tableviewService?.dataProvider) {
50
+ this.dataProvider = this.tableviewService.dataProvider;
51
+ }
52
+ }
53
+ if (this.dialogConfig.data.sourceComponent) {
54
+ this.sourceComponent = this.dialogConfig.data.sourceComponent;
55
+ }
56
+ }
57
+ this.isSaveButton = typeof this.action.submitFunction === 'function';
58
+ this.setDialogHeaderTitle();
59
+ this.loadItemWithDataProvider();
60
+ }
61
+ ngOnDestroy() {
62
+ this.subscriptions.forEach(s => s.unsubscribe());
63
+ }
64
+ onSubmit(event) {
65
+ if (event.success) {
66
+ if (typeof this.action.submitFunction !== 'function') {
67
+ return;
68
+ }
69
+ this.submitLoadingSubject.next(true);
70
+ this.actionService.runEditorSave(this.action, this.itemId, event.formItem, this.dataProvider, this.sourceComponent, this.tableviewService, this.actionData)
71
+ .pipe(first(), finalize(() => this.submitLoadingSubject.next(false)))
72
+ .subscribe(res => {
73
+ this.closeDialog(res);
74
+ });
75
+ }
76
+ }
77
+ closeDialog(result) {
78
+ this.dialogRef.close(result ? result : new ActionRunResult(undefined, undefined, new ActionError(null, true)));
79
+ }
80
+ saveItem() {
81
+ this.editorComponent.submit();
82
+ }
83
+ loadItemWithDataProvider() {
84
+ if (typeof this.action.fetchFunction !== 'function') {
85
+ return;
86
+ }
87
+ this.loadingSubject.next(true);
88
+ this.actionService.runEditorFetch(this.action, this.itemId, this.dataProvider, this.sourceComponent, this.tableviewService)
89
+ .pipe(first(), catchError(err => {
90
+ if (this.action.hasRunNotificationError) {
91
+ ToastUtil.actionNotificationError(this.translate, this.action, err, 'fetch', this.tableviewService, this.item);
92
+ }
93
+ throw err;
94
+ }), finalize(() => this.loadingSubject.next(false)))
95
+ .subscribe(res => {
96
+ this.item = res.result;
97
+ if (this.action.hasFetchNotificationSuccess) {
98
+ ToastUtil.actionNotificationSuccess(this.translate, this.action, 'fetch', this.action.fetchNotificationSuccessTitle, this.action.fetchNotificationSuccessMessage, this.tableviewService, this.item);
99
+ }
100
+ this.setDialogHeaderTitle();
101
+ });
102
+ }
103
+ setDialogHeaderTitle() {
104
+ if (this.action.editorTitle === null) {
105
+ requestAnimationFrame(() => {
106
+ this.dialogConfig.header = undefined;
107
+ });
108
+ return;
109
+ }
110
+ const subscription = I18nUtil.streamActionTranslation(this.translate, this.action, 'dialog.title', undefined, this.item)
111
+ .pipe(mergeMap(i18nDialogTitle => i18nDialogTitle === null
112
+ ? I18nUtil.getActionTranslation(this.translate, this.action, 'title', this.action.editorTitle, this.item)
113
+ : of(i18nDialogTitle)))
114
+ .subscribe(t => {
115
+ requestAnimationFrame(() => {
116
+ this.dialogConfig.header = t ?? undefined;
117
+ // this.mngCommonsService.setPageTitle(t ?? undefined);
118
+ });
119
+ });
120
+ this.subscriptions.push(subscription);
121
+ }
122
+ }
123
+ MngActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionDialogComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.MngActionService }], target: i0.ɵɵFactoryTarget.Component });
124
+ MngActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionDialogComponent, selector: "mng-action-dialog", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: MngFormEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n", components: [{ type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { type: i5.MngFormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isSubmitButtonVisible", "isFormDisabled"], outputs: ["onSubmit"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }], pipes: { "async": i6.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionDialogComponent, decorators: [{
126
+ type: Component,
127
+ args: [{ selector: 'mng-action-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n" }]
128
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.MngActionService }]; }, propDecorators: { action: [{
129
+ type: Input
130
+ }], itemId: [{
131
+ type: Input
132
+ }], item: [{
133
+ type: Input
134
+ }], actionData: [{
135
+ type: Input
136
+ }], dataProvider: [{
137
+ type: Input
138
+ }], templates: [{
139
+ type: ContentChildren,
140
+ args: [MngTemplateDirective]
141
+ }], submitButtonElementRef: [{
142
+ type: ViewChild,
143
+ args: ['submitButton']
144
+ }], editorComponent: [{
145
+ type: ViewChild,
146
+ args: [MngFormEditorComponent]
147
+ }] } });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL2RpYWxvZy9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vZGlhbG9nL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQXNDLEtBQUssRUFBd0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSTlLLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQWEsV0FBVyxFQUFFLGVBQWUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQU1uRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVFuRCxNQUFNLE9BQU8sd0JBQXdCO0lBNkJqQyxZQUNZLFFBQWtCLEVBQ2xCLFNBQTJCLEVBQzVCLFNBQTJCLEVBQzNCLFlBQWlDLEVBQ2hDLGFBQStCO1FBSi9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQWpC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QixlQUFlO3NCQUF6RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmluYWxpemUsIGZpcnN0LCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FjdGlvbkRhdGEsIEFjdGlvbkVycm9yLCBBY3Rpb25SdW5SZXN1bHR9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckRlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7SWRUeXBlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge0lFZGl0b3JEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7TW5nRm9ybUVkaXRvclN1Ym1pdEV2ZW50fSBmcm9tICcuLi8uLi9mb3JtL21vZGVscyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2UsIE1uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7TW5nRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybSc7XG5pbXBvcnQge0kxOG5VdGlsLCBUb2FzdFV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0FjdGlvbkRpYWxvZ0NvbXBvbmVudDxULCBTPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIG1ldGFkYXRhIGFuZCBlZGl0b3IgbW9kZSBpbnB1dFxuICAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb24hOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yPFQ+O1xuXG4gICAgLy8gZGF0YSBzb3VyY2UgaW5wdXRzXG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1JZD86IElkVHlwZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbT86IFQ7XG4gICAgQElucHV0KCkgcHVibGljIGFjdGlvbkRhdGE/OiBBY3Rpb25EYXRhO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhUHJvdmlkZXI/OiBJRWRpdG9yRGF0YVByb3ZpZGVyPFQsIFM+O1xuXG4gICAgLy8gY29udGVudCBhbmQgdmlldyBxdWVyaWVzXG4gICAgQENvbnRlbnRDaGlsZHJlbihNbmdUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzITogUXVlcnlMaXN0PE1uZ1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3N1Ym1pdEJ1dHRvbicpIHByaXZhdGUgc3VibWl0QnV0dG9uRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChNbmdGb3JtRWRpdG9yQ29tcG9uZW50KSBwcml2YXRlIGVkaXRvckNvbXBvbmVudCE6IE1uZ0Zvcm1FZGl0b3JDb21wb25lbnQ8VD47XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcblxuICAgIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgICBwcml2YXRlIHN1Ym1pdExvYWRpbmdTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgc3VibWl0TG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN1Ym1pdExvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBpc1NhdmVCdXR0b24gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSB0YWJsZXZpZXdTZXJ2aWNlPzogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxULCBTPjtcbiAgICBwcml2YXRlIHNvdXJjZUNvbXBvbmVudDogYW55ID0gdGhpcztcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgYWN0aW9uU2VydmljZTogTW5nQWN0aW9uU2VydmljZSxcbiAgICAgICAgLy8gcHJpdmF0ZSBtbmdDb21tb25zU2VydmljZTogTW5nQ29tbW9uc1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5hY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS5pdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5pdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuaXRlbUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtSWQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLml0ZW1JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbkRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbkRhdGEgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmFjdGlvbkRhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS50YWJsZXZpZXcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxldmlld1NlcnZpY2UgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLnRhYmxldmlldztcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YVByb3ZpZGVyICYmIHRoaXMudGFibGV2aWV3U2VydmljZT8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlLmRhdGFQcm92aWRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb25maWcuZGF0YS5zb3VyY2VDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvdXJjZUNvbXBvbmVudCA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuc291cmNlQ29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1NhdmVCdXR0b24gPSB0eXBlb2YgdGhpcy5hY3Rpb24uc3VibWl0RnVuY3Rpb24gPT09ICdmdW5jdGlvbic7XG4gICAgICAgIHRoaXMuc2V0RGlhbG9nSGVhZGVyVGl0bGUoKTtcblxuICAgICAgICB0aGlzLmxvYWRJdGVtV2l0aERhdGFQcm92aWRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblN1Ym1pdChldmVudDogTW5nRm9ybUVkaXRvclN1Ym1pdEV2ZW50PFQ+KSB7XG4gICAgICAgIGlmIChldmVudC5zdWNjZXNzKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aW9uLnN1Ym1pdEZ1bmN0aW9uICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlLnJ1bkVkaXRvclNhdmUodGhpcy5hY3Rpb24sIHRoaXMuaXRlbUlkLCBldmVudC5mb3JtSXRlbSwgdGhpcy5kYXRhUHJvdmlkZXIsIHRoaXMuc291cmNlQ29tcG9uZW50LCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMuYWN0aW9uRGF0YSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5zdWJtaXRMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKHJlcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VEaWFsb2cocmVzdWx0PzogQWN0aW9uUnVuUmVzdWx0PFQsIGFueSwgYW55Pikge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQgPyByZXN1bHQgOiBuZXcgQWN0aW9uUnVuUmVzdWx0KHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBuZXcgQWN0aW9uRXJyb3IobnVsbCwgdHJ1ZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZUl0ZW0oKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yQ29tcG9uZW50LnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEl0ZW1XaXRoRGF0YVByb3ZpZGVyKCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aW9uLmZldGNoRnVuY3Rpb24gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuYWN0aW9uU2VydmljZS5ydW5FZGl0b3JGZXRjaCh0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuZGF0YVByb3ZpZGVyLCB0aGlzLnNvdXJjZUNvbXBvbmVudCwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGlvbi5oYXNSdW5Ob3RpZmljYXRpb25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgVG9hc3RVdGlsLmFjdGlvbk5vdGlmaWNhdGlvbkVycm9yKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiwgZXJyLCAnZmV0Y2gnLCB0aGlzLnRhYmxldmlld1NlcnZpY2UsIHRoaXMuaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gcmVzLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24uaGFzRmV0Y2hOb3RpZmljYXRpb25TdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIFRvYXN0VXRpbC5hY3Rpb25Ob3RpZmljYXRpb25TdWNjZXNzKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiwgJ2ZldGNoJywgdGhpcy5hY3Rpb24uZmV0Y2hOb3RpZmljYXRpb25TdWNjZXNzVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbi5mZXRjaE5vdGlmaWNhdGlvblN1Y2Nlc3NNZXNzYWdlLHRoaXMudGFibGV2aWV3U2VydmljZSwgdGhpcy5pdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaWFsb2dIZWFkZXJUaXRsZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREaWFsb2dIZWFkZXJUaXRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uLmVkaXRvclRpdGxlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQ29uZmlnLmhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IEkxOG5VdGlsLnN0cmVhbUFjdGlvblRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiBhcyBBY3Rpb25EZXNjcmlwdG9yPFQ+LCAnZGlhbG9nLnRpdGxlJywgdW5kZWZpbmVkLCB0aGlzLml0ZW0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcChpMThuRGlhbG9nVGl0bGUgPT4gaTE4bkRpYWxvZ1RpdGxlID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gSTE4blV0aWwuZ2V0QWN0aW9uVHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGUsIHRoaXMuYWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4sICd0aXRsZScsIHRoaXMuYWN0aW9uLmVkaXRvclRpdGxlLCB0aGlzLml0ZW0pXG4gICAgICAgICAgICAgICAgICAgIDogb2YoaTE4bkRpYWxvZ1RpdGxlKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dDb25maWcuaGVhZGVyID0gdCA/PyB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubW5nQ29tbW9uc1NlcnZpY2Uuc2V0UGFnZVRpdGxlKHQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLWZ1bGwgZmxleCBmbGV4LWNvbHVtblwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiAqbmdJZj1cImxvYWRpbmckIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBbc3R5bGVdPVwie3dpZHRoOiAnM3JlbScsIGhlaWdodDogJzNyZW0nfVwiIHN0cm9rZVdpZHRoPVwiM1wiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bW5nLWZvcm0tZWRpdG9yICpuZ0lmPVwiYWN0aW9uLmVkaXRvckRlc2NyaXB0b3IgJiYgIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdG9yXT1cImFjdGlvbi5lZGl0b3JEZXNjcmlwdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChvblN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIDwvbW5nLWZvcm0tZWRpdG9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIHBSaXBwbGUgW2xhYmVsXT1cIidnZW5lcmFsLmNsb3NlJyB8IHRyYW5zbGF0ZVwiIGljb249XCJwaSBwaS10aW1lc1wiIGNsYXNzPVwicC1idXR0b24tdGV4dFwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgW2Rpc2FibGVkXT1cInN1Ym1pdExvYWRpbmckIHwgYXN5bmNcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpc1NhdmVCdXR0b25cIiAjc3VibWl0QnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIHBSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidnZW5lcmFsLnNhdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVJdGVtKClcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCIoc3VibWl0TG9hZGluZyQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKHN1Ym1pdExvYWRpbmckIHwgYXN5bmMpID8/IGZhbHNlXCI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './action.component';
2
- export * from './route/action-route.component';
3
- export * from './dialog/action-dialog.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG4iXX0=
1
+ export * from './action.component';
2
+ export * from './route/action-route.component';
3
+ export * from './dialog/action-dialog.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy9hY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG4iXX0=