@mediusinc/mng-commons 0.7.1 → 0.8.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/assets/i18n/en.json +3 -0
  2. package/assets/i18n/sl.json +6 -1
  3. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  4. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  5. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  6. package/esm2020/lib/api/models/index.mjs +8 -8
  7. package/esm2020/lib/api/models/mappers.mjs +12 -12
  8. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  9. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  10. package/esm2020/lib/api/models/query-result.model.mjs +17 -17
  11. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  12. package/esm2020/lib/api/services/api.abstract.service.mjs +55 -55
  13. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +66 -66
  14. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +23 -23
  15. package/esm2020/lib/api/services/index.mjs +3 -3
  16. package/esm2020/lib/api/utils/index.mjs +2 -2
  17. package/esm2020/lib/api/utils/medius-rest.util.mjs +152 -152
  18. package/esm2020/lib/api/utils/object-serializer.util.mjs +243 -243
  19. package/esm2020/lib/components/action/action.component.mjs +177 -161
  20. package/esm2020/lib/components/action/editor/action-editor.component.mjs +230 -236
  21. package/esm2020/lib/components/action/index.mjs +3 -3
  22. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  23. package/esm2020/lib/components/action/models/action-execution.model.mjs +235 -59
  24. package/esm2020/lib/components/action/models/index.mjs +2 -2
  25. package/esm2020/lib/components/action/route/action-route.component.mjs +125 -127
  26. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +268 -268
  27. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +160 -160
  28. package/esm2020/lib/components/form/editor/form-editor.component.mjs +189 -189
  29. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +18 -18
  30. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +43 -43
  31. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +24 -24
  32. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +96 -56
  33. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +16 -16
  34. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +179 -179
  35. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +156 -156
  36. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +126 -126
  37. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +16 -16
  38. package/esm2020/lib/components/form/formly/fields/index.mjs +9 -9
  39. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +14 -14
  40. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +14 -14
  41. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  42. package/esm2020/lib/components/form/index.mjs +3 -3
  43. package/esm2020/lib/components/form/models/form-editor.event.mjs +34 -34
  44. package/esm2020/lib/components/form/models/index.mjs +1 -1
  45. package/esm2020/lib/components/layout/breadcrumb.component.mjs +16 -16
  46. package/esm2020/lib/components/layout/footer.component.mjs +16 -16
  47. package/esm2020/lib/components/layout/index.mjs +6 -6
  48. package/esm2020/lib/components/layout/main-layout.component.mjs +51 -51
  49. package/esm2020/lib/components/layout/menu-item.component.mjs +216 -216
  50. package/esm2020/lib/components/layout/menu.component.mjs +19 -19
  51. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  52. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +192 -192
  53. package/esm2020/lib/components/layout/topbar.component.mjs +57 -57
  54. package/esm2020/lib/components/tableview/index.mjs +6 -6
  55. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  56. package/esm2020/lib/components/tableview/models/table.event.mjs +15 -15
  57. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +57 -36
  58. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +53 -53
  59. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +101 -101
  60. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +71 -42
  61. package/esm2020/lib/components/tableview/table/table.component.mjs +430 -425
  62. package/esm2020/lib/components/tableview/tableview.component.mjs +92 -89
  63. package/esm2020/lib/config/formly.config.mjs +181 -163
  64. package/esm2020/lib/config/index.mjs +1 -1
  65. package/esm2020/lib/config/models/index.mjs +1 -1
  66. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  67. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  68. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  69. package/esm2020/lib/data-providers/index.mjs +5 -5
  70. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  71. package/esm2020/lib/data-providers/table.data-provider.mjs +16 -16
  72. package/esm2020/lib/data-providers/tableview.data-provider.mjs +16 -16
  73. package/esm2020/lib/descriptors/action.descriptor.mjs +623 -602
  74. package/esm2020/lib/descriptors/column.descriptor.mjs +272 -228
  75. package/esm2020/lib/descriptors/editor.descriptor.mjs +154 -154
  76. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +20 -20
  77. package/esm2020/lib/descriptors/field.descriptor.interface.mjs +1 -1
  78. package/esm2020/lib/descriptors/field.descriptor.mjs +864 -793
  79. package/esm2020/lib/descriptors/filter.descriptor.mjs +294 -294
  80. package/esm2020/lib/descriptors/index.mjs +11 -11
  81. package/esm2020/lib/descriptors/lookup.descriptor.mjs +1 -1
  82. package/esm2020/lib/descriptors/model.descriptor.mjs +33 -33
  83. package/esm2020/lib/descriptors/table.descriptor.mjs +213 -213
  84. package/esm2020/lib/descriptors/tableview.descriptor.mjs +134 -134
  85. package/esm2020/lib/directives/component.directive.mjs +43 -43
  86. package/esm2020/lib/directives/index.mjs +2 -2
  87. package/esm2020/lib/directives/template.directive.mjs +27 -27
  88. package/esm2020/lib/mng-commons.module.mjs +426 -426
  89. package/esm2020/lib/models/column-value.model.mjs +1 -1
  90. package/esm2020/lib/models/enum.model.mjs +1 -1
  91. package/esm2020/lib/models/error.model.mjs +1 -1
  92. package/esm2020/lib/models/index.mjs +6 -6
  93. package/esm2020/lib/models/menu.model.mjs +1 -1
  94. package/esm2020/lib/models/user.model.mjs +1 -1
  95. package/esm2020/lib/models/view-container.model.mjs +1 -1
  96. package/esm2020/lib/pipes/boolean.pipe.mjs +26 -26
  97. package/esm2020/lib/pipes/enum.pipe.mjs +24 -24
  98. package/esm2020/lib/pipes/i18n-property.pipe.mjs +17 -17
  99. package/esm2020/lib/pipes/index.mjs +5 -5
  100. package/esm2020/lib/pipes/json-path.pipe.mjs +79 -79
  101. package/esm2020/lib/pipes/link-formatter.pipe.mjs +38 -38
  102. package/esm2020/lib/router/index.mjs +1 -1
  103. package/esm2020/lib/router/models/index.mjs +1 -1
  104. package/esm2020/lib/router/models/router.model.mjs +1 -1
  105. package/esm2020/lib/router/route-builder.mjs +431 -431
  106. package/esm2020/lib/services/action-executor.service.mjs +535 -361
  107. package/esm2020/lib/services/commons.service.mjs +343 -343
  108. package/esm2020/lib/services/configuration.service.mjs +110 -110
  109. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  110. package/esm2020/lib/services/index.mjs +6 -6
  111. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  112. package/esm2020/lib/services/internal/commons-init.service.mjs +43 -43
  113. package/esm2020/lib/services/internal/index.mjs +2 -2
  114. package/esm2020/lib/services/navigation.service.mjs +47 -47
  115. package/esm2020/lib/services/providers/config-service.provider.mjs +29 -29
  116. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  117. package/esm2020/lib/services/providers/index.mjs +2 -2
  118. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  119. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  120. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  121. package/esm2020/lib/services/tokens/index.mjs +4 -4
  122. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  123. package/esm2020/lib/services/view-container.component.service.mjs +34 -34
  124. package/esm2020/lib/types/index.mjs +2 -2
  125. package/esm2020/lib/types/type.decorator.mjs +12 -12
  126. package/esm2020/lib/types/type.model.mjs +2 -2
  127. package/esm2020/lib/utils/action-data-provider.util.mjs +145 -116
  128. package/esm2020/lib/utils/editor-formly.util.mjs +210 -202
  129. package/esm2020/lib/utils/enum.util.mjs +81 -81
  130. package/esm2020/lib/utils/i18n.util.mjs +232 -232
  131. package/esm2020/lib/utils/index.mjs +7 -7
  132. package/esm2020/lib/utils/model.util.mjs +59 -59
  133. package/esm2020/lib/utils/notification.util.mjs +45 -45
  134. package/esm2020/lib/utils/route.util.mjs +23 -23
  135. package/esm2020/lib/utils/styles.util.mjs +40 -40
  136. package/esm2020/lib/utils/type.util.mjs +76 -76
  137. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  138. package/esm2020/public-api.mjs +39 -39
  139. package/fesm2015/mediusinc-mng-commons.mjs +9907 -9267
  140. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  141. package/fesm2020/mediusinc-mng-commons.mjs +9773 -9136
  142. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  143. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  144. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  145. package/lib/api/models/filter-param.model.d.ts +23 -23
  146. package/lib/api/models/index.d.ts +8 -8
  147. package/lib/api/models/mappers.d.ts +6 -6
  148. package/lib/api/models/query-mode.model.d.ts +16 -16
  149. package/lib/api/models/query-param.model.d.ts +31 -31
  150. package/lib/api/models/query-result.model.d.ts +23 -23
  151. package/lib/api/models/serialization.model.d.ts +8 -8
  152. package/lib/api/services/api.abstract.service.d.ts +24 -24
  153. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  154. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -11
  155. package/lib/api/services/index.d.ts +3 -3
  156. package/lib/api/utils/index.d.ts +2 -2
  157. package/lib/api/utils/medius-rest.util.d.ts +14 -14
  158. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  159. package/lib/components/action/action.component.d.ts +68 -65
  160. package/lib/components/action/editor/action-editor.component.d.ts +62 -59
  161. package/lib/components/action/index.d.ts +3 -3
  162. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  163. package/lib/components/action/models/action-execution.model.d.ts +129 -57
  164. package/lib/components/action/models/index.d.ts +2 -2
  165. package/lib/components/action/route/action-route.component.d.ts +31 -31
  166. package/lib/components/form/autocomplete/autocomplete.component.d.ts +53 -53
  167. package/lib/components/form/dropdown/dropdown.component.d.ts +44 -44
  168. package/lib/components/form/editor/form-editor.component.d.ts +45 -45
  169. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +12 -12
  170. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -14
  171. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +12 -12
  172. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +21 -14
  173. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +6 -6
  174. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +44 -44
  175. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +22 -22
  176. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
  177. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  178. package/lib/components/form/formly/fields/index.d.ts +9 -9
  179. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +6 -6
  180. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +6 -6
  181. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  182. package/lib/components/form/index.d.ts +3 -3
  183. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  184. package/lib/components/form/models/index.d.ts +1 -1
  185. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  186. package/lib/components/layout/footer.component.d.ts +9 -9
  187. package/lib/components/layout/index.d.ts +6 -6
  188. package/lib/components/layout/main-layout.component.d.ts +20 -20
  189. package/lib/components/layout/menu-item.component.d.ts +37 -37
  190. package/lib/components/layout/menu.component.d.ts +10 -10
  191. package/lib/components/layout/services/index.d.ts +1 -1
  192. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  193. package/lib/components/layout/topbar.component.d.ts +24 -24
  194. package/lib/components/tableview/index.d.ts +6 -6
  195. package/lib/components/tableview/models/index.d.ts +1 -1
  196. package/lib/components/tableview/models/table.event.d.ts +17 -17
  197. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -19
  198. package/lib/components/tableview/route/tableview-route.component.d.ts +18 -18
  199. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +31 -31
  200. package/lib/components/tableview/table/column-value/column-value.component.d.ts +28 -17
  201. package/lib/components/tableview/table/table.component.d.ts +104 -102
  202. package/lib/components/tableview/tableview.component.d.ts +41 -37
  203. package/lib/config/formly.config.d.ts +15 -15
  204. package/lib/config/index.d.ts +1 -1
  205. package/lib/config/models/index.d.ts +1 -1
  206. package/lib/config/models/mng-config.model.d.ts +34 -34
  207. package/lib/data-providers/base.data-provider.d.ts +14 -14
  208. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  209. package/lib/data-providers/index.d.ts +5 -5
  210. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  211. package/lib/data-providers/table.data-provider.d.ts +14 -14
  212. package/lib/data-providers/tableview.data-provider.d.ts +15 -15
  213. package/lib/descriptors/action.descriptor.d.ts +277 -270
  214. package/lib/descriptors/column.descriptor.d.ts +91 -76
  215. package/lib/descriptors/editor.descriptor.d.ts +44 -44
  216. package/lib/descriptors/field-validation.descriptor.d.ts +18 -18
  217. package/lib/descriptors/field.descriptor.d.ts +342 -314
  218. package/lib/descriptors/field.descriptor.interface.d.ts +9 -9
  219. package/lib/descriptors/filter.descriptor.d.ts +127 -127
  220. package/lib/descriptors/index.d.ts +11 -11
  221. package/lib/descriptors/lookup.descriptor.d.ts +17 -17
  222. package/lib/descriptors/model.descriptor.d.ts +15 -15
  223. package/lib/descriptors/table.descriptor.d.ts +80 -80
  224. package/lib/descriptors/tableview.descriptor.d.ts +42 -42
  225. package/lib/directives/component.directive.d.ts +16 -16
  226. package/lib/directives/index.d.ts +2 -2
  227. package/lib/directives/template.directive.d.ts +13 -13
  228. package/lib/mng-commons.module.d.ts +86 -86
  229. package/lib/models/column-value.model.d.ts +4 -4
  230. package/lib/models/enum.model.d.ts +6 -6
  231. package/lib/models/error.model.d.ts +14 -14
  232. package/lib/models/index.d.ts +6 -6
  233. package/lib/models/menu.model.d.ts +25 -25
  234. package/lib/models/user.model.d.ts +8 -8
  235. package/lib/models/view-container.model.d.ts +6 -6
  236. package/lib/pipes/boolean.pipe.d.ts +7 -7
  237. package/lib/pipes/enum.pipe.d.ts +8 -8
  238. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  239. package/lib/pipes/index.d.ts +5 -5
  240. package/lib/pipes/json-path.pipe.d.ts +13 -13
  241. package/lib/pipes/link-formatter.pipe.d.ts +11 -11
  242. package/lib/router/index.d.ts +1 -1
  243. package/lib/router/models/index.d.ts +1 -1
  244. package/lib/router/models/router.model.d.ts +22 -22
  245. package/lib/router/route-builder.d.ts +86 -86
  246. package/lib/services/action-executor.service.d.ts +149 -104
  247. package/lib/services/commons.service.d.ts +72 -72
  248. package/lib/services/configuration.service.d.ts +36 -36
  249. package/lib/services/error-mapper.service.d.ts +7 -7
  250. package/lib/services/index.d.ts +6 -6
  251. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  252. package/lib/services/internal/commons-init.service.d.ts +16 -16
  253. package/lib/services/internal/index.d.ts +2 -2
  254. package/lib/services/navigation.service.d.ts +14 -14
  255. package/lib/services/providers/config-service.provider.d.ts +6 -6
  256. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  257. package/lib/services/providers/index.d.ts +2 -2
  258. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  259. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  260. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  261. package/lib/services/tokens/index.d.ts +4 -4
  262. package/lib/services/tokens/module-config.token.d.ts +3 -3
  263. package/lib/services/view-container.component.service.d.ts +22 -22
  264. package/lib/types/index.d.ts +2 -2
  265. package/lib/types/type.decorator.d.ts +4 -4
  266. package/lib/types/type.model.d.ts +20 -17
  267. package/lib/utils/action-data-provider.util.d.ts +20 -17
  268. package/lib/utils/editor-formly.util.d.ts +10 -10
  269. package/lib/utils/enum.util.d.ts +50 -50
  270. package/lib/utils/i18n.util.d.ts +56 -56
  271. package/lib/utils/index.d.ts +7 -7
  272. package/lib/utils/model.util.d.ts +8 -8
  273. package/lib/utils/notification.util.d.ts +11 -11
  274. package/lib/utils/route.util.d.ts +4 -4
  275. package/lib/utils/styles.util.d.ts +14 -14
  276. package/lib/utils/type.util.d.ts +36 -36
  277. package/mediusinc-mng-commons-0.8.0-rc.3.tgz +0 -0
  278. package/mediusinc-mng-commons.d.ts +5 -5
  279. package/package.json +3 -2
  280. package/public-api.d.ts +28 -28
  281. package/scss/common/theme/designer/_components.scss +1 -1
  282. package/scss/mng-overrides/_theme_datatable.scss +2 -0
  283. package/scss/mng-overrides/_theme_forms.scss +16 -0
  284. package/scss/mng-overrides/_theme_styles.scss +1 -0
