vc-layout 3.0.3 → 3.0.4
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/fesm2022/vc-layout.mjs +573 -354
- package/fesm2022/vc-layout.mjs.map +1 -1
- package/lib/components/ai-assistant/ai-assistant-container.component.d.ts +25 -0
- package/lib/components/ai-assistant/assistant-state.config.d.ts +11 -0
- package/lib/components/header/ai-assistant/ai-assistant.component.d.ts +12 -0
- package/lib/components/header/business-cycle/business-cycle.component.d.ts +1 -0
- package/lib/components/header/header-container/header-container.component.d.ts +5 -3
- package/lib/components/header/header.module.d.ts +11 -9
- package/lib/components/product-list/module-list/module-list.component.d.ts +0 -10
- package/lib/constants/assistant.constants.d.ts +2 -0
- package/lib/shared/pipe/pipes.module.d.ts +3 -2
- package/lib/shared/pipe/safe-url.pipe.d.ts +10 -0
- package/lib/shared/services/local-storage.service.d.ts +8 -0
- package/package.json +3 -5
- package/public-api.d.ts +1 -0
- package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +0 -191
- package/esm2022/lib/components/global-alert/global-alert.module.mjs +0 -18
- package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +0 -275
- package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +0 -21
- package/esm2022/lib/components/header/header-container/header-container.component.mjs +0 -129
- package/esm2022/lib/components/header/header.module.mjs +0 -71
- package/esm2022/lib/components/header/queue/queue.component.mjs +0 -59
- package/esm2022/lib/components/header/search/search.component.mjs +0 -136
- package/esm2022/lib/components/header/support/support.component.mjs +0 -31
- package/esm2022/lib/components/header/user-details/user-details.component.mjs +0 -34
- package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +0 -255
- package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +0 -97
- package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +0 -42
- package/esm2022/lib/components/product-list/product-list.module.mjs +0 -31
- package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +0 -106
- package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +0 -19
- package/esm2022/lib/configurations.mjs +0 -6
- package/esm2022/lib/constants/alerts.constant.mjs +0 -7
- package/esm2022/lib/constants/api.constant.mjs +0 -7
- package/esm2022/lib/constants/app-url.constant.mjs +0 -22
- package/esm2022/lib/constants/assets.constants.mjs +0 -35
- package/esm2022/lib/constants/business-cycle.constant.mjs +0 -42
- package/esm2022/lib/constants/product-list.constant.mjs +0 -124
- package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +0 -17
- package/esm2022/lib/shared/pipe/date-format.pipe.mjs +0 -35
- package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +0 -22
- package/esm2022/lib/shared/pipe/get-module-icon.pipe.mjs +0 -22
- package/esm2022/lib/shared/pipe/pipes.module.mjs +0 -37
- package/esm2022/lib/shared/services/RBAC.service.mjs +0 -57
- package/esm2022/lib/shared/services/api.service.mjs +0 -127
- package/esm2022/lib/shared/services/business-cycle.service.mjs +0 -123
- package/esm2022/lib/shared/services/layout.service.mjs +0 -41
- package/esm2022/lib/shared/services/product-list.service.mjs +0 -82
- package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +0 -43
- package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +0 -19
- package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +0 -39
- package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +0 -29
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -28
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +0 -32
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -30
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +0 -14
- package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -102
- package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -35
- package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +0 -65
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +0 -19
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +0 -24
- package/esm2022/lib/shared/ui-kit/page-loader/page-loader.component.mjs +0 -27
- package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +0 -28
- package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +0 -48
- package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +0 -141
- package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +0 -82
- package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +0 -23
- package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +0 -15
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +0 -156
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/lib/vc-layout.component.mjs +0 -19
- package/esm2022/lib/vc-layout.module.mjs +0 -24
- package/esm2022/lib/vc-layout.service.mjs +0 -14
- package/esm2022/public-api.mjs +0 -14
- package/esm2022/vc-layout.mjs +0 -5
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FUTURE_DATES } from '../../../constants/business-cycle.constant';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@vcomply/authorizer";
|
|
5
|
-
import * as i2 from "../../../shared/services/business-cycle.service";
|
|
6
|
-
import * as i3 from "../../../shared/services/api.service";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "../../../shared/ui-kit/tooltip/tooltip.directive";
|
|
9
|
-
import * as i6 from "../../../shared/ui-kit/popover/popover.component";
|
|
10
|
-
import * as i7 from "../../../shared/ui-kit/popover/popover.directive";
|
|
11
|
-
import * as i8 from "../../../shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
12
|
-
import * as i9 from "../../../shared/pipe/date-format.pipe";
|
|
13
|
-
export class BusinessCycleComponent {
|
|
14
|
-
constructor(authService, businessCycleService, apiService) {
|
|
15
|
-
this.authService = authService;
|
|
16
|
-
this.businessCycleService = businessCycleService;
|
|
17
|
-
this.apiService = apiService;
|
|
18
|
-
this.cycleToShow = 'Business Cycle';
|
|
19
|
-
this.businessCycleArr = [];
|
|
20
|
-
this.hiddenCycle = [];
|
|
21
|
-
this.tempBusinessCycleArr = [];
|
|
22
|
-
this.tempHiddenCycle = [0];
|
|
23
|
-
this.businessCyclesList = [];
|
|
24
|
-
this.tempSelectedCycle = [];
|
|
25
|
-
this.userId = 0;
|
|
26
|
-
this.businessCycleChange = new EventEmitter();
|
|
27
|
-
this.userId = this.authService.getUserId() ?? 0;
|
|
28
|
-
this.businessCycleService.isBusinessCycleAvailable();
|
|
29
|
-
this.setSelectedBusinessCycle();
|
|
30
|
-
this.getOrgDetails();
|
|
31
|
-
}
|
|
32
|
-
ngOnInit() { }
|
|
33
|
-
getOrgDetails() {
|
|
34
|
-
this.apiService.organizationDetail$.subscribe((res) => {
|
|
35
|
-
if (res) {
|
|
36
|
-
this.setBusinessCycleKey(res.business_cycles_arr);
|
|
37
|
-
this.setBusinessCycle();
|
|
38
|
-
this.setCycleEnableDisable();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
setSelectedBusinessCycle() {
|
|
43
|
-
this.businessCycleService.selectedBusinessCycle$.subscribe((res) => {
|
|
44
|
-
if (res) {
|
|
45
|
-
this.selectedBusinessCycle = res;
|
|
46
|
-
this.setTempSelectedCycle(res);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* #### Description
|
|
52
|
-
* it will set a new key in every cycle
|
|
53
|
-
* key will use for disabled or enable the cycle from business cycle list.
|
|
54
|
-
* @param businessCycle this the business cycle list
|
|
55
|
-
*/
|
|
56
|
-
setBusinessCycleKey(businessCycle) {
|
|
57
|
-
this.businessCycleList = businessCycle;
|
|
58
|
-
if (this.businessCycleList.length)
|
|
59
|
-
this.businessCycleList.map((cycle) => {
|
|
60
|
-
cycle['isDisabled'] = false;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* #### Description
|
|
65
|
-
* it will check the cycle if it is not checked.
|
|
66
|
-
* if it has checked then it will uncheck that cycle.
|
|
67
|
-
* @param cycle checked or unchecked cycle from business cycle list.
|
|
68
|
-
* @param index it give the index value of business cycle list which is selected.
|
|
69
|
-
*/
|
|
70
|
-
selectCycle(cycle, index) {
|
|
71
|
-
const isExist = this.tempSelectedCycle.findIndex((el) => el.start_date == cycle.start_date);
|
|
72
|
-
if (isExist >= 0) {
|
|
73
|
-
this.tempSelectedCycle.splice(isExist, 1);
|
|
74
|
-
}
|
|
75
|
-
else if (this.tempSelectedCycle?.length === 0) {
|
|
76
|
-
this.tempSelectedCycle.push(cycle);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
const selectedIndex = this.businessCycleList.findIndex((el) => el.start_date == this.tempSelectedCycle[0]?.start_date);
|
|
80
|
-
if (selectedIndex < index) {
|
|
81
|
-
this.tempSelectedCycle.unshift(cycle);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
this.tempSelectedCycle.push(cycle);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
this.setCycleEnableDisable();
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* #### Description
|
|
91
|
-
*
|
|
92
|
-
* need to check cycle includes in selected cycle array
|
|
93
|
-
* Determines whether selected cycle is
|
|
94
|
-
* @param selectedCycle selected Cycle which user checked or auto selected cycle.
|
|
95
|
-
* @param cycle all indivisible cycle of business cycle of the organization.
|
|
96
|
-
* @returns boolean value is cycle exist in selected cycle or not.
|
|
97
|
-
*/
|
|
98
|
-
isSelectedCycle(selectedCycle, cycle) {
|
|
99
|
-
let isSelected = false;
|
|
100
|
-
selectedCycle.forEach((el) => {
|
|
101
|
-
if (el.start_date == cycle.start_date) {
|
|
102
|
-
isSelected = true;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
return isSelected;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* #### Description
|
|
109
|
-
*
|
|
110
|
-
* set selected businessCycle to temp business cycle indivisible if there is two selected cycle
|
|
111
|
-
* Sets temp selected cycle
|
|
112
|
-
* @param cycle selected business cycle from local storage
|
|
113
|
-
*/
|
|
114
|
-
setTempSelectedCycle(cycle) {
|
|
115
|
-
this.tempSelectedCycle = [];
|
|
116
|
-
if (cycle?.selected_cycle_arr?.length === 1) {
|
|
117
|
-
this.tempSelectedCycle.push(cycle);
|
|
118
|
-
this.setCycleToShow(cycle);
|
|
119
|
-
// this.cycleToShow = cycle.business_cycle;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
cycle?.selected_cycle_arr?.forEach((el, i) => {
|
|
123
|
-
let payload = {
|
|
124
|
-
start_date: el.substring(0, 10),
|
|
125
|
-
end_date: el.substring(el?.length - 10, el?.lenth),
|
|
126
|
-
selected: true,
|
|
127
|
-
business_cycle: cycle?.business_cycle[i],
|
|
128
|
-
selected_cycle: cycle?.selected_cycle[i],
|
|
129
|
-
selected_cycle_arr: [el],
|
|
130
|
-
};
|
|
131
|
-
this.tempSelectedCycle.push(payload);
|
|
132
|
-
});
|
|
133
|
-
// this.cycleToShow = cycle?.business_cycle[0]?.substring(0,11) + " - " + cycle?.business_cycle[1].substring(cycle?.business_cycle[1]?.length-11, cycle?.business_cycle[1]?.lenth);
|
|
134
|
-
}
|
|
135
|
-
// this.setCycleToShow(cycle);
|
|
136
|
-
this.setCycleEnableDisable();
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* #### Description
|
|
140
|
-
* when user select one cycle then their besides cycles are enable and other are disabled.
|
|
141
|
-
* if user select two cycles then all the cycles get disabled except selected cycles.
|
|
142
|
-
*
|
|
143
|
-
* In businessCycleList array we set a isDisabled key, we are set it true when need to disabled the cycle.
|
|
144
|
-
*/
|
|
145
|
-
setCycleEnableDisable() {
|
|
146
|
-
if (!this.tempSelectedCycle?.length) {
|
|
147
|
-
if (this.businessCycleList?.length)
|
|
148
|
-
this.businessCycleList.map((cycle) => {
|
|
149
|
-
cycle['isDisabled'] = false;
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
else if (this.tempSelectedCycle?.length === 1) {
|
|
153
|
-
const index = this.businessCycleList?.findIndex((el) => el.start_date == this.tempSelectedCycle[0].start_date);
|
|
154
|
-
this.businessCycleList?.forEach((cycle, i) => {
|
|
155
|
-
if (index - 1 === i || index === i || index + 1 === i) {
|
|
156
|
-
cycle.isDisabled = false;
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
cycle.isDisabled = true;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
this.businessCycleList?.forEach((cycle) => {
|
|
165
|
-
let isDisabled = true;
|
|
166
|
-
this.tempSelectedCycle.forEach((el) => {
|
|
167
|
-
if (cycle.start_date == el.start_date) {
|
|
168
|
-
isDisabled = false;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
cycle.isDisabled = isDisabled;
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* #### Description
|
|
177
|
-
* When user click apply then selected cycle is set in local storage.
|
|
178
|
-
*
|
|
179
|
-
*/
|
|
180
|
-
setBusinessCycle() {
|
|
181
|
-
const combinedDates = this.businessCycleService.convertNumericAlpha(this.businessCycleList[0]?.start_date +
|
|
182
|
-
this.businessCycleList[0]?.end_date);
|
|
183
|
-
const isFutureDates = (cycle) => cycle?.business_cycle === combinedDates &&
|
|
184
|
-
this.businessCycleList[0]?.business_cycle === FUTURE_DATES;
|
|
185
|
-
let businessCycleObject = {
|
|
186
|
-
userId: this.userId,
|
|
187
|
-
selectedCycle: {
|
|
188
|
-
selected: true,
|
|
189
|
-
business_cycle: [],
|
|
190
|
-
selected_cycle_arr: [],
|
|
191
|
-
},
|
|
192
|
-
};
|
|
193
|
-
if (this.tempSelectedCycle?.length === 1) {
|
|
194
|
-
this.setSingleSelectedCycle(businessCycleObject, isFutureDates);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
this.setMultipleSelectedCycles(businessCycleObject, isFutureDates);
|
|
198
|
-
}
|
|
199
|
-
this.setCycleToShow(businessCycleObject?.selectedCycle);
|
|
200
|
-
localStorage.setItem('businessCycle', JSON.stringify(businessCycleObject));
|
|
201
|
-
this.selectedBusinessCycle = businessCycleObject?.selectedCycle;
|
|
202
|
-
this.businessCycleChange.emit(this.selectedBusinessCycle);
|
|
203
|
-
this.businessCycleService.changeBusinessCycle$.next(true);
|
|
204
|
-
}
|
|
205
|
-
setSingleSelectedCycle(businessCycleObject, isFutureDates) {
|
|
206
|
-
const cycle = this.tempSelectedCycle[0];
|
|
207
|
-
if (isFutureDates(cycle)) {
|
|
208
|
-
cycle.business_cycle = FUTURE_DATES;
|
|
209
|
-
}
|
|
210
|
-
Object.assign(businessCycleObject?.selectedCycle, {
|
|
211
|
-
start_date: cycle?.start_date,
|
|
212
|
-
end_date: cycle?.end_date,
|
|
213
|
-
business_cycle: cycle?.business_cycle,
|
|
214
|
-
selected_cycle: `${cycle?.start_date}-${cycle?.end_date}`,
|
|
215
|
-
selected_cycle_arr: [`${cycle?.start_date}-${cycle?.end_date}`],
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
setMultipleSelectedCycles(businessCycleObject, isFutureDates) {
|
|
219
|
-
this.tempSelectedCycle?.forEach((cycle) => {
|
|
220
|
-
businessCycleObject?.selectedCycle.business_cycle?.push(isFutureDates(cycle) ? FUTURE_DATES : cycle?.business_cycle);
|
|
221
|
-
businessCycleObject?.selectedCycle.selected_cycle_arr?.push(`${cycle?.start_date}-${cycle?.end_date}`);
|
|
222
|
-
});
|
|
223
|
-
businessCycleObject.selectedCycle.start_date =
|
|
224
|
-
this.tempSelectedCycle[0]?.start_date;
|
|
225
|
-
businessCycleObject.selectedCycle.end_date =
|
|
226
|
-
this.tempSelectedCycle[1]?.end_date;
|
|
227
|
-
businessCycleObject.selectedCycle.selected_cycle = `${businessCycleObject?.selectedCycle?.start_date}-${businessCycleObject?.selectedCycle?.end_date}`;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* #### Description
|
|
231
|
-
* when user click cancel then it will close the popover.
|
|
232
|
-
* remove temp value from term selected array and set the previous selected cycle in it.
|
|
233
|
-
*/
|
|
234
|
-
cancelBusinessCycle() {
|
|
235
|
-
this.setTempSelectedCycle(this.selectedBusinessCycle);
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* #### Description
|
|
239
|
-
* this will set the string of business cycle which will display in the header.
|
|
240
|
-
* @param cycle object which is selected and apply. the same object will store in local storage.
|
|
241
|
-
*/
|
|
242
|
-
setCycleToShow(cycle) {
|
|
243
|
-
if (cycle?.selected_cycle_arr?.length === 1) {
|
|
244
|
-
if (cycle?.business_cycle?.toLowerCase() == 'show future due dates') {
|
|
245
|
-
this.cycleToShow = 'Future Due Dates';
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
this.cycleToShow = cycle.business_cycle;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
if (cycle?.business_cycle?.length > 0 &&
|
|
253
|
-
cycle?.business_cycle[1]?.toLowerCase() == 'show future due dates') {
|
|
254
|
-
this.cycleToShow = cycle?.business_cycle[0]?.substring(0, 11);
|
|
255
|
-
}
|
|
256
|
-
else if (cycle?.business_cycle?.length) {
|
|
257
|
-
this.cycleToShow =
|
|
258
|
-
cycle?.business_cycle[0]?.substring(0, 11) +
|
|
259
|
-
' - ' +
|
|
260
|
-
cycle?.business_cycle[1].substring(cycle?.business_cycle[1]?.length - 11, cycle?.business_cycle[1]?.lenth);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleComponent, deps: [{ token: i1.AuthorizerService }, { token: i2.BusinessCycleService }, { token: i3.ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BusinessCycleComponent, selector: "vc-business-cycle", inputs: { orgDetails: "orgDetails" }, outputs: { businessCycleChange: "businessCycleChange" }, ngImport: i0, template: "<div\n class=\"vc-business-cycle vx-pt-2 vx-pb-2\"\n appPopover\n (click)=\"businessCyclePop.popover()\"\n position=\"left\"\n>\n <div class=\"heading vx-fs-9 vx-tt-uppercase vx-mb-1 vx-lh-3\">\n SHOWING DATA {{ cycleToShow === \"Show Future Due Dates\" ? \"For\" : \"From\" }}\n </div>\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-lh-4\">\n <div class=\"vx-d-flex vx-align-center\">\n <i class=\"icons calendar vx-fs-12 vx-mr-2\"></i>\n <span class=\"vx-fs-11 vx-txt-white vx-d-inline-block\">{{\n cycleToShow === \"Show Future Due Dates\"\n ? \"Future Due Dates\"\n : cycleToShow\n }}</span>\n </div>\n <i class=\"icons arrow vx-fs-10 vx-mr-2\"></i>\n </div>\n</div>\n\n<vui-popover #businessCyclePop [dontCloseonClick]=\"true\">\n <div class=\"vc-business-cycle-popover-container\">\n <div\n class=\"vc-business-cycle-popover-container-top vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n >\n <p class=\"vx-fs-11 vx-fw-400 vx-label-txt vx-p-0 vx-m-0\">\n You can select upto a max of two consecutive years\n </p>\n </div>\n <div class=\"vc-business-cycle-popover-container-body\">\n <ul class=\"vx-p-0 vx-m-0\">\n <ng-container\n *ngFor=\"let eachCycle of businessCycleList; let i = index\"\n >\n <li\n *ngIf=\"\n eachCycle?.business_cycle?.toLowerCase() ===\n 'show future due dates'\n \"\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n [class.future-cycle]=\"true\"\n >\n <app-cs-checkbox\n [ngValue]=\"isSelectedCycle(tempSelectedCycle, eachCycle)\"\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\n [disabled]=\"eachCycle?.isDisabled\"\n >Show Future Due Dates</app-cs-checkbox\n >\n <i\n class=\"icons info-icon vx-fs-12\"\n [arTooltip]=\"\n 'This option lets you view data that lies outside the current business cycle and are due in the future.'\n \"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </li>\n <li\n *ngIf=\"\n eachCycle?.business_cycle?.toLowerCase() !==\n 'show future due dates'\n \"\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n >\n <app-cs-checkbox\n [ngValue]=\"isSelectedCycle(tempSelectedCycle, eachCycle)\"\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\n [disabled]=\"eachCycle?.isDisabled\"\n >{{ eachCycle?.start_date | dateFormat }} -\n <ng-container>\n {{ eachCycle?.end_date | dateFormat }}</ng-container\n >\n </app-cs-checkbox>\n </li>\n </ng-container>\n </ul>\n </div>\n <div\n class=\"vc-business-cycle-popover-container-footer vx-d-flex vx-justify-between vx-p-3\"\n >\n <button\n (click)=\"businessCyclePop.closePopover('top')\"\n class=\"white vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-blue\"\n >\n CANCEL\n </button>\n <button\n (click)=\"setBusinessCycle(); businessCyclePop.closePopover('top')\"\n [class.disabled]=\"false\"\n class=\"blue vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-white\"\n >\n APPLY\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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/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-right.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/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-right.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\";::ng-deep .vc-business-cycle{position:relative;width:12.5rem;height:3rem;cursor:pointer;z-index:1}::ng-deep .vc-business-cycle .heading{color:#e3e3e9}::ng-deep .vc-business-cycle i.calendar{color:#e3e3e9}::ng-deep .vc-business-cycle i.arrow{color:#f1f1f1}::ng-deep .vc-business-cycle-popover-container{width:15.625rem;background:#fff;box-shadow:0 4px 8px #1e5dd326;border:1px solid #e3e3e9;border-radius:.25rem;z-index:4}::ng-deep .vc-business-cycle-popover-container-top{background:#f8f8f8}::ng-deep .vc-business-cycle-popover-container-top p{line-height:.875rem}::ng-deep .vc-business-cycle-popover-container-body{background:#fff;max-height:200px;overflow-y:auto}::ng-deep .vc-business-cycle-popover-container-body ul li{list-style:none;margin:0;position:relative}::ng-deep .vc-business-cycle-popover-container-body ul li:before{background:#f1f1f1;content:\"\";position:absolute;left:.75rem;right:.75rem;bottom:0;height:.0625rem;width:calc(100% - 1.5rem)}::ng-deep .vc-business-cycle-popover-container-body ul li:last-of-type:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle{background:#fadd8a}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.checkbox{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.value i{margin-left:.375rem}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle .info-icon{margin-left:.375rem;cursor:context-menu}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox{display:flex}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox label.checkbox-item span.value{font-size:12px!important;color:#161b2f!important;max-width:100%!important}::ng-deep .vc-business-cycle-popover-container-footer{background:#f8f8f8;border-radius:0 0 .25rem .25rem}::ng-deep .vc-business-cycle-popover-container-footer button{width:calc(50% - .125rem);height:1.5rem;border:1px solid transparent;text-transform:uppercase;border-radius:.125rem;line-height:1.375rem}::ng-deep .vc-business-cycle-popover-container-footer button.white{background:#fff;border-color:#dbdbdb}::ng-deep .vc-business-cycle-popover-container-footer button.blue{background:#1e5dd3;border-color:#1e5dd3}::ng-deep .vc-business-cycle-popover-container-footer button.disabled{background:#dbdbdb;color:#747576;border:none;pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i6.PopoverComponent, selector: "vui-popover", inputs: ["dontCloseonClick"], outputs: ["closedOnOverlay"] }, { kind: "directive", type: i7.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "position"] }, { kind: "component", type: i8.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "pipe", type: i9.DateFormatPipe, name: "dateFormat" }] }); }
|
|
266
|
-
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleComponent, decorators: [{
|
|
268
|
-
type: Component,
|
|
269
|
-
args: [{ selector: 'vc-business-cycle', template: "<div\n class=\"vc-business-cycle vx-pt-2 vx-pb-2\"\n appPopover\n (click)=\"businessCyclePop.popover()\"\n position=\"left\"\n>\n <div class=\"heading vx-fs-9 vx-tt-uppercase vx-mb-1 vx-lh-3\">\n SHOWING DATA {{ cycleToShow === \"Show Future Due Dates\" ? \"For\" : \"From\" }}\n </div>\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-lh-4\">\n <div class=\"vx-d-flex vx-align-center\">\n <i class=\"icons calendar vx-fs-12 vx-mr-2\"></i>\n <span class=\"vx-fs-11 vx-txt-white vx-d-inline-block\">{{\n cycleToShow === \"Show Future Due Dates\"\n ? \"Future Due Dates\"\n : cycleToShow\n }}</span>\n </div>\n <i class=\"icons arrow vx-fs-10 vx-mr-2\"></i>\n </div>\n</div>\n\n<vui-popover #businessCyclePop [dontCloseonClick]=\"true\">\n <div class=\"vc-business-cycle-popover-container\">\n <div\n class=\"vc-business-cycle-popover-container-top vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n >\n <p class=\"vx-fs-11 vx-fw-400 vx-label-txt vx-p-0 vx-m-0\">\n You can select upto a max of two consecutive years\n </p>\n </div>\n <div class=\"vc-business-cycle-popover-container-body\">\n <ul class=\"vx-p-0 vx-m-0\">\n <ng-container\n *ngFor=\"let eachCycle of businessCycleList; let i = index\"\n >\n <li\n *ngIf=\"\n eachCycle?.business_cycle?.toLowerCase() ===\n 'show future due dates'\n \"\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n [class.future-cycle]=\"true\"\n >\n <app-cs-checkbox\n [ngValue]=\"isSelectedCycle(tempSelectedCycle, eachCycle)\"\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\n [disabled]=\"eachCycle?.isDisabled\"\n >Show Future Due Dates</app-cs-checkbox\n >\n <i\n class=\"icons info-icon vx-fs-12\"\n [arTooltip]=\"\n 'This option lets you view data that lies outside the current business cycle and are due in the future.'\n \"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </li>\n <li\n *ngIf=\"\n eachCycle?.business_cycle?.toLowerCase() !==\n 'show future due dates'\n \"\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\n >\n <app-cs-checkbox\n [ngValue]=\"isSelectedCycle(tempSelectedCycle, eachCycle)\"\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\n [disabled]=\"eachCycle?.isDisabled\"\n >{{ eachCycle?.start_date | dateFormat }} -\n <ng-container>\n {{ eachCycle?.end_date | dateFormat }}</ng-container\n >\n </app-cs-checkbox>\n </li>\n </ng-container>\n </ul>\n </div>\n <div\n class=\"vc-business-cycle-popover-container-footer vx-d-flex vx-justify-between vx-p-3\"\n >\n <button\n (click)=\"businessCyclePop.closePopover('top')\"\n class=\"white vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-blue\"\n >\n CANCEL\n </button>\n <button\n (click)=\"setBusinessCycle(); businessCyclePop.closePopover('top')\"\n [class.disabled]=\"false\"\n class=\"blue vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-white\"\n >\n APPLY\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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/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-right.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/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-right.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\";::ng-deep .vc-business-cycle{position:relative;width:12.5rem;height:3rem;cursor:pointer;z-index:1}::ng-deep .vc-business-cycle .heading{color:#e3e3e9}::ng-deep .vc-business-cycle i.calendar{color:#e3e3e9}::ng-deep .vc-business-cycle i.arrow{color:#f1f1f1}::ng-deep .vc-business-cycle-popover-container{width:15.625rem;background:#fff;box-shadow:0 4px 8px #1e5dd326;border:1px solid #e3e3e9;border-radius:.25rem;z-index:4}::ng-deep .vc-business-cycle-popover-container-top{background:#f8f8f8}::ng-deep .vc-business-cycle-popover-container-top p{line-height:.875rem}::ng-deep .vc-business-cycle-popover-container-body{background:#fff;max-height:200px;overflow-y:auto}::ng-deep .vc-business-cycle-popover-container-body ul li{list-style:none;margin:0;position:relative}::ng-deep .vc-business-cycle-popover-container-body ul li:before{background:#f1f1f1;content:\"\";position:absolute;left:.75rem;right:.75rem;bottom:0;height:.0625rem;width:calc(100% - 1.5rem)}::ng-deep .vc-business-cycle-popover-container-body ul li:last-of-type:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle{background:#fadd8a}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.checkbox{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.value i{margin-left:.375rem}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle .info-icon{margin-left:.375rem;cursor:context-menu}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox{display:flex}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox label.checkbox-item span.value{font-size:12px!important;color:#161b2f!important;max-width:100%!important}::ng-deep .vc-business-cycle-popover-container-footer{background:#f8f8f8;border-radius:0 0 .25rem .25rem}::ng-deep .vc-business-cycle-popover-container-footer button{width:calc(50% - .125rem);height:1.5rem;border:1px solid transparent;text-transform:uppercase;border-radius:.125rem;line-height:1.375rem}::ng-deep .vc-business-cycle-popover-container-footer button.white{background:#fff;border-color:#dbdbdb}::ng-deep .vc-business-cycle-popover-container-footer button.blue{background:#1e5dd3;border-color:#1e5dd3}::ng-deep .vc-business-cycle-popover-container-footer button.disabled{background:#dbdbdb;color:#747576;border:none;pointer-events:none!important}\n"] }]
|
|
270
|
-
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.BusinessCycleService }, { type: i3.ApiService }]; }, propDecorators: { businessCycleChange: [{
|
|
271
|
-
type: Output
|
|
272
|
-
}], orgDetails: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MtY3ljbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvYnVzaW5lc3MtY3ljbGUvYnVzaW5lc3MtY3ljbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvYnVzaW5lc3MtY3ljbGUvYnVzaW5lc3MtY3ljbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBTzFFLE1BQU0sT0FBTyxzQkFBc0I7SUFjakMsWUFDVSxXQUE4QixFQUM5QixvQkFBMEMsRUFDMUMsVUFBc0I7UUFGdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhCaEMsZ0JBQVcsR0FBVyxnQkFBZ0IsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBa0IsRUFBRSxDQUFDO1FBQ3JDLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztRQUNoQyx5QkFBb0IsR0FBa0IsRUFBRSxDQUFDO1FBQ3pDLG9CQUFlLEdBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsdUJBQWtCLEdBQWUsRUFBRSxDQUFDO1FBRXBDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRVQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVFqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElB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QUFJLENBQUMsV0FBVyxHQUFHLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUMvRDtpQkFBTSxJQUFJLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsV0FBVztvQkFDZCxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUMxQyxLQUFLO3dCQUNMLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNoQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQ3JDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUNoQyxDQUFDO2FBQ0w7U0FDRjtJQUNILENBQUM7K0dBOVJVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdKQ1huQyw2c0hBcUdBOzs0RkQxRmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjtvS0FlbkIsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUVFLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJ0B2Y29tcGx5L2F1dGhvcml6ZXInO1xuaW1wb3J0IHsgQnVzaW5lc3NDeWNsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYnVzaW5lc3MtY3ljbGUuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEZVVFVSRV9EQVRFUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy1jeWNsZS5jb25zdGFudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZjLWJ1c2luZXNzLWN5Y2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1c2luZXNzLWN5Y2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnVzaW5lc3MtY3ljbGUuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnVzaW5lc3NDeWNsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGN5Y2xlVG9TaG93OiBzdHJpbmcgPSAnQnVzaW5lc3MgQ3ljbGUnO1xuICBidXNpbmVzc0N5Y2xlQXJyOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIGhpZGRlbkN5Y2xlOiBBcnJheTxudW1iZXI+ID0gW107XG4gIHRlbXBCdXNpbmVzc0N5Y2xlQXJyOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHRlbXBIaWRkZW5DeWNsZTogQXJyYXk8bnVtYmVyPiA9IFswXTtcbiAgYnVzaW5lc3NDeWNsZXNMaXN0OiBBcnJheTxhbnk+ID0gW107XG4gIGJ1c2luZXNzQ3ljbGVMaXN0ITogQXJyYXk8YW55PjtcbiAgdGVtcFNlbGVjdGVkQ3ljbGU6IGFueVtdID0gW107XG4gIHVzZXJJZDogbnVtYmVyID0gMDtcbiAgc2VsZWN0ZWRCdXNpbmVzc0N5Y2xlITogYW55O1xuICBAT3V0cHV0KCkgYnVzaW5lc3NDeWNsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBvcmdEZXRhaWxzOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhvcml6ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnVzaW5lc3NDeWNsZVNlcnZpY2U6IEJ1c2luZXNzQ3ljbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZVxuICApIHtcbiAgICB0aGlzLnVzZXJJZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlcklkKCkgPz8gMDtcbiAgICB0aGlzLmJ1c2luZXNzQ3ljbGVTZXJ2aWNlLmlzQnVzaW5lc3NDeWNsZUF2YWlsYWJsZSgpO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRCdXNpbmVzc0N5Y2xlKCk7XG4gICAgdGhpcy5nZXRPcmdEZXRhaWxzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0T3JnRGV0YWlscygpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2Uub3JnYW5pemF0aW9uRGV0YWlsJC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuc2V0QnVzaW5lc3NDeWNsZUtleShyZXMuYnVzaW5lc3NfY3ljbGVzX2Fycik7XG4gICAgICAgIHRoaXMuc2V0QnVzaW5lc3NDeWNsZSgpO1xuICAgICAgICB0aGlzLnNldEN5Y2xlRW5hYmxlRGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRCdXNpbmVzc0N5Y2xlKCkge1xuICAgIHRoaXMuYnVzaW5lc3NDeWNsZVNlcnZpY2Uuc2VsZWN0ZWRCdXNpbmVzc0N5Y2xlJC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRCdXNpbmVzc0N5Y2xlID0gcmVzO1xuICAgICAgICB0aGlzLnNldFRlbXBTZWxlY3RlZEN5Y2xlKHJlcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIyMjIyBEZXNjcmlwdGlvblxuICAgKiBpdCB3aWxsIHNldCBhIG5ldyBrZXkgaW4gZXZlcnkgY3ljbGVcbiAgICoga2V5IHdpbGwgdXNlIGZvciBkaXNhYmxlZCBvciBlbmFibGUgdGhlIGN5Y2xlIGZyb20gYnVzaW5lc3MgY3ljbGUgbGlzdC5cbiAgICogQHBhcmFtIGJ1c2luZXNzQ3ljbGUgdGhpcyB0aGUgYnVzaW5lc3MgY3ljbGUgbGlzdFxuICAgKi9cbiAgc2V0QnVzaW5lc3NDeWNsZUtleShidXNpbmVzc0N5Y2xlOiBhbnkpIHtcbiAgICB0aGlzLmJ1c2luZXNzQ3ljbGVMaXN0ID0gYnVzaW5lc3NDeWNsZTtcbiAgICBpZiAodGhpcy5idXNpbmVzc0N5Y2xlTGlzdC5sZW5ndGgpXG4gICAgICB0aGlzLmJ1c2luZXNzQ3ljbGVMaXN0Lm1hcCgoY3ljbGU6IGFueSkgPT4ge1xuICAgICAgICBjeWNsZVsnaXNEaXNhYmxlZCddID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAjIyMjIERlc2NyaXB0aW9uXG4gICAqIGl0IHdpbGwgY2hlY2sgdGhlIGN5Y2xlIGlmIGl0IGlzIG5vdCBjaGVja2VkLlxuICAgKiBpZiBpdCBoYXMgY2hlY2tlZCB0aGVuIGl0IHdpbGwgdW5jaGVjayB0aGF0IGN5Y2xlLlxuICAgKiBAcGFyYW0gY3ljbGUgY2hlY2tlZCBvciB1bmNoZWNrZWQgY3ljbGUgZnJvbSBidXNpbmVzcyBjeWNsZSBsaXN0LlxuICAgKiBAcGFyYW0gaW5kZXggaXQgZ2l2ZSB0aGUgaW5kZXggdmFsdWUgb2YgYnVzaW5lc3MgY3ljbGUgbGlzdCB3aGljaCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdEN5Y2xlKGN5Y2xlOiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpc0V4aXN0ID0gdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZS5maW5kSW5kZXgoXG4gICAgICAoZWw6IGFueSkgPT4gZWwuc3RhcnRfZGF0ZSA9PSBjeWNsZS5zdGFydF9kYXRlXG4gICAgKTtcbiAgICBpZiAoaXNFeGlzdCA+PSAwKSB7XG4gICAgICB0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlLnNwbGljZShpc0V4aXN0LCAxKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGVtcFNlbGVjdGVkQ3ljbGU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZS5wdXNoKGN5Y2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuYnVzaW5lc3NDeWNsZUxpc3QuZmluZEluZGV4KFxuICAgICAgICAoZWw6IGFueSkgPT4gZWwuc3RhcnRfZGF0ZSA9PSB0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlWzBdPy5zdGFydF9kYXRlXG4gICAgICApO1xuICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBpbmRleCkge1xuICAgICAgICB0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlLnVuc2hpZnQoY3ljbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZS5wdXNoKGN5Y2xlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRDeWNsZUVuYWJsZURpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAjIyMjIERlc2NyaXB0aW9uXG4gICAqXG4gICAqIG5lZWQgdG8gY2hlY2sgY3ljbGUgaW5jbHVkZXMgaW4gc2VsZWN0ZWQgY3ljbGUgYXJyYXlcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHNlbGVjdGVkIGN5Y2xlIGlzXG4gICAqIEBwYXJhbSBzZWxlY3RlZEN5Y2xlIHNlbGVjdGVkIEN5Y2xlIHdoaWNoIHVzZXIgY2hlY2tlZCBvciBhdXRvIHNlbGVjdGVkIGN5Y2xlLlxuICAgKiBAcGFyYW0gY3ljbGUgYWxsIGluZGl2aXNpYmxlIGN5Y2xlIG9mIGJ1c2luZXNzIGN5Y2xlIG9mIHRoZSBvcmdhbml6YXRpb24uXG4gICAqIEByZXR1cm5zIGJvb2xlYW4gdmFsdWUgaXMgY3ljbGUgZXhpc3QgaW4gc2VsZWN0ZWQgY3ljbGUgb3Igbm90LlxuICAgKi9cblxuICBpc1NlbGVjdGVkQ3ljbGUoc2VsZWN0ZWRDeWNsZTogYW55LCBjeWNsZTogYW55KSB7XG4gICAgbGV0IGlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBzZWxlY3RlZEN5Y2xlLmZvckVhY2goKGVsOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgaWYgKGVsLnN0YXJ0X2RhdGUgPT0gY3ljbGUuc3RhcnRfZGF0ZSkge1xuICAgICAgICBpc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNTZWxlY3RlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiAjIyMjIERlc2NyaXB0aW9uXG4gICAqXG4gICAqIHNldCBzZWxlY3RlZCBidXNpbmVzc0N5Y2xlIHRvIHRlbXAgYnVzaW5lc3MgY3ljbGUgaW5kaXZpc2libGUgaWYgdGhlcmUgaXMgdHdvIHNlbGVjdGVkIGN5Y2xlXG4gICAqIFNldHMgdGVtcCBzZWxlY3RlZCBjeWNsZVxuICAgKiBAcGFyYW0gY3ljbGUgc2VsZWN0ZWQgYnVzaW5lc3MgY3ljbGUgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAqL1xuICBzZXRUZW1wU2VsZWN0ZWRDeWNsZShjeWNsZTogYW55KSB7XG4gICAgdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZSA9IFtdO1xuICAgIGlmIChjeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyPy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkQ3ljbGUucHVzaChjeWNsZSk7XG4gICAgICB0aGlzLnNldEN5Y2xlVG9TaG93KGN5Y2xlKTtcbiAgICAgIC8vIHRoaXMuY3ljbGVUb1Nob3cgPSBjeWNsZS5idXNpbmVzc19jeWNsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2Fycj8uZm9yRWFjaCgoZWw6IGFueSwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgICAgIHN0YXJ0X2RhdGU6IGVsLnN1YnN0cmluZygwLCAxMCksXG4gICAgICAgICAgZW5kX2RhdGU6IGVsLnN1YnN0cmluZyhlbD8ubGVuZ3RoIC0gMTAsIGVsPy5sZW50aCksXG4gICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgYnVzaW5lc3NfY3ljbGU6IGN5Y2xlPy5idXNpbmVzc19jeWNsZVtpXSxcbiAgICAgICAgICBzZWxlY3RlZF9jeWNsZTogY3ljbGU/LnNlbGVjdGVkX2N5Y2xlW2ldLFxuICAgICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogW2VsXSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZS5wdXNoKHBheWxvYWQpO1xuICAgICAgfSk7XG4gICAgICAvLyB0aGlzLmN5Y2xlVG9TaG93ID0gY3ljbGU/LmJ1c2luZXNzX2N5Y2xlWzBdPy5zdWJzdHJpbmcoMCwxMSkgKyBcIiAtIFwiICsgY3ljbGU/LmJ1c2luZXNzX2N5Y2xlWzFdLnN1YnN0cmluZyhjeWNsZT8uYnVzaW5lc3NfY3ljbGVbMV0/Lmxlbmd0aC0xMSwgY3ljbGU/LmJ1c2luZXNzX2N5Y2xlWzFdPy5sZW50aCk7XG4gICAgfVxuICAgIC8vIHRoaXMuc2V0Q3ljbGVUb1Nob3coY3ljbGUpO1xuICAgIHRoaXMuc2V0Q3ljbGVFbmFibGVEaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogIyMjIyBEZXNjcmlwdGlvblxuICAgKiAgd2hlbiB1c2VyIHNlbGVjdCBvbmUgY3ljbGUgdGhlbiB0aGVpciBiZXNpZGVzIGN5Y2xlcyBhcmUgZW5hYmxlIGFuZCBvdGhlciBhcmUgZGlzYWJsZWQuXG4gICAqICBpZiB1c2VyIHNlbGVjdCB0d28gY3ljbGVzIHRoZW4gYWxsIHRoZSBjeWNsZXMgZ2V0IGRpc2FibGVkIGV4Y2VwdCBzZWxlY3RlZCBjeWNsZXMuXG4gICAqXG4gICAqICBJbiBidXNpbmVzc0N5Y2xlTGlzdCBhcnJheSB3ZSBzZXQgYSBpc0Rpc2FibGVkIGtleSwgd2UgYXJlIHNldCBpdCB0cnVlIHdoZW4gbmVlZCB0byBkaXNhYmxlZCB0aGUgY3ljbGUuXG4gICAqL1xuICBzZXRDeWNsZUVuYWJsZURpc2FibGUoKSB7XG4gICAgaWYgKCF0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlPy5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmJ1c2luZXNzQ3ljbGVMaXN0Py5sZW5ndGgpXG4gICAgICAgIHRoaXMuYnVzaW5lc3NDeWNsZUxpc3QubWFwKChjeWNsZTogYW55KSA9PiB7XG4gICAgICAgICAgY3ljbGVbJ2lzRGlzYWJsZWQnXSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGVtcFNlbGVjdGVkQ3ljbGU/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmJ1c2luZXNzQ3ljbGVMaXN0Py5maW5kSW5kZXgoXG4gICAgICAgIChlbDogYW55KSA9PiBlbC5zdGFydF9kYXRlID09IHRoaXMudGVtcFNlbGVjdGVkQ3ljbGVbMF0uc3RhcnRfZGF0ZVxuICAgICAgKTtcbiAgICAgIHRoaXMuYnVzaW5lc3NDeWNsZUxpc3Q/LmZvckVhY2goKGN5Y2xlOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaW5kZXggLSAxID09PSBpIHx8IGluZGV4ID09PSBpIHx8IGluZGV4ICsgMSA9PT0gaSkge1xuICAgICAgICAgIGN5Y2xlLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjeWNsZS5pc0Rpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVzaW5lc3NDeWNsZUxpc3Q/LmZvckVhY2goKGN5Y2xlOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGlzRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoY3ljbGUuc3RhcnRfZGF0ZSA9PSBlbC5zdGFydF9kYXRlKSB7XG4gICAgICAgICAgICBpc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY3ljbGUuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIyMjIyBEZXNjcmlwdGlvblxuICAgKiAgV2hlbiB1c2VyIGNsaWNrIGFwcGx5IHRoZW4gc2VsZWN0ZWQgY3ljbGUgaXMgc2V0IGluIGxvY2FsIHN0b3JhZ2UuXG4gICAqXG4gICAqL1xuICBzZXRCdXNpbmVzc0N5Y2xlKCkge1xuICAgIGNvbnN0IGNvbWJpbmVkRGF0ZXMgPSB0aGlzLmJ1c2luZXNzQ3ljbGVTZXJ2aWNlLmNvbnZlcnROdW1lcmljQWxwaGEoXG4gICAgICB0aGlzLmJ1c2luZXNzQ3ljbGVMaXN0WzBdPy5zdGFydF9kYXRlICtcbiAgICAgICAgdGhpcy5idXNpbmVzc0N5Y2xlTGlzdFswXT8uZW5kX2RhdGVcbiAgICApO1xuICAgIGNvbnN0IGlzRnV0dXJlRGF0ZXMgPSAoY3ljbGU6IGFueSkgPT5cbiAgICAgIGN5Y2xlPy5idXNpbmVzc19jeWNsZSA9PT0gY29tYmluZWREYXRlcyAmJlxuICAgICAgdGhpcy5idXNpbmVzc0N5Y2xlTGlzdFswXT8uYnVzaW5lc3NfY3ljbGUgPT09IEZVVFVSRV9EQVRFUztcblxuICAgIGxldCBidXNpbmVzc0N5Y2xlT2JqZWN0OiBhbnkgPSB7XG4gICAgICB1c2VySWQ6IHRoaXMudXNlcklkLFxuICAgICAgc2VsZWN0ZWRDeWNsZToge1xuICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgYnVzaW5lc3NfY3ljbGU6IFtdLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudGVtcFNlbGVjdGVkQ3ljbGU/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5zZXRTaW5nbGVTZWxlY3RlZEN5Y2xlKGJ1c2luZXNzQ3ljbGVPYmplY3QsIGlzRnV0dXJlRGF0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldE11bHRpcGxlU2VsZWN0ZWRDeWNsZXMoYnVzaW5lc3NDeWNsZU9iamVjdCwgaXNGdXR1cmVEYXRlcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDeWNsZVRvU2hvdyhidXNpbmVzc0N5Y2xlT2JqZWN0Py5zZWxlY3RlZEN5Y2xlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYnVzaW5lc3NDeWNsZScsIEpTT04uc3RyaW5naWZ5KGJ1c2luZXNzQ3ljbGVPYmplY3QpKTtcbiAgICB0aGlzLnNlbGVjdGVkQnVzaW5lc3NDeWNsZSA9IGJ1c2luZXNzQ3ljbGVPYmplY3Q/LnNlbGVjdGVkQ3ljbGU7XG4gICAgdGhpcy5idXNpbmVzc0N5Y2xlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEJ1c2luZXNzQ3ljbGUpO1xuICAgIHRoaXMuYnVzaW5lc3NDeWNsZVNlcnZpY2UuY2hhbmdlQnVzaW5lc3NDeWNsZSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHNldFNpbmdsZVNlbGVjdGVkQ3ljbGUoXG4gICAgYnVzaW5lc3NDeWNsZU9iamVjdDogYW55LFxuICAgIGlzRnV0dXJlRGF0ZXM6IChjeWNsZTogYW55KSA9PiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IGN5Y2xlID0gdGhpcy50ZW1wU2VsZWN0ZWRDeWNsZVswXTtcbiAgICBpZiAoaXNGdXR1cmVEYXRlcyhjeWNsZSkpIHtcbiAgICAgIGN5Y2xlLmJ1c2luZXNzX2N5Y2xlID0gRlVUVVJFX0RBVEVTO1xuICAgIH1cbiAgICBPYmplY3QuYXNzaWduKGJ1c2luZXNzQ3ljbGVPYmplY3Q/LnNlbGVjdGVkQ3ljbGUsIHtcbiAgICAgIHN0YXJ0X2RhdGU6IGN5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgZW5kX2RhdGU6IGN5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgIGJ1c2luZXNzX2N5Y2xlOiBjeWNsZT8uYnVzaW5lc3NfY3ljbGUsXG4gICAgICBzZWxlY3RlZF9jeWNsZTogYCR7Y3ljbGU/LnN0YXJ0X2RhdGV9LSR7Y3ljbGU/LmVuZF9kYXRlfWAsXG4gICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IFtgJHtjeWNsZT8uc3RhcnRfZGF0ZX0tJHtjeWNsZT8uZW5kX2RhdGV9YF0sXG4gICAgfSk7XG4gIH1cblxuICBzZXRNdWx0aXBsZVNlbGVjdGVkQ3ljbGVzKFxuICAgIGJ1c2luZXNzQ3ljbGVPYmplY3Q6IGFueSxcbiAgICBpc0Z1dHVyZURhdGVzOiAoY3ljbGU6IGFueSkgPT4gYm9vbGVhblxuICApIHtcbiAgICB0aGlzLnRlbXBTZWxlY3RlZEN5Y2xlPy5mb3JFYWNoKChjeWNsZTogYW55KSA9PiB7XG4gICAgICBidXNpbmVzc0N5Y2xlT2JqZWN0Py5zZWxlY3RlZEN5Y2xlLmJ1c2luZXNzX2N5Y2xlPy5wdXNoKFxuICAgICAgICBpc0Z1dHVyZURhdGVzKGN5Y2xlKSA/IEZVVFVSRV9EQVRFUyA6IGN5Y2xlPy5idXNpbmVzc19jeWNsZVxuICAgICAgKTtcbiAgICAgIGJ1c2luZXNzQ3ljbGVPYmplY3Q/LnNlbGVjdGVkQ3ljbGUuc2VsZWN0ZWRfY3ljbGVfYXJyPy5wdXNoKFxuICAgICAgICBgJHtjeWNsZT8uc3RhcnRfZGF0ZX0tJHtjeWNsZT8uZW5kX2RhdGV9YFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGJ1c2luZXNzQ3ljbGVPYmplY3Quc2VsZWN0ZWRDeWNsZS5zdGFydF9kYXRlID1cbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkQ3ljbGVbMF0/LnN0YXJ0X2RhdGU7XG4gICAgYnVzaW5lc3NDeWNsZU9iamVjdC5zZWxlY3RlZEN5Y2xlLmVuZF9kYXRlID1cbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkQ3ljbGVbMV0/LmVuZF9kYXRlO1xuICAgIGJ1c2luZXNzQ3ljbGVPYmplY3Quc2VsZWN0ZWRDeWNsZS5zZWxlY3RlZF9jeWNsZSA9IGAke2J1c2luZXNzQ3ljbGVPYmplY3Q/LnNlbGVjdGVkQ3ljbGU/LnN0YXJ0X2RhdGV9LSR7YnVzaW5lc3NDeWNsZU9iamVjdD8uc2VsZWN0ZWRDeWNsZT8uZW5kX2RhdGV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiAjIyMjIERlc2NyaXB0aW9uXG4gICAqIHdoZW4gdXNlciBjbGljayBjYW5jZWwgdGhlbiBpdCB3aWxsIGNsb3NlIHRoZSBwb3BvdmVyLlxuICAgKiByZW1vdmUgdGVtcCB2YWx1ZSBmcm9tIHRlcm0gc2VsZWN0ZWQgYXJyYXkgYW5kIHNldCB0aGUgcHJldmlvdXMgc2VsZWN0ZWQgY3ljbGUgaW4gaXQuXG4gICAqL1xuICBjYW5jZWxCdXNpbmVzc0N5Y2xlKCkge1xuICAgIHRoaXMuc2V0VGVtcFNlbGVjdGVkQ3ljbGUodGhpcy5zZWxlY3RlZEJ1c2luZXNzQ3ljbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqICMjIyMgRGVzY3JpcHRpb25cbiAgICogdGhpcyB3aWxsIHNldCB0aGUgc3RyaW5nIG9mIGJ1c2luZXNzIGN5Y2xlIHdoaWNoICB3aWxsIGRpc3BsYXkgaW4gdGhlIGhlYWRlci5cbiAgICogQHBhcmFtIGN5Y2xlIG9iamVjdCB3aGljaCBpcyBzZWxlY3RlZCBhbmQgYXBwbHkuIHRoZSBzYW1lIG9iamVjdCB3aWxsIHN0b3JlIGluIGxvY2FsIHN0b3JhZ2UuXG4gICAqL1xuICBzZXRDeWNsZVRvU2hvdyhjeWNsZTogYW55KSB7XG4gICAgaWYgKGN5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnI/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKGN5Y2xlPy5idXNpbmVzc19jeWNsZT8udG9Mb3dlckNhc2UoKSA9PSAnc2hvdyBmdXR1cmUgZHVlIGRhdGVzJykge1xuICAgICAgICB0aGlzLmN5Y2xlVG9TaG93ID0gJ0Z1dHVyZSBEdWUgRGF0ZXMnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jeWNsZVRvU2hvdyA9IGN5Y2xlLmJ1c2luZXNzX2N5Y2xlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXG4gICAgICAgIGN5Y2xlPy5idXNpbmVzc19jeWNsZT8ubGVuZ3RoID4gMCAmJlxuICAgICAgICBjeWNsZT8uYnVzaW5lc3NfY3ljbGVbMV0/LnRvTG93ZXJDYXNlKCkgPT0gJ3Nob3cgZnV0dXJlIGR1ZSBkYXRlcydcbiAgICAgICkge1xuICAgICAgICB0aGlzLmN5Y2xlVG9TaG93ID0gY3ljbGU/LmJ1c2luZXNzX2N5Y2xlWzBdPy5zdWJzdHJpbmcoMCwgMTEpO1xuICAgICAgfSBlbHNlIGlmIChjeWNsZT8uYnVzaW5lc3NfY3ljbGU/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmN5Y2xlVG9TaG93ID1cbiAgICAgICAgICBjeWNsZT8uYnVzaW5lc3NfY3ljbGVbMF0/LnN1YnN0cmluZygwLCAxMSkgK1xuICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICBjeWNsZT8uYnVzaW5lc3NfY3ljbGVbMV0uc3Vic3RyaW5nKFxuICAgICAgICAgICAgY3ljbGU/LmJ1c2luZXNzX2N5Y2xlWzFdPy5sZW5ndGggLSAxMSxcbiAgICAgICAgICAgIGN5Y2xlPy5idXNpbmVzc19jeWNsZVsxXT8ubGVudGhcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInZjLWJ1c2luZXNzLWN5Y2xlIHZ4LXB0LTIgdngtcGItMlwiXG4gIGFwcFBvcG92ZXJcbiAgKGNsaWNrKT1cImJ1c2luZXNzQ3ljbGVQb3AucG9wb3ZlcigpXCJcbiAgcG9zaXRpb249XCJsZWZ0XCJcbj5cbiAgPGRpdiBjbGFzcz1cImhlYWRpbmcgdngtZnMtOSB2eC10dC11cHBlcmNhc2UgdngtbWItMSB2eC1saC0zXCI+XG4gICAgU0hPV0lORyBEQVRBIHt7IGN5Y2xlVG9TaG93ID09PSBcIlNob3cgRnV0dXJlIER1ZSBEYXRlc1wiID8gXCJGb3JcIiA6IFwiRnJvbVwiIH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbGgtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zIGNhbGVuZGFyIHZ4LWZzLTEyIHZ4LW1yLTJcIj4mI3hlOTk2OzwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwidngtZnMtMTEgdngtdHh0LXdoaXRlIHZ4LWQtaW5saW5lLWJsb2NrXCI+e3tcbiAgICAgICAgY3ljbGVUb1Nob3cgPT09IFwiU2hvdyBGdXR1cmUgRHVlIERhdGVzXCJcbiAgICAgICAgICA/IFwiRnV0dXJlIER1ZSBEYXRlc1wiXG4gICAgICAgICAgOiBjeWNsZVRvU2hvd1xuICAgICAgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGkgY2xhc3M9XCJpY29ucyBhcnJvdyB2eC1mcy0xMCB2eC1tci0yXCI+JiN4ZTllODs8L2k+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx2dWktcG9wb3ZlciAjYnVzaW5lc3NDeWNsZVBvcCBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gIDxkaXYgY2xhc3M9XCJ2Yy1idXNpbmVzcy1jeWNsZS1wb3BvdmVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidmMtYnVzaW5lc3MtY3ljbGUtcG9wb3Zlci1jb250YWluZXItdG9wIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTNcIlxuICAgID5cbiAgICAgIDxwIGNsYXNzPVwidngtZnMtMTEgdngtZnctNDAwIHZ4LWxhYmVsLXR4dCB2eC1wLTAgdngtbS0wXCI+XG4gICAgICAgIFlvdSBjYW4gc2VsZWN0IHVwdG8gYSBtYXggb2YgdHdvIGNvbnNlY3V0aXZlIHllYXJzXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZjLWJ1c2luZXNzLWN5Y2xlLXBvcG92ZXItY29udGFpbmVyLWJvZHlcIj5cbiAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoQ3ljbGUgb2YgYnVzaW5lc3NDeWNsZUxpc3Q7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBlYWNoQ3ljbGU/LmJ1c2luZXNzX2N5Y2xlPy50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAnc2hvdyBmdXR1cmUgZHVlIGRhdGVzJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zXCJcbiAgICAgICAgICAgIFtjbGFzcy5mdXR1cmUtY3ljbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJpc1NlbGVjdGVkQ3ljbGUodGVtcFNlbGVjdGVkQ3ljbGUsIGVhY2hDeWNsZSlcIlxuICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RDeWNsZShlYWNoQ3ljbGUsIGkpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVhY2hDeWNsZT8uaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgID5TaG93IEZ1dHVyZSBEdWUgRGF0ZXM8L2FwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvLWljb24gdngtZnMtMTJcIlxuICAgICAgICAgICAgICBbYXJUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICdUaGlzIG9wdGlvbiBsZXRzIHlvdSB2aWV3IGRhdGEgdGhhdCBsaWVzIG91dHNpZGUgdGhlIGN1cnJlbnQgYnVzaW5lc3MgY3ljbGUgYW5kIGFyZSBkdWUgaW4gdGhlIGZ1dHVyZS4nXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgZWFjaEN5Y2xlPy5idXNpbmVzc19jeWNsZT8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgJ3Nob3cgZnV0dXJlIGR1ZSBkYXRlcydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJpc1NlbGVjdGVkQ3ljbGUodGVtcFNlbGVjdGVkQ3ljbGUsIGVhY2hDeWNsZSlcIlxuICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RDeWNsZShlYWNoQ3ljbGUsIGkpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVhY2hDeWNsZT8uaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgID57eyBlYWNoQ3ljbGU/LnN0YXJ0X2RhdGUgfCBkYXRlRm9ybWF0IH19IC1cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7eyBlYWNoQ3ljbGU/LmVuZF9kYXRlIHwgZGF0ZUZvcm1hdCB9fTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInZjLWJ1c2luZXNzLWN5Y2xlLXBvcG92ZXItY29udGFpbmVyLWZvb3RlciB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXAtM1wiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiYnVzaW5lc3NDeWNsZVBvcC5jbG9zZVBvcG92ZXIoJ3RvcCcpXCJcbiAgICAgICAgY2xhc3M9XCJ3aGl0ZSB2eC1mcy0xMSB2eC1mdy01MDAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC10eHQtYmx1ZVwiXG4gICAgICA+XG4gICAgICAgIENBTkNFTFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzZXRCdXNpbmVzc0N5Y2xlKCk7IGJ1c2luZXNzQ3ljbGVQb3AuY2xvc2VQb3BvdmVyKCd0b3AnKVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgIGNsYXNzPVwiYmx1ZSB2eC1mcy0xMSB2eC1mdy01MDAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC10eHQtd2hpdGVcIlxuICAgICAgPlxuICAgICAgICBBUFBMWVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92dWktcG9wb3Zlcj5cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../shared/ui-kit/tooltip/tooltip.directive";
|
|
4
|
-
export class CreateWorkflowComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.iframeLoading = false;
|
|
7
|
-
this.openWorkflow = new EventEmitter();
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() { }
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateWorkflowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateWorkflowComponent, selector: "vc-create-workflow", inputs: { iframeLoading: "iframeLoading" }, outputs: { openWorkflow: "openWorkflow" }, ngImport: i0, template: "<div\n class=\"header-create-workflow vx-fs-16 vx-txt-white vx-d-flex vx-align-center vx-justify-center\"\n (click)=\"openWorkflow.emit()\"\n [class.disabled-workflow]=\"iframeLoading\"\n [arTooltip]=\"'Create'\"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n>\n +\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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\";.header-create-workflow{background:#1e5dd3;border-radius:3rem;cursor:pointer;width:1.5rem;height:1.5rem;margin-left:1.75rem;transition:all .3s ease-in-out}.header-create-workflow.disabled-workflow{filter:grayscale(100%);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateWorkflowComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'vc-create-workflow', template: "<div\n class=\"header-create-workflow vx-fs-16 vx-txt-white vx-d-flex vx-align-center vx-justify-center\"\n (click)=\"openWorkflow.emit()\"\n [class.disabled-workflow]=\"iframeLoading\"\n [arTooltip]=\"'Create'\"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n>\n +\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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\";.header-create-workflow{background:#1e5dd3;border-radius:3rem;cursor:pointer;width:1.5rem;height:1.5rem;margin-left:1.75rem;transition:all .3s ease-in-out}.header-create-workflow.disabled-workflow{filter:grayscale(100%);pointer-events:none}\n"] }]
|
|
16
|
-
}], ctorParameters: function () { return []; }, propDecorators: { iframeLoading: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}], openWorkflow: [{
|
|
19
|
-
type: Output
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXdvcmtmbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2NyZWF0ZS13b3JrZmxvdy9jcmVhdGUtd29ya2Zsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvY3JlYXRlLXdvcmtmbG93L2NyZWF0ZS13b3JrZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQztRQUpTLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRTlCLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFckQsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzsrR0FQUix1QkFBdUI7bUdBQXZCLHVCQUF1QixpSkNQcEMsb1VBWUE7OzRGRExhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7MEVBS3JCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmMtY3JlYXRlLXdvcmtmbG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS13b3JrZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS13b3JrZmxvdy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVXb3JrZmxvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGlmcmFtZUxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb3BlbldvcmtmbG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaGVhZGVyLWNyZWF0ZS13b3JrZmxvdyB2eC1mcy0xNiB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gIChjbGljayk9XCJvcGVuV29ya2Zsb3cuZW1pdCgpXCJcbiAgW2NsYXNzLmRpc2FibGVkLXdvcmtmbG93XT1cImlmcmFtZUxvYWRpbmdcIlxuICBbYXJUb29sdGlwXT1cIidDcmVhdGUnXCJcbiAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgdHlwZT1cImJsYWNrXCJcbiAgZGVsYXk9XCIwXCJcbiAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4+XG4gICtcbjwvZGl2PlxuIl19
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { ASSETS } from '../../../constants/assets.constants';
|
|
3
|
-
import { BUSINESS_CYCLE_URL } from '../../../constants/business-cycle.constant';
|
|
4
|
-
import { IN_APP_URL } from '../../../constants/app-url.constant';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../shared/services/api.service";
|
|
7
|
-
import * as i2 from "../../../shared/services/layout.service";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
10
|
-
import * as i5 from "../../global-alert/global-alert/global-alert.component";
|
|
11
|
-
import * as i6 from "../business-cycle/business-cycle.component";
|
|
12
|
-
import * as i7 from "../search/search.component";
|
|
13
|
-
import * as i8 from "../create-workflow/create-workflow.component";
|
|
14
|
-
import * as i9 from "../queue/queue.component";
|
|
15
|
-
import * as i10 from "../user-details/user-details.component";
|
|
16
|
-
import * as i11 from "../support/support.component";
|
|
17
|
-
import * as i12 from "../../../shared/pipe/check-create-permission.pipe";
|
|
18
|
-
export class HeaderContainerComponent {
|
|
19
|
-
constructor(apiService, layoutService, router) {
|
|
20
|
-
this.apiService = apiService;
|
|
21
|
-
this.layoutService = layoutService;
|
|
22
|
-
this.router = router;
|
|
23
|
-
this.ASSETS = ASSETS;
|
|
24
|
-
this.isXmasCapVisible = false;
|
|
25
|
-
this.showAnimation = false;
|
|
26
|
-
this.showBusinessCycle = BUSINESS_CYCLE_URL;
|
|
27
|
-
this.currentUrl = '';
|
|
28
|
-
this.defaultURL = '';
|
|
29
|
-
this.showCreateWorkflow = true;
|
|
30
|
-
this.showSearch = false;
|
|
31
|
-
this.isAdvanceSearch = false;
|
|
32
|
-
this.iframeLoading = false;
|
|
33
|
-
this.businessCycleChange = new EventEmitter();
|
|
34
|
-
this.openDialog = new EventEmitter();
|
|
35
|
-
this.onSearchAction = new EventEmitter();
|
|
36
|
-
this.currentUrl = window.location.pathname;
|
|
37
|
-
this.defaultURL = this.layoutService.baseUrl + IN_APP_URL.DEFAULT;
|
|
38
|
-
this.onRouterChange();
|
|
39
|
-
}
|
|
40
|
-
ngOnInit() {
|
|
41
|
-
this.checkXmasCapVisibility();
|
|
42
|
-
this.checkSnowFallVisibility();
|
|
43
|
-
this.checkComplianceFlag();
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
// Clear interval to prevent memory leaks
|
|
47
|
-
if (this.animationInterval) {
|
|
48
|
-
clearInterval(this.animationInterval);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
businessCycleChangeHandler(event) {
|
|
52
|
-
this.businessCycleChange.emit(event);
|
|
53
|
-
}
|
|
54
|
-
onRouterChange() {
|
|
55
|
-
this.router.url.subscribe((url) => {
|
|
56
|
-
console.log('url', url);
|
|
57
|
-
this.currentUrl = window.location.pathname;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
get isBusinessCycleVisible() {
|
|
61
|
-
const currentUrl = window.location.href;
|
|
62
|
-
return this.showBusinessCycle.some((url) => {
|
|
63
|
-
return currentUrl.includes(url);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
checkSnowFallVisibility() {
|
|
67
|
-
// First-time display after 20 seconds
|
|
68
|
-
setTimeout(() => {
|
|
69
|
-
this.showAnimation = true;
|
|
70
|
-
// Hide after 20 seconds
|
|
71
|
-
setTimeout(() => {
|
|
72
|
-
this.showAnimation = false;
|
|
73
|
-
}, 20000);
|
|
74
|
-
}, 0);
|
|
75
|
-
// Repeated display every 5 minutes
|
|
76
|
-
this.animationInterval = setInterval(() => {
|
|
77
|
-
this.showAnimation = true;
|
|
78
|
-
// Hide the animation after 20 seconds
|
|
79
|
-
setTimeout(() => {
|
|
80
|
-
this.showAnimation = false;
|
|
81
|
-
}, 20000); // Show duration: 20 seconds
|
|
82
|
-
}, 300000); // Repeat every 5 minutes (300,000 ms)
|
|
83
|
-
}
|
|
84
|
-
checkXmasCapVisibility() {
|
|
85
|
-
const today = new Date();
|
|
86
|
-
const currentYear = today.getFullYear();
|
|
87
|
-
let startDate, endDate;
|
|
88
|
-
// If today is after December 20, use January 7 of next year as the end date
|
|
89
|
-
if (today.getMonth() === 11 && today.getDate() >= 20) {
|
|
90
|
-
startDate = new Date(currentYear, 11, 20); // December 20 of current year
|
|
91
|
-
endDate = new Date(currentYear + 1, 0, 3, 23, 59, 59); // January 7 of next year
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// Otherwise, use December 20 of the previous year and January 7 of the current year
|
|
95
|
-
startDate = new Date(currentYear - 1, 11, 20); // December 20 of previous year
|
|
96
|
-
endDate = new Date(currentYear, 0, 3, 23, 59, 59); // January 7 of current year
|
|
97
|
-
}
|
|
98
|
-
// Check if today is within the range
|
|
99
|
-
this.isXmasCapVisible = today >= startDate && today <= endDate;
|
|
100
|
-
}
|
|
101
|
-
checkComplianceFlag() {
|
|
102
|
-
this.apiService.subscriptionDetail$.subscribe((subscriptionData) => {
|
|
103
|
-
if (subscriptionData) {
|
|
104
|
-
this.showCreateWorkflow = subscriptionData.compliance_flag === 1;
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderContainerComponent, deps: [{ token: i1.ApiService }, { token: i2.LayoutService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderContainerComponent, selector: "vc-header-container", inputs: { showSearch: "showSearch", featureFlag: "featureFlag", isAdvanceSearch: "isAdvanceSearch", iframeLoading: "iframeLoading" }, outputs: { businessCycleChange: "businessCycleChange", openDialog: "openDialog", onSearchAction: "onSearchAction" }, ngImport: i0, template: "<vc-global-alert [feature]=\"featureFlag\"></vc-global-alert>\n<div\n class=\"header-container vx-d-flex vx-align-center vx-justify-between vx-pr-3\"\n>\n <div id=\"snowfall\" *ngIf=\"isXmasCapVisible\" [class.animate]=\"showAnimation\">\n <div class=\"snow\"></div>\n <div class=\"snow1\"></div>\n <div class=\"snow2\"></div>\n </div>\n <div class=\"header-container-left vx-d-flex vx-align-center\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [href]=\"defaultURL\"\n >\n <img\n *ngIf=\"isXmasCapVisible\"\n class=\"xmas-cap\"\n [src]=\"ASSETS.xmas_cap\"\n alt=\"Santa Cap\"\n width=\"20\"\n height=\"20\" />\n <img [src]=\"ASSETS.v_icon\" alt=\"VComply\" width=\"24\" height=\"24\"\n /></a>\n <vc-business-cycle\n *ngIf=\"isBusinessCycleVisible\"\n (businessCycleChange)=\"businessCycleChangeHandler($event)\"\n ></vc-business-cycle>\n </div>\n <div class=\"search-area\">\n <vc-search\n *ngIf=\"showSearch\"\n [isAdvanceSearch]=\"isAdvanceSearch\"\n (onSearchAction)=\"onSearchAction.emit($event)\"\n ></vc-search>\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <vc-support (openSupport)=\"openDialog.emit('SUPPORT')\"></vc-support>\n <vc-create-workflow\n *ngIf=\"(apiService.loggedUserDetail$ | async | checkPermission) && showCreateWorkflow\"\n (openWorkflow)=\"openDialog.emit('WORKFLOW')\"\n [iframeLoading]=\"iframeLoading\"\n ></vc-create-workflow>\n <vc-queue></vc-queue>\n <vc-user-details\n [userDetails]=\"apiService.loggedUserDetail$ | async\"\n [subscriptionDetails]=\"apiService.subscriptionDetail$ | async\"\n ></vc-user-details>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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/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-right.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/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-right.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\";.header-container{height:3rem}.header-container-left{width:260px}.header-container .product-logo{width:3rem;height:3rem;position:relative}.header-container .product-logo img{pointer-events:none}.header-container .product-logo img.xmas-cap{position:absolute;top:.25rem;left:.375rem}#snowfall{position:absolute;width:100%;height:100px;z-index:-1}.animate .snow{position:absolute;border-radius:50%;filter:blur(1px);background-color:#fff;width:10px;height:10px;top:-1000px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation:snowfall 7s linear,fadeOut 7s ease-out forwards}.animate .snow:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-150px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-250px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow1{position:absolute;border-radius:50%;filter:blur(2px);background-color:#fff;width:9px;height:9px;top:-850px;left:123px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation-delay:-3s;animation:snowfall 9s linear,fadeOut 9s ease-out forwards}.animate .snow1:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-350px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow1:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-450px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow2{position:absolute;border-radius:50%;filter:blur(1.5px);background-color:#fff;width:9px;height:9px;top:-900px;left:-50px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation-delay:-4s;animation:snowfall 14s linear,fadeOut 14s ease-out forwards}.animate .snow2:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-550px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow2:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-650px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}@keyframes snowfall{to{transform:translateY(1500px)}}@keyframes fadeOut{0%{opacity:0}50%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.GlobalAlertComponent, selector: "vc-global-alert", inputs: ["feature"], outputs: ["subscriptionStatus"] }, { kind: "component", type: i6.BusinessCycleComponent, selector: "vc-business-cycle", inputs: ["orgDetails"], outputs: ["businessCycleChange"] }, { kind: "component", type: i7.SearchComponent, selector: "vc-search", inputs: ["isAdvanceSearch"], outputs: ["onSearchAction"] }, { kind: "component", type: i8.CreateWorkflowComponent, selector: "vc-create-workflow", inputs: ["iframeLoading"], outputs: ["openWorkflow"] }, { kind: "component", type: i9.QueueComponent, selector: "vc-queue" }, { kind: "component", type: i10.UserDetailsComponent, selector: "vc-user-details", inputs: ["userDetails", "subscriptionDetails"] }, { kind: "component", type: i11.SupportComponent, selector: "vc-support", outputs: ["openSupport"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.CreatePermissionPipe, name: "checkPermission" }] }); }
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderContainerComponent, decorators: [{
|
|
112
|
-
type: Component,
|
|
113
|
-
args: [{ selector: 'vc-header-container', template: "<vc-global-alert [feature]=\"featureFlag\"></vc-global-alert>\n<div\n class=\"header-container vx-d-flex vx-align-center vx-justify-between vx-pr-3\"\n>\n <div id=\"snowfall\" *ngIf=\"isXmasCapVisible\" [class.animate]=\"showAnimation\">\n <div class=\"snow\"></div>\n <div class=\"snow1\"></div>\n <div class=\"snow2\"></div>\n </div>\n <div class=\"header-container-left vx-d-flex vx-align-center\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [href]=\"defaultURL\"\n >\n <img\n *ngIf=\"isXmasCapVisible\"\n class=\"xmas-cap\"\n [src]=\"ASSETS.xmas_cap\"\n alt=\"Santa Cap\"\n width=\"20\"\n height=\"20\" />\n <img [src]=\"ASSETS.v_icon\" alt=\"VComply\" width=\"24\" height=\"24\"\n /></a>\n <vc-business-cycle\n *ngIf=\"isBusinessCycleVisible\"\n (businessCycleChange)=\"businessCycleChangeHandler($event)\"\n ></vc-business-cycle>\n </div>\n <div class=\"search-area\">\n <vc-search\n *ngIf=\"showSearch\"\n [isAdvanceSearch]=\"isAdvanceSearch\"\n (onSearchAction)=\"onSearchAction.emit($event)\"\n ></vc-search>\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <vc-support (openSupport)=\"openDialog.emit('SUPPORT')\"></vc-support>\n <vc-create-workflow\n *ngIf=\"(apiService.loggedUserDetail$ | async | checkPermission) && showCreateWorkflow\"\n (openWorkflow)=\"openDialog.emit('WORKFLOW')\"\n [iframeLoading]=\"iframeLoading\"\n ></vc-create-workflow>\n <vc-queue></vc-queue>\n <vc-user-details\n [userDetails]=\"apiService.loggedUserDetail$ | async\"\n [subscriptionDetails]=\"apiService.subscriptionDetail$ | async\"\n ></vc-user-details>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@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/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-right.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/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-right.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\";.header-container{height:3rem}.header-container-left{width:260px}.header-container .product-logo{width:3rem;height:3rem;position:relative}.header-container .product-logo img{pointer-events:none}.header-container .product-logo img.xmas-cap{position:absolute;top:.25rem;left:.375rem}#snowfall{position:absolute;width:100%;height:100px;z-index:-1}.animate .snow{position:absolute;border-radius:50%;filter:blur(1px);background-color:#fff;width:10px;height:10px;top:-1000px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation:snowfall 7s linear,fadeOut 7s ease-out forwards}.animate .snow:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-150px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-250px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow1{position:absolute;border-radius:50%;filter:blur(2px);background-color:#fff;width:9px;height:9px;top:-850px;left:123px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation-delay:-3s;animation:snowfall 9s linear,fadeOut 9s ease-out forwards}.animate .snow1:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-350px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow1:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-450px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow2{position:absolute;border-radius:50%;filter:blur(1.5px);background-color:#fff;width:9px;height:9px;top:-900px;left:-50px;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff;animation-delay:-4s;animation:snowfall 14s linear,fadeOut 14s ease-out forwards}.animate .snow2:before{content:\"\";width:7px;height:7px;position:absolute;background-color:#fff;left:200px;top:-550px;border-radius:50%;box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}.animate .snow2:after{content:\"\";width:5px;height:5px;position:absolute;background-color:#fff;left:300px;top:-650px;border-radius:50%;filter:blur(1px);box-shadow:20px 20px 1px #fff,60px 40px 1px #fff,160px 135px 1px #fff,260px 240px 1px #fff,360px 340px 1px #fff,460px 440px 1px #fff,560px 340px 1px #fff,660px 240px 1px #fff,760px 140px 1px #fff,260px 640px 1px #fff,160px 340px 1px #fff,260px 440px 1px #fff,760px 140px 1px #fff,860px 40px 1px #fff,760px 140px 1px #fff,1260px 120px 1px #fff,1460px 10px 1px #fff,1560px 30px 1px #fff,1590px 124px 1px #fff,1680px 415px 1px #fff,1720px 335px 1px #fff,1000px 212px 1px #fff,990px 311px 1px #fff,888px 122px 1px #fff,765px 10px 1px #fff,635px 15px 1px #fff,554px 111px 1px #fff,455px 222px 1px #fff,125px 105px 1px #fff,275px 96px 1px #fff,245px 40px 1px #fff,230px 70px 1px #fff,285px 17px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,360px 340px 1px #fff,430px 210px 1px #fff,523px 23px 1px #fff,1650px 335px 1px #fff,1777px 123px 1px #fff,1800px 222px 1px #fff,1360px 140px 1px #fff}@keyframes snowfall{to{transform:translateY(1500px)}}@keyframes fadeOut{0%{opacity:0}50%{opacity:1}to{opacity:0}}\n"] }]
|
|
114
|
-
}], ctorParameters: function () { return [{ type: i1.ApiService }, { type: i2.LayoutService }, { type: i3.ActivatedRoute }]; }, propDecorators: { showSearch: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], featureFlag: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], isAdvanceSearch: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], iframeLoading: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], businessCycleChange: [{
|
|
123
|
-
type: Output
|
|
124
|
-
}], openDialog: [{
|
|
125
|
-
type: Output
|
|
126
|
-
}], onSearchAction: [{
|
|
127
|
-
type: Output
|
|
128
|
-
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItY29udGFpbmVyL2hlYWRlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLWNvbnRhaW5lci9oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLHdCQUF3QjtJQW1CbkMsWUFDUyxVQUFzQixFQUNyQixhQUE0QixFQUM1QixNQUFzQjtRQUZ2QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBckJoQyxXQUFNLEdBQVEsTUFBTSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUUvQixzQkFBaUIsR0FBYSxrQkFBa0IsQ0FBQztRQUNqRCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRTFCLGVBQVUsR0FB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QkFFSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQlVTSU5FU1NfQ1lDTEVfVVJMIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2J1c2luZXNzLWN5Y2xlLmNvbnN0YW50JztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU5fQVBQX1VSTCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hcHAtdXJsLmNvbnN0YW50JztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmMtaGVhZGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEFTU0VUUzogYW55ID0gQVNTRVRTO1xuICBpc1htYXNDYXBWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBhbmltYXRpb25JbnRlcnZhbDogYW55O1xuICBzaG93QnVzaW5lc3NDeWNsZTogc3RyaW5nW10gPSBCVVNJTkVTU19DWUNMRV9VUkw7XG4gIGN1cnJlbnRVcmw6IHN0cmluZyA9ICcnO1xuICBkZWZhdWx0VVJMOiBzdHJpbmcgPSAnJztcbiAgc2hvd0NyZWF0ZVdvcmtmbG93OiBib29sZWFuID0gdHJ1ZTsgXG5cbiAgQElucHV0KCkgc2hvd1NlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmZWF0dXJlRmxhZzogYW55O1xuICBASW5wdXQoKSBpc0FkdmFuY2VTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaWZyYW1lTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBidXNpbmVzc0N5Y2xlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9wZW5EaWFsb2c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaEFjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMuY3VycmVudFVybCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICB0aGlzLmRlZmF1bHRVUkwgPSB0aGlzLmxheW91dFNlcnZpY2UuYmFzZVVybCArIElOX0FQUF9VUkwuREVGQVVMVDtcbiAgICB0aGlzLm9uUm91dGVyQ2hhbmdlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrWG1hc0NhcFZpc2liaWxpdHkoKTtcbiAgICB0aGlzLmNoZWNrU25vd0ZhbGxWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5jaGVja0NvbXBsaWFuY2VGbGFnKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBDbGVhciBpbnRlcnZhbCB0byBwcmV2ZW50IG1lbW9yeSBsZWFrc1xuICAgIGlmICh0aGlzLmFuaW1hdGlvbkludGVydmFsKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuYW5pbWF0aW9uSW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIGJ1c2luZXNzQ3ljbGVDaGFuZ2VIYW5kbGVyKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmJ1c2luZXNzQ3ljbGVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBvblJvdXRlckNoYW5nZSgpIHtcbiAgICB0aGlzLnJvdXRlci51cmwuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCd1cmwnLCB1cmwpO1xuICAgICAgdGhpcy5jdXJyZW50VXJsID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGlzQnVzaW5lc3NDeWNsZVZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgIHJldHVybiB0aGlzLnNob3dCdXNpbmVzc0N5Y2xlLnNvbWUoKHVybCkgPT4ge1xuICAgICAgcmV0dXJuIGN1cnJlbnRVcmwuaW5jbHVkZXModXJsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrU25vd0ZhbGxWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIC8vIEZpcnN0LXRpbWUgZGlzcGxheSBhZnRlciAyMCBzZWNvbmRzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dBbmltYXRpb24gPSB0cnVlO1xuXG4gICAgICAvLyBIaWRlIGFmdGVyIDIwIHNlY29uZHNcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNob3dBbmltYXRpb24gPSBmYWxzZTtcbiAgICAgIH0sIDIwMDAwKTtcbiAgICB9LCAwKTtcblxuICAgIC8vIFJlcGVhdGVkIGRpc3BsYXkgZXZlcnkgNSBtaW51dGVzXG4gICAgdGhpcy5hbmltYXRpb25JbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0FuaW1hdGlvbiA9IHRydWU7XG5cbiAgICAgIC8vIEhpZGUgdGhlIGFuaW1hdGlvbiBhZnRlciAyMCBzZWNvbmRzXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93QW5pbWF0aW9uID0gZmFsc2U7XG4gICAgICB9LCAyMDAwMCk7IC8vIFNob3cgZHVyYXRpb246IDIwIHNlY29uZHNcbiAgICB9LCAzMDAwMDApOyAvLyBSZXBlYXQgZXZlcnkgNSBtaW51dGVzICgzMDAsMDAwIG1zKVxuICB9XG5cbiAgY2hlY2tYbWFzQ2FwVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xuICAgIGxldCBzdGFydERhdGUsIGVuZERhdGU7XG5cbiAgICAvLyBJZiB0b2RheSBpcyBhZnRlciBEZWNlbWJlciAyMCwgdXNlIEphbnVhcnkgNyBvZiBuZXh0IHllYXIgYXMgdGhlIGVuZCBkYXRlXG4gICAgaWYgKHRvZGF5LmdldE1vbnRoKCkgPT09IDExICYmIHRvZGF5LmdldERhdGUoKSA+PSAyMCkge1xuICAgICAgc3RhcnREYXRlID0gbmV3IERhdGUoY3VycmVudFllYXIsIDExLCAyMCk7IC8vIERlY2VtYmVyIDIwIG9mIGN1cnJlbnQgeWVhclxuICAgICAgZW5kRGF0ZSA9IG5ldyBEYXRlKGN1cnJlbnRZZWFyICsgMSwgMCwgMywgMjMsIDU5LCA1OSk7IC8vIEphbnVhcnkgNyBvZiBuZXh0IHllYXJcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB1c2UgRGVjZW1iZXIgMjAgb2YgdGhlIHByZXZpb3VzIHllYXIgYW5kIEphbnVhcnkgNyBvZiB0aGUgY3VycmVudCB5ZWFyXG4gICAgICBzdGFydERhdGUgPSBuZXcgRGF0ZShjdXJyZW50WWVhciAtIDEsIDExLCAyMCk7IC8vIERlY2VtYmVyIDIwIG9mIHByZXZpb3VzIHllYXJcbiAgICAgIGVuZERhdGUgPSBuZXcgRGF0ZShjdXJyZW50WWVhciwgMCwgMywgMjMsIDU5LCA1OSk7IC8vIEphbnVhcnkgNyBvZiBjdXJyZW50IHllYXJcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0b2RheSBpcyB3aXRoaW4gdGhlIHJhbmdlXG4gICAgdGhpcy5pc1htYXNDYXBWaXNpYmxlID0gdG9kYXkgPj0gc3RhcnREYXRlICYmIHRvZGF5IDw9IGVuZERhdGU7XG4gIH1cblxuICBjaGVja0NvbXBsaWFuY2VGbGFnKCk6IHZvaWQge1xuICAgIHRoaXMuYXBpU2VydmljZS5zdWJzY3JpcHRpb25EZXRhaWwkLnN1YnNjcmliZSgoc3Vic2NyaXB0aW9uRGF0YSkgPT4ge1xuICAgICAgaWYgKHN1YnNjcmlwdGlvbkRhdGEpIHtcbiAgICAgICAgdGhpcy5zaG93Q3JlYXRlV29ya2Zsb3cgPSBzdWJzY3JpcHRpb25EYXRhLmNvbXBsaWFuY2VfZmxhZyA9PT0gMTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPHZjLWdsb2JhbC1hbGVydCBbZmVhdHVyZV09XCJmZWF0dXJlRmxhZ1wiPjwvdmMtZ2xvYmFsLWFsZXJ0PlxuPGRpdlxuICBjbGFzcz1cImhlYWRlci1jb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcHItM1wiXG4+XG4gIDxkaXYgaWQ9XCJzbm93ZmFsbFwiICpuZ0lmPVwiaXNYbWFzQ2FwVmlzaWJsZVwiIFtjbGFzcy5hbmltYXRlXT1cInNob3dBbmltYXRpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwic25vd1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzbm93MVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzbm93MlwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXItbGVmdCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgPGFcbiAgICAgIGNsYXNzPVwicHJvZHVjdC1sb2dvIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbXItM1wiXG4gICAgICBbaHJlZl09XCJkZWZhdWx0VVJMXCJcbiAgICA+XG4gICAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiaXNYbWFzQ2FwVmlzaWJsZVwiXG4gICAgICAgIGNsYXNzPVwieG1hcy1jYXBcIlxuICAgICAgICBbc3JjXT1cIkFTU0VUUy54bWFzX2NhcFwiXG4gICAgICAgIGFsdD1cIlNhbnRhIENhcFwiXG4gICAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiIC8+XG4gICAgICA8aW1nIFtzcmNdPVwiQVNTRVRTLnZfaWNvblwiIGFsdD1cIlZDb21wbHlcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgIC8+PC9hPlxuICAgIDx2Yy1idXNpbmVzcy1jeWNsZVxuICAgICAgKm5nSWY9XCJpc0J1c2luZXNzQ3ljbGVWaXNpYmxlXCJcbiAgICAgIChidXNpbmVzc0N5Y2xlQ2hhbmdlKT1cImJ1c2luZXNzQ3ljbGVDaGFuZ2VIYW5kbGVyKCRldmVudClcIlxuICAgID48L3ZjLWJ1c2luZXNzLWN5Y2xlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1hcmVhXCI+XG4gICAgPHZjLXNlYXJjaFxuICAgICAgKm5nSWY9XCJzaG93U2VhcmNoXCJcbiAgICAgIFtpc0FkdmFuY2VTZWFyY2hdPVwiaXNBZHZhbmNlU2VhcmNoXCJcbiAgICAgIChvblNlYXJjaEFjdGlvbik9XCJvblNlYXJjaEFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgID48L3ZjLXNlYXJjaD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgPHZjLXN1cHBvcnQgKG9wZW5TdXBwb3J0KT1cIm9wZW5EaWFsb2cuZW1pdCgnU1VQUE9SVCcpXCI+PC92Yy1zdXBwb3J0PlxuICAgIDx2Yy1jcmVhdGUtd29ya2Zsb3dcbiAgICAgICpuZ0lmPVwiKGFwaVNlcnZpY2UubG9nZ2VkVXNlckRldGFpbCQgfCBhc3luYyB8IGNoZWNrUGVybWlzc2lvbikgJiYgc2hvd0NyZWF0ZVdvcmtmbG93XCJcbiAgICAgIChvcGVuV29ya2Zsb3cpPVwib3BlbkRpYWxvZy5lbWl0KCdXT1JLRkxPVycpXCJcbiAgICAgIFtpZnJhbWVMb2FkaW5nXT1cImlmcmFtZUxvYWRpbmdcIlxuICAgID48L3ZjLWNyZWF0ZS13b3JrZmxvdz5cbiAgICA8dmMtcXVldWU+PC92Yy1xdWV1ZT5cbiAgICA8dmMtdXNlci1kZXRhaWxzXG4gICAgICBbdXNlckRldGFpbHNdPVwiYXBpU2VydmljZS5sb2dnZWRVc2VyRGV0YWlsJCB8IGFzeW5jXCJcbiAgICAgIFtzdWJzY3JpcHRpb25EZXRhaWxzXT1cImFwaVNlcnZpY2Uuc3Vic2NyaXB0aW9uRGV0YWlsJCB8IGFzeW5jXCJcbiAgICA+PC92Yy11c2VyLWRldGFpbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|