@pega/angular-sdk-components 24.2.12 → 25.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) 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/lib/_bridge/angular-pconnect.d.ts +1 -1
  4. package/lib/_bridge/component-mapper/component-mapper.component.d.ts +1 -1
  5. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +18 -0
  6. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  7. package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +1 -0
  8. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +9 -37
  9. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +7 -5
  10. package/lib/_components/field/check-box/check-box.component.d.ts +10 -32
  11. package/lib/_components/field/currency/currency.component.d.ts +19 -34
  12. package/lib/_components/field/date/date.component.d.ts +7 -57
  13. package/lib/_components/field/date-time/date-time.component.d.ts +12 -40
  14. package/lib/_components/field/decimal/decimal.component.d.ts +16 -31
  15. package/lib/_components/field/dropdown/dropdown.component.d.ts +13 -37
  16. package/lib/_components/field/email/email.component.d.ts +7 -34
  17. package/lib/_components/field/field.base.d.ts +57 -0
  18. package/lib/_components/field/group/group.component.d.ts +5 -2
  19. package/lib/_components/field/integer/integer.component.d.ts +7 -33
  20. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -1
  21. package/lib/_components/field/location/location.component.d.ts +47 -0
  22. package/lib/_components/field/multiselect/multiselect.component.d.ts +7 -38
  23. package/lib/_components/field/object-reference/object-reference.component.d.ts +45 -0
  24. package/lib/_components/field/percentage/percentage.component.d.ts +18 -35
  25. package/lib/_components/field/phone/phone.component.d.ts +8 -31
  26. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +13 -33
  27. package/lib/_components/field/rich-text/rich-text.component.d.ts +6 -29
  28. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +6 -21
  29. package/lib/_components/field/selectable-card/selectable-card.component.d.ts +62 -0
  30. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +21 -0
  31. package/lib/_components/field/text-area/text-area.component.d.ts +6 -33
  32. package/lib/_components/field/text-input/text-input.component.d.ts +6 -34
  33. package/lib/_components/field/time/time.component.d.ts +6 -34
  34. package/lib/_components/field/url/url.component.d.ts +6 -34
  35. package/lib/_components/field/user-reference/user-reference.component.d.ts +1 -1
  36. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +1 -0
  37. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +4 -6
  38. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  39. package/lib/_components/infra/assignment/assignment.component.d.ts +3 -3
  40. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +3 -2
  41. package/lib/_components/infra/defer-load/defer-load.component.d.ts +6 -6
  42. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  43. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -1
  44. package/lib/_components/infra/stages/stages.component.d.ts +2 -1
  45. package/lib/_components/template/advanced-search/advanced-search.component.d.ts +21 -0
  46. package/lib/_components/template/advanced-search/search-group/persist-utils.d.ts +23 -0
  47. package/lib/_components/template/advanced-search/search-groups/search-groups.component.d.ts +47 -0
  48. package/lib/_components/template/advanced-search/search-groups/utils.d.ts +15 -0
  49. package/lib/_components/template/app-shell/app-shell.component.d.ts +6 -2
  50. package/lib/_components/template/base/details-template-base.d.ts +1 -1
  51. package/lib/_components/template/base/form-template-base.d.ts +1 -1
  52. package/lib/_components/template/case-summary/case-summary.component.d.ts +3 -2
  53. package/lib/_components/template/case-view/case-view.component.d.ts +0 -1
  54. package/lib/_components/template/data-reference/data-reference.component.d.ts +27 -2
  55. package/lib/_components/template/data-reference/search-form/search-form.component.d.ts +39 -0
  56. package/lib/_components/template/data-reference/search-form/tabsData.d.ts +2 -0
  57. package/lib/_components/template/data-reference/utils.d.ts +14 -0
  58. package/lib/_components/template/default-form/default-form.component.d.ts +3 -2
  59. package/lib/_components/template/default-page/default-page.component.d.ts +29 -0
  60. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +3 -5
  61. package/lib/_components/template/list-view/list-view.component.d.ts +21 -5
  62. package/lib/_components/template/object-page/object-page.component.d.ts +8 -0
  63. package/lib/_components/template/self-service-case-view/self-service-case-view.component.d.ts +58 -0
  64. package/lib/_components/template/simple-table-manual/helpers.d.ts +15 -1
  65. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +2 -2
  66. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +18 -2
  67. package/lib/_components/template/utils.d.ts +4 -0
  68. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +3 -5
  69. package/lib/_components/widget/attachment/Attachment.types.d.ts +87 -0
  70. package/lib/_components/widget/attachment/AttachmentUtils.d.ts +17 -0
  71. package/lib/_components/widget/attachment/attachment.component.d.ts +18 -33
  72. package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -2
  73. package/lib/_components/widget/file-utility/file-utility.component.d.ts +3 -1
  74. package/lib/_components/widget/todo/todo.component.d.ts +4 -2
  75. package/lib/_helpers/field-group-utils.d.ts +1 -3
  76. package/lib/_helpers/filter-utils.d.ts +1 -3
  77. package/lib/_helpers/object-utils.d.ts +8 -0
  78. package/lib/_helpers/objectReference-utils.d.ts +6 -0
  79. package/lib/_helpers/semanticLink-utils.d.ts +9 -0
  80. package/lib/_helpers/tab-utils.d.ts +4 -0
  81. package/lib/_helpers/utils.d.ts +5 -1
  82. package/lib/_services/case.service.d.ts +1 -1
  83. package/lib/_services/data-reference-advanced-search.service.d.ts +9 -0
  84. package/lib/_services/datapage.service.d.ts +1 -1
  85. package/lib/_services/google-maps-loader.service.d.ts +7 -0
  86. package/package.json +20 -6
  87. package/public-api.d.ts +14 -1
  88. package/esm2022/lib/_bridge/angular-pconnect.mjs +0 -428
  89. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +0 -107
  90. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +0 -239
  91. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +0 -142
  92. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +0 -50
  93. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +0 -29
  94. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +0 -31
  95. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +0 -51
  96. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +0 -31
  97. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +0 -82
  98. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +0 -37
  99. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +0 -38
  100. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +0 -36
  101. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +0 -25
  102. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +0 -28
  103. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +0 -42
  104. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +0 -145
  105. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +0 -33
  106. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +0 -93
  107. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +0 -18
  108. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +0 -296
  109. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +0 -96
  110. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +0 -225
  111. package/esm2022/lib/_components/field/currency/currency.component.mjs +0 -195
  112. package/esm2022/lib/_components/field/date/date.component.mjs +0 -205
  113. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +0 -196
  114. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +0 -205
  115. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +0 -300
  116. package/esm2022/lib/_components/field/email/email.component.mjs +0 -165
  117. package/esm2022/lib/_components/field/group/group.component.mjs +0 -64
  118. package/esm2022/lib/_components/field/integer/integer.component.mjs +0 -168
  119. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +0 -45
  120. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +0 -314
  121. package/esm2022/lib/_components/field/multiselect/utils.mjs +0 -187
  122. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +0 -190
  123. package/esm2022/lib/_components/field/phone/phone.component.mjs +0 -155
  124. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +0 -182
  125. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +0 -109
  126. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +0 -95
  127. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +0 -57
  128. package/esm2022/lib/_components/field/text/text.component.mjs +0 -142
  129. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +0 -165
  130. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +0 -69
  131. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +0 -165
  132. package/esm2022/lib/_components/field/time/time.component.mjs +0 -174
  133. package/esm2022/lib/_components/field/url/url.component.mjs +0 -165
  134. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +0 -266
  135. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +0 -18
  136. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +0 -71
  137. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +0 -461
  138. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +0 -68
  139. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +0 -24
  140. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +0 -335
  141. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +0 -32
  142. package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +0 -22
  143. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +0 -211
  144. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +0 -31
  145. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +0 -407
  146. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +0 -47
  147. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +0 -87
  148. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +0 -143
  149. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +0 -18
  150. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +0 -80
  151. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +0 -136
  152. package/esm2022/lib/_components/infra/reference/reference.component.mjs +0 -126
  153. package/esm2022/lib/_components/infra/region/region.component.mjs +0 -33
  154. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +0 -223
  155. package/esm2022/lib/_components/infra/stages/stages.component.mjs +0 -62
  156. package/esm2022/lib/_components/infra/view/view.component.mjs +0 -188
  157. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +0 -156
  158. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +0 -43
  159. package/esm2022/lib/_components/template/base/details-template-base.mjs +0 -56
  160. package/esm2022/lib/_components/template/base/form-template-base.mjs +0 -16
  161. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +0 -101
  162. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +0 -185
  163. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +0 -68
  164. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +0 -242
  165. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +0 -73
  166. package/esm2022/lib/_components/template/details/details.component.mjs +0 -76
  167. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +0 -45
  168. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +0 -42
  169. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +0 -39
  170. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +0 -51
  171. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +0 -48
  172. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +0 -48
  173. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +0 -65
  174. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +0 -23
  175. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +0 -131
  176. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +0 -24
  177. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +0 -22
  178. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +0 -40
  179. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +0 -14
  180. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +0 -208
  181. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +0 -1217
  182. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +0 -60
  183. package/esm2022/lib/_components/template/list-view/utils.mjs +0 -662
  184. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +0 -44
  185. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +0 -30
  186. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +0 -31
  187. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +0 -16
  188. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +0 -30
  189. package/esm2022/lib/_components/template/page/page.component.mjs +0 -52
  190. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +0 -149
  191. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +0 -138
  192. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +0 -104
  193. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +0 -271
  194. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +0 -813
  195. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +0 -129
  196. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +0 -16
  197. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +0 -67
  198. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +0 -31
  199. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +0 -16
  200. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +0 -31
  201. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +0 -40
  202. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +0 -30
  203. package/esm2022/lib/_components/template/utils.mjs +0 -38
  204. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +0 -31
  205. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +0 -53
  206. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +0 -137
  207. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +0 -24
  208. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +0 -393
  209. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +0 -80
  210. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +0 -521
  211. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +0 -638
  212. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +0 -57
  213. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +0 -75
  214. package/esm2022/lib/_components/widget/todo/todo.component.mjs +0 -230
  215. package/esm2022/lib/_components/widget/utility/utility.component.mjs +0 -34
  216. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +0 -28
  217. package/esm2022/lib/_helpers/case-utils.mjs +0 -71
  218. package/esm2022/lib/_helpers/common.mjs +0 -20
  219. package/esm2022/lib/_helpers/createstage-utils.mjs +0 -15
  220. package/esm2022/lib/_helpers/currency-utils.mjs +0 -57
  221. package/esm2022/lib/_helpers/date-format-utils.mjs +0 -68
  222. package/esm2022/lib/_helpers/event-util.mjs +0 -18
  223. package/esm2022/lib/_helpers/field-group-utils.mjs +0 -47
  224. package/esm2022/lib/_helpers/filter-utils.mjs +0 -105
  225. package/esm2022/lib/_helpers/formatters/boolean.mjs +0 -20
  226. package/esm2022/lib/_helpers/formatters/common.mjs +0 -17
  227. package/esm2022/lib/_helpers/formatters/currency-map.mjs +0 -903
  228. package/esm2022/lib/_helpers/formatters/currency.mjs +0 -68
  229. package/esm2022/lib/_helpers/formatters/date.mjs +0 -69
  230. package/esm2022/lib/_helpers/formatters/format-utils.mjs +0 -76
  231. package/esm2022/lib/_helpers/formatters/index.mjs +0 -124
  232. package/esm2022/lib/_helpers/instructions-utils.mjs +0 -36
  233. package/esm2022/lib/_helpers/tab-utils.mjs +0 -59
  234. package/esm2022/lib/_helpers/template-utils.mjs +0 -56
  235. package/esm2022/lib/_helpers/utils.mjs +0 -412
  236. package/esm2022/lib/_helpers/versionHelpers.mjs +0 -12
  237. package/esm2022/lib/_messages/error-messages.service.mjs +0 -31
  238. package/esm2022/lib/_messages/progress-spinner.service.mjs +0 -30
  239. package/esm2022/lib/_messages/update-worklist.service.mjs +0 -30
  240. package/esm2022/lib/_services/banner.service.mjs +0 -35
  241. package/esm2022/lib/_services/case.service.mjs +0 -32
  242. package/esm2022/lib/_services/datapage.service.mjs +0 -52
  243. package/esm2022/lib/_services/endpoints.mjs +0 -60
  244. package/esm2022/lib/_services/server-config.service.mjs +0 -52
  245. package/esm2022/lib/_types/PConnProps.interface.mjs +0 -2
  246. package/esm2022/pega-angular-sdk-components.mjs +0 -5
  247. package/esm2022/public-api.mjs +0 -145
  248. package/esm2022/sdk-local-component-map.mjs +0 -9
