@mediusinc/mng-commons 0.10.1 → 0.10.3-rc.2

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 (319) hide show
  1. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  2. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  3. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  4. package/esm2020/lib/api/models/index.mjs +8 -8
  5. package/esm2020/lib/api/models/mappers.mjs +12 -12
  6. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  7. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  8. package/esm2020/lib/api/models/query-result.model.mjs +17 -17
  9. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  10. package/esm2020/lib/api/services/api.abstract.service.mjs +55 -55
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +67 -67
  12. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +22 -22
  13. package/esm2020/lib/api/services/index.mjs +3 -3
  14. package/esm2020/lib/api/utils/index.mjs +2 -2
  15. package/esm2020/lib/api/utils/medius-rest.util.mjs +151 -151
  16. package/esm2020/lib/api/utils/object-serializer.util.mjs +243 -243
  17. package/esm2020/lib/components/action/action.component.mjs +199 -199
  18. package/esm2020/lib/components/action/editor/action-editor.component.mjs +247 -247
  19. package/esm2020/lib/components/action/index.mjs +3 -3
  20. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  21. package/esm2020/lib/components/action/models/action-execution.model.mjs +235 -235
  22. package/esm2020/lib/components/action/models/index.mjs +2 -2
  23. package/esm2020/lib/components/action/route/action-route.component.mjs +124 -124
  24. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +277 -277
  25. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +168 -168
  26. package/esm2020/lib/components/form/editor/form-editor.component.mjs +211 -211
  27. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +48 -48
  28. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +43 -43
  29. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +24 -24
  30. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +102 -102
  31. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +22 -22
  32. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +179 -179
  33. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +173 -173
  34. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +150 -155
  35. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +16 -16
  36. package/esm2020/lib/components/form/formly/fields/index.mjs +9 -9
  37. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +14 -14
  38. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +14 -14
  39. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  40. package/esm2020/lib/components/form/index.mjs +3 -3
  41. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  42. package/esm2020/lib/components/form/models/index.mjs +1 -1
  43. package/esm2020/lib/components/layout/breadcrumb.component.mjs +16 -16
  44. package/esm2020/lib/components/layout/footer.component.mjs +16 -16
  45. package/esm2020/lib/components/layout/index.mjs +7 -7
  46. package/esm2020/lib/components/layout/main-layout.component.mjs +51 -51
  47. package/esm2020/lib/components/layout/menu-item.component.mjs +238 -238
  48. package/esm2020/lib/components/layout/menu.component.mjs +20 -20
  49. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  50. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +192 -192
  51. package/esm2020/lib/components/layout/topbar.component.mjs +57 -57
  52. package/esm2020/lib/components/layout/version.component.mjs +57 -57
  53. package/esm2020/lib/components/tableview/index.mjs +6 -6
  54. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  55. package/esm2020/lib/components/tableview/models/table.event.mjs +15 -15
  56. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +57 -57
  57. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +60 -60
  58. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +101 -101
  59. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +70 -70
  60. package/esm2020/lib/components/tableview/table/table.component.mjs +497 -497
  61. package/esm2020/lib/components/tableview/tableview.component.mjs +91 -91
  62. package/esm2020/lib/config/formly.config.mjs +180 -180
  63. package/esm2020/lib/config/index.mjs +1 -1
  64. package/esm2020/lib/config/models/index.mjs +1 -1
  65. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  66. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  67. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  68. package/esm2020/lib/data-providers/index.mjs +5 -5
  69. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  70. package/esm2020/lib/data-providers/table.data-provider.mjs +16 -16
  71. package/esm2020/lib/data-providers/tableview.data-provider.mjs +16 -16
  72. package/esm2020/lib/descriptors/action.descriptor.mjs +587 -587
  73. package/esm2020/lib/descriptors/column.descriptor.mjs +264 -264
  74. package/esm2020/lib/descriptors/editor.descriptor.mjs +146 -146
  75. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +20 -20
  76. package/esm2020/lib/descriptors/field.descriptor.mjs +819 -819
  77. package/esm2020/lib/descriptors/filter.descriptor.mjs +288 -288
  78. package/esm2020/lib/descriptors/index.mjs +9 -9
  79. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  80. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  81. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  82. package/esm2020/lib/descriptors/model.descriptor.mjs +33 -33
  83. package/esm2020/lib/descriptors/table.descriptor.mjs +197 -197
  84. package/esm2020/lib/descriptors/tableview.descriptor.mjs +134 -134
  85. package/esm2020/lib/descriptors/types/action.type.mjs +52 -52
  86. package/esm2020/lib/descriptors/types/column.type.mjs +10 -10
  87. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  88. package/esm2020/lib/descriptors/types/field.type.mjs +52 -52
  89. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  90. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  91. package/esm2020/lib/descriptors/types/table.type.mjs +16 -16
  92. package/esm2020/lib/directives/component.directive.mjs +43 -43
  93. package/esm2020/lib/directives/index.mjs +2 -2
  94. package/esm2020/lib/directives/template.directive.mjs +27 -27
  95. package/esm2020/lib/mng-commons.module.mjs +441 -441
  96. package/esm2020/lib/models/column-value.model.mjs +1 -1
  97. package/esm2020/lib/models/enum.model.mjs +1 -1
  98. package/esm2020/lib/models/error.model.mjs +1 -1
  99. package/esm2020/lib/models/index.mjs +7 -7
  100. package/esm2020/lib/models/menu.model.mjs +1 -1
  101. package/esm2020/lib/models/user.model.mjs +1 -1
  102. package/esm2020/lib/models/version.model.mjs +1 -1
  103. package/esm2020/lib/models/view-container.model.mjs +1 -1
  104. package/esm2020/lib/pipes/boolean.pipe.mjs +26 -26
  105. package/esm2020/lib/pipes/enum.pipe.mjs +24 -24
  106. package/esm2020/lib/pipes/i18n-property.pipe.mjs +17 -17
  107. package/esm2020/lib/pipes/index.mjs +5 -5
  108. package/esm2020/lib/pipes/json-path.pipe.mjs +79 -79
  109. package/esm2020/lib/pipes/link-formatter.pipe.mjs +38 -38
  110. package/esm2020/lib/router/index.mjs +2 -2
  111. package/esm2020/lib/router/models/index.mjs +1 -1
  112. package/esm2020/lib/router/models/router.model.mjs +1 -1
  113. package/esm2020/lib/router/route-builder.mjs +425 -425
  114. package/esm2020/lib/router/tableview-route-builder.mjs +159 -159
  115. package/esm2020/lib/security/authorization.guard.mjs +25 -25
  116. package/esm2020/lib/security/authorization.service.mjs +46 -46
  117. package/esm2020/lib/security/authorization.util.mjs +15 -15
  118. package/esm2020/lib/security/index.mjs +3 -3
  119. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  120. package/esm2020/lib/security/model/index.mjs +3 -3
  121. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  122. package/esm2020/lib/security/model/permissions.model.mjs +94 -94
  123. package/esm2020/lib/services/action-executor.service.mjs +535 -535
  124. package/esm2020/lib/services/commons.service.mjs +342 -342
  125. package/esm2020/lib/services/configuration.service.mjs +110 -110
  126. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  127. package/esm2020/lib/services/index.mjs +6 -6
  128. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  129. package/esm2020/lib/services/internal/commons-init.service.mjs +43 -43
  130. package/esm2020/lib/services/internal/index.mjs +2 -2
  131. package/esm2020/lib/services/navigation.service.mjs +47 -47
  132. package/esm2020/lib/services/providers/config-service.provider.mjs +29 -29
  133. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  134. package/esm2020/lib/services/providers/index.mjs +2 -2
  135. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  136. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  137. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  138. package/esm2020/lib/services/tokens/index.mjs +4 -4
  139. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  140. package/esm2020/lib/services/version.service.mjs +38 -38
  141. package/esm2020/lib/services/view-container.component.service.mjs +34 -34
  142. package/esm2020/lib/types/index.mjs +2 -2
  143. package/esm2020/lib/types/type.decorator.mjs +12 -12
  144. package/esm2020/lib/types/type.model.mjs +1 -1
  145. package/esm2020/lib/utils/action-data-provider.util.mjs +144 -144
  146. package/esm2020/lib/utils/editor-formly.util.mjs +242 -242
  147. package/esm2020/lib/utils/enum.util.mjs +81 -81
  148. package/esm2020/lib/utils/i18n.util.mjs +232 -232
  149. package/esm2020/lib/utils/index.mjs +7 -7
  150. package/esm2020/lib/utils/model.util.mjs +59 -59
  151. package/esm2020/lib/utils/notification.util.mjs +45 -45
  152. package/esm2020/lib/utils/route.util.mjs +23 -23
  153. package/esm2020/lib/utils/styles.util.mjs +40 -40
  154. package/esm2020/lib/utils/type.util.mjs +76 -76
  155. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  156. package/esm2020/public-api.mjs +51 -51
  157. package/fesm2015/mediusinc-mng-commons.mjs +10632 -10637
  158. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  159. package/fesm2020/mediusinc-mng-commons.mjs +10481 -10486
  160. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  161. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  162. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  163. package/lib/api/models/filter-param.model.d.ts +23 -23
  164. package/lib/api/models/index.d.ts +8 -8
  165. package/lib/api/models/mappers.d.ts +6 -6
  166. package/lib/api/models/query-mode.model.d.ts +16 -16
  167. package/lib/api/models/query-param.model.d.ts +31 -31
  168. package/lib/api/models/query-result.model.d.ts +23 -23
  169. package/lib/api/models/serialization.model.d.ts +8 -8
  170. package/lib/api/services/api.abstract.service.d.ts +24 -24
  171. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  172. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  173. package/lib/api/services/index.d.ts +3 -3
  174. package/lib/api/utils/index.d.ts +2 -2
  175. package/lib/api/utils/medius-rest.util.d.ts +15 -15
  176. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  177. package/lib/components/action/action.component.d.ts +75 -75
  178. package/lib/components/action/editor/action-editor.component.d.ts +64 -64
  179. package/lib/components/action/index.d.ts +3 -3
  180. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  181. package/lib/components/action/models/action-execution.model.d.ts +129 -129
  182. package/lib/components/action/models/index.d.ts +2 -2
  183. package/lib/components/action/route/action-route.component.d.ts +31 -31
  184. package/lib/components/form/autocomplete/autocomplete.component.d.ts +56 -56
  185. package/lib/components/form/dropdown/dropdown.component.d.ts +47 -47
  186. package/lib/components/form/editor/form-editor.component.d.ts +45 -45
  187. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +15 -15
  188. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -14
  189. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +13 -13
  190. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +23 -23
  191. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +10 -10
  192. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +45 -45
  193. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +23 -23
  194. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +38 -38
  195. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  196. package/lib/components/form/formly/fields/index.d.ts +9 -9
  197. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +6 -6
  198. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +6 -6
  199. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  200. package/lib/components/form/index.d.ts +3 -3
  201. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  202. package/lib/components/form/models/index.d.ts +1 -1
  203. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  204. package/lib/components/layout/footer.component.d.ts +9 -9
  205. package/lib/components/layout/index.d.ts +7 -7
  206. package/lib/components/layout/main-layout.component.d.ts +20 -20
  207. package/lib/components/layout/menu-item.component.d.ts +44 -44
  208. package/lib/components/layout/menu.component.d.ts +10 -10
  209. package/lib/components/layout/services/index.d.ts +1 -1
  210. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  211. package/lib/components/layout/topbar.component.d.ts +24 -24
  212. package/lib/components/layout/version.component.d.ts +19 -19
  213. package/lib/components/tableview/index.d.ts +6 -6
  214. package/lib/components/tableview/models/index.d.ts +1 -1
  215. package/lib/components/tableview/models/table.event.d.ts +17 -17
  216. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -20
  217. package/lib/components/tableview/route/tableview-route.component.d.ts +23 -23
  218. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +32 -32
  219. package/lib/components/tableview/table/column-value/column-value.component.d.ts +29 -29
  220. package/lib/components/tableview/table/table.component.d.ts +108 -108
  221. package/lib/components/tableview/tableview.component.d.ts +41 -41
  222. package/lib/config/formly.config.d.ts +15 -15
  223. package/lib/config/index.d.ts +1 -1
  224. package/lib/config/models/index.d.ts +1 -1
  225. package/lib/config/models/mng-config.model.d.ts +36 -36
  226. package/lib/data-providers/base.data-provider.d.ts +14 -14
  227. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  228. package/lib/data-providers/index.d.ts +5 -5
  229. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  230. package/lib/data-providers/table.data-provider.d.ts +14 -14
  231. package/lib/data-providers/tableview.data-provider.d.ts +15 -15
  232. package/lib/descriptors/action.descriptor.d.ts +234 -234
  233. package/lib/descriptors/column.descriptor.d.ts +82 -82
  234. package/lib/descriptors/editor.descriptor.d.ts +37 -37
  235. package/lib/descriptors/field-validation.descriptor.d.ts +18 -18
  236. package/lib/descriptors/field.descriptor.d.ts +294 -294
  237. package/lib/descriptors/filter.descriptor.d.ts +106 -106
  238. package/lib/descriptors/index.d.ts +9 -9
  239. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  240. package/lib/descriptors/interfaces/index.d.ts +2 -2
  241. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  242. package/lib/descriptors/model.descriptor.d.ts +15 -15
  243. package/lib/descriptors/table.descriptor.d.ts +66 -66
  244. package/lib/descriptors/tableview.descriptor.d.ts +42 -42
  245. package/lib/descriptors/types/action.type.d.ts +45 -45
  246. package/lib/descriptors/types/column.type.d.ts +9 -9
  247. package/lib/descriptors/types/editor.type.d.ts +6 -6
  248. package/lib/descriptors/types/field.type.d.ts +44 -44
  249. package/lib/descriptors/types/filter.type.d.ts +27 -27
  250. package/lib/descriptors/types/index.d.ts +6 -6
  251. package/lib/descriptors/types/table.type.d.ts +13 -13
  252. package/lib/directives/component.directive.d.ts +16 -16
  253. package/lib/directives/index.d.ts +2 -2
  254. package/lib/directives/template.directive.d.ts +13 -13
  255. package/lib/mng-commons.module.d.ts +87 -87
  256. package/lib/models/column-value.model.d.ts +4 -4
  257. package/lib/models/enum.model.d.ts +6 -6
  258. package/lib/models/error.model.d.ts +14 -14
  259. package/lib/models/index.d.ts +7 -7
  260. package/lib/models/menu.model.d.ts +27 -27
  261. package/lib/models/user.model.d.ts +8 -8
  262. package/lib/models/version.model.d.ts +18 -18
  263. package/lib/models/view-container.model.d.ts +6 -6
  264. package/lib/pipes/boolean.pipe.d.ts +7 -7
  265. package/lib/pipes/enum.pipe.d.ts +8 -8
  266. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  267. package/lib/pipes/index.d.ts +5 -5
  268. package/lib/pipes/json-path.pipe.d.ts +13 -13
  269. package/lib/pipes/link-formatter.pipe.d.ts +11 -11
  270. package/lib/router/index.d.ts +2 -2
  271. package/lib/router/models/index.d.ts +1 -1
  272. package/lib/router/models/router.model.d.ts +27 -27
  273. package/lib/router/route-builder.d.ts +98 -98
  274. package/lib/router/tableview-route-builder.d.ts +34 -34
  275. package/lib/security/authorization.guard.d.ts +11 -11
  276. package/lib/security/authorization.service.d.ts +19 -19
  277. package/lib/security/authorization.util.d.ts +5 -5
  278. package/lib/security/index.d.ts +3 -3
  279. package/lib/security/model/authorization.type.d.ts +6 -6
  280. package/lib/security/model/index.d.ts +3 -3
  281. package/lib/security/model/permission-service.interface.d.ts +6 -6
  282. package/lib/security/model/permissions.model.d.ts +44 -44
  283. package/lib/services/action-executor.service.d.ts +149 -149
  284. package/lib/services/commons.service.d.ts +78 -78
  285. package/lib/services/configuration.service.d.ts +36 -36
  286. package/lib/services/error-mapper.service.d.ts +7 -7
  287. package/lib/services/index.d.ts +6 -6
  288. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  289. package/lib/services/internal/commons-init.service.d.ts +16 -16
  290. package/lib/services/internal/index.d.ts +2 -2
  291. package/lib/services/navigation.service.d.ts +14 -14
  292. package/lib/services/providers/config-service.provider.d.ts +6 -6
  293. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  294. package/lib/services/providers/index.d.ts +2 -2
  295. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  296. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  297. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  298. package/lib/services/tokens/index.d.ts +4 -4
  299. package/lib/services/tokens/module-config.token.d.ts +3 -3
  300. package/lib/services/version.service.d.ts +13 -13
  301. package/lib/services/view-container.component.service.d.ts +22 -22
  302. package/lib/types/index.d.ts +2 -2
  303. package/lib/types/type.decorator.d.ts +4 -4
  304. package/lib/types/type.model.d.ts +23 -23
  305. package/lib/utils/action-data-provider.util.d.ts +20 -20
  306. package/lib/utils/editor-formly.util.d.ts +11 -11
  307. package/lib/utils/enum.util.d.ts +50 -50
  308. package/lib/utils/i18n.util.d.ts +56 -56
  309. package/lib/utils/index.d.ts +7 -7
  310. package/lib/utils/model.util.d.ts +8 -8
  311. package/lib/utils/notification.util.d.ts +11 -11
  312. package/lib/utils/route.util.d.ts +4 -4
  313. package/lib/utils/styles.util.d.ts +14 -14
  314. package/lib/utils/type.util.d.ts +36 -36
  315. package/mediusinc-mng-commons-0.10.3-rc.2.tgz +0 -0
  316. package/mediusinc-mng-commons.d.ts +5 -5
  317. package/package.json +1 -1
  318. package/public-api.d.ts +32 -32
  319. package/version-info.json +7 -7
