vc-create-dashboard 3.0.83 → 3.0.85

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 (178) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/configurations.mjs +7 -7
  3. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -2
  4. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -212
  5. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +350 -350
  6. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -2
  7. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -47
  8. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +37 -37
  9. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -2
  10. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1601 -1520
  11. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +127 -127
  12. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -24
  13. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -36
  14. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -153
  15. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -309
  16. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -2
  17. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -30
  18. package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +37 -37
  19. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -25
  20. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +18 -19
  21. package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +31 -31
  22. package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +13 -13
  23. package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +2 -2
  24. package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +50 -50
  25. package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +23 -23
  26. package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +294 -294
  27. package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +60 -60
  28. package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +27 -27
  29. package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +28 -35
  30. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +224 -149
  31. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -2
  32. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -206
  33. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +233 -238
  34. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +227 -243
  35. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -28
  36. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -440
  37. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -2
  38. package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +181 -181
  39. package/esm2022/lib/create-dashboard.service.mjs +14 -14
  40. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -52
  41. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -2
  42. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -32
  43. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -7
  44. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -17
  45. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -11
  46. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -96
  47. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -20
  48. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -56
  49. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -17
  50. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -57
  51. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -32
  52. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -30
  53. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -29
  54. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -34
  55. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -14
  56. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -119
  57. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -39
  58. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -55
  59. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -19
  60. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -24
  61. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -24
  62. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +18 -18
  63. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -47
  64. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -18
  65. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -130
  66. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -18
  67. package/esm2022/lib/ui-kit/popover/popover.component.mjs +129 -129
  68. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -93
  69. package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -21
  70. package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -23
  71. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -41
  72. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -107
  73. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -21
  74. package/esm2022/lib/ui-kit/select/select.module.mjs +21 -21
  75. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -16
  76. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -52
  77. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -18
  78. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -46
  79. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -18
  80. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -23
  81. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -168
  82. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -18
  83. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -24
  84. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -24
  85. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -19
  86. package/esm2022/public-api.mjs +10 -10
  87. package/esm2022/vc-create-dashboard.mjs +4 -4
  88. package/fesm2022/vc-create-dashboard.mjs +6438 -6333
  89. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  90. package/index.d.ts +5 -5
  91. package/lib/configurations.d.ts +4 -4
  92. package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -18
  93. package/lib/create-dashboard-container/categories/categories.component.d.ts +66 -66
  94. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +113 -113
  95. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -9
  96. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -14
  97. package/lib/create-dashboard-container/constants/assets.constant.d.ts +35 -35
  98. package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -18
  99. package/lib/create-dashboard-container/create-dashboard.component.d.ts +219 -216
  100. package/lib/create-dashboard-container/create-dashboard.module.d.ts +37 -37
  101. package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -8
  102. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -12
  103. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -48
  104. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -39
  105. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -8
  106. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -7
  107. package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +7 -7
  108. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -7
  109. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -7
  110. package/lib/create-dashboard-container/program-list/constant.d.ts +24 -24
  111. package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +6 -6
  112. package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +5 -5
  113. package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +9 -9
  114. package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +7 -7
  115. package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +119 -119
  116. package/lib/create-dashboard-container/program-list/program-list.module.d.ts +17 -17
  117. package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +7 -7
  118. package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +12 -14
  119. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +70 -62
  120. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -18
  121. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +66 -66
  122. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +21 -23
  123. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +80 -82
  124. package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -12
  125. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +123 -123
  126. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -13
  127. package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +16 -16
  128. package/lib/create-dashboard.service.d.ts +6 -6
  129. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -17
  130. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -11
  131. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -10
  132. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
  133. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
  134. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
  135. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
  136. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
  137. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
  138. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
  139. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -20
  140. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -10
  141. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -10
  142. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -13
  143. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -15
  144. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -8
  145. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -36
  146. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -15
  147. package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -17
  148. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -7
  149. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -7
  150. package/lib/ui-kit/loaders/loaders.module.d.ts +8 -8
  151. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -9
  152. package/lib/ui-kit/no-data/no-data.component.d.ts +19 -19
  153. package/lib/ui-kit/no-data/no-data.module.d.ts +8 -8
  154. package/lib/ui-kit/pagination/pagination.component.d.ts +21 -21
  155. package/lib/ui-kit/pagination/pagination.module.d.ts +8 -8
  156. package/lib/ui-kit/popover/popover.component.d.ts +28 -28
  157. package/lib/ui-kit/popover/popover.directive.d.ts +17 -17
  158. package/lib/ui-kit/popover/popover.module.d.ts +9 -9
  159. package/lib/ui-kit/popover/popover.service.d.ts +13 -13
  160. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -16
  161. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -32
  162. package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -10
  163. package/lib/ui-kit/select/select.module.d.ts +11 -11
  164. package/lib/ui-kit/services/cs-select.service.d.ts +7 -7
  165. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -17
  166. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -8
  167. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -17
  168. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
  169. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -9
  170. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -28
  171. package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -8
  172. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -11
  173. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -11
  174. package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -9
  175. package/package.json +1 -1
  176. package/public-api.d.ts +3 -3
  177. package/esm2022/lib/create-dashboard-container/services/auth.service.mjs +0 -31
  178. package/lib/create-dashboard-container/services/auth.service.d.ts +0 -11
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci91c2VyLWxpc3QvdXNlci1saXN0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBkZWZpbmVzIGxpc3Rpbmcgc3RydWN0dXJlIGZvciBSZXVzYWJsZSBsaXN0IGNvbXBvbmVudHNcbiAqL1xuIGV4cG9ydCBpbnRlcmZhY2UgVXNlckxpc3RDb25maWd1cmF0aW9uIHtcbiAgICBzZWxlY3RlZFVzZXJzTGlzdDoge31bXTtcbiAgICBzZWxlY3RlZEdyb3VwTGlzdDp7fVtdO1xuICAgIG5vblJlbW92YWJsZVVzZXJzTGlzdDphbnlbXVxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiBzdHJpbmc7XG4gICAgZGlzcGxheUdyb3VwS2V5OnN0cmluZyxcbiAgICBncm91cElka2V5OnN0cmluZyxcbiAgICBlbGVtZW50SWRLZXk6IHN0cmluZztcbiAgICB0b29sdGlwS2V5OiBzdHJpbmc7XG59Il19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci91c2VyLWxpc3QvdXNlci1saXN0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIGRlZmluZXMgbGlzdGluZyBzdHJ1Y3R1cmUgZm9yIFJldXNhYmxlIGxpc3QgY29tcG9uZW50c1xyXG4gKi9cclxuIGV4cG9ydCBpbnRlcmZhY2UgVXNlckxpc3RDb25maWd1cmF0aW9uIHtcclxuICAgIHNlbGVjdGVkVXNlcnNMaXN0OiB7fVtdO1xyXG4gICAgc2VsZWN0ZWRHcm91cExpc3Q6e31bXTtcclxuICAgIG5vblJlbW92YWJsZVVzZXJzTGlzdDphbnlbXVxyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6IHN0cmluZztcclxuICAgIGRpc3BsYXlHcm91cEtleTpzdHJpbmcsXHJcbiAgICBncm91cElka2V5OnN0cmluZyxcclxuICAgIGVsZW1lbnRJZEtleTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleTogc3RyaW5nO1xyXG59Il19
@@ -1,181 +1,181 @@
1
- /** Shared helpers for custom dashboard create/edit form hydration. */
2
- export function normalizeIdArray(value) {
3
- if (value == null || value === '') {
4
- return [];
5
- }
6
- const items = Array.isArray(value) ? value : [value];
7
- return items
8
- .map((item) => {
9
- if (typeof item === 'number' || typeof item === 'string') {
10
- return Number(item);
11
- }
12
- if (typeof item === 'object' && item != null) {
13
- const obj = item;
14
- return Number(obj['id'] ??
15
- obj['programId'] ??
16
- obj['rcid'] ??
17
- obj['rc_id'] ??
18
- obj['rcId'] ??
19
- obj['item_id']);
20
- }
21
- return NaN;
22
- })
23
- .filter((id) => !Number.isNaN(id));
24
- }
25
- export function extractProgramIdsFromDashboard(data) {
26
- if (!data) {
27
- return [];
28
- }
29
- const direct = normalizeIdArray(data.programs ?? data.programId ?? data.program?.programId ?? data.programIds);
30
- if (direct.length) {
31
- return direct;
32
- }
33
- const allPrograms = data.program?.all_programs;
34
- if (!Array.isArray(allPrograms) || !allPrograms.length) {
35
- return [];
36
- }
37
- if (typeof allPrograms[0] === 'object') {
38
- const fromObjects = [
39
- ...new Set(allPrograms
40
- .map((item) => Number(item?.programId ?? item?.program_id ?? item?.parentId))
41
- .filter((id) => !Number.isNaN(id))),
42
- ];
43
- if (fromObjects.length) {
44
- return fromObjects;
45
- }
46
- return normalizeIdArray(allPrograms);
47
- }
48
- return normalizeIdArray(allPrograms);
49
- }
50
- export function extractCategoryIdsFromDashboard(data) {
51
- if (!data) {
52
- return [];
53
- }
54
- return normalizeIdArray(data.responsibility_category ??
55
- data.responsibilityCategory ??
56
- data.responsibilityCategoryId ??
57
- data.compliance_category ??
58
- data.categoryId ??
59
- data.categoryIds ??
60
- []);
61
- }
62
- export function extractRcIdsFromDashboard(data) {
63
- if (!data) {
64
- return [];
65
- }
66
- const fromRcId = normalizeIdArray(data.rcId);
67
- if (fromRcId.length) {
68
- return fromRcId;
69
- }
70
- return normalizeIdArray(data.responsibilityCenters ??
71
- data.responsibilityCenterId ??
72
- data.responsibility_center ??
73
- data.responsibility_centers ??
74
- data.rcs ??
75
- []);
76
- }
77
- export function hasProgramSelectionInMap(map) {
78
- if (!map || typeof map !== 'object' || Array.isArray(map)) {
79
- return false;
80
- }
81
- return Object.keys(map).some((key) => (map[key] ?? []).length > 0);
82
- }
83
- export function normalizeProgramCategories(categories) {
84
- return categories.map((category) => ({
85
- ...category,
86
- category_id: category.category_id ?? category.id,
87
- item_name: category.item_name ?? category.name,
88
- }));
89
- }
90
- export function flattenProgramSelectionMap(selections) {
91
- return Object.keys(selections ?? {}).reduce((acc, key) => acc.concat(selections[key] ?? []), []);
92
- }
93
- export function normalizeProgramSelectionMap(map) {
94
- const normalized = {};
95
- Object.keys(map ?? {}).forEach((programKey) => {
96
- normalized[String(programKey)] = (map[programKey] ?? []).map((cat) => {
97
- if (typeof cat === 'number' || typeof cat === 'string') {
98
- return {
99
- id: String(cat),
100
- category_id: Number(cat),
101
- };
102
- }
103
- return {
104
- ...cat,
105
- id: String(cat?.id ?? cat?.category_id),
106
- name: cat?.name ?? cat?.item_name,
107
- };
108
- });
109
- });
110
- return hasProgramSelectionInMap(normalized) ? normalized : null;
111
- }
112
- export function resolveCategoryProgramId(cat, complianceCatalog = []) {
113
- const direct = cat?.programId ?? cat?.program_id ?? cat?.parentId ?? cat?.program?.id;
114
- if (direct != null && direct !== '') {
115
- return String(direct);
116
- }
117
- const catId = Number(cat?.category_id ?? cat?.id);
118
- if (!Number.isNaN(catId)) {
119
- const found = complianceCatalog.find((c) => Number(c?.category_id ?? c?.id) === catId);
120
- if (found) {
121
- return String(found?.programId ?? found?.program_id ?? found?.parentId ?? '');
122
- }
123
- }
124
- return '';
125
- }
126
- export function buildProgramSelectionMapFromCategories(categories, complianceCatalog = []) {
127
- const map = {};
128
- (categories ?? []).forEach((cat) => {
129
- const programKey = resolveCategoryProgramId(cat, complianceCatalog);
130
- if (!programKey || programKey === 'undefined' || programKey === 'NaN') {
131
- return;
132
- }
133
- if (!map[programKey]) {
134
- map[programKey] = [];
135
- }
136
- map[programKey].push({
137
- ...cat,
138
- id: String(cat?.id ?? cat?.category_id),
139
- name: cat?.name ?? cat?.item_name,
140
- });
141
- });
142
- return map;
143
- }
144
- export function parseSailsProgramList(res) {
145
- if (Array.isArray(res?.data?.programs)) {
146
- return res.data.programs;
147
- }
148
- if (Array.isArray(res?.programs)) {
149
- return res.programs;
150
- }
151
- return [];
152
- }
153
- export function getEditDashboardCdid(data, dashboardDetails, dashboardId) {
154
- const row = data ?? dashboardDetails ?? {};
155
- const core = row?.dashboard_details ?? row?.dashboard ?? row;
156
- const cdid = core?.cdid ??
157
- core?.cddid ??
158
- row?.cdid ??
159
- row?.cddid ??
160
- dashboardDetails?.cdid ??
161
- dashboardDetails?.cddid;
162
- if (cdid != null && cdid !== '') {
163
- return String(cdid);
164
- }
165
- const fallback = dashboardId ?? '';
166
- if (fallback && !/^\d+$/.test(String(fallback))) {
167
- return String(fallback);
168
- }
169
- return '';
170
- }
171
- export function getSelectedProgramsMap(data) {
172
- const map = data?.program?.selected_programs;
173
- if (map && typeof map === 'object' && !Array.isArray(map)) {
174
- return map;
175
- }
176
- return undefined;
177
- }
178
- export function filterActiveWidgets(widgets) {
179
- return (widgets ?? []).filter((w) => !w?.state || w.state === 'ACTIVE');
180
- }
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWVkaXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvdXRpbHMvZGFzaGJvYXJkLWVkaXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFO0FBSXRFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ2pDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsT0FBTyxLQUFLO1NBQ1QsR0FBRyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7UUFDckIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3hELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUErQixDQUFDO1lBQzVDLE9BQU8sTUFBTSxDQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQztnQkFDWCxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUNaLEdBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1gsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUNqQixDQUFDO1NBQ0g7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztT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QyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDekQsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBYztJQUNoRCxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBTaGFyZWQgaGVscGVycyBmb3IgY3VzdG9tIGRhc2hib2FyZCBjcmVhdGUvZWRpdCBmb3JtIGh5ZHJhdGlvbi4gKi9cblxuZXhwb3J0IHR5cGUgUHJvZ3JhbVNlbGVjdGlvbk1hcCA9IFJlY29yZDxzdHJpbmcsIGFueVtdPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUlkQXJyYXkodmFsdWU6IHVua25vd24pOiBudW1iZXJbXSB7XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICByZXR1cm4gaXRlbXNcbiAgICAubWFwKChpdGVtOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdudW1iZXInIHx8IHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gTnVtYmVyKGl0ZW0pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9IG51bGwpIHtcbiAgICAgICAgY29uc3Qgb2JqID0gaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgcmV0dXJuIE51bWJlcihcbiAgICAgICAgICBvYmpbJ2lkJ10gPz9cbiAgICAgICAgICAgIG9ialsncHJvZ3JhbUlkJ10gPz9cbiAgICAgICAgICAgIG9ialsncmNpZCddID8/XG4gICAgICAgICAgICBvYmpbJ3JjX2lkJ10gPz9cbiAgICAgICAgICAgIG9ialsncmNJZCddID8/XG4gICAgICAgICAgICBvYmpbJ2l0ZW1faWQnXVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE5hTjtcbiAgICB9KVxuICAgIC5maWx0ZXIoKGlkOiBudW1iZXIpID0+ICFOdW1iZXIuaXNOYU4oaWQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RQcm9ncmFtSWRzRnJvbURhc2hib2FyZChkYXRhOiBhbnkpOiBudW1iZXJbXSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBkaXJlY3QgPSBub3JtYWxpemVJZEFycmF5KFxuICAgIGRhdGEucHJvZ3JhbXMgPz8gZGF0YS5wcm9ncmFtSWQgPz8gZGF0YS5wcm9ncmFtPy5wcm9ncmFtSWQgPz8gZGF0YS5wcm9ncmFtSWRzXG4gICk7XG4gIGlmIChkaXJlY3QubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGRpcmVjdDtcbiAgfVxuICBjb25zdCBhbGxQcm9ncmFtcyA9IGRhdGEucHJvZ3JhbT8uYWxsX3Byb2dyYW1zO1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYWxsUHJvZ3JhbXMpIHx8ICFhbGxQcm9ncmFtcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgaWYgKHR5cGVvZiBhbGxQcm9ncmFtc1swXSA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCBmcm9tT2JqZWN0cyA9IFtcbiAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgIGFsbFByb2dyYW1zXG4gICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgICAgICAgTnVtYmVyKGl0ZW0/LnByb2dyYW1JZCA/PyBpdGVtPy5wcm9ncmFtX2lkID8/IGl0ZW0/LnBhcmVudElkKVxuICAgICAgICAgIClcbiAgICAgICAgICAuZmlsdGVyKChpZDogbnVtYmVyKSA9PiAhTnVtYmVyLmlzTmFOKGlkKSlcbiAgICAgICksXG4gICAgXTtcbiAgICBpZiAoZnJvbU9iamVjdHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZnJvbU9iamVjdHM7XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVJZEFycmF5KGFsbFByb2dyYW1zKTtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplSWRBcnJheShhbGxQcm9ncmFtcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0Q2F0ZWdvcnlJZHNGcm9tRGFzaGJvYXJkKGRhdGE6IGFueSk6IG51bWJlcltdIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBub3JtYWxpemVJZEFycmF5KFxuICAgIGRhdGEucmVzcG9uc2liaWxpdHlfY2F0ZWdvcnkgPz9cbiAgICAgIGRhdGEucmVzcG9uc2liaWxpdHlDYXRlZ29yeSA/P1xuICAgICAgZGF0YS5yZXNwb25zaWJpbGl0eUNhdGVnb3J5SWQgPz9cbiAgICAgIGRhdGEuY29tcGxpYW5jZV9jYXRlZ29yeSA/P1xuICAgICAgZGF0YS5jYXRlZ29yeUlkID8/XG4gICAgICBkYXRhLmNhdGVnb3J5SWRzID8/XG4gICAgICBbXVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFJjSWRzRnJvbURhc2hib2FyZChkYXRhOiBhbnkpOiBudW1iZXJbXSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBmcm9tUmNJZCA9IG5vcm1hbGl6ZUlkQXJyYXkoZGF0YS5yY0lkKTtcbiAgaWYgKGZyb21SY0lkLmxlbmd0aCkge1xuICAgIHJldHVybiBmcm9tUmNJZDtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplSWRBcnJheShcbiAgICBkYXRhLnJlc3BvbnNpYmlsaXR5Q2VudGVycyA/P1xuICAgICAgZGF0YS5yZXNwb25zaWJpbGl0eUNlbnRlcklkID8/XG4gICAgICBkYXRhLnJlc3BvbnNpYmlsaXR5X2NlbnRlciA/P1xuICAgICAgZGF0YS5yZXNwb25zaWJpbGl0eV9jZW50ZXJzID8/XG4gICAgICBkYXRhLnJjcyA/P1xuICAgICAgW11cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1Byb2dyYW1TZWxlY3Rpb25Jbk1hcChcbiAgbWFwOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIGlmICghbWFwIHx8IHR5cGVvZiBtYXAgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkobWFwKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMobWFwKS5zb21lKChrZXkpID0+IChtYXBba2V5XSA/PyBbXSkubGVuZ3RoID4gMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVQcm9ncmFtQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gKHtcbiAgICAuLi5jYXRlZ29yeSxcbiAgICBjYXRlZ29yeV9pZDogY2F0ZWdvcnkuY2F0ZWdvcnlfaWQgPz8gY2F0ZWdvcnkuaWQsXG4gICAgaXRlbV9uYW1lOiBjYXRlZ29yeS5pdGVtX25hbWUgPz8gY2F0ZWdvcnkubmFtZSxcbiAgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlblByb2dyYW1TZWxlY3Rpb25NYXAoXG4gIHNlbGVjdGlvbnM6IFByb2dyYW1TZWxlY3Rpb25NYXBcbik6IGFueVtdIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHNlbGVjdGlvbnMgPz8ge30pLnJlZHVjZShcbiAgICAoYWNjOiBhbnlbXSwga2V5OiBzdHJpbmcpID0+IGFjYy5jb25jYXQoc2VsZWN0aW9uc1trZXldID8/IFtdKSxcbiAgICBbXVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUHJvZ3JhbVNlbGVjdGlvbk1hcChcbiAgbWFwOiBQcm9ncmFtU2VsZWN0aW9uTWFwXG4pOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHwgbnVsbCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQ6IFByb2dyYW1TZWxlY3Rpb25NYXAgPSB7fTtcbiAgT2JqZWN0LmtleXMobWFwID8/IHt9KS5mb3JFYWNoKChwcm9ncmFtS2V5KSA9PiB7XG4gICAgbm9ybWFsaXplZFtTdHJpbmcocHJvZ3JhbUtleSldID0gKG1hcFtwcm9ncmFtS2V5XSA/PyBbXSkubWFwKChjYXQpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgY2F0ID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgY2F0ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBTdHJpbmcoY2F0KSxcbiAgICAgICAgICBjYXRlZ29yeV9pZDogTnVtYmVyKGNhdCksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jYXQsXG4gICAgICAgIGlkOiBTdHJpbmcoY2F0Py5pZCA/PyBjYXQ/LmNhdGVnb3J5X2lkKSxcbiAgICAgICAgbmFtZTogY2F0Py5uYW1lID8/IGNhdD8uaXRlbV9uYW1lLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBoYXNQcm9ncmFtU2VsZWN0aW9uSW5NYXAobm9ybWFsaXplZCkgPyBub3JtYWxpemVkIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVDYXRlZ29yeVByb2dyYW1JZChcbiAgY2F0OiBhbnksXG4gIGNvbXBsaWFuY2VDYXRhbG9nOiBhbnlbXSA9IFtdXG4pOiBzdHJpbmcge1xuICBjb25zdCBkaXJlY3QgPVxuICAgIGNhdD8ucHJvZ3JhbUlkID8/IGNhdD8ucHJvZ3JhbV9pZCA/PyBjYXQ/LnBhcmVudElkID8/IGNhdD8ucHJvZ3JhbT8uaWQ7XG4gIGlmIChkaXJlY3QgIT0gbnVsbCAmJiBkaXJlY3QgIT09ICcnKSB7XG4gICAgcmV0dXJuIFN0cmluZyhkaXJlY3QpO1xuICB9XG4gIGNvbnN0IGNhdElkID0gTnVtYmVyKGNhdD8uY2F0ZWdvcnlfaWQgPz8gY2F0Py5pZCk7XG4gIGlmICghTnVtYmVyLmlzTmFOKGNhdElkKSkge1xuICAgIGNvbnN0IGZvdW5kID0gY29tcGxpYW5jZUNhdGFsb2cuZmluZChcbiAgICAgIChjOiBhbnkpID0+IE51bWJlcihjPy5jYXRlZ29yeV9pZCA/PyBjPy5pZCkgPT09IGNhdElkXG4gICAgKTtcbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHJldHVybiBTdHJpbmcoXG4gICAgICAgIGZvdW5kPy5wcm9ncmFtSWQgPz8gZm91bmQ/LnByb2dyYW1faWQgPz8gZm91bmQ/LnBhcmVudElkID8/ICcnXG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFByb2dyYW1TZWxlY3Rpb25NYXBGcm9tQ2F0ZWdvcmllcyhcbiAgY2F0ZWdvcmllczogYW55W10sXG4gIGNvbXBsaWFuY2VDYXRhbG9nOiBhbnlbXSA9IFtdXG4pOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHtcbiAgY29uc3QgbWFwOiBQcm9ncmFtU2VsZWN0aW9uTWFwID0ge307XG4gIChjYXRlZ29yaWVzID8/IFtdKS5mb3JFYWNoKChjYXQpID0+IHtcbiAgICBjb25zdCBwcm9ncmFtS2V5ID0gcmVzb2x2ZUNhdGVnb3J5UHJvZ3JhbUlkKGNhdCwgY29tcGxpYW5jZUNhdGFsb2cpO1xuICAgIGlmICghcHJvZ3JhbUtleSB8fCBwcm9ncmFtS2V5ID09PSAndW5kZWZpbmVkJyB8fCBwcm9ncmFtS2V5ID09PSAnTmFOJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIW1hcFtwcm9ncmFtS2V5XSkge1xuICAgICAgbWFwW3Byb2dyYW1LZXldID0gW107XG4gICAgfVxuICAgIG1hcFtwcm9ncmFtS2V5XS5wdXNoKHtcbiAgICAgIC4uLmNhdCxcbiAgICAgIGlkOiBTdHJpbmcoY2F0Py5pZCA/PyBjYXQ/LmNhdGVnb3J5X2lkKSxcbiAgICAgIG5hbWU6IGNhdD8ubmFtZSA/PyBjYXQ/Lml0ZW1fbmFtZSxcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBtYXA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNhaWxzUHJvZ3JhbUxpc3QocmVzOiBhbnkpOiBhbnlbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHJlcz8uZGF0YT8ucHJvZ3JhbXMpKSB7XG4gICAgcmV0dXJuIHJlcy5kYXRhLnByb2dyYW1zO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHJlcz8ucHJvZ3JhbXMpKSB7XG4gICAgcmV0dXJuIHJlcy5wcm9ncmFtcztcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0RGFzaGJvYXJkQ2RpZChcbiAgZGF0YTogYW55LFxuICBkYXNoYm9hcmREZXRhaWxzOiBhbnksXG4gIGRhc2hib2FyZElkOiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIGNvbnN0IHJvdyA9IGRhdGEgPz8gZGFzaGJvYXJkRGV0YWlscyA/PyB7fTtcbiAgY29uc3QgY29yZSA9IHJvdz8uZGFzaGJvYXJkX2RldGFpbHMgPz8gcm93Py5kYXNoYm9hcmQgPz8gcm93O1xuICBjb25zdCBjZGlkID1cbiAgICBjb3JlPy5jZGlkID8/XG4gICAgY29yZT8uY2RkaWQgPz9cbiAgICByb3c/LmNkaWQgPz9cbiAgICByb3c/LmNkZGlkID8/XG4gICAgZGFzaGJvYXJkRGV0YWlscz8uY2RpZCA/P1xuICAgIGRhc2hib2FyZERldGFpbHM/LmNkZGlkO1xuICBpZiAoY2RpZCAhPSBudWxsICYmIGNkaWQgIT09ICcnKSB7XG4gICAgcmV0dXJuIFN0cmluZyhjZGlkKTtcbiAgfVxuICBjb25zdCBmYWxsYmFjayA9IGRhc2hib2FyZElkID8/ICcnO1xuICBpZiAoZmFsbGJhY2sgJiYgIS9eXFxkKyQvLnRlc3QoU3RyaW5nKGZhbGxiYWNrKSkpIHtcbiAgICByZXR1cm4gU3RyaW5nKGZhbGxiYWNrKTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RlZFByb2dyYW1zTWFwKFxuICBkYXRhOiBhbnlcbik6IFByb2dyYW1TZWxlY3Rpb25NYXAgfCB1bmRlZmluZWQge1xuICBjb25zdCBtYXAgPSBkYXRhPy5wcm9ncmFtPy5zZWxlY3RlZF9wcm9ncmFtcztcbiAgaWYgKG1hcCAmJiB0eXBlb2YgbWFwID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShtYXApKSB7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyQWN0aXZlV2lkZ2V0cyh3aWRnZXRzOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuICh3aWRnZXRzID8/IFtdKS5maWx0ZXIoKHcpID0+ICF3Py5zdGF0ZSB8fCB3LnN0YXRlID09PSAnQUNUSVZFJyk7XG59XG4iXX0=
1
+ /** Shared helpers for custom dashboard create/edit form hydration. */
2
+ export function normalizeIdArray(value) {
3
+ if (value == null || value === '') {
4
+ return [];
5
+ }
6
+ const items = Array.isArray(value) ? value : [value];
7
+ return items
8
+ .map((item) => {
9
+ if (typeof item === 'number' || typeof item === 'string') {
10
+ return Number(item);
11
+ }
12
+ if (typeof item === 'object' && item != null) {
13
+ const obj = item;
14
+ return Number(obj['id'] ??
15
+ obj['programId'] ??
16
+ obj['rcid'] ??
17
+ obj['rc_id'] ??
18
+ obj['rcId'] ??
19
+ obj['item_id']);
20
+ }
21
+ return NaN;
22
+ })
23
+ .filter((id) => !Number.isNaN(id));
24
+ }
25
+ export function extractProgramIdsFromDashboard(data) {
26
+ if (!data) {
27
+ return [];
28
+ }
29
+ const direct = normalizeIdArray(data.programs ?? data.programId ?? data.program?.programId ?? data.programIds);
30
+ if (direct.length) {
31
+ return direct;
32
+ }
33
+ const allPrograms = data.program?.all_programs;
34
+ if (!Array.isArray(allPrograms) || !allPrograms.length) {
35
+ return [];
36
+ }
37
+ if (typeof allPrograms[0] === 'object') {
38
+ const fromObjects = [
39
+ ...new Set(allPrograms
40
+ .map((item) => Number(item?.programId ?? item?.program_id ?? item?.parentId))
41
+ .filter((id) => !Number.isNaN(id))),
42
+ ];
43
+ if (fromObjects.length) {
44
+ return fromObjects;
45
+ }
46
+ return normalizeIdArray(allPrograms);
47
+ }
48
+ return normalizeIdArray(allPrograms);
49
+ }
50
+ export function extractCategoryIdsFromDashboard(data) {
51
+ if (!data) {
52
+ return [];
53
+ }
54
+ return normalizeIdArray(data.responsibility_category ??
55
+ data.responsibilityCategory ??
56
+ data.responsibilityCategoryId ??
57
+ data.compliance_category ??
58
+ data.categoryId ??
59
+ data.categoryIds ??
60
+ []);
61
+ }
62
+ export function extractRcIdsFromDashboard(data) {
63
+ if (!data) {
64
+ return [];
65
+ }
66
+ const fromRcId = normalizeIdArray(data.rcId);
67
+ if (fromRcId.length) {
68
+ return fromRcId;
69
+ }
70
+ return normalizeIdArray(data.responsibilityCenters ??
71
+ data.responsibilityCenterId ??
72
+ data.responsibility_center ??
73
+ data.responsibility_centers ??
74
+ data.rcs ??
75
+ []);
76
+ }
77
+ export function hasProgramSelectionInMap(map) {
78
+ if (!map || typeof map !== 'object' || Array.isArray(map)) {
79
+ return false;
80
+ }
81
+ return Object.keys(map).some((key) => (map[key] ?? []).length > 0);
82
+ }
83
+ export function normalizeProgramCategories(categories) {
84
+ return categories.map((category) => ({
85
+ ...category,
86
+ category_id: category.category_id ?? category.id,
87
+ item_name: category.item_name ?? category.name,
88
+ }));
89
+ }
90
+ export function flattenProgramSelectionMap(selections) {
91
+ return Object.keys(selections ?? {}).reduce((acc, key) => acc.concat(selections[key] ?? []), []);
92
+ }
93
+ export function normalizeProgramSelectionMap(map) {
94
+ const normalized = {};
95
+ Object.keys(map ?? {}).forEach((programKey) => {
96
+ normalized[String(programKey)] = (map[programKey] ?? []).map((cat) => {
97
+ if (typeof cat === 'number' || typeof cat === 'string') {
98
+ return {
99
+ id: String(cat),
100
+ category_id: Number(cat),
101
+ };
102
+ }
103
+ return {
104
+ ...cat,
105
+ id: String(cat?.id ?? cat?.category_id),
106
+ name: cat?.name ?? cat?.item_name,
107
+ };
108
+ });
109
+ });
110
+ return hasProgramSelectionInMap(normalized) ? normalized : null;
111
+ }
112
+ export function resolveCategoryProgramId(cat, complianceCatalog = []) {
113
+ const direct = cat?.programId ?? cat?.program_id ?? cat?.parentId ?? cat?.program?.id;
114
+ if (direct != null && direct !== '') {
115
+ return String(direct);
116
+ }
117
+ const catId = Number(cat?.category_id ?? cat?.id);
118
+ if (!Number.isNaN(catId)) {
119
+ const found = complianceCatalog.find((c) => Number(c?.category_id ?? c?.id) === catId);
120
+ if (found) {
121
+ return String(found?.programId ?? found?.program_id ?? found?.parentId ?? '');
122
+ }
123
+ }
124
+ return '';
125
+ }
126
+ export function buildProgramSelectionMapFromCategories(categories, complianceCatalog = []) {
127
+ const map = {};
128
+ (categories ?? []).forEach((cat) => {
129
+ const programKey = resolveCategoryProgramId(cat, complianceCatalog);
130
+ if (!programKey || programKey === 'undefined' || programKey === 'NaN') {
131
+ return;
132
+ }
133
+ if (!map[programKey]) {
134
+ map[programKey] = [];
135
+ }
136
+ map[programKey].push({
137
+ ...cat,
138
+ id: String(cat?.id ?? cat?.category_id),
139
+ name: cat?.name ?? cat?.item_name,
140
+ });
141
+ });
142
+ return map;
143
+ }
144
+ export function parseSailsProgramList(res) {
145
+ if (Array.isArray(res?.data?.programs)) {
146
+ return res.data.programs;
147
+ }
148
+ if (Array.isArray(res?.programs)) {
149
+ return res.programs;
150
+ }
151
+ return [];
152
+ }
153
+ export function getEditDashboardCdid(data, dashboardDetails, dashboardId) {
154
+ const row = data ?? dashboardDetails ?? {};
155
+ const core = row?.dashboard_details ?? row?.dashboard ?? row;
156
+ const cdid = core?.cdid ??
157
+ core?.cddid ??
158
+ row?.cdid ??
159
+ row?.cddid ??
160
+ dashboardDetails?.cdid ??
161
+ dashboardDetails?.cddid;
162
+ if (cdid != null && cdid !== '') {
163
+ return String(cdid);
164
+ }
165
+ const fallback = dashboardId ?? '';
166
+ if (fallback && !/^\d+$/.test(String(fallback))) {
167
+ return String(fallback);
168
+ }
169
+ return '';
170
+ }
171
+ export function getSelectedProgramsMap(data) {
172
+ const map = data?.program?.selected_programs;
173
+ if (map && typeof map === 'object' && !Array.isArray(map)) {
174
+ return map;
175
+ }
176
+ return undefined;
177
+ }
178
+ export function filterActiveWidgets(widgets) {
179
+ return (widgets ?? []).filter((w) => !w?.state || w.state === 'ACTIVE');
180
+ }
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWVkaXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvdXRpbHMvZGFzaGJvYXJkLWVkaXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFO0FBSXRFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ2pDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsT0FBTyxLQUFLO1NBQ1QsR0FBRyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7UUFDckIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3hELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUErQixDQUFDO1lBQzVDLE9BQU8sTUFBTSxDQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQztnQkFDWCxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUNaLEdBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1gsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUNqQixDQUFDO1NBQ0g7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztT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QyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDekQsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBYztJQUNoRCxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBTaGFyZWQgaGVscGVycyBmb3IgY3VzdG9tIGRhc2hib2FyZCBjcmVhdGUvZWRpdCBmb3JtIGh5ZHJhdGlvbi4gKi9cclxuXHJcbmV4cG9ydCB0eXBlIFByb2dyYW1TZWxlY3Rpb25NYXAgPSBSZWNvcmQ8c3RyaW5nLCBhbnlbXT47XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSWRBcnJheSh2YWx1ZTogdW5rbm93bik6IG51bWJlcltdIHtcclxuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgY29uc3QgaXRlbXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICByZXR1cm4gaXRlbXNcclxuICAgIC5tYXAoKGl0ZW06IHVua25vd24pID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgaXRlbSAhPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3Qgb2JqID0gaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKFxyXG4gICAgICAgICAgb2JqWydpZCddID8/XHJcbiAgICAgICAgICAgIG9ialsncHJvZ3JhbUlkJ10gPz9cclxuICAgICAgICAgICAgb2JqWydyY2lkJ10gPz9cclxuICAgICAgICAgICAgb2JqWydyY19pZCddID8/XHJcbiAgICAgICAgICAgIG9ialsncmNJZCddID8/XHJcbiAgICAgICAgICAgIG9ialsnaXRlbV9pZCddXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTmFOO1xyXG4gICAgfSlcclxuICAgIC5maWx0ZXIoKGlkOiBudW1iZXIpID0+ICFOdW1iZXIuaXNOYU4oaWQpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RQcm9ncmFtSWRzRnJvbURhc2hib2FyZChkYXRhOiBhbnkpOiBudW1iZXJbXSB7XHJcbiAgaWYgKCFkYXRhKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGNvbnN0IGRpcmVjdCA9IG5vcm1hbGl6ZUlkQXJyYXkoXHJcbiAgICBkYXRhLnByb2dyYW1zID8/IGRhdGEucHJvZ3JhbUlkID8/IGRhdGEucHJvZ3JhbT8ucHJvZ3JhbUlkID8/IGRhdGEucHJvZ3JhbUlkc1xyXG4gICk7XHJcbiAgaWYgKGRpcmVjdC5sZW5ndGgpIHtcclxuICAgIHJldHVybiBkaXJlY3Q7XHJcbiAgfVxyXG4gIGNvbnN0IGFsbFByb2dyYW1zID0gZGF0YS5wcm9ncmFtPy5hbGxfcHJvZ3JhbXM7XHJcbiAgaWYgKCFBcnJheS5pc0FycmF5KGFsbFByb2dyYW1zKSB8fCAhYWxsUHJvZ3JhbXMubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGlmICh0eXBlb2YgYWxsUHJvZ3JhbXNbMF0gPT09ICdvYmplY3QnKSB7XHJcbiAgICBjb25zdCBmcm9tT2JqZWN0cyA9IFtcclxuICAgICAgLi4ubmV3IFNldChcclxuICAgICAgICBhbGxQcm9ncmFtc1xyXG4gICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PlxyXG4gICAgICAgICAgICBOdW1iZXIoaXRlbT8ucHJvZ3JhbUlkID8/IGl0ZW0/LnByb2dyYW1faWQgPz8gaXRlbT8ucGFyZW50SWQpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuZmlsdGVyKChpZDogbnVtYmVyKSA9PiAhTnVtYmVyLmlzTmFOKGlkKSlcclxuICAgICAgKSxcclxuICAgIF07XHJcbiAgICBpZiAoZnJvbU9iamVjdHMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmcm9tT2JqZWN0cztcclxuICAgIH1cclxuICAgIHJldHVybiBub3JtYWxpemVJZEFycmF5KGFsbFByb2dyYW1zKTtcclxuICB9XHJcbiAgcmV0dXJuIG5vcm1hbGl6ZUlkQXJyYXkoYWxsUHJvZ3JhbXMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdENhdGVnb3J5SWRzRnJvbURhc2hib2FyZChkYXRhOiBhbnkpOiBudW1iZXJbXSB7XHJcbiAgaWYgKCFkYXRhKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIHJldHVybiBub3JtYWxpemVJZEFycmF5KFxyXG4gICAgZGF0YS5yZXNwb25zaWJpbGl0eV9jYXRlZ29yeSA/P1xyXG4gICAgICBkYXRhLnJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnkgPz9cclxuICAgICAgZGF0YS5yZXNwb25zaWJpbGl0eUNhdGVnb3J5SWQgPz9cclxuICAgICAgZGF0YS5jb21wbGlhbmNlX2NhdGVnb3J5ID8/XHJcbiAgICAgIGRhdGEuY2F0ZWdvcnlJZCA/P1xyXG4gICAgICBkYXRhLmNhdGVnb3J5SWRzID8/XHJcbiAgICAgIFtdXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RSY0lkc0Zyb21EYXNoYm9hcmQoZGF0YTogYW55KTogbnVtYmVyW10ge1xyXG4gIGlmICghZGF0YSkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBjb25zdCBmcm9tUmNJZCA9IG5vcm1hbGl6ZUlkQXJyYXkoZGF0YS5yY0lkKTtcclxuICBpZiAoZnJvbVJjSWQubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gZnJvbVJjSWQ7XHJcbiAgfVxyXG4gIHJldHVybiBub3JtYWxpemVJZEFycmF5KFxyXG4gICAgZGF0YS5yZXNwb25zaWJpbGl0eUNlbnRlcnMgPz9cclxuICAgICAgZGF0YS5yZXNwb25zaWJpbGl0eUNlbnRlcklkID8/XHJcbiAgICAgIGRhdGEucmVzcG9uc2liaWxpdHlfY2VudGVyID8/XHJcbiAgICAgIGRhdGEucmVzcG9uc2liaWxpdHlfY2VudGVycyA/P1xyXG4gICAgICBkYXRhLnJjcyA/P1xyXG4gICAgICBbXVxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYXNQcm9ncmFtU2VsZWN0aW9uSW5NYXAoXHJcbiAgbWFwOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHwgbnVsbCB8IHVuZGVmaW5lZFxyXG4pOiBib29sZWFuIHtcclxuICBpZiAoIW1hcCB8fCB0eXBlb2YgbWFwICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KG1hcCkpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkuc29tZSgoa2V5KSA9PiAobWFwW2tleV0gPz8gW10pLmxlbmd0aCA+IDApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUHJvZ3JhbUNhdGVnb3JpZXMoY2F0ZWdvcmllczogYW55W10pOiBhbnlbXSB7XHJcbiAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gKHtcclxuICAgIC4uLmNhdGVnb3J5LFxyXG4gICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5LmNhdGVnb3J5X2lkID8/IGNhdGVnb3J5LmlkLFxyXG4gICAgaXRlbV9uYW1lOiBjYXRlZ29yeS5pdGVtX25hbWUgPz8gY2F0ZWdvcnkubmFtZSxcclxuICB9KSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUHJvZ3JhbVNlbGVjdGlvbk1hcChcclxuICBzZWxlY3Rpb25zOiBQcm9ncmFtU2VsZWN0aW9uTWFwXHJcbik6IGFueVtdIHtcclxuICByZXR1cm4gT2JqZWN0LmtleXMoc2VsZWN0aW9ucyA/PyB7fSkucmVkdWNlKFxyXG4gICAgKGFjYzogYW55W10sIGtleTogc3RyaW5nKSA9PiBhY2MuY29uY2F0KHNlbGVjdGlvbnNba2V5XSA/PyBbXSksXHJcbiAgICBbXVxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVQcm9ncmFtU2VsZWN0aW9uTWFwKFxyXG4gIG1hcDogUHJvZ3JhbVNlbGVjdGlvbk1hcFxyXG4pOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHwgbnVsbCB7XHJcbiAgY29uc3Qgbm9ybWFsaXplZDogUHJvZ3JhbVNlbGVjdGlvbk1hcCA9IHt9O1xyXG4gIE9iamVjdC5rZXlzKG1hcCA/PyB7fSkuZm9yRWFjaCgocHJvZ3JhbUtleSkgPT4ge1xyXG4gICAgbm9ybWFsaXplZFtTdHJpbmcocHJvZ3JhbUtleSldID0gKG1hcFtwcm9ncmFtS2V5XSA/PyBbXSkubWFwKChjYXQpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiBjYXQgPT09ICdudW1iZXInIHx8IHR5cGVvZiBjYXQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkOiBTdHJpbmcoY2F0KSxcclxuICAgICAgICAgIGNhdGVnb3J5X2lkOiBOdW1iZXIoY2F0KSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uY2F0LFxyXG4gICAgICAgIGlkOiBTdHJpbmcoY2F0Py5pZCA/PyBjYXQ/LmNhdGVnb3J5X2lkKSxcclxuICAgICAgICBuYW1lOiBjYXQ/Lm5hbWUgPz8gY2F0Py5pdGVtX25hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9KTtcclxuICByZXR1cm4gaGFzUHJvZ3JhbVNlbGVjdGlvbkluTWFwKG5vcm1hbGl6ZWQpID8gbm9ybWFsaXplZCA6IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQ2F0ZWdvcnlQcm9ncmFtSWQoXHJcbiAgY2F0OiBhbnksXHJcbiAgY29tcGxpYW5jZUNhdGFsb2c6IGFueVtdID0gW11cclxuKTogc3RyaW5nIHtcclxuICBjb25zdCBkaXJlY3QgPVxyXG4gICAgY2F0Py5wcm9ncmFtSWQgPz8gY2F0Py5wcm9ncmFtX2lkID8/IGNhdD8ucGFyZW50SWQgPz8gY2F0Py5wcm9ncmFtPy5pZDtcclxuICBpZiAoZGlyZWN0ICE9IG51bGwgJiYgZGlyZWN0ICE9PSAnJykge1xyXG4gICAgcmV0dXJuIFN0cmluZyhkaXJlY3QpO1xyXG4gIH1cclxuICBjb25zdCBjYXRJZCA9IE51bWJlcihjYXQ/LmNhdGVnb3J5X2lkID8/IGNhdD8uaWQpO1xyXG4gIGlmICghTnVtYmVyLmlzTmFOKGNhdElkKSkge1xyXG4gICAgY29uc3QgZm91bmQgPSBjb21wbGlhbmNlQ2F0YWxvZy5maW5kKFxyXG4gICAgICAoYzogYW55KSA9PiBOdW1iZXIoYz8uY2F0ZWdvcnlfaWQgPz8gYz8uaWQpID09PSBjYXRJZFxyXG4gICAgKTtcclxuICAgIGlmIChmb3VuZCkge1xyXG4gICAgICByZXR1cm4gU3RyaW5nKFxyXG4gICAgICAgIGZvdW5kPy5wcm9ncmFtSWQgPz8gZm91bmQ/LnByb2dyYW1faWQgPz8gZm91bmQ/LnBhcmVudElkID8/ICcnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiAnJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHJvZ3JhbVNlbGVjdGlvbk1hcEZyb21DYXRlZ29yaWVzKFxyXG4gIGNhdGVnb3JpZXM6IGFueVtdLFxyXG4gIGNvbXBsaWFuY2VDYXRhbG9nOiBhbnlbXSA9IFtdXHJcbik6IFByb2dyYW1TZWxlY3Rpb25NYXAge1xyXG4gIGNvbnN0IG1hcDogUHJvZ3JhbVNlbGVjdGlvbk1hcCA9IHt9O1xyXG4gIChjYXRlZ29yaWVzID8/IFtdKS5mb3JFYWNoKChjYXQpID0+IHtcclxuICAgIGNvbnN0IHByb2dyYW1LZXkgPSByZXNvbHZlQ2F0ZWdvcnlQcm9ncmFtSWQoY2F0LCBjb21wbGlhbmNlQ2F0YWxvZyk7XHJcbiAgICBpZiAoIXByb2dyYW1LZXkgfHwgcHJvZ3JhbUtleSA9PT0gJ3VuZGVmaW5lZCcgfHwgcHJvZ3JhbUtleSA9PT0gJ05hTicpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFtYXBbcHJvZ3JhbUtleV0pIHtcclxuICAgICAgbWFwW3Byb2dyYW1LZXldID0gW107XHJcbiAgICB9XHJcbiAgICBtYXBbcHJvZ3JhbUtleV0ucHVzaCh7XHJcbiAgICAgIC4uLmNhdCxcclxuICAgICAgaWQ6IFN0cmluZyhjYXQ/LmlkID8/IGNhdD8uY2F0ZWdvcnlfaWQpLFxyXG4gICAgICBuYW1lOiBjYXQ/Lm5hbWUgPz8gY2F0Py5pdGVtX25hbWUsXHJcbiAgICB9KTtcclxuICB9KTtcclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTYWlsc1Byb2dyYW1MaXN0KHJlczogYW55KTogYW55W10ge1xyXG4gIGlmIChBcnJheS5pc0FycmF5KHJlcz8uZGF0YT8ucHJvZ3JhbXMpKSB7XHJcbiAgICByZXR1cm4gcmVzLmRhdGEucHJvZ3JhbXM7XHJcbiAgfVxyXG4gIGlmIChBcnJheS5pc0FycmF5KHJlcz8ucHJvZ3JhbXMpKSB7XHJcbiAgICByZXR1cm4gcmVzLnByb2dyYW1zO1xyXG4gIH1cclxuICByZXR1cm4gW107XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0RGFzaGJvYXJkQ2RpZChcclxuICBkYXRhOiBhbnksXHJcbiAgZGFzaGJvYXJkRGV0YWlsczogYW55LFxyXG4gIGRhc2hib2FyZElkOiBzdHJpbmdcclxuKTogc3RyaW5nIHtcclxuICBjb25zdCByb3cgPSBkYXRhID8/IGRhc2hib2FyZERldGFpbHMgPz8ge307XHJcbiAgY29uc3QgY29yZSA9IHJvdz8uZGFzaGJvYXJkX2RldGFpbHMgPz8gcm93Py5kYXNoYm9hcmQgPz8gcm93O1xyXG4gIGNvbnN0IGNkaWQgPVxyXG4gICAgY29yZT8uY2RpZCA/P1xyXG4gICAgY29yZT8uY2RkaWQgPz9cclxuICAgIHJvdz8uY2RpZCA/P1xyXG4gICAgcm93Py5jZGRpZCA/P1xyXG4gICAgZGFzaGJvYXJkRGV0YWlscz8uY2RpZCA/P1xyXG4gICAgZGFzaGJvYXJkRGV0YWlscz8uY2RkaWQ7XHJcbiAgaWYgKGNkaWQgIT0gbnVsbCAmJiBjZGlkICE9PSAnJykge1xyXG4gICAgcmV0dXJuIFN0cmluZyhjZGlkKTtcclxuICB9XHJcbiAgY29uc3QgZmFsbGJhY2sgPSBkYXNoYm9hcmRJZCA/PyAnJztcclxuICBpZiAoZmFsbGJhY2sgJiYgIS9eXFxkKyQvLnRlc3QoU3RyaW5nKGZhbGxiYWNrKSkpIHtcclxuICAgIHJldHVybiBTdHJpbmcoZmFsbGJhY2spO1xyXG4gIH1cclxuICByZXR1cm4gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RlZFByb2dyYW1zTWFwKFxyXG4gIGRhdGE6IGFueVxyXG4pOiBQcm9ncmFtU2VsZWN0aW9uTWFwIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBtYXAgPSBkYXRhPy5wcm9ncmFtPy5zZWxlY3RlZF9wcm9ncmFtcztcclxuICBpZiAobWFwICYmIHR5cGVvZiBtYXAgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KG1hcCkpIHtcclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJBY3RpdmVXaWRnZXRzKHdpZGdldHM6IGFueVtdKTogYW55W10ge1xyXG4gIHJldHVybiAod2lkZ2V0cyA/PyBbXSkuZmlsdGVyKCh3KSA9PiAhdz8uc3RhdGUgfHwgdy5zdGF0ZSA9PT0gJ0FDVElWRScpO1xyXG59XHJcbiJdfQ==
@@ -1,14 +1,14 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CreateDashboardService {
4
- constructor() { }
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, providedIn: 'root' });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, decorators: [{
9
- type: Injectable,
10
- args: [{
11
- providedIn: 'root',
12
- }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGdCQUFlLENBQUM7d0dBREwsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZURhc2hib2FyZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59Il19
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CreateDashboardService {
4
+ constructor() { }
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, providedIn: 'root' });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root',
12
+ }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGdCQUFlLENBQUM7d0dBREwsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVEYXNoYm9hcmRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbn0iXX0=