@pega/angular-sdk-components 24.2.10 → 25.1.10

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 (305) hide show
  1. package/fesm2022/pega-angular-sdk-components.mjs +5383 -3962
  2. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  3. package/lib/_bridge/angular-pconnect.d.ts +1 -1
  4. package/lib/_bridge/component-mapper/component-mapper.component.d.ts +1 -1
  5. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +18 -0
  6. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  7. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  8. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  9. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
  10. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  11. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
  12. package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +1 -0
  13. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +14 -38
  14. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +7 -6
  15. package/lib/_components/field/check-box/check-box.component.d.ts +10 -33
  16. package/lib/_components/field/currency/currency.component.d.ts +19 -35
  17. package/lib/_components/field/date/date.component.d.ts +7 -58
  18. package/lib/_components/field/date-time/date-time.component.d.ts +12 -40
  19. package/lib/_components/field/decimal/decimal.component.d.ts +17 -32
  20. package/lib/_components/field/dropdown/dropdown.component.d.ts +14 -38
  21. package/lib/_components/field/email/email.component.d.ts +7 -35
  22. package/lib/_components/field/field.base.d.ts +57 -0
  23. package/lib/_components/field/group/group.component.d.ts +5 -3
  24. package/lib/_components/field/integer/integer.component.d.ts +8 -35
  25. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  26. package/lib/_components/field/location/location.component.d.ts +47 -0
  27. package/lib/_components/field/multiselect/multiselect.component.d.ts +7 -39
  28. package/lib/_components/field/object-reference/object-reference.component.d.ts +45 -0
  29. package/lib/_components/field/percentage/percentage.component.d.ts +19 -37
  30. package/lib/_components/field/phone/phone.component.d.ts +8 -38
  31. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +13 -34
  32. package/lib/_components/field/rich-text/rich-text.component.d.ts +7 -31
  33. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +6 -22
  34. package/lib/_components/field/selectable-card/selectable-card.component.d.ts +62 -0
  35. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +21 -1
  36. package/lib/_components/field/text/text.component.d.ts +0 -1
  37. package/lib/_components/field/text-area/text-area.component.d.ts +7 -35
  38. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  39. package/lib/_components/field/text-input/text-input.component.d.ts +7 -36
  40. package/lib/_components/field/time/time.component.d.ts +7 -36
  41. package/lib/_components/field/url/url.component.d.ts +7 -36
  42. package/lib/_components/field/user-reference/user-reference.component.d.ts +1 -2
  43. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +1 -2
  44. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
  45. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  46. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +5 -10
  47. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  48. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  49. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  50. package/lib/_components/infra/assignment/assignment.component.d.ts +8 -6
  51. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +3 -3
  52. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  53. package/lib/_components/infra/defer-load/defer-load.component.d.ts +7 -7
  54. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  55. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  56. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -2
  57. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  58. package/lib/_components/infra/region/region.component.d.ts +0 -1
  59. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -2
  60. package/lib/_components/infra/stages/stages.component.d.ts +2 -2
  61. package/lib/_components/infra/view/view.component.d.ts +0 -1
  62. package/lib/_components/template/advanced-search/advanced-search.component.d.ts +21 -0
  63. package/lib/_components/template/advanced-search/search-group/persist-utils.d.ts +23 -0
  64. package/lib/_components/template/advanced-search/search-groups/search-groups.component.d.ts +47 -0
  65. package/lib/_components/template/advanced-search/search-groups/utils.d.ts +15 -0
  66. package/lib/_components/template/app-shell/app-shell.component.d.ts +6 -3
  67. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  68. package/lib/_components/template/base/details-template-base.d.ts +1 -2
  69. package/lib/_components/template/base/form-template-base.d.ts +3 -1
  70. package/lib/_components/template/case-summary/case-summary.component.d.ts +3 -3
  71. package/lib/_components/template/case-view/case-view.component.d.ts +0 -2
  72. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  73. package/lib/_components/template/data-reference/data-reference.component.d.ts +27 -3
  74. package/lib/_components/template/data-reference/search-form/search-form.component.d.ts +39 -0
  75. package/lib/_components/template/data-reference/search-form/tabsData.d.ts +2 -0
  76. package/lib/_components/template/data-reference/utils.d.ts +14 -0
  77. package/lib/_components/template/default-form/default-form.component.d.ts +9 -4
  78. package/lib/_components/template/default-page/default-page.component.d.ts +29 -0
  79. package/lib/_components/template/details/details.component.d.ts +0 -1
  80. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
  81. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
  82. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
  83. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
  84. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
  85. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
  86. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
  87. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +9 -8
  88. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  89. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  90. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  91. package/lib/_components/template/list-view/list-view.component.d.ts +22 -7
  92. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  93. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  94. package/lib/_components/template/object-page/object-page.component.d.ts +8 -0
  95. package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
  96. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  97. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  98. package/lib/_components/template/page/page.component.d.ts +0 -1
  99. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  100. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  101. package/lib/_components/template/self-service-case-view/self-service-case-view.component.d.ts +58 -0
  102. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  103. package/lib/_components/template/simple-table-manual/helpers.d.ts +18 -3
  104. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +9 -4
  105. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  106. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +18 -3
  107. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  108. package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
  109. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  110. package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
  111. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  112. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  113. package/lib/_components/template/utils.d.ts +11 -0
  114. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
  115. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
  116. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +3 -6
  117. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  118. package/lib/_components/widget/attachment/Attachment.types.d.ts +87 -0
  119. package/lib/_components/widget/attachment/AttachmentUtils.d.ts +17 -0
  120. package/lib/_components/widget/attachment/attachment.component.d.ts +18 -34
  121. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  122. package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -3
  123. package/lib/_components/widget/file-utility/file-utility.component.d.ts +3 -2
  124. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  125. package/lib/_components/widget/todo/todo.component.d.ts +5 -4
  126. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  127. package/lib/_helpers/field-group-utils.d.ts +1 -3
  128. package/lib/_helpers/filter-utils.d.ts +1 -3
  129. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  130. package/lib/_helpers/formatters/common.d.ts +1 -1
  131. package/lib/_helpers/formatters/currency.d.ts +1 -2
  132. package/lib/_helpers/formatters/date.d.ts +1 -2
  133. package/lib/_helpers/formatters/index.d.ts +1 -2
  134. package/lib/_helpers/object-utils.d.ts +8 -0
  135. package/lib/_helpers/objectReference-utils.d.ts +6 -0
  136. package/lib/_helpers/semanticLink-utils.d.ts +9 -0
  137. package/lib/_helpers/tab-utils.d.ts +4 -0
  138. package/lib/_helpers/utils.d.ts +13 -1
  139. package/lib/_services/banner.service.d.ts +8 -0
  140. package/lib/_services/case.service.d.ts +1 -1
  141. package/lib/_services/data-reference-advanced-search.service.d.ts +9 -0
  142. package/lib/_services/datapage.service.d.ts +1 -1
  143. package/lib/_services/google-maps-loader.service.d.ts +7 -0
  144. package/package.json +20 -6
  145. package/public-api.d.ts +26 -9
  146. package/esm2022/lib/_bridge/angular-pconnect.mjs +0 -428
  147. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +0 -107
  148. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +0 -239
  149. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +0 -142
  150. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +0 -50
  151. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +0 -29
  152. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +0 -31
  153. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +0 -51
  154. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +0 -31
  155. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +0 -83
  156. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +0 -37
  157. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +0 -34
  158. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +0 -36
  159. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +0 -25
  160. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +0 -28
  161. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +0 -42
  162. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +0 -143
  163. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +0 -33
  164. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +0 -93
  165. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +0 -18
  166. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +0 -288
  167. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +0 -96
  168. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +0 -225
  169. package/esm2022/lib/_components/field/currency/currency.component.mjs +0 -190
  170. package/esm2022/lib/_components/field/date/date.component.mjs +0 -205
  171. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +0 -183
  172. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +0 -187
  173. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +0 -292
  174. package/esm2022/lib/_components/field/email/email.component.mjs +0 -157
  175. package/esm2022/lib/_components/field/group/group.component.mjs +0 -64
  176. package/esm2022/lib/_components/field/integer/integer.component.mjs +0 -160
  177. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +0 -44
  178. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +0 -314
  179. package/esm2022/lib/_components/field/multiselect/utils.mjs +0 -187
  180. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +0 -182
  181. package/esm2022/lib/_components/field/phone/phone.component.mjs +0 -160
  182. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +0 -182
  183. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +0 -102
  184. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +0 -95
  185. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +0 -57
  186. package/esm2022/lib/_components/field/text/text.component.mjs +0 -140
  187. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +0 -157
  188. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +0 -69
  189. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +0 -157
  190. package/esm2022/lib/_components/field/time/time.component.mjs +0 -162
  191. package/esm2022/lib/_components/field/url/url.component.mjs +0 -157
  192. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +0 -207
  193. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +0 -18
  194. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +0 -71
  195. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +0 -490
  196. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +0 -68
  197. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +0 -24
  198. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +0 -342
  199. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +0 -32
  200. package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +0 -22
  201. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +0 -211
  202. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +0 -31
  203. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +0 -382
  204. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +0 -47
  205. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +0 -87
  206. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +0 -141
  207. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +0 -18
  208. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +0 -80
  209. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +0 -136
  210. package/esm2022/lib/_components/infra/reference/reference.component.mjs +0 -133
  211. package/esm2022/lib/_components/infra/region/region.component.mjs +0 -33
  212. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +0 -228
  213. package/esm2022/lib/_components/infra/stages/stages.component.mjs +0 -62
  214. package/esm2022/lib/_components/infra/view/view.component.mjs +0 -188
  215. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +0 -156
  216. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +0 -43
  217. package/esm2022/lib/_components/template/base/details-template-base.mjs +0 -56
  218. package/esm2022/lib/_components/template/base/form-template-base.mjs +0 -13
  219. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +0 -101
  220. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +0 -185
  221. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +0 -68
  222. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +0 -242
  223. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +0 -49
  224. package/esm2022/lib/_components/template/details/details.component.mjs +0 -76
  225. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +0 -45
  226. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +0 -42
  227. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +0 -39
  228. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +0 -51
  229. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +0 -48
  230. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +0 -48
  231. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +0 -65
  232. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +0 -23
  233. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +0 -122
  234. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +0 -24
  235. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +0 -22
  236. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +0 -40
  237. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +0 -14
  238. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +0 -208
  239. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +0 -1217
  240. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +0 -60
  241. package/esm2022/lib/_components/template/list-view/utils.mjs +0 -662
  242. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +0 -44
  243. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +0 -30
  244. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +0 -31
  245. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +0 -16
  246. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +0 -30
  247. package/esm2022/lib/_components/template/page/page.component.mjs +0 -52
  248. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +0 -149
  249. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +0 -138
  250. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +0 -104
  251. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +0 -270
  252. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +0 -779
  253. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +0 -129
  254. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +0 -16
  255. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +0 -67
  256. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +0 -31
  257. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +0 -16
  258. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +0 -31
  259. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +0 -40
  260. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +0 -30
  261. package/esm2022/lib/_components/template/utils.mjs +0 -22
  262. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +0 -31
  263. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +0 -53
  264. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +0 -137
  265. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +0 -24
  266. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +0 -393
  267. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +0 -80
  268. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +0 -521
  269. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +0 -638
  270. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +0 -57
  271. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +0 -75
  272. package/esm2022/lib/_components/widget/todo/todo.component.mjs +0 -228
  273. package/esm2022/lib/_components/widget/utility/utility.component.mjs +0 -34
  274. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +0 -28
  275. package/esm2022/lib/_helpers/case-utils.mjs +0 -71
  276. package/esm2022/lib/_helpers/common.mjs +0 -20
  277. package/esm2022/lib/_helpers/createstage-utils.mjs +0 -15
  278. package/esm2022/lib/_helpers/currency-utils.mjs +0 -57
  279. package/esm2022/lib/_helpers/date-format-utils.mjs +0 -68
  280. package/esm2022/lib/_helpers/event-util.mjs +0 -18
  281. package/esm2022/lib/_helpers/field-group-utils.mjs +0 -47
  282. package/esm2022/lib/_helpers/filter-utils.mjs +0 -105
  283. package/esm2022/lib/_helpers/formatters/boolean.mjs +0 -20
  284. package/esm2022/lib/_helpers/formatters/common.mjs +0 -14
  285. package/esm2022/lib/_helpers/formatters/currency-map.mjs +0 -903
  286. package/esm2022/lib/_helpers/formatters/currency.mjs +0 -68
  287. package/esm2022/lib/_helpers/formatters/date.mjs +0 -69
  288. package/esm2022/lib/_helpers/formatters/format-utils.mjs +0 -68
  289. package/esm2022/lib/_helpers/formatters/index.mjs +0 -124
  290. package/esm2022/lib/_helpers/instructions-utils.mjs +0 -36
  291. package/esm2022/lib/_helpers/tab-utils.mjs +0 -59
  292. package/esm2022/lib/_helpers/template-utils.mjs +0 -56
  293. package/esm2022/lib/_helpers/utils.mjs +0 -386
  294. package/esm2022/lib/_helpers/versionHelpers.mjs +0 -12
  295. package/esm2022/lib/_messages/error-messages.service.mjs +0 -31
  296. package/esm2022/lib/_messages/progress-spinner.service.mjs +0 -30
  297. package/esm2022/lib/_messages/update-worklist.service.mjs +0 -30
  298. package/esm2022/lib/_services/case.service.mjs +0 -32
  299. package/esm2022/lib/_services/datapage.service.mjs +0 -52
  300. package/esm2022/lib/_services/endpoints.mjs +0 -60
  301. package/esm2022/lib/_services/server-config.service.mjs +0 -52
  302. package/esm2022/lib/_types/PConnProps.interface.mjs +0 -2
  303. package/esm2022/pega-angular-sdk-components.mjs +0 -5
  304. package/esm2022/public-api.mjs +0 -141
  305. package/esm2022/sdk-local-component-map.mjs +0 -9
