vc-create-dashboard 2.9.5 → 2.9.6
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.
- package/esm2022/lib/configurations.mjs +7 -0
- package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +210 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +549 -0
- package/{esm2020 → esm2022}/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +15 -15
- package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1080 -0
- package/{esm2020 → esm2022}/lib/create-dashboard-container/create-dashboard.module.mjs +49 -49
- package/{esm2020 → esm2022}/lib/create-dashboard-container/directives/directives.module.mjs +5 -5
- package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -0
- package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +152 -0
- package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -0
- package/{esm2020 → esm2022}/lib/create-dashboard-container/pipes/filter.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/create-dashboard-container/pipes/search.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/create-dashboard-container/pipes/text-count.pipe.mjs +4 -4
- package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +145 -0
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +195 -0
- package/esm2022/lib/create-dashboard-container/services/auth.service.mjs +31 -0
- package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +227 -0
- package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +126 -0
- package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -0
- package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +421 -0
- package/{esm2020 → esm2022}/lib/create-dashboard.service.mjs +4 -4
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +9 -9
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-injector.mjs +4 -2
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -0
- package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.module.mjs +5 -5
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -0
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -0
- package/{esm2020 → esm2022}/lib/ui-kit/floating-bar/floating-bar.module.mjs +9 -9
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/{esm2020 → esm2022}/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +4 -4
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/ui-kit/formgroup/formgroup.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +4 -4
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/ui-kit/no-data/no-data.module.mjs +5 -5
- package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -0
- package/{esm2020 → esm2022}/lib/ui-kit/pagination/pagination.module.mjs +5 -5
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +142 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -0
- package/{esm2020 → esm2022}/lib/ui-kit/popover/popover.module.mjs +5 -5
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -0
- package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -0
- package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +105 -0
- package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -0
- package/{esm2020 → esm2022}/lib/ui-kit/select/select.module.mjs +5 -5
- package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -0
- package/{esm2020 → esm2022}/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +10 -8
- package/{esm2020 → esm2022}/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +5 -5
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar.service.mjs +6 -7
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +161 -0
- package/{esm2020 → esm2022}/lib/ui-kit/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +23 -0
- package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +23 -0
- package/{esm2020 → esm2022}/lib/ui-kit/v-loader/v-loader.module.mjs +5 -5
- package/esm2022/vc-create-dashboard.mjs +5 -0
- package/fesm2022/vc-create-dashboard.mjs +5338 -0
- package/fesm2022/vc-create-dashboard.mjs.map +1 -0
- package/index.d.ts +1 -1
- package/lib/create-dashboard-container/categories/categories.component.d.ts +1 -1
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +1 -1
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +1 -1
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +1 -1
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +1 -1
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +1 -1
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +1 -1
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +1 -1
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +1 -1
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +1 -1
- package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
- package/lib/ui-kit/dialog/dialog.component.d.ts +1 -1
- package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
- package/lib/ui-kit/pagination/pagination.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +1 -1
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +1 -1
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +1 -1
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
- package/package.json +6 -12
- package/esm2020/create-dashboard.mjs +0 -5
- package/esm2020/lib/configurations.mjs +0 -6
- package/esm2020/lib/create-dashboard-container/categories/categories.component.mjs +0 -209
- package/esm2020/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +0 -545
- package/esm2020/lib/create-dashboard-container/create-dashboard.component.mjs +0 -1067
- package/esm2020/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +0 -35
- package/esm2020/lib/create-dashboard-container/form-group/form-group.component.mjs +0 -141
- package/esm2020/lib/create-dashboard-container/frequency/frequency.component.mjs +0 -305
- package/esm2020/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +0 -146
- package/esm2020/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +0 -194
- package/esm2020/lib/create-dashboard-container/services/auth.service.mjs +0 -29
- package/esm2020/lib/create-dashboard-container/services/configure-widgets.service.mjs +0 -224
- package/esm2020/lib/create-dashboard-container/services/create-dashboard.service.mjs +0 -123
- package/esm2020/lib/create-dashboard-container/services/pagination.service.mjs +0 -29
- package/esm2020/lib/create-dashboard-container/user-list/user-list.component.mjs +0 -414
- package/esm2020/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +0 -53
- package/esm2020/lib/ui-kit/dialog/dialog-config.mjs +0 -3
- package/esm2020/lib/ui-kit/dialog/dialog-ref.mjs +0 -12
- package/esm2020/lib/ui-kit/dialog/dialog.component.mjs +0 -85
- package/esm2020/lib/ui-kit/dialog/dialog.service.mjs +0 -52
- package/esm2020/lib/ui-kit/dialog/insertion.directive.mjs +0 -16
- package/esm2020/lib/ui-kit/floating-bar/floating-bar.component.mjs +0 -52
- package/esm2020/lib/ui-kit/formgroup/click-outside.directive.mjs +0 -29
- package/esm2020/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -27
- package/esm2020/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -30
- package/esm2020/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -100
- package/esm2020/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -35
- package/esm2020/lib/ui-kit/no-data/no-data.component.mjs +0 -40
- package/esm2020/lib/ui-kit/pagination/pagination.component.mjs +0 -127
- package/esm2020/lib/ui-kit/popover/popover.component.mjs +0 -133
- package/esm2020/lib/ui-kit/popover/popover.directive.mjs +0 -86
- package/esm2020/lib/ui-kit/popover/popover.service.mjs +0 -17
- package/esm2020/lib/ui-kit/select/cs-option/cs-option.component.mjs +0 -36
- package/esm2020/lib/ui-kit/select/cs-select/cs-select.component.mjs +0 -89
- package/esm2020/lib/ui-kit/select/safe-html.pipe.mjs +0 -20
- package/esm2020/lib/ui-kit/services/cs-select.service.mjs +0 -15
- package/esm2020/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +0 -45
- package/esm2020/lib/ui-kit/tooltip/tooltip.directive.mjs +0 -153
- package/esm2020/lib/ui-kit/v-loader/loader/loader.component.mjs +0 -21
- package/esm2020/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +0 -21
- package/fesm2015/create-dashboard.mjs +0 -5195
- package/fesm2015/create-dashboard.mjs.map +0 -1
- package/fesm2020/create-dashboard.mjs +0 -5162
- package/fesm2020/create-dashboard.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/categories/categories-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/create-dashboard-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/interfaces/widget-data-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/create-dashboard-container/user-list/user-list.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class Configurations {
|
|
2
|
+
envConfig;
|
|
3
|
+
constructor() {
|
|
4
|
+
this.envConfig = {};
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFDbEIsU0FBUyxDQUFNO0lBRXRCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25zIHtcclxuICBwdWJsaWMgZW52Q29uZmlnOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5lbnZDb25maWcgPSB7fTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
|
|
7
|
+
import * as i5 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component";
|
|
8
|
+
import * as i6 from "../../ui-kit/no-data/no-data.component";
|
|
9
|
+
import * as i7 from "../pipes/filter.pipe";
|
|
10
|
+
export class CategoriesComponent {
|
|
11
|
+
categoryList = {
|
|
12
|
+
regulations: {
|
|
13
|
+
list: [],
|
|
14
|
+
selectedList: []
|
|
15
|
+
},
|
|
16
|
+
standards: {
|
|
17
|
+
list: [],
|
|
18
|
+
selectedList: []
|
|
19
|
+
},
|
|
20
|
+
internalControls: {
|
|
21
|
+
list: [],
|
|
22
|
+
selectedList: []
|
|
23
|
+
},
|
|
24
|
+
others: {
|
|
25
|
+
list: [],
|
|
26
|
+
selectedList: []
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
allCategories = [];
|
|
30
|
+
categoryIdKey;
|
|
31
|
+
selectedCategories = [];
|
|
32
|
+
search = '';
|
|
33
|
+
activeTab = "regulations";
|
|
34
|
+
selectedIds = [];
|
|
35
|
+
animation = false;
|
|
36
|
+
blockWidth;
|
|
37
|
+
footerDetails = {
|
|
38
|
+
selectedData: [],
|
|
39
|
+
nonRemovableList: [],
|
|
40
|
+
displayElementKey: 'item_name',
|
|
41
|
+
elementId: 'item_id',
|
|
42
|
+
singularText: 'Program selected',
|
|
43
|
+
pluralText: 'Programs selected',
|
|
44
|
+
showFrequency: false,
|
|
45
|
+
frequencyText: '',
|
|
46
|
+
isDisabled: false
|
|
47
|
+
};
|
|
48
|
+
saveSelectedCategory = new EventEmitter();
|
|
49
|
+
closeList = new EventEmitter();
|
|
50
|
+
closeCategoriesList = new EventEmitter();
|
|
51
|
+
constructor() { }
|
|
52
|
+
ngOnInit() {
|
|
53
|
+
this.animation = true;
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
this.animation = false;
|
|
56
|
+
}, 300);
|
|
57
|
+
this.selectedIds = [];
|
|
58
|
+
if (this.selectedCategories) {
|
|
59
|
+
this.selectedCategories.forEach(element => {
|
|
60
|
+
this.selectedIds.push(element[this.categoryIdKey]);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
this.setList();
|
|
64
|
+
}
|
|
65
|
+
selectCategory(mode, activeTab, category) {
|
|
66
|
+
if (mode) {
|
|
67
|
+
this.selectedIds.push(category[this.categoryIdKey]);
|
|
68
|
+
const rcElement = this.allCategories.findIndex((ele) => ele.category_id == category[this.categoryIdKey]);
|
|
69
|
+
if (rcElement !== -1) {
|
|
70
|
+
const parentRc = this.allCategories[rcElement];
|
|
71
|
+
if (parentRc?.child_cat_ids?.length > 0) {
|
|
72
|
+
parentRc.child_cat_ids.forEach((childElement) => {
|
|
73
|
+
if (!this.selectedIds.includes(childElement)) {
|
|
74
|
+
this.selectedIds.push(childElement);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const index = this.selectedIds.findIndex((element) => element == category[this.categoryIdKey]);
|
|
82
|
+
this.selectedIds.splice(index, 1);
|
|
83
|
+
const rcElement = this.allCategories.findIndex((ele) => ele.category_id == category[this.categoryIdKey]);
|
|
84
|
+
if (rcElement !== -1) {
|
|
85
|
+
const parentRc = this.allCategories[rcElement];
|
|
86
|
+
if (parentRc?.child_cat_ids?.length > 0) {
|
|
87
|
+
parentRc.child_cat_ids.forEach((childElement) => {
|
|
88
|
+
const removeIndex = this.selectedIds.findIndex((removeElement) => removeElement == childElement);
|
|
89
|
+
this.selectedIds.splice(removeIndex, 1);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
this.setList();
|
|
95
|
+
}
|
|
96
|
+
deleteEvent(event) {
|
|
97
|
+
const index = this.selectedIds.findIndex((element) => element == event[this.categoryIdKey]);
|
|
98
|
+
this.selectedIds.splice(index, 1);
|
|
99
|
+
this.setList();
|
|
100
|
+
}
|
|
101
|
+
selectAll(mode, activeTab) {
|
|
102
|
+
if (mode) {
|
|
103
|
+
const list = [...this.categoryList[activeTab].list];
|
|
104
|
+
list.forEach(element => {
|
|
105
|
+
if (!this.selectedIds.includes(element[this.categoryIdKey])) {
|
|
106
|
+
this.selectedIds.push(element[this.categoryIdKey]);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const list = [...this.categoryList[activeTab].list];
|
|
112
|
+
list.forEach(element => {
|
|
113
|
+
if (this.selectedIds.includes(element[this.categoryIdKey])) {
|
|
114
|
+
let idIndex = this.selectedIds.findIndex((id) => id == element[this.categoryIdKey]);
|
|
115
|
+
this.selectedIds.splice(idIndex, 1);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
this.setList();
|
|
120
|
+
}
|
|
121
|
+
setList() {
|
|
122
|
+
const data = [];
|
|
123
|
+
const categoryList = [...new Set(this.allCategories)];
|
|
124
|
+
// cloneDeep(this.allCategories)
|
|
125
|
+
const selectedIds = [...new Set(this.selectedIds)];
|
|
126
|
+
// cloneDeep(this.selectedIds);
|
|
127
|
+
this.categoryList.regulations.selectedList = [];
|
|
128
|
+
this.categoryList.standards.selectedList = [];
|
|
129
|
+
this.categoryList.internalControls.selectedList = [];
|
|
130
|
+
this.categoryList.others.selectedList = [];
|
|
131
|
+
categoryList.forEach((element) => {
|
|
132
|
+
if (selectedIds.includes(element[this.categoryIdKey])) {
|
|
133
|
+
data.push(element);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
this.selectedCategories = data;
|
|
137
|
+
this.footerDetails.selectedData = data;
|
|
138
|
+
this.categoryList.regulations.list.forEach((category) => {
|
|
139
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
140
|
+
this.categoryList.regulations.selectedList.push(category);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
this.categoryList.standards.list.forEach((category) => {
|
|
144
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
145
|
+
this.categoryList.standards.selectedList.push(category);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
this.categoryList.internalControls.list.forEach((category) => {
|
|
149
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
150
|
+
this.categoryList.internalControls.selectedList.push(category);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
this.categoryList.others.list.forEach((category) => {
|
|
154
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
155
|
+
this.categoryList.others.selectedList.push(category);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
if (!this.activeTab) {
|
|
159
|
+
this.setActiveTab();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
setActiveTab() {
|
|
163
|
+
if (this.categoryList.regulations.selectedList.length > 0) {
|
|
164
|
+
this.activeTab = 'regulations';
|
|
165
|
+
}
|
|
166
|
+
else if (this.categoryList.standards.selectedList.length > 0) {
|
|
167
|
+
this.activeTab = 'standards';
|
|
168
|
+
}
|
|
169
|
+
else if (this.categoryList.internalControls.selectedList.length > 0) {
|
|
170
|
+
this.activeTab = 'internalControls';
|
|
171
|
+
}
|
|
172
|
+
else if (this.categoryList.others.selectedList.length > 0) {
|
|
173
|
+
this.activeTab = 'others';
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.activeTab = 'regulations';
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
checkSelectAll(activeTab) {
|
|
180
|
+
const data = this.categoryList[activeTab].list.every((user) => this.selectedIds.includes(user[this.categoryIdKey]));
|
|
181
|
+
return data;
|
|
182
|
+
}
|
|
183
|
+
save() {
|
|
184
|
+
this.saveSelectedCategory.emit(this.selectedCategories);
|
|
185
|
+
}
|
|
186
|
+
close() {
|
|
187
|
+
this.closeCategoriesList.emit();
|
|
188
|
+
}
|
|
189
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoriesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoriesComponent, selector: "app-categories", inputs: { categoryList: "categoryList", allCategories: "allCategories", categoryIdKey: "categoryIdKey", selectedCategories: "selectedCategories" }, outputs: { saveSelectedCategory: "saveSelectedCategory", closeList: "closeList", closeCategoriesList: "closeCategoriesList" }, ngImport: i0, template: "<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Program(s)</span>\r\n </div>\r\n <div class=\"category-list-mid\">\r\n <div class=\"vx-d-flex vx-mb-2\">\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"activeTab = 'regulations'\">\r\n <div class=\"left\">\r\n <label>REGULATIONS</label>\r\n <p *ngIf=\"categoryList?.regulations?.selectedList?.length != 0\">\r\n {{categoryList?.regulations?.selectedList?.length}}\r\n {{(categoryList?.regulations?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.regulations?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"activeTab = 'standards'\">\r\n <div class=\"left\">\r\n <label>STANDARDS</label>\r\n <p *ngIf=\"categoryList?.standards?.selectedList?.length != 0\">\r\n {{categoryList?.standards?.selectedList?.length}}\r\n {{(categoryList?.standards?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.standards?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'internalControls'\" (click)=\"activeTab = 'internalControls'\">\r\n <div class=\"left\">\r\n <label>INTERNAL CONTROLS</label>\r\n <p *ngIf=\"categoryList?.internalControls?.selectedList?.length != 0\">\r\n {{categoryList?.internalControls?.selectedList?.length}}\r\n {{(categoryList?.internalControls?.selectedList?.length==1)?'Program':'programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.internalControls?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label>OTHERS</label>\r\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\r\n {{categoryList?.others?.selectedList?.length}}\r\n {{(categoryList?.others?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.list?.length}}</span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"category-list-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Program\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"(categoryList[activeTab].list | filter: search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll(activeTab)\" (ngValueChange)=\"selectAll($event,activeTab)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"category-list-item vx-mb-4\" [class.with-selectAll]=\"searchList.length > 1\" *ngIf=\"searchList.length > 0\">\r\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\" >\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\r\n (ngValueChange)=\"selectCategory($event,activeTab,category)\">\r\n <ul class=\"categories\">\r\n <li *ngFor=\"let entity of category.category_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\" delay=\"0\">{{entity}}</li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <app-no-data *ngIf=\"searchList.length == 0\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"close()\"\r\n (deleteEvent) =\"deleteEvent($event)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\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 .category-list{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-card{box-shadow:0 0 2px #00000029;border-radius:2px;height:56px;padding:12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;position:relative}::ng-deep .category-list-card .left{display:flex;flex-wrap:wrap;pointer-events:none}::ng-deep .category-list-card .left label{color:#747576;font-size:11px;font-weight:600;line-height:16px;text-transform:uppercase;width:100%}::ng-deep .category-list-card .left p{color:#161b2f;font-size:11px;font-weight:600;line-height:16px;margin:0}::ng-deep .category-list-card span.counter{display:flex;height:32px;min-width:32px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;line-height:32px;justify-content:center;align-items:center;padding:0 4px;pointer-events:none}::ng-deep .category-list-card.active{box-shadow:0 3px 12px #1e5dd326;z-index:1;pointer-events:none}::ng-deep .category-list-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-card+.category-list-card{margin-left:4px}::ng-deep .category-list-mid{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .category-list-mid::-webkit-scrollbar-track{background:transparent}::ng-deep .category-list-mid .select-all{display:flex;padding-bottom:1rem}::ng-deep .category-list-mid .select-all app-cs-checkbox{display:flex}::ng-deep .category-list-mid .select-all app-cs-checkbox .checkbox-item .value{max-width:unset!important;font-size:12px!important}::ng-deep .category-list-mid .select-all app-cs-checkbox .checkbox-item .value strong{font-weight:600;color:#161b2f}::ng-deep .category-list-mid app-no-data .no-data-wrapper{height:calc(100vh - 260px)}::ng-deep .category-list-search{position:relative}::ng-deep .category-list-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 .category-list-search input:focus{border-color:#1e5dd3}::ng-deep .category-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-item{list-style-type:none;display:block;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-item::-webkit-scrollbar-track{background:transparent}::ng-deep .category-list-item.with-selectAll{height:calc(100vh - 320px)}::ng-deep .category-list-item ul.category-list-item-ul{padding:0;margin:0}::ng-deep .category-list-item ul.category-list-item-ul li{list-style:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label{width:100%}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value{width:auto;justify-content:flex-start}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories{display:flex;max-width:100%;padding:0;margin:0;justify-content:flex-start;width:auto}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li{display:block;padding:0 16px 0 8px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#747576}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:after{content:\">\";position:absolute;top:0;right:0;color:#747576;font-size:12px}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type{color:#34aa44}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type:after{display:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:first-of-type{padding-left:0;color:#1e5dd3}\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" }] });
|
|
191
|
+
}
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoriesComponent, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'app-categories', template: "<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Program(s)</span>\r\n </div>\r\n <div class=\"category-list-mid\">\r\n <div class=\"vx-d-flex vx-mb-2\">\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"activeTab = 'regulations'\">\r\n <div class=\"left\">\r\n <label>REGULATIONS</label>\r\n <p *ngIf=\"categoryList?.regulations?.selectedList?.length != 0\">\r\n {{categoryList?.regulations?.selectedList?.length}}\r\n {{(categoryList?.regulations?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.regulations?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"activeTab = 'standards'\">\r\n <div class=\"left\">\r\n <label>STANDARDS</label>\r\n <p *ngIf=\"categoryList?.standards?.selectedList?.length != 0\">\r\n {{categoryList?.standards?.selectedList?.length}}\r\n {{(categoryList?.standards?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.standards?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'internalControls'\" (click)=\"activeTab = 'internalControls'\">\r\n <div class=\"left\">\r\n <label>INTERNAL CONTROLS</label>\r\n <p *ngIf=\"categoryList?.internalControls?.selectedList?.length != 0\">\r\n {{categoryList?.internalControls?.selectedList?.length}}\r\n {{(categoryList?.internalControls?.selectedList?.length==1)?'Program':'programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.internalControls?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label>OTHERS</label>\r\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\r\n {{categoryList?.others?.selectedList?.length}}\r\n {{(categoryList?.others?.selectedList?.length==1)?'Program':'Programs'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.list?.length}}</span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"category-list-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Program\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"(categoryList[activeTab].list | filter: search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll(activeTab)\" (ngValueChange)=\"selectAll($event,activeTab)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"category-list-item vx-mb-4\" [class.with-selectAll]=\"searchList.length > 1\" *ngIf=\"searchList.length > 0\">\r\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\" >\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\r\n (ngValueChange)=\"selectCategory($event,activeTab,category)\">\r\n <ul class=\"categories\">\r\n <li *ngFor=\"let entity of category.category_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\" delay=\"0\">{{entity}}</li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <app-no-data *ngIf=\"searchList.length == 0\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"close()\"\r\n (deleteEvent) =\"deleteEvent($event)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\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 .category-list{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-card{box-shadow:0 0 2px #00000029;border-radius:2px;height:56px;padding:12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;position:relative}::ng-deep .category-list-card .left{display:flex;flex-wrap:wrap;pointer-events:none}::ng-deep .category-list-card .left label{color:#747576;font-size:11px;font-weight:600;line-height:16px;text-transform:uppercase;width:100%}::ng-deep .category-list-card .left p{color:#161b2f;font-size:11px;font-weight:600;line-height:16px;margin:0}::ng-deep .category-list-card span.counter{display:flex;height:32px;min-width:32px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;line-height:32px;justify-content:center;align-items:center;padding:0 4px;pointer-events:none}::ng-deep .category-list-card.active{box-shadow:0 3px 12px #1e5dd326;z-index:1;pointer-events:none}::ng-deep .category-list-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-card+.category-list-card{margin-left:4px}::ng-deep .category-list-mid{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .category-list-mid::-webkit-scrollbar-track{background:transparent}::ng-deep .category-list-mid .select-all{display:flex;padding-bottom:1rem}::ng-deep .category-list-mid .select-all app-cs-checkbox{display:flex}::ng-deep .category-list-mid .select-all app-cs-checkbox .checkbox-item .value{max-width:unset!important;font-size:12px!important}::ng-deep .category-list-mid .select-all app-cs-checkbox .checkbox-item .value strong{font-weight:600;color:#161b2f}::ng-deep .category-list-mid app-no-data .no-data-wrapper{height:calc(100vh - 260px)}::ng-deep .category-list-search{position:relative}::ng-deep .category-list-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 .category-list-search input:focus{border-color:#1e5dd3}::ng-deep .category-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-item{list-style-type:none;display:block;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-item::-webkit-scrollbar-track{background:transparent}::ng-deep .category-list-item.with-selectAll{height:calc(100vh - 320px)}::ng-deep .category-list-item ul.category-list-item-ul{padding:0;margin:0}::ng-deep .category-list-item ul.category-list-item-ul li{list-style:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label{width:100%}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value{width:auto;justify-content:flex-start}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories{display:flex;max-width:100%;padding:0;margin:0;justify-content:flex-start;width:auto}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li{display:block;padding:0 16px 0 8px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#747576}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:after{content:\">\";position:absolute;top:0;right:0;color:#747576;font-size:12px}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type{color:#34aa44}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type:after{display:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:first-of-type{padding-left:0;color:#1e5dd3}\n"] }]
|
|
195
|
+
}], ctorParameters: function () { return []; }, propDecorators: { categoryList: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], allCategories: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], categoryIdKey: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], selectedCategories: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], saveSelectedCategory: [{
|
|
204
|
+
type: Output
|
|
205
|
+
}], closeList: [{
|
|
206
|
+
type: Output
|
|
207
|
+
}], closeCategoriesList: [{
|
|
208
|
+
type: Output
|
|
209
|
+
}] } });
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvY2F0ZWdvcmllcy9jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jYXRlZ29yaWVzL2NhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFHckIsWUFBWSxHQUFxQjtRQUN4QyxXQUFXLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRSxFQUFFO1NBQ2pCO1FBQ0gsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLEVBQUU7WUFDUixZQUFZLEVBQUUsRUFBRTtTQUNqQjtRQUNILGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLEVBQUU7WUFDUixZQUFZLEVBQUUsRUFBRTtTQUNqQjtRQUNILE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxFQUFFO1lBQ1IsWUFBWSxFQUFFLEVBQUU7U0FDakI7S0FDRixDQUFDO0lBQ08sYUFBYSxHQUFVLEVBQUUsQ0FBQztJQUUxQixhQUFhLENBQU07SUFDbkIsa0JBQWtCLEdBQVUsRUFBRSxDQUFDO0lBRXhDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixTQUFTLEdBQThELGFBQWEsQ0FBQztJQUNyRixXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsVUFBVSxDQUFNO0lBQ2hC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QyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFBO1NBQy9CO0lBQ0gsQ0FBQztJQUdELGNBQWMsQ0FBQyxTQUF1RTtRQUNwRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7d0dBbE1VLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHlVQ1RoQywwbkpBb0ZBOzs0RkQzRWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjswRUFPakIsWUFBWTtzQkFBcEIsS0FBSztnQkFrQkcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFvQkksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRGb290ZXJDb25maWcgfSBmcm9tICcuLi8uLi91aS1raXQvZGFzaGJvYXJkLWZvb3Rlci9kYXNoYm9hcmQtZm9vdGVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IENhdGVnb3JpZXNDb25maWcgfSBmcm9tICcuL2NhdGVnb3JpZXMtY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNhdGVnb3JpZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yaWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yaWVzLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGVnb3JpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgQElucHV0KCkgY2F0ZWdvcnlMaXN0OiBDYXRlZ29yaWVzQ29uZmlnID0ge1xyXG4gICAgcmVndWxhdGlvbnM6IHtcclxuICAgICAgbGlzdDogW10sXHJcbiAgICAgIHNlbGVjdGVkTGlzdDogW11cclxuICAgIH0sXHJcbiAgc3RhbmRhcmRzOiB7XHJcbiAgICAgIGxpc3Q6IFtdLFxyXG4gICAgICBzZWxlY3RlZExpc3Q6IFtdXHJcbiAgICB9LFxyXG4gIGludGVybmFsQ29udHJvbHM6IHtcclxuICAgICAgbGlzdDogW10sXHJcbiAgICAgIHNlbGVjdGVkTGlzdDogW11cclxuICAgIH0sXHJcbiAgb3RoZXJzOiB7XHJcbiAgICAgIGxpc3Q6IFtdLFxyXG4gICAgICBzZWxlY3RlZExpc3Q6IFtdXHJcbiAgICB9XHJcbiAgfTtcclxuICBASW5wdXQoKSBhbGxDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBjYXRlZ29yeUlkS2V5OiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBzZWFyY2ggPSAnJztcclxuICBhY3RpdmVUYWI6IFwic3RhbmRhcmRzXCIgfCBcInJlZ3VsYXRpb25zXCIgfCBcImludGVybmFsQ29udHJvbHNcIiB8IFwib3RoZXJzXCI9XCJyZWd1bGF0aW9uc1wiO1xyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIGJsb2NrV2lkdGg6IGFueTtcclxuICBmb290ZXJEZXRhaWxzOiBEYXNoYm9hcmRGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgbm9uUmVtb3ZhYmxlTGlzdDpbXSxcclxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiAnaXRlbV9uYW1lJyxcclxuICAgIGVsZW1lbnRJZDogJ2l0ZW1faWQnLFxyXG4gICAgc2luZ3VsYXJUZXh0OiAnUHJvZ3JhbSBzZWxlY3RlZCcsXHJcbiAgICBwbHVyYWxUZXh0OiAnUHJvZ3JhbXMgc2VsZWN0ZWQnLFxyXG4gICAgc2hvd0ZyZXF1ZW5jeTogZmFsc2UsXHJcbiAgICBmcmVxdWVuY3lUZXh0OiAnJyxcclxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcblxyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRDYXRlZ29yeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUNhdGVnb3JpZXNMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50W3RoaXMuY2F0ZWdvcnlJZEtleV0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpXHJcblxyXG5cclxuICB9XHJcblxyXG4gIHNlbGVjdENhdGVnb3J5KG1vZGU6IGFueSwgYWN0aXZlVGFiOiBhbnksIGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmIChtb2RlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgY29uc3QgcmNFbGVtZW50ID0gdGhpcy5hbGxDYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PSBjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5hbGxDYXRlZ29yaWVzW3JjRWxlbWVudF07XHJcbiAgICAgICAgaWYgKHBhcmVudFJjPy5jaGlsZF9jYXRfaWRzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBwYXJlbnRSYy5jaGlsZF9jYXRfaWRzLmZvckVhY2goKGNoaWxkRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmKCF0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGNoaWxkRWxlbWVudCkpe1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChjaGlsZEVsZW1lbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLmFsbENhdGVnb3JpZXMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09IGNhdGVnb3J5W3RoaXMuY2F0ZWdvcnlJZEtleV0pO1xyXG4gICAgICAgIGlmIChyY0VsZW1lbnQgIT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5hbGxDYXRlZ29yaWVzW3JjRWxlbWVudF07XHJcbiAgICAgICAgICBpZiAocGFyZW50UmM/LmNoaWxkX2NhdF9pZHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGFyZW50UmMuY2hpbGRfY2F0X2lkcy5mb3JFYWNoKChjaGlsZEVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJlbW92ZUluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKHJlbW92ZUVsZW1lbnQ6IGFueSkgPT4gcmVtb3ZlRWxlbWVudCA9PSBjaGlsZEVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKHJlbW92ZUluZGV4LCAxKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50W3RoaXMuY2F0ZWdvcnlJZEtleV0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwobW9kZTogYW55LCBhY3RpdmVUYWI6ICBcInN0YW5kYXJkc1wiIHwgXCJyZWd1bGF0aW9uc1wiIHwgXCJpbnRlcm5hbENvbnRyb2xzXCIgfCBcIm90aGVyc1wiKSB7XHJcblxyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuY2F0ZWdvcnlMaXN0W2FjdGl2ZVRhYl0ubGlzdF07XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZW1lbnRbdGhpcy5jYXRlZ29yeUlkS2V5XSkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZW1lbnRbdGhpcy5jYXRlZ29yeUlkS2V5XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7ICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLmNhdGVnb3J5TGlzdFthY3RpdmVUYWJdLmxpc3RdO1xyXG4gICAgICBsaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgICAgbGV0IGlkSW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoaWQ6IGFueSkgPT4gaWQgPT0gZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGlkSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIHNldExpc3QoKSB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGNhdGVnb3J5TGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuYWxsQ2F0ZWdvcmllcyldIFxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMuYWxsQ2F0ZWdvcmllcylcclxuICAgIGNvbnN0IHNlbGVjdGVkSWRzID1bLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkSWRzKV0gXHJcbiAgICAvLyAgY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgdGhpcy5jYXRlZ29yeUxpc3QucmVndWxhdGlvbnMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdGFuZGFyZHMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5pbnRlcm5hbENvbnRyb2xzLnNlbGVjdGVkTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5jYXRlZ29yeUxpc3Qub3RoZXJzLnNlbGVjdGVkTGlzdCA9IFtdO1xyXG5cclxuICAgIGNhdGVnb3J5TGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZW1lbnRbdGhpcy5jYXRlZ29yeUlkS2V5XSkpIHtcclxuICAgICAgICBkYXRhLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3JpZXMgPSBkYXRhO1xyXG4gICAgdGhpcy5mb290ZXJEZXRhaWxzLnNlbGVjdGVkRGF0YSA9IGRhdGE7XHJcblxyXG4gICAgdGhpcy5jYXRlZ29yeUxpc3QucmVndWxhdGlvbnMubGlzdC5mb3JFYWNoKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnJlZ3VsYXRpb25zLnNlbGVjdGVkTGlzdC5wdXNoKGNhdGVnb3J5KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnN0YW5kYXJkcy5saXN0LmZvckVhY2goKGNhdGVnb3J5OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGNhdGVnb3J5W3RoaXMuY2F0ZWdvcnlJZEtleV0pKSB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3Quc3RhbmRhcmRzLnNlbGVjdGVkTGlzdC5wdXNoKGNhdGVnb3J5KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2F0ZWdvcnlMaXN0LmludGVybmFsQ29udHJvbHMubGlzdC5mb3JFYWNoKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LmludGVybmFsQ29udHJvbHMuc2VsZWN0ZWRMaXN0LnB1c2goY2F0ZWdvcnkpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jYXRlZ29yeUxpc3Qub3RoZXJzLmxpc3QuZm9yRWFjaCgoY2F0ZWdvcnk6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoY2F0ZWdvcnlbdGhpcy5jYXRlZ29yeUlkS2V5XSkpIHtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuc2VsZWN0ZWRMaXN0LnB1c2goY2F0ZWdvcnkpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZVRhYikge1xyXG4gICAgICB0aGlzLnNldEFjdGl2ZVRhYigpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXRBY3RpdmVUYWIoKSB7XHJcbiAgICBpZiAodGhpcy5jYXRlZ29yeUxpc3QucmVndWxhdGlvbnMuc2VsZWN0ZWRMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWIgPSAncmVndWxhdGlvbnMnXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2F0ZWdvcnlMaXN0LnN0YW5kYXJkcy5zZWxlY3RlZExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdzdGFuZGFyZHMnXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2F0ZWdvcnlMaXN0LmludGVybmFsQ29udHJvbHMuc2VsZWN0ZWRMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnaW50ZXJuYWxDb250cm9scydcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jYXRlZ29yeUxpc3Qub3RoZXJzLnNlbGVjdGVkTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGFiID0gJ290aGVycydcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGFiID0gJ3JlZ3VsYXRpb25zJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKGFjdGl2ZVRhYjogIFwic3RhbmRhcmRzXCIgfCBcInJlZ3VsYXRpb25zXCIgfCBcImludGVybmFsQ29udHJvbHNcIiB8IFwib3RoZXJzXCIpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNhdGVnb3J5TGlzdFthY3RpdmVUYWJdLmxpc3QuZXZlcnkoKHVzZXI6IGFueSkgPT4gdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VyW3RoaXMuY2F0ZWdvcnlJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkuZW1pdCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VDYXRlZ29yaWVzTGlzdC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0XCIgW2NsYXNzLmFuaW1hdGUtc2xpZGVJblJpZ2h0XT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgUHJvZ3JhbShzKTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtbWlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtbWItMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAncmVndWxhdGlvbnMnXCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9ICdyZWd1bGF0aW9ucydcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5SRUdVTEFUSU9OUzwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxwICpuZ0lmPVwiY2F0ZWdvcnlMaXN0Py5yZWd1bGF0aW9ucz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGggIT0gMFwiPlxyXG4gICAgICAgICAgICAgIHt7Y2F0ZWdvcnlMaXN0Py5yZWd1bGF0aW9ucz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgIHt7KGNhdGVnb3J5TGlzdD8ucmVndWxhdGlvbnM/LnNlbGVjdGVkTGlzdD8ubGVuZ3RoPT0xKT8nUHJvZ3JhbSc6J1Byb2dyYW1zJ319IHNlbGVjdGVkXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/LnJlZ3VsYXRpb25zPy5saXN0Py5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ3N0YW5kYXJkcydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ3N0YW5kYXJkcydcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5TVEFOREFSRFM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cCAqbmdJZj1cImNhdGVnb3J5TGlzdD8uc3RhbmRhcmRzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgICAge3tjYXRlZ29yeUxpc3Q/LnN0YW5kYXJkcz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgIHt7KGNhdGVnb3J5TGlzdD8uc3RhbmRhcmRzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aD09MSk/J1Byb2dyYW0nOidQcm9ncmFtcyd9fSBzZWxlY3RlZFxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5zdGFuZGFyZHM/Lmxpc3Q/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnaW50ZXJuYWxDb250cm9scydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ2ludGVybmFsQ29udHJvbHMnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+SU5URVJOQUwgQ09OVFJPTFM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cCAqbmdJZj1cImNhdGVnb3J5TGlzdD8uaW50ZXJuYWxDb250cm9scz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGggIT0gMFwiPlxyXG4gICAgICAgICAgICAgIHt7Y2F0ZWdvcnlMaXN0Py5pbnRlcm5hbENvbnRyb2xzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aH19XHJcbiAgICAgICAgICAgICAge3soY2F0ZWdvcnlMaXN0Py5pbnRlcm5hbENvbnRyb2xzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aD09MSk/J1Byb2dyYW0nOidwcm9ncmFtcyd9fSBzZWxlY3RlZFxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5pbnRlcm5hbENvbnRyb2xzPy5saXN0Py5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ290aGVycydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ290aGVycydcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5PVEhFUlM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cCAqbmdJZj1cImNhdGVnb3J5TGlzdD8ub3RoZXJzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgICAge3tjYXRlZ29yeUxpc3Q/Lm90aGVycz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgIHt7KGNhdGVnb3J5TGlzdD8ub3RoZXJzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aD09MSk/J1Byb2dyYW0nOidQcm9ncmFtcyd9fSBzZWxlY3RlZFxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5vdGhlcnM/Lmxpc3Q/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3Qtc2VhcmNoIHZ4LW1iLTJcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBQcm9ncmFtXCIgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNhdGVnb3J5TGlzdFthY3RpdmVUYWJdLmxpc3QgfCBmaWx0ZXI6IHNlYXJjaCkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsXCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoYWN0aXZlVGFiKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQsYWN0aXZlVGFiKVwiPlxyXG4gICAgICAgICAgICA8c3Ryb25nPnt7Y2hlY2tTZWxlY3RBbGwoYWN0aXZlVGFiKSA/ICdEZXNlbGVjdCBBbGwnIDogJ1NlbGVjdCBBbGwnfX08L3N0cm9uZz5cclxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LWl0ZW0gdngtbWItNFwiIFtjbGFzcy53aXRoLXNlbGVjdEFsbF09XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDFcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1pdGVtLXVsIHZ4LW0tMCB2eC1wLTBcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtbWItNFwiICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBzZWFyY2hMaXN0XCIgPlxyXG4gICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwic2VsZWN0ZWRJZHMuaW5jbHVkZXMoY2F0ZWdvcnlbY2F0ZWdvcnlJZEtleV0pXCJcclxuICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RDYXRlZ29yeSgkZXZlbnQsYWN0aXZlVGFiLGNhdGVnb3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY2F0ZWdvcmllc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVudGl0eSBvZiBjYXRlZ29yeS5jYXRlZ29yeV9uYW1lOyBsZXQgaiA9IGluZGV4XCIgW2FyVG9vbHRpcF09XCJlbnRpdHlcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiPnt7ZW50aXR5fX08L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxhcHAtbm8tZGF0YSAgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA9PSAwXCIgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+XHJcbiAgICAgICAgPC9hcHAtbm8tZGF0YT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXIgXHJcbiAgICAgIFtmb290ZXJEZXRhaWxzXSA9XCJmb290ZXJEZXRhaWxzXCJcclxuICAgICAgKGNhbmNlbEV2ZW50KT1cImNsb3NlKClcIlxyXG4gICAgICAoZGVsZXRlRXZlbnQpID1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgICAoc3VibWl0RXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgPjwvYXBwLWRhc2hib2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|