@mediusinc/mng-commons 0.1.0 → 0.2.5

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 (274) 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 -0
  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 -63
  16. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +148 -159
  17. package/esm2020/lib/components/action/index.mjs +4 -4
  18. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -0
  19. package/esm2020/lib/components/action/models/action-execution.model.mjs +58 -0
  20. package/esm2020/lib/components/action/models/index.mjs +3 -0
  21. package/esm2020/lib/components/action/route/action-route.component.mjs +144 -144
  22. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +114 -0
  23. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +113 -0
  24. package/esm2020/lib/components/form/editor/form-editor.component.mjs +141 -142
  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 +26 -26
  29. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +109 -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 -0
  38. package/esm2020/lib/components/form/models/index.mjs +2 -0
  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 -33
  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 -0
  46. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +190 -190
  47. package/esm2020/lib/components/layout/topbar.component.mjs +59 -40
  48. package/esm2020/lib/components/tableview/index.mjs +6 -6
  49. package/esm2020/lib/components/tableview/models/index.mjs +2 -0
  50. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -0
  51. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +24 -24
  52. package/esm2020/lib/components/tableview/services/index.mjs +2 -0
  53. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +17 -0
  54. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +85 -74
  55. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +25 -25
  56. package/esm2020/lib/components/tableview/table/table.component.mjs +307 -307
  57. package/esm2020/lib/components/tableview/tableview.component.mjs +82 -83
  58. package/esm2020/lib/config/formly.config.mjs +136 -136
  59. package/esm2020/lib/config/index.mjs +2 -2
  60. package/esm2020/lib/config/models/index.mjs +2 -0
  61. package/esm2020/lib/config/models/mng-config.model.mjs +2 -0
  62. package/esm2020/lib/data-providers/base.data-provider.mjs +24 -0
  63. package/esm2020/lib/data-providers/editor.data-provider.mjs +37 -0
  64. package/esm2020/lib/data-providers/index.mjs +6 -0
  65. package/esm2020/lib/data-providers/lookup.data-provider.mjs +16 -0
  66. package/esm2020/lib/data-providers/table.data-provider.mjs +2 -0
  67. package/esm2020/lib/data-providers/tableview.data-provider.mjs +17 -0
  68. package/esm2020/lib/descriptors/action.descriptor.mjs +332 -0
  69. package/esm2020/lib/descriptors/editor.descriptor.mjs +670 -0
  70. package/esm2020/lib/descriptors/field.validator.mjs +21 -0
  71. package/esm2020/lib/descriptors/index.mjs +8 -0
  72. package/esm2020/lib/descriptors/lookup.descriptor.mjs +2 -0
  73. package/esm2020/lib/descriptors/model.descriptor.mjs +34 -0
  74. package/esm2020/lib/descriptors/table.descriptor.mjs +427 -0
  75. package/esm2020/lib/descriptors/tableview.descriptor.mjs +131 -0
  76. package/esm2020/lib/directives/component.directive.mjs +23 -0
  77. package/esm2020/lib/directives/index.mjs +3 -2
  78. package/esm2020/lib/directives/template.directive.mjs +29 -25
  79. package/esm2020/lib/mng-commons.module.mjs +410 -343
  80. package/esm2020/lib/models/index.mjs +3 -0
  81. package/esm2020/lib/models/router.model.mjs +2 -0
  82. package/esm2020/lib/models/user.model.mjs +2 -0
  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/services/action.service.mjs +269 -270
  87. package/esm2020/lib/services/commons.service.mjs +354 -357
  88. package/esm2020/lib/services/configuration.service.mjs +78 -77
  89. package/esm2020/lib/services/index.mjs +5 -5
  90. package/esm2020/lib/services/navigation.service.mjs +48 -48
  91. package/esm2020/lib/services/providers/commons-init.provider.mjs +4 -4
  92. package/esm2020/lib/services/providers/config-service.provider.mjs +20 -12
  93. package/esm2020/lib/services/providers/formly-config.provider.mjs +31 -31
  94. package/esm2020/lib/services/providers/index.mjs +4 -3
  95. package/esm2020/lib/services/tokens/browser-storage.token.mjs +6 -0
  96. package/esm2020/lib/services/tokens/index.mjs +3 -0
  97. package/esm2020/lib/services/tokens/module-config.token.mjs +3 -0
  98. package/esm2020/lib/types/index.mjs +3 -0
  99. package/esm2020/lib/types/type.decorator.mjs +7 -0
  100. package/esm2020/lib/types/type.model.mjs +2 -0
  101. package/esm2020/lib/utils/editor-formly.util.mjs +176 -176
  102. package/esm2020/lib/utils/i18n.util.mjs +125 -125
  103. package/esm2020/lib/utils/index.mjs +6 -5
  104. package/esm2020/lib/utils/model.util.mjs +57 -57
  105. package/esm2020/lib/utils/toast.util.mjs +39 -39
  106. package/esm2020/lib/utils/type.util.mjs +39 -39
  107. package/esm2020/mediusinc-mng-commons.mjs +5 -5
  108. package/esm2020/public-api.mjs +36 -35
  109. package/fesm2015/mediusinc-mng-commons.mjs +6086 -5914
  110. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  111. package/fesm2020/mediusinc-mng-commons.mjs +6010 -5841
  112. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  113. package/lib/api/models/builders/query-param.builder.d.ts +11 -11
  114. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  115. package/lib/api/models/filter-param.model.d.ts +23 -23
  116. package/lib/api/models/index.d.ts +8 -8
  117. package/lib/api/models/mappers.d.ts +6 -6
  118. package/lib/api/models/query-mode.model.d.ts +16 -16
  119. package/lib/api/models/query-param.model.d.ts +31 -31
  120. package/lib/api/models/query-result.model.d.ts +36 -36
  121. package/lib/api/models/serialization.model.d.ts +8 -8
  122. package/lib/api/services/{abstract-crud-api.service.d.ts → crud-api.abstract.service.d.ts} +23 -23
  123. package/lib/api/services/index.d.ts +1 -1
  124. package/lib/api/utils/index.d.ts +2 -2
  125. package/lib/api/utils/medius-rest.util.d.ts +12 -12
  126. package/lib/api/utils/object-serializer.util.d.ts +30 -30
  127. package/lib/components/action/action.component.d.ts +36 -36
  128. package/lib/components/action/dialog/action-dialog.component.d.ts +46 -49
  129. package/lib/components/action/index.d.ts +3 -3
  130. package/lib/{models/interfaces/confirmation-service.model.d.ts → components/action/models/action-confirmation-service.model.d.ts} +6 -6
  131. package/lib/{models/action/action.model.d.ts → components/action/models/action-execution.model.d.ts} +53 -53
  132. package/lib/components/action/models/index.d.ts +2 -0
  133. package/lib/components/action/route/action-route.component.d.ts +32 -32
  134. package/lib/components/form/autocomplete/{mng-autocomplete.component.d.ts → autocomplete.component.d.ts} +36 -36
  135. package/lib/components/form/dropdown/{mng-dropdown.component.d.ts → dropdown.component.d.ts} +34 -34
  136. package/lib/components/form/editor/form-editor.component.d.ts +39 -39
  137. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +11 -11
  138. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +11 -11
  139. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +6 -6
  140. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +12 -12
  141. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +17 -17
  142. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +36 -36
  143. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  144. package/lib/components/form/formly/fields/index.d.ts +7 -7
  145. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +8 -8
  146. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +8 -8
  147. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  148. package/lib/components/form/index.d.ts +3 -3
  149. package/lib/components/form/models/form-editor.event.d.ts +5 -0
  150. package/lib/components/form/models/index.d.ts +1 -0
  151. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  152. package/lib/components/layout/footer.component.d.ts +9 -9
  153. package/lib/components/layout/index.d.ts +6 -6
  154. package/lib/components/layout/main-layout.component.d.ts +21 -13
  155. package/lib/components/layout/menu-item.component.d.ts +29 -29
  156. package/lib/components/layout/menu.component.d.ts +10 -10
  157. package/lib/components/layout/services/index.d.ts +1 -0
  158. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  159. package/lib/components/layout/topbar.component.d.ts +25 -18
  160. package/lib/components/tableview/index.d.ts +5 -5
  161. package/lib/components/tableview/models/index.d.ts +1 -0
  162. package/lib/{models/events/table-event.model.d.ts → components/tableview/models/table.event.d.ts} +17 -17
  163. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +14 -14
  164. package/lib/components/tableview/services/index.d.ts +1 -0
  165. package/lib/components/tableview/{tableview.component.service.d.ts → services/tableview.component.service.d.ts} +13 -13
  166. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +27 -22
  167. package/lib/components/tableview/table/column-value/column-value.component.d.ts +12 -12
  168. package/lib/components/tableview/table/table.component.d.ts +79 -79
  169. package/lib/components/tableview/tableview.component.d.ts +35 -36
  170. package/lib/config/formly.config.d.ts +14 -14
  171. package/lib/config/index.d.ts +1 -1
  172. package/lib/{models/config → config/models}/index.d.ts +1 -1
  173. package/lib/{models/config → config/models}/mng-config.model.d.ts +34 -37
  174. package/lib/data-providers/base.data-provider.d.ts +17 -0
  175. package/lib/data-providers/editor.data-provider.d.ts +25 -0
  176. package/lib/data-providers/index.d.ts +5 -0
  177. package/lib/data-providers/lookup.data-provider.d.ts +14 -0
  178. package/lib/data-providers/table.data-provider.d.ts +6 -0
  179. package/lib/data-providers/tableview.data-provider.d.ts +15 -0
  180. package/lib/{models/descriptors/action-descriptor.model.d.ts → descriptors/action.descriptor.d.ts} +148 -145
  181. package/lib/{models/descriptors/editor-descriptor.model.d.ts → descriptors/editor.descriptor.d.ts} +255 -257
  182. package/lib/{models/validators → descriptors}/field.validator.d.ts +18 -18
  183. package/lib/descriptors/index.d.ts +7 -0
  184. package/lib/{models/interfaces/lookup.model.d.ts → descriptors/lookup.descriptor.d.ts} +17 -17
  185. package/lib/{models/descriptors/model-descriptor.model.d.ts → descriptors/model.descriptor.d.ts} +15 -15
  186. package/lib/{models/descriptors/table-descriptor.model.d.ts → descriptors/table.descriptor.d.ts} +184 -164
  187. package/lib/{models/descriptors/tableview-descriptor.model.d.ts → descriptors/tableview.descriptor.d.ts} +39 -41
  188. package/lib/directives/component.directive.d.ts +11 -0
  189. package/lib/directives/index.d.ts +2 -1
  190. package/lib/directives/template.directive.d.ts +13 -11
  191. package/lib/mng-commons.module.d.ts +79 -78
  192. package/lib/models/{router/index.d.ts → index.d.ts} +2 -1
  193. package/lib/models/router.model.d.ts +14 -0
  194. package/lib/models/{user/user.model.d.ts → user.model.d.ts} +8 -8
  195. package/lib/pipes/boolean.pipe.d.ts +7 -7
  196. package/lib/pipes/index.d.ts +2 -2
  197. package/lib/pipes/property-path.pipe.d.ts +7 -7
  198. package/lib/services/action.service.d.ts +92 -92
  199. package/lib/services/commons.service.d.ts +72 -74
  200. package/lib/services/configuration.service.d.ts +35 -35
  201. package/lib/services/index.d.ts +4 -4
  202. package/lib/services/navigation.service.d.ts +14 -14
  203. package/lib/services/providers/commons-init.provider.d.ts +2 -2
  204. package/lib/services/providers/config-service.provider.d.ts +5 -5
  205. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  206. package/lib/services/providers/index.d.ts +3 -2
  207. package/lib/services/tokens/browser-storage.token.d.ts +2 -0
  208. package/lib/services/tokens/index.d.ts +2 -0
  209. package/lib/services/tokens/module-config.token.d.ts +3 -0
  210. package/lib/{models/types → types}/index.d.ts +2 -2
  211. package/lib/{models/types → types}/type.decorator.d.ts +2 -2
  212. package/lib/{models/types → types}/type.model.d.ts +10 -10
  213. package/lib/utils/editor-formly.util.d.ts +9 -9
  214. package/lib/utils/i18n.util.d.ts +18 -18
  215. package/lib/utils/index.d.ts +5 -4
  216. package/lib/utils/model.util.d.ts +7 -7
  217. package/lib/utils/toast.util.d.ts +13 -13
  218. package/lib/utils/type.util.d.ts +15 -15
  219. package/mediusinc-mng-commons.d.ts +5 -5
  220. package/package.json +4 -4
  221. package/public-api.d.ts +25 -24
  222. package/scss/common/layout/_exception.scss +1 -1
  223. package/scss/common/layout/_help.scss +3 -3
  224. package/scss/common/layout/_landing.scss +1 -1
  225. package/scss/common/variables/layout/_common.scss +2 -0
  226. package/scss/common/variables/layout/_layout_dark.scss +4 -3
  227. package/scss/common/variables/layout/_layout_light.scss +4 -3
  228. package/scss/layout/default/_mng-variables-layout-light.scss +2 -2
  229. package/scss/mng-commons-dark.scss +0 -5
  230. package/scss/mng-commons-light.scss +0 -8
  231. package/scss/theme/default/_mng-variables-theme-light.scss +4 -4
  232. package/.pnpm-debug.log +0 -15
  233. package/esm2020/lib/api/services/abstract-crud-api.service.mjs +0 -72
  234. package/esm2020/lib/components/form/autocomplete/mng-autocomplete.component.mjs +0 -114
  235. package/esm2020/lib/components/form/dropdown/mng-dropdown.component.mjs +0 -113
  236. package/esm2020/lib/components/tableview/tableview.component.service.mjs +0 -18
  237. package/esm2020/lib/models/action/action.model.mjs +0 -58
  238. package/esm2020/lib/models/action/index.mjs +0 -2
  239. package/esm2020/lib/models/config/index.mjs +0 -2
  240. package/esm2020/lib/models/config/mng-config.model.mjs +0 -3
  241. package/esm2020/lib/models/descriptors/action-descriptor.model.mjs +0 -325
  242. package/esm2020/lib/models/descriptors/editor-descriptor.model.mjs +0 -671
  243. package/esm2020/lib/models/descriptors/index.mjs +0 -6
  244. package/esm2020/lib/models/descriptors/model-descriptor.model.mjs +0 -34
  245. package/esm2020/lib/models/descriptors/table-descriptor.model.mjs +0 -401
  246. package/esm2020/lib/models/descriptors/tableview-descriptor.model.mjs +0 -133
  247. package/esm2020/lib/models/events/editor-event.model.mjs +0 -14
  248. package/esm2020/lib/models/events/index.mjs +0 -3
  249. package/esm2020/lib/models/events/table-event.model.mjs +0 -16
  250. package/esm2020/lib/models/interfaces/confirmation-service.model.mjs +0 -2
  251. package/esm2020/lib/models/interfaces/index.mjs +0 -3
  252. package/esm2020/lib/models/interfaces/lookup.model.mjs +0 -2
  253. package/esm2020/lib/models/providers/data-provider.model.mjs +0 -86
  254. package/esm2020/lib/models/providers/index.mjs +0 -2
  255. package/esm2020/lib/models/router/index.mjs +0 -2
  256. package/esm2020/lib/models/router/router.model.mjs +0 -2
  257. package/esm2020/lib/models/types/index.mjs +0 -3
  258. package/esm2020/lib/models/types/type.decorator.mjs +0 -7
  259. package/esm2020/lib/models/types/type.model.mjs +0 -2
  260. package/esm2020/lib/models/user/index.mjs +0 -2
  261. package/esm2020/lib/models/user/user.model.mjs +0 -2
  262. package/esm2020/lib/models/validators/field.validator.mjs +0 -21
  263. package/esm2020/lib/models/validators/index.mjs +0 -2
  264. package/lib/models/action/index.d.ts +0 -1
  265. package/lib/models/descriptors/index.d.ts +0 -5
  266. package/lib/models/events/editor-event.model.d.ts +0 -11
  267. package/lib/models/events/index.d.ts +0 -2
  268. package/lib/models/interfaces/index.d.ts +0 -2
  269. package/lib/models/providers/data-provider.model.d.ts +0 -62
  270. package/lib/models/providers/index.d.ts +0 -1
  271. package/lib/models/router/router.model.d.ts +0 -9
  272. package/lib/models/user/index.d.ts +0 -1
  273. package/lib/models/validators/index.d.ts +0 -1
  274. package/mediusinc-mng-commons-0.1.0.tgz +0 -0
