@pega/angular-sdk-components 0.242.7 → 0.242.9

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 (250) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +3 -3
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -3
  3. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +3 -3
  4. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +3 -3
  5. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +3 -3
  6. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +3 -3
  7. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  8. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +4 -5
  9. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +9 -5
  11. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +3 -3
  12. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +3 -3
  13. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +3 -3
  14. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +3 -3
  15. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +9 -7
  16. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +3 -3
  17. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +3 -3
  18. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  19. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +15 -7
  20. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +3 -3
  22. package/esm2022/lib/_components/field/currency/currency.component.mjs +23 -18
  23. package/esm2022/lib/_components/field/date/date.component.mjs +3 -3
  24. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +21 -8
  25. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +38 -20
  26. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +16 -8
  27. package/esm2022/lib/_components/field/email/email.component.mjs +3 -3
  28. package/esm2022/lib/_components/field/group/group.component.mjs +3 -3
  29. package/esm2022/lib/_components/field/integer/integer.component.mjs +3 -3
  30. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +8 -7
  31. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +3 -3
  32. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +31 -23
  33. package/esm2022/lib/_components/field/phone/phone.component.mjs +10 -15
  34. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +3 -3
  35. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +14 -7
  36. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +3 -3
  37. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +3 -3
  38. package/esm2022/lib/_components/field/text/text.component.mjs +6 -6
  39. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +3 -3
  40. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +3 -3
  41. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +4 -4
  42. package/esm2022/lib/_components/field/time/time.component.mjs +23 -11
  43. package/esm2022/lib/_components/field/url/url.component.mjs +3 -3
  44. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +71 -12
  45. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +11 -6
  46. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
  47. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  48. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +5 -6
  49. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +3 -3
  50. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +3 -3
  51. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +5 -5
  52. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +4 -7
  53. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +10 -30
  54. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +3 -3
  55. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +7 -5
  56. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  57. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +3 -3
  59. package/esm2022/lib/_components/infra/reference/reference.component.mjs +68 -78
  60. package/esm2022/lib/_components/infra/region/region.component.mjs +3 -3
  61. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +24 -19
  62. package/esm2022/lib/_components/infra/stages/stages.component.mjs +3 -3
  63. package/esm2022/lib/_components/infra/view/view.component.mjs +3 -3
  64. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +3 -3
  65. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +3 -3
  66. package/esm2022/lib/_components/template/base/details-template-base.mjs +3 -3
  67. package/esm2022/lib/_components/template/base/form-template-base.mjs +3 -3
  68. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +3 -3
  69. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +3 -3
  70. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +5 -5
  71. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +3 -3
  72. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +6 -7
  73. package/esm2022/lib/_components/template/details/details.component.mjs +3 -3
  74. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +3 -3
  75. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +3 -3
  76. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +3 -3
  77. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +3 -3
  78. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +3 -3
  79. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +3 -3
  80. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +3 -3
  81. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +3 -3
  82. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +47 -38
  83. package/esm2022/lib/_components/template/field-group-template/utils.mjs +11 -0
  84. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +5 -5
  85. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +3 -3
  86. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +3 -3
  87. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +3 -3
  88. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +5 -5
  89. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +3 -3
  90. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +3 -3
  91. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
  92. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +3 -3
  93. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +3 -3
  94. package/esm2022/lib/_components/template/page/page.component.mjs +3 -3
  95. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +3 -3
  96. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +3 -3
  97. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +3 -3
  98. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +19 -3
  99. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +58 -24
  100. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +3 -3
  101. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +3 -3
  102. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +3 -3
  103. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
  104. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +3 -3
  105. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
  106. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +3 -3
  107. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +3 -3
  108. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
  109. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +3 -3
  110. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +3 -3
  111. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +3 -3
  112. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +3 -3
  113. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +3 -3
  114. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +3 -3
  115. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +3 -3
  116. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +3 -3
  117. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +3 -3
  118. package/esm2022/lib/_components/widget/todo/todo.component.mjs +5 -5
  119. package/esm2022/lib/_components/widget/utility/utility.component.mjs +3 -3
  120. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +3 -3
  121. package/esm2022/lib/_helpers/formatters/boolean.mjs +2 -2
  122. package/esm2022/lib/_helpers/formatters/common.mjs +6 -3
  123. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  124. package/esm2022/lib/_helpers/formatters/date.mjs +2 -2
  125. package/esm2022/lib/_helpers/formatters/format-utils.mjs +10 -2
  126. package/esm2022/lib/_helpers/formatters/index.mjs +16 -16
  127. package/esm2022/lib/_helpers/template-utils.mjs +3 -3
  128. package/esm2022/lib/_helpers/utils.mjs +40 -18
  129. package/esm2022/lib/_messages/error-messages.service.mjs +3 -3
  130. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  131. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  132. package/esm2022/lib/_services/banner.service.mjs +3 -3
  133. package/esm2022/lib/_services/case.service.mjs +3 -3
  134. package/esm2022/lib/_services/datapage.service.mjs +3 -3
  135. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  136. package/esm2022/public-api.mjs +5 -3
  137. package/fesm2022/pega-angular-sdk-components.mjs +940 -746
  138. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  139. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  140. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  141. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  142. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
  143. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  144. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
  145. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +5 -1
  146. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  147. package/lib/_components/field/check-box/check-box.component.d.ts +0 -1
  148. package/lib/_components/field/currency/currency.component.d.ts +0 -1
  149. package/lib/_components/field/date/date.component.d.ts +0 -1
  150. package/lib/_components/field/date-time/date-time.component.d.ts +1 -1
  151. package/lib/_components/field/decimal/decimal.component.d.ts +1 -1
  152. package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
  153. package/lib/_components/field/email/email.component.d.ts +0 -1
  154. package/lib/_components/field/group/group.component.d.ts +0 -1
  155. package/lib/_components/field/integer/integer.component.d.ts +0 -1
  156. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  157. package/lib/_components/field/multiselect/multiselect.component.d.ts +0 -1
  158. package/lib/_components/field/percentage/percentage.component.d.ts +1 -2
  159. package/lib/_components/field/phone/phone.component.d.ts +0 -7
  160. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +0 -1
  161. package/lib/_components/field/rich-text/rich-text.component.d.ts +1 -2
  162. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  163. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  164. package/lib/_components/field/text/text.component.d.ts +0 -1
  165. package/lib/_components/field/text-area/text-area.component.d.ts +0 -1
  166. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  167. package/lib/_components/field/text-input/text-input.component.d.ts +0 -1
  168. package/lib/_components/field/time/time.component.d.ts +1 -2
  169. package/lib/_components/field/url/url.component.d.ts +0 -1
  170. package/lib/_components/field/user-reference/user-reference.component.d.ts +0 -1
  171. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
  172. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  173. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +0 -2
  174. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  175. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  176. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  177. package/lib/_components/infra/assignment/assignment.component.d.ts +0 -1
  178. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +2 -11
  179. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  180. package/lib/_components/infra/defer-load/defer-load.component.d.ts +1 -1
  181. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  182. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  183. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -1
  184. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  185. package/lib/_components/infra/region/region.component.d.ts +0 -1
  186. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -1
  187. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  188. package/lib/_components/infra/view/view.component.d.ts +0 -1
  189. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  190. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  191. package/lib/_components/template/base/details-template-base.d.ts +0 -1
  192. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -1
  193. package/lib/_components/template/case-view/case-view.component.d.ts +0 -1
  194. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  195. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  196. package/lib/_components/template/default-form/default-form.component.d.ts +2 -3
  197. package/lib/_components/template/details/details.component.d.ts +0 -1
  198. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
  199. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
  200. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
  201. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
  202. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
  203. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
  204. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
  205. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  206. package/lib/_components/template/field-group-template/utils.d.ts +1 -0
  207. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  208. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  209. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  210. package/lib/_components/template/list-view/list-view.component.d.ts +1 -2
  211. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  212. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  213. package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
  214. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  215. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  216. package/lib/_components/template/page/page.component.d.ts +0 -1
  217. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  218. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  219. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  220. package/lib/_components/template/simple-table-manual/helpers.d.ts +9 -2
  221. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +8 -3
  222. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  223. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  224. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  225. package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
  226. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  227. package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
  228. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  229. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  230. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
  231. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
  232. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +1 -2
  233. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  234. package/lib/_components/widget/attachment/attachment.component.d.ts +1 -2
  235. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  236. package/lib/_components/widget/feed-container/feed-container.component.d.ts +0 -1
  237. package/lib/_components/widget/file-utility/file-utility.component.d.ts +0 -1
  238. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  239. package/lib/_components/widget/todo/todo.component.d.ts +1 -2
  240. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  241. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  242. package/lib/_helpers/formatters/common.d.ts +1 -1
  243. package/lib/_helpers/formatters/currency.d.ts +1 -2
  244. package/lib/_helpers/formatters/date.d.ts +1 -2
  245. package/lib/_helpers/formatters/index.d.ts +1 -2
  246. package/lib/_helpers/utils.d.ts +8 -0
  247. package/package.json +1 -1
  248. package/public-api.d.ts +4 -2
  249. package/esm2022/lib/_services/idle-detection.service.mjs +0 -26
  250. package/lib/_services/idle-detection.service.d.ts +0 -9