@@ -1,87 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
- import { MatNativeDateModule } from '@angular/material/core';
5
- import { MatDatepickerModule } from '@angular/material/datepicker';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatButtonModule } from '@angular/material/button';
8
- import { debounceTime } from 'rxjs/operators';
9
- import { Subject } from 'rxjs';
10
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
11
- import { getFilterExpression, getFormattedDate, createFilter, combineFilters } from '../../../_helpers/filter-utils';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "@angular/material/form-field";
15
- import * as i3 from "@angular/forms";
16
- import * as i4 from "@angular/material/datepicker";
17
- import * as i5 from "@angular/material/button";
18
- export class DashboardFilterComponent {
19
- constructor() {
20
- this.filterChangeSubject = new Subject();
21
- this.filterChangeSubject.pipe(debounceTime(500)).subscribe(val => this.fireFilterChange(val));
22
- }
23
- ngOnInit() {
24
- if (this.filtersFormGroup$ != null) {
25
- this.filtersFormGroup$.addControl('start', new FormControl(null));
26
- this.filtersFormGroup$.addControl('end', new FormControl(null));
27
- }
28
- }
29
- clearFilters() {
30
- this.filtersFormGroup$.reset();
31
- PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);
32
- }
33
- updateTmpData(filterData) {
34
- this.filterChangeSubject.next(filterData);
35
- }
36
- dateRangeChangeHandler(field) {
37
- const { filterId, name } = field;
38
- const start = this.filtersFormGroup$.get('start').value;
39
- const end = this.filtersFormGroup$.get('end').value;
40
- if (start && end) {
41
- let startDate = getFormattedDate(start);
42
- let endDate = getFormattedDate(end);
43
- if (startDate && endDate) {
44
- startDate = `${startDate}T00:00:00`;
45
- endDate = `${endDate}T00:00:00`;
46
- const startFilter = createFilter(startDate, name, 'GT');
47
- const endFilter = createFilter(endDate, name, 'LT');
48
- const filterData = {
49
- filterId,
50
- filterExpression: combineFilters([startFilter, endFilter], null)
51
- };
52
- PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
53
- }
54
- }
55
- }
56
- fireFilterChange(data) {
57
- const { event, field } = data;
58
- const filterData = {
59
- filterId: field.filterId,
60
- filterExpression: getFilterExpression(event.target.value, field.name, field.metadata)
61
- };
62
- PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
63
- }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i2.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i2.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i3.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i3.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i3.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardFilterComponent, decorators: [{
68
- type: Component,
69
- args: [{ selector: 'app-dashboard-filter', standalone: true, imports: [
70
- CommonModule,
71
- MatFormFieldModule,
72
- ReactiveFormsModule,
73
- MatDatepickerModule,
74
- MatButtonModule,
75
- MatNativeDateModule,
76
- forwardRef(() => ComponentMapperComponent)
77
- ], template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"] }]
78
- }], ctorParameters: () => [], propDecorators: { pConn$: [{
79
- type: Input
80
- }], filtersFormGroup$: [{
81
- type: Input
82
- }], inlineProps: [{
83
- type: Input
84
- }], children: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGFzaGJvYXJkLWZpbHRlci9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kYXNoYm9hcmQtZmlsdGVyL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENB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QztRQUVGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoSCxDQUFDOytHQTVEVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3TUMzQnJDLHE3Q0FtQ0EseVFEakJJLFlBQVksaWJBQ1osa0JBQWtCLCtmQUNsQixtQkFBbUIsaStCQUNuQixtQkFBbUIsazdCQUNuQixlQUFlLHFRQUNmLG1CQUFtQixvREFDRix3QkFBd0I7OzRGQUdoQyx3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQzNDO3dEQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJFeHByZXNzaW9uLCBnZXRGb3JtYXR0ZWREYXRlLCBjcmVhdGVGaWx0ZXIsIGNvbWJpbmVGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvZmlsdGVyLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRhc2hib2FyZC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmaWx0ZXJzRm9ybUdyb3VwJDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBpbmxpbmVQcm9wcztcbiAgQElucHV0KCkgY2hpbGRyZW47XG5cbiAgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICBwcml2YXRlIGZpbHRlckNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5maXJlRmlsdGVyQ2hhbmdlKHZhbCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5hZGRDb250cm9sKCdzdGFydCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgICB0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmFkZENvbnRyb2woJ2VuZCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQucmVzZXQoKTtcbiAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfREFTSEJPQVJEX0ZJTFRFUl9DTEVBUl9BTEwpO1xuICB9XG5cbiAgdXBkYXRlVG1wRGF0YShmaWx0ZXJEYXRhKSB7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJqZWN0Lm5leHQoZmlsdGVyRGF0YSk7XG4gIH1cblxuICBkYXRlUmFuZ2VDaGFuZ2VIYW5kbGVyKGZpZWxkKSB7XG4gICAgY29uc3QgeyBmaWx0ZXJJZCwgbmFtZSB9ID0gZmllbGQ7XG4gICAgY29uc3Qgc3RhcnQgPSAodGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5nZXQoJ3N0YXJ0JykgYXMgRm9ybUNvbnRyb2wpLnZhbHVlO1xuICAgIGNvbnN0IGVuZCA9ICh0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmdldCgnZW5kJykgYXMgRm9ybUNvbnRyb2wpLnZhbHVlO1xuICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgIGxldCBzdGFydERhdGUgPSBnZXRGb3JtYXR0ZWREYXRlKHN0YXJ0KTtcbiAgICAgIGxldCBlbmREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZShlbmQpO1xuXG4gICAgICBpZiAoc3RhcnREYXRlICYmIGVuZERhdGUpIHtcbiAgICAgICAgc3RhcnREYXRlID0gYCR7c3RhcnREYXRlfVQwMDowMDowMGA7XG4gICAgICAgIGVuZERhdGUgPSBgJHtlbmREYXRlfVQwMDowMDowMGA7XG4gICAgICAgIGNvbnN0IHN0YXJ0RmlsdGVyID0gY3JlYXRlRmlsdGVyKHN0YXJ0RGF0ZSwgbmFtZSwgJ0dUJyk7XG4gICAgICAgIGNvbnN0IGVuZEZpbHRlciA9IGNyZWF0ZUZpbHRlcihlbmREYXRlLCBuYW1lLCAnTFQnKTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0ge1xuICAgICAgICAgIGZpbHRlcklkLFxuICAgICAgICAgIGZpbHRlckV4cHJlc3Npb246IGNvbWJpbmVGaWx0ZXJzKFtzdGFydEZpbHRlciwgZW5kRmlsdGVyXSwgbnVsbClcbiAgICAgICAgfTtcbiAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0RBU0hCT0FSRF9GSUxURVJfQ0hBTkdFLCBmaWx0ZXJEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaXJlRmlsdGVyQ2hhbmdlKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IHsgZXZlbnQsIGZpZWxkIH0gPSBkYXRhO1xuICAgIGNvbnN0IGZpbHRlckRhdGEgPSB7XG4gICAgICBmaWx0ZXJJZDogZmllbGQuZmlsdGVySWQsXG4gICAgICBmaWx0ZXJFeHByZXNzaW9uOiBnZXRGaWx0ZXJFeHByZXNzaW9uKGV2ZW50LnRhcmdldC52YWx1ZSwgZmllbGQubmFtZSwgZmllbGQubWV0YWRhdGEpXG4gICAgfTtcblxuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5FVkVOVF9EQVNIQk9BUkRfRklMVEVSX0NIQU5HRSwgZmlsdGVyRGF0YSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwie1xuICAgICdwc2RrLWJsb2NrLXN0eWxlJzogaW5saW5lUHJvcHMuZmlsdGVyUG9zaXRpb24gPT09ICdibG9jay1zdGFydCdcbiAgfVwiXG4+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGtpZCBvZiBjaGlsZHJlblwiPlxuICAgIDxkaXYgKm5nSWY9XCJraWQudHlwZSA9PT0gJ0RhdGVUaW1lJ1wiIFtmb3JtR3JvdXBdPVwiZmlsdGVyc0Zvcm1Hcm91cCRcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInBzZGstZnVsbC13aWR0aFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGtpZC5sYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiPlxuICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJTdGFydCBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiAvPlxuICAgICAgICAgIDxpbnB1dCBtYXRFbmREYXRlIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIiAoZGF0ZUNoYW5nZSk9XCJkYXRlUmFuZ2VDaGFuZ2VIYW5kbGVyKGtpZClcIiAvPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwia2lkLmMxMW5FbnZcIj5cbiAgICAgIDxzcGFuIChpbnB1dCk9XCJ1cGRhdGVUbXBEYXRhKHsgZXZlbnQ6ICRldmVudCwgZmllbGQ6IGtpZCB9KVwiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAgIFtuYW1lXT1cImtpZC5jMTFuRW52LmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCJcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgcENvbm4kOiBraWQuYzExbkVudi5nZXRQQ29ubmVjdCgpLFxuICAgICAgICAgICAgZm9ybUdyb3VwJDogZmlsdGVyc0Zvcm1Hcm91cCRcbiAgICAgICAgICB9XCJcbiAgICAgICAgICBlcnJvck1zZz1cIkRhc2hib2FyZCBmaWx0ZXIgd2FudHMgY29tcG9uZW50IG5vdCB5ZXQgYXZhaWxhYmxlOiB7eyBraWQuYzExbkVudi5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+Q2xlYXIgQWxsPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,143 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReferenceComponent } from '../../infra/reference/reference.component';
4
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../_bridge/angular-pconnect";
7
- import * as i2 from "@angular/common";
8
- /**
9
- * WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
10
- * Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
11
- * is totally at your own risk.
12
- */
13
- export class DeferLoadComponent {
14
- constructor(angularPConnect) {
15
- this.angularPConnect = angularPConnect;
16
- this.bShowDefer$ = false;
17
- this.angularPConnectData = {};
18
- this.currentLoadedAssignment = '';
19
- this.getViewOptions = () => ({
20
- viewContext: this.resourceType,
21
- pageClass: this.loadViewCaseID ? '' : this.pConn$.getDataObject().pyPortal.classID,
22
- container: this.isContainerPreview ? 'preview' : undefined,
23
- containerName: this.isContainerPreview ? 'preview' : undefined,
24
- updateData: this.isContainerPreview
25
- });
26
- this.constants = PCore.getConstants();
27
- }
28
- ngOnInit() {
29
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
30
- // The below call is causing an error while creating/opening a case, hence commenting it out
31
- // this.loadActiveTab();
32
- }
33
- ngOnDestroy() {
34
- if (this.angularPConnectData.unsubscribeFn) {
35
- this.angularPConnectData.unsubscribeFn();
36
- }
37
- }
38
- onStateChange() {
39
- // Should always check the bridge to see if the component should
40
- // update itself (re-render)
41
- const theRequestedAssignment = this.pConn$.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL);
42
- const lastUpdateCaseTime = this.pConn$.getValue('caseInfo.lastUpdateTime');
43
- if (theRequestedAssignment !== this.currentLoadedAssignment || (lastUpdateCaseTime && lastUpdateCaseTime !== this.lastUpdateCaseTime)) {
44
- this.currentLoadedAssignment = theRequestedAssignment;
45
- this.lastUpdateCaseTime = lastUpdateCaseTime;
46
- this.loadActiveTab();
47
- }
48
- }
49
- ngOnChanges() {
50
- this.loadViewCaseID = this.pConn$.getValue(this.constants.PZINSKEY) || this.pConn$.getValue(this.constants.CASE_INFO.CASE_INFO_ID);
51
- let containerItemData;
52
- const targetName = this.pConn$.getTarget();
53
- if (targetName) {
54
- this.containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);
55
- containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, this.containerName);
56
- }
57
- const { CASE, PAGE, DATA } = this.constants.RESOURCE_TYPES;
58
- this.CASE = CASE;
59
- this.PAGE = PAGE;
60
- this.DATA = DATA;
61
- const { resourceType = this.CASE } = containerItemData || { resourceType: this.loadViewCaseID ? this.CASE : this.PAGE };
62
- this.resourceType = resourceType;
63
- this.isContainerPreview = /preview_[0-9]*/g.test(this.pConn$.getContextName());
64
- const theConfigProps = this.pConn$.getConfigProps();
65
- this.deferLoadId = theConfigProps.deferLoadId;
66
- this.name = this.name || theConfigProps.name;
67
- this.loadActiveTab();
68
- }
69
- onResponse(data) {
70
- if (this.deferLoadId) {
71
- PCore.getDeferLoadManager().start(this.name, this.pConn$.getCaseInfo().getKey(), this.pConn$.getPageReference().replace('caseInfo.content', ''), this.pConn$.getContextName(), this.deferLoadId);
72
- }
73
- if (data && !(data.type && data.type === 'error')) {
74
- const config = {
75
- meta: data,
76
- options: {
77
- context: this.pConn$.getContextName(),
78
- pageReference: this.pConn$.getPageReference()
79
- }
80
- };
81
- const configObject = PCore.createPConnect(config);
82
- configObject.getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
83
- this.loadedPConn$ = ReferenceComponent.normalizePConn(configObject.getPConnect());
84
- this.componentName$ = this.loadedPConn$.getComponentName();
85
- if (this.deferLoadId) {
86
- PCore.getDeferLoadManager().stop(this.deferLoadId, this.pConn$.getContextName());
87
- }
88
- }
89
- // this.cdRef.detectChanges();
90
- }
91
- loadActiveTab() {
92
- if (this.resourceType === this.DATA) {
93
- // Rendering defer loaded tabs in data context
94
- if (this.containerName) {
95
- const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', this.containerName);
96
- const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', this.containerName);
97
- this.pConn$
98
- .getActionsApi()
99
- .showData(this.name, dataContext, dataContextParameters, {
100
- skipSemanticUrl: true,
101
- // @ts-ignore - Object literal may only specify known properties, and 'isDeferLoaded' does not exist in type '{ containerName: string; skipSemanticUrl: boolean; }'
102
- isDeferLoaded: true
103
- })
104
- .then(data => {
105
- this.onResponse(data);
106
- });
107
- }
108
- else {
109
- console.error('Cannot load the defer loaded view without container information');
110
- }
111
- }
112
- else if (this.resourceType === this.PAGE) {
113
- // Rendering defer loaded tabs in case/ page context
114
- this.pConn$
115
- .getActionsApi()
116
- .loadView(encodeURI(this.loadViewCaseID), this.name, this.getViewOptions())
117
- .then(data => {
118
- this.onResponse(data);
119
- });
120
- }
121
- else {
122
- this.pConn$
123
- .getActionsApi()
124
- .refreshCaseView(encodeURI(this.loadViewCaseID), this.name, '')
125
- .then((data) => {
126
- this.onResponse(data.root);
127
- });
128
- }
129
- }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
132
- }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, decorators: [{
134
- type: Component,
135
- args: [{ selector: 'app-defer-load', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n" }]
136
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
137
- type: Input
138
- }], loadData$: [{
139
- type: Input
140
- }], name: [{
141
- type: Input
142
- }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQThEN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xGLFNBQVMsRUFBRSxJQUFJ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RkFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHB1YmxpY0NvbnN0YW50cyB9IGZyb20gJ0BwZWdhL3Bjb3JlLXBjb25uZWN0LXR5cGVkZWZzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kZWZlci1sb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZWZlci1sb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgRGVmZXJMb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBsb2FkRGF0YSQ6IGFueTtcbiAgQElucHV0KCkgbmFtZTtcblxuICBjb21wb25lbnROYW1lJDogc3RyaW5nO1xuICBsb2FkZWRQQ29ubiQ6IGFueTtcbiAgYlNob3dEZWZlciQgPSBmYWxzZTtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbnN0YW50czogdHlwZW9mIHB1YmxpY0NvbnN0YW50cztcbiAgY3VycmVudExvYWRlZEFzc2lnbm1lbnQgPSAnJztcbiAgaXNDb250YWluZXJQcmV2aWV3OiBib29sZWFuO1xuICBsb2FkVmlld0Nhc2VJRDogYW55O1xuICByZXNvdXJjZVR5cGU6IGFueTtcbiAgZGVmZXJMb2FkSWQ6IGFueTtcbiAgY29udGFpbmVyTmFtZTogYW55O1xuICBDQVNFOiBhbnk7XG4gIFBBR0U6IGFueTtcbiAgREFUQTogYW55O1xuICBsYXN0VXBkYXRlQ2FzZVRpbWU7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25zdGFudHMgPSBQQ29yZS5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgLy8gVGhlIGJlbG93IGNhbGwgaXMgY2F1c2luZyBhbiBlcnJvciB3aGlsZSBjcmVhdGluZy9vcGVuaW5nIGEgY2FzZSwgaGVuY2UgY29tbWVudGluZyBpdCBvdXRcbiAgICAvLyB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgdGhlUmVxdWVzdGVkQXNzaWdubWVudCA9IHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5BU1NJR05NRU5UX0xBQkVMKTtcbiAgICBjb25zdCBsYXN0VXBkYXRlQ2FzZVRpbWUgPSB0aGlzLnBDb25uJC5nZXRWYWx1ZSgnY2FzZUluZm8ubGFzdFVwZGF0ZVRpbWUnKTtcbiAgICBpZiAodGhlUmVxdWVzdGVkQXNzaWdubWVudCAhPT0gdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCB8fCAobGFzdFVwZGF0ZUNhc2VUaW1lICYmIGxhc3RVcGRhdGVDYXNlVGltZSAhPT0gdGhpcy5sYXN0VXBkYXRlQ2FzZVRpbWUpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZWRBc3NpZ25tZW50ID0gdGhlUmVxdWVzdGVkQXNzaWdubWVudDtcbiAgICAgIHRoaXMubGFzdFVwZGF0ZUNhc2VUaW1lID0gbGFzdFVwZGF0ZUNhc2VUaW1lO1xuICAgICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5sb2FkVmlld0Nhc2VJRCA9IHRoaXMucENvbm4kLmdldFZhbHVlKHRoaXMuY29uc3RhbnRzLlBaSU5TS0VZKSB8fCB0aGlzLnBDb25uJC5nZXRWYWx1ZSh0aGlzLmNvbnN0YW50cy5DQVNFX0lORk8uQ0FTRV9JTkZPX0lEKTtcbiAgICBsZXQgY29udGFpbmVySXRlbURhdGE7XG4gICAgY29uc3QgdGFyZ2V0TmFtZSA9IHRoaXMucENvbm4kLmdldFRhcmdldCgpO1xuICAgIGlmICh0YXJnZXROYW1lKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lck5hbWUgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldEFjdGl2ZUNvbnRhaW5lckl0ZW1OYW1lKHRhcmdldE5hbWUpO1xuICAgICAgY29udGFpbmVySXRlbURhdGEgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldENvbnRhaW5lckl0ZW1EYXRhKHRhcmdldE5hbWUsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHsgQ0FTRSwgUEFHRSwgREFUQSB9ID0gdGhpcy5jb25zdGFudHMuUkVTT1VSQ0VfVFlQRVM7XG4gICAgdGhpcy5DQVNFID0gQ0FTRTtcbiAgICB0aGlzLlBBR0UgPSBQQUdFO1xuICAgIHRoaXMuREFUQSA9IERBVEE7XG5cbiAgICBjb25zdCB7IHJlc291cmNlVHlwZSA9IHRoaXMuQ0FTRSB9ID0gY29udGFpbmVySXRlbURhdGEgfHwgeyByZXNvdXJjZVR5cGU6IHRoaXMubG9hZFZpZXdDYXNlSUQgPyB0aGlzLkNBU0UgOiB0aGlzLlBBR0UgfTtcbiAgICB0aGlzLnJlc291cmNlVHlwZSA9IHJlc291cmNlVHlwZTtcbiAgICB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA9IC9wcmV2aWV3X1swLTldKi9nLnRlc3QodGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG5cbiAgICBjb25zdCB0aGVDb25maWdQcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgdGhpcy5kZWZlckxvYWRJZCA9IHRoZUNvbmZpZ1Byb3BzLmRlZmVyTG9hZElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMubmFtZSB8fCB0aGVDb25maWdQcm9wcy5uYW1lO1xuXG4gICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gIH1cblxuICBnZXRWaWV3T3B0aW9ucyA9ICgpID0+ICh7XG4gICAgdmlld0NvbnRleHQ6IHRoaXMucmVzb3VyY2VUeXBlLFxuICAgIHBhZ2VDbGFzczogdGhpcy5sb2FkVmlld0Nhc2VJRCA/ICcnIDogdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpLnB5UG9ydGFsLmNsYXNzSUQsXG4gICAgY29udGFpbmVyOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICBjb250YWluZXJOYW1lOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICB1cGRhdGVEYXRhOiB0aGlzLmlzQ29udGFpbmVyUHJldmlld1xuICB9KTtcblxuICBvblJlc3BvbnNlKGRhdGEpIHtcbiAgICBpZiAodGhpcy5kZWZlckxvYWRJZCkge1xuICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0YXJ0KFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCksXG4gICAgICAgIHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKS5yZXBsYWNlKCdjYXNlSW5mby5jb250ZW50JywgJycpLFxuICAgICAgICB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpLFxuICAgICAgICB0aGlzLmRlZmVyTG9hZElkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChkYXRhICYmICEoZGF0YS50eXBlICYmIGRhdGEudHlwZSA9PT0gJ2Vycm9yJykpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgbWV0YTogZGF0YSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGNvbnRleHQ6IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgICAgcGFnZVJlZmVyZW5jZTogdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBjb25maWdPYmplY3QgPSBQQ29yZS5jcmVhdGVQQ29ubmVjdChjb25maWcpO1xuICAgICAgY29uZmlnT2JqZWN0LmdldFBDb25uZWN0KCkuc2V0SW5oZXJpdGVkUHJvcCgnZGlzcGxheU1vZGUnLCAnRElTUExBWV9PTkxZJyk7XG4gICAgICB0aGlzLmxvYWRlZFBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubihjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhpcy5sb2FkZWRQQ29ubiQuZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgaWYgKHRoaXMuZGVmZXJMb2FkSWQpIHtcbiAgICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0b3AodGhpcy5kZWZlckxvYWRJZCwgdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbG9hZEFjdGl2ZVRhYigpIHtcbiAgICBpZiAodGhpcy5yZXNvdXJjZVR5cGUgPT09IHRoaXMuREFUQSkge1xuICAgICAgLy8gUmVuZGVyaW5nIGRlZmVyIGxvYWRlZCB0YWJzIGluIGRhdGEgY29udGV4dFxuICAgICAgaWYgKHRoaXMuY29udGFpbmVyTmFtZSkge1xuICAgICAgICBjb25zdCBkYXRhQ29udGV4dCA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dCcsICdkYXRhSW5mbycsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgICAgIGNvbnN0IGRhdGFDb250ZXh0UGFyYW1ldGVycyA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dFBhcmFtZXRlcnMnLCAnZGF0YUluZm8nLCB0aGlzLmNvbnRhaW5lck5hbWUpO1xuXG4gICAgICAgIHRoaXMucENvbm4kXG4gICAgICAgICAgLmdldEFjdGlvbnNBcGkoKVxuICAgICAgICAgIC5zaG93RGF0YSh0aGlzLm5hbWUsIGRhdGFDb250ZXh0LCBkYXRhQ29udGV4dFBhcmFtZXRlcnMsIHtcbiAgICAgICAgICAgIHNraXBTZW1hbnRpY1VybDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBPYmplY3QgbGl0ZXJhbCBtYXkgb25seSBzcGVjaWZ5IGtub3duIHByb3BlcnRpZXMsIGFuZCAnaXNEZWZlckxvYWRlZCcgZG9lcyBub3QgZXhpc3QgaW4gdHlwZSAneyBjb250YWluZXJOYW1lOiBzdHJpbmc7IHNraXBTZW1hbnRpY1VybDogYm9vbGVhbjsgfSdcbiAgICAgICAgICAgIGlzRGVmZXJMb2FkZWQ6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IGxvYWQgdGhlIGRlZmVyIGxvYWRlZCB2aWV3IHdpdGhvdXQgY29udGFpbmVyIGluZm9ybWF0aW9uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5QQUdFKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gY2FzZS8gcGFnZSBjb250ZXh0XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5sb2FkVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgdGhpcy5nZXRWaWV3T3B0aW9ucygpKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5yZWZyZXNoQ2FzZVZpZXcoZW5jb2RlVVJJKHRoaXMubG9hZFZpZXdDYXNlSUQpLCB0aGlzLm5hbWUsICcnKVxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEucm9vdCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxvYWRlZFBDb25uJFwiPlxuICA8Y29tcG9uZW50LW1hcHBlciBbbmFtZV09XCJjb21wb25lbnROYW1lJFwiIFtwcm9wc109XCJ7IHBDb25uJDogbG9hZGVkUENvbm4kIH1cIiBlcnJvck1zZz1cIkRlZmVyIExvYWQgTWlzc2luZzoge3sgY29tcG9uZW50TmFtZSQgfX1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class ErrorBoundaryComponent {
5
- constructor() {
6
- this.localizedVal = window.PCore.getLocaleUtils().getLocaleValue;
7
- this.localeCategory = 'Messages';
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'app-error-boundary', standalone: true, imports: [CommonModule], template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n" }]
15
- }], propDecorators: { message: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYm91bmRhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL2Vycm9yLWJvdW5kYXJ5L2Vycm9yLWJvdW5kYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9lcnJvci1ib3VuZGFyeS9lcnJvci1ib3VuZGFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFVRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQzVELG1CQUFjLEdBQUcsVUFBVSxDQUFDO0tBQzdCOytHQUxZLHNCQUFzQjttR0FBdEIsc0JBQXNCLDhHQ1ZuQyxzREFDQSx5RERPWSxZQUFZOzs0RkFFWCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFHZCxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXJyb3ItYm91bmRhcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3ItYm91bmRhcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lcnJvci1ib3VuZGFyeS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIGxvY2FsaXplZFZhbCA9IHdpbmRvdy5QQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICBsb2NhbGVDYXRlZ29yeSA9ICdNZXNzYWdlcyc7XG59XG4iLCI8cD57eyBsb2NhbGl6ZWRWYWwobWVzc2FnZSwgbG9jYWxlQ2F0ZWdvcnkpIH19PC9wPlxuIl19
@@ -1,80 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { Utils } from '../../../_helpers/utils';
4
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../_helpers/utils";
7
- import * as i2 from "@angular/common";
8
- export class MultiStepComponent {
9
- constructor(utils) {
10
- this.utils = utils;
11
- this.actionButtonClick = new EventEmitter();
12
- this.bShow$ = true;
13
- }
14
- ngOnInit() {
15
- // svg icons
16
- this.svgCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
17
- this.svgNotCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
18
- }
19
- onActionButtonClick(oData) {
20
- this.actionButtonClick.emit(oData);
21
- }
22
- _getVIconClass(status) {
23
- if (status == 'current') {
24
- return 'psdk-vertical-step-icon-selected';
25
- }
26
- return 'psdk-vertical-step-icon';
27
- }
28
- _getVLabelClass(status) {
29
- if (status == 'current') {
30
- return 'psdk-vertical-step-label-selected';
31
- }
32
- return 'psdk-vertical-step-label';
33
- }
34
- _getVBodyClass(index) {
35
- if (index < this.arNavigationSteps$.length - 1) {
36
- return 'psdk-vertical-step-body psdk-vertical-step-line';
37
- }
38
- return 'psdk-vertical-step-body';
39
- }
40
- _getHIconClass(status) {
41
- if (status == 'current') {
42
- return 'psdk-horizontal-step-icon-selected';
43
- }
44
- return 'psdk-horizontal-step-icon';
45
- }
46
- _getHLabelClass(status) {
47
- if (status == 'current') {
48
- return 'psdk-horizontal-step-label-selected';
49
- }
50
- return 'psdk-horizontal-step-label';
51
- }
52
- _showHLine(index) {
53
- return index < this.arNavigationSteps$.length - 1;
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiStepComponent, deps: [{ token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultiStepComponent, isStandalone: true, selector: "app-multi-step", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", bIsVertical$: "bIsVertical$", arCurrentStepIndicies$: "arCurrentStepIndicies$", arNavigationSteps$: "arNavigationSteps$" }, outputs: { actionButtonClick: "actionButtonClick" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div id=\"multi-step-label\" class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:var(--app-primary-color)}.psdk-icon-not-current{color:var(--app-neutral-color)}.psdk-current-svg-icon{width:1rem;filter:var(--app-primary-color-filter)}.psdk-not-current-svg-icon{width:1rem;filter:var(--app-neutral-color-filter)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:var(--app-label-selected-color)}.psdk-sub-step-not-current{padding-left:.625rem;color:var(--app-label-color)}.psdk-flow-container-top{background-color:var(--app-form-color);padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--app-form-color)}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:var(--app-label-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:var(--app-label-selected-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:var(--app-multi-step-border-color)}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;flex-wrap:wrap;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:var(--app-label-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:var(--app-label-selected-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:var(--app-multi-step-border-color);border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiStepComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'app-multi-step', providers: [Utils], standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div id=\"multi-step-label\" class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:var(--app-primary-color)}.psdk-icon-not-current{color:var(--app-neutral-color)}.psdk-current-svg-icon{width:1rem;filter:var(--app-primary-color-filter)}.psdk-not-current-svg-icon{width:1rem;filter:var(--app-neutral-color-filter)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:var(--app-label-selected-color)}.psdk-sub-step-not-current{padding-left:.625rem;color:var(--app-label-color)}.psdk-flow-container-top{background-color:var(--app-form-color);padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--app-form-color)}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:var(--app-label-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:var(--app-label-selected-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:var(--app-multi-step-border-color)}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;flex-wrap:wrap;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:var(--app-label-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:var(--app-label-selected-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:var(--app-multi-step-border-color);border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"] }]
61
- }], ctorParameters: () => [{ type: i1.Utils }], propDecorators: { pConn$: [{
62
- type: Input
63
- }], formGroup$: [{
64
- type: Input
65
- }], arMainButtons$: [{
66
- type: Input
67
- }], arSecondaryButtons$: [{
68
- type: Input
69
- }], arChildren$: [{
70
- type: Input
71
- }], bIsVertical$: [{
72
- type: Input
73
- }], arCurrentStepIndicies$: [{
74
- type: Input
75
- }], arNavigationSteps$: [{
76
- type: Input
77
- }], actionButtonClick: [{
78
- type: Output
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvbXVsdGktc3RlcC9tdWx0aS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9tdWx0aS1zdGVwL211bHRpLXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQVV4RyxNQUFNLE9BQU8sa0JBQWtCO0lBZTdCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTnRCLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXBFLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFFcUIsQ0FBQztJQUVwQyxRQUFRO1FBQ04sWUFBWTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFNO1FBQ25CLElBQUksTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sa0NBQWtDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFNO1FBQ3BCLElBQUksTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sbUNBQW1DLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxpREFBaUQsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7WUFDeEIsT0FBTyxvQ0FBb0MsQ0FBQztRQUM5QyxDQUFDO1FBRUQsT0FBTywyQkFBMkIsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQU07UUFDcEIsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7WUFDeEIsT0FBTyxxQ0FBcUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyw0QkFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FyRVUsa0JBQWtCO21HQUFsQixrQkFBa0IsOFlBSmxCLENBQUMsS0FBSyxDQUFDLDBCQ1ZwQixtNUpBa0dBLDIxSER0RlksWUFBWSwrVEFBbUIsd0JBQXdCOzs0RkFFdEQsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsS0FBSyxDQUFDLGNBQ04sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzBFQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbXVsdGktc3RlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc3RlcC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtVdGlsc10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgYXJNYWluQnV0dG9ucyQ6IGFueVtdO1xuICBASW5wdXQoKSBhclNlY29uZGFyeUJ1dHRvbnMkOiBhbnlbXTtcbiAgQElucHV0KCkgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICBASW5wdXQoKSBiSXNWZXJ0aWNhbCQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFyQ3VycmVudFN0ZXBJbmRpY2llcyQ6IG51bWJlcltdO1xuICBASW5wdXQoKSBhck5hdmlnYXRpb25TdGVwcyQ6IGFueVtdO1xuICBAT3V0cHV0KCkgYWN0aW9uQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN2Z0N1cnJlbnQkOiBzdHJpbmc7XG4gIHN2Z05vdEN1cnJlbnQkOiBzdHJpbmc7XG4gIGJTaG93JCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsczogVXRpbHMpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gc3ZnIGljb25zXG4gICAgdGhpcy5zdmdDdXJyZW50JCA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMoJ2NpcmNsZS1zb2xpZCcsIHRoaXMudXRpbHMuZ2V0U0RLU3RhdGljQ29udGVudFVybCgpKTtcbiAgICB0aGlzLnN2Z05vdEN1cnJlbnQkID0gdGhpcy51dGlscy5nZXRJbWFnZVNyYygnY2lyY2xlLXNvbGlkJywgdGhpcy51dGlscy5nZXRTREtTdGF0aWNDb250ZW50VXJsKCkpO1xuICB9XG5cbiAgb25BY3Rpb25CdXR0b25DbGljayhvRGF0YTogYW55KSB7XG4gICAgdGhpcy5hY3Rpb25CdXR0b25DbGljay5lbWl0KG9EYXRhKTtcbiAgfVxuXG4gIF9nZXRWSWNvbkNsYXNzKHN0YXR1cyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXR1cyA9PSAnY3VycmVudCcpIHtcbiAgICAgIHJldHVybiAncHNkay12ZXJ0aWNhbC1zdGVwLWljb24tc2VsZWN0ZWQnO1xuICAgIH1cblxuICAgIHJldHVybiAncHNkay12ZXJ0aWNhbC1zdGVwLWljb24nO1xuICB9XG5cbiAgX2dldFZMYWJlbENsYXNzKHN0YXR1cyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXR1cyA9PSAnY3VycmVudCcpIHtcbiAgICAgIHJldHVybiAncHNkay12ZXJ0aWNhbC1zdGVwLWxhYmVsLXNlbGVjdGVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1sYWJlbCc7XG4gIH1cblxuICBfZ2V0VkJvZHlDbGFzcyhpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoaW5kZXggPCB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJC5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1ib2R5IHBzZGstdmVydGljYWwtc3RlcC1saW5lJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1ib2R5JztcbiAgfVxuXG4gIF9nZXRISWNvbkNsYXNzKHN0YXR1cyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXR1cyA9PSAnY3VycmVudCcpIHtcbiAgICAgIHJldHVybiAncHNkay1ob3Jpem9udGFsLXN0ZXAtaWNvbi1zZWxlY3RlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdwc2RrLWhvcml6b250YWwtc3RlcC1pY29uJztcbiAgfVxuXG4gIF9nZXRITGFiZWxDbGFzcyhzdGF0dXMpOiBzdHJpbmcge1xuICAgIGlmIChzdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICByZXR1cm4gJ3BzZGstaG9yaXpvbnRhbC1zdGVwLWxhYmVsLXNlbGVjdGVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BzZGstaG9yaXpvbnRhbC1zdGVwLWxhYmVsJztcbiAgfVxuXG4gIF9zaG93SExpbmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA8IHRoaXMuYXJOYXZpZ2F0aW9uU3RlcHMkLmxlbmd0aCAtIDE7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJiU2hvdyRcIj5cbiAgPGRpdiAqbmdJZj1cImJJc1ZlcnRpY2FsJFwiIGNsYXNzPVwicHNkay12ZXJ0aWNhbC1zdGVwcGVyXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbWFpblN0ZXAgb2YgYXJOYXZpZ2F0aW9uU3RlcHMkOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJwc2RrLXZlcnRpY2FsLXN0ZXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwc2RrLXZlcnRpY2FsLXN0ZXAtaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ7eyBfZ2V0Vkljb25DbGFzcyhtYWluU3RlcC52aXNpdGVkX3N0YXR1cykgfX1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHNkay12ZXJ0aWNhbC1zdGVwLWljb24tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwie3sgX2dldFZMYWJlbENsYXNzKG1haW5TdGVwLnZpc2l0ZWRfc3RhdHVzKSB9fVwiPlxuICAgICAgICAgIHt7IG1haW5TdGVwLm5hbWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ7eyBfZ2V0VkJvZHlDbGFzcyhpKSB9fVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFpblN0ZXA/LnN0ZXBzXCI+XG4gICAgICAgICAgPHVsIHN0eWxlPVwicGFkZGluZy1pbmxpbmUtc3RhcnQ6IDByZW07IG1hcmdpbi1sZWZ0OiAtN3B4XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN1YlN0ZXAgb2YgbWFpblN0ZXAuc3RlcHNcIiBjbGFzcz1cInBzZGstc3ViLXN0ZXAtbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstY3VycmVudC1zdmctaWNvblwiIHNyYz1cInt7IHN2Z0N1cnJlbnQkIH19XCIgLz5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyAhPSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstbm90LWN1cnJlbnQtc3ZnLWljb25cIiBzcmM9XCJ7eyBzdmdOb3RDdXJyZW50JCB9fVwiIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstc3ViLXN0ZXAtY3VycmVudFwiPnt7IHN1YlN0ZXAubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyAhPSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstc3ViLXN0ZXAtbm90LWN1cnJlbnRcIj57eyBzdWJTdGVwLm5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCI+XG4gICAgICAgICAgICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJBc3NpZ25tZW50Q2FyZFwiXG4gICAgICAgICAgICAgICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGZvcm1Hcm91cCQsIGFyQ2hpbGRyZW4kLCBhck1haW5CdXR0b25zJCwgYXJTZWNvbmRhcnlCdXR0b25zJCB9XCJcbiAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgICAgICAgICAgICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWFpblN0ZXA/LnN0ZXBzICYmIG1haW5TdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50J1wiPlxuICAgICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgICBuYW1lPVwiQXNzaWdubWVudENhcmRcIlxuICAgICAgICAgICAgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgICAgICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgW291dHB1dEV2ZW50c109XCJ7IGFjdGlvbkJ1dHRvbkNsaWNrOiBvbkFjdGlvbkJ1dHRvbkNsaWNrIH1cIlxuICAgICAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCIhYklzVmVydGljYWwkXCIgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcHBlci1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYWluU3RlcCBvZiBhck5hdmlnYXRpb25TdGVwcyQ7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBzZGstaG9yaXpvbnRhbC1zdGVwLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7eyBfZ2V0SEljb25DbGFzcyhtYWluU3RlcC52aXNpdGVkX3N0YXR1cykgfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcC1pY29uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwibXVsdGktc3RlcC1sYWJlbFwiIGNsYXNzPVwie3sgX2dldEhMYWJlbENsYXNzKG1haW5TdGVwLnZpc2l0ZWRfc3RhdHVzKSB9fVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBzZGstaG9yaXpvbnRhbC1zdGVwLXRleHQtbGFiZWxcIj5cbiAgICAgICAgICAgICAge3sgbWFpblN0ZXAubmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiX3Nob3dITGluZShpKVwiIGNsYXNzPVwicHNkay1ob3Jpem9udGFsLXN0ZXAtbGluZVwiPjwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbWFpblN0ZXAgb2YgYXJOYXZpZ2F0aW9uU3RlcHMkXCIgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcHBlci1ib2R5XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFpblN0ZXA/LnN0ZXBzXCI+XG4gICAgICAgIDx1bCBzdHlsZT1cInBhZGRpbmctaW5saW5lLXN0YXJ0OiAwcmVtOyBtYXJnaW4tbGVmdDogMzVweFwiPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgc3ViU3RlcCBvZiBtYWluU3RlcC5zdGVwc1wiIGNsYXNzPVwicHNkay1zdWItc3RlcC1saXN0XCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWZsZXhcIj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLWN1cnJlbnQtc3ZnLWljb25cIiBzcmM9XCJ7eyBzdmdDdXJyZW50JCB9fVwiIC8+XG4gICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJzdWJTdGVwLnZpc2l0ZWRfc3RhdHVzICE9ICdjdXJyZW50J1wiIGNsYXNzPVwicHNkay1ub3QtY3VycmVudC1zdmctaWNvblwiIHNyYz1cInt7IHN2Z05vdEN1cnJlbnQkIH19XCIgLz5cbiAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstc3ViLXN0ZXAtY3VycmVudFwiPnt7IHN1YlN0ZXAubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgIT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLXN1Yi1zdGVwLW5vdC1jdXJyZW50XCI+e3sgc3ViU3RlcC5uYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCI+XG4gICAgICAgICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgICAgICAgbmFtZT1cIkFzc2lnbm1lbnRDYXJkXCJcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGZvcm1Hcm91cCQsIGFyQ2hpbGRyZW4kLCBhck1haW5CdXR0b25zJCwgYXJTZWNvbmRhcnlCdXR0b25zJCB9XCJcbiAgICAgICAgICAgICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgICAgICAgICAgICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtYWluU3RlcD8uc3RlcHMgJiYgbWFpblN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCI+XG4gICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgbmFtZT1cIkFzc2lnbm1lbnRDYXJkXCJcbiAgICAgICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGZvcm1Hcm91cCQsIGFyQ2hpbGRyZW4kLCBhck1haW5CdXR0b25zJCwgYXJTZWNvbmRhcnlCdXR0b25zJCB9XCJcbiAgICAgICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgICAgICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19