@pega/angular-sdk-components 24.2.12 → 25.1.11

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 (325) hide show
  1. package/fesm2022/pega-angular-sdk-components.mjs +4828 -3717
  2. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  3. package/index.d.ts +4963 -3
  4. package/package.json +21 -6
  5. package/esm2022/lib/_bridge/angular-pconnect.mjs +0 -428
  6. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +0 -107
  7. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +0 -239
  8. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +0 -142
  9. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +0 -50
  10. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +0 -29
  11. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +0 -31
  12. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +0 -51
  13. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +0 -31
  14. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +0 -82
  15. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +0 -37
  16. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +0 -38
  17. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +0 -36
  18. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +0 -25
  19. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +0 -28
  20. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +0 -42
  21. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +0 -145
  22. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +0 -33
  23. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +0 -93
  24. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +0 -18
  25. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +0 -296
  26. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +0 -96
  27. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +0 -225
  28. package/esm2022/lib/_components/field/currency/currency.component.mjs +0 -195
  29. package/esm2022/lib/_components/field/date/date.component.mjs +0 -205
  30. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +0 -196
  31. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +0 -205
  32. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +0 -300
  33. package/esm2022/lib/_components/field/email/email.component.mjs +0 -165
  34. package/esm2022/lib/_components/field/group/group.component.mjs +0 -64
  35. package/esm2022/lib/_components/field/integer/integer.component.mjs +0 -168
  36. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +0 -45
  37. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +0 -314
  38. package/esm2022/lib/_components/field/multiselect/utils.mjs +0 -187
  39. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +0 -190
  40. package/esm2022/lib/_components/field/phone/phone.component.mjs +0 -155
  41. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +0 -182
  42. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +0 -109
  43. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +0 -95
  44. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +0 -57
  45. package/esm2022/lib/_components/field/text/text.component.mjs +0 -142
  46. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +0 -165
  47. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +0 -69
  48. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +0 -165
  49. package/esm2022/lib/_components/field/time/time.component.mjs +0 -174
  50. package/esm2022/lib/_components/field/url/url.component.mjs +0 -165
  51. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +0 -266
  52. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +0 -18
  53. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +0 -71
  54. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +0 -461
  55. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +0 -68
  56. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +0 -24
  57. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +0 -335
  58. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +0 -32
  59. package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +0 -22
  60. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +0 -211
  61. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +0 -31
  62. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +0 -407
  63. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +0 -47
  64. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +0 -87
  65. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +0 -143
  66. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +0 -18
  67. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +0 -80
  68. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +0 -136
  69. package/esm2022/lib/_components/infra/reference/reference.component.mjs +0 -126
  70. package/esm2022/lib/_components/infra/region/region.component.mjs +0 -33
  71. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +0 -223
  72. package/esm2022/lib/_components/infra/stages/stages.component.mjs +0 -62
  73. package/esm2022/lib/_components/infra/view/view.component.mjs +0 -188
  74. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +0 -156
  75. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +0 -43
  76. package/esm2022/lib/_components/template/base/details-template-base.mjs +0 -56
  77. package/esm2022/lib/_components/template/base/form-template-base.mjs +0 -16
  78. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +0 -101
  79. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +0 -185
  80. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +0 -68
  81. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +0 -242
  82. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +0 -73
  83. package/esm2022/lib/_components/template/details/details.component.mjs +0 -76
  84. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +0 -45
  85. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +0 -42
  86. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +0 -39
  87. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +0 -51
  88. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +0 -48
  89. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +0 -48
  90. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +0 -65
  91. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +0 -23
  92. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +0 -131
  93. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +0 -24
  94. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +0 -22
  95. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +0 -40
  96. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +0 -14
  97. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +0 -208
  98. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +0 -1217
  99. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +0 -60
  100. package/esm2022/lib/_components/template/list-view/utils.mjs +0 -662
  101. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +0 -44
  102. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +0 -30
  103. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +0 -31
  104. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +0 -16
  105. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +0 -30
  106. package/esm2022/lib/_components/template/page/page.component.mjs +0 -52
  107. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +0 -149
  108. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +0 -138
  109. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +0 -104
  110. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +0 -271
  111. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +0 -813
  112. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +0 -129
  113. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +0 -16
  114. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +0 -67
  115. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +0 -31
  116. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +0 -16
  117. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +0 -31
  118. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +0 -40
  119. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +0 -30
  120. package/esm2022/lib/_components/template/utils.mjs +0 -38
  121. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +0 -31
  122. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +0 -53
  123. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +0 -137
  124. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +0 -24
  125. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +0 -393
  126. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +0 -80
  127. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +0 -521
  128. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +0 -638
  129. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +0 -57
  130. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +0 -75
  131. package/esm2022/lib/_components/widget/todo/todo.component.mjs +0 -230
  132. package/esm2022/lib/_components/widget/utility/utility.component.mjs +0 -34
  133. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +0 -28
  134. package/esm2022/lib/_helpers/case-utils.mjs +0 -71
  135. package/esm2022/lib/_helpers/common.mjs +0 -20
  136. package/esm2022/lib/_helpers/createstage-utils.mjs +0 -15
  137. package/esm2022/lib/_helpers/currency-utils.mjs +0 -57
  138. package/esm2022/lib/_helpers/date-format-utils.mjs +0 -68
  139. package/esm2022/lib/_helpers/event-util.mjs +0 -18
  140. package/esm2022/lib/_helpers/field-group-utils.mjs +0 -47
  141. package/esm2022/lib/_helpers/filter-utils.mjs +0 -105
  142. package/esm2022/lib/_helpers/formatters/boolean.mjs +0 -20
  143. package/esm2022/lib/_helpers/formatters/common.mjs +0 -17
  144. package/esm2022/lib/_helpers/formatters/currency-map.mjs +0 -903
  145. package/esm2022/lib/_helpers/formatters/currency.mjs +0 -68
  146. package/esm2022/lib/_helpers/formatters/date.mjs +0 -69
  147. package/esm2022/lib/_helpers/formatters/format-utils.mjs +0 -76
  148. package/esm2022/lib/_helpers/formatters/index.mjs +0 -124
  149. package/esm2022/lib/_helpers/instructions-utils.mjs +0 -36
  150. package/esm2022/lib/_helpers/tab-utils.mjs +0 -59
  151. package/esm2022/lib/_helpers/template-utils.mjs +0 -56
  152. package/esm2022/lib/_helpers/utils.mjs +0 -412
  153. package/esm2022/lib/_helpers/versionHelpers.mjs +0 -12
  154. package/esm2022/lib/_messages/error-messages.service.mjs +0 -31
  155. package/esm2022/lib/_messages/progress-spinner.service.mjs +0 -30
  156. package/esm2022/lib/_messages/update-worklist.service.mjs +0 -30
  157. package/esm2022/lib/_services/banner.service.mjs +0 -35
  158. package/esm2022/lib/_services/case.service.mjs +0 -32
  159. package/esm2022/lib/_services/datapage.service.mjs +0 -52
  160. package/esm2022/lib/_services/endpoints.mjs +0 -60
  161. package/esm2022/lib/_services/server-config.service.mjs +0 -52
  162. package/esm2022/lib/_types/PConnProps.interface.mjs +0 -2
  163. package/esm2022/pega-angular-sdk-components.mjs +0 -5
  164. package/esm2022/public-api.mjs +0 -145
  165. package/esm2022/sdk-local-component-map.mjs +0 -9
  166. package/lib/_bridge/angular-pconnect.d.ts +0 -142
  167. package/lib/_bridge/component-mapper/component-mapper.component.d.ts +0 -20
  168. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +0 -219
  169. package/lib/_bridge/helpers/sdk_component_map.d.ts +0 -3
  170. package/lib/_components/designSystemExtension/alert/alert.component.d.ts +0 -12
  171. package/lib/_components/designSystemExtension/alert-banner/alert-banner.component.d.ts +0 -13
  172. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -14
  173. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -19
  174. package/lib/_components/designSystemExtension/field-group/field-group.component.d.ts +0 -12
  175. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +0 -20
  176. package/lib/_components/designSystemExtension/material-details/material-details.component.d.ts +0 -15
  177. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +0 -13
  178. package/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.d.ts +0 -15
  179. package/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.d.ts +0 -9
  180. package/lib/_components/designSystemExtension/material-utility/material-utility.component.d.ts +0 -16
  181. package/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.d.ts +0 -11
  182. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +0 -25
  183. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -15
  184. package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +0 -23
  185. package/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.d.ts +0 -7
  186. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +0 -79
  187. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -23
  188. package/lib/_components/field/check-box/check-box.component.d.ts +0 -69
  189. package/lib/_components/field/currency/currency.component.d.ts +0 -54
  190. package/lib/_components/field/date/date.component.d.ts +0 -76
  191. package/lib/_components/field/date-time/date-time.component.d.ts +0 -62
  192. package/lib/_components/field/decimal/decimal.component.d.ts +0 -54
  193. package/lib/_components/field/dropdown/dropdown.component.d.ts +0 -71
  194. package/lib/_components/field/email/email.component.d.ts +0 -45
  195. package/lib/_components/field/group/group.component.d.ts +0 -32
  196. package/lib/_components/field/integer/integer.component.d.ts +0 -45
  197. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +0 -14
  198. package/lib/_components/field/multiselect/multiselect.component.d.ts +0 -64
  199. package/lib/_components/field/multiselect/utils.d.ts +0 -8
  200. package/lib/_components/field/percentage/percentage.component.d.ts +0 -53
  201. package/lib/_components/field/phone/phone.component.d.ts +0 -43
  202. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +0 -60
  203. package/lib/_components/field/rich-text/rich-text.component.d.ts +0 -43
  204. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -36
  205. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -29
  206. package/lib/_components/field/text/text.component.d.ts +0 -41
  207. package/lib/_components/field/text-area/text-area.component.d.ts +0 -46
  208. package/lib/_components/field/text-content/text-content.component.d.ts +0 -29
  209. package/lib/_components/field/text-input/text-input.component.d.ts +0 -46
  210. package/lib/_components/field/time/time.component.d.ts +0 -46
  211. package/lib/_components/field/url/url.component.d.ts +0 -45
  212. package/lib/_components/field/user-reference/user-reference.component.d.ts +0 -50
  213. package/lib/_components/infra/Containers/base-components/flow-container-base.component.d.ts +0 -8
  214. package/lib/_components/infra/Containers/base-components/helper.d.ts +0 -1
  215. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -82
  216. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +0 -3
  217. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -14
  218. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +0 -69
  219. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -14
  220. package/lib/_components/infra/Containers/view-container/helper.d.ts +0 -2
  221. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -50
  222. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +0 -12
  223. package/lib/_components/infra/assignment/assignment.component.d.ts +0 -74
  224. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +0 -17
  225. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -19
  226. package/lib/_components/infra/defer-load/defer-load.component.d.ts +0 -46
  227. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +0 -8
  228. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -30
  229. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -52
  230. package/lib/_components/infra/reference/reference.component.d.ts +0 -36
  231. package/lib/_components/infra/region/region.component.d.ts +0 -13
  232. package/lib/_components/infra/root-container/root-container.component.d.ts +0 -36
  233. package/lib/_components/infra/stages/stages.component.d.ts +0 -28
  234. package/lib/_components/infra/view/view.component.d.ts +0 -40
  235. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -54
  236. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -26
  237. package/lib/_components/template/base/details-template-base.d.ts +0 -21
  238. package/lib/_components/template/base/form-template-base.d.ts +0 -10
  239. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -35
  240. package/lib/_components/template/case-view/case-view.component.d.ts +0 -54
  241. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -37
  242. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -40
  243. package/lib/_components/template/default-form/default-form.component.d.ts +0 -22
  244. package/lib/_components/template/details/details.component.d.ts +0 -11
  245. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -12
  246. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -11
  247. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -13
  248. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -14
  249. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -14
  250. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -13
  251. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -20
  252. package/lib/_components/template/field-group-list/field-group-list.component.d.ts +0 -9
  253. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +0 -55
  254. package/lib/_components/template/field-value-list/field-value-list.component.d.ts +0 -9
  255. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -15
  256. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -24
  257. package/lib/_components/template/list-page/list-page.component.d.ts +0 -6
  258. package/lib/_components/template/list-view/DefaultViewMeta.d.ts +0 -1
  259. package/lib/_components/template/list-view/list-view.component.d.ts +0 -165
  260. package/lib/_components/template/list-view/listViewHelpers.d.ts +0 -1
  261. package/lib/_components/template/list-view/utils.d.ts +0 -118
  262. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -24
  263. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -13
  264. package/lib/_components/template/one-column/one-column.component.d.ts +0 -14
  265. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -8
  266. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -13
  267. package/lib/_components/template/page/page.component.d.ts +0 -24
  268. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -34
  269. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -36
  270. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -42
  271. package/lib/_components/template/simple-table-manual/helpers.d.ts +0 -82
  272. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +0 -168
  273. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -31
  274. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -8
  275. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -25
  276. package/lib/_components/template/three-column/three-column.component.d.ts +0 -14
  277. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -8
  278. package/lib/_components/template/two-column/two-column.component.d.ts +0 -14
  279. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -16
  280. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -13
  281. package/lib/_components/template/utils.d.ts +0 -9
  282. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -14
  283. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -19
  284. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +0 -51
  285. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -18
  286. package/lib/_components/widget/attachment/attachment.component.d.ts +0 -74
  287. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -23
  288. package/lib/_components/widget/feed-container/feed-container.component.d.ts +0 -48
  289. package/lib/_components/widget/file-utility/file-utility.component.d.ts +0 -149
  290. package/lib/_components/widget/list-utility/list-utility.component.d.ts +0 -23
  291. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -28
  292. package/lib/_components/widget/todo/todo.component.d.ts +0 -61
  293. package/lib/_components/widget/utility/utility.component.d.ts +0 -24
  294. package/lib/_directives/thousand-seperator.directive.d.ts +0 -9
  295. package/lib/_helpers/case-utils.d.ts +0 -19
  296. package/lib/_helpers/common.d.ts +0 -3
  297. package/lib/_helpers/createstage-utils.d.ts +0 -1
  298. package/lib/_helpers/currency-utils.d.ts +0 -10
  299. package/lib/_helpers/date-format-utils.d.ts +0 -12
  300. package/lib/_helpers/event-util.d.ts +0 -1
  301. package/lib/_helpers/field-group-utils.d.ts +0 -16
  302. package/lib/_helpers/filter-utils.d.ts +0 -46
  303. package/lib/_helpers/formatters/boolean.d.ts +0 -3
  304. package/lib/_helpers/formatters/common.d.ts +0 -2
  305. package/lib/_helpers/formatters/currency-map.d.ts +0 -1132
  306. package/lib/_helpers/formatters/currency.d.ts +0 -8
  307. package/lib/_helpers/formatters/date.d.ts +0 -9
  308. package/lib/_helpers/formatters/format-utils.d.ts +0 -8
  309. package/lib/_helpers/formatters/index.d.ts +0 -17
  310. package/lib/_helpers/instructions-utils.d.ts +0 -4
  311. package/lib/_helpers/tab-utils.d.ts +0 -4
  312. package/lib/_helpers/template-utils.d.ts +0 -16
  313. package/lib/_helpers/utils.d.ts +0 -40
  314. package/lib/_helpers/versionHelpers.d.ts +0 -8
  315. package/lib/_messages/error-messages.service.d.ts +0 -15
  316. package/lib/_messages/progress-spinner.service.d.ts +0 -14
  317. package/lib/_messages/update-worklist.service.d.ts +0 -14
  318. package/lib/_services/banner.service.d.ts +0 -8
  319. package/lib/_services/case.service.d.ts +0 -12
  320. package/lib/_services/datapage.service.d.ts +0 -14
  321. package/lib/_services/endpoints.d.ts +0 -38
  322. package/lib/_services/server-config.service.d.ts +0 -31
  323. package/lib/_types/PConnProps.interface.d.ts +0 -17
  324. package/public-api.d.ts +0 -140
  325. package/sdk-local-component-map.d.ts +0 -2