@@ -1,136 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatMenuModule } from '@angular/material/menu';
4
- import { MatListModule } from '@angular/material/list';
5
- import { logout } from '@pega/auth/lib/sdk-auth-manager';
6
- import { Utils } from '../../../_helpers/utils';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../_bridge/angular-pconnect";
9
- import * as i2 from "../../../_messages/progress-spinner.service";
10
- import * as i3 from "../../../_helpers/utils";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "@angular/material/list";
13
- import * as i6 from "@angular/material/menu";
14
- export class NavbarComponent {
15
- constructor(angularPConnect, chRef, psService, ngZone, utils) {
16
- this.angularPConnect = angularPConnect;
17
- this.chRef = chRef;
18
- this.psService = psService;
19
- this.ngZone = ngZone;
20
- this.utils = utils;
21
- // For interaction with AngularPConnect
22
- this.angularPConnectData = {};
23
- this.bShowCaseTypes$ = false;
24
- this.portalApp$ = '';
25
- this.showAppName$ = false;
26
- this.localeCategory = 'AppShell';
27
- this.localeUtils = PCore.getLocaleUtils();
28
- }
29
- ngOnInit() {
30
- // First thing in initialization is registering and subscribing to the AngularPConnect service
31
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
32
- this.navIcon$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
33
- // this is a dummy "get", because right now images are in http and the main screen is https
34
- // so the images don't load automatically. This call, makes an initial hit that allows the
35
- // rest of the images to show up
36
- this.loadImage(this.navIcon$);
37
- this.initComponent();
38
- this.localizedVal = PCore.getLocaleUtils().getLocaleValue;
39
- }
40
- // ngOnDestroy
41
- // unsubscribe from Store
42
- ngOnDestroy() {
43
- if (this.angularPConnectData.unsubscribeFn) {
44
- this.angularPConnectData.unsubscribeFn();
45
- }
46
- }
47
- loadImage(src) {
48
- return new Promise(resolve => {
49
- resolve(src);
50
- });
51
- }
52
- // Callback passed when subscribing to store change
53
- onStateChange() {
54
- // Should always check the bridge to see if the component should update itself (re-render)
55
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
56
- // NOTE: can call angularPConnect.getState with optional args for detailed logging: bLogMsg and component object
57
- this.angularPConnect.getState();
58
- if (bUpdateSelf) {
59
- this.updateSelf();
60
- }
61
- }
62
- updateSelf() {
63
- this.initComponent();
64
- }
65
- initComponent() {
66
- this.ngZone.run(() => {
67
- this.navIcon$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
68
- this.navExpandCollapse$ = this.utils.getImageSrc('plus', this.utils.getSDKStaticContentUrl());
69
- // Then, continue on with other initialization
70
- // making a copy, so can add info
71
- this.navPages$ = JSON.parse(JSON.stringify(this.pages$));
72
- this.navPages$.forEach(page => {
73
- page.iconName = this.utils.getImageSrc(page.pxPageViewIcon, this.utils.getSDKStaticContentUrl());
74
- });
75
- this.localeReference = this.pConn$.getValue('.pyLocaleReference');
76
- this.actionsAPI = this.pConn$.getActionsApi();
77
- this.createWork = this.actionsAPI.createWork.bind(this.actionsAPI);
78
- this.showPage = this.actionsAPI.showPage.bind(this.actionsAPI);
79
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
80
- this.logout = this.actionsAPI.logout.bind(this.actionsAPI);
81
- // const oData = this.pConn$.getDataObject();
82
- this.portalLogoImage$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
83
- this.portalOperator$ = PCore.getEnvironmentInfo().getOperatorName();
84
- this.portalOperatorInitials$ = this.utils.getInitials(this.portalOperator$ ?? '');
85
- this.showAppName$ = this.configProps$.showAppName;
86
- this.portalApp$ = PCore.getEnvironmentInfo().getApplicationLabel();
87
- });
88
- }
89
- navPanelButtonClick(oPageData) {
90
- const { pyClassName, pyRuleName } = oPageData;
91
- this.showPage(pyRuleName, pyClassName);
92
- }
93
- navPanelCreateButtonClick() {
94
- if (this.navExpandCollapse$.indexOf('plus') > 0) {
95
- this.navExpandCollapse$ = this.utils.getImageSrc('times', this.utils.getSDKStaticContentUrl());
96
- this.bShowCaseTypes$ = true;
97
- }
98
- else {
99
- this.navExpandCollapse$ = this.utils.getImageSrc('plus', this.utils.getSDKStaticContentUrl());
100
- this.bShowCaseTypes$ = false;
101
- }
102
- this.chRef.detectChanges();
103
- }
104
- navPanelCreateCaseType(sCaseType, sFlowType) {
105
- this.psService.sendMessage(true);
106
- this.navPanelCreateButtonClick();
107
- const actionInfo = {
108
- containerName: 'primary',
109
- flowType: sFlowType || 'pyStartCase'
110
- };
111
- this.createWork(sCaseType, actionInfo).then(() => {
112
- console.log('createWork completed');
113
- });
114
- }
115
- navPanelLogoutClick() {
116
- logout().then(() => {
117
- // Reload the page to kick off the login
118
- window.location.reload();
119
- });
120
- }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.ProgressSpinnerService }, { token: i0.NgZone }, { token: i3.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavbarComponent, isStandalone: true, selector: "app-navbar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
123
- }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, decorators: [{
125
- type: Component,
126
- args: [{ selector: 'app-navbar', providers: [Utils], standalone: true, imports: [CommonModule, MatListModule, MatMenuModule], template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"] }]
127
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: i2.ProgressSpinnerService }, { type: i0.NgZone }, { type: i3.Utils }], propDecorators: { pConn$: [{
128
- type: Input
129
- }], appName$: [{
130
- type: Input
131
- }], pages$: [{
132
- type: Input
133
- }], caseTypes$: [{
134
- type: Input
135
- }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQWlCaEQsTUFBTSxPQUFPLGVBQWU7SUErQjFCLFlBQ1UsZUFBdUMsRUFDdkMsS0FBd0IsRUFDeEIsU0FBaUMsRUFDakMsTUFBYyxFQUNkLEtBQVk7UUFKWixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQU87UUE5QnRCLHVDQUF1QztRQUN2Qyx3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBSzlDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXhCLGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FB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UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhKVSxlQUFlO21HQUFmLGVBQWUseUpBSmYsQ0FBQyxLQUFLLENBQUMsMEJDcEJwQixtc0VBdURBLDJzRURqQ1ksWUFBWSwrUEFBRSxhQUFhLHVSQUFFLGFBQWE7OzRGQUV6QyxlQUFlO2tCQVIzQixTQUFTOytCQUNFLFlBQVksYUFHWCxDQUFDLEtBQUssQ0FBQyxjQUNOLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO3lNQUc1QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE5nWm9uZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgbG9nb3V0IH0gZnJvbSAnQHBlZ2EvYXV0aC9saWIvc2RrLWF1dGgtbWFuYWdlcic7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvcHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuXG5pbnRlcmZhY2UgTmF2QmFyUHJvcHMge1xuICAvLyBJZiBhbnksIGVudGVyIGFkZGl0aW9uYWwgcHJvcHMgdGhhdCBvbmx5IGV4aXN0IG9uIHRoaXMgY29tcG9uZW50XG4gIHNob3dBcHBOYW1lPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5hdmJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVXRpbHNdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRNZW51TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBhcHBOYW1lJDogc3RyaW5nO1xuICBASW5wdXQoKSBwYWdlcyQ6IGFueVtdO1xuICBASW5wdXQoKSBjYXNlVHlwZXMkOiBhbnlbXTtcblxuICAvLyBGb3IgaW50ZXJhY3Rpb24gd2l0aCBBbmd1bGFyUENvbm5lY3RcbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBjb25maWdQcm9wcyQ6IE5hdkJhclByb3BzO1xuXG4gIG5hdlBhZ2VzJDogYW55W107XG4gIG5hdkV4cGFuZENvbGxhcHNlJDogc3RyaW5nO1xuICBiU2hvd0Nhc2VUeXBlcyQgPSBmYWxzZTtcblxuICBwb3J0YWxBcHAkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgcG9ydGFsTG9nb0ltYWdlJDogc3RyaW5nO1xuICBzaG93QXBwTmFtZSQ/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcG9ydGFsT3BlcmF0b3IkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHBvcnRhbE9wZXJhdG9ySW5pdGlhbHMkOiBzdHJpbmc7XG5cbiAgYWN0aW9uc0FQSTogYW55O1xuICBjcmVhdGVXb3JrOiBhbnk7XG4gIHNob3dQYWdlOiBhbnk7XG4gIGxvZ291dDogYW55O1xuXG4gIG5hdkljb24kOiBzdHJpbmc7XG4gIGxvY2FsaXplZFZhbDogYW55O1xuICBsb2NhbGVDYXRlZ29yeSA9ICdBcHBTaGVsbCc7XG4gIGxvY2FsZVV0aWxzID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKTtcbiAgbG9jYWxlUmVmZXJlbmNlOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcHNTZXJ2aWNlOiBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5uYXZJY29uJCA9IHRoaXMudXRpbHMuZ2V0U0RLU3RhdGljQ29udGVudFVybCgpLmNvbmNhdCgnYXNzZXRzL3B6cGVnYS1sb2dvLW1hcmsuc3ZnJyk7XG5cbiAgICAvLyB0aGlzIGlzIGEgZHVtbXkgXCJnZXRcIiwgYmVjYXVzZSByaWdodCBub3cgaW1hZ2VzIGFyZSBpbiBodHRwIGFuZCB0aGUgbWFpbiBzY3JlZW4gaXMgaHR0cHNcbiAgICAvLyBzbyB0aGUgaW1hZ2VzIGRvbid0IGxvYWQgYXV0b21hdGljYWxseS4gIFRoaXMgY2FsbCwgbWFrZXMgYW4gaW5pdGlhbCBoaXQgdGhhdCBhbGxvd3MgdGhlXG4gICAgLy8gcmVzdCBvZiB0aGUgaW1hZ2VzIHRvIHNob3cgdXBcbiAgICB0aGlzLmxvYWRJbWFnZSh0aGlzLm5hdkljb24kKTtcblxuICAgIHRoaXMuaW5pdENvbXBvbmVudCgpO1xuICAgIHRoaXMubG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgfVxuXG4gIC8vIG5nT25EZXN0cm95XG4gIC8vICB1bnN1YnNjcmliZSBmcm9tIFN0b3JlXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBsb2FkSW1hZ2Uoc3JjOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICByZXNvbHZlKHNyYyk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE5PVEU6IGNhbiBjYWxsIGFuZ3VsYXJQQ29ubmVjdC5nZXRTdGF0ZSB3aXRoIG9wdGlvbmFsIGFyZ3MgZm9yIGRldGFpbGVkIGxvZ2dpbmc6IGJMb2dNc2cgYW5kIGNvbXBvbmVudCBvYmplY3RcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRTdGF0ZSgpO1xuXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdENvbXBvbmVudCgpO1xuICB9XG5cbiAgaW5pdENvbXBvbmVudCgpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5uYXZJY29uJCA9IHRoaXMudXRpbHMuZ2V0U0RLU3RhdGljQ29udGVudFVybCgpLmNvbmNhdCgnYXNzZXRzL3B6cGVnYS1sb2dvLW1hcmsuc3ZnJyk7XG4gICAgICB0aGlzLm5hdkV4cGFuZENvbGxhcHNlJCA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMoJ3BsdXMnLCB0aGlzLnV0aWxzLmdldFNES1N0YXRpY0NvbnRlbnRVcmwoKSk7XG5cbiAgICAgIC8vIFRoZW4sIGNvbnRpbnVlIG9uIHdpdGggb3RoZXIgaW5pdGlhbGl6YXRpb25cblxuICAgICAgLy8gbWFraW5nIGEgY29weSwgc28gY2FuIGFkZCBpbmZvXG4gICAgICB0aGlzLm5hdlBhZ2VzJCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5wYWdlcyQpKTtcblxuICAgICAgdGhpcy5uYXZQYWdlcyQuZm9yRWFjaChwYWdlID0+IHtcbiAgICAgICAgcGFnZS5pY29uTmFtZSA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMocGFnZS5weFBhZ2VWaWV3SWNvbiwgdGhpcy51dGlscy5nZXRTREtTdGF0aWNDb250ZW50VXJsKCkpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmxvY2FsZVJlZmVyZW5jZSA9IHRoaXMucENvbm4kLmdldFZhbHVlKCcucHlMb2NhbGVSZWZlcmVuY2UnKTtcbiAgICAgIHRoaXMuYWN0aW9uc0FQSSA9IHRoaXMucENvbm4kLmdldEFjdGlvbnNBcGkoKTtcbiAgICAgIHRoaXMuY3JlYXRlV29yayA9IHRoaXMuYWN0aW9uc0FQSS5jcmVhdGVXb3JrLmJpbmQodGhpcy5hY3Rpb25zQVBJKTtcbiAgICAgIHRoaXMuc2hvd1BhZ2UgPSB0aGlzLmFjdGlvbnNBUEkuc2hvd1BhZ2UuYmluZCh0aGlzLmFjdGlvbnNBUEkpO1xuICAgICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgTmF2QmFyUHJvcHM7XG4gICAgICB0aGlzLmxvZ291dCA9IHRoaXMuYWN0aW9uc0FQSS5sb2dvdXQuYmluZCh0aGlzLmFjdGlvbnNBUEkpO1xuXG4gICAgICAvLyBjb25zdCBvRGF0YSA9IHRoaXMucENvbm4kLmdldERhdGFPYmplY3QoKTtcblxuICAgICAgdGhpcy5wb3J0YWxMb2dvSW1hZ2UkID0gdGhpcy51dGlscy5nZXRTREtTdGF0aWNDb250ZW50VXJsKCkuY29uY2F0KCdhc3NldHMvcHpwZWdhLWxvZ28tbWFyay5zdmcnKTtcbiAgICAgIHRoaXMucG9ydGFsT3BlcmF0b3IkID0gUENvcmUuZ2V0RW52aXJvbm1lbnRJbmZvKCkuZ2V0T3BlcmF0b3JOYW1lKCk7XG4gICAgICB0aGlzLnBvcnRhbE9wZXJhdG9ySW5pdGlhbHMkID0gdGhpcy51dGlscy5nZXRJbml0aWFscyh0aGlzLnBvcnRhbE9wZXJhdG9yJCA/PyAnJyk7XG4gICAgICB0aGlzLnNob3dBcHBOYW1lJCA9IHRoaXMuY29uZmlnUHJvcHMkLnNob3dBcHBOYW1lO1xuXG4gICAgICB0aGlzLnBvcnRhbEFwcCQgPSBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXRBcHBsaWNhdGlvbkxhYmVsKCk7XG4gICAgfSk7XG4gIH1cblxuICBuYXZQYW5lbEJ1dHRvbkNsaWNrKG9QYWdlRGF0YTogYW55KSB7XG4gICAgY29uc3QgeyBweUNsYXNzTmFtZSwgcHlSdWxlTmFtZSB9ID0gb1BhZ2VEYXRhO1xuXG4gICAgdGhpcy5zaG93UGFnZShweVJ1bGVOYW1lLCBweUNsYXNzTmFtZSk7XG4gIH1cblxuICBuYXZQYW5lbENyZWF0ZUJ1dHRvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLm5hdkV4cGFuZENvbGxhcHNlJC5pbmRleE9mKCdwbHVzJykgPiAwKSB7XG4gICAgICB0aGlzLm5hdkV4cGFuZENvbGxhcHNlJCA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMoJ3RpbWVzJywgdGhpcy51dGlscy5nZXRTREtTdGF0aWNDb250ZW50VXJsKCkpO1xuICAgICAgdGhpcy5iU2hvd0Nhc2VUeXBlcyQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdkV4cGFuZENvbGxhcHNlJCA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMoJ3BsdXMnLCB0aGlzLnV0aWxzLmdldFNES1N0YXRpY0NvbnRlbnRVcmwoKSk7XG4gICAgICB0aGlzLmJTaG93Q2FzZVR5cGVzJCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuY2hSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmF2UGFuZWxDcmVhdGVDYXNlVHlwZShzQ2FzZVR5cGU6IHN0cmluZywgc0Zsb3dUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZSh0cnVlKTtcbiAgICB0aGlzLm5hdlBhbmVsQ3JlYXRlQnV0dG9uQ2xpY2soKTtcblxuICAgIGNvbnN0IGFjdGlvbkluZm8gPSB7XG4gICAgICBjb250YWluZXJOYW1lOiAncHJpbWFyeScsXG4gICAgICBmbG93VHlwZTogc0Zsb3dUeXBlIHx8ICdweVN0YXJ0Q2FzZSdcbiAgICB9O1xuICAgIHRoaXMuY3JlYXRlV29yayhzQ2FzZVR5cGUsIGFjdGlvbkluZm8pLnRoZW4oKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ2NyZWF0ZVdvcmsgY29tcGxldGVkJyk7XG4gICAgfSk7XG4gIH1cblxuICBuYXZQYW5lbExvZ291dENsaWNrKCkge1xuICAgIGxvZ291dCgpLnRoZW4oKCkgPT4ge1xuICAgICAgLy8gUmVsb2FkIHRoZSBwYWdlIHRvIGtpY2sgb2ZmIHRoZSBsb2dpblxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHNkay1hcHBzaGVsbC1uYXZcIj5cbiAgPGRpdiBjbGFzcz1cInBzZGstbmF2LWhlYWRlclwiPlxuICAgIDxkaXY+XG4gICAgICA8aW1nIHNyYz1cInt7IHBvcnRhbExvZ29JbWFnZSQgfX1cIiBjbGFzcz1cInBzZGstbmF2LWxvZ29cIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwc2RrLW5hdi1wb3J0YWwtaW5mb1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInBzZGstbmF2LXBvcnRhbC1hcHBcIj57eyBwb3J0YWxBcHAkIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHNkay1uYXYtZGl2aWRlclwiPjwvZGl2PlxuICA8ZGl2PlxuICAgIDxtYXQtbGlzdD5cbiAgICAgIDxtYXQtbGlzdC1pdGVtIGlkPVwiY3JlYXRlLWNhc2UtYnV0dG9uXCIgKGNsaWNrKT1cIm5hdlBhbmVsQ3JlYXRlQnV0dG9uQ2xpY2soKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ib3hcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwicHNkay1uYXYtc3ZnLWljb25cIiBzcmM9XCJ7eyBuYXZFeHBhbmRDb2xsYXBzZSQgfX1cIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHNkay1uYXYtYnV0dG9uLXNwYW5cIj5DcmVhdGU8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgPG1hdC1saXN0ICpuZ0lmPVwiYlNob3dDYXNlVHlwZXMkXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogNDBweFwiPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbVxuICAgICAgICAgIGlkPVwiY2FzZS1saXN0LWl0ZW1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXNlVHlwZSBvZiBjYXNlVHlwZXMkXCJcbiAgICAgICAgICAoY2xpY2spPVwibmF2UGFuZWxDcmVhdGVDYXNlVHlwZShjYXNlVHlwZS5weUNsYXNzTmFtZSwgY2FzZVR5cGUucHlGbG93VHlwZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwc2RrLW5hdi1idXR0b24tc3BhblwiPnt7IGxvY2FsZVV0aWxzLmdldExvY2FsZVZhbHVlKGNhc2VUeXBlLnB5TGFiZWwsICcnLCBsb2NhbGVSZWZlcmVuY2UpIH19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8L21hdC1saXN0PlxuICAgIDwvbWF0LWxpc3Q+XG4gIDwvZGl2PlxuICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XG4gICAgPG1hdC1saXN0ICpuZ0Zvcj1cImxldCBwYWdlIG9mIG5hdlBhZ2VzJFwiPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm5hdlBhbmVsQnV0dG9uQ2xpY2socGFnZSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtYm94XCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cInBzZGstbmF2LXN2Zy1pY29uXCIgc3JjPVwie3sgcGFnZS5pY29uTmFtZSB9fVwiIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwc2RrLW5hdi1idXR0b24tc3BhblwiPnt7IGxvY2FsZVV0aWxzLmdldExvY2FsZVZhbHVlKHBhZ2UucHlMYWJlbCwgJycsIGxvY2FsZVJlZmVyZW5jZSkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDwvbWF0LWxpc3Q+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHNkay1uYXYtZGl2aWRlclwiPjwvZGl2PlxuICA8ZGl2PlxuICAgIDxtYXQtbGlzdCBpZD1cInByb2ZpbGVcIj5cbiAgICAgIDxtYXQtbGlzdC1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJwc2RrLXByb2ZpbGUtbGlzdC1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWJveFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwc2RrLW5hdi1vcGVyLWF2YXRhclwiPnt7IHBvcnRhbE9wZXJhdG9ySW5pdGlhbHMkIH19PC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwc2RrLW5hdi1idXR0b24tc3BhblwiPnt7IHBvcnRhbE9wZXJhdG9yJCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT5Qcm9maWxlPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibmF2UGFuZWxMb2dvdXRDbGljaygpXCI+e3sgbG9jYWxpemVkVmFsKCdMb2cgb2ZmJywgbG9jYWxlQ2F0ZWdvcnkpIH19PC9idXR0b24+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbWF0LWxpc3Q+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,133 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
5
- * Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
6
- * is totally at your own risk.
7
- */
8
- export class ReferenceComponent {
9
- /* Used to toggle some class-wide logging */
10
- static { this.bLogging = false; }
11
- constructor() {
12
- this.referencedComponent = null;
13
- // With new static method approach, this shouldn't be called any more
14
- window.alert(`in ReferenceComponent constructor!`);
15
- console.error(`in ReferenceComponent constructor!`);
16
- }
17
- // onStateChange and updateSelf methods removed from original implementation
18
- // when we moved to the static method implementation.
19
- // STATIC method to create a normalized PConn (a fully realized View that the 'reference'
20
- // component refers to) from the given pConn. Has to add in some stuff as in the constructor
21
- static createFullReferencedViewFromRef(inPConn) {
22
- // BAIL and ERROR if inPConn is NOT a reference!
23
- if (inPConn.getComponentName() !== 'reference') {
24
- // debugger;
25
- console.error(`Reference component: createFullReferencedViewFromRef inPConn is NOT a reference! ${inPConn.getComponentName()}`);
26
- }
27
- const theResolvedConfigProps = inPConn.resolveConfigProps(inPConn.getConfigProps());
28
- const referenceConfig = { ...inPConn.getComponentConfig() } || {};
29
- // Since SDK-A implements Reference as static methods and we don't rely on
30
- // the Reference component's handling of the visibility prop, we leave it in
31
- // (and also leaving the others in for now) so the referenced View can act on
32
- // the visibility prop. (The following 3 lines were carried over from React SDK)
33
- delete referenceConfig?.name;
34
- // delete referenceConfig?.type;
35
- // delete referenceConfig?.visibility;
36
- const viewMetadata = inPConn.getReferencedView();
37
- if (!viewMetadata) {
38
- console.log('View not found ', inPConn.getComponentConfig());
39
- return null;
40
- }
41
- // If we get here, we have metadata for a View component...
42
- // const referencedComponentName = viewMetadata.type;
43
- const viewObject = {
44
- ...viewMetadata,
45
- config: {
46
- ...viewMetadata.config,
47
- ...referenceConfig
48
- }
49
- };
50
- if (ReferenceComponent.bLogging) {
51
- console.log(`Reference: about to call createComponent with pageReference: context: ${theResolvedConfigProps.context}`);
52
- }
53
- const viewComponent = inPConn.createComponent(viewObject, null, null, {
54
- pageReference: theResolvedConfigProps.context
55
- });
56
- // updating the referencedComponent should trigger a render
57
- const newCompPConnect = viewComponent.getPConnect();
58
- newCompPConnect.setInheritedConfig({
59
- ...referenceConfig,
60
- readOnly: theResolvedConfigProps.readOnly ? theResolvedConfigProps.readOnly : false,
61
- displayMode: theResolvedConfigProps.displayMode ? theResolvedConfigProps.displayMode : null
62
- });
63
- if (ReferenceComponent.bLogging) {
64
- console.log(`Angular Reference component: createFullReferencedViewFromRef -> newCompPConnect configProps: ${JSON.stringify(newCompPConnect.getConfigProps())}`);
65
- }
66
- return newCompPConnect;
67
- }
68
- // STATIC method that other components can call to normalize
69
- // a pConn object that might be a 'reference'. If the incoming
70
- // pConn is a reference, return its dereferenced View PConnect's
71
- // getPConnect. Otherwise, return the passed in pConn unchanged
72
- // inPConn = a PConn object (ex: { getPConnect()} )
73
- static normalizePConn(inPConn) {
74
- // debugger;
75
- let returnObj = false;
76
- let thePConnType = '';
77
- if (inPConn.getPConnect) {
78
- // inPConn is an object (ex: { getPConnect()} ), so we want to return
79
- // any referenced view as the object containing the
80
- // the getPConnect function
81
- returnObj = true;
82
- thePConnType = inPConn.getPConnect().getComponentName();
83
- }
84
- else {
85
- // inPConn is an object with the PConnect function, so we want
86
- // to return any referenced view as the object containing the
87
- // the c11n function
88
- returnObj = false;
89
- thePConnType = inPConn.getComponentName();
90
- }
91
- if (thePConnType === 'reference') {
92
- if (returnObj) {
93
- // WAS...
94
- // const theRefViewPConn = inPConn.getPConnect().getReferencedViewPConnect(true);
95
- // Now: ALWAYS calling createFullReferencedViewFromRef to have options, PageReference, etc.
96
- // set correctly in the C11nEnv (PConnect) object
97
- // debugger;
98
- let theRefViewPConn = this.createFullReferencedViewFromRef(inPConn.getPConnect());
99
- // now return its PConnect
100
- theRefViewPConn = theRefViewPConn.getComponent();
101
- // const theFullReference = theRefViewPConn.getPConnect().getFullReference();
102
- // console.log(`theFullReference: ${theFullReference}`);
103
- return theRefViewPConn;
104
- }
105
- // console.log(`created theFullRefView full reference: ${theFullRefView.getFullReference()}`);
106
- // debugger;
107
- return this.createFullReferencedViewFromRef(inPConn);
108
- }
109
- return inPConn;
110
- }
111
- // STATIC method that other components can call to normalize
112
- // an array of pConn objects where any of the children might
113
- // be a 'reference'. The array returns an array of children
114
- // where any 'reference' is replaced with its ReferencedView
115
- // inPConnArray is an array of PConn objects or functions.
116
- // Its value is passed to normalizePConn
117
- static normalizePConnArray(inPConnArray) {
118
- if (!(inPConnArray?.length > 0)) {
119
- // null or empty array, return what was passed in
120
- return inPConnArray;
121
- }
122
- return inPConnArray.map(child => {
123
- return ReferenceComponent.normalizePConn(child);
124
- });
125
- }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ReferenceComponent, isStandalone: true, selector: "app-reference", ngImport: i0, template: "<!-- Reference component is all static methods so .html not used -->\n", styles: [""] }); }
128
- }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReferenceComponent, decorators: [{
130
- type: Component,
131
- args: [{ selector: 'app-reference', standalone: true, template: "<!-- Reference component is all static methods so .html not used -->\n" }]
132
- }], ctorParameters: () => [] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLDRDQUE0QzthQUM3QixhQUFRLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFFaEM7UUFMQSx3QkFBbUIsR0FBUSxJQUFJLENBQUM7UUFNOUIscUVBQXFFO1FBQ3JFLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUVuRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxzREFBc0Q7SUFFdEQseUZBQXlGO0lBQ3pGLDZGQUE2RjtJQUM3RixNQUFNLENBQUMsK0JBQStCLENBQUMsT0FBWTtRQUNqRCxnREFBZ0Q7UUFDaEQsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMvQyxZQUFZO1lBRVosT0FBTyxDQUFDLEtBQUssQ0FBQyxvRkFBb0YsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xJLENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMs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ZSxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDbEYsMEJBQTBCO2dCQUMxQixlQUFlLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUVqRCw2RUFBNkU7Z0JBQzdFLHdEQUF3RDtnQkFFeEQsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztZQUNELDhGQUE4RjtZQUM5RixZQUFZO1lBRVosT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsNkRBQTZEO0lBQzdELDREQUE0RDtJQUM1RCw2REFBNkQ7SUFDN0QsMkRBQTJEO0lBQzNELDJDQUEyQztJQUUzQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBaUI7UUFDMUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGlEQUFpRDtZQUNqRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sa0JBQWtCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FySlUsa0JBQWtCO21HQUFsQixrQkFBa0IseUVDZC9CLHdFQUNBOzs0RkRhYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBXQVJOSU5HOiBJdCBpcyBub3QgZXhwZWN0ZWQgdGhhdCB0aGlzIGZpbGUgc2hvdWxkIGJlIG1vZGlmaWVkLiAgSXQgaXMgcGFydCBvZiBpbmZyYXN0cnVjdHVyZSBjb2RlIHRoYXQgd29ya3Mgd2l0aFxuICogUmVkdXggYW5kIGNyZWF0aW9uL3VwZGF0ZSBvZiBSZWR1eCBjb250YWluZXJzIGFuZCBQQ29ubmVjdC4gIE1vZGlmeWluZyB0aGlzIGNvZGUgY291bGQgaGF2ZSB1bmRlc2lyZWFibGUgcmVzdWx0cyBhbmRcbiAqIGlzIHRvdGFsbHkgYXQgeW91ciBvd24gcmlzay5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVmZXJlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZmVyZW5jZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZUNvbXBvbmVudCB7XG4gIHJlZmVyZW5jZWRDb21wb25lbnQ6IGFueSA9IG51bGw7XG5cbiAgLyogVXNlZCB0byB0b2dnbGUgc29tZSBjbGFzcy13aWRlIGxvZ2dpbmcgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYkxvZ2dpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBXaXRoIG5ldyBzdGF0aWMgbWV0aG9kIGFwcHJvYWNoLCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgYW55IG1vcmVcbiAgICB3aW5kb3cuYWxlcnQoYGluIFJlZmVyZW5jZUNvbXBvbmVudCBjb25zdHJ1Y3RvciFgKTtcblxuICAgIGNvbnNvbGUuZXJyb3IoYGluIFJlZmVyZW5jZUNvbXBvbmVudCBjb25zdHJ1Y3RvciFgKTtcbiAgfVxuXG4gIC8vIG9uU3RhdGVDaGFuZ2UgYW5kIHVwZGF0ZVNlbGYgbWV0aG9kcyByZW1vdmVkIGZyb20gb3JpZ2luYWwgaW1wbGVtZW50YXRpb25cbiAgLy8gIHdoZW4gd2UgbW92ZWQgdG8gdGhlIHN0YXRpYyBtZXRob2QgaW1wbGVtZW50YXRpb24uXG5cbiAgLy8gU1RBVElDIG1ldGhvZCB0byBjcmVhdGUgYSBub3JtYWxpemVkIFBDb25uIChhIGZ1bGx5IHJlYWxpemVkIFZpZXcgdGhhdCB0aGUgJ3JlZmVyZW5jZSdcbiAgLy8gIGNvbXBvbmVudCByZWZlcnMgdG8pIGZyb20gdGhlIGdpdmVuIHBDb25uLiBIYXMgdG8gYWRkIGluIHNvbWUgc3R1ZmYgYXMgaW4gdGhlIGNvbnN0cnVjdG9yXG4gIHN0YXRpYyBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmKGluUENvbm46IGFueSkge1xuICAgIC8vIEJBSUwgYW5kIEVSUk9SIGlmIGluUENvbm4gaXMgTk9UIGEgcmVmZXJlbmNlIVxuICAgIGlmIChpblBDb25uLmdldENvbXBvbmVudE5hbWUoKSAhPT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuXG4gICAgICBjb25zb2xlLmVycm9yKGBSZWZlcmVuY2UgY29tcG9uZW50OiBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmIGluUENvbm4gaXMgTk9UIGEgcmVmZXJlbmNlISAke2luUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHRoZVJlc29sdmVkQ29uZmlnUHJvcHMgPSBpblBDb25uLnJlc29sdmVDb25maWdQcm9wcyhpblBDb25uLmdldENvbmZpZ1Byb3BzKCkpO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlQ29uZmlnID0geyAuLi5pblBDb25uLmdldENvbXBvbmVudENvbmZpZygpIH0gfHwge307XG5cbiAgICAvLyBTaW5jZSBTREstQSBpbXBsZW1lbnRzIFJlZmVyZW5jZSBhcyBzdGF0aWMgbWV0aG9kcyBhbmQgd2UgZG9uJ3QgcmVseSBvblxuICAgIC8vICB0aGUgUmVmZXJlbmNlIGNvbXBvbmVudCdzIGhhbmRsaW5nIG9mIHRoZSB2aXNpYmlsaXR5IHByb3AsIHdlIGxlYXZlIGl0IGluXG4gICAgLy8gIChhbmQgYWxzbyBsZWF2aW5nIHRoZSBvdGhlcnMgaW4gZm9yIG5vdykgc28gdGhlIHJlZmVyZW5jZWQgVmlldyBjYW4gYWN0IG9uXG4gICAgLy8gIHRoZSB2aXNpYmlsaXR5IHByb3AuIChUaGUgZm9sbG93aW5nIDMgbGluZXMgd2VyZSBjYXJyaWVkIG92ZXIgZnJvbSBSZWFjdCBTREspXG4gICAgZGVsZXRlIHJlZmVyZW5jZUNvbmZpZz8ubmFtZTtcbiAgICAvLyBkZWxldGUgcmVmZXJlbmNlQ29uZmlnPy50eXBlO1xuICAgIC8vIGRlbGV0ZSByZWZlcmVuY2VDb25maWc/LnZpc2liaWxpdHk7XG5cbiAgICBjb25zdCB2aWV3TWV0YWRhdGEgPSBpblBDb25uLmdldFJlZmVyZW5jZWRWaWV3KCk7XG5cbiAgICBpZiAoIXZpZXdNZXRhZGF0YSkge1xuICAgICAgY29uc29sZS5sb2coJ1ZpZXcgbm90IGZvdW5kICcsIGluUENvbm4uZ2V0Q29tcG9uZW50Q29uZmlnKCkpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgd2UgZ2V0IGhlcmUsIHdlIGhhdmUgbWV0YWRhdGEgZm9yIGEgVmlldyBjb21wb25lbnQuLi5cbiAgICAvLyBjb25zdCByZWZlcmVuY2VkQ29tcG9uZW50TmFtZSA9IHZpZXdNZXRhZGF0YS50eXBlO1xuXG4gICAgY29uc3Qgdmlld09iamVjdCA9IHtcbiAgICAgIC4uLnZpZXdNZXRhZGF0YSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICAuLi52aWV3TWV0YWRhdGEuY29uZmlnLFxuICAgICAgICAuLi5yZWZlcmVuY2VDb25maWdcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKFJlZmVyZW5jZUNvbXBvbmVudC5iTG9nZ2luZykge1xuICAgICAgY29uc29sZS5sb2coYFJlZmVyZW5jZTogYWJvdXQgdG8gY2FsbCBjcmVhdGVDb21wb25lbnQgd2l0aCBwYWdlUmVmZXJlbmNlOiBjb250ZXh0OiAke3RoZVJlc29sdmVkQ29uZmlnUHJvcHMuY29udGV4dH1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3Q29tcG9uZW50ID0gaW5QQ29ubi5jcmVhdGVDb21wb25lbnQodmlld09iamVjdCwgbnVsbCwgbnVsbCwge1xuICAgICAgcGFnZVJlZmVyZW5jZTogdGhlUmVzb2x2ZWRDb25maWdQcm9wcy5jb250ZXh0XG4gICAgfSk7XG5cbiAgICAvLyB1cGRhdGluZyB0aGUgcmVmZXJlbmNlZENvbXBvbmVudCBzaG91bGQgdHJpZ2dlciBhIHJlbmRlclxuICAgIGNvbnN0IG5ld0NvbXBQQ29ubmVjdCA9IHZpZXdDb21wb25lbnQuZ2V0UENvbm5lY3QoKTtcblxuICAgIG5ld0NvbXBQQ29ubmVjdC5zZXRJbmhlcml0ZWRDb25maWcoe1xuICAgICAgLi4ucmVmZXJlbmNlQ29uZmlnLFxuICAgICAgcmVhZE9ubHk6IHRoZVJlc29sdmVkQ29uZmlnUHJvcHMucmVhZE9ubHkgPyB0aGVSZXNvbHZlZENvbmZpZ1Byb3BzLnJlYWRPbmx5IDogZmFsc2UsXG4gICAgICBkaXNwbGF5TW9kZTogdGhlUmVzb2x2ZWRDb25maWdQcm9wcy5kaXNwbGF5TW9kZSA/IHRoZVJlc29sdmVkQ29uZmlnUHJvcHMuZGlzcGxheU1vZGUgOiBudWxsXG4gICAgfSk7XG5cbiAgICBpZiAoUmVmZXJlbmNlQ29tcG9uZW50LmJMb2dnaW5nKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYEFuZ3VsYXIgUmVmZXJlbmNlIGNvbXBvbmVudDogY3JlYXRlRnVsbFJlZmVyZW5jZWRWaWV3RnJvbVJlZiAtPiBuZXdDb21wUENvbm5lY3QgY29uZmlnUHJvcHM6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgbmV3Q29tcFBDb25uZWN0LmdldENvbmZpZ1Byb3BzKClcbiAgICAgICAgKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdDb21wUENvbm5lY3Q7XG4gIH1cblxuICAvLyBTVEFUSUMgbWV0aG9kIHRoYXQgb3RoZXIgY29tcG9uZW50cyBjYW4gY2FsbCB0byBub3JtYWxpemVcbiAgLy8gIGEgcENvbm4gb2JqZWN0IHRoYXQgbWlnaHQgYmUgYSAncmVmZXJlbmNlJy4gSWYgdGhlIGluY29taW5nXG4gIC8vICBwQ29ubiBpcyBhIHJlZmVyZW5jZSwgcmV0dXJuIGl0cyBkZXJlZmVyZW5jZWQgVmlldyBQQ29ubmVjdCdzXG4gIC8vICBnZXRQQ29ubmVjdC4gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHBhc3NlZCBpbiBwQ29ubiB1bmNoYW5nZWRcbiAgLy8gIGluUENvbm4gPSBhIFBDb25uIG9iamVjdCAoZXg6IHsgZ2V0UENvbm5lY3QoKX0gKVxuICBzdGF0aWMgbm9ybWFsaXplUENvbm4oaW5QQ29ubjogYW55KSB7XG4gICAgLy8gZGVidWdnZXI7XG5cbiAgICBsZXQgcmV0dXJuT2JqID0gZmFsc2U7XG4gICAgbGV0IHRoZVBDb25uVHlwZSA9ICcnO1xuXG4gICAgaWYgKGluUENvbm4uZ2V0UENvbm5lY3QpIHtcbiAgICAgIC8vIGluUENvbm4gaXMgYW4gb2JqZWN0IChleDogeyBnZXRQQ29ubmVjdCgpfSApLCBzbyB3ZSB3YW50IHRvIHJldHVyblxuICAgICAgLy8gIGFueSByZWZlcmVuY2VkIHZpZXcgYXMgdGhlIG9iamVjdCBjb250YWluaW5nIHRoZVxuICAgICAgLy8gIHRoZSBnZXRQQ29ubmVjdCBmdW5jdGlvblxuICAgICAgcmV0dXJuT2JqID0gdHJ1ZTtcbiAgICAgIHRoZVBDb25uVHlwZSA9IGluUENvbm4uZ2V0UENvbm5lY3QoKS5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluUENvbm4gaXMgYW4gb2JqZWN0IHdpdGggdGhlIFBDb25uZWN0IGZ1bmN0aW9uLCBzbyB3ZSB3YW50XG4gICAgICAvLyAgdG8gcmV0dXJuIGFueSByZWZlcmVuY2VkIHZpZXcgYXMgdGhlIG9iamVjdCBjb250YWluaW5nIHRoZVxuICAgICAgLy8gIHRoZSBjMTFuIGZ1bmN0aW9uXG4gICAgICByZXR1cm5PYmogPSBmYWxzZTtcbiAgICAgIHRoZVBDb25uVHlwZSA9IGluUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGVQQ29ublR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICBpZiAocmV0dXJuT2JqKSB7XG4gICAgICAgIC8vICBXQVMuLi5cbiAgICAgICAgLy8gY29uc3QgdGhlUmVmVmlld1BDb25uID0gaW5QQ29ubi5nZXRQQ29ubmVjdCgpLmdldFJlZmVyZW5jZWRWaWV3UENvbm5lY3QodHJ1ZSk7XG4gICAgICAgIC8vIE5vdzogQUxXQVlTIGNhbGxpbmcgY3JlYXRlRnVsbFJlZmVyZW5jZWRWaWV3RnJvbVJlZiB0byBoYXZlIG9wdGlvbnMsIFBhZ2VSZWZlcmVuY2UsIGV0Yy5cbiAgICAgICAgLy8gIHNldCBjb3JyZWN0bHkgaW4gdGhlIEMxMW5FbnYgKFBDb25uZWN0KSBvYmplY3RcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGxldCB0aGVSZWZWaWV3UENvbm4gPSB0aGlzLmNyZWF0ZUZ1bGxSZWZlcmVuY2VkVmlld0Zyb21SZWYoaW5QQ29ubi5nZXRQQ29ubmVjdCgpKTtcbiAgICAgICAgLy8gbm93IHJldHVybiBpdHMgUENvbm5lY3RcbiAgICAgICAgdGhlUmVmVmlld1BDb25uID0gdGhlUmVmVmlld1BDb25uLmdldENvbXBvbmVudCgpO1xuXG4gICAgICAgIC8vIGNvbnN0IHRoZUZ1bGxSZWZlcmVuY2UgPSB0aGVSZWZWaWV3UENvbm4uZ2V0UENvbm5lY3QoKS5nZXRGdWxsUmVmZXJlbmNlKCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGB0aGVGdWxsUmVmZXJlbmNlOiAke3RoZUZ1bGxSZWZlcmVuY2V9YCk7XG5cbiAgICAgICAgcmV0dXJuIHRoZVJlZlZpZXdQQ29ubjtcbiAgICAgIH1cbiAgICAgIC8vIGNvbnNvbGUubG9nKGBjcmVhdGVkIHRoZUZ1bGxSZWZWaWV3IGZ1bGwgcmVmZXJlbmNlOiAke3RoZUZ1bGxSZWZWaWV3LmdldEZ1bGxSZWZlcmVuY2UoKX1gKTtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmKGluUENvbm4pO1xuICAgIH1cbiAgICByZXR1cm4gaW5QQ29ubjtcbiAgfVxuXG4gIC8vIFNUQVRJQyBtZXRob2QgdGhhdCBvdGhlciBjb21wb25lbnRzIGNhbiBjYWxsIHRvIG5vcm1hbGl6ZVxuICAvLyAgYW4gYXJyYXkgb2YgcENvbm4gb2JqZWN0cyB3aGVyZSBhbnkgb2YgdGhlIGNoaWxkcmVuIG1pZ2h0XG4gIC8vICBiZSBhICdyZWZlcmVuY2UnLiBUaGUgYXJyYXkgcmV0dXJucyBhbiBhcnJheSBvZiBjaGlsZHJlblxuICAvLyAgd2hlcmUgYW55ICdyZWZlcmVuY2UnIGlzIHJlcGxhY2VkIHdpdGggaXRzIFJlZmVyZW5jZWRWaWV3XG4gIC8vICBpblBDb25uQXJyYXkgaXMgYW4gYXJyYXkgb2YgUENvbm4gb2JqZWN0cyBvciBmdW5jdGlvbnMuXG4gIC8vICAgIEl0cyB2YWx1ZSBpcyBwYXNzZWQgdG8gbm9ybWFsaXplUENvbm5cblxuICBzdGF0aWMgbm9ybWFsaXplUENvbm5BcnJheShpblBDb25uQXJyYXk6IGFueSkge1xuICAgIGlmICghKGluUENvbm5BcnJheT8ubGVuZ3RoID4gMCkpIHtcbiAgICAgIC8vIG51bGwgb3IgZW1wdHkgYXJyYXksIHJldHVybiB3aGF0IHdhcyBwYXNzZWQgaW5cbiAgICAgIHJldHVybiBpblBDb25uQXJyYXk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluUENvbm5BcnJheS5tYXAoY2hpbGQgPT4ge1xuICAgICAgcmV0dXJuIFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubihjaGlsZCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS0gUmVmZXJlbmNlIGNvbXBvbmVudCBpcyBhbGwgc3RhdGljIG1ldGhvZHMgc28gLmh0bWwgbm90IHVzZWQgLS0+XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReferenceComponent } from '../reference/reference.component';
4
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- export class RegionComponent {
8
- ngOnInit() {
9
- // console.log(`ngOnInit (no registerAndSubscribe!): Region`);
10
- this.updateSelf();
11
- }
12
- ngOnChanges(changes) {
13
- const { pConn$ } = changes;
14
- if (pConn$.previousValue && pConn$.previousValue !== pConn$.currentValue) {
15
- this.updateSelf();
16
- }
17
- }
18
- updateSelf() {
19
- // The children may contain 'reference' components, so normalize the children...
20
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RegionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RegionComponent, isStandalone: true, selector: "app-region", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<!-- When adding a component here, add the same component in 'default-form' template as well -->\n<div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Region wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RegionComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'app-region', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<!-- When adding a component here, add the same component in 'default-form' template as well -->\n<div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Region wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n</div>\n" }]
28
- }], propDecorators: { pConn$: [{
29
- type: Input
30
- }], formGroup$: [{
31
- type: Input
32
- }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWdpb24vcmVnaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWdpb24vcmVnaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7QUFTeEcsTUFBTSxPQUFPLGVBQWU7SUFNMUIsUUFBUTtRQUNOLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTNCLElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7K0dBdEJVLGVBQWU7bUdBQWYsZUFBZSxtSkNiNUIsd2JBV0EsNkVEQVksWUFBWSxzTUFBbUIsd0JBQXdCOzs0RkFFdEQsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzhCQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJlZ2lvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWdpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWdpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG5cbiAgYXJDaGlsZHJlbiQ6IGFueVtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGBuZ09uSW5pdCAobm8gcmVnaXN0ZXJBbmRTdWJzY3JpYmUhKTogUmVnaW9uYCk7XG4gICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBwQ29ubiQgfSA9IGNoYW5nZXM7XG5cbiAgICBpZiAocENvbm4kLnByZXZpb3VzVmFsdWUgJiYgcENvbm4kLnByZXZpb3VzVmFsdWUgIT09IHBDb25uJC5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVNlbGYoKSB7XG4gICAgLy8gVGhlIGNoaWxkcmVuIG1heSBjb250YWluICdyZWZlcmVuY2UnIGNvbXBvbmVudHMsIHNvIG5vcm1hbGl6ZSB0aGUgY2hpbGRyZW4uLi5cbiAgICB0aGlzLmFyQ2hpbGRyZW4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uQXJyYXkodGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSk7XG4gIH1cbn1cbiIsIjwhLS0gV2hlbiBhZGRpbmcgYSBjb21wb25lbnQgaGVyZSwgYWRkIHRoZSBzYW1lIGNvbXBvbmVudCBpbiAnZGVmYXVsdC1mb3JtJyB0ZW1wbGF0ZSBhcyB3ZWxsIC0tPlxuPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gIDxjb21wb25lbnQtbWFwcGVyXG4gICAgW25hbWVdPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCJcbiAgICBbcHJvcHNdPVwie1xuICAgICAgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSxcbiAgICAgIGZvcm1Hcm91cCQ6IGZvcm1Hcm91cCRcbiAgICB9XCJcbiAgICBlcnJvck1zZz1cIlJlZ2lvbiB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fVwiXG4gID48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==