@@ -1,42 +1,71 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ColumnDescriptor } from '../../../../descriptors';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../../../../directives/component.directive";
6
- import * as i3 from "../../../../pipes/json-path.pipe";
7
- import * as i4 from "../../../../pipes/boolean.pipe";
8
- import * as i5 from "@ngx-translate/core";
9
- import * as i6 from "../../../../pipes/enum.pipe";
10
- export class MngTableColumnValueComponent {
11
- constructor() {
12
- this.columnTypeString = ColumnDescriptor.TypeEnum.String;
13
- this.columnTypeNumber = ColumnDescriptor.TypeEnum.Number;
14
- this.columnTypeBoolean = ColumnDescriptor.TypeEnum.Boolean;
15
- this.columnTypeDate = ColumnDescriptor.TypeEnum.Date;
16
- this.columnTypeEnum = ColumnDescriptor.TypeEnum.Enum;
17
- this.columnTypeCustom = ColumnDescriptor.TypeEnum.Custom;
18
- this.jsonPath = '$';
19
- }
20
- ngOnInit() {
21
- if (this.descriptor.jsonPath) {
22
- this.jsonPath = this.descriptor.jsonPath;
23
- }
24
- else {
25
- this.jsonPath = `$.${this.descriptor.property}`;
26
- if (this.descriptor.objectModelType) {
27
- this.jsonPath = `$.${this.descriptor.property}.${this.descriptor.objectTitleProperty}`;
28
- }
29
- }
30
- }
31
- }
32
- MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, 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 }}\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", directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }], pipes: { "jsonPath": i3.JsonPathPipe, "number": i1.DecimalPipe, "date": i1.DatePipe, "boolean": i4.MngBooleanPipe, "translate": i5.TranslatePipe, "enum": i6.MngEnumPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
35
- type: Component,
36
- 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 }}\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" }]
37
- }], propDecorators: { descriptor: [{
38
- type: Input
39
- }], item: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBT3pELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNb0IscUJBQWdCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDL0UscUJBQWdCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDL0Usc0JBQWlCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDakYsbUJBQWMsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMzRSxtQkFBYyxHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzNFLHFCQUFnQixHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBS3hGLGFBQVEsR0FBRyxHQUFHLENBQUM7S0FZekI7SUFWVSxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzFGO1NBQ0o7SUFDTCxDQUFDOzt5SEF0QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsa0hDVHpDLG85Q0E4QkE7MkZEckJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU07OEJBVXRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlLWNvbHVtbi12YWx1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5WYWx1ZUNvbXBvbmVudDxULCBUVD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlU3RyaW5nOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5TdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVOdW1iZXI6IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLk51bWJlcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUJvb2xlYW46IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLkJvb2xlYW47XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVEYXRlOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5EYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlRW51bTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUN1c3RvbTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uQ3VzdG9tO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IENvbHVtbkRlc2NyaXB0b3I8VCwgVFQ+O1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBhbnk7XG5cbiAgICBwdWJsaWMganNvblBhdGggPSAnJCc7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuanNvblBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSB0aGlzLmRlc2NyaXB0b3IuanNvblBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gYCQuJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9YDtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3Iub2JqZWN0TW9kZWxUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fS4ke3RoaXMuZGVzY3JpcHRvci5vYmplY3RUaXRsZVByb3BlcnR5fWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXNjcmlwdG9yLmNvbHVtblR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlU3RyaW5nXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlTnVtYmVyXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBudW1iZXI6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVEYXRlXCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBkYXRlOiBkZXNjcmlwdG9yLmRpc3BsYXlGb3JtYXQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlQm9vbGVhblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRvci5ib29sZWFuQXNJY29uOyBlbHNlIGJvb2xlYW5UZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxpIFtjbGFzc109XCJpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vOnRydWVcIj48L2k+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9vbGVhblRleHQ+XG4gICAgICAgICAgICB7eyBpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgYm9vbGVhbjogZGVzY3JpcHRvci5ib29sZWFuWWVzOmRlc2NyaXB0b3IuYm9vbGVhbk5vIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUVudW1cIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB8IGVudW06IGRlc2NyaXB0b3IuZW51bVR5cGU6ZGVzY3JpcHRvci5lbnVtVGl0bGVQYXRoOmRlc2NyaXB0b3IuZW51bU5hbWVBc1ZhbHVlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUN1c3RvbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cImRlc2NyaXB0b3IuY3VzdG9tQ29tcG9uZW50VHlwZSFcIlxuICAgICAgICAgICAgW2lucHV0c109XCJ7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGgsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yXG4gICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import { ColumnDescriptor } from '../../../../descriptors';
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 = ColumnDescriptor.TypeEnum.String;
19
+ this.columnTypeNumber = ColumnDescriptor.TypeEnum.Number;
20
+ this.columnTypeCurrency = ColumnDescriptor.TypeEnum.Currency;
21
+ this.columnTypeBoolean = ColumnDescriptor.TypeEnum.Boolean;
22
+ this.columnTypeDate = ColumnDescriptor.TypeEnum.Date;
23
+ this.columnTypeEnum = ColumnDescriptor.TypeEnum.Enum;
24
+ this.columnTypeCustom = ColumnDescriptor.TypeEnum.Custom;
25
+ this.styleMaxWidth = null;
26
+ this.className = 'nowrap';
27
+ this.jsonPath = '$';
28
+ }
29
+ ngOnInit() {
30
+ if (this.descriptor.columnType === ColumnDescriptor.TypeEnum.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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS3pHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQVF6RCxNQUFNLE9BQU8sNEJBQTRCO0lBbUJyQyxZQUFvQixVQUFzQixFQUFVLGNBQThCLEVBQVUsU0FBMkI7UUFBbkcsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBbEJ2RyxxQkFBZ0IsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMvRSxxQkFBZ0IsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMvRSx1QkFBa0IsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNuRixzQkFBaUIsR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNqRixtQkFBYyxHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzNFLG1CQUFjLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDM0UscUJBQWdCLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFLckQsa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBQ2pELGNBQVMsR0FBRyxRQUFRLENBQUM7UUFJM0MsYUFBUSxHQUFHLEdBQUcsQ0FBQztJQUVvRyxDQUFDO0lBRXBILFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1NBQ2xKO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzFGO1NBQ0o7SUFDTCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQVk7UUFDL0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDOzt5SEEvQ1EsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsbU5DYnpDLDA2REFvQ0E7MkZEdkJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07NkpBV3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVvQyxhQUFhO3NCQUF0RCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSixTQUFTO3NCQUFyQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TWVzc2FnZVNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlLWNvbHVtbi12YWx1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5WYWx1ZUNvbXBvbmVudDxULCBUVD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlU3RyaW5nOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5TdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVOdW1iZXI6IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLk51bWJlcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUN1cnJlbmN5OiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5DdXJyZW5jeTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUJvb2xlYW46IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0gPSBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtLkJvb2xlYW47XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtblR5cGVEYXRlOiBDb2x1bW5EZXNjcmlwdG9yLlR5cGVFbnVtID0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5EYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5UeXBlRW51bTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uVHlwZUN1c3RvbTogQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bSA9IENvbHVtbkRlc2NyaXB0b3IuVHlwZUVudW0uQ3VzdG9tO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IENvbHVtbkRlc2NyaXB0b3I8VCwgVFQ+O1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aC5weCcpIHB1YmxpYyBzdHlsZU1heFdpZHRoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHVibGljIGNsYXNzTmFtZSA9ICdub3dyYXAnO1xuXG4gICAgcHVibGljIGN1cnJlbmN5Pzogc3RyaW5nO1xuXG4gICAgcHVibGljIGpzb25QYXRoID0gJyQnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuY29sdW1uVHlwZSA9PT0gQ29sdW1uRGVzY3JpcHRvci5UeXBlRW51bS5DdXJyZW5jeSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW5jeSA9IHRoaXMuZGVzY3JpcHRvci5jdXJyZW5jeUZyb21Qcm9wZXJ0eSA/IHRoaXMuaXRlbVt0aGlzLmRlc2NyaXB0b3IuY3VycmVuY3lGcm9tUHJvcGVydHldIDogdGhpcy5kZXNjcmlwdG9yLmN1cnJlbmN5Q29kZSA/PyAnRVVSJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubWF4V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVNYXhXaWR0aCA9IHRoaXMuZGVzY3JpcHRvci5tYXhXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuanNvblBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSB0aGlzLmRlc2NyaXB0b3IuanNvblBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gYCQuJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9YDtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3Iub2JqZWN0TW9kZWxUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fS4ke3RoaXMuZGVzY3JpcHRvci5vYmplY3RUaXRsZVByb3BlcnR5fWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29weVRvQ2xpcGJvYXJkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQudHJpbSgpO1xuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbW5nVGFibGUuY29weU5vdGlmaWNhdGlvblRpdGxlJyk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdtbmdUYWJsZS5jb3B5Tm90aWZpY2F0aW9uTWVzc2FnZScsIHt2YWx1ZX0pO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogdGl0bGUsIGRldGFpbDogbWVzc2FnZX0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImRlc2NyaXB0b3IuY29sdW1uVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVTdHJpbmdcIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVOdW1iZXJcIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB8IG51bWJlcjogZGVzY3JpcHRvci5kaXNwbGF5Rm9ybWF0OmRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZUN1cnJlbmN5XCI+XG4gICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBjdXJyZW5jeTogY3VycmVuY3k6ZGVzY3JpcHRvci5jdXJyZW5jeURpc3BsYXk6ZGVzY3JpcHRvci5kaXNwbGF5Rm9ybWF0OmRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uVHlwZURhdGVcIj5cbiAgICAgICAge3sgaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCB8IGRhdGU6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtblR5cGVCb29sZWFuXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXNjcmlwdG9yLmJvb2xlYW5Bc0ljb247IGVsc2UgYm9vbGVhblRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGkgW2NsYXNzXT1cIml0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBib29sZWFuOiBkZXNjcmlwdG9yLmJvb2xlYW5ZZXM6ZGVzY3JpcHRvci5ib29sZWFuTm86dHJ1ZVwiPjwvaT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNib29sZWFuVGV4dD5cbiAgICAgICAgICAgIHt7IGl0ZW0gfCBqc29uUGF0aDoganNvblBhdGggfCBib29sZWFuOiBkZXNjcmlwdG9yLmJvb2xlYW5ZZXM6ZGVzY3JpcHRvci5ib29sZWFuTm8gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlRW51bVwiPlxuICAgICAgICB7eyBpdGVtIHwganNvblBhdGg6IGpzb25QYXRoIHwgZW51bTogZGVzY3JpcHRvci5lbnVtVHlwZTpkZXNjcmlwdG9yLmVudW1UaXRsZVBhdGg6ZGVzY3JpcHRvci5lbnVtTmFtZUFzVmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5UeXBlQ3VzdG9tXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFttbmdDb21wb25lbnRdPVwiZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlIVwiXG4gICAgICAgICAgICBbaW5wdXRzXT1cIntcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbSB8IGpzb25QYXRoOiBqc29uUGF0aCxcbiAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3I6IGRlc2NyaXB0b3JcbiAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cImhlbHAtYnV0dG9uc1wiICpuZ0lmPVwiZGVzY3JpcHRvci5oYXNDb3B5VG9DbGlwYm9hcmRcIj5cbiAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWNvcHlcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24taW5mbyBwLWJ1dHRvbi1zbVwiIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50KVwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=