@@ -30,10 +30,10 @@ export class MultiReferenceReadonlyComponent {
30
30
  this.configProps$ = this.pConn$.getConfigProps();
31
31
  this.label = this.configProps$.label;
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiReferenceReadonlyComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiReferenceReadonlyComponent, isStandalone: true, selector: "app-multi-reference-readonly", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div>\n <h3 style=\"font-weight: bold; margin: 0\">{{ label }}</h3>\n <component-mapper name=\"SimpleTable\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiReferenceReadonlyComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultiReferenceReadonlyComponent, isStandalone: true, selector: "app-multi-reference-readonly", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div>\n <h3 style=\"font-weight: bold; margin: 0\">{{ label }}</h3>\n <component-mapper name=\"SimpleTable\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiReferenceReadonlyComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiReferenceReadonlyComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'app-multi-reference-readonly', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<div>\n <h3 style=\"font-weight: bold; margin: 0\">{{ label }}</h3>\n <component-mapper name=\"SimpleTable\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n" }]
39
39
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
@@ -16,10 +16,10 @@ export class NarrowWideFormComponent {
16
16
  updateSelf() {
17
17
  this.arChildren$ = this.pConn$.getChildren();
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NarrowWideFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NarrowWideFormComponent, isStandalone: true, selector: "app-narrow-wide-form", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-narrow-wide-column\">\n <div *ngFor=\"let kid of arChildren$\">\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.psdk-narrow-wide-column{display:flow-root;height:100%}.psdk-narrow-column{float:left;min-width:30%;padding:0rem .3125rem}.psdk-wide-column{float:left;width:70%;padding:0rem .3125rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NarrowWideFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NarrowWideFormComponent, isStandalone: true, selector: "app-narrow-wide-form", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-narrow-wide-column\">\n <div *ngFor=\"let kid of arChildren$\">\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.psdk-narrow-wide-column{display:flow-root;height:100%}.psdk-narrow-column{float:left;min-width:30%;padding:0rem .3125rem}.psdk-wide-column{float:left;width:70%;padding:0rem .3125rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NarrowWideFormComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NarrowWideFormComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'app-narrow-wide-form', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-narrow-wide-column\">\n <div *ngFor=\"let kid of arChildren$\">\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-narrow-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div class=\"psdk-wide-column\" *ngIf=\"kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.psdk-narrow-wide-column{display:flow-root;height:100%}.psdk-narrow-column{float:left;min-width:30%;padding:0rem .3125rem}.psdk-wide-column{float:left;width:70%;padding:0rem .3125rem}\n"] }]
25
25
  }], propDecorators: { pConn$: [{
@@ -17,10 +17,10 @@ export class OneColumnComponent extends FormTemplateBase {
17
17
  updateSelf() {
18
18
  this.arChildren$ = this.pConn$.getChildren();
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OneColumnComponent, isStandalone: true, selector: "app-one-column", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'Region' && kid.getPConnect().getRawMetadata()['name'] === 'A'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'View'\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'CaseCreateStage'\">\n <component-mapper name=\"CaseCreateStage\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OneColumnComponent, isStandalone: true, selector: "app-one-column", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'Region' && kid.getPConnect().getRawMetadata()['name'] === 'A'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'View'\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'CaseCreateStage'\">\n <component-mapper name=\"CaseCreateStage\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'app-one-column', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'Region' && kid.getPConnect().getRawMetadata()['name'] === 'A'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'View'\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"kid.getPConnect().getRawMetadata()['type'] === 'CaseCreateStage'\">\n <component-mapper name=\"CaseCreateStage\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}\n"] }]
26
26
  }], propDecorators: { pConn$: [{
@@ -2,10 +2,10 @@ import { Component, Input, forwardRef } from '@angular/core';
2
2
  import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class OneColumnPageComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OneColumnPageComponent, isStandalone: true, selector: "app-one-column-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper name=\"OneColumn\" [props]=\"{ formGroup$, pConn$ }\"></component-mapper>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OneColumnPageComponent, isStandalone: true, selector: "app-one-column-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper name=\"OneColumn\" [props]=\"{ formGroup$, pConn$ }\"></component-mapper>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnPageComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnPageComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'app-one-column-page', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper name=\"OneColumn\" [props]=\"{ formGroup$, pConn$ }\"></component-mapper>\n" }]
11
11
  }], propDecorators: { pConn$: [{
@@ -16,10 +16,10 @@ export class OneColumnTabComponent {
16
16
  updateSelf() {
17
17
  this.arChildren$ = this.pConn$.getChildren();
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OneColumnTabComponent, isStandalone: true, selector: "app-one-column-tab", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-one-column-tab\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-one-column-tab{background-color:var(--app-form-color);margin-top:.5rem;margin-bottom:.5rem;border-radius:.3125rem;padding:10px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OneColumnTabComponent, isStandalone: true, selector: "app-one-column-tab", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-one-column-tab\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-one-column-tab{background-color:var(--app-form-color);margin-top:.5rem;margin-bottom:.5rem;border-radius:.3125rem;padding:10px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OneColumnTabComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneColumnTabComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'app-one-column-tab', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-one-column-tab\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-one-column-tab{background-color:var(--app-form-color);margin-top:.5rem;margin-bottom:.5rem;border-radius:.3125rem;padding:10px}\n"] }]
25
25
  }], propDecorators: { pConn$: [{
@@ -38,10 +38,10 @@ export class PageComponent {
38
38
  // this.psService.sendMessage(false);
39
39
  }
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PageComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PageComponent, isStandalone: true, selector: "app-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div class=\"psdk-page-title\">\n <h2>{{ title$ }}</h2>\n</div>\n<div class=\"page-body\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-page-title{padding-left:.2rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageComponent, isStandalone: true, selector: "app-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div class=\"psdk-page-title\">\n <h2>{{ title$ }}</h2>\n</div>\n<div class=\"page-body\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-page-title{padding-left:.2rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PageComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'app-page', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-page-title\">\n <h2>{{ title$ }}</h2>\n</div>\n<div class=\"page-body\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Page Missing: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</div>\n", styles: [".psdk-page-title{padding-left:.2rem}\n"] }]
47
47
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
@@ -125,10 +125,10 @@ export class PromotedFiltersComponent {
125
125
  this.showTable = false;
126
126
  this.pConn$?.getListActions?.()?.setSelectedRows([]); // Clear the selection (if any made by user)
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PromotedFiltersComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PromotedFiltersComponent, isStandalone: true, selector: "app-promoted-filters", inputs: { viewName: "viewName", filters: "filters", listViewProps: "listViewProps", pageClass: "pageClass", pConn$: "pConn$", formGroup$: "formGroup$", parameters: "parameters" }, ngImport: i0, template: "<div>\n <div>{{ listViewProps.title }}</div>\n <div *ngIf=\"showFilters\" class=\"psdk-grid-filter\">\n <div *ngFor=\"let kid of processedFilters\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Promoted filters wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </div>\n\n <div>\n <button key=\"1\" type=\"button\" (click)=\"clearFilterData()\" data-testid=\"clear\" mat-raised-button color=\"secondary\">\n {{ localizedVal('Clear', localeCategory) }}\n </button>\n <button style=\"float: 'right'\" key=\"2\" type=\"submit\" (click)=\"getFilterData()\" data-testid=\"search\" mat-raised-button color=\"primary\">\n {{ localizedVal('Search', localeCategory) }}\n </button>\n </div>\n <div *ngIf=\"showTable\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$, payload }\"></component-mapper>\n </div>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromotedFiltersComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PromotedFiltersComponent, isStandalone: true, selector: "app-promoted-filters", inputs: { viewName: "viewName", filters: "filters", listViewProps: "listViewProps", pageClass: "pageClass", pConn$: "pConn$", formGroup$: "formGroup$", parameters: "parameters" }, ngImport: i0, template: "<div>\n <div>{{ listViewProps.title }}</div>\n <div *ngIf=\"showFilters\" class=\"psdk-grid-filter\">\n <div *ngFor=\"let kid of processedFilters\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Promoted filters wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </div>\n\n <div>\n <button key=\"1\" type=\"button\" (click)=\"clearFilterData()\" data-testid=\"clear\" mat-raised-button color=\"secondary\">\n {{ localizedVal('Clear', localeCategory) }}\n </button>\n <button style=\"float: 'right'\" key=\"2\" type=\"submit\" (click)=\"getFilterData()\" data-testid=\"search\" mat-raised-button color=\"primary\">\n {{ localizedVal('Search', localeCategory) }}\n </button>\n </div>\n <div *ngIf=\"showTable\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$, payload }\"></component-mapper>\n </div>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PromotedFiltersComponent, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromotedFiltersComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'app-promoted-filters', standalone: true, imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div>{{ listViewProps.title }}</div>\n <div *ngIf=\"showFilters\" class=\"psdk-grid-filter\">\n <div *ngFor=\"let kid of processedFilters\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Promoted filters wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </div>\n\n <div>\n <button key=\"1\" type=\"button\" (click)=\"clearFilterData()\" data-testid=\"clear\" mat-raised-button color=\"secondary\">\n {{ localizedVal('Clear', localeCategory) }}\n </button>\n <button style=\"float: 'right'\" key=\"2\" type=\"submit\" (click)=\"getFilterData()\" data-testid=\"search\" mat-raised-button color=\"primary\">\n {{ localizedVal('Search', localeCategory) }}\n </button>\n </div>\n <div *ngIf=\"showTable\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$, payload }\"></component-mapper>\n </div>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
134
134
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { viewName: [{
@@ -120,10 +120,10 @@ export class RepeatingStructuresComponent {
120
120
  getDisplayColumns(fields = []) {
121
121
  return fields.map((field) => field.name);
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RepeatingStructuresComponent, deps: [{ token: i1.ProgressSpinnerService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RepeatingStructuresComponent, isStandalone: true, selector: "app-repeating-structures", inputs: { pConn$: "pConn$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RepeatingStructuresComponent, deps: [{ token: i1.ProgressSpinnerService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RepeatingStructuresComponent, isStandalone: true, selector: "app-repeating-structures", inputs: { pConn$: "pConn$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RepeatingStructuresComponent, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RepeatingStructuresComponent, decorators: [{
127
127
  type: Component,
128
128
  args: [{ selector: 'app-repeating-structures', standalone: true, imports: [CommonModule, MatFormFieldModule, MatIconModule, MatInputModule, MatTableModule, MatSortModule, MatPaginatorModule], template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"] }]
129
129
  }], ctorParameters: () => [{ type: i1.ProgressSpinnerService }, { type: i2.Utils }], propDecorators: { paginator: [{
@@ -90,10 +90,10 @@ export class SimpleTableComponent {
90
90
  onStateChange() {
91
91
  this.checkAndUpdate();
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SimpleTableComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SimpleTableComponent, isStandalone: true, selector: "app-simple-table", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<ng-container *ngIf=\"bVisible$\">\n <div *ngIf=\"fieldGroupProps || listViewProps; else table\">\n <div *ngIf=\"fieldGroupProps\">\n <component-mapper name=\"FieldGroupTemplate\" [props]=\"{ configProps$: fieldGroupProps, pConn$, formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"listViewProps\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$: refToPConnect, payload: listViewProps }\"></component-mapper>\n </div>\n </div>\n <ng-template #table>\n <component-mapper name=\"SimpleTableManual\" [props]=\"{ pConn$, formGroup$ }\"></component-mapper>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTableComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SimpleTableComponent, isStandalone: true, selector: "app-simple-table", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<ng-container *ngIf=\"bVisible$\">\n <div *ngIf=\"fieldGroupProps || listViewProps; else table\">\n <div *ngIf=\"fieldGroupProps\">\n <component-mapper name=\"FieldGroupTemplate\" [props]=\"{ configProps$: fieldGroupProps, pConn$, formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"listViewProps\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$: refToPConnect, payload: listViewProps }\"></component-mapper>\n </div>\n </div>\n <ng-template #table>\n <component-mapper name=\"SimpleTableManual\" [props]=\"{ pConn$, formGroup$ }\"></component-mapper>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SimpleTableComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTableComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'app-simple-table', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<ng-container *ngIf=\"bVisible$\">\n <div *ngIf=\"fieldGroupProps || listViewProps; else table\">\n <div *ngIf=\"fieldGroupProps\">\n <component-mapper name=\"FieldGroupTemplate\" [props]=\"{ configProps$: fieldGroupProps, pConn$, formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"listViewProps\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$: refToPConnect, payload: listViewProps }\"></component-mapper>\n </div>\n </div>\n <ng-template #table>\n <component-mapper name=\"SimpleTableManual\" [props]=\"{ pConn$, formGroup$ }\"></component-mapper>\n </ng-template>\n</ng-container>\n" }]
99
99
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.Utils }], propDecorators: { pConn$: [{
@@ -177,7 +177,7 @@ export const createMetaForTable = (fields, renderMode) => {
177
177
  };
178
178
  };
179
179
  export const filterDataByDate = (item, filterObj) => {
180
- let bKeep;
180
+ let bKeep = true;
181
181
  let value = item[filterObj.ref] != null || item[filterObj.ref] != '' ? getSeconds(item[filterObj.ref]) : null;
182
182
  let filterValue = filterObj.containsFilterValue != null && filterObj.containsFilterValue != '' ? getSeconds(filterObj.containsFilterValue) : null;
183
183
  switch (filterObj.containsFilter) {
@@ -219,7 +219,7 @@ export const filterDataByDate = (item, filterObj) => {
219
219
  return bKeep;
220
220
  };
221
221
  export const filterDataByCommonFields = (item, filterObj) => {
222
- let bKeep;
222
+ let bKeep = true;
223
223
  const value = item[filterObj.ref].toLowerCase();
224
224
  const filterValue = filterObj.containsFilterValue.toLowerCase();
225
225
  switch (filterObj.containsFilter) {
@@ -268,4 +268,20 @@ export const createPConnect = (contextName, referenceList, pageReference) => {
268
268
  const { getPConnect } = PCore.createPConnect(config);
269
269
  return getPConnect();
270
270
  };
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUV4Qyw0RUFBNEU7QUFDNUUsMEJBQTBCO0FBQzFCLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ2pDLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNO1lBQ1QsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLE1BQU07WUFDVCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDWixNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFdBQVc7WUFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxH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RSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckQsT0FBTyxXQUFXLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTZWNvbmRzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFRBQkxFX0NFTEwgPSAnU2RrUmVuZGVyZXInO1xuZXhwb3J0IGNvbnN0IERFTEVURV9JQ09OID0gJ0RlbGV0ZUljb24nO1xuXG4vLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gZ2V0RmllbGRXaWR0aChmaWVsZCwgbGFiZWwpIHtcbiAgbGV0IHdpZHRoO1xuICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICBjYXNlICdUaW1lJzpcbiAgICAgIHdpZHRoID0gMTUwO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0ZSc6XG4gICAgICB3aWR0aCA9IDE2MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICAgIHdpZHRoID0gMjA1O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnQXV0b0NvbXBsZXRlJzpcbiAgICBjYXNlICdUZXh0QXJlYSc6XG4gICAgICB3aWR0aCA9IDE5MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0N1cnJlbmN5JzpcbiAgICBjYXNlICdUZXh0SW5wdXQnOlxuICAgICAgd2lkdGggPSAxODI7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdDaGVja2JveCc6XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcbiAgICAgIGNvbnN0IHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHQpO1xuICAgICAgdGV4dC5zdHlsZS5mb250U2l6ZSA9ICcxM3B4JztcbiAgICAgIHRleHQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgdGV4dC5pbm5lckhUTUwgPSBsYWJlbDtcbiAgICAgIHdpZHRoID0gTWF0aC5jZWlsKHRleHQuY2xpZW50V2lkdGgpICsgMzA7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHQpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHdpZHRoID0gMTgwO1xuICB9XG4gIHJldHVybiB3aWR0aDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldENvbnRleHQgPSB0aGVQQ29ubiA9PiB7XG4gIGNvbnN0IGNvbnRleHROYW1lID0gdGhlUENvbm4uZ2V0Q29udGV4dE5hbWUoKTtcbiAgY29uc3QgcGFnZVJlZmVyZW5jZSA9IHRoZVBDb25uLmdldFBhZ2VSZWZlcmVuY2UoKTtcbiAgY29uc3QgeyByZWFkb25seUNvbnRleHRMaXN0LCByZWZlcmVuY2VMaXN0ID0gcmVhZG9ubHlDb250ZXh0TGlzdCB9ID0gdGhlUENvbm4uZ2V0U3RhdGVQcm9wcygpPy5jb25maWcgfHwgdGhlUENvbm4uZ2V0U3RhdGVQcm9wcygpO1xuXG4gIGNvbnN0IHBhZ2VSZWZlcmVuY2VGb3JSb3dzID0gcmVmZXJlbmNlTGlzdC5zdGFydHNXaXRoKCcuJykgPyBgJHtwYWdlUmVmZXJlbmNlfS4ke3JlZmVyZW5jZUxpc3Quc3Vic3RyaW5nKDEpfWAgOiByZWZlcmVuY2VMaXN0O1xuICBjb25zdCB2aWV3TmFtZSA9IHRoZVBDb25uLnZpZXdOYW1lO1xuXG4gIC8vIHJlbW92aW5nIFwiY2FzZUluZm8uY29udGVudFwiIHByZWZpeCB0byBhdm9pZCBzZXR0aW5nIGl0IGFzIGEgdGFyZ2V0IHdoaWxlIHByZXBhcmluZyBwYWdlSW5zdHJ1Y3Rpb25zXG4gIC8vIHNraXBwaW5nIHRoZSByZW1vdmFsIGFzIFN0YXRlTWFjaGluZSBpdHNlbGYgaXMgcmVtb3ZpbmcgdGhpcyBjYXNlIGluZm8gcHJlZml4IHdoaWxlIHByZXBhcmluZyBwYWdlSW5zdHJ1Y3Rpb25zXG4gIC8vIHJlZmVyZW5jZUxpc3QgPSBwYWdlUmVmZXJlbmNlRm9yUm93cy5yZXBsYWNlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5DQVNFX0lORk9fQ09OVEVOVCwgJycpO1xuXG4gIHJldHVybiB7XG4gICAgY29udGV4dE5hbWUsXG4gICAgcmVmZXJlbmNlTGlzdFN0cjogcmVmZXJlbmNlTGlzdCxcbiAgICBwYWdlUmVmZXJlbmNlRm9yUm93cyxcbiAgICB2aWV3TmFtZVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVsYXRlUm93S2V5ID0gcmF3RGF0YSA9PiB7XG4gIHJldHVybiByYXdEYXRhLm1hcCgocm93LCBpbmRleCkgPT4ge1xuICAgIHJldHVybiB7IC4uLnJvdywgaW5kZXggfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXBpQ29udGV4dCA9IChwcm9jZXNzZWREYXRhLCBwQ29ubmVjdCwgcmVvcmRlckNCKSA9PiB7XG4gIHJldHVybiB7XG4gICAgZmV0Y2hEYXRhOiAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgIGRhdGE6IHByb2Nlc3NlZERhdGEsXG4gICAgICAgICAgZmlsdGVyZWRSZWNvcmRDb3VudDogcHJvY2Vzc2VkRGF0YS5sZW5ndGgsXG4gICAgICAgICAgdG90YWxSZWNvcmRDb3VudDogcHJvY2Vzc2VkRGF0YS5sZW5ndGhcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGZldGNoUGVyc29uYWxpemF0aW9uczogKCkgPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7fSk7XG4gICAgfSxcbiAgICBhcHBseVJvd1Jlb3JkZXI6IChzb3VyY2VLZXksIGRlc3RpbmF0aW9uS2V5KSA9PiB7XG4gICAgICAvLyBpbmRleGVzIGFyZSBrZXlzIGZvciBzaW1wbGUgdGFibGUgc28sIGl0IHNob3VsZCB3b3JrLlxuICAgICAgcmVvcmRlckNCKCk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBDb25uZWN0LmdldExpc3RBY3Rpb25zKCkucmVvcmRlcihwYXJzZUludChzb3VyY2VLZXksIDEwKSwgcGFyc2VJbnQoZGVzdGluYXRpb25LZXksIDEwKSkpO1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZE1ldGFGb3JMaXN0VmlldyA9IChmaWVsZE1ldGFkYXRhLCBmaWVsZHMsIHR5cGUsIHJ1bGVDbGFzcywgbmFtZSwgcHJvcGVydHlMYWJlbCwgaXNEYXRhT2JqZWN0LCBwYXJhbWV0ZXJzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICBjb25maWc6IHtcbiAgICAgIHR5cGUsXG4gICAgICByZWZlcmVuY2VMaXN0OiBmaWVsZE1ldGFkYXRhLmRhdGFzb3VyY2UubmFtZSxcbiAgICAgIHBhcmFtZXRlcnM6IHBhcmFtZXRlcnMgPz8gZmllbGRNZXRhZGF0YS5kYXRhc291cmNlLnBhcmFtZXRlcnMsXG4gICAgICBwZXJzb25hbGl6YXRpb246IGZhbHNlLFxuICAgICAgaXNEYXRhT2JqZWN0LFxuICAgICAgZ3JvdXBpbmc6IHRydWUsXG4gICAgICBnbG9iYWxTZWFyY2g6IHRydWUsXG4gICAgICByZW9yZGVyRmllbGRzOiB0cnVlLFxuICAgICAgdG9nZ2xlRmllbGRWaXNpYmlsaXR5OiB0cnVlLFxuICAgICAgdGl0bGU6IHByb3BlcnR5TGFiZWwsXG4gICAgICBwZXJzb25hbGl6YXRpb25JZDogJycgLyogVE9ETyAqLyxcbiAgICAgIHRlbXBsYXRlOiAnTGlzdFZpZXcnLFxuICAgICAgcHJlc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3ByZXNldHMnLFxuICAgICAgICAgIHRlbXBsYXRlOiAnVGFibGUnLFxuICAgICAgICAgIGNvbmZpZzoge30sXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ0NvbHVtbnMnLFxuICAgICAgICAgICAgICB0eXBlOiAnUmVnaW9uJyxcbiAgICAgICAgICAgICAgY2hpbGRyZW46IGZpZWxkc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGFiZWw6IHByb3BlcnR5TGFiZWwsXG4gICAgICAgICAgaWQ6ICdQXycgLyogVE9ETyAqL1xuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgcnVsZUNsYXNzXG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmllbGRzRm9yVGFibGUgPSAoY29uZmlnRmllbGRzLCBmaWVsZHMsIHNob3dEZWxldGVCdXR0b24pID0+IHtcbiAgY29uc3QgZmllbGREZWZzID0gY29uZmlnRmllbGRzPy5tYXAoKGZpZWxkLCBpbmRleCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsYWJlbDogZmllbGRzW2luZGV4XS5jb25maWcubGFiZWwgfHwgZmllbGRzW2luZGV4XS5jb25maWcuY2FwdGlvbixcbiAgICAgIGZpbGxBdmFpbGFibGVTcGFjZTogISFmaWVsZC5jb25maWcuZmlsbEF2YWlsYWJsZVNwYWNlLFxuICAgICAgaWQ6IGAke2luZGV4fWAsXG4gICAgICBuYW1lOiBmaWVsZC5jb25maWcudmFsdWUuc3Vic3RyKDQpLFxuICAgICAgY2VsbFJlbmRlcmVyOiBUQUJMRV9DRUxMLFxuICAgICAgc29ydDogZmFsc2UsXG4gICAgICBub0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc2hvd01lbnU6IGZhbHNlLFxuICAgICAgbWV0YToge1xuICAgICAgICAuLi5maWVsZFxuICAgICAgfSxcbiAgICAgIC8vIEJVRy02MTUyNTM6IFdvcmthcm91bmQgZm9yIGF1dG9zaXplIGluIHRhYmxlIHdpdGggbGF6eSBsb2FkaW5nIGNvbXBvbmVudHNcbiAgICAgIHdpZHRoOiBnZXRGaWVsZFdpZHRoKGZpZWxkLCBmaWVsZHNbaW5kZXhdLmNvbmZpZy5sYWJlbClcbiAgICB9O1xuICB9KTtcblxuICAvLyBPTkxZIGFkZCBERUxFVEVfSUNPTiB0byBmaWVsZHMgd2hlbiB0aGUgdGFibGUgaXMgcmVxdWVzdGVkIGFzIEVESVRBQkxFXG4gIGlmIChzaG93RGVsZXRlQnV0dG9uKSB7XG4gICAgZmllbGREZWZzLnB1c2goe1xuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgbmFtZTogREVMRVRFX0lDT04sXG4gICAgICBpZDogZmllbGREZWZzLmxlbmd0aCxcbiAgICAgIGNlbGxSZW5kZXJlcjogREVMRVRFX0lDT04sXG4gICAgICBzb3J0OiBmYWxzZSxcbiAgICAgIG5vQ29udGV4dE1lbnU6IHRydWUsXG4gICAgICBzaG93TWVudTogZmFsc2UsXG4gICAgICAvLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4gICAgICB3aWR0aDogNDZcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBmaWVsZERlZnM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWV0YUZvclRhYmxlID0gKGZpZWxkcywgcmVuZGVyTW9kZSkgPT4ge1xuICByZXR1cm4ge1xuICAgIGhlaWdodDoge1xuICAgICAgbWluSGVpZ2h0OiAnYXV0bycsXG4gICAgICBmaXRIZWlnaHRUb0VsZW1lbnQ6ICdmaXRIZWlnaHRUb0VsZW1lbnQnLFxuICAgICAgZGVsdGFBZGp1c3RtZW50OiAnZGVsdGFBZGp1c3RtZW50JyxcbiAgICAgIGF1dG9TaXplOiB0cnVlXG4gICAgfSxcbiAgICBmaWVsZERlZnM6IGZpZWxkcyxcbiAgICBpdGVtS2V5OiAnaW5kZXgnLFxuICAgIGdyb3VwaW5nOiBmYWxzZSxcbiAgICByZW9yZGVyRmllbGRzOiBmYWxzZSxcbiAgICByZW9yZGVySXRlbXM6IHJlbmRlck1vZGUgPT09ICdFZGl0YWJsZScsXG4gICAgZHJhZ0hhbmRsZTogcmVuZGVyTW9kZSA9PT0gJ0VkaXRhYmxlJyxcbiAgICBnbG9iYWxTZWFyY2g6IGZhbHNlLFxuICAgIHBlcnNvbmFsaXphdGlvbjogZmFsc2UsXG4gICAgdG9nZ2xlRmllbGRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICB0b29sYmFyOiBmYWxzZSxcbiAgICBmb290ZXI6IGZhbHNlLFxuICAgIGZpbHRlckV4cHJlc3Npb246IG51bGwsXG4gICAgZWRpdGluZzogZmFsc2UsXG4gICAgdGltZXpvbmU6IFBDb3JlLmdldEVudmlyb25tZW50SW5mbygpLmdldFRpbWVab25lKClcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRhQnlEYXRlID0gKGl0ZW0sIGZpbHRlck9iaikgPT4ge1xuICBsZXQgYktlZXA7XG4gIGxldCB2YWx1ZSA9IGl0ZW1bZmlsdGVyT2JqLnJlZl0gIT0gbnVsbCB8fCBpdGVtW2ZpbHRlck9iai5yZWZdICE9ICcnID8gZ2V0U2Vjb25kcyhpdGVtW2ZpbHRlck9iai5yZWZdKSA6IG51bGw7XG4gIGxldCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlICE9IG51bGwgJiYgZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUgIT0gJycgPyBnZXRTZWNvbmRzKGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlKSA6IG51bGw7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdub3RlcXVhbCc6XG4gICAgICAvLyBiZWNhc3VlIGZpbHRlclZhbHVlIGlzIGluIG1pbnV0ZXMsIG5lZWQgdG8gaGF2ZSBhIHJhbmdlIG9mIGxlc3MgdGhhbiA2MCBzZWNvbnNcblxuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgZmlsdGVyVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAvLyBnZXQgcmlkIG9mIG1pbGxpc2Vjb25zXG4gICAgICAgIHZhbHVlIC89IDEwMDA7XG4gICAgICAgIGZpbHRlclZhbHVlIC89IDEwMDA7XG5cbiAgICAgICAgY29uc3QgZGlmZiA9IHZhbHVlIC0gZmlsdGVyVmFsdWU7XG4gICAgICAgIGlmIChkaWZmID49IDAgJiYgZGlmZiA8IDYwKSB7XG4gICAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICBjYXNlICdhZnRlcic6XG4gICAgICBpZiAodmFsdWUgPCBmaWx0ZXJWYWx1ZSkge1xuICAgICAgICBiS2VlcCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYmVmb3JlJzpcbiAgICAgIGlmICh2YWx1ZSA+IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdudWxsJzpcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdub3RudWxsJzpcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRGF0YUJ5Q29tbW9uRmllbGRzID0gKGl0ZW0sIGZpbHRlck9iaikgPT4ge1xuICBsZXQgYktlZXA7XG4gIGNvbnN0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPCAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgaWYgKHZhbHVlICE9IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHN3aXRoJzpcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGZpbHRlclZhbHVlKSAhPSAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBjYWxsQmFjayBmdW5jdGlvbiBmb3IgQWRkIGFjdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwQ29ubmVjdCAtIFBDb25uZWN0IG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggb2YgdGhlIHBhZ2UgbGlzdCB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZFJvd0NhbGxiYWNrID0gKHBDb25uZWN0LCBpbmRleCkgPT4ge1xuICByZXR1cm4gKCkgPT4gcENvbm5lY3QuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoe30sIGluZGV4KTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIFBDb25uZWN0IG9iamVjdCB3aXRoIHByb3BlciBvcHRpb25zIGZvciBBZGQgYW5kIERlbGV0ZSBhY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dE5hbWUgLSBjb250ZXh0TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZUxpc3QgLSByZWZlcmVuY2VMaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGFnZVJlZmVyZW5jZSAtIHBhZ2VSZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVBDb25uZWN0ID0gKGNvbnRleHROYW1lLCByZWZlcmVuY2VMaXN0LCBwYWdlUmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgY29udGV4dDogY29udGV4dE5hbWUsXG4gICAgcGFnZVJlZmVyZW5jZSxcbiAgICByZWZlcmVuY2VMaXN0XG4gIH07XG5cbiAgLy8gY3JlYXRlIFBDb25uZWN0IG9iamVjdFxuICBjb25zdCBjb25maWcgPSB7IG1ldGE6IHt9LCBvcHRpb25zIH07XG4gIGNvbnN0IHsgZ2V0UENvbm5lY3QgfSA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGdldFBDb25uZWN0KCk7XG59O1xuIl19
271
+ /**
272
+ * This method evaluates whether a row action is allowed based on the provided conditions.
273
+ * @param {string|boolean|undefined} allowRowDelete - The condition for allowing row deletion.
274
+ * @param {object} rowData - The data of the row being evaluated.
275
+ * @returns {boolean} - Returns true if the row action is allowed, false otherwise.
276
+ */
277
+ export const evaluateAllowRowAction = (allowRowDelete, rowData) => {
278
+ if (allowRowDelete === undefined || allowRowDelete === true)
279
+ return true;
280
+ if (allowRowDelete.startsWith?.('@E ')) {
281
+ const expression = allowRowDelete.replace('@E ', '');
282
+ // @ts-ignore - Expected 3 arguments, but got 2
283
+ return PCore.getExpressionEngine().evaluate(expression, rowData);
284
+ }
285
+ return false;
286
+ };
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUV4Qyw0RUFBNEU7QUFDNUUsMEJBQTBCO0FBQzFCLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ2pDLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNO1lBQ1QsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLE1BQU07WUFDVCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDWixNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFdBQVc7WUFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxH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Q3JDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXJELE9BQU8sV0FBVyxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNoRSxJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksY0FBYyxLQUFLLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN6RSxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELCtDQUErQztRQUMvQyxPQUFPLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2Vjb25kcyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9DRUxMID0gJ1Nka1JlbmRlcmVyJztcbmV4cG9ydCBjb25zdCBERUxFVEVfSUNPTiA9ICdEZWxldGVJY29uJztcblxuLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGdldEZpZWxkV2lkdGgoZmllbGQsIGxhYmVsKSB7XG4gIGxldCB3aWR0aDtcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnVGltZSc6XG4gICAgICB3aWR0aCA9IDE1MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgd2lkdGggPSAxNjA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICB3aWR0aCA9IDIwNTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0F1dG9Db21wbGV0ZSc6XG4gICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgd2lkdGggPSAxOTA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdDdXJyZW5jeSc6XG4gICAgY2FzZSAnVGV4dElucHV0JzpcbiAgICAgIHdpZHRoID0gMTgyO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnQ2hlY2tib3gnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICBjb25zdCB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0KTtcbiAgICAgIHRleHQuc3R5bGUuZm9udFNpemUgPSAnMTNweCc7XG4gICAgICB0ZXh0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRleHQuaW5uZXJIVE1MID0gbGFiZWw7XG4gICAgICB3aWR0aCA9IE1hdGguY2VpbCh0ZXh0LmNsaWVudFdpZHRoKSArIDMwO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB3aWR0aCA9IDE4MDtcbiAgfVxuICByZXR1cm4gd2lkdGg7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZXh0ID0gdGhlUENvbm4gPT4ge1xuICBjb25zdCBjb250ZXh0TmFtZSA9IHRoZVBDb25uLmdldENvbnRleHROYW1lKCk7XG4gIGNvbnN0IHBhZ2VSZWZlcmVuY2UgPSB0aGVQQ29ubi5nZXRQYWdlUmVmZXJlbmNlKCk7XG4gIGNvbnN0IHsgcmVhZG9ubHlDb250ZXh0TGlzdCwgcmVmZXJlbmNlTGlzdCA9IHJlYWRvbmx5Q29udGV4dExpc3QgfSA9IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKT8uY29uZmlnIHx8IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKTtcblxuICBjb25zdCBwYWdlUmVmZXJlbmNlRm9yUm93cyA9IHJlZmVyZW5jZUxpc3Quc3RhcnRzV2l0aCgnLicpID8gYCR7cGFnZVJlZmVyZW5jZX0uJHtyZWZlcmVuY2VMaXN0LnN1YnN0cmluZygxKX1gIDogcmVmZXJlbmNlTGlzdDtcbiAgY29uc3Qgdmlld05hbWUgPSB0aGVQQ29ubi52aWV3TmFtZTtcblxuICAvLyByZW1vdmluZyBcImNhc2VJbmZvLmNvbnRlbnRcIiBwcmVmaXggdG8gYXZvaWQgc2V0dGluZyBpdCBhcyBhIHRhcmdldCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyBza2lwcGluZyB0aGUgcmVtb3ZhbCBhcyBTdGF0ZU1hY2hpbmUgaXRzZWxmIGlzIHJlbW92aW5nIHRoaXMgY2FzZSBpbmZvIHByZWZpeCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyByZWZlcmVuY2VMaXN0ID0gcGFnZVJlZmVyZW5jZUZvclJvd3MucmVwbGFjZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9JTkZPX0NPTlRFTlQsICcnKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHROYW1lLFxuICAgIHJlZmVyZW5jZUxpc3RTdHI6IHJlZmVyZW5jZUxpc3QsXG4gICAgcGFnZVJlZmVyZW5jZUZvclJvd3MsXG4gICAgdmlld05hbWVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1bGF0ZVJvd0tleSA9IHJhd0RhdGEgPT4ge1xuICByZXR1cm4gcmF3RGF0YS5tYXAoKHJvdywgaW5kZXgpID0+IHtcbiAgICByZXR1cm4geyAuLi5yb3csIGluZGV4IH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFwaUNvbnRleHQgPSAocHJvY2Vzc2VkRGF0YSwgcENvbm5lY3QsIHJlb3JkZXJDQikgPT4ge1xuICByZXR1cm4ge1xuICAgIGZldGNoRGF0YTogKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBkYXRhOiBwcm9jZXNzZWREYXRhLFxuICAgICAgICAgIGZpbHRlcmVkUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmZXRjaFBlcnNvbmFsaXphdGlvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0sXG4gICAgYXBwbHlSb3dSZW9yZGVyOiAoc291cmNlS2V5LCBkZXN0aW5hdGlvbktleSkgPT4ge1xuICAgICAgLy8gaW5kZXhlcyBhcmUga2V5cyBmb3Igc2ltcGxlIHRhYmxlIHNvLCBpdCBzaG91bGQgd29yay5cbiAgICAgIHJlb3JkZXJDQigpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwQ29ubmVjdC5nZXRMaXN0QWN0aW9ucygpLnJlb3JkZXIocGFyc2VJbnQoc291cmNlS2V5LCAxMCksIHBhcnNlSW50KGRlc3RpbmF0aW9uS2V5LCAxMCkpKTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRNZXRhRm9yTGlzdFZpZXcgPSAoZmllbGRNZXRhZGF0YSwgZmllbGRzLCB0eXBlLCBydWxlQ2xhc3MsIG5hbWUsIHByb3BlcnR5TGFiZWwsIGlzRGF0YU9iamVjdCwgcGFyYW1ldGVycykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgY29uZmlnOiB7XG4gICAgICB0eXBlLFxuICAgICAgcmVmZXJlbmNlTGlzdDogZmllbGRNZXRhZGF0YS5kYXRhc291cmNlLm5hbWUsXG4gICAgICBwYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzID8/IGZpZWxkTWV0YWRhdGEuZGF0YXNvdXJjZS5wYXJhbWV0ZXJzLFxuICAgICAgcGVyc29uYWxpemF0aW9uOiBmYWxzZSxcbiAgICAgIGlzRGF0YU9iamVjdCxcbiAgICAgIGdyb3VwaW5nOiB0cnVlLFxuICAgICAgZ2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVvcmRlckZpZWxkczogdHJ1ZSxcbiAgICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgIHRpdGxlOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgcGVyc29uYWxpemF0aW9uSWQ6ICcnIC8qIFRPRE8gKi8sXG4gICAgICB0ZW1wbGF0ZTogJ0xpc3RWaWV3JyxcbiAgICAgIHByZXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwcmVzZXRzJyxcbiAgICAgICAgICB0ZW1wbGF0ZTogJ1RhYmxlJyxcbiAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdDb2x1bW5zJyxcbiAgICAgICAgICAgICAgdHlwZTogJ1JlZ2lvbicsXG4gICAgICAgICAgICAgIGNoaWxkcmVuOiBmaWVsZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIGxhYmVsOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgICAgIGlkOiAnUF8nIC8qIFRPRE8gKi9cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHJ1bGVDbGFzc1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkc0ZvclRhYmxlID0gKGNvbmZpZ0ZpZWxkcywgZmllbGRzLCBzaG93RGVsZXRlQnV0dG9uKSA9PiB7XG4gIGNvbnN0IGZpZWxkRGVmcyA9IGNvbmZpZ0ZpZWxkcz8ubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGFiZWw6IGZpZWxkc1tpbmRleF0uY29uZmlnLmxhYmVsIHx8IGZpZWxkc1tpbmRleF0uY29uZmlnLmNhcHRpb24sXG4gICAgICBmaWxsQXZhaWxhYmxlU3BhY2U6ICEhZmllbGQuY29uZmlnLmZpbGxBdmFpbGFibGVTcGFjZSxcbiAgICAgIGlkOiBgJHtpbmRleH1gLFxuICAgICAgbmFtZTogZmllbGQuY29uZmlnLnZhbHVlLnN1YnN0cig0KSxcbiAgICAgIGNlbGxSZW5kZXJlcjogVEFCTEVfQ0VMTCxcbiAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgbm9Db250ZXh0TWVudTogdHJ1ZSxcbiAgICAgIHNob3dNZW51OiBmYWxzZSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uZmllbGRcbiAgICAgIH0sXG4gICAgICAvLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4gICAgICB3aWR0aDogZ2V0RmllbGRXaWR0aChmaWVsZCwgZmllbGRzW2luZGV4XS5jb25maWcubGFiZWwpXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gT05MWSBhZGQgREVMRVRFX0lDT04gdG8gZmllbGRzIHdoZW4gdGhlIHRhYmxlIGlzIHJlcXVlc3RlZCBhcyBFRElUQUJMRVxuICBpZiAoc2hvd0RlbGV0ZUJ1dHRvbikge1xuICAgIGZpZWxkRGVmcy5wdXNoKHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIG5hbWU6IERFTEVURV9JQ09OLFxuICAgICAgaWQ6IGZpZWxkRGVmcy5sZW5ndGgsXG4gICAgICBjZWxsUmVuZGVyZXI6IERFTEVURV9JQ09OLFxuICAgICAgc29ydDogZmFsc2UsXG4gICAgICBub0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc2hvd01lbnU6IGZhbHNlLFxuICAgICAgLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuICAgICAgd2lkdGg6IDQ2XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZmllbGREZWZzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1ldGFGb3JUYWJsZSA9IChmaWVsZHMsIHJlbmRlck1vZGUpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IHtcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgZml0SGVpZ2h0VG9FbGVtZW50OiAnZml0SGVpZ2h0VG9FbGVtZW50JyxcbiAgICAgIGRlbHRhQWRqdXN0bWVudDogJ2RlbHRhQWRqdXN0bWVudCcsXG4gICAgICBhdXRvU2l6ZTogdHJ1ZVxuICAgIH0sXG4gICAgZmllbGREZWZzOiBmaWVsZHMsXG4gICAgaXRlbUtleTogJ2luZGV4JyxcbiAgICBncm91cGluZzogZmFsc2UsXG4gICAgcmVvcmRlckZpZWxkczogZmFsc2UsXG4gICAgcmVvcmRlckl0ZW1zOiByZW5kZXJNb2RlID09PSAnRWRpdGFibGUnLFxuICAgIGRyYWdIYW5kbGU6IHJlbmRlck1vZGUgPT09ICdFZGl0YWJsZScsXG4gICAgZ2xvYmFsU2VhcmNoOiBmYWxzZSxcbiAgICBwZXJzb25hbGl6YXRpb246IGZhbHNlLFxuICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogZmFsc2UsXG4gICAgdG9vbGJhcjogZmFsc2UsXG4gICAgZm9vdGVyOiBmYWxzZSxcbiAgICBmaWx0ZXJFeHByZXNzaW9uOiBudWxsLFxuICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgIHRpbWV6b25lOiBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXRUaW1lWm9uZSgpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRGF0YUJ5RGF0ZSA9IChpdGVtLCBmaWx0ZXJPYmopID0+IHtcbiAgbGV0IGJLZWVwID0gdHJ1ZTtcbiAgbGV0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXSAhPSBudWxsIHx8IGl0ZW1bZmlsdGVyT2JqLnJlZl0gIT0gJycgPyBnZXRTZWNvbmRzKGl0ZW1bZmlsdGVyT2JqLnJlZl0pIDogbnVsbDtcbiAgbGV0IGZpbHRlclZhbHVlID0gZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXJWYWx1ZSAhPSAnJyA/IGdldFNlY29uZHMoZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUpIDogbnVsbDtcblxuICBzd2l0Y2ggKGZpbHRlck9iai5jb250YWluc0ZpbHRlcikge1xuICAgIGNhc2UgJ25vdGVxdWFsJzpcbiAgICAgIC8vIGJlY2FzdWUgZmlsdGVyVmFsdWUgaXMgaW4gbWludXRlcywgbmVlZCB0byBoYXZlIGEgcmFuZ2Ugb2YgbGVzcyB0aGFuIDYwIHNlY29uc1xuXG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIC8vIGdldCByaWQgb2YgbWlsbGlzZWNvbnNcbiAgICAgICAgdmFsdWUgLz0gMTAwMDtcbiAgICAgICAgZmlsdGVyVmFsdWUgLz0gMTAwMDtcblxuICAgICAgICBjb25zdCBkaWZmID0gdmFsdWUgLSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgaWYgKGRpZmYgPj0gMCAmJiBkaWZmIDwgNjApIHtcbiAgICAgICAgICBiS2VlcCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FmdGVyJzpcbiAgICAgIGlmICh2YWx1ZSA8IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdiZWZvcmUnOlxuICAgICAgaWYgKHZhbHVlID4gZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ251bGwnOlxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdG51bGwnOlxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBiS2VlcDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRhQnlDb21tb25GaWVsZHMgPSAoaXRlbSwgZmlsdGVyT2JqKSA9PiB7XG4gIGxldCBiS2VlcCA9IHRydWU7XG4gIGNvbnN0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPCAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgaWYgKHZhbHVlICE9IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHN3aXRoJzpcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGZpbHRlclZhbHVlKSAhPSAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBjYWxsQmFjayBmdW5jdGlvbiBmb3IgQWRkIGFjdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwQ29ubmVjdCAtIFBDb25uZWN0IG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggb2YgdGhlIHBhZ2UgbGlzdCB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZFJvd0NhbGxiYWNrID0gKHBDb25uZWN0LCBpbmRleCkgPT4ge1xuICByZXR1cm4gKCkgPT4gcENvbm5lY3QuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoe30sIGluZGV4KTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIFBDb25uZWN0IG9iamVjdCB3aXRoIHByb3BlciBvcHRpb25zIGZvciBBZGQgYW5kIERlbGV0ZSBhY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dE5hbWUgLSBjb250ZXh0TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZUxpc3QgLSByZWZlcmVuY2VMaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGFnZVJlZmVyZW5jZSAtIHBhZ2VSZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVBDb25uZWN0ID0gKGNvbnRleHROYW1lLCByZWZlcmVuY2VMaXN0LCBwYWdlUmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgY29udGV4dDogY29udGV4dE5hbWUsXG4gICAgcGFnZVJlZmVyZW5jZSxcbiAgICByZWZlcmVuY2VMaXN0XG4gIH07XG5cbiAgLy8gY3JlYXRlIFBDb25uZWN0IG9iamVjdFxuICBjb25zdCBjb25maWcgPSB7IG1ldGE6IHt9LCBvcHRpb25zIH07XG4gIGNvbnN0IHsgZ2V0UENvbm5lY3QgfSA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGdldFBDb25uZWN0KCk7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGV2YWx1YXRlcyB3aGV0aGVyIGEgcm93IGFjdGlvbiBpcyBhbGxvd2VkIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25kaXRpb25zLlxuICogQHBhcmFtIHtzdHJpbmd8Ym9vbGVhbnx1bmRlZmluZWR9IGFsbG93Um93RGVsZXRlIC0gVGhlIGNvbmRpdGlvbiBmb3IgYWxsb3dpbmcgcm93IGRlbGV0aW9uLlxuICogQHBhcmFtIHtvYmplY3R9IHJvd0RhdGEgLSBUaGUgZGF0YSBvZiB0aGUgcm93IGJlaW5nIGV2YWx1YXRlZC5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgcm93IGFjdGlvbiBpcyBhbGxvd2VkLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBldmFsdWF0ZUFsbG93Um93QWN0aW9uID0gKGFsbG93Um93RGVsZXRlLCByb3dEYXRhKSA9PiB7XG4gIGlmIChhbGxvd1Jvd0RlbGV0ZSA9PT0gdW5kZWZpbmVkIHx8IGFsbG93Um93RGVsZXRlID09PSB0cnVlKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGFsbG93Um93RGVsZXRlLnN0YXJ0c1dpdGg/LignQEUgJykpIHtcbiAgICBjb25zdCBleHByZXNzaW9uID0gYWxsb3dSb3dEZWxldGUucmVwbGFjZSgnQEUgJywgJycpO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBFeHBlY3RlZCAzIGFyZ3VtZW50cywgYnV0IGdvdCAyXG4gICAgcmV0dXJuIFBDb3JlLmdldEV4cHJlc3Npb25FbmdpbmUoKS5ldmFsdWF0ZShleHByZXNzaW9uLCByb3dEYXRhKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19