@@ -1,211 +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 { configureBrowserBookmark } from './helper';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../../_bridge/angular-pconnect";
8
- import * as i2 from "../../../../_messages/progress-spinner.service";
9
- import * as i3 from "@angular/common";
10
- export class ViewContainerComponent {
11
- constructor(angularPConnect, psService, ngZone) {
12
- this.angularPConnect = angularPConnect;
13
- this.psService = psService;
14
- this.ngZone = ngZone;
15
- // For interaction with AngularPConnect
16
- this.angularPConnectData = {};
17
- this.title$ = '';
18
- this.isViewContainer$ = true;
19
- }
20
- ngOnInit() {
21
- if (this.displayOnlyFA$ == null) {
22
- this.displayOnlyFA$ = false;
23
- }
24
- // debugger;
25
- // First thing in initialization is registering and subscribing to the AngularPConnect service
26
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
27
- // Then, continue on with other initialization
28
- // this.configProps$ = this.pConn$.getConfigProps();
29
- // children may have a 'reference' so normalize the children array
30
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
31
- this.buildName$ = this.buildName();
32
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
33
- this.templateName$ = this.configProps$.template || '';
34
- this.title$ = this.configProps$.title || '';
35
- const { CONTAINER_TYPE, APP } = PCore.getConstants();
36
- const { name, mode, limit } = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
37
- this.pConn$.isBoundToState();
38
- const containerMgr = this.pConn$.getContainerManager();
39
- this.prepareDispatchObject = this.prepareDispatchObject.bind(this);
40
- this.dispatchObject = this.prepareDispatchObject();
41
- // TODO: Plan is to rename window.constellationCore to window.pega (or similar)
42
- // And expose less via ui-bootstrap.js
43
- this.state = {
44
- dispatchObject: this.dispatchObject,
45
- visible: !PCore.checkIfSemanticURL()
46
- };
47
- if (sessionStorage.getItem('hasViewContainer') == 'false') {
48
- containerMgr.initializeContainers({
49
- type: mode === CONTAINER_TYPE.MULTIPLE ? CONTAINER_TYPE.MULTIPLE : CONTAINER_TYPE.SINGLE
50
- });
51
- if (mode === CONTAINER_TYPE.MULTIPLE && limit) {
52
- /* NOTE: setContainerLimit use is temporary. It is a non-public, unsupported API. */
53
- PCore.getContainerUtils().setContainerLimit(`${APP.APP}/${name}`, limit);
54
- }
55
- if (!PCore.checkIfSemanticURL())
56
- containerMgr.addContainerItem(this.pConn$);
57
- if (!this.displayOnlyFA$)
58
- configureBrowserBookmark(this.pConn$);
59
- sessionStorage.setItem('hasViewContainer', 'true');
60
- }
61
- // cannot call checkAndUpdate becasue first time through, will call updateSelf and that is incorrect (causes issues).
62
- // however, need angularPConnect to be initialized with currentProps for future updates, so calling shouldComponentUpdate directly
63
- // without checking to update here in init, will initialize and this is correct
64
- this.angularPConnect.shouldComponentUpdate(this);
65
- }
66
- ngOnDestroy() {
67
- if (this.angularPConnectData.unsubscribeFn) {
68
- this.angularPConnectData.unsubscribeFn();
69
- }
70
- }
71
- // Callback passed when subscribing to store change
72
- onStateChange() {
73
- this.checkAndUpdate();
74
- }
75
- checkAndUpdate() {
76
- // Should always check the bridge to see if the component should
77
- // update itself (re-render)
78
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
79
- // ONLY call updateSelf when the component should update
80
- if (bUpdateSelf) {
81
- this.updateSelf();
82
- }
83
- }
84
- updateSelf() {
85
- // *** DON'T call updateSelf in ngInit!! ***
86
- if (this.arChildren$ == null) {
87
- // children may have a 'reference' so normalize the children array
88
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
89
- }
90
- // routingInfo was added as component prop in populateAdditionalProps
91
- const routingInfo = this.angularPConnect.getComponentProp(this, 'routingInfo');
92
- let loadingInfo;
93
- try {
94
- // @ts-ignore - Property 'getLoadingStatus' is private and only accessible within class 'C11nEnv'
95
- loadingInfo = this.pConn$.getLoadingStatus();
96
- this.psService.sendMessage(loadingInfo);
97
- }
98
- catch (ex) {
99
- /* empty */
100
- }
101
- // const buildName = this.buildName();
102
- const { CREATE_DETAILS_VIEW_NAME } = PCore.getConstants();
103
- if (routingInfo) {
104
- const { accessedOrder, items } = routingInfo;
105
- if (accessedOrder && items) {
106
- const key = accessedOrder[accessedOrder.length - 1];
107
- let componentVisible = accessedOrder.length > 0;
108
- const { visible } = this.state;
109
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
- componentVisible = visible || componentVisible;
111
- if (items[key] && items[key].view && Object.keys(items[key].view).length > 0) {
112
- const latestItem = items[key];
113
- const rootView = latestItem.view;
114
- const { context, name: viewName } = rootView.config;
115
- const config = { meta: rootView };
116
- config.options = {
117
- context: latestItem.context,
118
- pageReference: context || this.pConn$.getPageReference(),
119
- containerName: this.pConn$.getContainerName(),
120
- containerItemName: key,
121
- hasForm: viewName === CREATE_DETAILS_VIEW_NAME
122
- };
123
- const configObject = PCore.createPConnect(config);
124
- // THIS is where the ViewContainer creates a View
125
- // The config has meta.config.type = "view"
126
- const newComp = configObject.getPConnect();
127
- // const newCompName = newComp.getComponentName();
128
- // The metadata for pyDetails changed such that the "template": "CaseView"
129
- // is no longer a child of the created View but is in the created View's
130
- // config. So, we DON'T want to replace this.pConn$ since the created
131
- // component is a View (and not a ViewContainer). We now look for the
132
- // "template" type directly in the created component (newComp) and NOT
133
- // as a child of the newly created component.
134
- // Use the newly created component (View) info but DO NOT replace
135
- // this ViewContainer's pConn$, etc.
136
- // Note that we're now using the newly created View's PConnect in the
137
- // ViewContainer HTML template to guide what's rendered similar to what
138
- // the Nebula/Constellation return of React.Fragment does
139
- this.ngZone.run(() => {
140
- if (newComp.getComponentName() === 'reference') {
141
- // if a refernece, it will de reference to a "view"
142
- // so hand this off to the "View" component to do that
143
- this.isViewContainer$ = false;
144
- this.viewPConn$ = newComp;
145
- /*
146
- *** this commmented out code should be removed, once we test out that
147
- *** handing off refernce to View component always works
148
- */
149
- // When newComp is a reference, we want to de-reference
150
- // it (to get the View) and then use that View to get the
151
- // template, title, children, etc.
152
- /*
153
-
154
- const theDereferencedView = ReferenceComponent.normalizePConn(newComp);
155
- const newConfigProps = theDereferencedView.getConfigProps();
156
-
157
- // children may have a 'reference' so normalize the children arra
158
-
159
- const theDereferencedViewChildren = ReferenceComponent.normalizePConnArray(theDereferencedView.getChildren());
160
- this.templateName$ = ('template' in newConfigProps) ? newConfigProps["template"] : "";
161
- this.title$ = ('title' in newConfigProps) ? newConfigProps["title"] : "";
162
- this.arChildren$ = theDereferencedViewChildren;
163
- this.createdViewPConn$ = theDereferencedView;
164
- */
165
- }
166
- else {
167
- // old style when newComp is NOT a 'reference'
168
- this.isViewContainer$ = true;
169
- console.error(`ViewContainer has a newComp that is NOT a reference!`);
170
- this.createdViewPConn$ = newComp;
171
- const newConfigProps = newComp.getConfigProps();
172
- this.templateName$ = newConfigProps.template || '';
173
- this.title$ = newConfigProps.title || '';
174
- // update children with new view's children
175
- // children may have a 'reference' so normalize the children array
176
- this.arChildren$ = ReferenceComponent.normalizePConnArray(newComp.getChildren());
177
- }
178
- });
179
- }
180
- }
181
- }
182
- }
183
- prepareDispatchObject() {
184
- const baseContext = this.pConn$.getContextName();
185
- // const { acName = "primary" } = pConn.getContainerName(); // doesn't work with 8.23 typings
186
- const acName = this.pConn$.getContainerName() || 'primary';
187
- return {
188
- semanticURL: '',
189
- context: baseContext,
190
- acName
191
- };
192
- }
193
- buildName() {
194
- const sContext = this.pConn$.getContextName();
195
- const sName = this.pConn$.getContainerName();
196
- return `${sContext.toUpperCase()}/${sName.toUpperCase()}`;
197
- }
198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewContainerComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewContainerComponent, isStandalone: true, selector: "app-view-container", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", displayOnlyFA$: "displayOnlyFA$" }, ngImport: i0, template: "<div class=\"psdk-view-container-top\" id=\"{{ buildName$ }}\">\n <div *ngIf=\"isViewContainer$; else isReference\">\n <h3 *ngIf=\"title$ !== ''\">{{ title$ }}</h3>\n <div *ngIf=\"templateName$; else showChildren\">\n <component-mapper\n [name]=\"templateName$\"\n [props]=\"{\n pConn$: createdViewPConn$,\n formGroup$: formGroup$,\n displayOnlyFA$: displayOnlyFA$\n }\"\n errorMsg=\"View Container missing Template {{ templateName$ }}\"\n ></component-mapper>\n </div>\n <ng-template #showChildren>\n <div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n displayOnlyFA$: displayOnlyFA$\n }\"\n errorMsg=\"ViewContainer Missing (no template): {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </ng-template>\n </div>\n <ng-template #isReference>\n <component-mapper name=\"View\" [props]=\"{ pConn$: viewPConn$, displayOnlyFA$ }\"></component-mapper>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
200
- }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewContainerComponent, decorators: [{
202
- type: Component,
203
- args: [{ selector: 'app-view-container', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-view-container-top\" id=\"{{ buildName$ }}\">\n <div *ngIf=\"isViewContainer$; else isReference\">\n <h3 *ngIf=\"title$ !== ''\">{{ title$ }}</h3>\n <div *ngIf=\"templateName$; else showChildren\">\n <component-mapper\n [name]=\"templateName$\"\n [props]=\"{\n pConn$: createdViewPConn$,\n formGroup$: formGroup$,\n displayOnlyFA$: displayOnlyFA$\n }\"\n errorMsg=\"View Container missing Template {{ templateName$ }}\"\n ></component-mapper>\n </div>\n <ng-template #showChildren>\n <div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n displayOnlyFA$: displayOnlyFA$\n }\"\n errorMsg=\"ViewContainer Missing (no template): {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </ng-template>\n </div>\n <ng-template #isReference>\n <component-mapper name=\"View\" [props]=\"{ pConn$: viewPConn$, displayOnlyFA$ }\"></component-mapper>\n </ng-template>\n</div>\n" }]
204
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.ProgressSpinnerService }, { type: i0.NgZone }], propDecorators: { pConn$: [{
205
- type: Input
206
- }], formGroup$: [{
207
- type: Input
208
- }], displayOnlyFA$: [{
209
- type: Input
210
- }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL0NvbnRhaW5lcnMvdmlldy1jb250YWluZXIvdmlldy1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL0NvbnRhaW5lcnMvdmlldy1jb250YWluZXIvdmlldy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBMEJwRCxNQUFNLE9BQU8sc0JBQXNCO0lBeUJqQyxZQUNVLGVBQXVDLEVBQ3ZDLFNBQWlDLEVBQ2pDLE1BQWM7UUFGZCxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXZCeEIsdUNBQXVDO1FBQ3ZDLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFPOUMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUlaLHFCQUFnQixHQUFHLElBQUksQ0FBQztJQVlyQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFD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LFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztxSkFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9fbWVzc2FnZXMvcHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb25maWd1cmVCcm93c2VyQm9va21hcmsgfSBmcm9tICcuL2hlbHBlcic7XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbmludGVyZmFjZSBWaWV3Q29udGFpbmVyUHJvcHMge1xuICAvLyBJZiBhbnksIGVudGVyIGFkZGl0aW9uYWwgcHJvcHMgdGhhdCBvbmx5IGV4aXN0IG9uIHRoaXMgY29tcG9uZW50XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHJvdXRpbmdJbmZvOiBvYmplY3Q7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXZpZXctY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBkaXNwbGF5T25seUZBJDogYm9vbGVhbjtcblxuICAvLyBGb3IgaW50ZXJhY3Rpb24gd2l0aCBBbmd1bGFyUENvbm5lY3RcbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBjb25maWdQcm9wcyQ6IFZpZXdDb250YWluZXJQcm9wcztcblxuICBhckNoaWxkcmVuJDogYW55W107XG4gIHRlbXBsYXRlTmFtZSQ6IHN0cmluZztcbiAgYnVpbGROYW1lJDogc3RyaW5nO1xuICBjb250ZXh0JDogc3RyaW5nO1xuICB0aXRsZSQgPSAnJztcblxuICB2aWV3UENvbm4kOiBhbnk7XG5cbiAgaXNWaWV3Q29udGFpbmVyJCA9IHRydWU7XG5cbiAgLy8gSkEgLSBjcmVhdGVkIG9iamVjdCBpcyBub3cgYSBWaWV3IHdpdGggYSBUZW1wbGF0ZVxuICAvLyAgVXNlIGl0cyBQQ29ubmVjdCB0byByZW5kZXIgdGhlIENhc2VWaWV3OyBET04nVCByZXBsYWNlIHRoaXMucENvbm4kXG4gIGNyZWF0ZWRWaWV3UENvbm4kOiBhbnk7XG4gIHN0YXRlOiBhbnk7XG4gIGRpc3BhdGNoT2JqZWN0OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZGlzcGxheU9ubHlGQSQgPT0gbnVsbCkge1xuICAgICAgdGhpcy5kaXNwbGF5T25seUZBJCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGRlYnVnZ2VyO1xuXG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICAvLyBUaGVuLCBjb250aW51ZSBvbiB3aXRoIG90aGVyIGluaXRpYWxpemF0aW9uXG5cbiAgICAvLyAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgLy8gY2hpbGRyZW4gbWF5IGhhdmUgYSAncmVmZXJlbmNlJyBzbyBub3JtYWxpemUgdGhlIGNoaWxkcmVuIGFycmF5XG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMucENvbm4kLmdldENoaWxkcmVuKCkpO1xuXG4gICAgdGhpcy5idWlsZE5hbWUkID0gdGhpcy5idWlsZE5hbWUoKTtcbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBWaWV3Q29udGFpbmVyUHJvcHM7XG4gICAgdGhpcy50ZW1wbGF0ZU5hbWUkID0gdGhpcy5jb25maWdQcm9wcyQudGVtcGxhdGUgfHwgJyc7XG4gICAgdGhpcy50aXRsZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50aXRsZSB8fCAnJztcbiAgICBjb25zdCB7IENPTlRBSU5FUl9UWVBFLCBBUFAgfSA9IFBDb3JlLmdldENvbnN0YW50cygpO1xuICAgIGNvbnN0IHsgbmFtZSwgbW9kZSwgbGltaXQgfSA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBWaWV3Q29udGFpbmVyUHJvcHM7XG5cbiAgICB0aGlzLnBDb25uJC5pc0JvdW5kVG9TdGF0ZSgpO1xuXG4gICAgY29uc3QgY29udGFpbmVyTWdyID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTWFuYWdlcigpO1xuXG4gICAgdGhpcy5wcmVwYXJlRGlzcGF0Y2hPYmplY3QgPSB0aGlzLnByZXBhcmVEaXNwYXRjaE9iamVjdC5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5kaXNwYXRjaE9iamVjdCA9IHRoaXMucHJlcGFyZURpc3BhdGNoT2JqZWN0KCk7XG5cbiAgICAvLyBUT0RPOiBQbGFuIGlzIHRvIHJlbmFtZSB3aW5kb3cuY29uc3RlbGxhdGlvbkNvcmUgdG8gd2luZG93LnBlZ2EgKG9yIHNpbWlsYXIpXG4gICAgLy8gICAgQW5kIGV4cG9zZSBsZXNzIHZpYSB1aS1ib290c3RyYXAuanNcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZGlzcGF0Y2hPYmplY3Q6IHRoaXMuZGlzcGF0Y2hPYmplY3QsXG4gICAgICB2aXNpYmxlOiAhUENvcmUuY2hlY2tJZlNlbWFudGljVVJMKClcbiAgICB9O1xuXG4gICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2hhc1ZpZXdDb250YWluZXInKSA9PSAnZmFsc2UnKSB7XG4gICAgICBjb250YWluZXJNZ3IuaW5pdGlhbGl6ZUNvbnRhaW5lcnMoe1xuICAgICAgICB0eXBlOiBtb2RlID09PSBDT05UQUlORVJfVFlQRS5NVUxUSVBMRSA/IENPTlRBSU5FUl9UWVBFLk1VTFRJUExFIDogQ09OVEFJTkVSX1RZUEUuU0lOR0xFXG4gICAgICB9KTtcblxuICAgICAgaWYgKG1vZGUgPT09IENPTlRBSU5FUl9UWVBFLk1VTFRJUExFICYmIGxpbWl0KSB7XG4gICAgICAgIC8qIE5PVEU6IHNldENvbnRhaW5lckxpbWl0IHVzZSBpcyB0ZW1wb3JhcnkuIEl0IGlzIGEgbm9uLXB1YmxpYywgdW5zdXBwb3J0ZWQgQVBJLiAqL1xuICAgICAgICBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLnNldENvbnRhaW5lckxpbWl0KGAke0FQUC5BUFB9LyR7bmFtZX1gLCBsaW1pdCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghUENvcmUuY2hlY2tJZlNlbWFudGljVVJMKCkpIGNvbnRhaW5lck1nci5hZGRDb250YWluZXJJdGVtKHRoaXMucENvbm4kIGFzIGFueSk7XG4gICAgICBpZiAoIXRoaXMuZGlzcGxheU9ubHlGQSQpIGNvbmZpZ3VyZUJyb3dzZXJCb29rbWFyayh0aGlzLnBDb25uJCk7XG5cbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2hhc1ZpZXdDb250YWluZXInLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIGNhbm5vdCBjYWxsIGNoZWNrQW5kVXBkYXRlIGJlY2FzdWUgZmlyc3QgdGltZSB0aHJvdWdoLCB3aWxsIGNhbGwgdXBkYXRlU2VsZiBhbmQgdGhhdCBpcyBpbmNvcnJlY3QgKGNhdXNlcyBpc3N1ZXMpLlxuICAgIC8vIGhvd2V2ZXIsIG5lZWQgYW5ndWxhclBDb25uZWN0IHRvIGJlIGluaXRpYWxpemVkIHdpdGggY3VycmVudFByb3BzIGZvciBmdXR1cmUgdXBkYXRlcywgc28gY2FsbGluZyBzaG91bGRDb21wb25lbnRVcGRhdGUgZGlyZWN0bHlcbiAgICAvLyB3aXRob3V0IGNoZWNraW5nIHRvIHVwZGF0ZSBoZXJlIGluIGluaXQsIHdpbGwgaW5pdGlhbGl6ZSBhbmQgdGhpcyBpcyBjb3JyZWN0XG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICAvLyAgICoqKiBET04nVCBjYWxsIHVwZGF0ZVNlbGYgaW4gbmdJbml0ISEgICoqKlxuXG4gICAgaWYgKHRoaXMuYXJDaGlsZHJlbiQgPT0gbnVsbCkge1xuICAgICAgLy8gY2hpbGRyZW4gbWF5IGhhdmUgYSAncmVmZXJlbmNlJyBzbyBub3JtYWxpemUgdGhlIGNoaWxkcmVuIGFycmF5XG4gICAgICB0aGlzLmFyQ2hpbGRyZW4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uQXJyYXkodGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgfVxuXG4gICAgLy8gcm91dGluZ0luZm8gd2FzIGFkZGVkIGFzIGNvbXBvbmVudCBwcm9wIGluIHBvcHVsYXRlQWRkaXRpb25hbFByb3BzXG4gICAgY29uc3Qgcm91dGluZ0luZm8gPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRQcm9wKHRoaXMsICdyb3V0aW5nSW5mbycpO1xuXG4gICAgbGV0IGxvYWRpbmdJbmZvO1xuICAgIHRyeSB7XG4gICAgICAvLyBAdHMtaWdub3JlIC0gUHJvcGVydHkgJ2dldExvYWRpbmdTdGF0dXMnIGlzIHByaXZhdGUgYW5kIG9ubHkgYWNjZXNzaWJsZSB3aXRoaW4gY2xhc3MgJ0MxMW5FbnYnXG4gICAgICBsb2FkaW5nSW5mbyA9IHRoaXMucENvbm4kLmdldExvYWRpbmdTdGF0dXMoKTtcblxuICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UobG9hZGluZ0luZm8pO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cblxuICAgIC8vIGNvbnN0IGJ1aWxkTmFtZSA9IHRoaXMuYnVpbGROYW1lKCk7XG4gICAgY29uc3QgeyBDUkVBVEVfREVUQUlMU19WSUVXX05BTUUgfSA9IFBDb3JlLmdldENvbnN0YW50cygpO1xuICAgIGlmIChyb3V0aW5nSW5mbykge1xuICAgICAgY29uc3QgeyBhY2Nlc3NlZE9yZGVyLCBpdGVtcyB9ID0gcm91dGluZ0luZm87XG4gICAgICBpZiAoYWNjZXNzZWRPcmRlciAmJiBpdGVtcykge1xuICAgICAgICBjb25zdCBrZXkgPSBhY2Nlc3NlZE9yZGVyW2FjY2Vzc2VkT3JkZXIubGVuZ3RoIC0gMV07XG4gICAgICAgIGxldCBjb21wb25lbnRWaXNpYmxlID0gYWNjZXNzZWRPcmRlci5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCB7IHZpc2libGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgY29tcG9uZW50VmlzaWJsZSA9IHZpc2libGUgfHwgY29tcG9uZW50VmlzaWJsZTtcbiAgICAgICAgaWYgKGl0ZW1zW2tleV0gJiYgaXRlbXNba2V5XS52aWV3ICYmIE9iamVjdC5rZXlzKGl0ZW1zW2tleV0udmlldykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGxhdGVzdEl0ZW0gPSBpdGVtc1trZXldO1xuICAgICAgICAgIGNvbnN0IHJvb3RWaWV3ID0gbGF0ZXN0SXRlbS52aWV3O1xuICAgICAgICAgIGNvbnN0IHsgY29udGV4dCwgbmFtZTogdmlld05hbWUgfSA9IHJvb3RWaWV3LmNvbmZpZztcbiAgICAgICAgICBjb25zdCBjb25maWc6IGFueSA9IHsgbWV0YTogcm9vdFZpZXcgfTtcbiAgICAgICAgICBjb25maWcub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGxhdGVzdEl0ZW0uY29udGV4dCxcbiAgICAgICAgICAgIHBhZ2VSZWZlcmVuY2U6IGNvbnRleHQgfHwgdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpLFxuICAgICAgICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpLFxuICAgICAgICAgICAgY29udGFpbmVySXRlbU5hbWU6IGtleSxcbiAgICAgICAgICAgIGhhc0Zvcm06IHZpZXdOYW1lID09PSBDUkVBVEVfREVUQUlMU19WSUVXX05BTUVcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IGNvbmZpZ09iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgICAgICAgICAvLyBUSElTIGlzIHdoZXJlIHRoZSBWaWV3Q29udGFpbmVyIGNyZWF0ZXMgYSBWaWV3XG4gICAgICAgICAgLy8gICAgVGhlIGNvbmZpZyBoYXMgbWV0YS5jb25maWcudHlwZSA9IFwidmlld1wiXG4gICAgICAgICAgY29uc3QgbmV3Q29tcCA9IGNvbmZpZ09iamVjdC5nZXRQQ29ubmVjdCgpO1xuICAgICAgICAgIC8vIGNvbnN0IG5ld0NvbXBOYW1lID0gbmV3Q29tcC5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgICAgICAgLy8gVGhlIG1ldGFkYXRhIGZvciBweURldGFpbHMgY2hhbmdlZCBzdWNoIHRoYXQgdGhlIFwidGVtcGxhdGVcIjogXCJDYXNlVmlld1wiXG4gICAgICAgICAgLy8gIGlzIG5vIGxvbmdlciBhIGNoaWxkIG9mIHRoZSBjcmVhdGVkIFZpZXcgYnV0IGlzIGluIHRoZSBjcmVhdGVkIFZpZXcnc1xuICAgICAgICAgIC8vICBjb25maWcuIFNvLCB3ZSBET04nVCB3YW50IHRvIHJlcGxhY2UgdGhpcy5wQ29ubiQgc2luY2UgdGhlIGNyZWF0ZWRcbiAgICAgICAgICAvLyAgY29tcG9uZW50IGlzIGEgVmlldyAoYW5kIG5vdCBhIFZpZXdDb250YWluZXIpLiBXZSBub3cgbG9vayBmb3IgdGhlXG4gICAgICAgICAgLy8gIFwidGVtcGxhdGVcIiB0eXBlIGRpcmVjdGx5IGluIHRoZSBjcmVhdGVkIGNvbXBvbmVudCAobmV3Q29tcCkgYW5kIE5PVFxuICAgICAgICAgIC8vICBhcyBhIGNoaWxkIG9mIHRoZSBuZXdseSBjcmVhdGVkIGNvbXBvbmVudC5cblxuICAgICAgICAgIC8vIFVzZSB0aGUgbmV3bHkgY3JlYXRlZCBjb21wb25lbnQgKFZpZXcpIGluZm8gYnV0IERPIE5PVCByZXBsYWNlXG4gICAgICAgICAgLy8gIHRoaXMgVmlld0NvbnRhaW5lcidzIHBDb25uJCwgZXRjLlxuICAgICAgICAgIC8vICBOb3RlIHRoYXQgd2UncmUgbm93IHVzaW5nIHRoZSBuZXdseSBjcmVhdGVkIFZpZXcncyBQQ29ubmVjdCBpbiB0aGVcbiAgICAgICAgICAvLyAgVmlld0NvbnRhaW5lciBIVE1MIHRlbXBsYXRlIHRvIGd1aWRlIHdoYXQncyByZW5kZXJlZCBzaW1pbGFyIHRvIHdoYXRcbiAgICAgICAgICAvLyAgdGhlIE5lYnVsYS9Db25zdGVsbGF0aW9uIHJldHVybiBvZiBSZWFjdC5GcmFnbWVudCBkb2VzXG5cbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKG5ld0NvbXAuZ2V0Q29tcG9uZW50TmFtZSgpID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgICAgICAvLyBpZiBhIHJlZmVybmVjZSwgaXQgd2lsbCBkZSByZWZlcmVuY2UgdG8gYSBcInZpZXdcIlxuICAgICAgICAgICAgICAvLyBzbyBoYW5kIHRoaXMgb2ZmIHRvIHRoZSBcIlZpZXdcIiBjb21wb25lbnQgdG8gZG8gdGhhdFxuICAgICAgICAgICAgICB0aGlzLmlzVmlld0NvbnRhaW5lciQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy52aWV3UENvbm4kID0gbmV3Q29tcDtcblxuICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgKioqICB0aGlzIGNvbW1tZW50ZWQgb3V0IGNvZGUgc2hvdWxkIGJlIHJlbW92ZWQsIG9uY2Ugd2UgdGVzdCBvdXQgdGhhdFxuICAgICAgICAgICAgICAgKioqICBoYW5kaW5nIG9mZiByZWZlcm5jZSB0byBWaWV3IGNvbXBvbmVudCBhbHdheXMgd29ya3NcbiAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgLy8gV2hlbiBuZXdDb21wIGlzIGEgcmVmZXJlbmNlLCB3ZSB3YW50IHRvIGRlLXJlZmVyZW5jZVxuICAgICAgICAgICAgICAvLyAgaXQgKHRvIGdldCB0aGUgVmlldykgYW5kIHRoZW4gdXNlIHRoYXQgVmlldyB0byBnZXQgdGhlXG4gICAgICAgICAgICAgIC8vICB0ZW1wbGF0ZSwgdGl0bGUsIGNoaWxkcmVuLCBldGMuXG5cbiAgICAgICAgICAgICAgLypcblxuICAgICAgICAgICAgICBjb25zdCB0aGVEZXJlZmVyZW5jZWRWaWV3ID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKG5ld0NvbXApO1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWdQcm9wcyA9IHRoZURlcmVmZXJlbmNlZFZpZXcuZ2V0Q29uZmlnUHJvcHMoKTtcblxuICAgICAgICAgICAgICAvLyBjaGlsZHJlbiBtYXkgaGF2ZSBhICdyZWZlcmVuY2UnIHNvIG5vcm1hbGl6ZSB0aGUgY2hpbGRyZW4gYXJyYVxuXG4gICAgICAgICAgICAgIGNvbnN0IHRoZURlcmVmZXJlbmNlZFZpZXdDaGlsZHJlbiA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoZURlcmVmZXJlbmNlZFZpZXcuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVOYW1lJCA9ICgndGVtcGxhdGUnIGluIG5ld0NvbmZpZ1Byb3BzKSA/IG5ld0NvbmZpZ1Byb3BzW1widGVtcGxhdGVcIl0gOiBcIlwiO1xuICAgICAgICAgICAgICB0aGlzLnRpdGxlJCA9ICgndGl0bGUnIGluIG5ld0NvbmZpZ1Byb3BzKSA/IG5ld0NvbmZpZ1Byb3BzW1widGl0bGVcIl0gOiBcIlwiO1xuICAgICAgICAgICAgICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhlRGVyZWZlcmVuY2VkVmlld0NoaWxkcmVuO1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZWRWaWV3UENvbm4kID0gdGhlRGVyZWZlcmVuY2VkVmlldztcbiAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIG9sZCBzdHlsZSB3aGVuIG5ld0NvbXAgaXMgTk9UIGEgJ3JlZmVyZW5jZSdcbiAgICAgICAgICAgICAgdGhpcy5pc1ZpZXdDb250YWluZXIkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBWaWV3Q29udGFpbmVyIGhhcyBhIG5ld0NvbXAgdGhhdCBpcyBOT1QgYSByZWZlcmVuY2UhYCk7XG5cbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVkVmlld1BDb25uJCA9IG5ld0NvbXA7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZ1Byb3BzID0gbmV3Q29tcC5nZXRDb25maWdQcm9wcygpO1xuICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlTmFtZSQgPSBuZXdDb25maWdQcm9wcy50ZW1wbGF0ZSB8fCAnJztcbiAgICAgICAgICAgICAgdGhpcy50aXRsZSQgPSBuZXdDb25maWdQcm9wcy50aXRsZSB8fCAnJztcbiAgICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkcmVuIHdpdGggbmV3IHZpZXcncyBjaGlsZHJlblxuICAgICAgICAgICAgICAvLyBjaGlsZHJlbiBtYXkgaGF2ZSBhICdyZWZlcmVuY2UnIHNvIG5vcm1hbGl6ZSB0aGUgY2hpbGRyZW4gYXJyYXlcbiAgICAgICAgICAgICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KG5ld0NvbXAuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcmVwYXJlRGlzcGF0Y2hPYmplY3QoKTogYW55IHtcbiAgICBjb25zdCBiYXNlQ29udGV4dCA9IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgLy8gY29uc3QgeyBhY05hbWUgPSBcInByaW1hcnlcIiB9ID0gcENvbm4uZ2V0Q29udGFpbmVyTmFtZSgpOyAvLyBkb2Vzbid0IHdvcmsgd2l0aCA4LjIzIHR5cGluZ3NcbiAgICBjb25zdCBhY05hbWUgPSB0aGlzLnBDb25uJC5nZXRDb250YWluZXJOYW1lKCkgfHwgJ3ByaW1hcnknO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbWFudGljVVJMOiAnJyxcbiAgICAgIGNvbnRleHQ6IGJhc2VDb250ZXh0LFxuICAgICAgYWNOYW1lXG4gICAgfTtcbiAgfVxuXG4gIGJ1aWxkTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBjb25zdCBzTmFtZSA9IHRoaXMucENvbm4kLmdldENvbnRhaW5lck5hbWUoKTtcblxuICAgIHJldHVybiBgJHtzQ29udGV4dC50b1VwcGVyQ2FzZSgpfS8ke3NOYW1lLnRvVXBwZXJDYXNlKCl9YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBzZGstdmlldy1jb250YWluZXItdG9wXCIgaWQ9XCJ7eyBidWlsZE5hbWUkIH19XCI+XG4gIDxkaXYgKm5nSWY9XCJpc1ZpZXdDb250YWluZXIkOyBlbHNlIGlzUmVmZXJlbmNlXCI+XG4gICAgPGgzICpuZ0lmPVwidGl0bGUkICE9PSAnJ1wiPnt7IHRpdGxlJCB9fTwvaDM+XG4gICAgPGRpdiAqbmdJZj1cInRlbXBsYXRlTmFtZSQ7IGVsc2Ugc2hvd0NoaWxkcmVuXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICBbbmFtZV09XCJ0ZW1wbGF0ZU5hbWUkXCJcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICBwQ29ubiQ6IGNyZWF0ZWRWaWV3UENvbm4kLFxuICAgICAgICAgIGZvcm1Hcm91cCQ6IGZvcm1Hcm91cCQsXG4gICAgICAgICAgZGlzcGxheU9ubHlGQSQ6IGRpc3BsYXlPbmx5RkEkXG4gICAgICAgIH1cIlxuICAgICAgICBlcnJvck1zZz1cIlZpZXcgQ29udGFpbmVyIG1pc3NpbmcgVGVtcGxhdGUge3sgdGVtcGxhdGVOYW1lJCB9fVwiXG4gICAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0NoaWxkcmVuPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgW25hbWVdPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCJcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSxcbiAgICAgICAgICAgIGRpc3BsYXlPbmx5RkEkOiBkaXNwbGF5T25seUZBJFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIGVycm9yTXNnPVwiVmlld0NvbnRhaW5lciBNaXNzaW5nIChubyB0ZW1wbGF0ZSk6IHt7IGtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fVwiXG4gICAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNpc1JlZmVyZW5jZT5cbiAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiVmlld1wiIFtwcm9wc109XCJ7IHBDb25uJDogdmlld1BDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,31 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatGridListModule } from '@angular/material/grid-list';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/grid-list";
8
- import * as i3 from "@angular/material/button";
9
- export class ActionButtonsComponent {
10
- constructor() {
11
- this.actionButtonClick = new EventEmitter();
12
- this.localizedVal = PCore.getLocaleUtils().getLocaleValue;
13
- this.localeCategory = 'Assignment';
14
- }
15
- buttonClick(sAction, sButtonType) {
16
- this.actionButtonClick.emit({ action: sAction, buttonType: sButtonType });
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionButtonsComponent, isStandalone: true, selector: "app-action-buttons", inputs: { arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$" }, outputs: { actionButtonClick: "actionButtonClick" }, ngImport: i0, template: "<mat-grid-list *ngIf=\"arMainButtons$ && arSecondaryButtons$\" cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile>\n <button *ngFor=\"let aButton of arSecondaryButtons$\" mat-raised-button color=\"secondary\" (click)=\"buttonClick(aButton.jsAction, 'secondary')\">\n {{ localizedVal(aButton.name, localeCategory) }}\n </button>\n </mat-grid-tile>\n <mat-grid-tile>\n <button *ngFor=\"let aButton of arMainButtons$\" mat-raised-button color=\"primary\" (click)=\"buttonClick(aButton.jsAction, 'primary')\">\n {{ localizedVal(aButton.name, localeCategory) }}\n </button>\n </mat-grid-tile>\n</mat-grid-list>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: i2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionButtonsComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'app-action-buttons', standalone: true, imports: [CommonModule, MatGridListModule, MatButtonModule], template: "<mat-grid-list *ngIf=\"arMainButtons$ && arSecondaryButtons$\" cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile>\n <button *ngFor=\"let aButton of arSecondaryButtons$\" mat-raised-button color=\"secondary\" (click)=\"buttonClick(aButton.jsAction, 'secondary')\">\n {{ localizedVal(aButton.name, localeCategory) }}\n </button>\n </mat-grid-tile>\n <mat-grid-tile>\n <button *ngFor=\"let aButton of arMainButtons$\" mat-raised-button color=\"primary\" (click)=\"buttonClick(aButton.jsAction, 'primary')\">\n {{ localizedVal(aButton.name, localeCategory) }}\n </button>\n </mat-grid-tile>\n</mat-grid-list>\n" }]
24
- }], propDecorators: { arMainButtons$: [{
25
- type: Input
26
- }], arSecondaryButtons$: [{
27
- type: Input
28
- }], actionButtonClick: [{
29
- type: Output
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL2FjdGlvbi1idXR0b25zL2FjdGlvbi1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hY3Rpb24tYnV0dG9ucy9hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFXWSxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwRSxpQkFBWSxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDckQsbUJBQWMsR0FBRyxZQUFZLENBQUM7S0FLL0I7SUFIQyxXQUFXLENBQUMsT0FBTyxFQUFFLFdBQVc7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQzsrR0FYVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw2TkNabkMsMm5CQVlBLHlEREZZLFlBQVksK1BBQUUsaUJBQWlCLGlUQUFFLGVBQWU7OzRGQUUvQyxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUM7OEJBR2xELGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEdyaWRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFjdGlvbi1idXR0b25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0R3JpZExpc3RNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFyTWFpbkJ1dHRvbnMkOiBhbnlbXTtcbiAgQElucHV0KCkgYXJTZWNvbmRhcnlCdXR0b25zJDogYW55W107XG5cbiAgQE91dHB1dCgpIGFjdGlvbkJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBsb2NhbGl6ZWRWYWwgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICBsb2NhbGVDYXRlZ29yeSA9ICdBc3NpZ25tZW50JztcblxuICBidXR0b25DbGljayhzQWN0aW9uLCBzQnV0dG9uVHlwZSkge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uQ2xpY2suZW1pdCh7IGFjdGlvbjogc0FjdGlvbiwgYnV0dG9uVHlwZTogc0J1dHRvblR5cGUgfSk7XG4gIH1cbn1cbiIsIjxtYXQtZ3JpZC1saXN0ICpuZ0lmPVwiYXJNYWluQnV0dG9ucyQgJiYgYXJTZWNvbmRhcnlCdXR0b25zJFwiIGNvbHM9XCIyXCIgcm93SGVpZ2h0PVwiNi4yNXJlbVwiPlxuICA8bWF0LWdyaWQtdGlsZT5cbiAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBhQnV0dG9uIG9mIGFyU2Vjb25kYXJ5QnV0dG9ucyRcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInNlY29uZGFyeVwiIChjbGljayk9XCJidXR0b25DbGljayhhQnV0dG9uLmpzQWN0aW9uLCAnc2Vjb25kYXJ5JylcIj5cbiAgICAgIHt7IGxvY2FsaXplZFZhbChhQnV0dG9uLm5hbWUsIGxvY2FsZUNhdGVnb3J5KSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1ncmlkLXRpbGU+XG4gIDxtYXQtZ3JpZC10aWxlPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGFCdXR0b24gb2YgYXJNYWluQnV0dG9ucyRcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2soYUJ1dHRvbi5qc0FjdGlvbiwgJ3ByaW1hcnknKVwiPlxuICAgICAge3sgbG9jYWxpemVkVmFsKGFCdXR0b24ubmFtZSwgbG9jYWxlQ2F0ZWdvcnkpIH19XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWdyaWQtdGlsZT5cbjwvbWF0LWdyaWQtbGlzdD5cbiJdfQ==