@@ -1,61 +1,61 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { MngTableviewComponent } from '../tableview.component';
3
- import { AMngTableviewRouteComponent } from './tableview-route.abstract.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- import * as i2 from "../tableview.component";
7
- export class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
8
- constructor(route) {
9
- super();
10
- this.route = route;
11
- }
12
- get routeData() {
13
- return this.route.snapshot.data;
14
- }
15
- createTableviewDescriptor() {
16
- if (this.descriptorInit) {
17
- return this.descriptorInit;
18
- }
19
- if (this.routeData?.tableview?.descriptor) {
20
- throw Error('Tableview requires a descriptor.');
21
- }
22
- return this.routeData.tableview.descriptor;
23
- }
24
- createTableviewDataProvider() {
25
- if (this.dataProviderInit) {
26
- return this.dataProviderInit;
27
- }
28
- if (this.routeData?.tableview?.dataProvider) {
29
- throw Error('Tableview requires a data provider.');
30
- }
31
- return this.routeData.tableview.dataProvider;
32
- }
33
- createActionDescriptors() {
34
- if (this.actionsInit) {
35
- return this.actionsInit;
36
- }
37
- return this.routeData?.tableview?.actions ?? super.createActionDescriptors();
38
- }
39
- reloadTable() {
40
- this.tableviewComponent?.reloadTable();
41
- }
42
- }
43
- MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableviewRouteComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
44
- MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n", components: [{ type: i2.MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n" }]
48
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { descriptorInit: [{
49
- type: Input,
50
- args: ['descriptor']
51
- }], dataProviderInit: [{
52
- type: Input,
53
- args: ['dataProvider']
54
- }], actionsInit: [{
55
- type: Input,
56
- args: ['actions']
57
- }], tableviewComponent: [{
58
- type: ViewChild,
59
- args: [MngTableviewComponent]
60
- }] } });
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { MngTableviewComponent } from '../tableview.component';
3
+ import { AMngTableviewRouteComponent } from './tableview-route.abstract.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../tableview.component";
7
+ export class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
8
+ constructor(route) {
9
+ super();
10
+ this.route = route;
11
+ }
12
+ get routeData() {
13
+ return this.route.snapshot.data;
14
+ }
15
+ createTableviewDescriptor() {
16
+ if (this.descriptorInit) {
17
+ return this.descriptorInit;
18
+ }
19
+ if (this.routeData?.tableview?.descriptor) {
20
+ throw Error('Tableview requires a descriptor.');
21
+ }
22
+ return this.routeData.tableview.descriptor;
23
+ }
24
+ createTableviewDataProvider() {
25
+ if (this.dataProviderInit) {
26
+ return this.dataProviderInit;
27
+ }
28
+ if (this.routeData?.tableview?.dataProvider) {
29
+ throw Error('Tableview requires a data provider.');
30
+ }
31
+ return this.routeData.tableview.dataProvider;
32
+ }
33
+ createActionDescriptors() {
34
+ if (this.actionsInit) {
35
+ return this.actionsInit;
36
+ }
37
+ return this.routeData?.tableview?.actions ?? super.createActionDescriptors();
38
+ }
39
+ reloadTable() {
40
+ this.tableviewComponent?.reloadTable();
41
+ }
42
+ }
43
+ MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableviewRouteComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
44
+ MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n", components: [{ type: i2.MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n" }]
48
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { descriptorInit: [{
49
+ type: Input,
50
+ args: ['descriptor']
51
+ }], dataProviderInit: [{
52
+ type: Input,
53
+ args: ['dataProvider']
54
+ }], actionsInit: [{
55
+ type: Input,
56
+ args: ['actions']
57
+ }], tableviewComponent: [{
58
+ type: ViewChild,
59
+ args: [MngTableviewComponent]
60
+ }] } });
61
61
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RlbXBsYXRlcy90YWJsZXZpZXctcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTWxFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTWpGLE1BQU0sT0FBTywwQkFBaUMsU0FBUSwyQkFBaUM7SUFPbkYsWUFBb0IsS0FBcUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEUSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUV6QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRVMseUJBQXlCO1FBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRTtZQUN2QyxNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVUsQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQztJQUVTLDJCQUEyQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBVSxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDO0lBRWtCLHVCQUF1QjtRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7dUhBNUNRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDhRQUt4QixxQkFBcUIsdUVDbEJwQyxtTUFLQTsyRkRRYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0kscUJBQXFCO3FHQUlILGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsWUFBWTtnQkFDVyxnQkFBZ0I7c0JBQTdDLEtBQUs7dUJBQUMsY0FBYztnQkFDSSxXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLFNBQVM7Z0JBRXlCLGtCQUFrQjtzQkFBMUQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7SVRhYmxldmlld0RhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBUYWJsZXZpZXdEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge01uZ1JvdXRlckRhdGF9IGZyb20gJy4uLy4uLy4uL3JvdXRlci9tb2RlbHMnO1xuaW1wb3J0IHtNbmdUYWJsZXZpZXdDb21wb25lbnR9IGZyb20gJy4uL3RhYmxldmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtBTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnR9IGZyb20gJy4vdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxldmlldy1yb3V0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuLi8uLi8uLi8uLi8uLi90ZW1wbGF0ZXMvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxULCBTPiBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxULCBTPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdkZXNjcmlwdG9yJykgcHVibGljIGRlc2NyaXB0b3JJbml0PzogVGFibGV2aWV3RGVzY3JpcHRvcjxUPjtcbiAgICBASW5wdXQoJ2RhdGFQcm92aWRlcicpIHB1YmxpYyBkYXRhUHJvdmlkZXJJbml0PzogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPjtcbiAgICBASW5wdXQoJ2FjdGlvbnMnKSBwdWJsaWMgYWN0aW9uc0luaXQ/OiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIEBWaWV3Q2hpbGQoTW5nVGFibGV2aWV3Q29tcG9uZW50KSBwdWJsaWMgdGFibGV2aWV3Q29tcG9uZW50PzogTW5nVGFibGV2aWV3Q29tcG9uZW50PFQsIFM+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvdXRlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD4ge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9ySW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvckluaXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucm91dGVEYXRhPy50YWJsZXZpZXc/LmRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUYWJsZXZpZXcgcmVxdWlyZXMgYSBkZXNjcmlwdG9yLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXchLmRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhYmxldmlld0RhdGFQcm92aWRlcigpOiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFQsIFM+IHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVByb3ZpZGVySW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVByb3ZpZGVySW5pdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yb3V0ZURhdGE/LnRhYmxldmlldz8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGFibGV2aWV3IHJlcXVpcmVzIGEgZGF0YSBwcm92aWRlci4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3IS5kYXRhUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+IHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uc0luaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnNJbml0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlRGF0YT8udGFibGV2aWV3Py5hY3Rpb25zID8/IHN1cGVyLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZFRhYmxlKCkge1xuICAgICAgICB0aGlzLnRhYmxldmlld0NvbXBvbmVudD8ucmVsb2FkVGFibGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPG1uZy10YWJsZXZpZXcgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvclwiIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyXCIgW2FjdGlvbnNdPVwiYWN0aW9uc1wiPjwvbW5nLXRhYmxldmlldz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,102 +1,102 @@
1
- import { Component, Input } from '@angular/core';
2
- import { FilterMatchMode } from 'primeng/api';
3
- import { FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, TableFilterDisplayEnum } from '../../../../descriptors/types';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "primeng/api";
6
- import * as i2 from "primeng/table";
7
- import * as i3 from "primeng/calendar";
8
- import * as i4 from "../../../form/autocomplete/autocomplete.component";
9
- import * as i5 from "../../../form/dropdown/dropdown.component";
10
- import * as i6 from "@angular/common";
11
- import * as i7 from "@angular/forms";
12
- import * as i8 from "@ngx-translate/core";
13
- /**
14
- * Cannot be on push change detection strategy because of filter updates triggered from route which causes to force update values in force metadata
15
- * and these must be propagated through to this component and beyond to primeNG.
16
- */
17
- export class MngTableColumnFilterComponent {
18
- constructor(primeConfig) {
19
- this.primeConfig = primeConfig;
20
- this.lookupTypeDropdown = FilterLookupTypeEnum.Dropdown;
21
- this.lookupTypeAutocomplete = FilterLookupTypeEnum.Autocomplete;
22
- this.primeType = 'text';
23
- this.primeShowMatchMode = true;
24
- this.primeDisplay = 'row';
25
- this.primeMatchModes = null;
26
- }
27
- ngOnInit() {
28
- this.primeDefaultMatchMode = this.descriptor.defaultFilterMatchMode;
29
- switch (this.descriptor.filterType) {
30
- case FilterTypeEnum.Boolean:
31
- this.primeType = 'boolean';
32
- this.primeShowMatchMode = false;
33
- break;
34
- case FilterTypeEnum.Number:
35
- this.primeType = 'numeric';
36
- break;
37
- case FilterTypeEnum.Date:
38
- this.primeType = 'date';
39
- this.primeDefaultMatchMode = FilterMatchMode.DATE_AFTER;
40
- break;
41
- case FilterTypeEnum.Lookup:
42
- this.primeType = 'lookup';
43
- this.primeShowMatchMode = false;
44
- this.lookupDescriptor = this.descriptor;
45
- this.primeField = `${this.descriptor.property}${this.lookupDescriptor.itemsValueProperty ? `.${this.lookupDescriptor.itemsValueProperty}` : ''}`;
46
- this.primeMatchModes = [{ value: FilterMatchModeEnum.Equals, label: this.primeConfig.getTranslation(FilterMatchModeEnum.Equals) }];
47
- break;
48
- case FilterTypeEnum.String:
49
- this.primeType = 'text';
50
- this.primeDefaultMatchMode = FilterMatchMode.CONTAINS;
51
- break;
52
- }
53
- if (this.descriptor.matchModes) {
54
- this.primeMatchModes = this.descriptor.matchModes.map(mm => ({ value: mm, label: this.primeConfig.getTranslation(mm) }));
55
- if (!this.primeMatchModes.map(matchMode => matchMode.value).includes(this.primeDefaultMatchMode)) {
56
- this.primeDefaultMatchMode = this.descriptor.matchModes[0];
57
- }
58
- this.primeShowMatchMode = this.primeMatchModes?.length > 1;
59
- }
60
- if (this.display === TableFilterDisplayEnum.Menu) {
61
- this.primeDisplay = 'menu';
62
- }
63
- }
64
- valueToDate(value) {
65
- console.log('call', this.descriptor.property);
66
- if (typeof value === 'string' || typeof value === 'number') {
67
- return new Date(value);
68
- }
69
- else if (value instanceof Date) {
70
- return value;
71
- }
72
- else {
73
- return null;
74
- }
75
- }
76
- // eslint-disable-next-line @typescript-eslint/ban-types
77
- dateFilter(value, filterCallback) {
78
- filterCallback(value);
79
- }
80
- // eslint-disable-next-line @typescript-eslint/ban-types
81
- autocompleteFilter(value, filterCallback) {
82
- filterCallback(value);
83
- }
84
- // eslint-disable-next-line @typescript-eslint/ban-types
85
- dropdownFilter(value, filterCallback) {
86
- filterCallback(value);
87
- }
88
- toLookupFilterValue(value) {
89
- return this.lookupDescriptor.dataKeyProperty && value ? { [this.lookupDescriptor.dataKeyProperty]: value } : value;
90
- }
91
- }
92
- MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
93
- MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i2.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: i3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i4.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { type: i5.MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i8.TranslatePipe } });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
97
- }], ctorParameters: function () { return [{ type: i1.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
98
- type: Input
99
- }], display: [{
100
- type: Input
101
- }] } });
1
+ import { Component, Input } from '@angular/core';
2
+ import { FilterMatchMode } from 'primeng/api';
3
+ import { FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, TableFilterDisplayEnum } from '../../../../descriptors/types';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "primeng/api";
6
+ import * as i2 from "primeng/table";
7
+ import * as i3 from "primeng/calendar";
8
+ import * as i4 from "../../../form/autocomplete/autocomplete.component";
9
+ import * as i5 from "../../../form/dropdown/dropdown.component";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@angular/forms";
12
+ import * as i8 from "@ngx-translate/core";
13
+ /**
14
+ * Cannot be on push change detection strategy because of filter updates triggered from route which causes to force update values in force metadata
15
+ * and these must be propagated through to this component and beyond to primeNG.
16
+ */
17
+ export class MngTableColumnFilterComponent {
18
+ constructor(primeConfig) {
19
+ this.primeConfig = primeConfig;
20
+ this.lookupTypeDropdown = FilterLookupTypeEnum.Dropdown;
21
+ this.lookupTypeAutocomplete = FilterLookupTypeEnum.Autocomplete;
22
+ this.primeType = 'text';
23
+ this.primeShowMatchMode = true;
24
+ this.primeDisplay = 'row';
25
+ this.primeMatchModes = null;
26
+ }
27
+ ngOnInit() {
28
+ this.primeDefaultMatchMode = this.descriptor.defaultFilterMatchMode;
29
+ switch (this.descriptor.filterType) {
30
+ case FilterTypeEnum.Boolean:
31
+ this.primeType = 'boolean';
32
+ this.primeShowMatchMode = false;
33
+ break;
34
+ case FilterTypeEnum.Number:
35
+ this.primeType = 'numeric';
36
+ break;
37
+ case FilterTypeEnum.Date:
38
+ this.primeType = 'date';
39
+ this.primeDefaultMatchMode = FilterMatchMode.DATE_AFTER;
40
+ break;
41
+ case FilterTypeEnum.Lookup:
42
+ this.primeType = 'lookup';
43
+ this.primeShowMatchMode = false;
44
+ this.lookupDescriptor = this.descriptor;
45
+ this.primeField = `${this.descriptor.property}${this.lookupDescriptor.itemsValueProperty ? `.${this.lookupDescriptor.itemsValueProperty}` : ''}`;
46
+ this.primeMatchModes = [{ value: FilterMatchModeEnum.Equals, label: this.primeConfig.getTranslation(FilterMatchModeEnum.Equals) }];
47
+ break;
48
+ case FilterTypeEnum.String:
49
+ this.primeType = 'text';
50
+ this.primeDefaultMatchMode = FilterMatchMode.CONTAINS;
51
+ break;
52
+ }
53
+ if (this.descriptor.matchModes) {
54
+ this.primeMatchModes = this.descriptor.matchModes.map(mm => ({ value: mm, label: this.primeConfig.getTranslation(mm) }));
55
+ if (!this.primeMatchModes.map(matchMode => matchMode.value).includes(this.primeDefaultMatchMode)) {
56
+ this.primeDefaultMatchMode = this.descriptor.matchModes[0];
57
+ }
58
+ this.primeShowMatchMode = this.primeMatchModes?.length > 1;
59
+ }
60
+ if (this.display === TableFilterDisplayEnum.Menu) {
61
+ this.primeDisplay = 'menu';
62
+ }
63
+ }
64
+ valueToDate(value) {
65
+ console.log('call', this.descriptor.property);
66
+ if (typeof value === 'string' || typeof value === 'number') {
67
+ return new Date(value);
68
+ }
69
+ else if (value instanceof Date) {
70
+ return value;
71
+ }
72
+ else {
73
+ return null;
74
+ }
75
+ }
76
+ // eslint-disable-next-line @typescript-eslint/ban-types
77
+ dateFilter(value, filterCallback) {
78
+ filterCallback(value);
79
+ }
80
+ // eslint-disable-next-line @typescript-eslint/ban-types
81
+ autocompleteFilter(value, filterCallback) {
82
+ filterCallback(value);
83
+ }
84
+ // eslint-disable-next-line @typescript-eslint/ban-types
85
+ dropdownFilter(value, filterCallback) {
86
+ filterCallback(value);
87
+ }
88
+ toLookupFilterValue(value) {
89
+ return this.lookupDescriptor.dataKeyProperty && value ? { [this.lookupDescriptor.dataKeyProperty]: value } : value;
90
+ }
91
+ }
92
+ MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
93
+ MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i2.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: i3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i4.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { type: i5.MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i8.TranslatePipe } });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
97
+ }], ctorParameters: function () { return [{ type: i1.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
98
+ type: Input
99
+ }], display: [{
100
+ type: Input
101
+ }] } });
102
102
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUd2RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7QUFFaEk7OztHQUdHO0FBS0gsTUFBTSxPQUFPLDZCQUE2QjtJQWdCdEMsWUFBb0IsV0FBMEI7UUFBMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFmOUIsdUJBQWtCLEdBQXlCLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztRQUN6RSwyQkFBc0IsR0FBeUIsb0JBQW9CLENBQUMsWUFBWSxDQUFDO1FBUTFGLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFDbkIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBRTFCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVGLENBQUM7SUFFbEQsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO1FBRXBFLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxjQUFjLENBQUMsT0FBTztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLE1BQU07WUFDVixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssY0FBYyxDQUFDLElBQUk7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO2dCQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQztnQkFDeEQsTUFBTTtZQUNWLEtBQUssY0FBYyxDQUFDLE1BQU07Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO2dCQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQXVDLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNqSixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsRUFBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUM7Z0JBQ2pJLE1BQU07WUFDVixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztnQkFDeEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3RELE1BQU07U0FDYjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFZLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQSxDQUFDLENBQUM7WUFFakksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDOUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlEO1lBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWM7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDeEQsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjthQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQztTQUNoQjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsVUFBVSxDQUFDLEtBQVEsRUFBRSxjQUF3QjtRQUN6QyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxrQkFBa0IsQ0FBQyxLQUFRLEVBQUUsY0FBd0I7UUFDakQsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsY0FBYyxDQUFDLEtBQVEsRUFBRSxjQUF3QjtRQUM3QyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsZ0JBQWlCLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZILENBQUM7OzBIQXpGUSw2QkFBNkI7OEdBQTdCLDZCQUE2Qix5SENmMUMsdTBHQThEQTsyRkQvQ2EsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNJLHlCQUF5QjtvR0FPMUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RmlsdGVyTWF0Y2hNb2RlLCBQcmltZU5HQ29uZmlnLCBTZWxlY3RJdGVtfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7RmlsdGVyRGVzY3JpcHRvciwgRmlsdGVyTG9va3VwRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyTWF0Y2hNb2RlRW51bSwgRmlsdGVyVHlwZUVudW0sIFRhYmxlRmlsdGVyRGlzcGxheUVudW19IGZyb20gJy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcblxuLyoqXG4gKiBDYW5ub3QgYmUgb24gcHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IGJlY2F1c2Ugb2YgZmlsdGVyIHVwZGF0ZXMgdHJpZ2dlcmVkIGZyb20gcm91dGUgd2hpY2ggY2F1c2VzIHRvIGZvcmNlIHVwZGF0ZSB2YWx1ZXMgaW4gZm9yY2UgbWV0YWRhdGFcbiAqIGFuZCB0aGVzZSBtdXN0IGJlIHByb3BhZ2F0ZWQgdGhyb3VnaCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYmV5b25kIHRvIHByaW1lTkcuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlLWNvbHVtbi1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNbmdUYWJsZUNvbHVtbkZpbHRlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGxvb2t1cFR5cGVEcm9wZG93bjogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU7XG5cbiAgICBASW5wdXQoKSBkZXNjcmlwdG9yITogRmlsdGVyRGVzY3JpcHRvcjxUPjtcbiAgICBASW5wdXQoKSBkaXNwbGF5ITogVGFibGVGaWx0ZXJEaXNwbGF5RW51bTtcblxuICAgIHB1YmxpYyBsb29rdXBEZXNjcmlwdG9yPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcblxuICAgIHB1YmxpYyBwcmltZUZpZWxkITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmltZVR5cGUgPSAndGV4dCc7XG4gICAgcHVibGljIHByaW1lU2hvd01hdGNoTW9kZSA9IHRydWU7XG4gICAgcHVibGljIHByaW1lRGVmYXVsdE1hdGNoTW9kZSE6IHN0cmluZztcbiAgICBwdWJsaWMgcHJpbWVEaXNwbGF5ID0gJ3Jvdyc7XG4gICAgcHVibGljIHByaW1lTWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByaW1lQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gdGhpcy5kZXNjcmlwdG9yLmRlZmF1bHRGaWx0ZXJNYXRjaE1vZGU7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0b3IuZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2Jvb2xlYW4nO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdudW1lcmljJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uRGF0ZTpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdkYXRlJztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZS5EQVRFX0FGVEVSO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnbG9va3VwJztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lU2hvd01hdGNoTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9va3VwRGVzY3JpcHRvciA9IHRoaXMuZGVzY3JpcHRvciBhcyBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPFQ+O1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVGaWVsZCA9IGAke3RoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eX0ke3RoaXMubG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHkgPyBgLiR7dGhpcy5sb29rdXBEZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eX1gIDogJyd9YDtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lTWF0Y2hNb2RlcyA9IFt7dmFsdWU6IEZpbHRlck1hdGNoTW9kZUVudW0uRXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJNYXRjaE1vZGVFbnVtLkVxdWFscyl9XTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uU3RyaW5nOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gRmlsdGVyTWF0Y2hNb2RlLkNPTlRBSU5TO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1lTWF0Y2hNb2RlcyA9IHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzLm1hcChtbSA9PiA8U2VsZWN0SXRlbT57dmFsdWU6IG1tLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihtbSl9KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLnByaW1lTWF0Y2hNb2Rlcy5tYXAobWF0Y2hNb2RlID0+IG1hdGNoTW9kZS52YWx1ZSkuaW5jbHVkZXModGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlc1swXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSB0aGlzLnByaW1lTWF0Y2hNb2Rlcz8ubGVuZ3RoID4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXkgPT09IFRhYmxlRmlsdGVyRGlzcGxheUVudW0uTWVudSkge1xuICAgICAgICAgICAgdGhpcy5wcmltZURpc3BsYXkgPSAnbWVudSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWx1ZVRvRGF0ZSh2YWx1ZTogdW5rbm93bik6IERhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2NhbGwnLCB0aGlzLmRlc2NyaXB0b3IucHJvcGVydHkpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIGRhdGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBhdXRvY29tcGxldGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBkcm9wZG93bkZpbHRlcih2YWx1ZTogVCwgZmlsdGVyQ2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0b0xvb2t1cEZpbHRlclZhbHVlKHZhbHVlPzogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvb2t1cERlc2NyaXB0b3IhLmRhdGFLZXlQcm9wZXJ0eSAmJiB2YWx1ZSA/IHtbdGhpcy5sb29rdXBEZXNjcmlwdG9yIS5kYXRhS2V5UHJvcGVydHldOiB2YWx1ZX0gOiB2YWx1ZTtcbiAgICB9XG59XG4iLCI8cC1jb2x1bW5GaWx0ZXJcbiAgICBjbGFzcz1cIm1sLWF1dG9cIlxuICAgIFt0eXBlXT1cInByaW1lVHlwZVwiXG4gICAgbWF0Y2hNb2RlPVwiZXF1YWxzXCJcbiAgICBbZmllbGRdPVwiZGVzY3JpcHRvci5wcm9wZXJ0eVwiXG4gICAgW2Rpc3BsYXldPVwicHJpbWVEaXNwbGF5XCJcbiAgICBbbWF0Y2hNb2RlXT1cInByaW1lRGVmYXVsdE1hdGNoTW9kZVwiXG4gICAgW21hdGNoTW9kZU9wdGlvbnNdPVwiJGFueShwcmltZU1hdGNoTW9kZXMpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUudHlwZVRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3Nob3dNYXRjaE1vZGVzXT1cInRydWVcIlxuICAgIFtzaG93T3BlcmF0b3JdPVwiZmFsc2VcIlxuICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbaGlkZU9uQ2xlYXJdPVwidHJ1ZVwiXG4gICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cIiRhbnkoZGVzY3JpcHRvci5udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cylcIlxuICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCIkYW55KGRlc2NyaXB0b3IubnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMpXCJcbiAgICBbdXNlR3JvdXBpbmddPVwiZGVzY3JpcHRvci5udW1iZXJVc2VHcm91cGluZ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInByaW1lVHlwZSA9PT0gJ2RhdGUnXCIgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LXZhbHVlIGxldC1maWx0ZXJDYWxsYmFjaz1cImZpbHRlckNhbGxiYWNrXCI+XG4gICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZUZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUudHlwZVRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkZXNjcmlwdG9yLmRhdGVQaWNrZXJGb3JtYXQgPz8gJ2RkLm1tLnl5J1wiXG4gICAgICAgICAgICBbc2hvd1RpbWVdPVwiZGVzY3JpcHRvci5kYXRlUGlja2VyU2hvd1RpbWVcIj5cbiAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibG9va3VwRGVzY3JpcHRvclwiIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC12YWx1ZSBsZXQtZmlsdGVyQ2FsbGJhY2s9XCJmaWx0ZXJDYWxsYmFja1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsb29rdXBEZXNjcmlwdG9yLmxvb2t1cFR5cGVcIj5cbiAgICAgICAgICAgIDxtbmctYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImxvb2t1cFR5cGVBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbZGF0YUtleVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNWYWx1ZVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFRyYW5zbGF0ZV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJsb29rdXBEZXNjcmlwdG9yLm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbb3Blbk9uRm9jdXNdPVwibG9va3VwRGVzY3JpcHRvci5hdXRvY29tcGxldGVPcGVuT25Gb2N1c1wiXG4gICAgICAgICAgICAgICAgW2lubGluZVNlYXJjaF09XCJsb29rdXBEZXNjcmlwdG9yLmF1dG9jb21wbGV0ZUlubGluZVNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlYXJjaFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJhdXRvY29tcGxldGVGaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFQcm92aWRlclwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zVmFsdWVQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxUcmFuc2xhdGVdPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlbGVjdFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJkcm9wZG93bkZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiPlxuICAgICAgICAgICAgPC9tbmctZHJvcGRvd24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3AtY29sdW1uRmlsdGVyPlxuIl19
@@ -1,71 +1,71 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
- import { ColumnTypeEnum } from '../../../../descriptors/types';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/api";
5
- import * as i2 from "@ngx-translate/core";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "../../../../directives/component.directive";
8
- import * as i5 from "primeng/button";
9
- import * as i6 from "primeng/ripple";
10
- import * as i7 from "../../../../pipes/json-path.pipe";
11
- import * as i8 from "../../../../pipes/boolean.pipe";
12
- import * as i9 from "../../../../pipes/enum.pipe";
13
- export class MngTableColumnValueComponent {
14
- constructor(elementRef, messageService, translate) {
15
- this.elementRef = elementRef;
16
- this.messageService = messageService;
17
- this.translate = translate;
18
- this.columnTypeString = ColumnTypeEnum.String;
19
- this.columnTypeNumber = ColumnTypeEnum.Number;
20
- this.columnTypeCurrency = ColumnTypeEnum.Currency;
21
- this.columnTypeBoolean = ColumnTypeEnum.Boolean;
22
- this.columnTypeDate = ColumnTypeEnum.Date;
23
- this.columnTypeEnum = ColumnTypeEnum.Enum;
24
- this.columnTypeCustom = ColumnTypeEnum.Custom;
25
- this.styleMaxWidth = null;
26
- this.className = 'nowrap';
27
- this.jsonPath = '$';
28
- }
29
- ngOnInit() {
30
- if (this.descriptor.columnType === ColumnTypeEnum.Currency) {
31
- this.currency = this.descriptor.currencyFromProperty ? this.item[this.descriptor.currencyFromProperty] : this.descriptor.currencyCode ?? 'EUR';
32
- }
33
- if (this.descriptor.maxWidth) {
34
- this.styleMaxWidth = this.descriptor.maxWidth;
35
- }
36
- if (this.descriptor.jsonPath) {
37
- this.jsonPath = this.descriptor.jsonPath;
38
- }
39
- else {
40
- this.jsonPath = `$.${this.descriptor.property}`;
41
- if (this.descriptor.objectModelType) {
42
- this.jsonPath = `$.${this.descriptor.property}.${this.descriptor.objectTitleProperty}`;
43
- }
44
- }
45
- }
46
- copyToClipboard(event) {
47
- event.stopPropagation();
48
- const value = this.elementRef.nativeElement.innerText.trim();
49
- navigator.clipboard.writeText(value);
50
- const title = this.translate.instant('mngTable.copyNotificationTitle');
51
- const message = this.translate.instant('mngTable.copyNotificationMessage', { value });
52
- this.messageService.add({ severity: 'info', summary: title, detail: message });
53
- }
54
- }
55
- MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, deps: [{ token: i0.ElementRef }, { token: i1.MessageService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
56
- MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, host: { properties: { "style.max-width.px": "this.styleMaxWidth", "class": "this.className" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCurrency\">\n {{ item | jsonPath: jsonPath | currency: currency:descriptor.currencyDisplay:descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}:host:hover .help-buttons{display:block}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i6.Ripple, selector: "[pRipple]" }], pipes: { "jsonPath": i7.JsonPathPipe, "number": i3.DecimalPipe, "currency": i3.CurrencyPipe, "date": i3.DatePipe, "boolean": i8.MngBooleanPipe, "translate": i2.TranslatePipe, "enum": i9.MngEnumPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCurrency\">\n {{ item | jsonPath: jsonPath | currency: currency:descriptor.currencyDisplay:descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}:host:hover .help-buttons{display:block}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"] }]
60
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MessageService }, { type: i2.TranslateService }]; }, propDecorators: { descriptor: [{
61
- type: Input
62
- }], item: [{
63
- type: Input
64
- }], styleMaxWidth: [{
65
- type: HostBinding,
66
- args: ['style.max-width.px']
67
- }], className: [{
68
- type: HostBinding,
69
- args: ['class']
70
- }] } });
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import { ColumnTypeEnum } from '../../../../descriptors/types';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "primeng/api";
5
+ import * as i2 from "@ngx-translate/core";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "../../../../directives/component.directive";
8
+ import * as i5 from "primeng/button";
9
+ import * as i6 from "primeng/ripple";
10
+ import * as i7 from "../../../../pipes/json-path.pipe";
11
+ import * as i8 from "../../../../pipes/boolean.pipe";
12
+ import * as i9 from "../../../../pipes/enum.pipe";
13
+ export class MngTableColumnValueComponent {
14
+ constructor(elementRef, messageService, translate) {
15
+ this.elementRef = elementRef;
16
+ this.messageService = messageService;
17
+ this.translate = translate;
18
+ this.columnTypeString = ColumnTypeEnum.String;
19
+ this.columnTypeNumber = ColumnTypeEnum.Number;
20
+ this.columnTypeCurrency = ColumnTypeEnum.Currency;
21
+ this.columnTypeBoolean = ColumnTypeEnum.Boolean;
22
+ this.columnTypeDate = ColumnTypeEnum.Date;
23
+ this.columnTypeEnum = ColumnTypeEnum.Enum;
24
+ this.columnTypeCustom = ColumnTypeEnum.Custom;
25
+ this.styleMaxWidth = null;
26
+ this.className = 'nowrap';
27
+ this.jsonPath = '$';
28
+ }
29
+ ngOnInit() {
30
+ if (this.descriptor.columnType === ColumnTypeEnum.Currency) {
31
+ this.currency = this.descriptor.currencyFromProperty ? this.item[this.descriptor.currencyFromProperty] : this.descriptor.currencyCode ?? 'EUR';
32
+ }
33
+ if (this.descriptor.maxWidth) {
34
+ this.styleMaxWidth = this.descriptor.maxWidth;
35
+ }
36
+ if (this.descriptor.jsonPath) {
37
+ this.jsonPath = this.descriptor.jsonPath;
38
+ }
39
+ else {
40
+ this.jsonPath = `$.${this.descriptor.property}`;
41
+ if (this.descriptor.objectModelType) {
42
+ this.jsonPath = `$.${this.descriptor.property}.${this.descriptor.objectTitleProperty}`;
43
+ }
44
+ }
45
+ }
46
+ copyToClipboard(event) {
47
+ event.stopPropagation();
48
+ const value = this.elementRef.nativeElement.innerText.trim();
49
+ navigator.clipboard.writeText(value);
50
+ const title = this.translate.instant('mngTable.copyNotificationTitle');
51
+ const message = this.translate.instant('mngTable.copyNotificationMessage', { value });
52
+ this.messageService.add({ severity: 'info', summary: title, detail: message });
53
+ }
54
+ }
55
+ MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, deps: [{ token: i0.ElementRef }, { token: i1.MessageService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
56
+ MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, host: { properties: { "style.max-width.px": "this.styleMaxWidth", "class": "this.className" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCurrency\">\n {{ item | jsonPath: jsonPath | currency: currency:descriptor.currencyDisplay:descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}:host:hover .help-buttons{display:block}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i6.Ripple, selector: "[pRipple]" }], pipes: { "jsonPath": i7.JsonPathPipe, "number": i3.DecimalPipe, "currency": i3.CurrencyPipe, "date": i3.DatePipe, "boolean": i8.MngBooleanPipe, "translate": i2.TranslatePipe, "enum": i9.MngEnumPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCurrency\">\n {{ item | jsonPath: jsonPath | currency: currency:descriptor.currencyDisplay:descriptor.displayFormat:descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}:host:hover .help-buttons{display:block}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"] }]
60
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MessageService }, { type: i2.TranslateService }]; }, propDecorators: { descriptor: [{
61
+ type: Input
62
+ }], item: [{
63
+ type: Input
64
+ }], styleMaxWidth: [{
65
+ type: HostBinding,
66
+ args: ['style.max-width.px']
67
+ }], className: [{
68
+ type: HostBinding,
69
+ args: ['class']
70
+ }] } });
71
71
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBTXpHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFRN0QsTUFBTSxPQUFPLDRCQUE0QjtJQW1CckMsWUFBb0IsVUFBc0IsRUFBVSxjQUE4QixFQUFVLFNBQTJCO1FBQW5HLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWxCdkcscUJBQWdCLEdBQW1CLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDekQscUJBQWdCLEdBQW1CLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDekQsdUJBQWtCLEdBQW1CLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDN0Qsc0JBQWlCLEdBQW1CLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDM0QsbUJBQWMsR0FBbUIsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNyRCxtQkFBYyxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3JELHFCQUFnQixHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO1FBSy9CLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUNqRCxjQUFTLEdBQUcsUUFBUSxDQUFDO1FBSTNDLGFBQVEsR0FBRyxHQUFHLENBQUM7SUFFb0csQ0FBQztJQUVwSCxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztTQUNsSjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNqRDtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUM1QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUMxRjtTQUNKO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFZO1FBQy9CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzs7eUhBL0NRLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLG1OQ2R6QywwNkRBb0NBOzJGRHRCYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzZKQVd0QyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFb0MsYUFBYTtzQkFBdEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0osU0FBUztzQkFBckMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtDb2x1bW5UeXBlRW51bX0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy10YWJsZS1jb2x1bW4tdmFsdWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbHVtbi12YWx1ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxlQ29sdW1uVmFsdWVDb21wb25lbnQ8VCwgVFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZVN0cmluZzogQ29sdW1uVHlwZUVudW0gPSBDb2x1bW5UeXBlRW51bS5TdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVOdW1iZXI6IENvbHVtblR5cGVFbnVtID0gQ29sdW1uVHlwZUVudW0uTnVtYmVyO1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlQ3VycmVuY3k6IENvbHVtblR5cGVFbnVtID0gQ29sdW1uVHlwZUVudW0uQ3VycmVuY3k7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVCb29sZWFuOiBDb2x1bW5UeXBlRW51bSA9IENvbHVtblR5cGVFbnVtLkJvb2xlYW47XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVEYXRlOiBDb2x1bW5UeXBlRW51bSA9IENvbHVtblR5cGVFbnVtLkRhdGU7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVFbnVtOiBDb2x1bW5UeXBlRW51bSA9IENvbHVtblR5cGVFbnVtLkVudW07XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVDdXN0b206IENvbHVtblR5cGVFbnVtID0gQ29sdW1uVHlwZUVudW0uQ3VzdG9tO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IENvbHVtbkRlc2NyaXB0b3I8VCwgVFQ+O1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aC5weCcpIHB1YmxpYyBzdHlsZU1heFdpZHRoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHVibGljIGNsYXNzTmFtZSA9ICdub3dyYXAnO1xuXG4gICAgcHVibGljIGN1cnJlbmN5Pzogc3RyaW5nO1xuXG4gICAgcHVibGljIGpzb25QYXRoID0gJyQnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZUVudW0uQ3VycmVuY3kpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSB0aGlzLmRlc2NyaXB0b3IuY3VycmVuY3lGcm9tUHJvcGVydHkgPyB0aGlzLml0ZW1bdGhpcy5kZXNjcmlwdG9yLmN1cnJlbmN5RnJvbVByb3BlcnR5XSA6IHRoaXMuZGVzY3JpcHRvci5jdXJyZW5jeUNvZGUgPz8gJ0VVUic7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlTWF4V2lkdGggPSB0aGlzLmRlc2NyaXB0b3IubWF4V2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gdGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fWA7XG4gICAgICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm9iamVjdE1vZGVsVHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSBgJC4ke3RoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eX0uJHt0aGlzLmRlc2NyaXB0b3Iub2JqZWN0VGl0bGVQcm9wZXJ0eX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0LnRyaW0oKTtcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ21uZ1RhYmxlLmNvcHlOb3RpZmljYXRpb25UaXRsZScpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbW5nVGFibGUuY29weU5vdGlmaWNhdGlvbk1lc3NhZ2UnLCB7dmFsdWV9KTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6IHRpdGxlLCBkZXRhaWw6IG1lc3NhZ2V9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXNjcmlwdG9yLmNvbHVtblR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlU3RyaW5nXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlTnVtYmVyXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBudW1iZXI6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdDpkZXNjcmlwdG9yLmxvY2FsZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVDdXJyZW5jeVwiPlxuICAgICAgICB7eyBpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgY3VycmVuY3k6IGN1cnJlbmN5OmRlc2NyaXB0b3IuY3VycmVuY3lEaXNwbGF5OmRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdDpkZXNjcmlwdG9yLmxvY2FsZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVEYXRlXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBkYXRlOiBkZXNjcmlwdG9yLmRpc3BsYXlGb3JtYXQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlQm9vbGVhblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRvci5ib29sZWFuQXNJY29uOyBlbHNlIGJvb2xlYW5UZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxpIFtjbGFzc109XCJpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vOnRydWVcIj48L2k+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9vbGVhblRleHQ+XG4gICAgICAgICAgICB7eyBpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUVudW1cIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB8IGVudW06IGRlc2NyaXB0b3IuZW51bVR5cGU6ZGVzY3JpcHRvci5lbnVtVGl0bGVQYXRoOmRlc2NyaXB0b3IuZW51bU5hbWVBc1ZhbHVlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUN1c3RvbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cImRlc2NyaXB0b3IuY3VzdG9tQ29tcG9uZW50VHlwZSFcIlxuICAgICAgICAgICAgW2lucHV0c109XCJ7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGgsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yXG4gICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJoZWxwLWJ1dHRvbnNcIiAqbmdJZj1cImRlc2NyaXB0b3IuaGFzQ29weVRvQ2xpcGJvYXJkXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1jb3B5XCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLWluZm8gcC1idXR0b24tc21cIiAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKCRldmVudClcIj48L2J1dHRvbj5cbjwvZGl2PlxuIl19