@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,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNvbmZpcm1hdGlvbi1zZXJ2aWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi9tb2RlbHMvYWN0aW9uLWNvbmZpcm1hdGlvbi1zZXJ2aWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25Db25maXJtYXRpb25TZXJ2aWNlIHtcbiAgICBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCk6IENvbmZpcm1hdGlvblNlcnZpY2U7XG4gICAgZ2V0Q29uZmlybWF0aW9uU2VydmljZUluc3RhbmNlS2V5KGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+KTogc3RyaW5nO1xufVxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNvbmZpcm1hdGlvbi1zZXJ2aWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi9tb2RlbHMvYWN0aW9uLWNvbmZpcm1hdGlvbi1zZXJ2aWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25Db25maXJtYXRpb25TZXJ2aWNlIHtcbiAgICBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCk6IENvbmZpcm1hdGlvblNlcnZpY2U7XG4gICAgZ2V0Q29uZmlybWF0aW9uU2VydmljZUluc3RhbmNlS2V5KGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+KTogc3RyaW5nO1xufVxuIl19
@@ -1,58 +1,58 @@
1
- export class ActionExecContext {
2
- constructor(dataProvider, serviceInstance, data, sourceComponent = null, tableview = null) {
3
- this.dataProvider = dataProvider;
4
- this.serviceInstance = serviceInstance;
5
- this.data = data;
6
- this.sourceComponent = sourceComponent;
7
- this.tableview = tableview;
8
- }
9
- }
10
- export class ActionError {
11
- constructor(error, // error details
12
- dismissed = false // by user
13
- ) {
14
- this.error = error;
15
- this.dismissed = dismissed;
16
- }
17
- }
18
- export class ActionRunResult {
19
- constructor(context, result, error) {
20
- this.context = context;
21
- this.result = result;
22
- this.error = error;
23
- }
24
- }
25
- export class ActionActivationResult {
26
- constructor(runResult, dialogRef) {
27
- this.runResult = runResult;
28
- this.dialogRef = dialogRef;
29
- }
30
- get runContext() {
31
- return this.runResult ? this.runResult.context : null;
32
- }
33
- get result() {
34
- return this.runResult ? this.runResult.result : null;
35
- }
36
- get error() {
37
- return this.runResult ? this.runResult.error : null;
38
- }
39
- }
40
- export class ActionTriggerResult {
41
- constructor(activationResult, routerNavigation) {
42
- this.activationResult = activationResult;
43
- this.routerNavigation = routerNavigation;
44
- }
45
- get runContext() {
46
- return this.activationResult ? this.activationResult.runResult : null;
47
- }
48
- get result() {
49
- return this.activationResult ? this.activationResult.result : null;
50
- }
51
- get error() {
52
- return this.activationResult ? this.activationResult.error : null;
53
- }
54
- get dialogRef() {
55
- return this.activationResult ? this.activationResult.dialogRef : null;
56
- }
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWV4ZWN1dGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzL2FjdGlvbi1leGVjdXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUNvQixZQUFpQixFQUNqQixlQUFtQixFQUNuQixJQUlmLEVBQ2Usa0JBQXVCLElBQUksRUFDM0IsWUFBa0QsSUFBSTtRQVJ0RCxpQkFBWSxHQUFaLFlBQVksQ0FBSztRQUNqQixvQkFBZSxHQUFmLGVBQWUsQ0FBSTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUluQjtRQUNlLG9CQUFlLEdBQWYsZUFBZSxDQUFZO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQTZDO0lBQ3ZFLENBQUM7Q0FDUDtBQUVELE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQ29CLEtBQVUsRUFBRyxnQkFBZ0I7SUFDN0IsWUFBcUIsS0FBSyxDQUFDLFVBQVU7O1FBRHJDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUFpQjtJQUMzQyxDQUFDO0NBQ1A7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNvQixPQUFxQyxFQUNyQyxNQUFVLEVBQ1YsS0FBbUI7UUFGbkIsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDckMsV0FBTSxHQUFOLE1BQU0sQ0FBSTtRQUNWLFVBQUssR0FBTCxLQUFLLENBQWM7SUFDcEMsQ0FBQztDQUNQO0FBRUQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixZQUNvQixTQUFxQyxFQUNyQyxTQUE0QjtRQUQ1QixjQUFTLEdBQVQsU0FBUyxDQUE0QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUM3QyxDQUFDO0lBRUosSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUNvQixnQkFBbUQsRUFDbkQsZ0JBQXNDO1FBRHRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUM7UUFDbkQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtJQUN2RCxDQUFDO0lBRUosSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7SWRUeXBlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge0lEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkV4ZWNDb250ZXh0PFQsIFMsIERQIGV4dGVuZHMgSURhdGFQcm92aWRlcjxULCBTPj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YVByb3ZpZGVyPzogRFAsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlSW5zdGFuY2U/OiBTLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YT86IHtcbiAgICAgICAgICAgIGl0ZW0/OiBUO1xuICAgICAgICAgICAgaXRlbUlkPzogSWRUeXBlO1xuICAgICAgICAgICAgYWN0aW9uRGF0YT86IEFjdGlvbkRhdGE7XG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VDb21wb25lbnQ6IGFueSA9IG51bGwsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZXZpZXc6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz58bnVsbCA9IG51bGxcbiAgICApIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25FcnJvciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlcnJvcjogYW55LCAgLy8gZXJyb3IgZGV0YWlsc1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGlzbWlzc2VkOiBib29sZWFuID0gZmFsc2UgLy8gYnkgdXNlclxuICAgICkge31cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblJ1blJlc3VsdDxULCBTLCBEUCBleHRlbmRzIElEYXRhUHJvdmlkZXI8VCwgUz4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ/OiBBY3Rpb25FeGVjQ29udGV4dDxULCBTLCBEUD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSByZXN1bHQ/OiBULFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZXJyb3I/OiBBY3Rpb25FcnJvclxuICAgICkge31cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkFjdGl2YXRpb25SZXN1bHQ8VCwgUywgRFAgZXh0ZW5kcyBJRGF0YVByb3ZpZGVyPFQsIFM+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBydW5SZXN1bHQ/OiBBY3Rpb25SdW5SZXN1bHQ8VCwgUywgRFA+LFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZlxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXQgcnVuQ29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuUmVzdWx0ID8gdGhpcy5ydW5SZXN1bHQuY29udGV4dCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1bHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJ1blJlc3VsdCA/IHRoaXMucnVuUmVzdWx0LnJlc3VsdCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuUmVzdWx0ID8gdGhpcy5ydW5SZXN1bHQuZXJyb3IgOiBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblRyaWdnZXJSZXN1bHQ8VCwgUywgRFAgZXh0ZW5kcyBJRGF0YVByb3ZpZGVyPFQsIFM+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmF0aW9uUmVzdWx0PzogQWN0aW9uQWN0aXZhdGlvblJlc3VsdDxULCBTLCBEUD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJOYXZpZ2F0aW9uPzogT2JzZXJ2YWJsZTxib29sZWFuPlxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXQgcnVuQ29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGlvblJlc3VsdCA/IHRoaXMuYWN0aXZhdGlvblJlc3VsdC5ydW5SZXN1bHQgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzdWx0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmF0aW9uUmVzdWx0ID8gdGhpcy5hY3RpdmF0aW9uUmVzdWx0LnJlc3VsdCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGlvblJlc3VsdCA/IHRoaXMuYWN0aXZhdGlvblJlc3VsdC5lcnJvciA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaWFsb2dSZWYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRpb25SZXN1bHQgPyB0aGlzLmFjdGl2YXRpb25SZXN1bHQuZGlhbG9nUmVmIDogbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkRhdGEgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufTtcbiJdfQ==
1
+ export class ActionExecContext {
2
+ constructor(dataProvider, serviceInstance, data, sourceComponent = null, tableview = null) {
3
+ this.dataProvider = dataProvider;
4
+ this.serviceInstance = serviceInstance;
5
+ this.data = data;
6
+ this.sourceComponent = sourceComponent;
7
+ this.tableview = tableview;
8
+ }
9
+ }
10
+ export class ActionError {
11
+ constructor(error, // error details
12
+ dismissed = false // by user
13
+ ) {
14
+ this.error = error;
15
+ this.dismissed = dismissed;
16
+ }
17
+ }
18
+ export class ActionRunResult {
19
+ constructor(context, result, error) {
20
+ this.context = context;
21
+ this.result = result;
22
+ this.error = error;
23
+ }
24
+ }
25
+ export class ActionActivationResult {
26
+ constructor(runResult, dialogRef) {
27
+ this.runResult = runResult;
28
+ this.dialogRef = dialogRef;
29
+ }
30
+ get runContext() {
31
+ return this.runResult ? this.runResult.context : null;
32
+ }
33
+ get result() {
34
+ return this.runResult ? this.runResult.result : null;
35
+ }
36
+ get error() {
37
+ return this.runResult ? this.runResult.error : null;
38
+ }
39
+ }
40
+ export class ActionTriggerResult {
41
+ constructor(activationResult, routerNavigation) {
42
+ this.activationResult = activationResult;
43
+ this.routerNavigation = routerNavigation;
44
+ }
45
+ get runContext() {
46
+ return this.activationResult ? this.activationResult.runResult : null;
47
+ }
48
+ get result() {
49
+ return this.activationResult ? this.activationResult.result : null;
50
+ }
51
+ get error() {
52
+ return this.activationResult ? this.activationResult.error : null;
53
+ }
54
+ get dialogRef() {
55
+ return this.activationResult ? this.activationResult.dialogRef : null;
56
+ }
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWV4ZWN1dGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzL2FjdGlvbi1leGVjdXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUNvQixZQUFpQixFQUNqQixlQUFtQixFQUNuQixJQUlmLEVBQ2Usa0JBQXVCLElBQUksRUFDM0IsWUFBa0QsSUFBSTtRQVJ0RCxpQkFBWSxHQUFaLFlBQVksQ0FBSztRQUNqQixvQkFBZSxHQUFmLGVBQWUsQ0FBSTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUluQjtRQUNlLG9CQUFlLEdBQWYsZUFBZSxDQUFZO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQTZDO0lBQ3ZFLENBQUM7Q0FDUDtBQUVELE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQ29CLEtBQVUsRUFBRyxnQkFBZ0I7SUFDN0IsWUFBcUIsS0FBSyxDQUFDLFVBQVU7O1FBRHJDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUFpQjtJQUMzQyxDQUFDO0NBQ1A7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNvQixPQUFxQyxFQUNyQyxNQUFVLEVBQ1YsS0FBbUI7UUFGbkIsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDckMsV0FBTSxHQUFOLE1BQU0sQ0FBSTtRQUNWLFVBQUssR0FBTCxLQUFLLENBQWM7SUFDcEMsQ0FBQztDQUNQO0FBRUQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixZQUNvQixTQUFxQyxFQUNyQyxTQUE0QjtRQUQ1QixjQUFTLEdBQVQsU0FBUyxDQUE0QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUM3QyxDQUFDO0lBRUosSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUNvQixnQkFBbUQsRUFDbkQsZ0JBQXNDO1FBRHRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUM7UUFDbkQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtJQUN2RCxDQUFDO0lBRUosSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7SWRUeXBlfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQge0lEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkV4ZWNDb250ZXh0PFQsIFMsIERQIGV4dGVuZHMgSURhdGFQcm92aWRlcjxULCBTPj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YVByb3ZpZGVyPzogRFAsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlSW5zdGFuY2U/OiBTLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YT86IHtcbiAgICAgICAgICAgIGl0ZW0/OiBUO1xuICAgICAgICAgICAgaXRlbUlkPzogSWRUeXBlO1xuICAgICAgICAgICAgYWN0aW9uRGF0YT86IEFjdGlvbkRhdGE7XG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VDb21wb25lbnQ6IGFueSA9IG51bGwsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZXZpZXc6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz58bnVsbCA9IG51bGxcbiAgICApIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25FcnJvciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlcnJvcjogYW55LCAgLy8gZXJyb3IgZGV0YWlsc1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGlzbWlzc2VkOiBib29sZWFuID0gZmFsc2UgLy8gYnkgdXNlclxuICAgICkge31cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblJ1blJlc3VsdDxULCBTLCBEUCBleHRlbmRzIElEYXRhUHJvdmlkZXI8VCwgUz4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ/OiBBY3Rpb25FeGVjQ29udGV4dDxULCBTLCBEUD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSByZXN1bHQ/OiBULFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZXJyb3I/OiBBY3Rpb25FcnJvclxuICAgICkge31cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkFjdGl2YXRpb25SZXN1bHQ8VCwgUywgRFAgZXh0ZW5kcyBJRGF0YVByb3ZpZGVyPFQsIFM+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBydW5SZXN1bHQ/OiBBY3Rpb25SdW5SZXN1bHQ8VCwgUywgRFA+LFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZlxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXQgcnVuQ29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuUmVzdWx0ID8gdGhpcy5ydW5SZXN1bHQuY29udGV4dCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1bHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJ1blJlc3VsdCA/IHRoaXMucnVuUmVzdWx0LnJlc3VsdCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVuUmVzdWx0ID8gdGhpcy5ydW5SZXN1bHQuZXJyb3IgOiBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblRyaWdnZXJSZXN1bHQ8VCwgUywgRFAgZXh0ZW5kcyBJRGF0YVByb3ZpZGVyPFQsIFM+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmF0aW9uUmVzdWx0PzogQWN0aW9uQWN0aXZhdGlvblJlc3VsdDxULCBTLCBEUD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJOYXZpZ2F0aW9uPzogT2JzZXJ2YWJsZTxib29sZWFuPlxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXQgcnVuQ29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGlvblJlc3VsdCA/IHRoaXMuYWN0aXZhdGlvblJlc3VsdC5ydW5SZXN1bHQgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzdWx0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmF0aW9uUmVzdWx0ID8gdGhpcy5hY3RpdmF0aW9uUmVzdWx0LnJlc3VsdCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGlvblJlc3VsdCA/IHRoaXMuYWN0aXZhdGlvblJlc3VsdC5lcnJvciA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaWFsb2dSZWYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRpb25SZXN1bHQgPyB0aGlzLmFjdGl2YXRpb25SZXN1bHQuZGlhbG9nUmVmIDogbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkRhdGEgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufTtcbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './action-confirmation-service.model';
2
- export * from './action-execution.model';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi1jb25maXJtYXRpb24tc2VydmljZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1leGVjdXRpb24ubW9kZWwnO1xuIl19
1
+ export * from './action-confirmation-service.model';
2
+ export * from './action-execution.model';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi1jb25maXJtYXRpb24tc2VydmljZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1leGVjdXRpb24ubW9kZWwnO1xuIl19
@@ -1,144 +1,144 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { ConfirmationService, MessageService } from 'primeng/api';
3
- import { first } from 'rxjs/operators';
4
- import { ActionActivationTriggerEnum } from '../../../descriptors';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "primeng/api";
8
- import * as i3 from "../../../services";
9
- import * as i4 from "../../tableview/services";
10
- import * as i5 from "primeng/confirmdialog";
11
- export class MngActionRouteComponent {
12
- constructor(router, route, confirmationService, navigationService, actionService, tableviewService) {
13
- this.router = router;
14
- this.route = route;
15
- this.confirmationService = confirmationService;
16
- this.navigationService = navigationService;
17
- this.actionService = actionService;
18
- this.tableviewService = tableviewService;
19
- this.actions = [];
20
- this.subscriptions = [];
21
- this.cmpId = Math.random().toString(36).substring(2);
22
- }
23
- ngOnInit() {
24
- this.actions = this.tableviewService?.actions.filter(a => a.activationTrigger === ActionActivationTriggerEnum.OnRoute) ?? [];
25
- const subscription = this.route.params.subscribe(p => {
26
- const action = this.findActiveAction(p);
27
- if (action) {
28
- this.activateAction(action, p, this.route.snapshot.queryParams);
29
- }
30
- });
31
- this.subscriptions.push(subscription);
32
- }
33
- ngOnDestroy() {
34
- this.subscriptions.forEach(s => s.unsubscribe());
35
- if (this.dialogRef) {
36
- this.dialogRef.close();
37
- }
38
- }
39
- getConfirmationService() {
40
- return this.confirmationService;
41
- }
42
- getConfirmationServiceInstanceKey(action) {
43
- return `actionRoute_${this.cmpId}`;
44
- }
45
- activateAction(action, p, qp) {
46
- this.activeAction = action;
47
- const itemId = p['itemId'];
48
- const actionData = {};
49
- for (let key in p) {
50
- if (key === 'itemId') {
51
- continue;
52
- }
53
- actionData[key] = p[key];
54
- }
55
- for (let key in qp) {
56
- actionData[key] = p[key];
57
- }
58
- this.actionService.activateAction(action, itemId, undefined, actionData, this.tableviewService, this)
59
- .pipe(first())
60
- .subscribe(res => {
61
- if (res.dialogRef) {
62
- this.dialogRef = res.dialogRef;
63
- this.dialogCloseSubscription = this.dialogRef?.onClose.subscribe(e => {
64
- const actionEv = e;
65
- if (!actionEv?.error || !actionEv?.error?.dismissed) {
66
- this.tableviewService.reloadTable(); // reload only if no error in action and
67
- }
68
- this.deactivateAction();
69
- });
70
- }
71
- });
72
- }
73
- deactivateAction() {
74
- if (this.dialogCloseSubscription) {
75
- this.dialogCloseSubscription.unsubscribe();
76
- this.dialogCloseSubscription = undefined;
77
- }
78
- if (this.navigationService.getPreviousLocation()) {
79
- // there are internal history records, so back can be normally called
80
- this.navigationService.back();
81
- }
82
- else {
83
- // there is no internal history records, figure out the base url by eliminating action specific url
84
- let url = this.navigationService.getCurrentLocation();
85
- if (!url) {
86
- this.navigationService.back();
87
- }
88
- else {
89
- if (url.startsWith('/')) {
90
- url = url.substring(1);
91
- }
92
- const urlPathSegments = url.split('?')[0].split('#')[0].split('/');
93
- let actionUrl = this.activeAction?.routeUrl ?? '';
94
- if (actionUrl.startsWith('/')) {
95
- actionUrl = actionUrl.substring(1);
96
- }
97
- const actionUrlSegments = actionUrl.split('/');
98
- const redirectUrl = urlPathSegments.slice(0, urlPathSegments.length - actionUrlSegments.length).join('/');
99
- this.router.navigateByUrl(`/${redirectUrl}`, { replaceUrl: true });
100
- }
101
- }
102
- this.activeAction = undefined;
103
- this.dialogRef = undefined;
104
- }
105
- findActiveAction(params) {
106
- const urlSegments = this.route.snapshot.url;
107
- for (const action of this.actions) {
108
- let actionUrl = action.routeUrl ?? '';
109
- // TODO: dont strip '/', but use it accordingly with Angular's router patterns (/, ./, ../)
110
- if (actionUrl.startsWith('/')) {
111
- actionUrl = actionUrl.substring(1);
112
- }
113
- const actionUrlSegments = actionUrl.split('/');
114
- if (actionUrlSegments.length !== urlSegments.length) {
115
- continue;
116
- }
117
- let isMatch = true;
118
- for (let i = 0; i < actionUrlSegments.length; i++) {
119
- if (actionUrlSegments[i].startsWith(':')) {
120
- const paramName = actionUrlSegments[i].substring(1);
121
- if (!params[paramName]) {
122
- isMatch = false;
123
- break;
124
- }
125
- }
126
- else if (actionUrlSegments[i] !== urlSegments[i].path) {
127
- isMatch = false;
128
- break;
129
- }
130
- }
131
- if (isMatch) {
132
- return action;
133
- }
134
- }
135
- return null;
136
- }
137
- }
138
- MngActionRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionRouteComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ConfirmationService }, { token: i3.MngNavigationService }, { token: i3.MngActionService }, { token: i4.TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
139
- MngActionRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionRouteComponent, selector: "mng-action-route", providers: [MessageService, ConfirmationService], ngImport: i0, template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n", components: [{ type: i5.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionRouteComponent, decorators: [{
141
- type: Component,
142
- args: [{ selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n" }]
143
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ConfirmationService }, { type: i3.MngNavigationService }, { type: i3.MngActionService }, { type: i4.TableviewComponentService }]; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHaEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBbUIsMkJBQTJCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVduRixNQUFNLE9BQU8sdUJBQXVCO0lBWWhDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxpQkFBdUMsRUFDdkMsYUFBK0IsRUFDL0IsZ0JBQWlEO1FBTGpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFoQnJELFlBQU8sR0FBK0IsRUFBRSxDQUFDO1FBTXpDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUV6QyxVQUFLLEdBQVcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMs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QUU7b0JBQ3RDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDcEIsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDaEIsTUFBTTtxQkFDVDtpQkFDSjtxQkFBTSxJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQ3JELE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ2hCLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksT0FBTyxFQUFFO2dCQUNULE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztvSEExSVEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkNBRnJCLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLDBCQ2pCcEQsOEdBQ0E7MkZEa0JhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW19IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7SUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2UsIEFjdGlvbkRhdGEsIEFjdGlvblJ1blJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nQWN0aW9uU2VydmljZSwgTW5nTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLXJvdXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQWN0aW9uUm91dGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgSUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PiA9IFtdO1xuICAgIHByaXZhdGUgYWN0aXZlQWN0aW9uPzogQWN0aW9uRGVzY3JpcHRvcjxUPjtcblxuICAgIHByaXZhdGUgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZjtcbiAgICBwcml2YXRlIGRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBNbmdOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBNbmdBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYmxldmlld1NlcnZpY2U6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5hY3Rpb25zLmZpbHRlcihhID0+IGEuYWN0aXZhdGlvblRyaWdnZXIgPT09IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bS5PblJvdXRlKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHAgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5maW5kQWN0aXZlQWN0aW9uKHApO1xuICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBwLCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGBhY3Rpb25Sb3V0ZV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlQWN0aW9uKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxUPiwgcDogUGFyYW1zLCBxcDogUGFyYW1zKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICBjb25zdCBpdGVtSWQgPSBwWydpdGVtSWQnXTtcbiAgICAgICAgY29uc3QgYWN0aW9uRGF0YTogQWN0aW9uRGF0YSA9IHt9O1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcCkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1JZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcXApIHtcbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBpdGVtSWQsIHVuZGVmaW5lZCwgYWN0aW9uRGF0YSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHJlcy5kaWFsb2dSZWY7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpYWxvZ1JlZj8ub25DbG9zZS5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25FdiA9IGUgYXMgQWN0aW9uUnVuUmVzdWx0PFQsIFMsIGFueT47XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbkV2Py5lcnJvciB8fCAhYWN0aW9uRXY/LmVycm9yPy5kaXNtaXNzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxldmlld1NlcnZpY2UucmVsb2FkVGFibGUoKTsgLy8gcmVsb2FkIG9ubHkgaWYgbm8gZXJyb3IgaW4gYWN0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWFjdGl2YXRlQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVhY3RpdmF0ZUFjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UHJldmlvdXNMb2NhdGlvbigpKSB7XG4gICAgICAgICAgICAvLyB0aGVyZSBhcmUgaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBzbyBiYWNrIGNhbiBiZSBub3JtYWxseSBjYWxsZWRcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuYmFjaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBmaWd1cmUgb3V0IHRoZSBiYXNlIHVybCBieSBlbGltaW5hdGluZyBhY3Rpb24gc3BlY2lmaWMgdXJsXG4gICAgICAgICAgICBsZXQgdXJsID0gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50TG9jYXRpb24oKTtcbiAgICAgICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5iYWNrKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50cyA9IHVybC5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF0uc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gdGhpcy5hY3RpdmVBY3Rpb24/LnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25Vcmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblVybCA9IGFjdGlvblVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvblVybFNlZ21lbnRzID0gYWN0aW9uVXJsLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSB1cmxQYXRoU2VnbWVudHMuc2xpY2UoMCwgdXJsUGF0aFNlZ21lbnRzLmxlbmd0aCAtIGFjdGlvblVybFNlZ21lbnRzLmxlbmd0aCkuam9pbignLycpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC8ke3JlZGlyZWN0VXJsfWAsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlQWN0aW9uKHBhcmFtczogUGFyYW1zKTogQWN0aW9uRGVzY3JpcHRvcjxUPnxudWxsIHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybDtcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5hY3Rpb25zKSB7XG4gICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gYWN0aW9uLnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgLy8gVE9ETzogZG9udCBzdHJpcCAnLycsIGJ1dCB1c2UgaXQgYWNjb3JkaW5nbHkgd2l0aCBBbmd1bGFyJ3Mgcm91dGVyIHBhdHRlcm5zICgvLCAuLywgLi4vKVxuICAgICAgICAgICAgaWYgKGFjdGlvblVybC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25VcmwgPSBhY3Rpb25Vcmwuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWN0aW9uVXJsU2VnbWVudHMgPSBhY3Rpb25Vcmwuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGggIT09IHVybFNlZ21lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGlzTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50c1tpXS5zdGFydHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gYWN0aW9uVXJsU2VnbWVudHNbaV0uc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmFtc1twYXJhbU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uVXJsU2VnbWVudHNbaV0gIT09IHVybFNlZ21lbnRzW2ldLnBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIiwiPHAtY29uZmlybURpYWxvZyBba2V5XT1cIidhY3Rpb25Sb3V0ZV8nICsgY21wSWRcIiBbYmFzZVpJbmRleF09XCI1MFwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1jb25maXJtRGlhbG9nPlxuIl19
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ConfirmationService, MessageService } from 'primeng/api';
3
+ import { first } from 'rxjs/operators';
4
+ import { ActionActivationTriggerEnum } from '../../../descriptors';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "../../../services";
9
+ import * as i4 from "../../tableview/services";
10
+ import * as i5 from "primeng/confirmdialog";
11
+ export class MngActionRouteComponent {
12
+ constructor(router, route, confirmationService, navigationService, actionService, tableviewService) {
13
+ this.router = router;
14
+ this.route = route;
15
+ this.confirmationService = confirmationService;
16
+ this.navigationService = navigationService;
17
+ this.actionService = actionService;
18
+ this.tableviewService = tableviewService;
19
+ this.actions = [];
20
+ this.subscriptions = [];
21
+ this.cmpId = Math.random().toString(36).substring(2);
22
+ }
23
+ ngOnInit() {
24
+ this.actions = this.tableviewService?.actions.filter(a => a.activationTrigger === ActionActivationTriggerEnum.OnRoute) ?? [];
25
+ const subscription = this.route.params.subscribe(p => {
26
+ const action = this.findActiveAction(p);
27
+ if (action) {
28
+ this.activateAction(action, p, this.route.snapshot.queryParams);
29
+ }
30
+ });
31
+ this.subscriptions.push(subscription);
32
+ }
33
+ ngOnDestroy() {
34
+ this.subscriptions.forEach(s => s.unsubscribe());
35
+ if (this.dialogRef) {
36
+ this.dialogRef.close();
37
+ }
38
+ }
39
+ getConfirmationService() {
40
+ return this.confirmationService;
41
+ }
42
+ getConfirmationServiceInstanceKey(action) {
43
+ return `actionRoute_${this.cmpId}`;
44
+ }
45
+ activateAction(action, p, qp) {
46
+ this.activeAction = action;
47
+ const itemId = p['itemId'];
48
+ const actionData = {};
49
+ for (let key in p) {
50
+ if (key === 'itemId') {
51
+ continue;
52
+ }
53
+ actionData[key] = p[key];
54
+ }
55
+ for (let key in qp) {
56
+ actionData[key] = p[key];
57
+ }
58
+ this.actionService.activateAction(action, itemId, undefined, actionData, this.tableviewService, this)
59
+ .pipe(first())
60
+ .subscribe(res => {
61
+ if (res.dialogRef) {
62
+ this.dialogRef = res.dialogRef;
63
+ this.dialogCloseSubscription = this.dialogRef?.onClose.subscribe(e => {
64
+ const actionEv = e;
65
+ if (!actionEv?.error || !actionEv?.error?.dismissed) {
66
+ this.tableviewService.reloadTable(); // reload only if no error in action and
67
+ }
68
+ this.deactivateAction();
69
+ });
70
+ }
71
+ });
72
+ }
73
+ deactivateAction() {
74
+ if (this.dialogCloseSubscription) {
75
+ this.dialogCloseSubscription.unsubscribe();
76
+ this.dialogCloseSubscription = undefined;
77
+ }
78
+ if (this.navigationService.getPreviousLocation()) {
79
+ // there are internal history records, so back can be normally called
80
+ this.navigationService.back();
81
+ }
82
+ else {
83
+ // there is no internal history records, figure out the base url by eliminating action specific url
84
+ let url = this.navigationService.getCurrentLocation();
85
+ if (!url) {
86
+ this.navigationService.back();
87
+ }
88
+ else {
89
+ if (url.startsWith('/')) {
90
+ url = url.substring(1);
91
+ }
92
+ const urlPathSegments = url.split('?')[0].split('#')[0].split('/');
93
+ let actionUrl = this.activeAction?.routeUrl ?? '';
94
+ if (actionUrl.startsWith('/')) {
95
+ actionUrl = actionUrl.substring(1);
96
+ }
97
+ const actionUrlSegments = actionUrl.split('/');
98
+ const redirectUrl = urlPathSegments.slice(0, urlPathSegments.length - actionUrlSegments.length).join('/');
99
+ this.router.navigateByUrl(`/${redirectUrl}`, { replaceUrl: true });
100
+ }
101
+ }
102
+ this.activeAction = undefined;
103
+ this.dialogRef = undefined;
104
+ }
105
+ findActiveAction(params) {
106
+ const urlSegments = this.route.snapshot.url;
107
+ for (const action of this.actions) {
108
+ let actionUrl = action.routeUrl ?? '';
109
+ // TODO: dont strip '/', but use it accordingly with Angular's router patterns (/, ./, ../)
110
+ if (actionUrl.startsWith('/')) {
111
+ actionUrl = actionUrl.substring(1);
112
+ }
113
+ const actionUrlSegments = actionUrl.split('/');
114
+ if (actionUrlSegments.length !== urlSegments.length) {
115
+ continue;
116
+ }
117
+ let isMatch = true;
118
+ for (let i = 0; i < actionUrlSegments.length; i++) {
119
+ if (actionUrlSegments[i].startsWith(':')) {
120
+ const paramName = actionUrlSegments[i].substring(1);
121
+ if (!params[paramName]) {
122
+ isMatch = false;
123
+ break;
124
+ }
125
+ }
126
+ else if (actionUrlSegments[i] !== urlSegments[i].path) {
127
+ isMatch = false;
128
+ break;
129
+ }
130
+ }
131
+ if (isMatch) {
132
+ return action;
133
+ }
134
+ }
135
+ return null;
136
+ }
137
+ }
138
+ MngActionRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionRouteComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ConfirmationService }, { token: i3.MngNavigationService }, { token: i3.MngActionService }, { token: i4.TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
139
+ MngActionRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionRouteComponent, selector: "mng-action-route", providers: [MessageService, ConfirmationService], ngImport: i0, template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n", components: [{ type: i5.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionRouteComponent, decorators: [{
141
+ type: Component,
142
+ args: [{ selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n" }]
143
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ConfirmationService }, { type: i3.MngNavigationService }, { type: i3.MngActionService }, { type: i4.TableviewComponentService }]; } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHaEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBbUIsMkJBQTJCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVduRixNQUFNLE9BQU8sdUJBQXVCO0lBWWhDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxpQkFBdUMsRUFDdkMsYUFBK0IsRUFDL0IsZ0JBQWlEO1FBTGpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFoQnJELFlBQU8sR0FBK0IsRUFBRSxDQUFDO1FBTXpDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUV6QyxVQUFLLEdBQVcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFTNUQsQ0FBQztJQUVHLFFB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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDcEIsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDaEIsTUFBTTtxQkFDVDtpQkFDSjtxQkFBTSxJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQ3JELE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ2hCLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksT0FBTyxFQUFFO2dCQUNULE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztvSEExSVEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkNBRnJCLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLDBCQ2pCcEQsOEdBQ0E7MkZEa0JhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW19IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7SUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2UsIEFjdGlvbkRhdGEsIEFjdGlvblJ1blJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nQWN0aW9uU2VydmljZSwgTW5nTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLXJvdXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQWN0aW9uUm91dGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgSUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PiA9IFtdO1xuICAgIHByaXZhdGUgYWN0aXZlQWN0aW9uPzogQWN0aW9uRGVzY3JpcHRvcjxUPjtcblxuICAgIHByaXZhdGUgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZjtcbiAgICBwcml2YXRlIGRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBNbmdOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBNbmdBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYmxldmlld1NlcnZpY2U6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5hY3Rpb25zLmZpbHRlcihhID0+IGEuYWN0aXZhdGlvblRyaWdnZXIgPT09IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bS5PblJvdXRlKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHAgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5maW5kQWN0aXZlQWN0aW9uKHApO1xuICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBwLCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGBhY3Rpb25Sb3V0ZV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlQWN0aW9uKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxUPiwgcDogUGFyYW1zLCBxcDogUGFyYW1zKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICBjb25zdCBpdGVtSWQgPSBwWydpdGVtSWQnXTtcbiAgICAgICAgY29uc3QgYWN0aW9uRGF0YTogQWN0aW9uRGF0YSA9IHt9O1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcCkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1JZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcXApIHtcbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBpdGVtSWQsIHVuZGVmaW5lZCwgYWN0aW9uRGF0YSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHJlcy5kaWFsb2dSZWY7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpYWxvZ1JlZj8ub25DbG9zZS5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25FdiA9IGUgYXMgQWN0aW9uUnVuUmVzdWx0PFQsIFMsIGFueT47XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbkV2Py5lcnJvciB8fCAhYWN0aW9uRXY/LmVycm9yPy5kaXNtaXNzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxldmlld1NlcnZpY2UucmVsb2FkVGFibGUoKTsgLy8gcmVsb2FkIG9ubHkgaWYgbm8gZXJyb3IgaW4gYWN0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWFjdGl2YXRlQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVhY3RpdmF0ZUFjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UHJldmlvdXNMb2NhdGlvbigpKSB7XG4gICAgICAgICAgICAvLyB0aGVyZSBhcmUgaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBzbyBiYWNrIGNhbiBiZSBub3JtYWxseSBjYWxsZWRcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuYmFjaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBmaWd1cmUgb3V0IHRoZSBiYXNlIHVybCBieSBlbGltaW5hdGluZyBhY3Rpb24gc3BlY2lmaWMgdXJsXG4gICAgICAgICAgICBsZXQgdXJsID0gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50TG9jYXRpb24oKTtcbiAgICAgICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5iYWNrKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50cyA9IHVybC5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF0uc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gdGhpcy5hY3RpdmVBY3Rpb24/LnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25Vcmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblVybCA9IGFjdGlvblVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvblVybFNlZ21lbnRzID0gYWN0aW9uVXJsLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSB1cmxQYXRoU2VnbWVudHMuc2xpY2UoMCwgdXJsUGF0aFNlZ21lbnRzLmxlbmd0aCAtIGFjdGlvblVybFNlZ21lbnRzLmxlbmd0aCkuam9pbignLycpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC8ke3JlZGlyZWN0VXJsfWAsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlQWN0aW9uKHBhcmFtczogUGFyYW1zKTogQWN0aW9uRGVzY3JpcHRvcjxUPnxudWxsIHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybDtcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5hY3Rpb25zKSB7XG4gICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gYWN0aW9uLnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgLy8gVE9ETzogZG9udCBzdHJpcCAnLycsIGJ1dCB1c2UgaXQgYWNjb3JkaW5nbHkgd2l0aCBBbmd1bGFyJ3Mgcm91dGVyIHBhdHRlcm5zICgvLCAuLywgLi4vKVxuICAgICAgICAgICAgaWYgKGFjdGlvblVybC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25VcmwgPSBhY3Rpb25Vcmwuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWN0aW9uVXJsU2VnbWVudHMgPSBhY3Rpb25Vcmwuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGggIT09IHVybFNlZ21lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGlzTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50c1tpXS5zdGFydHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gYWN0aW9uVXJsU2VnbWVudHNbaV0uc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmFtc1twYXJhbU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uVXJsU2VnbWVudHNbaV0gIT09IHVybFNlZ21lbnRzW2ldLnBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIiwiPHAtY29uZmlybURpYWxvZyBba2V5XT1cIidhY3Rpb25Sb3V0ZV8nICsgY21wSWRcIiBbYmFzZVpJbmRleF09XCI1MFwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1jb25maXJtRGlhbG9nPlxuIl19