@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,412 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import dayjs from 'dayjs';
3
- import customParseFormat from 'dayjs/plugin/customParseFormat';
4
- import localizedFormat from 'dayjs/plugin/localizedFormat';
5
- import relativeTime from 'dayjs/plugin/relativeTime';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../_services/server-config.service";
8
- dayjs.extend(customParseFormat);
9
- dayjs.extend(localizedFormat);
10
- dayjs.extend(relativeTime);
11
- export class Utils {
12
- constructor(scService) {
13
- this.scService = scService;
14
- this.lastControlID = 0;
15
- this.viewContainerCount = 0;
16
- this.timezone = PCore.getEnvironmentInfo()?.getTimeZone();
17
- this.getUserId = user => {
18
- let userId = '';
19
- if (typeof user === 'object' && user !== null && user.userId) {
20
- userId = user.userId;
21
- }
22
- else if (typeof user === 'string' && user) {
23
- userId = user;
24
- }
25
- return userId;
26
- };
27
- }
28
- getSDKStaticContentUrl() {
29
- const sdkConfigServer = this.scService.getSdkConfigServer();
30
- // NOTE: Needs a trailing slash! So add one if not provided
31
- if (!sdkConfigServer.sdkContentServerUrl.endsWith('/')) {
32
- sdkConfigServer.sdkContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}/`;
33
- }
34
- return `${sdkConfigServer.sdkContentServerUrl}constellation/`;
35
- }
36
- consoleKidDump(pConn, level = 1, kidNum = 1) {
37
- let sDash = '';
38
- for (let i = 0; i < level; i++) {
39
- sDash = sDash.concat('-');
40
- }
41
- let cName = 'blank';
42
- let ctxName = '';
43
- try {
44
- cName = pConn.getComponentName();
45
- ctxName = pConn.getContextName();
46
- console.log(`${sDash}level ${level} component(${kidNum}):${cName} context:${ctxName}`);
47
- if (pConn.getConfigProps() != null) {
48
- console.log(`${sDash}configProps:${JSON.stringify(pConn.getConfigProps())}`);
49
- }
50
- if (pConn.getRawMetadata() != null) {
51
- console.log(`${sDash}rawMetadata:${JSON.stringify(pConn.getRawMetadata())}`);
52
- }
53
- if (pConn.hasChildren() && pConn.getChildren() != null) {
54
- console.log(`${sDash}kidCount:${pConn.getChildren().length}`);
55
- const kids = pConn.getChildren();
56
- const kidsKeys = Object.keys(kids);
57
- for (let i = 0, len = kidsKeys.length; i < len; i++) {
58
- const index = parseInt(kidsKeys[i], 10) + 1;
59
- const kid = kids[kidsKeys[i]];
60
- this.consoleKidDump(kid.getPConnect(), level + 1, index);
61
- }
62
- }
63
- }
64
- catch (ex) {
65
- /* empty */
66
- }
67
- }
68
- htmlDecode(sVal) {
69
- const doc = new DOMParser().parseFromString(sVal, 'text/html');
70
- return doc.documentElement.textContent;
71
- }
72
- getUniqueControlID() {
73
- const sPrefix = 'control-';
74
- this.lastControlID++;
75
- return sPrefix + this.lastControlID.toString();
76
- }
77
- getOptionList(configProps, dataObject) {
78
- const listType = configProps.listType;
79
- if (listType == null) {
80
- return [];
81
- }
82
- switch (listType.toLowerCase()) {
83
- case 'associated':
84
- return this.handleAssociatedList(configProps);
85
- case 'datapage':
86
- return this.handleDataPageList(configProps, dataObject);
87
- default:
88
- return [];
89
- }
90
- }
91
- handleAssociatedList(configProps) {
92
- const dataSource = configProps.datasource;
93
- if (Array.isArray(dataSource)) {
94
- return dataSource;
95
- }
96
- return [];
97
- }
98
- handleDataPageList(configProps, dataObject) {
99
- const dataPage = configProps.datasource;
100
- if (dataObject && dataObject[dataPage]) {
101
- alert('need to handle data page');
102
- return [];
103
- }
104
- let listSourceItems = configProps.listOutput;
105
- if (typeof dataPage === 'object' && !Array.isArray(listSourceItems)) {
106
- listSourceItems = dataPage.source ? dataPage.source : [];
107
- }
108
- return this.transformListSourceItems(listSourceItems);
109
- }
110
- transformListSourceItems(listSourceItems) {
111
- return (listSourceItems || []).map(item => {
112
- return { ...item, value: item.text || item.value };
113
- });
114
- }
115
- getInitials(userName) {
116
- let userInitials = userName;
117
- if (userName && userName != '') {
118
- userInitials = userName.charAt(0);
119
- if (userName.lastIndexOf(' ') > 0) {
120
- const lastName = userName.substring(userName.lastIndexOf(' ') + 1);
121
- userInitials += lastName.charAt(0);
122
- }
123
- else if (userName.lastIndexOf('.') > 0) {
124
- const lastName = userName.substring(userName.lastIndexOf('.') + 1);
125
- userInitials += lastName.charAt(0);
126
- }
127
- }
128
- else {
129
- userInitials = '';
130
- }
131
- return userInitials.toUpperCase();
132
- }
133
- getImageSrc(name, serverUrl) {
134
- let iconName = name.replace('pi-', '').replace('pi ', '').trim();
135
- if (iconName === 'line-chart') {
136
- iconName = 'chart-line';
137
- }
138
- // return serverUrl.concat("assets/icons/").concat(iconName).concat(".svg");
139
- return this.getIconPath(serverUrl).concat(iconName).concat('.svg');
140
- }
141
- getIconPath(serverUrl) {
142
- return serverUrl.concat('assets/icons/');
143
- }
144
- getBooleanValue(inValue) {
145
- let bReturn = false;
146
- if (typeof inValue === 'string') {
147
- if (inValue.toLowerCase() == 'true') {
148
- bReturn = true;
149
- }
150
- }
151
- else {
152
- bReturn = inValue;
153
- }
154
- return bReturn;
155
- }
156
- generateDate(dateVal, dateFormat) {
157
- let sReturnDate = dateVal;
158
- if (dateVal == null || dateVal == '') {
159
- return dateVal;
160
- }
161
- // Commenting out per Vinod note in webc components
162
- // VRS: Dont think we need the below line. Commenting out for now. (2020.05.20)
163
- // if date has a ".", then of the format YYYMMDD[T]HHmmss[.]SSS Z, need to change to YYYYMMDD
164
- // if (dateVal.indexOf(".") >= 0) {
165
- // dateVal = moment(dateVal.replace("GMT", "+0000"), "YYYYMMDD[T]HHmmss[.]SSS Z").format("YYYYMMDD");
166
- // sReturnDate = dateVal;
167
- // }
168
- switch (dateFormat) {
169
- case 'Date-Short':
170
- // 1/1/01
171
- sReturnDate = dayjs(dateVal).format('M/D/YY');
172
- break;
173
- case 'Date-Short-YYYY':
174
- // 1/1/2001
175
- sReturnDate = dayjs(dateVal).format('M/D/YYYY');
176
- break;
177
- case 'Date-Short-Custom':
178
- // 01/01/01
179
- sReturnDate = dayjs(dateVal).format('MM/DD/YY');
180
- break;
181
- case 'Date-Short-Custom-YYYY':
182
- // 01/01/2001
183
- sReturnDate = dayjs(dateVal).format('L');
184
- break;
185
- case 'Date-Long-Custom-YYYY':
186
- // 05/22/2021
187
- sReturnDate = dayjs(dateVal).format('MM/DD/YYYY');
188
- break;
189
- case 'Date-Long-Custom-DD/MM/YYYY':
190
- // 22/05/2021
191
- sReturnDate = dayjs(dateVal).format('DD/MM/YYYY');
192
- break;
193
- case 'Date':
194
- case 'Date-Medium':
195
- // Jan 1, 2001
196
- sReturnDate = dayjs(dateVal).format('ll');
197
- break;
198
- case 'Date-DayMonthYear-Custom':
199
- // 01-Jan-2001
200
- sReturnDate = dayjs(dateVal).format('DD-MMM-YYYY');
201
- break;
202
- case 'Date-Full':
203
- // Monday, January 1, 2001
204
- sReturnDate = dayjs(dateVal).format('dddd, MMMM D, YYYY');
205
- break;
206
- case 'DateTime-Frame':
207
- case 'DateTime-Frame-Short':
208
- case 'DateTime-Since':
209
- // 2 days, 5 hours ago
210
- sReturnDate = dayjs(dateVal).fromNow();
211
- break;
212
- case 'Date-Long':
213
- // January 1, 2001
214
- sReturnDate = dayjs(dateVal).format('MMMM D, YYYY');
215
- break;
216
- case 'Date-ISO-8601':
217
- // 2001/01/01 y/m/d
218
- sReturnDate = dayjs(dateVal).format('YYYY/MM/DD');
219
- break;
220
- case 'Date-Gregorian-1':
221
- // 01 January, 2001
222
- sReturnDate = dayjs(dateVal).format('DD MMMM, YYYY');
223
- break;
224
- case 'Date-Gregorian-2':
225
- // January 01, 2001
226
- sReturnDate = dayjs(dateVal).format('MMMM DD, YYYY');
227
- break;
228
- case 'Date-Gregorian-3':
229
- // 2001, January 01
230
- sReturnDate = dayjs(dateVal).format('YYYY, MMMM DD');
231
- break;
232
- case 'DateTime-Custom':
233
- break;
234
- default:
235
- break;
236
- }
237
- return sReturnDate;
238
- }
239
- generateDateTime(dateTimeVal, dateFormat) {
240
- let sReturnDate = dateTimeVal;
241
- if (dateTimeVal == null || dateTimeVal == '') {
242
- return dateTimeVal;
243
- }
244
- dateTimeVal = dateTimeVal.replace('GMT', '+0000');
245
- switch (dateFormat) {
246
- case 'DateTime-Short':
247
- // 1/1/01 1:00 AM
248
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YY h:mm A');
249
- break;
250
- case 'DateTime-Short-Custom':
251
- // 01/01/01 01:00 AM
252
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MM/DD/YY hh:mm A');
253
- break;
254
- case 'DateTime-Short-YYYY-Custom':
255
- // 01/01/2001 01:00 AM
256
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YYYY hh:mm A');
257
- break;
258
- case 'DateTime-Long-YYYY-Custom':
259
- // 01/01/01 01:00 AM
260
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MM/DD/YYYY, hh:mm A');
261
- break;
262
- case 'DateTime-Short-YYYY':
263
- // 1/1/2001 1:00 AM
264
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YYYY h:mm A');
265
- break;
266
- case 'DateTime-Medium':
267
- // Jan 1, 2001 1:00:00 AM
268
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMM D, YYYY h:mm:ss A');
269
- break;
270
- case 'DateTime-Long':
271
- // January 1, 2001 1:00:00 AM
272
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMMM D, YYYY h:mm:ss A');
273
- break;
274
- case 'DateTime-DayMonthYear-Custom':
275
- // 01-Jan-2001 1:00:00 AM
276
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('DD-MMM-YYYY h:mm:ss A');
277
- break;
278
- case 'DateTime-Full':
279
- // Monday, January 1, 2001 1:00 AM EDT
280
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('dddd, MMMM D, YYYY h:mm A z');
281
- break;
282
- case 'DateTime-Frame':
283
- case 'DateTime-Frame-Short':
284
- case 'DateTime-Since':
285
- // 2 days, 5 hours ago
286
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).fromNow();
287
- break;
288
- case 'DateTime-ISO-8601':
289
- // 2001/01/01 1:00:00 AM y/m/d
290
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('YYYY/MM/DD h:mm:ss A');
291
- break;
292
- case 'DateTime-Gregorian-1':
293
- // 01 January, 2001 1:00:00 AM
294
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('DD MMMM, YYYY h:mm:ss A');
295
- break;
296
- case 'DateTime-Gregorian-2':
297
- // January 01, 2001 1:00:00 AM
298
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMMM DD, YYYY h:mm:ss A');
299
- break;
300
- case 'DateTime-Gregorian-3':
301
- // 2001, January 01 1:00:00 AM
302
- sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('YYYY, MMMM DD h:mm:ss A');
303
- break;
304
- case 'DateTime-Custom':
305
- break;
306
- default:
307
- break;
308
- }
309
- return sReturnDate;
310
- }
311
- getIconFromFileType(fileType) {
312
- let icon = 'document-doc';
313
- if (!fileType)
314
- return icon;
315
- if (fileType.startsWith('audio')) {
316
- icon = 'audio';
317
- }
318
- else if (fileType.startsWith('video')) {
319
- icon = 'video';
320
- }
321
- else if (fileType.startsWith('image')) {
322
- icon = 'picture';
323
- }
324
- else if (fileType.includes('pdf')) {
325
- icon = 'document-pdf';
326
- }
327
- else {
328
- const [, subtype] = fileType.split('/');
329
- const foundMatch = sources => {
330
- return sources.some(key => subtype.includes(key));
331
- };
332
- if (foundMatch(['excel', 'spreadsheet'])) {
333
- icon = 'document-xls';
334
- }
335
- else if (foundMatch(['zip', 'compressed', 'gzip', 'rar', 'tar'])) {
336
- icon = 'document-compress';
337
- }
338
- }
339
- return icon;
340
- }
341
- getIconForAttachment(attachment) {
342
- let icon;
343
- switch (attachment.type) {
344
- case 'FILE':
345
- icon = this.getIconFromFileType(attachment.mimeType);
346
- break;
347
- case 'URL':
348
- icon = 'chain';
349
- break;
350
- default:
351
- icon = 'document-doc';
352
- }
353
- return icon;
354
- }
355
- addViewContainer() {
356
- if (sessionStorage.getItem('viewContainerCount') == null) {
357
- sessionStorage.setItem('viewContainerCount', '0');
358
- }
359
- let count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
360
- count++;
361
- sessionStorage.setItem('viewContainerCount', count.toString());
362
- }
363
- removeViewContainer() {
364
- return;
365
- let count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
366
- count--;
367
- sessionStorage.setItem('viewContainerCount', count.toString());
368
- }
369
- okToAddContainerToVC() {
370
- if (sessionStorage.getItem('viewContainerCount') == null) {
371
- sessionStorage.setItem('viewContainerCount', '0');
372
- }
373
- const count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
374
- return count === 0;
375
- }
376
- static sdkGetAuthHeader() {
377
- return sessionStorage.getItem('asdk_AH');
378
- }
379
- static isEmptyObject(obj) {
380
- return Object.keys(obj).length === 0;
381
- }
382
- /**
383
- * Get a localized value from the Generic Fields
384
- * @param path - The path within Generic Fields (e.g., 'CosmosFields.fields.lists')
385
- * @param key - The key of the string to localize
386
- * @returns The localized string or the key itself if no translation is found
387
- */
388
- getGenericFieldsLocalizedValue(path, key) {
389
- const GENERIC_BUNDLE_KEY = PCore.getLocaleUtils().GENERIC_BUNDLE_KEY;
390
- const localeStore = PCore.getLocaleUtils().localeStore[GENERIC_BUNDLE_KEY];
391
- if (!localeStore)
392
- return key;
393
- // Split the path and traverse the object
394
- const pathParts = path.split('.');
395
- let currentObj = localeStore;
396
- for (const part of pathParts) {
397
- if (!currentObj[part])
398
- return key;
399
- currentObj = currentObj[part];
400
- }
401
- return currentObj[key] || key;
402
- }
403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, deps: [{ token: i1.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
404
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, providedIn: 'root' }); }
405
- }
406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, decorators: [{
407
- type: Injectable,
408
- args: [{
409
- providedIn: 'root'
410
- }]
411
- }], ctorParameters: () => [{ type: i1.ServerConfigService }] });
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3JELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLM0IsTUFBTSxPQUFPLEtBQUs7SUFPaEIsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFObEQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLGFBQVEsR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQTZZckQsY0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0QsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxHQUFHLElBQUks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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBQ2xDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNoQyxDQUFDOytHQTFiVSxLQUFLO21IQUFMLEtBQUssY0FGSixNQUFNOzs0RkFFUCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcbmltcG9ydCBsb2NhbGl6ZWRGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsaXplZEZvcm1hdCc7XG5pbXBvcnQgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL19zZXJ2aWNlcy9zZXJ2ZXItY29uZmlnLnNlcnZpY2UnO1xuXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xuZGF5anMuZXh0ZW5kKGxvY2FsaXplZEZvcm1hdCk7XG5kYXlqcy5leHRlbmQocmVsYXRpdmVUaW1lKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICBsYXN0Q29udHJvbElEID0gMDtcblxuICB2aWV3Q29udGFpbmVyQ291bnQgPSAwO1xuXG4gIHRpbWV6b25lID0gUENvcmUuZ2V0RW52aXJvbm1lbnRJbmZvKCk/LmdldFRpbWVab25lKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzY1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgZ2V0U0RLU3RhdGljQ29udGVudFVybCgpIHtcbiAgICBjb25zdCBzZGtDb25maWdTZXJ2ZXIgPSB0aGlzLnNjU2VydmljZS5nZXRTZGtDb25maWdTZXJ2ZXIoKTtcblxuICAgIC8vIE5PVEU6IE5lZWRzIGEgdHJhaWxpbmcgc2xhc2ghIFNvIGFkZCBvbmUgaWYgbm90IHByb3ZpZGVkXG4gICAgaWYgKCFzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICBzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybCA9IGAke3Nka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsfS9gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybH1jb25zdGVsbGF0aW9uL2A7XG4gIH1cblxuICBjb25zb2xlS2lkRHVtcChwQ29ubjogYW55LCBsZXZlbDogbnVtYmVyID0gMSwga2lkTnVtOiBudW1iZXIgPSAxKSB7XG4gICAgbGV0IHNEYXNoID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZXZlbDsgaSsrKSB7XG4gICAgICBzRGFzaCA9IHNEYXNoLmNvbmNhdCgnLScpO1xuICAgIH1cbiAgICBsZXQgY05hbWUgPSAnYmxhbmsnO1xuICAgIGxldCBjdHhOYW1lID0gJyc7XG4gICAgdHJ5IHtcbiAgICAgIGNOYW1lID0gcENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgY3R4TmFtZSA9IHBDb25uLmdldENvbnRleHROYW1lKCk7XG4gICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1sZXZlbCAke2xldmVsfSBjb21wb25lbnQoJHtraWROdW19KToke2NOYW1lfSBjb250ZXh0OiR7Y3R4TmFtZX1gKTtcbiAgICAgIGlmIChwQ29ubi5nZXRDb25maWdQcm9wcygpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9Y29uZmlnUHJvcHM6JHtKU09OLnN0cmluZ2lmeShwQ29ubi5nZXRDb25maWdQcm9wcygpKX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChwQ29ubi5nZXRSYXdNZXRhZGF0YSgpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9cmF3TWV0YWRhdGE6JHtKU09OLnN0cmluZ2lmeShwQ29ubi5nZXRSYXdNZXRhZGF0YSgpKX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBDb25uLmhhc0NoaWxkcmVuKCkgJiYgcENvbm4uZ2V0Q2hpbGRyZW4oKSAhPSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAke3NEYXNofWtpZENvdW50OiR7cENvbm4uZ2V0Q2hpbGRyZW4oKS5sZW5ndGh9YCk7XG4gICAgICAgIGNvbnN0IGtpZHMgPSBwQ29ubi5nZXRDaGlsZHJlbigpO1xuICAgICAgICBjb25zdCBraWRzS2V5cyA9IE9iamVjdC5rZXlzKGtpZHMpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBraWRzS2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQoa2lkc0tleXNbaV0sIDEwKSArIDE7XG4gICAgICAgICAgY29uc3Qga2lkID0ga2lkc1traWRzS2V5c1tpXV07XG4gICAgICAgICAgdGhpcy5jb25zb2xlS2lkRHVtcChraWQuZ2V0UENvbm5lY3QoKSwgbGV2ZWwgKyAxLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLyogZW1wdHkgKi9cbiAgICB9XG4gIH1cblxuICBodG1sRGVjb2RlKHNWYWw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoc1ZhbCwgJ3RleHQvaHRtbCcpO1xuICAgIHJldHVybiBkb2MuZG9jdW1lbnRFbGVtZW50LnRleHRDb250ZW50O1xuICB9XG5cbiAgZ2V0VW5pcXVlQ29udHJvbElEKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc1ByZWZpeCA9ICdjb250cm9sLSc7XG5cbiAgICB0aGlzLmxhc3RDb250cm9sSUQrKztcblxuICAgIHJldHVybiBzUHJlZml4ICsgdGhpcy5sYXN0Q29udHJvbElELnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRPcHRpb25MaXN0KGNvbmZpZ1Byb3BzOiBhbnksIGRhdGFPYmplY3Q6IGFueSk6IGFueVtdIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9IGNvbmZpZ1Byb3BzLmxpc3RUeXBlO1xuXG4gICAgaWYgKGxpc3RUeXBlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGxpc3RUeXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2Fzc29jaWF0ZWQnOlxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBc3NvY2lhdGVkTGlzdChjb25maWdQcm9wcyk7XG4gICAgICBjYXNlICdkYXRhcGFnZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZURhdGFQYWdlTGlzdChjb25maWdQcm9wcywgZGF0YU9iamVjdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXNzb2NpYXRlZExpc3QoY29uZmlnUHJvcHM6IGFueSk6IGFueVtdIHtcbiAgICBjb25zdCBkYXRhU291cmNlID0gY29uZmlnUHJvcHMuZGF0YXNvdXJjZTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBoYW5kbGVEYXRhUGFnZUxpc3QoY29uZmlnUHJvcHM6IGFueSwgZGF0YU9iamVjdDogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGRhdGFQYWdlID0gY29uZmlnUHJvcHMuZGF0YXNvdXJjZTtcblxuICAgIGlmIChkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3RbZGF0YVBhZ2VdKSB7XG4gICAgICBhbGVydCgnbmVlZCB0byBoYW5kbGUgZGF0YSBwYWdlJyk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgbGV0IGxpc3RTb3VyY2VJdGVtcyA9IGNvbmZpZ1Byb3BzLmxpc3RPdXRwdXQ7XG5cbiAgICBpZiAodHlwZW9mIGRhdGFQYWdlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShsaXN0U291cmNlSXRlbXMpKSB7XG4gICAgICBsaXN0U291cmNlSXRlbXMgPSBkYXRhUGFnZS5zb3VyY2UgPyBkYXRhUGFnZS5zb3VyY2UgOiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1MaXN0U291cmNlSXRlbXMobGlzdFNvdXJjZUl0ZW1zKTtcbiAgfVxuXG4gIHRyYW5zZm9ybUxpc3RTb3VyY2VJdGVtcyhsaXN0U291cmNlSXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiAobGlzdFNvdXJjZUl0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5pdGVtLCB2YWx1ZTogaXRlbS50ZXh0IHx8IGl0ZW0udmFsdWUgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEluaXRpYWxzKHVzZXJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1c2VySW5pdGlhbHMgPSB1c2VyTmFtZTtcblxuICAgIGlmICh1c2VyTmFtZSAmJiB1c2VyTmFtZSAhPSAnJykge1xuICAgICAgdXNlckluaXRpYWxzID0gdXNlck5hbWUuY2hhckF0KDApO1xuXG4gICAgICBpZiAodXNlck5hbWUubGFzdEluZGV4T2YoJyAnKSA+IDApIHtcbiAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB1c2VyTmFtZS5zdWJzdHJpbmcodXNlck5hbWUubGFzdEluZGV4T2YoJyAnKSArIDEpO1xuICAgICAgICB1c2VySW5pdGlhbHMgKz0gbGFzdE5hbWUuY2hhckF0KDApO1xuICAgICAgfSBlbHNlIGlmICh1c2VyTmFtZS5sYXN0SW5kZXhPZignLicpID4gMCkge1xuICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHVzZXJOYW1lLnN1YnN0cmluZyh1c2VyTmFtZS5sYXN0SW5kZXhPZignLicpICsgMSk7XG4gICAgICAgIHVzZXJJbml0aWFscyArPSBsYXN0TmFtZS5jaGFyQXQoMCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHVzZXJJbml0aWFscyA9ICcnO1xuICAgIH1cblxuICAgIHJldHVybiB1c2VySW5pdGlhbHMudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIGdldEltYWdlU3JjKG5hbWU6IHN0cmluZywgc2VydmVyVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBpY29uTmFtZSA9IG5hbWUucmVwbGFjZSgncGktJywgJycpLnJlcGxhY2UoJ3BpICcsICcnKS50cmltKCk7XG4gICAgaWYgKGljb25OYW1lID09PSAnbGluZS1jaGFydCcpIHtcbiAgICAgIGljb25OYW1lID0gJ2NoYXJ0LWxpbmUnO1xuICAgIH1cblxuICAgIC8vIHJldHVybiBzZXJ2ZXJVcmwuY29uY2F0KFwiYXNzZXRzL2ljb25zL1wiKS5jb25jYXQoaWNvbk5hbWUpLmNvbmNhdChcIi5zdmdcIik7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SWNvblBhdGgoc2VydmVyVXJsKS5jb25jYXQoaWNvbk5hbWUpLmNvbmNhdCgnLnN2ZycpO1xuICB9XG5cbiAgZ2V0SWNvblBhdGgoc2VydmVyVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2ZXJVcmwuY29uY2F0KCdhc3NldHMvaWNvbnMvJyk7XG4gIH1cblxuICBnZXRCb29sZWFuVmFsdWUoaW5WYWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgbGV0IGJSZXR1cm4gPSBmYWxzZTtcblxuICAgIGlmICh0eXBlb2YgaW5WYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpblZhbHVlLnRvTG93ZXJDYXNlKCkgPT0gJ3RydWUnKSB7XG4gICAgICAgIGJSZXR1cm4gPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBiUmV0dXJuID0gaW5WYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYlJldHVybjtcbiAgfVxuXG4gIGdlbmVyYXRlRGF0ZShkYXRlVmFsLCBkYXRlRm9ybWF0KSB7XG4gICAgbGV0IHNSZXR1cm5EYXRlID0gZGF0ZVZhbDtcblxuICAgIGlmIChkYXRlVmFsID09IG51bGwgfHwgZGF0ZVZhbCA9PSAnJykge1xuICAgICAgcmV0dXJuIGRhdGVWYWw7XG4gICAgfVxuXG4gICAgLy8gQ29tbWVudGluZyBvdXQgcGVyIFZpbm9kIG5vdGUgaW4gd2ViYyBjb21wb25lbnRzXG4gICAgLy8gVlJTOiBEb250IHRoaW5rIHdlIG5lZWQgdGhlIGJlbG93IGxpbmUuICBDb21tZW50aW5nIG91dCBmb3Igbm93LiAoMjAyMC4wNS4yMClcbiAgICAvLyBpZiBkYXRlIGhhcyBhIFwiLlwiLCB0aGVuIG9mIHRoZSBmb3JtYXQgWVlZTU1ERFtUXUhIbW1zc1suXVNTUyBaLCBuZWVkIHRvIGNoYW5nZSB0byBZWVlZTU1ERFxuICAgIC8vIGlmIChkYXRlVmFsLmluZGV4T2YoXCIuXCIpID49IDApIHtcbiAgICAvLyAgIGRhdGVWYWwgPSBtb21lbnQoZGF0ZVZhbC5yZXBsYWNlKFwiR01UXCIsIFwiKzAwMDBcIiksIFwiWVlZWU1NRERbVF1ISG1tc3NbLl1TU1MgWlwiKS5mb3JtYXQoXCJZWVlZTU1ERFwiKTtcbiAgICAvLyAgIHNSZXR1cm5EYXRlID0gZGF0ZVZhbDtcbiAgICAvLyB9XG5cbiAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQnOlxuICAgICAgICAvLyAxLzEvMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ00vRC9ZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQtWVlZWSc6XG4gICAgICAgIC8vIDEvMS8yMDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNL0QvWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQtQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEvMDEvMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NL0REL1lZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1DdXN0b20tWVlZWSc6XG4gICAgICAgIC8vIDAxLzAxLzIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0wnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUxvbmctQ3VzdG9tLVlZWVknOlxuICAgICAgICAvLyAwNS8yMi8yMDIxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNTS9ERC9ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1Mb25nLUN1c3RvbS1ERC9NTS9ZWVlZJzpcbiAgICAgICAgLy8gMjIvMDUvMjAyMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgY2FzZSAnRGF0ZS1NZWRpdW0nOlxuICAgICAgICAvLyBKYW4gMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnbGwnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLURheU1vbnRoWWVhci1DdXN0b20nOlxuICAgICAgICAvLyAwMS1KYW4tMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQtTU1NLVlZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUZ1bGwnOlxuICAgICAgICAvLyBNb25kYXksIEphbnVhcnkgMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnZGRkZCwgTU1NTSBELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtRnJhbWUnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUtRnJhbWUtU2hvcnQnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2luY2UnOlxuICAgICAgICAvLyAyIGRheXMsIDUgaG91cnMgYWdvXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZnJvbU5vdygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtTG9uZyc6XG4gICAgICAgIC8vIEphbnVhcnkgMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU1NTSBELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1JU08tODYwMSc6XG4gICAgICAgIC8vIDIwMDEvMDEvMDEgeS9tL2RcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUdyZWdvcmlhbi0xJzpcbiAgICAgICAgLy8gMDEgSmFudWFyeSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQgTU1NTSwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtR3JlZ29yaWFuLTInOlxuICAgICAgICAvLyBKYW51YXJ5IDAxLCAyMDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNTU1NIERELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1HcmVnb3JpYW4tMyc6XG4gICAgICAgIC8vIDIwMDEsIEphbnVhcnkgMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ1lZWVksIE1NTU0gREQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1DdXN0b20nOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBzUmV0dXJuRGF0ZTtcbiAgfVxuXG4gIGdlbmVyYXRlRGF0ZVRpbWUoZGF0ZVRpbWVWYWwsIGRhdGVGb3JtYXQpIHtcbiAgICBsZXQgc1JldHVybkRhdGUgPSBkYXRlVGltZVZhbDtcblxuICAgIGlmIChkYXRlVGltZVZhbCA9PSBudWxsIHx8IGRhdGVUaW1lVmFsID09ICcnKSB7XG4gICAgICByZXR1cm4gZGF0ZVRpbWVWYWw7XG4gICAgfVxuXG4gICAgZGF0ZVRpbWVWYWwgPSBkYXRlVGltZVZhbC5yZXBsYWNlKCdHTVQnLCAnKzAwMDAnKTtcblxuICAgIHN3aXRjaCAoZGF0ZUZvcm1hdCkge1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQnOlxuICAgICAgICAvLyAxLzEvMDEgMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ00vRC9ZWSBoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMSAwMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NL0REL1lZIGhoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1ZWVlZLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLzAxLzIwMDEgMDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkudHoodGhpcy50aW1lem9uZSkuZm9ybWF0KCdNL0QvWVlZWSBoaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtTG9uZy1ZWVlZLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLzAxLzAxIDAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnTU0vREQvWVlZWSwgaGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNob3J0LVlZWVknOlxuICAgICAgICAvLyAxLzEvMjAwMSAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnTS9EL1lZWVkgaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtTWVkaXVtJzpcbiAgICAgICAgLy8gSmFuIDEsIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NTSBELCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUxvbmcnOlxuICAgICAgICAvLyBKYW51YXJ5IDEsIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NTU0gRCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1EYXlNb250aFllYXItQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEtSmFuLTIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ0RELU1NTS1ZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZ1bGwnOlxuICAgICAgICAvLyBNb25kYXksIEphbnVhcnkgMSwgMjAwMSAxOjAwIEFNIEVEVFxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEgeicpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lLVNob3J0JzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNpbmNlJzpcbiAgICAgICAgLy8gMiBkYXlzLCA1IGhvdXJzIGFnb1xuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mcm9tTm93KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtSVNPLTg2MDEnOlxuICAgICAgICAvLyAyMDAxLzAxLzAxIDE6MDA6MDAgQU0gICAgIHkvbS9kXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnWVlZWS9NTS9ERCBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1HcmVnb3JpYW4tMSc6XG4gICAgICAgIC8vIDAxIEphbnVhcnksIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ0REIE1NTU0sIFlZWVkgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtR3JlZ29yaWFuLTInOlxuICAgICAgICAvLyBKYW51YXJ5IDAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkudHoodGhpcy50aW1lem9uZSkuZm9ybWF0KCdNTU1NIERELCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUdyZWdvcmlhbi0zJzpcbiAgICAgICAgLy8gMjAwMSwgSmFudWFyeSAwMSAxOjAwOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnWVlZWSwgTU1NTSBERCBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1DdXN0b20nOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBzUmV0dXJuRGF0ZTtcbiAgfVxuXG4gIGdldEljb25Gcm9tRmlsZVR5cGUoZmlsZVR5cGUpOiBzdHJpbmcge1xuICAgIGxldCBpY29uID0gJ2RvY3VtZW50LWRvYyc7XG4gICAgaWYgKCFmaWxlVHlwZSkgcmV0dXJuIGljb247XG4gICAgaWYgKGZpbGVUeXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvJykpIHtcbiAgICAgIGljb24gPSAnYXVkaW8nO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuc3RhcnRzV2l0aCgndmlkZW8nKSkge1xuICAgICAgaWNvbiA9ICd2aWRlbyc7XG4gICAgfSBlbHNlIGlmIChmaWxlVHlwZS5zdGFydHNXaXRoKCdpbWFnZScpKSB7XG4gICAgICBpY29uID0gJ3BpY3R1cmUnO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuaW5jbHVkZXMoJ3BkZicpKSB7XG4gICAgICBpY29uID0gJ2RvY3VtZW50LXBkZic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFssIHN1YnR5cGVdID0gZmlsZVR5cGUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGZvdW5kTWF0Y2ggPSBzb3VyY2VzID0+IHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZXMuc29tZShrZXkgPT4gc3VidHlwZS5pbmNsdWRlcyhrZXkpKTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChmb3VuZE1hdGNoKFsnZXhjZWwnLCAnc3ByZWFkc2hlZXQnXSkpIHtcbiAgICAgICAgaWNvbiA9ICdkb2N1bWVudC14bHMnO1xuICAgICAgfSBlbHNlIGlmIChmb3VuZE1hdGNoKFsnemlwJywgJ2NvbXByZXNzZWQnLCAnZ3ppcCcsICdyYXInLCAndGFyJ10pKSB7XG4gICAgICAgIGljb24gPSAnZG9jdW1lbnQtY29tcHJlc3MnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgZ2V0SWNvbkZvckF0dGFjaG1lbnQoYXR0YWNobWVudCkge1xuICAgIGxldCBpY29uO1xuICAgIHN3aXRjaCAoYXR0YWNobWVudC50eXBlKSB7XG4gICAgICBjYXNlICdGSUxFJzpcbiAgICAgICAgaWNvbiA9IHRoaXMuZ2V0SWNvbkZyb21GaWxlVHlwZShhdHRhY2htZW50Lm1pbWVUeXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdVUkwnOlxuICAgICAgICBpY29uID0gJ2NoYWluJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpY29uID0gJ2RvY3VtZW50LWRvYyc7XG4gICAgfVxuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgYWRkVmlld0NvbnRhaW5lcigpIHtcbiAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgPT0gbnVsbCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgJzAnKTtcbiAgICB9XG5cbiAgICBsZXQgY291bnQgPSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSBhcyBzdHJpbmcsIDEwKTtcbiAgICBjb3VudCsrO1xuXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgY291bnQudG9TdHJpbmcoKSk7XG4gIH1cblxuICByZW1vdmVWaWV3Q29udGFpbmVyKCkge1xuICAgIHJldHVybjtcblxuICAgIGxldCBjb3VudCA9IHBhcnNlSW50KHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpIGFzIHN0cmluZywgMTApO1xuICAgIGNvdW50LS07XG5cbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnLCBjb3VudC50b1N0cmluZygpKTtcbiAgfVxuXG4gIG9rVG9BZGRDb250YWluZXJUb1ZDKCk6IGJvb2xlYW4ge1xuICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSA9PSBudWxsKSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnLCAnMCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvdW50ID0gcGFyc2VJbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgYXMgc3RyaW5nLCAxMCk7XG5cbiAgICByZXR1cm4gY291bnQgPT09IDA7XG4gIH1cblxuICBnZXRVc2VySWQgPSB1c2VyID0+IHtcbiAgICBsZXQgdXNlcklkID0gJyc7XG4gICAgaWYgKHR5cGVvZiB1c2VyID09PSAnb2JqZWN0JyAmJiB1c2VyICE9PSBudWxsICYmIHVzZXIudXNlcklkKSB7XG4gICAgICB1c2VySWQgPSB1c2VyLnVzZXJJZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB1c2VyID09PSAnc3RyaW5nJyAmJiB1c2VyKSB7XG4gICAgICB1c2VySWQgPSB1c2VyO1xuICAgIH1cbiAgICByZXR1cm4gdXNlcklkO1xuICB9O1xuXG4gIHN0YXRpYyBzZGtHZXRBdXRoSGVhZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2FzZGtfQUgnKSBhcyBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgaXNFbXB0eU9iamVjdChvYmo6IE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsb2NhbGl6ZWQgdmFsdWUgZnJvbSB0aGUgR2VuZXJpYyBGaWVsZHNcbiAgICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB3aXRoaW4gR2VuZXJpYyBGaWVsZHMgKGUuZy4sICdDb3Ntb3NGaWVsZHMuZmllbGRzLmxpc3RzJylcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHN0cmluZyB0byBsb2NhbGl6ZVxuICAgKiBAcmV0dXJucyBUaGUgbG9jYWxpemVkIHN0cmluZyBvciB0aGUga2V5IGl0c2VsZiBpZiBubyB0cmFuc2xhdGlvbiBpcyBmb3VuZFxuICAgKi9cbiAgZ2V0R2VuZXJpY0ZpZWxkc0xvY2FsaXplZFZhbHVlKHBhdGg6IHN0cmluZywga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IEdFTkVSSUNfQlVORExFX0tFWSA9IFBDb3JlLmdldExvY2FsZVV0aWxzKCkuR0VORVJJQ19CVU5ETEVfS0VZO1xuICAgIGNvbnN0IGxvY2FsZVN0b3JlID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5sb2NhbGVTdG9yZVtHRU5FUklDX0JVTkRMRV9LRVldO1xuXG4gICAgaWYgKCFsb2NhbGVTdG9yZSkgcmV0dXJuIGtleTtcblxuICAgIC8vIFNwbGl0IHRoZSBwYXRoIGFuZCB0cmF2ZXJzZSB0aGUgb2JqZWN0XG4gICAgY29uc3QgcGF0aFBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50T2JqID0gbG9jYWxlU3RvcmU7XG5cbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGF0aFBhcnRzKSB7XG4gICAgICBpZiAoIWN1cnJlbnRPYmpbcGFydF0pIHJldHVybiBrZXk7XG4gICAgICBjdXJyZW50T2JqID0gY3VycmVudE9ialtwYXJ0XTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudE9ialtrZXldIHx8IGtleTtcbiAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- /**
2
- * versionHelpers.ts
3
- *
4
- * Container helper functions that can identify which version of
5
- * PCore/PConnect is being run
6
- */
7
- export const sdkVersion = '8.7';
8
- export function compareSdkPCoreVersions() {
9
- // const theConstellationVersion = PCore.getPCoreVersion();
10
- console.warn(`Using Constellation version ${PCore.getPCoreVersion()}. Ensure this is the same version as your Infinity server.`);
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdmVyc2lvbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBRWhDLE1BQU0sVUFBVSx1QkFBdUI7SUFDckMsMkRBQTJEO0lBQzNELE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEtBQUssQ0FBQyxlQUFlLEVBQUUsNERBQTRELENBQUMsQ0FBQztBQUNuSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB2ZXJzaW9uSGVscGVycy50c1xuICpcbiAqIENvbnRhaW5lciBoZWxwZXIgZnVuY3Rpb25zIHRoYXQgY2FuIGlkZW50aWZ5IHdoaWNoIHZlcnNpb24gb2ZcbiAqIFBDb3JlL1BDb25uZWN0IGlzIGJlaW5nIHJ1blxuICovXG5cbmV4cG9ydCBjb25zdCBzZGtWZXJzaW9uID0gJzguNyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlU2RrUENvcmVWZXJzaW9ucygpIHtcbiAgLy8gY29uc3QgdGhlQ29uc3RlbGxhdGlvblZlcnNpb24gPSBQQ29yZS5nZXRQQ29yZVZlcnNpb24oKTtcbiAgY29uc29sZS53YXJuKGBVc2luZyBDb25zdGVsbGF0aW9uIHZlcnNpb24gJHtQQ29yZS5nZXRQQ29yZVZlcnNpb24oKX0uIEVuc3VyZSB0aGlzIGlzIHRoZSBzYW1lIHZlcnNpb24gYXMgeW91ciBJbmZpbml0eSBzZXJ2ZXIuYCk7XG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ErrorMessagesService {
5
- constructor() {
6
- this.subject = new Subject();
7
- }
8
- /**
9
- *
10
- * @param sAction - show, dismiss
11
- * @param sActionMessage - text to displayed, will be queued with others until dismiss
12
- */
13
- sendMessage(sAction, sActionMessage) {
14
- this.subject.next({ action: sAction, actionMessage: sActionMessage });
15
- }
16
- clearMessage() {
17
- this.subject.next();
18
- }
19
- getMessage() {
20
- return this.subject.asObservable();
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, providedIn: 'root' }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: 'root'
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJVSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0FrQmhEO0lBaEJDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLGNBQXNCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FsQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlc1NlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gc0FjdGlvbiAtIHNob3csIGRpc21pc3NcbiAgICogQHBhcmFtIHNBY3Rpb25NZXNzYWdlIC0gdGV4dCB0byBkaXNwbGF5ZWQsIHdpbGwgYmUgcXVldWVkIHdpdGggb3RoZXJzIHVudGlsIGRpc21pc3NcbiAgICovXG4gIHNlbmRNZXNzYWdlKHNBY3Rpb246IHN0cmluZywgc0FjdGlvbk1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHsgYWN0aW9uOiBzQWN0aW9uLCBhY3Rpb25NZXNzYWdlOiBzQWN0aW9uTWVzc2FnZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPHZvaWQgfCBvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ProgressSpinnerService {
5
- constructor() {
6
- this.subject = new Subject();
7
- }
8
- /**
9
- * Function to show/hide spinner
10
- * @param bShow - true: show spinner, false: hide spinner
11
- */
12
- sendMessage(bShow) {
13
- this.subject.next({ show: bShow });
14
- }
15
- clearMessage() {
16
- this.subject.next();
17
- }
18
- getMessage() {
19
- return this.subject.asObservable();
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, providedIn: 'root' }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, decorators: [{
25
- type: Injectable,
26
- args: [{
27
- providedIn: 'root'
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19tZXNzYWdlcy9wcm9ncmVzcy1zcGlubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSVUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO0tBaUJoRDtJQWZDOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBakJVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzU3Bpbm5lclNlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBzaG93L2hpZGUgc3Bpbm5lclxuICAgKiBAcGFyYW0gYlNob3cgLSB0cnVlOiBzaG93IHNwaW5uZXIsIGZhbHNlOiBoaWRlIHNwaW5uZXJcbiAgICovXG4gIHNlbmRNZXNzYWdlKGJTaG93OiBib29sZWFuKSB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoeyBzaG93OiBiU2hvdyB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class UpdateWorklistService {
5
- constructor() {
6
- this.subject = new Subject();
7
- }
8
- /**
9
- * Function signals to update Work list
10
- * @param bUpdate - true: update worklist, false - do nothing
11
- */
12
- sendMessage(bUpdate) {
13
- this.subject.next({ update: bUpdate });
14
- }
15
- clearMessage() {
16
- this.subject.next();
17
- }
18
- getMessage() {
19
- return this.subject.asObservable();
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, providedIn: 'root' }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, decorators: [{
25
- type: Injectable,
26
- args: [{
27
- providedIn: 'root'
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXdvcmtsaXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX21lc3NhZ2VzL3VwZGF0ZS13b3JrbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlVLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztLQWlCaEQ7SUFmQzs7O09BR0c7SUFDSCxXQUFXLENBQUMsT0FBZ0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FqQlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlV29ya2xpc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZCB8IG9iamVjdD4oKTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gc2lnbmFscyB0byB1cGRhdGUgV29yayBsaXN0XG4gICAqIEBwYXJhbSBiVXBkYXRlIC0gdHJ1ZTogdXBkYXRlIHdvcmtsaXN0LCBmYWxzZSAtIGRvIG5vdGhpbmdcbiAgICovXG4gIHNlbmRNZXNzYWdlKGJVcGRhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCh7IHVwZGF0ZTogYlVwZGF0ZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BannerService {
4
- constructor() {
5
- this.banners = [];
6
- }
7
- clearBanners() {
8
- this.banners = [];
9
- }
10
- updateBanners(itemKey) {
11
- const localizedValue = PCore.getLocaleUtils().getLocaleValue;
12
- const validationErrors = PCore.getMessageManager().getValidationErrorMessages(itemKey) || [];
13
- const formattedErrors = validationErrors.map(error => {
14
- let message = '';
15
- if (typeof error === 'string') {
16
- message = error;
17
- }
18
- else {
19
- error.label = error.label.endsWith(':') ? error.label : `${error.label}:`;
20
- message = `${error.label} ${error.description}`;
21
- }
22
- return localizedValue(message, 'Messages');
23
- });
24
- this.banners = formattedErrors.length ? [{ messages: formattedErrors, variant: 'urgent' }] : [];
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, providedIn: 'root' }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, decorators: [{
30
- type: Injectable,
31
- args: [{
32
- providedIn: 'root'
33
- }]
34
- }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUUsWUFBTyxHQUFVLEVBQUUsQ0FBQztLQXlCckI7SUF2QkMsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBTztRQUNuQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQzdELE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdGLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFFakIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQzFFLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xELENBQUM7WUFFRCxPQUFPLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEcsQ0FBQzsrR0F6QlUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lclNlcnZpY2Uge1xuICBiYW5uZXJzOiBhbnlbXSA9IFtdO1xuXG4gIGNsZWFyQmFubmVycygpIHtcbiAgICB0aGlzLmJhbm5lcnMgPSBbXTtcbiAgfVxuXG4gIHVwZGF0ZUJhbm5lcnMoaXRlbUtleSkge1xuICAgIGNvbnN0IGxvY2FsaXplZFZhbHVlID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3JzID0gUENvcmUuZ2V0TWVzc2FnZU1hbmFnZXIoKS5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlcyhpdGVtS2V5KSB8fCBbXTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZEVycm9ycyA9IHZhbGlkYXRpb25FcnJvcnMubWFwKGVycm9yID0+IHtcbiAgICAgIGxldCBtZXNzYWdlID0gJyc7XG5cbiAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yLmxhYmVsID0gZXJyb3IubGFiZWwuZW5kc1dpdGgoJzonKSA/IGVycm9yLmxhYmVsIDogYCR7ZXJyb3IubGFiZWx9OmA7XG4gICAgICAgIG1lc3NhZ2UgPSBgJHtlcnJvci5sYWJlbH0gJHtlcnJvci5kZXNjcmlwdGlvbn1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbG9jYWxpemVkVmFsdWUobWVzc2FnZSwgJ01lc3NhZ2VzJyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmJhbm5lcnMgPSBmb3JtYXR0ZWRFcnJvcnMubGVuZ3RoID8gW3sgbWVzc2FnZXM6IGZvcm1hdHRlZEVycm9ycywgdmFyaWFudDogJ3VyZ2VudCcgfV0gOiBbXTtcbiAgfVxufVxuIl19