@@ -1,63 +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/tableview.component.service";
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
- export class ActionComponent {
17
- constructor(route, translate, actionService, confirmationService, tableviewService) {
18
- this.route = route;
19
- this.translate = translate;
20
- this.actionService = actionService;
21
- this.confirmationService = confirmationService;
22
- this.tableviewService = tableviewService;
23
- this.loadingSubject = new ReplaySubject(1);
24
- this.$loading = this.loadingSubject.asObservable();
25
- this.cmpId = Math.random().toString(36).substring(2);
26
- this.loadingSubject.next(false);
27
- }
28
- ngOnInit() {
29
- const context = this.actionService.getActionExecContext(this.action, this.itemId, this.item, this.tableviewService?.dataProvider ?? undefined, this.tableviewService, this, this.actionData);
30
- this.$isVisible = typeof this.action.isVisibleFunction === 'function' ? this.action.isVisibleFunction(context) : of(true);
31
- this.$isEnabled = typeof this.action.isEnabledFunction === 'function' ? this.action.isEnabledFunction(context) : of(true);
32
- this.$label = I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
33
- }
34
- triggerAction(event) {
35
- this.loadingSubject.next(true);
36
- const actionData = this.actionData ? this.actionData : {};
37
- actionData['cmpId'] = this.cmpId;
38
- this.actionService.triggerAction(this.action, this.itemId, this.item, actionData, this.route, this.tableviewService, this)
39
- .pipe(first(), finalize(() => this.loadingSubject.next(false)))
40
- .subscribe(res => { });
41
- }
42
- getConfirmationService() {
43
- return this.confirmationService;
44
- }
45
- getConfirmationServiceInstanceKey(action) {
46
- return `${action.actionName}_${this.cmpId}`;
47
- }
48
- }
49
- ActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.MngActionService }, { token: i4.ConfirmationService }, { token: i5.TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
50
- ActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionComponent, 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 (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\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 (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\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]" }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionComponent, decorators: [{
52
- type: Component,
53
- 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 (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\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 (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\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" }]
54
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.MngActionService }, { type: i4.ConfirmationService }, { type: i5.TableviewComponentService }]; }, propDecorators: { action: [{
55
- type: Input
56
- }], item: [{
57
- type: Input
58
- }], itemId: [{
59
- type: Input
60
- }], actionData: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS2hGLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQU9oRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQVNyQyxNQUFNLE9BQU8sZUFBZTtJQWdCeEIsWUFDWSxLQUFxQixFQUNyQixTQUEyQixFQUMzQixhQUErQixFQUMvQixtQkFBd0MsRUFDeEMsZ0JBQWlEO1FBSmpELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFickQsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQXdCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkUsVUFBSyxHQUFXLElBQUksQ0FBQyxN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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbmFsaXplLCBmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0lkVHlwZX0gZnJvbSAnLi4vLi4vbW9kZWxzL3R5cGVzJztcbmltcG9ydCB7QWN0aW9uRGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbic7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3J9IGZyb20gJy4uLy4uL21vZGVscy9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0lDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9tb2RlbHMvaW50ZXJmYWNlcyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7STE4blV0aWx9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vdGFibGV2aWV3L3RhYmxldmlldy5jb21wb25lbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWFjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2UsIENvbmZpcm1hdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbXBvbmVudDxULCBTPiBpbXBsZW1lbnRzIE9uSW5pdCwgSUNvbmZpcm1hdGlvblNlcnZpY2Uge1xuXG4gICAgLy8gbWV0YWRhdGEgYW5kIGVkaXRvciBtb2RlIGlucHV0XG4gICAgQElucHV0KCkgcHVibGljIGFjdGlvbiE6IEFjdGlvbkRlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW0/OiBUO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpdGVtSWQ/OiBJZFR5cGU7XG4gICAgQElucHV0KCkgcHVibGljIGFjdGlvbkRhdGE/OiBBY3Rpb25EYXRhO1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAgIHB1YmxpYyAkbG9hZGluZzogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBwdWJsaWMgJGlzVmlzaWJsZSE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljICRpc0VuYWJsZWQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHB1YmxpYyAkbGFiZWwhOiBPYnNlcnZhYmxlPHN0cmluZ3xudWxsPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYWN0aW9uU2VydmljZTogTW5nQWN0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYmxldmlld1NlcnZpY2U6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz5cbiAgICApIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmFjdGlvblNlcnZpY2UuZ2V0QWN0aW9uRXhlY0NvbnRleHQodGhpcy5hY3Rpb24sIHRoaXMuaXRlbUlkLCB0aGlzLml0ZW0sIHRoaXMudGFibGV2aWV3U2VydmljZT8uZGF0YVByb3ZpZGVyID8/IHVuZGVmaW5lZCwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzLCB0aGlzLmFjdGlvbkRhdGEpO1xuICAgICAgICB0aGlzLiRpc1Zpc2libGUgPSB0eXBlb2YgdGhpcy5hY3Rpb24uaXNWaXNpYmxlRnVuY3Rpb24gPT09ICdmdW5jdGlvbicgPyB0aGlzLmFjdGlvbi5pc1Zpc2libGVGdW5jdGlvbihjb250ZXh0KSA6IG9mKHRydWUpO1xuICAgICAgICB0aGlzLiRpc0VuYWJsZWQgPSB0eXBlb2YgdGhpcy5hY3Rpb24uaXNFbmFibGVkRnVuY3Rpb24gPT09ICdmdW5jdGlvbicgPyB0aGlzLmFjdGlvbi5pc0VuYWJsZWRGdW5jdGlvbihjb250ZXh0KSA6IG9mKHRydWUpO1xuICAgICAgICB0aGlzLiRsYWJlbCA9IEkxOG5VdGlsLnN0cmVhbUFjdGlvblRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlLCB0aGlzLmFjdGlvbiwgJ3RpdGxlJywgdGhpcy5hY3Rpb24/LnRpdGxlID8/IHVuZGVmaW5lZCwgdGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJpZ2dlckFjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICBjb25zdCBhY3Rpb25EYXRhID0gdGhpcy5hY3Rpb25EYXRhID8gdGhpcy5hY3Rpb25EYXRhIDoge307XG4gICAgICAgIGFjdGlvbkRhdGFbJ2NtcElkJ10gPSB0aGlzLmNtcElkO1xuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UudHJpZ2dlckFjdGlvbih0aGlzLmFjdGlvbiwgdGhpcy5pdGVtSWQsIHRoaXMuaXRlbSwgYWN0aW9uRGF0YSwgdGhpcy5yb3V0ZSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGAke2FjdGlvbi5hY3Rpb25OYW1lfV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiJGlzVmlzaWJsZSB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbi5pY29uICYmIGFjdGlvbi50aXRsZSA9PT0gbnVsbDsgZWxzZSBub0ljb25cIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHBCdXR0b24gcFJpcHBsZVxuICAgICAgICAgICAgW2ljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiKCRsb2FkaW5nIHwgYXN5bmMpID8/IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCRpc0VuYWJsZWQgfCBhc3luYylcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRyaWdnZXJBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1uZy1hY3Rpb24tYnV0dG9uIG1uZy1hY3Rpb24tYnV0dG9uLWljb24gcC1idXR0b24tcm91bmRlZFwiXG4gICAgICAgICAgICBbY2xhc3MucC1idXR0b24tc3VjY2Vzc109XCJhY3Rpb24ubGV2ZWwgPT09IDVcIlxuICAgICAgICAgICAgW2NsYXNzLnAtYnV0dG9uLWRhbmdlcl09XCJhY3Rpb24ubGV2ZWwgPT09IDdcIj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctdGVtcGxhdGUgI25vSWNvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBwQnV0dG9uIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBbaWNvbl09XCIkYW55KGFjdGlvbi5pY29uKVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIigkbGFiZWwgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIigkbG9hZGluZyB8IGFzeW5jKSA/PyBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoJGlzRW5hYmxlZCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRyaWdnZXJBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtbmctYWN0aW9uLWJ1dHRvbiBwLWJ1dHRvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MucC1idXR0b24tc3VjY2Vzc109XCJhY3Rpb24ubGV2ZWwgPT09IDVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5wLWJ1dHRvbi1kYW5nZXJdPVwiYWN0aW9uLmxldmVsID09PSA3XCI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHAtY29uZmlybURpYWxvZyAqbmdJZj1cImFjdGlvbi5oYXNSdW5Db25maXJtYXRpb25cIiBba2V5XT1cImFjdGlvbi5hY3Rpb25OYW1lICsgJ18nICsgY21wSWRcIiBbYmFzZVpJbmRleF09XCI1MFwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1jb25maXJtRGlhbG9nPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
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