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,149 +1,224 @@
1
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { ASSETS } from '../constants/assets.constant';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
8
- import * as i5 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component";
9
- import * as i6 from "../../ui-kit/no-data/no-data.component";
10
- import * as i7 from "../pipes/filter.pipe";
11
- export class ResponsibilityCenterComponent {
12
- saveSelectedList = new EventEmitter();
13
- closeRcList = new EventEmitter();
14
- responsibilityCentersList = [];
15
- selectedResponsibilityCenters = [];
16
- rcIdKey = '';
17
- radioSelection = false;
18
- ASSETS = ASSETS;
19
- selectedIds = [];
20
- animation = false;
21
- search = '';
22
- footerDetails = {
23
- selectedData: [],
24
- nonRemovableList: [],
25
- displayElementKey: 'item_name',
26
- elementId: 'item_id',
27
- singularText: 'Responsibility Center selected',
28
- pluralText: 'Responsibility Centers selected',
29
- showFrequency: false,
30
- frequencyText: '',
31
- isDisabled: false,
32
- };
33
- constructor() { }
34
- ngOnChanges() {
35
- this.footerDetails.selectedData = this.selectedResponsibilityCenters;
36
- this.selectedIds = this.selectedResponsibilityCenters.map((ele) => {
37
- if (ele[this.rcIdKey]) {
38
- return ele[this.rcIdKey];
39
- }
40
- });
41
- }
42
- ngOnInit() {
43
- this.animation = true;
44
- setTimeout(() => {
45
- this.animation = false;
46
- }, 300);
47
- }
48
- selectRc(rc, mode) {
49
- if (this.radioSelection) {
50
- if (mode) {
51
- this.selectedIds = [];
52
- this.selectedIds.push(rc);
53
- }
54
- this.setList();
55
- }
56
- else {
57
- if (mode) {
58
- this.selectedIds.push(rc);
59
- const rcElement = this.responsibilityCentersList.findIndex((ele) => ele.item_id == rc);
60
- if (rcElement !== -1) {
61
- const parentRc = this.responsibilityCentersList[rcElement];
62
- if (parentRc?.item_child_ids?.length > 0) {
63
- parentRc.item_child_ids.forEach((childElement) => {
64
- if (!this.selectedIds.includes(childElement)) {
65
- this.selectedIds.push(childElement);
66
- }
67
- });
68
- }
69
- }
70
- }
71
- else {
72
- const index = this.selectedIds.findIndex((element) => element == rc);
73
- this.selectedIds.splice(index, 1);
74
- const rcElement = this.responsibilityCentersList.findIndex((ele) => ele.item_id == rc);
75
- if (rcElement !== -1) {
76
- const parentRc = this.responsibilityCentersList[rcElement];
77
- if (parentRc?.item_child_ids?.length > 0) {
78
- parentRc.item_child_ids.forEach((childElement) => {
79
- const removeIndex = this.selectedIds.findIndex((removeElement) => removeElement == childElement);
80
- this.selectedIds.splice(removeIndex, 1);
81
- });
82
- }
83
- }
84
- }
85
- this.setList();
86
- }
87
- }
88
- deleteEvent(event) {
89
- const index = this.selectedIds.findIndex((element) => element == event[this.rcIdKey]);
90
- this.selectedIds.splice(index, 1);
91
- this.setList();
92
- }
93
- selectAll(mode) {
94
- if (mode) {
95
- const list = [...this.responsibilityCentersList];
96
- this.selectedIds = [];
97
- list.forEach((element) => {
98
- this.selectedIds.push(element[this.rcIdKey]);
99
- });
100
- }
101
- else {
102
- this.selectedIds = [];
103
- }
104
- this.setList();
105
- }
106
- setList() {
107
- const data = [];
108
- const rcList = [...new Set(this.responsibilityCentersList)];
109
- // cloneDeep(this.responsibilityCentersList);
110
- const selectedIds = [...new Set(this.selectedIds)];
111
- // cloneDeep(this.selectedIds);
112
- rcList.forEach((element) => {
113
- if (selectedIds.includes(element[this.rcIdKey])) {
114
- data.push(element);
115
- }
116
- });
117
- this.selectedResponsibilityCenters = data;
118
- this.footerDetails.selectedData = this.selectedResponsibilityCenters;
119
- }
120
- checkSelectAll() {
121
- const data = this.responsibilityCentersList.every((rc) => this.selectedIds.includes(rc[this.rcIdKey]));
122
- return data;
123
- }
124
- save() {
125
- this.saveSelectedList.emit(this.selectedIds);
126
- }
127
- closeResponsibilityCenterList() {
128
- this.closeRcList.emit();
129
- }
130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Select Responsibility Center(s)\n </div>\n </div>\n <div class=\"responsibility-center-body\">\n <div class=\"responsibility-center-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Responsibility Center\"\n />\n </div>\n\n <ng-container\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\n <li *ngFor=\"let rc of searchList; let i = index\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(rc.item_id)\"\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\n >\n <ul class=\"responsibility-center-list-name\">\n <li\n *ngFor=\"let entity of rc.rc_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\n {{ entity }}\n <!-- <span class=\"name\">{{entity}}</span> -->\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <div class=\"responsibility-center-footer\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeRcList.emit()\"\n (deleteEvent)=\"selectRc($event.item_id, false)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
132
- }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, decorators: [{
134
- type: Component,
135
- args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Select Responsibility Center(s)\n </div>\n </div>\n <div class=\"responsibility-center-body\">\n <div class=\"responsibility-center-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Responsibility Center\"\n />\n </div>\n\n <ng-container\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\n <li *ngFor=\"let rc of searchList; let i = index\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(rc.item_id)\"\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\n >\n <ul class=\"responsibility-center-list-name\">\n <li\n *ngFor=\"let entity of rc.rc_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\n {{ entity }}\n <!-- <span class=\"name\">{{entity}}</span> -->\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <div class=\"responsibility-center-footer\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeRcList.emit()\"\n (deleteEvent)=\"selectRc($event.item_id, false)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"] }]
136
- }], ctorParameters: function () { return []; }, propDecorators: { saveSelectedList: [{
137
- type: Output
138
- }], closeRcList: [{
139
- type: Output
140
- }], responsibilityCentersList: [{
141
- type: Input
142
- }], selectedResponsibilityCenters: [{
143
- type: Input
144
- }], rcIdKey: [{
145
- type: Input
146
- }], radioSelection: [{
147
- type: Input
148
- }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFPdEQsTUFBTSxPQUFPLDZCQUE2QjtJQUM5QixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3RDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2xDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztJQUMvQiw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFDbkMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUVoQixXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLGFBQWEsR0FBMEI7UUFDckMsWUFBWSxFQUFFLEVBQUU7UUFDaEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixpQkFBaUIsRUFBRSxXQUFXO1FB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RUE7OzRGRHREYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsMkJBQTJCOzBFQUszQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRSx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVzcG9uc2liaWxpdHktY2VudGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNwb25zaWJpbGl0eUNlbnRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbG9zZVJjTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycyA9IFtdO1xuICBASW5wdXQoKSByY0lkS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHJhZGlvU2VsZWN0aW9uID0gZmFsc2U7XG4gIEFTU0VUUyA9IEFTU0VUUztcblxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIHNlYXJjaCA9ICcnO1xuICBmb290ZXJEZXRhaWxzOiBEYXNoYm9hcmRGb290ZXJDb25maWcgPSB7XG4gICAgc2VsZWN0ZWREYXRhOiBbXSxcbiAgICBub25SZW1vdmFibGVMaXN0OiBbXSxcbiAgICBkaXNwbGF5RWxlbWVudEtleTogJ2l0ZW1fbmFtZScsXG4gICAgZWxlbWVudElkOiAnaXRlbV9pZCcsXG4gICAgc2luZ3VsYXJUZXh0OiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkJyxcbiAgICBwbHVyYWxUZXh0OiAnUmVzcG9uc2liaWxpdHkgQ2VudGVycyBzZWxlY3RlZCcsXG4gICAgc2hvd0ZyZXF1ZW5jeTogZmFsc2UsXG4gICAgZnJlcXVlbmN5VGV4dDogJycsXG4gICAgaXNEaXNhYmxlZDogZmFsc2UsXG4gIH07XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycy5tYXAoKGVsZTogYW55KSA9PiB7XG4gICAgICBpZiAoZWxlW3RoaXMucmNJZEtleV0pIHtcbiAgICAgICAgcmV0dXJuIGVsZVt0aGlzLnJjSWRLZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgc2VsZWN0UmMocmM6IGFueSwgbW9kZTogYW55KSB7XG4gICAgaWYgKHRoaXMucmFkaW9TZWxlY3Rpb24pIHtcbiAgICAgIGlmIChtb2RlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKHJjKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobW9kZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xuICAgICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZEluZGV4KFxuICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlLml0ZW1faWQgPT0gcmNcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0W3JjRWxlbWVudF07XG4gICAgICAgICAgaWYgKHBhcmVudFJjPy5pdGVtX2NoaWxkX2lkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcGFyZW50UmMuaXRlbV9jaGlsZF9pZHMuZm9yRWFjaCgoY2hpbGRFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGNoaWxkRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goY2hpbGRFbGVtZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KFxuICAgICAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gcmNcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZEluZGV4KFxuICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlLml0ZW1faWQgPT0gcmNcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0W3JjRWxlbWVudF07XG4gICAgICAgICAgaWYgKHBhcmVudFJjPy5pdGVtX2NoaWxkX2lkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcGFyZW50UmMuaXRlbV9jaGlsZF9pZHMuZm9yRWFjaCgoY2hpbGRFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAocmVtb3ZlRWxlbWVudDogYW55KSA9PiByZW1vdmVFbGVtZW50ID09IGNoaWxkRWxlbWVudFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShyZW1vdmVJbmRleCwgMSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xuICAgIH1cbiAgfVxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gZXZlbnRbdGhpcy5yY0lkS2V5XVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuc2V0TGlzdCgpO1xuICB9XG5cbiAgc2VsZWN0QWxsKG1vZGU6IGFueSkge1xuICAgIGlmIChtb2RlKSB7XG4gICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdF07XG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XG4gICAgICBsaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZW1lbnRbdGhpcy5yY0lkS2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuXG4gIHNldExpc3QoKSB7XG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XG4gICAgY29uc3QgcmNMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0KV07XG4gICAgLy8gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkSWRzKV07XG4gICAgLy8gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xuICAgIHJjTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhlbGVtZW50W3RoaXMucmNJZEtleV0pKSB7XG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzID0gZGF0YTtcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcbiAgfVxuXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZXZlcnkoKHJjOiBhbnkpID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjW3RoaXMucmNJZEtleV0pXG4gICAgKTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5zYXZlU2VsZWN0ZWRMaXN0LmVtaXQodGhpcy5zZWxlY3RlZElkcyk7XG4gIH1cblxuICBjbG9zZVJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcbiAgICB0aGlzLmNsb3NlUmNMaXN0LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlclwiIFtjbGFzcy5hbmltYXRlLXNsaWRlSW5SaWdodF09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XG4gICAgICBTZWxlY3QgUmVzcG9uc2liaWxpdHkgQ2VudGVyKHMpXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLXNlYXJjaCB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXR5IENlbnRlclwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0IHwgZmlsdGVyIDogc2VhcmNoIGFzIHNlYXJjaExpc3RcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsXCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDFcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgIFtuZ1ZhbHVlXT1cImNoZWNrU2VsZWN0QWxsKClcIlxuICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdHJvbmc+e3tcbiAgICAgICAgICAgIGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCJcbiAgICAgICAgICB9fTwvc3Ryb25nPlxuICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHVsIGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWxpc3RcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHJjIG9mIHNlYXJjaExpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZElkcy5pbmNsdWRlcyhyYy5pdGVtX2lkKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RSYyhyYy5pdGVtX2lkLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItbGlzdC1uYW1lXCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbnRpdHkgb2YgcmMucmNfbmFtZTsgbGV0IGogPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2FyVG9vbHRpcF09XCJlbnRpdHlcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiaiAhPT0gMFwiPiYjeGU5MTA7PC9pPlxuICAgICAgICAgICAgICAgIHt7IGVudGl0eSB9fVxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3tlbnRpdHl9fTwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09IDBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgICAgPlxuICAgICAgPC9hcHAtbm8tZGF0YT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItZm9vdGVyXCI+XG4gICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXJcbiAgICAgICAgW2Zvb3RlckRldGFpbHNdPVwiZm9vdGVyRGV0YWlsc1wiXG4gICAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZVJjTGlzdC5lbWl0KClcIlxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwic2VsZWN0UmMoJGV2ZW50Lml0ZW1faWQsIGZhbHNlKVwiXG4gICAgICAgIChzdWJtaXRFdmVudCk9XCJzYXZlKClcIlxuICAgICAgPjwvYXBwLWRhc2hib2FyZC1mb290ZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ASSETS } from '../constants/assets.constant';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
8
+ import * as i5 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component";
9
+ import * as i6 from "../../ui-kit/no-data/no-data.component";
10
+ import * as i7 from "../pipes/filter.pipe";
11
+ export class ResponsibilityCenterComponent {
12
+ saveSelectedList = new EventEmitter();
13
+ closeRcList = new EventEmitter();
14
+ responsibilityCentersList = [];
15
+ selectedResponsibilityCenters = [];
16
+ rcIdKey = '';
17
+ radioSelection = false;
18
+ ASSETS = ASSETS;
19
+ selectedIds = [];
20
+ animation = false;
21
+ search = '';
22
+ footerDetails = {
23
+ selectedData: [],
24
+ nonRemovableList: [],
25
+ displayElementKey: 'item_name',
26
+ elementId: 'item_id',
27
+ singularText: 'Responsibility Center selected',
28
+ pluralText: 'Responsibility Centers selected',
29
+ showFrequency: false,
30
+ frequencyText: '',
31
+ isDisabled: false,
32
+ };
33
+ constructor() { }
34
+ ngOnChanges() {
35
+ this.footerDetails.selectedData = this.selectedResponsibilityCenters;
36
+ this.selectedIds = this.selectedResponsibilityCenters.map((ele) => {
37
+ if (ele[this.rcIdKey]) {
38
+ return ele[this.rcIdKey];
39
+ }
40
+ });
41
+ }
42
+ ngOnInit() {
43
+ this.animation = true;
44
+ setTimeout(() => {
45
+ this.animation = false;
46
+ }, 300);
47
+ }
48
+ isSelected(id) {
49
+ return this.selectedIds.some((selected) => selected == id);
50
+ }
51
+ selectRc(rc, mode) {
52
+ if (this.radioSelection) {
53
+ if (mode) {
54
+ this.selectedIds = [];
55
+ this.selectedIds.push(rc);
56
+ }
57
+ this.setList();
58
+ return;
59
+ }
60
+ const parentRc = this.findRcById(rc);
61
+ const idsToToggle = [rc, ...this.getDescendantIds(parentRc)];
62
+ if (mode) {
63
+ this.addSelectedIds(idsToToggle);
64
+ }
65
+ else {
66
+ this.removeSelectedIds(idsToToggle);
67
+ }
68
+ this.setList();
69
+ }
70
+ deleteEvent(event) {
71
+ this.selectRc(event[this.rcIdKey], false);
72
+ }
73
+ selectAll(mode) {
74
+ if (mode) {
75
+ const list = [...this.responsibilityCentersList];
76
+ this.selectedIds = [];
77
+ list.forEach((element) => {
78
+ this.selectedIds.push(element[this.rcIdKey]);
79
+ });
80
+ }
81
+ else {
82
+ this.selectedIds = [];
83
+ }
84
+ this.setList();
85
+ }
86
+ setList() {
87
+ const data = [];
88
+ const rcList = [...new Set(this.responsibilityCentersList)];
89
+ rcList.forEach((element) => {
90
+ if (this.isSelected(element[this.rcIdKey])) {
91
+ data.push(element);
92
+ }
93
+ });
94
+ this.selectedResponsibilityCenters = data;
95
+ this.footerDetails.selectedData = this.selectedResponsibilityCenters;
96
+ }
97
+ checkSelectAll() {
98
+ return this.responsibilityCentersList.every((rc) => this.isSelected(rc[this.rcIdKey]));
99
+ }
100
+ findRcById(id) {
101
+ return this.responsibilityCentersList.find((ele) => ele?.[this.rcIdKey] == id ||
102
+ ele?.item_id == id ||
103
+ ele?.rc_id == id ||
104
+ ele?.rcid == id ||
105
+ ele?.id == id);
106
+ }
107
+ getNodeId(rc) {
108
+ if (!rc) {
109
+ return null;
110
+ }
111
+ return rc[this.rcIdKey] ?? rc.item_id ?? rc.rc_id ?? rc.rcid ?? rc.id;
112
+ }
113
+ resolveSelectedId(id) {
114
+ const match = this.findRcById(id);
115
+ return match ? this.getNodeId(match) : id;
116
+ }
117
+ addSelectedIds(ids) {
118
+ ids.forEach((id) => {
119
+ const resolved = this.resolveSelectedId(id);
120
+ if (resolved != null && resolved !== '' && !this.isSelected(resolved)) {
121
+ this.selectedIds.push(resolved);
122
+ }
123
+ });
124
+ }
125
+ removeSelectedIds(ids) {
126
+ ids.forEach((id) => {
127
+ const resolved = this.resolveSelectedId(id);
128
+ const index = this.selectedIds.findIndex((selected) => selected == id || selected == resolved);
129
+ if (index !== -1) {
130
+ this.selectedIds.splice(index, 1);
131
+ }
132
+ });
133
+ }
134
+ /** Direct and nested child RC ids for a selected parent. */
135
+ getDescendantIds(parentRc) {
136
+ if (!parentRc) {
137
+ return [];
138
+ }
139
+ const parentId = this.getNodeId(parentRc);
140
+ const collected = new Set();
141
+ const visitedNodes = new Set();
142
+ const ids = [];
143
+ const add = (id) => {
144
+ if (id == null || id === '' || id == parentId) {
145
+ return;
146
+ }
147
+ const key = String(id);
148
+ if (collected.has(key)) {
149
+ return;
150
+ }
151
+ collected.add(key);
152
+ ids.push(id);
153
+ };
154
+ const walkNode = (node) => {
155
+ if (!node) {
156
+ return;
157
+ }
158
+ const nodeId = this.getNodeId(node);
159
+ if (nodeId != null && nodeId !== '') {
160
+ const visitKey = String(nodeId);
161
+ if (visitedNodes.has(visitKey)) {
162
+ return;
163
+ }
164
+ visitedNodes.add(visitKey);
165
+ }
166
+ (node.item_child_ids ?? []).forEach((childId) => add(childId));
167
+ [...(node.children ?? []), ...(node.items ?? [])].forEach((child) => {
168
+ add(this.getNodeId(child));
169
+ walkNode(child);
170
+ });
171
+ };
172
+ walkNode(parentRc);
173
+ (parentRc.item_child_ids ?? []).forEach((childId) => {
174
+ const childRc = this.findRcById(childId);
175
+ if (childRc && childRc !== parentRc) {
176
+ walkNode(childRc);
177
+ }
178
+ });
179
+ const parentPath = Array.isArray(parentRc.rc_name) ? parentRc.rc_name : [];
180
+ this.responsibilityCentersList.forEach((rc) => {
181
+ const id = this.getNodeId(rc);
182
+ if (id == parentId) {
183
+ return;
184
+ }
185
+ const ancestorIds = rc?.parent_rc_ids ?? [];
186
+ if (ancestorIds.some((ancestorId) => ancestorId == parentId)) {
187
+ add(id);
188
+ return;
189
+ }
190
+ const path = Array.isArray(rc.rc_name) ? rc.rc_name : [];
191
+ if (parentPath.length &&
192
+ path.length > parentPath.length &&
193
+ parentPath.every((name, i) => path[i] === name)) {
194
+ add(id);
195
+ }
196
+ });
197
+ return ids;
198
+ }
199
+ save() {
200
+ this.saveSelectedList.emit(this.selectedIds);
201
+ }
202
+ closeResponsibilityCenterList() {
203
+ this.closeRcList.emit();
204
+ }
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"checkSelectAll()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isSelected(rc.item_id)\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, decorators: [{
209
+ type: Component,
210
+ args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"checkSelectAll()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isSelected(rc.item_id)\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"] }]
211
+ }], ctorParameters: function () { return []; }, propDecorators: { saveSelectedList: [{
212
+ type: Output
213
+ }], closeRcList: [{
214
+ type: Output
215
+ }], responsibilityCentersList: [{
216
+ type: Input
217
+ }], selectedResponsibilityCenters: [{
218
+ type: Input
219
+ }], rcIdKey: [{
220
+ type: Input
221
+ }], radioSelection: [{
222
+ type: Input
223
+ }] } });
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFPdEQsTUFBTSxPQUFPLDZCQUE2QjtJQUM5QixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3RDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2xDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztJQUMvQiw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFDbkMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUVoQixXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLGFBQWEsR0FBMEI7UUFDckMsWUFBWSxFQUFFLEVBQUU7UUFDaEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixpQkFBaUIsRUFBRSxXQUFXO1FB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QUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRGb290ZXJDb25maWcgfSBmcm9tICcuLi8uLi91aS1raXQvZGFzaGJvYXJkLWZvb3Rlci9kYXNoYm9hcmQtZm9vdGVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcmVzcG9uc2liaWxpdHktY2VudGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXNwb25zaWJpbGl0eS1jZW50ZXIuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5Q2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVJjTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSBbXTtcclxuICBASW5wdXQoKSByY0lkS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgcmFkaW9TZWxlY3Rpb24gPSBmYWxzZTtcclxuICBBU1NFVFMgPSBBU1NFVFM7XHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaCA9ICcnO1xyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OiBbXSxcclxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiAnaXRlbV9uYW1lJyxcclxuICAgIGVsZW1lbnRJZDogJ2l0ZW1faWQnLFxyXG4gICAgc2luZ3VsYXJUZXh0OiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkJyxcclxuICAgIHBsdXJhbFRleHQ6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHNlbGVjdGVkJyxcclxuICAgIHNob3dGcmVxdWVuY3k6IGZhbHNlLFxyXG4gICAgZnJlcXVlbmN5VGV4dDogJycsXHJcbiAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzLm1hcCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZVt0aGlzLnJjSWRLZXldKSB7XHJcbiAgICAgICAgcmV0dXJuIGVsZVt0aGlzLnJjSWRLZXldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgaXNTZWxlY3RlZChpZDogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZElkcy5zb21lKChzZWxlY3RlZCkgPT4gc2VsZWN0ZWQgPT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmMocmM6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5yYWRpb1NlbGVjdGlvbikge1xyXG4gICAgICBpZiAobW9kZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyZW50UmMgPSB0aGlzLmZpbmRSY0J5SWQocmMpO1xyXG4gICAgY29uc3QgaWRzVG9Ub2dnbGUgPSBbcmMsIC4uLnRoaXMuZ2V0RGVzY2VuZGFudElkcyhwYXJlbnRSYyldO1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgdGhpcy5hZGRTZWxlY3RlZElkcyhpZHNUb1RvZ2dsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkSWRzKGlkc1RvVG9nZ2xlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RSYyhldmVudFt0aGlzLnJjSWRLZXldLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwobW9kZTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdF07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgbGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZW1lbnRbdGhpcy5yY0lkS2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRMaXN0KCkge1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XHJcbiAgICBjb25zdCByY0xpc3QgPSBbLi4ubmV3IFNldCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QpXTtcclxuICAgIHJjTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZChlbGVtZW50W3RoaXMucmNJZEtleV0pKSB7XHJcbiAgICAgICAgZGF0YS5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSBkYXRhO1xyXG4gICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnM7XHJcbiAgfVxyXG5cclxuICBjaGVja1NlbGVjdEFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZXZlcnkoKHJjOiBhbnkpID0+XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZChyY1t0aGlzLnJjSWRLZXldKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFJjQnlJZChpZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmZpbmQoXHJcbiAgICAgIChlbGU6IGFueSkgPT5cclxuICAgICAgICBlbGU/Llt0aGlzLnJjSWRLZXldID09IGlkIHx8XHJcbiAgICAgICAgZWxlPy5pdGVtX2lkID09IGlkIHx8XHJcbiAgICAgICAgZWxlPy5yY19pZCA9PSBpZCB8fFxyXG4gICAgICAgIGVsZT8ucmNpZCA9PSBpZCB8fFxyXG4gICAgICAgIGVsZT8uaWQgPT0gaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5vZGVJZChyYzogYW55KSB7XHJcbiAgICBpZiAoIXJjKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJjW3RoaXMucmNJZEtleV0gPz8gcmMuaXRlbV9pZCA/PyByYy5yY19pZCA/PyByYy5yY2lkID8/IHJjLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNvbHZlU2VsZWN0ZWRJZChpZDogYW55KSB7XHJcbiAgICBjb25zdCBtYXRjaCA9IHRoaXMuZmluZFJjQnlJZChpZCk7XHJcbiAgICByZXR1cm4gbWF0Y2ggPyB0aGlzLmdldE5vZGVJZChtYXRjaCkgOiBpZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWRJZHMoaWRzOiBhbnlbXSkge1xyXG4gICAgaWRzLmZvckVhY2goKGlkKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gdGhpcy5yZXNvbHZlU2VsZWN0ZWRJZChpZCk7XHJcbiAgICAgIGlmIChyZXNvbHZlZCAhPSBudWxsICYmIHJlc29sdmVkICE9PSAnJyAmJiAhdGhpcy5pc1NlbGVjdGVkKHJlc29sdmVkKSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChyZXNvbHZlZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZElkcyhpZHM6IGFueVtdKSB7XHJcbiAgICBpZHMuZm9yRWFjaCgoaWQpID0+IHtcclxuICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnJlc29sdmVTZWxlY3RlZElkKGlkKTtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcclxuICAgICAgICAoc2VsZWN0ZWQpID0+IHNlbGVjdGVkID09IGlkIHx8IHNlbGVjdGVkID09IHJlc29sdmVkXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIERpcmVjdCBhbmQgbmVzdGVkIGNoaWxkIFJDIGlkcyBmb3IgYSBzZWxlY3RlZCBwYXJlbnQuICovXHJcbiAgcHJpdmF0ZSBnZXREZXNjZW5kYW50SWRzKHBhcmVudFJjOiBhbnkpOiBhbnlbXSB7XHJcbiAgICBpZiAoIXBhcmVudFJjKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJlbnRJZCA9IHRoaXMuZ2V0Tm9kZUlkKHBhcmVudFJjKTtcclxuICAgIGNvbnN0IGNvbGxlY3RlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgY29uc3QgdmlzaXRlZE5vZGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICBjb25zdCBpZHM6IGFueVtdID0gW107XHJcblxyXG4gICAgY29uc3QgYWRkID0gKGlkOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGlkID09IG51bGwgfHwgaWQgPT09ICcnIHx8IGlkID09IHBhcmVudElkKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGtleSA9IFN0cmluZyhpZCk7XHJcbiAgICAgIGlmIChjb2xsZWN0ZWQuaGFzKGtleSkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29sbGVjdGVkLmFkZChrZXkpO1xyXG4gICAgICBpZHMucHVzaChpZCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHdhbGtOb2RlID0gKG5vZGU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoIW5vZGUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgbm9kZUlkID0gdGhpcy5nZXROb2RlSWQobm9kZSk7XHJcbiAgICAgIGlmIChub2RlSWQgIT0gbnVsbCAmJiBub2RlSWQgIT09ICcnKSB7XHJcbiAgICAgICAgY29uc3QgdmlzaXRLZXkgPSBTdHJpbmcobm9kZUlkKTtcclxuICAgICAgICBpZiAodmlzaXRlZE5vZGVzLmhhcyh2aXNpdEtleSkpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlzaXRlZE5vZGVzLmFkZCh2aXNpdEtleSk7XHJcbiAgICAgIH1cclxuICAgICAgKG5vZGUuaXRlbV9jaGlsZF9pZHMgPz8gW10pLmZvckVhY2goKGNoaWxkSWQ6IGFueSkgPT4gYWRkKGNoaWxkSWQpKTtcclxuICAgICAgWy4uLihub2RlLmNoaWxkcmVuID8/IFtdKSwgLi4uKG5vZGUuaXRlbXMgPz8gW10pXS5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XHJcbiAgICAgICAgYWRkKHRoaXMuZ2V0Tm9kZUlkKGNoaWxkKSk7XHJcbiAgICAgICAgd2Fsa05vZGUoY2hpbGQpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICB3YWxrTm9kZShwYXJlbnRSYyk7XHJcblxyXG4gICAgKHBhcmVudFJjLml0ZW1fY2hpbGRfaWRzID8/IFtdKS5mb3JFYWNoKChjaGlsZElkOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgY2hpbGRSYyA9IHRoaXMuZmluZFJjQnlJZChjaGlsZElkKTtcclxuICAgICAgaWYgKGNoaWxkUmMgJiYgY2hpbGRSYyAhPT0gcGFyZW50UmMpIHtcclxuICAgICAgICB3YWxrTm9kZShjaGlsZFJjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcGFyZW50UGF0aCA9IEFycmF5LmlzQXJyYXkocGFyZW50UmMucmNfbmFtZSkgPyBwYXJlbnRSYy5yY19uYW1lIDogW107XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZm9yRWFjaCgocmM6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0Tm9kZUlkKHJjKTtcclxuICAgICAgaWYgKGlkID09IHBhcmVudElkKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGFuY2VzdG9ySWRzID0gcmM/LnBhcmVudF9yY19pZHMgPz8gW107XHJcbiAgICAgIGlmIChhbmNlc3Rvcklkcy5zb21lKChhbmNlc3RvcklkOiBhbnkpID0+IGFuY2VzdG9ySWQgPT0gcGFyZW50SWQpKSB7XHJcbiAgICAgICAgYWRkKGlkKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGF0aCA9IEFycmF5LmlzQXJyYXkocmMucmNfbmFtZSkgPyByYy5yY19uYW1lIDogW107XHJcbiAgICAgIGlmIChcclxuICAgICAgICBwYXJlbnRQYXRoLmxlbmd0aCAmJlxyXG4gICAgICAgIHBhdGgubGVuZ3RoID4gcGFyZW50UGF0aC5sZW5ndGggJiZcclxuICAgICAgICBwYXJlbnRQYXRoLmV2ZXJ5KChuYW1lOiBhbnksIGk6IG51bWJlcikgPT4gcGF0aFtpXSA9PT0gbmFtZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgYWRkKGlkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGlkcztcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLnNhdmVTZWxlY3RlZExpc3QuZW1pdCh0aGlzLnNlbGVjdGVkSWRzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVJjTGlzdC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXJcIiBbY2xhc3MuYW5pbWF0ZS1zbGlkZUluUmlnaHRdPVwiYW5pbWF0aW9uXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgIFNlbGVjdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIocylcclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1zZWFyY2ggdngtbWItMlwiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdHkgQ2VudGVyXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0IHwgZmlsdGVyIDogc2VhcmNoIGFzIHNlYXJjaExpc3RcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbFwiICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXHJcbiAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHN0cm9uZz57e1xyXG4gICAgICAgICAgICBjaGVja1NlbGVjdEFsbCgpID8gXCJEZXNlbGVjdCBBbGxcIiA6IFwiU2VsZWN0IEFsbFwiXHJcbiAgICAgICAgICB9fTwvc3Ryb25nPlxyXG4gICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHVsIGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWxpc3RcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcmMgb2Ygc2VhcmNoTGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJpc1NlbGVjdGVkKHJjLml0ZW1faWQpXCJcclxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UmMocmMuaXRlbV9pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1saXN0LW5hbWVcIj5cclxuICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbnRpdHkgb2YgcmMucmNfbmFtZTsgbGV0IGogPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbYXJUb29sdGlwXT1cImVudGl0eVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAqbmdJZj1cImogIT09IDBcIj4mI3hlOTEwOzwvaT5cclxuICAgICAgICAgICAgICAgIHt7IGVudGl0eSB9fVxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2VudGl0eX19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA9PSAwXCJcclxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcclxuICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiXHJcbiAgICAgID5cclxuICAgICAgPC9hcHAtbm8tZGF0YT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItZm9vdGVyXCI+XHJcbiAgICAgIDxhcHAtZGFzaGJvYXJkLWZvb3RlclxyXG4gICAgICAgIFtmb290ZXJEZXRhaWxzXT1cImZvb3RlckRldGFpbHNcIlxyXG4gICAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZVJjTGlzdC5lbWl0KClcIlxyXG4gICAgICAgIChkZWxldGVFdmVudCk9XCJzZWxlY3RSYygkZXZlbnQuaXRlbV9pZCwgZmFsc2UpXCJcclxuICAgICAgICAoc3VibWl0RXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgPjwvYXBwLWRhc2hib2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jYXRlZ29yaWVzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yaXNrLWNhdGVnb3JpZXMvcmlzay1jYXRlZ29yaWVzLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSaXNrQ2F0ZWdvcmllc0NvbmZpZ3tcbiAgICBzdHJhdGVnaWM6e1xuICAgICAgICBsaXN0OltdLFxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSBbXTtcbiAgICB9XG4gICAgb3BlcmF0aW9uYWw6e1xuICAgICAgICBsaXN0OltdLFxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSBbXTtcbiAgICB9XG4gICAgY29tcGxpYW5jZTp7XG4gICAgICAgIGxpc3Q6W10sXG4gICAgICAgIHNlbGVjdGVkTGlzdCA6YW55IFtdO1xuICAgIH1cbiAgICBvdGhlcnM6e1xuICAgICAgICBsaXN0OltdLFxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSAgW107XG4gICAgfVxufSJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jYXRlZ29yaWVzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yaXNrLWNhdGVnb3JpZXMvcmlzay1jYXRlZ29yaWVzLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSaXNrQ2F0ZWdvcmllc0NvbmZpZ3tcclxuICAgIHN0cmF0ZWdpYzp7XHJcbiAgICAgICAgbGlzdDpbXSxcclxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSBbXTtcclxuICAgIH1cclxuICAgIG9wZXJhdGlvbmFsOntcclxuICAgICAgICBsaXN0OltdLFxyXG4gICAgICAgIHNlbGVjdGVkTGlzdCA6YW55IFtdO1xyXG4gICAgfVxyXG4gICAgY29tcGxpYW5jZTp7XHJcbiAgICAgICAgbGlzdDpbXSxcclxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSBbXTtcclxuICAgIH1cclxuICAgIG90aGVyczp7XHJcbiAgICAgICAgbGlzdDpbXSxcclxuICAgICAgICBzZWxlY3RlZExpc3QgOmFueSAgW107XHJcbiAgICB9XHJcbn0iXX0=