@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,138 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatInputModule } from '@angular/material/input';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
7
- import { MatSort, MatSortModule } from '@angular/material/sort';
8
- import { MatTableDataSource, MatTableModule } from '@angular/material/table';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../../_messages/progress-spinner.service";
11
- import * as i2 from "../../../_helpers/utils";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/form-field";
14
- import * as i5 from "@angular/material/icon";
15
- import * as i6 from "@angular/material/input";
16
- import * as i7 from "@angular/material/table";
17
- import * as i8 from "@angular/material/sort";
18
- import * as i9 from "@angular/material/paginator";
19
- export class RepeatingStructuresComponent {
20
- constructor(psService, utils) {
21
- this.psService = psService;
22
- this.utils = utils;
23
- this.displayedColumns$ = Array();
24
- }
25
- ngOnInit() {
26
- const componentConfig = this.pConn$.getRawMetadata().config || { fields: [] };
27
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
28
- this.fields$ = this.initializeColumns(componentConfig.fields);
29
- const refList = this.configProps$.referenceList;
30
- const tableDataResults = JSON.parse(JSON.stringify(this.pConn$.getValue(refList)));
31
- // update elements like date format
32
- const updatedRefList = this.updateData(tableDataResults, this.fields$);
33
- this.repeatList$ = new MatTableDataSource(updatedRefList);
34
- this.displayedColumns$ = this.getDisplayColumns(this.fields$);
35
- this.repeatList$.paginator = this.paginator;
36
- }
37
- ngAfterViewInit() {
38
- // paginator has to exist for this to work,
39
- // so called after init (paginator drawn)
40
- this.repeatList$.paginator = this.paginator;
41
- this.repeatList$.sort = this.sort;
42
- }
43
- applySearch(event) {
44
- const filterValue = event.target.value;
45
- this.repeatList$.filter = filterValue.trim().toLowerCase();
46
- if (this.repeatList$.paginator) {
47
- this.repeatList$.paginator.firstPage();
48
- }
49
- }
50
- rowClick(row) {
51
- // eslint-disable-next-line sonarjs/no-small-switch
52
- switch (this.configProps$.rowClickAction) {
53
- case 'openAssignment':
54
- this.psService.sendMessage(true);
55
- this.openAssignment(row);
56
- break;
57
- default:
58
- break;
59
- }
60
- }
61
- updateData(listData, fieldData) {
62
- const returnList = new Array();
63
- listData.forEach(row => {
64
- // copy
65
- const rowData = JSON.parse(JSON.stringify(listData[row]));
66
- for (let fieldIndex = 0; fieldIndex < fieldData.length; fieldIndex++) {
67
- if (fieldData[fieldIndex].type == 'date') {
68
- const fieldName = fieldData[fieldIndex].name;
69
- const formattedDate = rowData[fieldName];
70
- // format date
71
- // formattedDate = formattedDate.replace("GMT", "+0000");
72
- this.utils.generateDateTime(formattedDate, 'MMMM D, YYYY h:mm:ss A');
73
- // update
74
- rowData[fieldName] = formattedDate;
75
- }
76
- }
77
- returnList.push(rowData);
78
- });
79
- return returnList;
80
- }
81
- openAssignment(row) {
82
- const { pxRefObjectClass, pzInsKey } = row;
83
- const sTarget = this.pConn$.getContainerName();
84
- const options = { containerName: sTarget };
85
- this.pConn$
86
- .getActionsApi()
87
- .openAssignment(pzInsKey, pxRefObjectClass, options)
88
- .then(() => { });
89
- }
90
- initializeData(data) {
91
- data.forEach((item, idx) => {
92
- item.__original_index = idx;
93
- item.__level = 1;
94
- });
95
- return data;
96
- }
97
- getType(field) {
98
- const { config = {}, type } = field;
99
- const { formatType } = config;
100
- if (formatType === 'datetime' || formatType === 'date') {
101
- // currently cosmos has only support for date ... it also need to support dateTime
102
- return 'date';
103
- }
104
- return type.toLowerCase();
105
- }
106
- initializeColumns(fields = []) {
107
- return fields.map((field, originalColIndex) => ({
108
- ...field,
109
- type: this.getType(field),
110
- name: field.config.value.substring(4),
111
- label: field.config.label.substring(3),
112
- id: originalColIndex,
113
- groupingEnabled: true,
114
- grouped: false,
115
- minWidth: 50,
116
- cellRenderer: this.getType(field) === 'text' ? null : field.type,
117
- filter: true
118
- }));
119
- }
120
- getDisplayColumns(fields = []) {
121
- return fields.map((field) => field.name);
122
- }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RepeatingStructuresComponent, deps: [{ token: i1.ProgressSpinnerService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RepeatingStructuresComponent, isStandalone: true, selector: "app-repeating-structures", inputs: { pConn$: "pConn$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
125
- }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RepeatingStructuresComponent, decorators: [{
127
- type: Component,
128
- args: [{ selector: 'app-repeating-structures', standalone: true, imports: [CommonModule, MatFormFieldModule, MatIconModule, MatInputModule, MatTableModule, MatSortModule, MatPaginatorModule], template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"] }]
129
- }], ctorParameters: () => [{ type: i1.ProgressSpinnerService }, { type: i2.Utils }], propDecorators: { paginator: [{
130
- type: ViewChild,
131
- args: [MatPaginator]
132
- }], sort: [{
133
- type: ViewChild,
134
- args: [MatSort]
135
- }], pConn$: [{
136
- type: Input
137
- }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0aW5nLXN0cnVjdHVyZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL3JlcGVhdGluZy1zdHJ1Y3R1cmVzL3JlcGVhdGluZy1zdHJ1Y3R1cmVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9yZXBlYXRpbmctc3RydWN0dXJlcy9yZXBlYXRpbmctc3RydWN0dXJlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFnQjdFLE1BQU0sT0FBTyw0QkFBNEI7SUFVdkMsWUFDVSxTQUFpQyxFQUNqQyxLQUFZO1FBRFosY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsVUFBSyxHQUFMLEtBQUssQ0FBTztR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QUFDLENBQUM7SUFDaEQsQ0FBQzsrR0FqSVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsNkpBQzVCLFlBQVksdUVBQ1osT0FBTyxnREN6QnBCLHE4QkFxQkEsbU9EQVksWUFBWSwySkFBRSxrQkFBa0IsMFNBQUUsYUFBYSxtTEFBRSxjQUFjLDBXQUFFLGNBQWMsc2dDQUFFLGFBQWEsaWRBQUUsa0JBQWtCOzs0RkFFakgsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLDBCQUEwQixjQUd4QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDOytHQUdwRyxTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNULE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSwgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL3Byb2dyZXNzLXNwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL3V0aWxzJztcblxuaW50ZXJmYWNlIFJlcGVhdGluZ1N0cnVjdHVyZXNQcm9wcyB7XG4gIHJlZmVyZW5jZUxpc3Q/OiBhbnlbXTtcbiAgcm93Q2xpY2tBY3Rpb24/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZXBlYXRpbmctc3RydWN0dXJlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBlYXRpbmctc3RydWN0dXJlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdGluZy1zdHJ1Y3R1cmVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBNYXRTb3J0TW9kdWxlLCBNYXRQYWdpbmF0b3JNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFJlcGVhdGluZ1N0cnVjdHVyZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG5cbiAgY29uZmlnUHJvcHMkOiBSZXBlYXRpbmdTdHJ1Y3R1cmVzUHJvcHM7XG4gIHJlcGVhdExpc3QkOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcbiAgZmllbGRzJDogYW55W107XG4gIGRpc3BsYXllZENvbHVtbnMkID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHNTZXJ2aWNlOiBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbHM6IFV0aWxzXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb25lbnRDb25maWcgPSAodGhpcy5wQ29ubiQuZ2V0UmF3TWV0YWRhdGEoKSBhcyBhbnkpLmNvbmZpZyB8fCB7IGZpZWxkczogW10gfTtcbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKTtcbiAgICB0aGlzLmZpZWxkcyQgPSB0aGlzLmluaXRpYWxpemVDb2x1bW5zKGNvbXBvbmVudENvbmZpZy5maWVsZHMpO1xuXG4gICAgY29uc3QgcmVmTGlzdDogYW55ID0gdGhpcy5jb25maWdQcm9wcyQucmVmZXJlbmNlTGlzdDtcbiAgICBjb25zdCB0YWJsZURhdGFSZXN1bHRzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnBDb25uJC5nZXRWYWx1ZShyZWZMaXN0KSkpO1xuXG4gICAgLy8gdXBkYXRlIGVsZW1lbnRzIGxpa2UgZGF0ZSBmb3JtYXRcbiAgICBjb25zdCB1cGRhdGVkUmVmTGlzdCA9IHRoaXMudXBkYXRlRGF0YSh0YWJsZURhdGFSZXN1bHRzLCB0aGlzLmZpZWxkcyQpO1xuXG4gICAgdGhpcy5yZXBlYXRMaXN0JCA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodXBkYXRlZFJlZkxpc3QpO1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyQgPSB0aGlzLmdldERpc3BsYXlDb2x1bW5zKHRoaXMuZmllbGRzJCk7XG4gICAgdGhpcy5yZXBlYXRMaXN0JC5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBwYWdpbmF0b3IgaGFzIHRvIGV4aXN0IGZvciB0aGlzIHRvIHdvcmssXG4gICAgLy8gc28gY2FsbGVkIGFmdGVyIGluaXQgKHBhZ2luYXRvciBkcmF3bilcbiAgICB0aGlzLnJlcGVhdExpc3QkLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgIHRoaXMucmVwZWF0TGlzdCQuc29ydCA9IHRoaXMuc29ydDtcbiAgfVxuXG4gIGFwcGx5U2VhcmNoKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLnJlcGVhdExpc3QkLmZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHRoaXMucmVwZWF0TGlzdCQucGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLnJlcGVhdExpc3QkLnBhZ2luYXRvci5maXJzdFBhZ2UoKTtcbiAgICB9XG4gIH1cblxuICByb3dDbGljayhyb3cpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1zbWFsbC1zd2l0Y2hcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnUHJvcHMkLnJvd0NsaWNrQWN0aW9uKSB7XG4gICAgICBjYXNlICdvcGVuQXNzaWdubWVudCc6XG4gICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuICAgICAgICB0aGlzLm9wZW5Bc3NpZ25tZW50KHJvdyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRGF0YShsaXN0RGF0YTogYW55W10sIGZpZWxkRGF0YTogYW55W10pOiBhbnlbXSB7XG4gICAgY29uc3QgcmV0dXJuTGlzdDogYW55W10gPSBuZXcgQXJyYXk8YW55PigpO1xuICAgIGxpc3REYXRhLmZvckVhY2gocm93ID0+IHtcbiAgICAgIC8vIGNvcHlcbiAgICAgIGNvbnN0IHJvd0RhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGxpc3REYXRhW3Jvd10pKTtcblxuICAgICAgZm9yIChsZXQgZmllbGRJbmRleCA9IDA7IGZpZWxkSW5kZXggPCBmaWVsZERhdGEubGVuZ3RoOyBmaWVsZEluZGV4KyspIHtcbiAgICAgICAgaWYgKGZpZWxkRGF0YVtmaWVsZEluZGV4XS50eXBlID09ICdkYXRlJykge1xuICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkRGF0YVtmaWVsZEluZGV4XS5uYW1lO1xuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSByb3dEYXRhW2ZpZWxkTmFtZV07XG5cbiAgICAgICAgICAvLyBmb3JtYXQgZGF0ZVxuICAgICAgICAgIC8vIGZvcm1hdHRlZERhdGUgPSBmb3JtYXR0ZWREYXRlLnJlcGxhY2UoXCJHTVRcIiwgXCIrMDAwMFwiKTtcbiAgICAgICAgICB0aGlzLnV0aWxzLmdlbmVyYXRlRGF0ZVRpbWUoZm9ybWF0dGVkRGF0ZSwgJ01NTU0gRCwgWVlZWSBoOm1tOnNzIEEnKTtcblxuICAgICAgICAgIC8vIHVwZGF0ZVxuICAgICAgICAgIHJvd0RhdGFbZmllbGROYW1lXSA9IGZvcm1hdHRlZERhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybkxpc3QucHVzaChyb3dEYXRhKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmV0dXJuTGlzdDtcbiAgfVxuXG4gIG9wZW5Bc3NpZ25tZW50KHJvdykge1xuICAgIGNvbnN0IHsgcHhSZWZPYmplY3RDbGFzcywgcHpJbnNLZXkgfSA9IHJvdztcbiAgICBjb25zdCBzVGFyZ2V0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7IGNvbnRhaW5lck5hbWU6IHNUYXJnZXQgfTtcbiAgICB0aGlzLnBDb25uJFxuICAgICAgLmdldEFjdGlvbnNBcGkoKVxuICAgICAgLm9wZW5Bc3NpZ25tZW50KHB6SW5zS2V5LCBweFJlZk9iamVjdENsYXNzLCBvcHRpb25zKVxuICAgICAgLnRoZW4oKCkgPT4ge30pO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURhdGEoZGF0YSkge1xuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICBpdGVtLl9fb3JpZ2luYWxfaW5kZXggPSBpZHg7XG4gICAgICBpdGVtLl9fbGV2ZWwgPSAxO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBnZXRUeXBlKGZpZWxkKSB7XG4gICAgY29uc3QgeyBjb25maWcgPSB7fSwgdHlwZSB9ID0gZmllbGQ7XG4gICAgY29uc3QgeyBmb3JtYXRUeXBlIH0gPSBjb25maWc7XG4gICAgaWYgKGZvcm1hdFR5cGUgPT09ICdkYXRldGltZScgfHwgZm9ybWF0VHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAvLyBjdXJyZW50bHkgY29zbW9zIGhhcyBvbmx5IHN1cHBvcnQgZm9yIGRhdGUgLi4uIGl0IGFsc28gbmVlZCB0byBzdXBwb3J0IGRhdGVUaW1lXG4gICAgICByZXR1cm4gJ2RhdGUnO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvbHVtbnMoZmllbGRzID0gW10pIHtcbiAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQ6IGFueSwgb3JpZ2luYWxDb2xJbmRleCkgPT4gKHtcbiAgICAgIC4uLmZpZWxkLFxuICAgICAgdHlwZTogdGhpcy5nZXRUeXBlKGZpZWxkKSxcbiAgICAgIG5hbWU6IGZpZWxkLmNvbmZpZy52YWx1ZS5zdWJzdHJpbmcoNCksXG4gICAgICBsYWJlbDogZmllbGQuY29uZmlnLmxhYmVsLnN1YnN0cmluZygzKSxcbiAgICAgIGlkOiBvcmlnaW5hbENvbEluZGV4LFxuICAgICAgZ3JvdXBpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgZ3JvdXBlZDogZmFsc2UsXG4gICAgICBtaW5XaWR0aDogNTAsXG4gICAgICBjZWxsUmVuZGVyZXI6IHRoaXMuZ2V0VHlwZShmaWVsZCkgPT09ICd0ZXh0JyA/IG51bGwgOiBmaWVsZC50eXBlLFxuICAgICAgZmlsdGVyOiB0cnVlXG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0RGlzcGxheUNvbHVtbnMoZmllbGRzOiBhbnlbXSA9IFtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiBmaWVsZC5uYW1lKTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1zZWFyY2hcIj5cbiAgICA8bWF0LWxhYmVsXG4gICAgICA+PG1hdC1pY29uIGNsYXNzPVwicHNkay1pY29uLXNlYXJjaFwiIHN0eWxlPVwidHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB3aWR0aDogMnJlbTsgdmVydGljYWwtYWxpZ246IHN1YlwiIHN2Z0ljb249XCJtYWduaWZ5XCIgbWFzdExpc3RJY29uPjwvbWF0LWljb24+XG4gICAgICBTZWFyY2g8L21hdC1sYWJlbFxuICAgID5cbiAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImFwcGx5U2VhcmNoKCRldmVudClcIiBwbGFjZWhvbGRlcj1cIlwiIC8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJyZXBlYXRMaXN0JFwiIG1hdFNvcnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZENvbCBvZiBmaWVsZHMkXCIgW21hdENvbHVtbkRlZl09XCJkQ29sLm5hbWVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IGRDb2wubGFiZWwgfX08L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50W2RDb2wubmFtZV0gfX08L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zJFwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnMkXCIgKGNsaWNrKT1cInJvd0NsaWNrKHJvdylcIj48L3RyPlxuICA8L3RhYmxlPlxuXG4gIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTAsIDEwMCwgNTAwXVwiIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cbjwvZGl2PlxuIl19
@@ -1,104 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
4
- import { buildMetaForListView, getContext } from '../simple-table-manual/helpers';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../_bridge/angular-pconnect";
7
- import * as i2 from "../../../_helpers/utils";
8
- import * as i3 from "@angular/common";
9
- export class SimpleTableComponent {
10
- constructor(angularPConnect, utils) {
11
- this.angularPConnect = angularPConnect;
12
- this.utils = utils;
13
- this.angularPConnectData = {};
14
- this.bVisible$ = true;
15
- }
16
- ngOnInit() {
17
- // First thing in initialization is registering and subscribing to the AngularPConnect service
18
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
19
- // Then, continue on with other initialization
20
- // call checkAndUpdate when initializing
21
- this.checkAndUpdate();
22
- }
23
- ngOnDestroy() {
24
- if (this.angularPConnectData.unsubscribeFn) {
25
- this.angularPConnectData.unsubscribeFn();
26
- }
27
- }
28
- checkAndUpdate() {
29
- // Should always check the bridge to see if the component should
30
- // update itself (re-render)
31
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
32
- // ONLY call updateSelf when the component should update
33
- if (bUpdateSelf) {
34
- this.updateSelf();
35
- }
36
- }
37
- // updateSelf
38
- updateSelf() {
39
- // moved this from ngOnInit() and call this from there instead...
40
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
41
- if (this.configProps$.visibility != null) {
42
- // eslint-disable-next-line no-multi-assign
43
- this.bVisible$ = this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
44
- }
45
- const { multiRecordDisplayAs } = this.configProps$;
46
- let { contextClass } = this.configProps$;
47
- if (!contextClass) {
48
- let listName = this.pConn$.getComponentConfig().referenceList;
49
- listName = PCore.getAnnotationUtils().getPropertyName(listName);
50
- contextClass = this.pConn$.getFieldMetadata(listName)?.pageClass;
51
- }
52
- if (multiRecordDisplayAs === 'fieldGroup') {
53
- this.fieldGroupProps = { ...this.configProps$, contextClass };
54
- }
55
- const { label: labelProp, propertyLabel, displayMode, fieldMetadata, hideLabel, parameters, isDataObject, type, ruleClass, authorContext, name } = this.configProps$;
56
- const label = labelProp || propertyLabel;
57
- const propsToUse = { label, ...this.pConn$.getInheritedProps() };
58
- const isDisplayModeEnabled = displayMode === 'DISPLAY_ONLY';
59
- if (fieldMetadata && fieldMetadata.type === 'Page List' && fieldMetadata.dataRetrievalType === 'refer') {
60
- const { children: [{ children: rawFields }], parameters: rawParams } = this.pConn$.getRawMetadata().config;
61
- if (isDisplayModeEnabled && hideLabel) {
62
- propsToUse.label = '';
63
- }
64
- const metaForListView = buildMetaForListView(fieldMetadata, rawFields, type, ruleClass, name, propsToUse.label, isDataObject, parameters // resolved params
65
- );
66
- const metaForPConnect = JSON.parse(JSON.stringify(metaForListView));
67
- // @ts-ignore - PCore.getMetadataUtils().getPropertyMetadata - An argument for 'currentClassID' was not provided.
68
- metaForPConnect.config.parameters = rawParams ?? PCore.getMetadataUtils().getPropertyMetadata(name)?.datasource?.parameters;
69
- const { referenceListStr: referenceList } = getContext(this.pConn$);
70
- let requiredContextForQueryInDisplayMode = {};
71
- if (isDisplayModeEnabled) {
72
- requiredContextForQueryInDisplayMode = {
73
- referenceList
74
- };
75
- }
76
- const options = {
77
- context: this.pConn$.getContextName(),
78
- pageReference: this.pConn$.getPageReference(),
79
- ...requiredContextForQueryInDisplayMode
80
- };
81
- this.refToPConnect = PCore.createPConnect({ meta: metaForPConnect, options }).getPConnect();
82
- this.listViewProps = {
83
- ...metaForListView.config,
84
- displayMode,
85
- fieldName: authorContext
86
- };
87
- }
88
- }
89
- // Callback passed when subscribing to store change
90
- onStateChange() {
91
- this.checkAndUpdate();
92
- }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTableComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SimpleTableComponent, isStandalone: true, selector: "app-simple-table", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<ng-container *ngIf=\"bVisible$\">\n <div *ngIf=\"fieldGroupProps || listViewProps; else table\">\n <div *ngIf=\"fieldGroupProps\">\n <component-mapper name=\"FieldGroupTemplate\" [props]=\"{ configProps$: fieldGroupProps, pConn$, formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"listViewProps\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$: refToPConnect, payload: listViewProps }\"></component-mapper>\n </div>\n </div>\n <ng-template #table>\n <component-mapper name=\"SimpleTableManual\" [props]=\"{ pConn$, formGroup$ }\"></component-mapper>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTableComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'app-simple-table', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<ng-container *ngIf=\"bVisible$\">\n <div *ngIf=\"fieldGroupProps || listViewProps; else table\">\n <div *ngIf=\"fieldGroupProps\">\n <component-mapper name=\"FieldGroupTemplate\" [props]=\"{ configProps$: fieldGroupProps, pConn$, formGroup$ }\"></component-mapper>\n </div>\n <div *ngIf=\"listViewProps\">\n <component-mapper name=\"ListView\" [props]=\"{ pConn$: refToPConnect, payload: listViewProps }\"></component-mapper>\n </div>\n </div>\n <ng-template #table>\n <component-mapper name=\"SimpleTableManual\" [props]=\"{ pConn$, formGroup$ }\"></component-mapper>\n </ng-template>\n</ng-container>\n" }]
99
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.Utils }], propDecorators: { pConn$: [{
100
- type: Input
101
- }], formGroup$: [{
102
- type: Input
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUvc2ltcGxlLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUvc2ltcGxlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTJCbEYsTUFBTSxPQUFPLG9CQUFvQjtJQVkvQixZQUNVLGVBQXVDLEVBQ3ZDLEtBQVk7UUFEWixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVZ0Qix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFTZCxDQUFDO0lBRUosUUFBUTtRQUNOLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hHLDhDQUE4QztRQUU5Qyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lB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SUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBdElVLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9JQ2pDakMsNG5CQWFBLDZFRGtCWSxZQUFZLDZLQUFtQix3QkFBd0I7OzRGQUV0RCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsrR0FHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYnVpbGRNZXRhRm9yTGlzdFZpZXcsIGdldENvbnRleHQgfSBmcm9tICcuLi9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMnO1xuXG5pbnRlcmZhY2UgU2ltcGxlVGFibGVQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgbXVsdGlSZWNvcmREaXNwbGF5QXM6IHN0cmluZztcbiAgY29udGV4dENsYXNzOiBhbnk7XG4gIHZpc2liaWxpdHk6IGJvb2xlYW47XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHByb3BlcnR5TGFiZWw6IHN0cmluZztcbiAgZGlzcGxheU1vZGU6IHN0cmluZztcbiAgZmllbGRNZXRhZGF0YTogYW55O1xuICBoaWRlTGFiZWw6IGJvb2xlYW47XG4gIHBhcmFtZXRlcnM6IGFueTtcbiAgaXNEYXRhT2JqZWN0OiBib29sZWFuO1xuICB0eXBlOiBzdHJpbmc7XG4gIHJ1bGVDbGFzczogc3RyaW5nO1xuICBhdXRob3JDb250ZXh0OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNpbXBsZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW1wbGUtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBTaW1wbGVUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG5cbiAgYlZpc2libGUkID0gdHJ1ZTtcbiAgY29uZmlnUHJvcHMkOiBTaW1wbGVUYWJsZVByb3BzO1xuICBmaWVsZEdyb3VwUHJvcHM6IGFueTtcbiAgbGlzdFZpZXdQcm9wczogYW55O1xuICByZWZUb1BDb25uZWN0OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuICAgIC8vIFRoZW4sIGNvbnRpbnVlIG9uIHdpdGggb3RoZXIgaW5pdGlhbGl6YXRpb25cblxuICAgIC8vIGNhbGwgY2hlY2tBbmRVcGRhdGUgd2hlbiBpbml0aWFsaXppbmdcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICAvLyB1cGRhdGVTZWxmXG4gIHVwZGF0ZVNlbGYoKTogdm9pZCB7XG4gICAgLy8gbW92ZWQgdGhpcyBmcm9tIG5nT25Jbml0KCkgYW5kIGNhbGwgdGhpcyBmcm9tIHRoZXJlIGluc3RlYWQuLi5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBTaW1wbGVUYWJsZVByb3BzO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHkgIT0gbnVsbCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW11bHRpLWFzc2lnblxuICAgICAgdGhpcy5iVmlzaWJsZSQgPSB0aGlzLmJWaXNpYmxlJCA9IHRoaXMudXRpbHMuZ2V0Qm9vbGVhblZhbHVlKHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHkpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbXVsdGlSZWNvcmREaXNwbGF5QXMgfSA9IHRoaXMuY29uZmlnUHJvcHMkO1xuICAgIGxldCB7IGNvbnRleHRDbGFzcyB9ID0gdGhpcy5jb25maWdQcm9wcyQ7XG4gICAgaWYgKCFjb250ZXh0Q2xhc3MpIHtcbiAgICAgIGxldCBsaXN0TmFtZSA9IHRoaXMucENvbm4kLmdldENvbXBvbmVudENvbmZpZygpLnJlZmVyZW5jZUxpc3Q7XG4gICAgICBsaXN0TmFtZSA9IFBDb3JlLmdldEFubm90YXRpb25VdGlscygpLmdldFByb3BlcnR5TmFtZShsaXN0TmFtZSk7XG4gICAgICBjb250ZXh0Q2xhc3MgPSB0aGlzLnBDb25uJC5nZXRGaWVsZE1ldGFkYXRhKGxpc3ROYW1lKT8ucGFnZUNsYXNzO1xuICAgIH1cbiAgICBpZiAobXVsdGlSZWNvcmREaXNwbGF5QXMgPT09ICdmaWVsZEdyb3VwJykge1xuICAgICAgdGhpcy5maWVsZEdyb3VwUHJvcHMgPSB7IC4uLnRoaXMuY29uZmlnUHJvcHMkLCBjb250ZXh0Q2xhc3MgfTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBsYWJlbDogbGFiZWxQcm9wLFxuICAgICAgcHJvcGVydHlMYWJlbCxcbiAgICAgIGRpc3BsYXlNb2RlLFxuICAgICAgZmllbGRNZXRhZGF0YSxcbiAgICAgIGhpZGVMYWJlbCxcbiAgICAgIHBhcmFtZXRlcnMsXG4gICAgICBpc0RhdGFPYmplY3QsXG4gICAgICB0eXBlLFxuICAgICAgcnVsZUNsYXNzLFxuICAgICAgYXV0aG9yQ29udGV4dCxcbiAgICAgIG5hbWVcbiAgICB9ID0gdGhpcy5jb25maWdQcm9wcyQ7XG5cbiAgICBjb25zdCBsYWJlbCA9IGxhYmVsUHJvcCB8fCBwcm9wZXJ0eUxhYmVsO1xuXG4gICAgY29uc3QgcHJvcHNUb1VzZSA9IHsgbGFiZWwsIC4uLnRoaXMucENvbm4kLmdldEluaGVyaXRlZFByb3BzKCkgfTtcbiAgICBjb25zdCBpc0Rpc3BsYXlNb2RlRW5hYmxlZCA9IGRpc3BsYXlNb2RlID09PSAnRElTUExBWV9PTkxZJztcblxuICAgIGlmIChmaWVsZE1ldGFkYXRhICYmIGZpZWxkTWV0YWRhdGEudHlwZSA9PT0gJ1BhZ2UgTGlzdCcgJiYgZmllbGRNZXRhZGF0YS5kYXRhUmV0cmlldmFsVHlwZSA9PT0gJ3JlZmVyJykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjaGlsZHJlbjogW3sgY2hpbGRyZW46IHJhd0ZpZWxkcyB9XSxcbiAgICAgICAgcGFyYW1ldGVyczogcmF3UGFyYW1zXG4gICAgICB9ID0gKHRoaXMucENvbm4kLmdldFJhd01ldGFkYXRhKCkgYXMgYW55KS5jb25maWc7XG5cbiAgICAgIGlmIChpc0Rpc3BsYXlNb2RlRW5hYmxlZCAmJiBoaWRlTGFiZWwpIHtcbiAgICAgICAgcHJvcHNUb1VzZS5sYWJlbCA9ICcnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXRhRm9yTGlzdFZpZXcgPSBidWlsZE1ldGFGb3JMaXN0VmlldyhcbiAgICAgICAgZmllbGRNZXRhZGF0YSxcbiAgICAgICAgcmF3RmllbGRzLFxuICAgICAgICB0eXBlLFxuICAgICAgICBydWxlQ2xhc3MsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHByb3BzVG9Vc2UubGFiZWwsXG4gICAgICAgIGlzRGF0YU9iamVjdCxcbiAgICAgICAgcGFyYW1ldGVycyAvLyByZXNvbHZlZCBwYXJhbXNcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IG1ldGFGb3JQQ29ubmVjdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobWV0YUZvckxpc3RWaWV3KSk7XG4gICAgICAvLyBAdHMtaWdub3JlIC0gUENvcmUuZ2V0TWV0YWRhdGFVdGlscygpLmdldFByb3BlcnR5TWV0YWRhdGEgLSBBbiBhcmd1bWVudCBmb3IgJ2N1cnJlbnRDbGFzc0lEJyB3YXMgbm90IHByb3ZpZGVkLlxuICAgICAgbWV0YUZvclBDb25uZWN0LmNvbmZpZy5wYXJhbWV0ZXJzID0gcmF3UGFyYW1zID8/IFBDb3JlLmdldE1ldGFkYXRhVXRpbHMoKS5nZXRQcm9wZXJ0eU1ldGFkYXRhKG5hbWUpPy5kYXRhc291cmNlPy5wYXJhbWV0ZXJzO1xuXG4gICAgICBjb25zdCB7IHJlZmVyZW5jZUxpc3RTdHI6IHJlZmVyZW5jZUxpc3QgfSA9IGdldENvbnRleHQodGhpcy5wQ29ubiQpO1xuICAgICAgbGV0IHJlcXVpcmVkQ29udGV4dEZvclF1ZXJ5SW5EaXNwbGF5TW9kZSA9IHt9O1xuICAgICAgaWYgKGlzRGlzcGxheU1vZGVFbmFibGVkKSB7XG4gICAgICAgIHJlcXVpcmVkQ29udGV4dEZvclF1ZXJ5SW5EaXNwbGF5TW9kZSA9IHtcbiAgICAgICAgICByZWZlcmVuY2VMaXN0XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBjb250ZXh0OiB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpLFxuICAgICAgICBwYWdlUmVmZXJlbmNlOiB0aGlzLnBDb25uJC5nZXRQYWdlUmVmZXJlbmNlKCksXG4gICAgICAgIC4uLnJlcXVpcmVkQ29udGV4dEZvclF1ZXJ5SW5EaXNwbGF5TW9kZVxuICAgICAgfTtcblxuICAgICAgdGhpcy5yZWZUb1BDb25uZWN0ID0gUENvcmUuY3JlYXRlUENvbm5lY3QoeyBtZXRhOiBtZXRhRm9yUENvbm5lY3QsIG9wdGlvbnMgfSkuZ2V0UENvbm5lY3QoKTtcblxuICAgICAgdGhpcy5saXN0Vmlld1Byb3BzID0ge1xuICAgICAgICAuLi5tZXRhRm9yTGlzdFZpZXcuY29uZmlnLFxuICAgICAgICBkaXNwbGF5TW9kZSxcbiAgICAgICAgZmllbGROYW1lOiBhdXRob3JDb250ZXh0XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImJWaXNpYmxlJFwiPlxuICA8ZGl2ICpuZ0lmPVwiZmllbGRHcm91cFByb3BzIHx8IGxpc3RWaWV3UHJvcHM7IGVsc2UgdGFibGVcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZmllbGRHcm91cFByb3BzXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiRmllbGRHcm91cFRlbXBsYXRlXCIgW3Byb3BzXT1cInsgY29uZmlnUHJvcHMkOiBmaWVsZEdyb3VwUHJvcHMsIHBDb25uJCwgZm9ybUdyb3VwJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJsaXN0Vmlld1Byb3BzXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiTGlzdFZpZXdcIiBbcHJvcHNdPVwieyBwQ29ubiQ6IHJlZlRvUENvbm5lY3QsIHBheWxvYWQ6IGxpc3RWaWV3UHJvcHMgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjdGFibGU+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIlNpbXBsZVRhYmxlTWFudWFsXCIgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtR3JvdXAkIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,271 +0,0 @@
1
- import { getSeconds } from '../../../_helpers/common';
2
- export const TABLE_CELL = 'SdkRenderer';
3
- export const DELETE_ICON = 'DeleteIcon';
4
- // BUG-615253: Workaround for autosize in table with lazy loading components
5
- /* istanbul ignore next */
6
- function getFieldWidth(field, label) {
7
- let width;
8
- switch (field.type) {
9
- case 'Time':
10
- width = 150;
11
- break;
12
- case 'Date':
13
- width = 160;
14
- break;
15
- case 'DateTime':
16
- width = 205;
17
- break;
18
- case 'AutoComplete':
19
- case 'TextArea':
20
- width = 190;
21
- break;
22
- case 'Currency':
23
- case 'TextInput':
24
- width = 182;
25
- break;
26
- case 'Checkbox':
27
- // eslint-disable-next-line no-case-declarations
28
- const text = document.createElement('span');
29
- document.body.appendChild(text);
30
- text.style.fontSize = '13px';
31
- text.style.position = 'absolute';
32
- text.innerHTML = label;
33
- width = Math.ceil(text.clientWidth) + 30;
34
- document.body.removeChild(text);
35
- break;
36
- default:
37
- width = 180;
38
- }
39
- return width;
40
- }
41
- export const getContext = thePConn => {
42
- const contextName = thePConn.getContextName();
43
- const pageReference = thePConn.getPageReference();
44
- const { readonlyContextList, referenceList = readonlyContextList } = thePConn.getStateProps()?.config || thePConn.getStateProps();
45
- const pageReferenceForRows = referenceList.startsWith('.') ? `${pageReference}.${referenceList.substring(1)}` : referenceList;
46
- const viewName = thePConn.viewName;
47
- // removing "caseInfo.content" prefix to avoid setting it as a target while preparing pageInstructions
48
- // skipping the removal as StateMachine itself is removing this case info prefix while preparing pageInstructions
49
- // referenceList = pageReferenceForRows.replace(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT, '');
50
- return {
51
- contextName,
52
- referenceListStr: referenceList,
53
- pageReferenceForRows,
54
- viewName
55
- };
56
- };
57
- export const populateRowKey = rawData => {
58
- return rawData.map((row, index) => {
59
- return { ...row, index };
60
- });
61
- };
62
- export const getApiContext = (processedData, pConnect, reorderCB) => {
63
- return {
64
- fetchData: () => {
65
- return new Promise(resolve => {
66
- resolve({
67
- data: processedData,
68
- filteredRecordCount: processedData.length,
69
- totalRecordCount: processedData.length
70
- });
71
- });
72
- },
73
- fetchPersonalizations: () => {
74
- return Promise.resolve({});
75
- },
76
- applyRowReorder: (sourceKey, destinationKey) => {
77
- // indexes are keys for simple table so, it should work.
78
- reorderCB();
79
- return Promise.resolve(pConnect.getListActions().reorder(parseInt(sourceKey, 10), parseInt(destinationKey, 10)));
80
- }
81
- };
82
- };
83
- export const buildMetaForListView = (fieldMetadata, fields, type, ruleClass, name, propertyLabel, isDataObject, parameters) => {
84
- return {
85
- name,
86
- config: {
87
- type,
88
- referenceList: fieldMetadata.datasource.name,
89
- parameters: parameters ?? fieldMetadata.datasource.parameters,
90
- personalization: false,
91
- isDataObject,
92
- grouping: true,
93
- globalSearch: true,
94
- reorderFields: true,
95
- toggleFieldVisibility: true,
96
- title: propertyLabel,
97
- personalizationId: '' /* TODO */,
98
- template: 'ListView',
99
- presets: [
100
- {
101
- name: 'presets',
102
- template: 'Table',
103
- config: {},
104
- children: [
105
- {
106
- name: 'Columns',
107
- type: 'Region',
108
- children: fields
109
- }
110
- ],
111
- label: propertyLabel,
112
- id: 'P_' /* TODO */
113
- }
114
- ],
115
- ruleClass
116
- }
117
- };
118
- };
119
- export const buildFieldsForTable = (configFields, fields, showDeleteButton) => {
120
- const fieldDefs = configFields?.map((field, index) => {
121
- return {
122
- type: 'text',
123
- label: fields[index].config.label || fields[index].config.caption,
124
- fillAvailableSpace: !!field.config.fillAvailableSpace,
125
- id: `${index}`,
126
- name: field.config.value.substr(4),
127
- cellRenderer: TABLE_CELL,
128
- sort: false,
129
- noContextMenu: true,
130
- showMenu: false,
131
- meta: {
132
- ...field
133
- },
134
- // BUG-615253: Workaround for autosize in table with lazy loading components
135
- width: getFieldWidth(field, fields[index].config.label)
136
- };
137
- });
138
- // ONLY add DELETE_ICON to fields when the table is requested as EDITABLE
139
- if (showDeleteButton) {
140
- fieldDefs.push({
141
- type: 'text',
142
- label: '',
143
- name: DELETE_ICON,
144
- id: fieldDefs.length,
145
- cellRenderer: DELETE_ICON,
146
- sort: false,
147
- noContextMenu: true,
148
- showMenu: false,
149
- // BUG-615253: Workaround for autosize in table with lazy loading components
150
- width: 46
151
- });
152
- }
153
- return fieldDefs;
154
- };
155
- export const createMetaForTable = (fields, renderMode) => {
156
- return {
157
- height: {
158
- minHeight: 'auto',
159
- fitHeightToElement: 'fitHeightToElement',
160
- deltaAdjustment: 'deltaAdjustment',
161
- autoSize: true
162
- },
163
- fieldDefs: fields,
164
- itemKey: 'index',
165
- grouping: false,
166
- reorderFields: false,
167
- reorderItems: renderMode === 'Editable',
168
- dragHandle: renderMode === 'Editable',
169
- globalSearch: false,
170
- personalization: false,
171
- toggleFieldVisibility: false,
172
- toolbar: false,
173
- footer: false,
174
- filterExpression: null,
175
- editing: false,
176
- timezone: PCore.getEnvironmentInfo().getTimeZone()
177
- };
178
- };
179
- export const filterDataByDate = (item, filterObj) => {
180
- let bKeep = true;
181
- let value = item[filterObj.ref] != null || item[filterObj.ref] != '' ? getSeconds(item[filterObj.ref]) : null;
182
- let filterValue = filterObj.containsFilterValue != null && filterObj.containsFilterValue != '' ? getSeconds(filterObj.containsFilterValue) : null;
183
- switch (filterObj.containsFilter) {
184
- case 'notequal':
185
- // becasue filterValue is in minutes, need to have a range of less than 60 secons
186
- if (value != null && filterValue != null) {
187
- // get rid of millisecons
188
- value /= 1000;
189
- filterValue /= 1000;
190
- const diff = value - filterValue;
191
- if (diff >= 0 && diff < 60) {
192
- bKeep = false;
193
- }
194
- }
195
- break;
196
- case 'after':
197
- if (value < filterValue) {
198
- bKeep = false;
199
- }
200
- break;
201
- case 'before':
202
- if (value > filterValue) {
203
- bKeep = false;
204
- }
205
- break;
206
- case 'null':
207
- if (value != null) {
208
- bKeep = false;
209
- }
210
- break;
211
- case 'notnull':
212
- if (value == null) {
213
- bKeep = false;
214
- }
215
- break;
216
- default:
217
- break;
218
- }
219
- return bKeep;
220
- };
221
- export const filterDataByCommonFields = (item, filterObj) => {
222
- let bKeep = true;
223
- const value = item[filterObj.ref].toLowerCase();
224
- const filterValue = filterObj.containsFilterValue.toLowerCase();
225
- switch (filterObj.containsFilter) {
226
- case 'contains':
227
- if (value.indexOf(filterValue) < 0) {
228
- bKeep = false;
229
- }
230
- break;
231
- case 'equals':
232
- if (value != filterValue) {
233
- bKeep = false;
234
- }
235
- break;
236
- case 'startswith':
237
- if (value.indexOf(filterValue) != 0) {
238
- bKeep = false;
239
- }
240
- break;
241
- default:
242
- break;
243
- }
244
- return bKeep;
245
- };
246
- /**
247
- * This method returns a callBack function for Add action.
248
- * @param {object} pConnect - PConnect object
249
- * @param {number} index - index of the page list to add
250
- */
251
- export const getAddRowCallback = (pConnect, index) => {
252
- return () => pConnect.getListActions().insert({}, index);
253
- };
254
- /**
255
- * This method creates a PConnect object with proper options for Add and Delete actions
256
- * @param {string} contextName - contextName
257
- * @param {string} referenceList - referenceList
258
- * @param {string} pageReference - pageReference
259
- */
260
- export const createPConnect = (contextName, referenceList, pageReference) => {
261
- const options = {
262
- context: contextName,
263
- pageReference,
264
- referenceList
265
- };
266
- // create PConnect object
267
- const config = { meta: {}, options };
268
- const { getPConnect } = PCore.createPConnect(config);
269
- return getPConnect();
270
- };
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9zaW1wbGUtdGFibGUtbWFudWFsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUV4Qyw0RUFBNEU7QUFDNUUsMEJBQTBCO0FBQzFCLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ2pDLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNO1lBQ1QsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLE1BQU07WUFDVCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDWixNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNaLE1BQU07UUFDUixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLFdBQVc7WUFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ1osTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxH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Q3JDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXJELE9BQU8sV0FBVyxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2Vjb25kcyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9DRUxMID0gJ1Nka1JlbmRlcmVyJztcbmV4cG9ydCBjb25zdCBERUxFVEVfSUNPTiA9ICdEZWxldGVJY29uJztcblxuLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGdldEZpZWxkV2lkdGgoZmllbGQsIGxhYmVsKSB7XG4gIGxldCB3aWR0aDtcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnVGltZSc6XG4gICAgICB3aWR0aCA9IDE1MDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgd2lkdGggPSAxNjA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRlVGltZSc6XG4gICAgICB3aWR0aCA9IDIwNTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0F1dG9Db21wbGV0ZSc6XG4gICAgY2FzZSAnVGV4dEFyZWEnOlxuICAgICAgd2lkdGggPSAxOTA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdDdXJyZW5jeSc6XG4gICAgY2FzZSAnVGV4dElucHV0JzpcbiAgICAgIHdpZHRoID0gMTgyO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnQ2hlY2tib3gnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICBjb25zdCB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0KTtcbiAgICAgIHRleHQuc3R5bGUuZm9udFNpemUgPSAnMTNweCc7XG4gICAgICB0ZXh0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRleHQuaW5uZXJIVE1MID0gbGFiZWw7XG4gICAgICB3aWR0aCA9IE1hdGguY2VpbCh0ZXh0LmNsaWVudFdpZHRoKSArIDMwO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB3aWR0aCA9IDE4MDtcbiAgfVxuICByZXR1cm4gd2lkdGg7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZXh0ID0gdGhlUENvbm4gPT4ge1xuICBjb25zdCBjb250ZXh0TmFtZSA9IHRoZVBDb25uLmdldENvbnRleHROYW1lKCk7XG4gIGNvbnN0IHBhZ2VSZWZlcmVuY2UgPSB0aGVQQ29ubi5nZXRQYWdlUmVmZXJlbmNlKCk7XG4gIGNvbnN0IHsgcmVhZG9ubHlDb250ZXh0TGlzdCwgcmVmZXJlbmNlTGlzdCA9IHJlYWRvbmx5Q29udGV4dExpc3QgfSA9IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKT8uY29uZmlnIHx8IHRoZVBDb25uLmdldFN0YXRlUHJvcHMoKTtcblxuICBjb25zdCBwYWdlUmVmZXJlbmNlRm9yUm93cyA9IHJlZmVyZW5jZUxpc3Quc3RhcnRzV2l0aCgnLicpID8gYCR7cGFnZVJlZmVyZW5jZX0uJHtyZWZlcmVuY2VMaXN0LnN1YnN0cmluZygxKX1gIDogcmVmZXJlbmNlTGlzdDtcbiAgY29uc3Qgdmlld05hbWUgPSB0aGVQQ29ubi52aWV3TmFtZTtcblxuICAvLyByZW1vdmluZyBcImNhc2VJbmZvLmNvbnRlbnRcIiBwcmVmaXggdG8gYXZvaWQgc2V0dGluZyBpdCBhcyBhIHRhcmdldCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyBza2lwcGluZyB0aGUgcmVtb3ZhbCBhcyBTdGF0ZU1hY2hpbmUgaXRzZWxmIGlzIHJlbW92aW5nIHRoaXMgY2FzZSBpbmZvIHByZWZpeCB3aGlsZSBwcmVwYXJpbmcgcGFnZUluc3RydWN0aW9uc1xuICAvLyByZWZlcmVuY2VMaXN0ID0gcGFnZVJlZmVyZW5jZUZvclJvd3MucmVwbGFjZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9JTkZPX0NPTlRFTlQsICcnKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHROYW1lLFxuICAgIHJlZmVyZW5jZUxpc3RTdHI6IHJlZmVyZW5jZUxpc3QsXG4gICAgcGFnZVJlZmVyZW5jZUZvclJvd3MsXG4gICAgdmlld05hbWVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1bGF0ZVJvd0tleSA9IHJhd0RhdGEgPT4ge1xuICByZXR1cm4gcmF3RGF0YS5tYXAoKHJvdywgaW5kZXgpID0+IHtcbiAgICByZXR1cm4geyAuLi5yb3csIGluZGV4IH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFwaUNvbnRleHQgPSAocHJvY2Vzc2VkRGF0YSwgcENvbm5lY3QsIHJlb3JkZXJDQikgPT4ge1xuICByZXR1cm4ge1xuICAgIGZldGNoRGF0YTogKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBkYXRhOiBwcm9jZXNzZWREYXRhLFxuICAgICAgICAgIGZpbHRlcmVkUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsUmVjb3JkQ291bnQ6IHByb2Nlc3NlZERhdGEubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmZXRjaFBlcnNvbmFsaXphdGlvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0sXG4gICAgYXBwbHlSb3dSZW9yZGVyOiAoc291cmNlS2V5LCBkZXN0aW5hdGlvbktleSkgPT4ge1xuICAgICAgLy8gaW5kZXhlcyBhcmUga2V5cyBmb3Igc2ltcGxlIHRhYmxlIHNvLCBpdCBzaG91bGQgd29yay5cbiAgICAgIHJlb3JkZXJDQigpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwQ29ubmVjdC5nZXRMaXN0QWN0aW9ucygpLnJlb3JkZXIocGFyc2VJbnQoc291cmNlS2V5LCAxMCksIHBhcnNlSW50KGRlc3RpbmF0aW9uS2V5LCAxMCkpKTtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRNZXRhRm9yTGlzdFZpZXcgPSAoZmllbGRNZXRhZGF0YSwgZmllbGRzLCB0eXBlLCBydWxlQ2xhc3MsIG5hbWUsIHByb3BlcnR5TGFiZWwsIGlzRGF0YU9iamVjdCwgcGFyYW1ldGVycykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgY29uZmlnOiB7XG4gICAgICB0eXBlLFxuICAgICAgcmVmZXJlbmNlTGlzdDogZmllbGRNZXRhZGF0YS5kYXRhc291cmNlLm5hbWUsXG4gICAgICBwYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzID8/IGZpZWxkTWV0YWRhdGEuZGF0YXNvdXJjZS5wYXJhbWV0ZXJzLFxuICAgICAgcGVyc29uYWxpemF0aW9uOiBmYWxzZSxcbiAgICAgIGlzRGF0YU9iamVjdCxcbiAgICAgIGdyb3VwaW5nOiB0cnVlLFxuICAgICAgZ2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVvcmRlckZpZWxkczogdHJ1ZSxcbiAgICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgIHRpdGxlOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgcGVyc29uYWxpemF0aW9uSWQ6ICcnIC8qIFRPRE8gKi8sXG4gICAgICB0ZW1wbGF0ZTogJ0xpc3RWaWV3JyxcbiAgICAgIHByZXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwcmVzZXRzJyxcbiAgICAgICAgICB0ZW1wbGF0ZTogJ1RhYmxlJyxcbiAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdDb2x1bW5zJyxcbiAgICAgICAgICAgICAgdHlwZTogJ1JlZ2lvbicsXG4gICAgICAgICAgICAgIGNoaWxkcmVuOiBmaWVsZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIGxhYmVsOiBwcm9wZXJ0eUxhYmVsLFxuICAgICAgICAgIGlkOiAnUF8nIC8qIFRPRE8gKi9cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHJ1bGVDbGFzc1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkc0ZvclRhYmxlID0gKGNvbmZpZ0ZpZWxkcywgZmllbGRzLCBzaG93RGVsZXRlQnV0dG9uKSA9PiB7XG4gIGNvbnN0IGZpZWxkRGVmcyA9IGNvbmZpZ0ZpZWxkcz8ubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGFiZWw6IGZpZWxkc1tpbmRleF0uY29uZmlnLmxhYmVsIHx8IGZpZWxkc1tpbmRleF0uY29uZmlnLmNhcHRpb24sXG4gICAgICBmaWxsQXZhaWxhYmxlU3BhY2U6ICEhZmllbGQuY29uZmlnLmZpbGxBdmFpbGFibGVTcGFjZSxcbiAgICAgIGlkOiBgJHtpbmRleH1gLFxuICAgICAgbmFtZTogZmllbGQuY29uZmlnLnZhbHVlLnN1YnN0cig0KSxcbiAgICAgIGNlbGxSZW5kZXJlcjogVEFCTEVfQ0VMTCxcbiAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgbm9Db250ZXh0TWVudTogdHJ1ZSxcbiAgICAgIHNob3dNZW51OiBmYWxzZSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uZmllbGRcbiAgICAgIH0sXG4gICAgICAvLyBCVUctNjE1MjUzOiBXb3JrYXJvdW5kIGZvciBhdXRvc2l6ZSBpbiB0YWJsZSB3aXRoIGxhenkgbG9hZGluZyBjb21wb25lbnRzXG4gICAgICB3aWR0aDogZ2V0RmllbGRXaWR0aChmaWVsZCwgZmllbGRzW2luZGV4XS5jb25maWcubGFiZWwpXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gT05MWSBhZGQgREVMRVRFX0lDT04gdG8gZmllbGRzIHdoZW4gdGhlIHRhYmxlIGlzIHJlcXVlc3RlZCBhcyBFRElUQUJMRVxuICBpZiAoc2hvd0RlbGV0ZUJ1dHRvbikge1xuICAgIGZpZWxkRGVmcy5wdXNoKHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIG5hbWU6IERFTEVURV9JQ09OLFxuICAgICAgaWQ6IGZpZWxkRGVmcy5sZW5ndGgsXG4gICAgICBjZWxsUmVuZGVyZXI6IERFTEVURV9JQ09OLFxuICAgICAgc29ydDogZmFsc2UsXG4gICAgICBub0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc2hvd01lbnU6IGZhbHNlLFxuICAgICAgLy8gQlVHLTYxNTI1MzogV29ya2Fyb3VuZCBmb3IgYXV0b3NpemUgaW4gdGFibGUgd2l0aCBsYXp5IGxvYWRpbmcgY29tcG9uZW50c1xuICAgICAgd2lkdGg6IDQ2XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZmllbGREZWZzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1ldGFGb3JUYWJsZSA9IChmaWVsZHMsIHJlbmRlck1vZGUpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IHtcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgZml0SGVpZ2h0VG9FbGVtZW50OiAnZml0SGVpZ2h0VG9FbGVtZW50JyxcbiAgICAgIGRlbHRhQWRqdXN0bWVudDogJ2RlbHRhQWRqdXN0bWVudCcsXG4gICAgICBhdXRvU2l6ZTogdHJ1ZVxuICAgIH0sXG4gICAgZmllbGREZWZzOiBmaWVsZHMsXG4gICAgaXRlbUtleTogJ2luZGV4JyxcbiAgICBncm91cGluZzogZmFsc2UsXG4gICAgcmVvcmRlckZpZWxkczogZmFsc2UsXG4gICAgcmVvcmRlckl0ZW1zOiByZW5kZXJNb2RlID09PSAnRWRpdGFibGUnLFxuICAgIGRyYWdIYW5kbGU6IHJlbmRlck1vZGUgPT09ICdFZGl0YWJsZScsXG4gICAgZ2xvYmFsU2VhcmNoOiBmYWxzZSxcbiAgICBwZXJzb25hbGl6YXRpb246IGZhbHNlLFxuICAgIHRvZ2dsZUZpZWxkVmlzaWJpbGl0eTogZmFsc2UsXG4gICAgdG9vbGJhcjogZmFsc2UsXG4gICAgZm9vdGVyOiBmYWxzZSxcbiAgICBmaWx0ZXJFeHByZXNzaW9uOiBudWxsLFxuICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgIHRpbWV6b25lOiBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXRUaW1lWm9uZSgpXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRGF0YUJ5RGF0ZSA9IChpdGVtLCBmaWx0ZXJPYmopID0+IHtcbiAgbGV0IGJLZWVwID0gdHJ1ZTtcbiAgbGV0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXSAhPSBudWxsIHx8IGl0ZW1bZmlsdGVyT2JqLnJlZl0gIT0gJycgPyBnZXRTZWNvbmRzKGl0ZW1bZmlsdGVyT2JqLnJlZl0pIDogbnVsbDtcbiAgbGV0IGZpbHRlclZhbHVlID0gZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXJWYWx1ZSAhPSAnJyA/IGdldFNlY29uZHMoZmlsdGVyT2JqLmNvbnRhaW5zRmlsdGVyVmFsdWUpIDogbnVsbDtcblxuICBzd2l0Y2ggKGZpbHRlck9iai5jb250YWluc0ZpbHRlcikge1xuICAgIGNhc2UgJ25vdGVxdWFsJzpcbiAgICAgIC8vIGJlY2FzdWUgZmlsdGVyVmFsdWUgaXMgaW4gbWludXRlcywgbmVlZCB0byBoYXZlIGEgcmFuZ2Ugb2YgbGVzcyB0aGFuIDYwIHNlY29uc1xuXG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiBmaWx0ZXJWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIC8vIGdldCByaWQgb2YgbWlsbGlzZWNvbnNcbiAgICAgICAgdmFsdWUgLz0gMTAwMDtcbiAgICAgICAgZmlsdGVyVmFsdWUgLz0gMTAwMDtcblxuICAgICAgICBjb25zdCBkaWZmID0gdmFsdWUgLSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgaWYgKGRpZmYgPj0gMCAmJiBkaWZmIDwgNjApIHtcbiAgICAgICAgICBiS2VlcCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FmdGVyJzpcbiAgICAgIGlmICh2YWx1ZSA8IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdiZWZvcmUnOlxuICAgICAgaWYgKHZhbHVlID4gZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ251bGwnOlxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdG51bGwnOlxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgYktlZXAgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBiS2VlcDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRhQnlDb21tb25GaWVsZHMgPSAoaXRlbSwgZmlsdGVyT2JqKSA9PiB7XG4gIGxldCBiS2VlcCA9IHRydWU7XG4gIGNvbnN0IHZhbHVlID0gaXRlbVtmaWx0ZXJPYmoucmVmXS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlck9iai5jb250YWluc0ZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgc3dpdGNoIChmaWx0ZXJPYmouY29udGFpbnNGaWx0ZXIpIHtcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPCAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgaWYgKHZhbHVlICE9IGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHN3aXRoJzpcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGZpbHRlclZhbHVlKSAhPSAwKSB7XG4gICAgICAgIGJLZWVwID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYktlZXA7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBjYWxsQmFjayBmdW5jdGlvbiBmb3IgQWRkIGFjdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwQ29ubmVjdCAtIFBDb25uZWN0IG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggb2YgdGhlIHBhZ2UgbGlzdCB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZFJvd0NhbGxiYWNrID0gKHBDb25uZWN0LCBpbmRleCkgPT4ge1xuICByZXR1cm4gKCkgPT4gcENvbm5lY3QuZ2V0TGlzdEFjdGlvbnMoKS5pbnNlcnQoe30sIGluZGV4KTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIFBDb25uZWN0IG9iamVjdCB3aXRoIHByb3BlciBvcHRpb25zIGZvciBBZGQgYW5kIERlbGV0ZSBhY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dE5hbWUgLSBjb250ZXh0TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZUxpc3QgLSByZWZlcmVuY2VMaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGFnZVJlZmVyZW5jZSAtIHBhZ2VSZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVBDb25uZWN0ID0gKGNvbnRleHROYW1lLCByZWZlcmVuY2VMaXN0LCBwYWdlUmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgY29udGV4dDogY29udGV4dE5hbWUsXG4gICAgcGFnZVJlZmVyZW5jZSxcbiAgICByZWZlcmVuY2VMaXN0XG4gIH07XG5cbiAgLy8gY3JlYXRlIFBDb25uZWN0IG9iamVjdFxuICBjb25zdCBjb25maWcgPSB7IG1ldGE6IHt9LCBvcHRpb25zIH07XG4gIGNvbnN0IHsgZ2V0UENvbm5lY3QgfSA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG5cbiAgcmV0dXJuIGdldFBDb25uZWN0KCk7XG59O1xuIl19