@ieeesa-npm/tenants 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +11 -31
- package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +4 -4
- package/fesm2022/ieeesa-npm-tenants.mjs +13 -33
- package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -1
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +0 -5
- package/package.json +1 -1
|
@@ -58,20 +58,25 @@ export class ViewTenantDetailsComponent {
|
|
|
58
58
|
const appId = this.tenantAppService.getSelectedTenantInformation()
|
|
59
59
|
?.appId;
|
|
60
60
|
this.getTenantDetails(appId);
|
|
61
|
-
this.getFeatures();
|
|
62
61
|
}
|
|
63
62
|
/**
|
|
64
|
-
* Gets the
|
|
63
|
+
* Gets the selected tenant details from server.
|
|
65
64
|
* @memberof ViewTenantDetailsComponent
|
|
66
65
|
*/
|
|
67
|
-
|
|
66
|
+
getTenantDetails(appId) {
|
|
68
67
|
this.tenantAppService
|
|
69
|
-
.
|
|
68
|
+
.getTenantDetails(appId)
|
|
70
69
|
.pipe(takeUntil(this.destroy$))
|
|
71
70
|
.subscribe({
|
|
72
71
|
next: (response) => {
|
|
73
72
|
if (response?.status) {
|
|
74
|
-
|
|
73
|
+
this.tenantDetails = response?.body;
|
|
74
|
+
this.slideToggleOption.checked = this.tenantDetails
|
|
75
|
+
.status;
|
|
76
|
+
this.slideToggleOption.label = this.tenantDetails.status
|
|
77
|
+
? this.tenantLabels?.active
|
|
78
|
+
: this.tenantLabels?.inactive;
|
|
79
|
+
const features = this.tenantDetails.features;
|
|
75
80
|
features.map((feature) => {
|
|
76
81
|
if (feature?.featureId ===
|
|
77
82
|
FeaturePermissionId.MEETINGS_AND_EVENTS ||
|
|
@@ -84,31 +89,6 @@ export class ViewTenantDetailsComponent {
|
|
|
84
89
|
});
|
|
85
90
|
}
|
|
86
91
|
},
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
|
-
error: (error) => {
|
|
89
|
-
this.sharedService.handleErrors(error, this.constants?.errors);
|
|
90
|
-
},
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Gets the selected tenant details from server.
|
|
95
|
-
* @memberof ViewTenantDetailsComponent
|
|
96
|
-
*/
|
|
97
|
-
getTenantDetails(appId) {
|
|
98
|
-
this.tenantAppService
|
|
99
|
-
.getTenantDetails(appId)
|
|
100
|
-
.pipe(takeUntil(this.destroy$))
|
|
101
|
-
.subscribe({
|
|
102
|
-
next: (response) => {
|
|
103
|
-
if (response?.status) {
|
|
104
|
-
this.tenantDetails = response?.body;
|
|
105
|
-
this.slideToggleOption.checked = this.tenantDetails
|
|
106
|
-
.status;
|
|
107
|
-
this.slideToggleOption.label = this.tenantDetails.status
|
|
108
|
-
? this.tenantLabels?.active
|
|
109
|
-
: this.tenantLabels?.inactive;
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
92
|
error: (error) => {
|
|
113
93
|
this.sharedService.handleErrors(error, this.constants?.errors);
|
|
114
94
|
},
|
|
@@ -148,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
148
128
|
}], routePaths: [{
|
|
149
129
|
type: Input
|
|
150
130
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10ZW5hbnQtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy92aWV3LXRlbmFudC1kZXRhaWxzL3ZpZXctdGVuYW50LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnQtZGV0YWlscy92aWV3LXRlbmFudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLL0MsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixvQkFBb0IsR0FDckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU83RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7QUFnQi9FLE1BQU0sT0FBTywwQkFBMEI7SUFtQnJDO0lBQ0UsMENBQTBDO0lBQ2xDLHlCQUFvRDtJQUM1RCwwQ0FBMEM7SUFDbEMsZ0JBQTJDO0lBQ25ELDBDQUEwQztJQUNuQyx5QkFBb0Q7SUFDM0QsMENBQTBDO0lBQ2xDLGFBQTRCO1FBTjVCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFFcEQscUJBQWdCLEdBQWhCLGdCQUFnQixD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QXFFQSx3dVJEekNJLFlBQVksNlZBQ1osWUFBWSx3UUFDWixvQkFBb0IsMEpBQ3BCLGtCQUFrQix1RkFDbEIsZ0JBQWdCOzs0RkFLUCwwQkFBMEI7a0JBZHRDLFNBQVM7K0JBRUUsNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakI7NE5BTVEsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHtcclxuICBBY2NvcmRpb25Db21wb25lbnQsXHJcbiAgQWNjb3JkaW9uSW5mbyxcclxuICBTbGlkZVRvZ2dsZUNvbXBvbmVudCxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dCBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IFRlbmFudEluZm8sIFRlbmFudERldGFpbHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnRzLm1vZGVsJztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudHMtcGVybWlzc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBUZW5hbnRzUm91dGVzQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JvdXRlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZlYXR1cmVzLCBHZXRGZWF0dXJlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmVzLm1vZGVsJztcclxuaW1wb3J0IHsgRmVhdHVyZVBlcm1pc3Npb25JZCB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlLXBlcm1pc3Npb24taWQubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2llZWVzYS12aWV3LXRlbmFudC1kZXRhaWxzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIFNsaWRlVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgQWNjb3JkaW9uQ29tcG9uZW50LFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXRlbmFudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LXRlbmFudC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgYXBpQmFzZVVSTCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1c2VyUGVybWlzc2lvbnMhOiBVc2VyUGVybWlzc2lvbltdO1xyXG4gIEBJbnB1dCgpIHJvdXRlUGF0aHMhOiBUZW5hbnRzUm91dGVzQ29uZmlnO1xyXG4gIGlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gc2NyZWVuVGV4dDtcclxuICB0ZW5hbnRMYWJlbHMgPSB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LmxhYmVsO1xyXG4gIHNsaWRlVG9nZ2xlT3B0aW9uID0ge1xyXG4gICAgaWQ6IDEsXHJcbiAgICBsYWJlbDogdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzPy5sYWJlbD8uYWN0aXZlLFxyXG4gICAgY2hlY2tlZDogdHJ1ZSxcclxuICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICB9O1xyXG4gIHRlbmFudERldGFpbHMhOiBUZW5hbnRJbmZvO1xyXG4gIGFjY29yZGlvbkluZm9MaXN0OiBBY2NvcmRpb25JbmZvW10gPSB0aGlzLmNvbnN0YW50cz8uVGVuYW50QWNjb3JkaW9uSW5mbztcclxuICB2aWV3VGVuYW50c1JvdXRlVXJsITogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2U6IEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRCcmVha3BvaW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHsgbWF0Y2hlczogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQ/Lm1hdGNoZXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgdmlldyB0ZW5hbnQgZGV0YWlscyBjb21wb25lbnQuXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlUGF0aHMgPSB0aGlzLnJvdXRlUGF0aHMgPz8gdGhpcy5jb25zdGFudHM/LnJvdXRlQ29uZmlnUGF0aDtcclxuICAgIHRoaXMudmlld1RlbmFudHNSb3V0ZVVybCA9IGAvJHt0aGlzLnJvdXRlUGF0aHM/LnZpZXdUZW5hbnRzfWA7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2U/LnNldEFwcENvbmZpZyh0aGlzLmFwaUJhc2VVUkwsIHRoaXMudXNlclBlcm1pc3Npb25zKTtcclxuICAgIGNvbnN0IGFwcElkID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldFNlbGVjdGVkVGVuYW50SW5mb3JtYXRpb24oKVxyXG4gICAgICA/LmFwcElkIGFzIHN0cmluZztcclxuICAgIHRoaXMuZ2V0VGVuYW50RGV0YWlscyhhcHBJZCk7XHJcbiAgICB0aGlzLmdldEZlYXR1cmVzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGxpc3Qgb2YgZmVhdHVyZXMgYW5kIGNvbnN0cnVjdCB0aGUgQWNjb3JkaW9uIGluZm8gYmFzZWQgb24gdGhlIGZlYXR1cmVzIChNZWV0aW5ncyAmIEV2ZW50cywgQmFsbG90cywgZXRjLikgY29uZmlndXJlZCBmb3IgdGhlIHNlbGVjdGVkIHRlbmFudC4gQmFzaWMgRGV0YWlscyBhbmQgR3JvdXBzICYgUm9zdGVycyBieSBkZWZhdWx0IGNvbmZpZ3VyZWQgZm9yIGFsbCB0ZW5hbnRzIGFuZCBhc3NvY2lhdGVkIGFjY29yZGlvbiBpbmZvcyBhcmUgcHJlZGVmaW5lZCBzdWNoIGFzIFJvbGVzICYgUGVybWlzc2lvbnMgYW5kIEdyb3VwIFR5cGVzLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZlYXR1cmVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRGZWF0dXJlcygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBHZXRGZWF0dXJlc1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHJlc3BvbnNlLmJvZHkgYXMgRmVhdHVyZXNbXTtcclxuICAgICAgICAgICAgZmVhdHVyZXMubWFwKChmZWF0dXJlOiBGZWF0dXJlcykgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGZlYXR1cmU/LmZlYXR1cmVJZCA9PT1cclxuICAgICAgICAgICAgICAgICAgRmVhdHVyZVBlcm1pc3Npb25JZC5NRUVUSU5HU19BTkRfRVZFTlRTIHx8XHJcbiAgICAgICAgICAgICAgICBmZWF0dXJlPy5mZWF0dXJlSWQgPT09IEZlYXR1cmVQZXJtaXNzaW9uSWQuQkFMTE9UU1xyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uSW5mb0xpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmFjY29yZGlvbkluZm9MaXN0Lmxlbmd0aCArIDEsXHJcbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogZmVhdHVyZT8uZmVhdHVyZU5hbWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhlcnJvciwgdGhpcy5jb25zdGFudHM/LmVycm9ycyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBzZWxlY3RlZCB0ZW5hbnQgZGV0YWlscyBmcm9tIHNlcnZlci5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudERldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRUZW5hbnREZXRhaWxzKGFwcElkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuZ2V0VGVuYW50RGV0YWlscyhhcHBJZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IFRlbmFudERldGFpbHNSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy50ZW5hbnREZXRhaWxzID0gcmVzcG9uc2U/LmJvZHkgYXMgVGVuYW50SW5mbztcclxuICAgICAgICAgICAgdGhpcy5zbGlkZVRvZ2dsZU9wdGlvbi5jaGVja2VkID0gdGhpcy50ZW5hbnREZXRhaWxzXHJcbiAgICAgICAgICAgICAgLnN0YXR1cyBhcyBib29sZWFuO1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlVG9nZ2xlT3B0aW9uLmxhYmVsID0gdGhpcy50ZW5hbnREZXRhaWxzLnN0YXR1c1xyXG4gICAgICAgICAgICAgID8gdGhpcy50ZW5hbnRMYWJlbHM/LmFjdGl2ZVxyXG4gICAgICAgICAgICAgIDogdGhpcy50ZW5hbnRMYWJlbHM/LmluYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhlcnJvciwgdGhpcy5jb25zdGFudHM/LmVycm9ycyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBLZWVwcyB0cmFjayBvZiB0aGUgYWNjb3JkaW9uIGJhc2VkIG9uIHRoZSBlbGVtZW50J3MgSUQgaW4gRE9NIHRyZWUuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUFjY29yZGlvbkZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEFjY29yZGlvbkluZm8pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGl0ZW0/LmlkIGFzIG51bWJlcjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybXMgbmVjZXNzYXJ5IGNsZWFudXAgdGFza3MsIHN1Y2ggYXMgdW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS12aWV3LXRlbmFudC1pbmZvIHB4LTQgcGItNFwiXHJcbiAgW25nQ2xhc3NdPVwiXHJcbiAgICBpc01vYmlsZVZpZXdcclxuICAgICAgPyAnaWVlZXNhLXZpZXctdGVuYW50LWluZm8tLWJnLXdoaXRlJ1xyXG4gICAgICA6ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tYmctYmx1ZSdcclxuICBcIlxyXG4+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLWxnLTQgZ2FwLW1kLTMgZ2FwLXNtLTIgZ2FwLTMgcGItM1wiXHJcbiAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAnZmxleC1jb2x1bW4gZ2FwLTInIDogJ2FsaWduLWl0ZW0tY2VudGVyJ1wiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImQtZmxleCBnYXAtbGctNCBnYXAtbWQtMyBnYXAtc20tMyBnYXAtMyBwcy0wIGFsaWduLWl0ZW1zLW1kLWNlbnRlciBhbGlnbi1pdGVtcy14bC1jZW50ZXJcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBpc01vYmlsZVZpZXcgPyAnZmxleC1jb2x1bW4nIDogJydcclxuICAgICAgXCJcclxuICAgID5cclxuICAgICAgPHBcclxuICAgICAgICBjbGFzcz1cIm1iLTAgaWVlZXNhLWhlYWRsaW5lLWxnLTMyXCJcclxuICAgICAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAnJyA6ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tdGl0bGUnXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHRlbmFudERldGFpbHM/LmFwcFRpdGxlIH19XHJcbiAgICAgIDwvcD5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtbGctMiBnYXAtbWQtMiBnYXAtc20tMiBnYXAtMlwiPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cIm1iLTAgaWVlZXNhLXRpdGxlLXNtLTE0IG10LTFcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXNNb2JpbGVWaWV3ID8gJ3AtMCcgOiAnaWVlZXNhLXZpZXctdGVuYW50LWluZm8tLWFwcC1pZCdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IHRlbmFudExhYmVscz8uYXBwSWQgfX06XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHt7IHRlbmFudERldGFpbHM/LmFwcElkIH19XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbmFudERldGFpbHM/LmFwcElkICE9PSB0ZW5hbnRMYWJlbHM/LnNhQXBwSWRcIj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1iLTAgbXQtMSBpZWVlc2EtdGl0bGUtc20tMTQgaWVlZXNhLXZpZXctdGVuYW50LWluZm8tLWFwcC1zdGF0dXNcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAncC0wJyA6ICcnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgdGVuYW50TGFiZWxzPy5zdGF0dXMgfX06XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8aWVlZXNhLXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgICAgICBbc2xpZGVUb2dnbGVdPVwic2xpZGVUb2dnbGVPcHRpb25cIlxyXG4gICAgICAgICAgPjwvaWVlZXNhLXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWJ0bi1sYWJlbC1sZy1ib2xkLTE2IHRleHQtZGVjb3JhdGlvbi1ub25lIG10LWxnLTMgbXQteGwtNiBwLXNtLTAgcC1tZC0wXCJcclxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxyXG4gICAgICBbcm91dGVyTGlua109XCJ2aWV3VGVuYW50c1JvdXRlVXJsXCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXNNb2JpbGVWaWV3ID8gJycgOiAnaWVlZXNhLXZpZXctdGVuYW50LWluZm8tLWxpbmsnXCJcclxuICAgICAgPnt7IHRlbmFudExhYmVscz8udmlld0FsbEFwcHMgfX08L2FcclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImllZWVzYS12aWV3LXRlbmFudC1pbmZvX19hY2NvcmRpb24gaWVlZXNhLXZpZXctdGVuYW50LWluZm9fX2FjY29yZGlvbi0tYmx1ZS1iZ1wiXHJcbiAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAnaWVlZXNhLXZpZXctdGVuYW50LWluZm9fX2FjY29yZGlvbi0taW5mbycgOiAnJ1wiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJcclxuICAgICAgICBsZXQgYWNjb3JkaW9uSW5mbyBvZiBhY2NvcmRpb25JbmZvTGlzdDtcclxuICAgICAgICB0cmFja0J5OiB0cmFja0J5QWNjb3JkaW9uRm5cclxuICAgICAgXCJcclxuICAgID5cclxuICAgICAgPGllZWVzYS1hY2NvcmRpb24gW2FjY29yZGlvbkluZm9dPVwiYWNjb3JkaW9uSW5mb1wiPiA8L2llZWVzYS1hY2NvcmRpb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10ZW5hbnQtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy92aWV3LXRlbmFudC1kZXRhaWxzL3ZpZXctdGVuYW50LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnQtZGV0YWlscy92aWV3LXRlbmFudC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLL0MsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixvQkFBb0IsR0FDckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU83RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7QUFnQi9FLE1BQU0sT0FBTywwQkFBMEI7SUFtQnJDO0lBQ0UsMENBQTBDO0lBQ2xDLHlCQUFvRDtJQUM1RCwwQ0FBMEM7SUFDbEMsZ0JBQTJDO0lBQ25ELDBDQUEwQztJQUNuQyx5QkFBb0Q7SUFDM0QsMENBQTBDO0lBQ2xDLGFBQTRCO1FBTjVCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFFcEQscUJBQWdCLEdBQWhCLGdCQUFnQixD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QUFVLEVBQUUsS0FBSztnQ0FDakIsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXOzZCQUM1QixDQUFDLENBQUM7b0JBQ1AsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsSUFBbUI7UUFDbkQsT0FBTyxJQUFJLEVBQUUsRUFBWSxDQUFDO0lBQzVCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXZHVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwwTENyQ3ZDLHMrRUFxRUEsd3VSRHpDSSxZQUFZLDZWQUNaLFlBQVksd1FBQ1osb0JBQW9CLDBKQUNwQixrQkFBa0IsdUZBQ2xCLGdCQUFnQjs7NEZBS1AsMEJBQTBCO2tCQWR0QyxTQUFTOytCQUVFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7cUJBQ2pCOzROQU1RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gIEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7XHJcbiAgQWNjb3JkaW9uQ29tcG9uZW50LFxyXG4gIEFjY29yZGlvbkluZm8sXHJcbiAgU2xpZGVUb2dnbGVDb21wb25lbnQsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHQgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBUZW5hbnRJbmZvLCBUZW5hbnREZXRhaWxzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnRzLXBlcm1pc3Npb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50c1JvdXRlc0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9yb3V0ZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGZWF0dXJlcyB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZlYXR1cmVQZXJtaXNzaW9uSWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmVhdHVyZS1wZXJtaXNzaW9uLWlkLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdpZWVlc2Etdmlldy10ZW5hbnQtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBTbGlkZVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIEFjY29yZGlvbkNvbXBvbmVudCxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy10ZW5hbnQtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy10ZW5hbnQtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld1RlbmFudERldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogVGVuYW50c1JvdXRlc0NvbmZpZztcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHQ7XHJcbiAgdGVuYW50TGFiZWxzID0gdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzPy5sYWJlbDtcclxuICBzbGlkZVRvZ2dsZU9wdGlvbiA9IHtcclxuICAgIGlkOiAxLFxyXG4gICAgbGFiZWw6IHRoaXMuY29uc3RhbnRzPy52aWV3VGVuYW50cz8ubGFiZWw/LmFjdGl2ZSxcclxuICAgIGNoZWNrZWQ6IHRydWUsXHJcbiAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgfTtcclxuICB0ZW5hbnREZXRhaWxzITogVGVuYW50SW5mbztcclxuICBhY2NvcmRpb25JbmZvTGlzdDogQWNjb3JkaW9uSW5mb1tdID0gdGhpcy5jb25zdGFudHM/LlRlbmFudEFjY29yZGlvbkluZm87XHJcbiAgdmlld1RlbmFudHNSb3V0ZVVybCE6IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHRlbmFudEFwcFNlcnZpY2U6IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBnbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlOiBHbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiB7IG1hdGNoZXM6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Py5tYXRjaGVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHZpZXcgdGVuYW50IGRldGFpbHMgY29tcG9uZW50LlxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZVBhdGhzID0gdGhpcy5yb3V0ZVBhdGhzID8/IHRoaXMuY29uc3RhbnRzPy5yb3V0ZUNvbmZpZ1BhdGg7XHJcbiAgICB0aGlzLnZpZXdUZW5hbnRzUm91dGVVcmwgPSBgLyR7dGhpcy5yb3V0ZVBhdGhzPy52aWV3VGVuYW50c31gO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5zZXRBcHBDb25maWcodGhpcy5hcGlCYXNlVVJMLCB0aGlzLnVzZXJQZXJtaXNzaW9ucyk7XHJcbiAgICBjb25zdCBhcHBJZCA9IHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKClcclxuICAgICAgPy5hcHBJZCBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmdldFRlbmFudERldGFpbHMoYXBwSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgc2VsZWN0ZWQgdGVuYW50IGRldGFpbHMgZnJvbSBzZXJ2ZXIuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0VGVuYW50RGV0YWlscyhhcHBJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmdldFRlbmFudERldGFpbHMoYXBwSWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBUZW5hbnREZXRhaWxzUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVuYW50RGV0YWlscyA9IHJlc3BvbnNlPy5ib2R5IGFzIFRlbmFudEluZm87XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVUb2dnbGVPcHRpb24uY2hlY2tlZCA9IHRoaXMudGVuYW50RGV0YWlsc1xyXG4gICAgICAgICAgICAgIC5zdGF0dXMgYXMgYm9vbGVhbjtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZVRvZ2dsZU9wdGlvbi5sYWJlbCA9IHRoaXMudGVuYW50RGV0YWlscy5zdGF0dXNcclxuICAgICAgICAgICAgICA/IHRoaXMudGVuYW50TGFiZWxzPy5hY3RpdmVcclxuICAgICAgICAgICAgICA6IHRoaXMudGVuYW50TGFiZWxzPy5pbmFjdGl2ZTtcclxuICAgICAgICAgICAgY29uc3QgZmVhdHVyZXMgPSB0aGlzLnRlbmFudERldGFpbHMuZmVhdHVyZXMgYXMgRmVhdHVyZXNbXTtcclxuICAgICAgICAgICAgZmVhdHVyZXMubWFwKChmZWF0dXJlOiBGZWF0dXJlcykgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGZlYXR1cmU/LmZlYXR1cmVJZCA9PT1cclxuICAgICAgICAgICAgICAgICAgRmVhdHVyZVBlcm1pc3Npb25JZC5NRUVUSU5HU19BTkRfRVZFTlRTIHx8XHJcbiAgICAgICAgICAgICAgICBmZWF0dXJlPy5mZWF0dXJlSWQgPT09IEZlYXR1cmVQZXJtaXNzaW9uSWQuQkFMTE9UU1xyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uSW5mb0xpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmFjY29yZGlvbkluZm9MaXN0Lmxlbmd0aCArIDEsXHJcbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogZmVhdHVyZT8uZmVhdHVyZU5hbWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKGVycm9yLCB0aGlzLmNvbnN0YW50cz8uZXJyb3JzKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEtlZXBzIHRyYWNrIG9mIHRoZSBhY2NvcmRpb24gYmFzZWQgb24gdGhlIGVsZW1lbnQncyBJRCBpbiBET00gdHJlZS5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudERldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5QWNjb3JkaW9uRm4oaW5kZXg6IG51bWJlciwgaXRlbTogQWNjb3JkaW9uSW5mbyk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaXRlbT8uaWQgYXMgbnVtYmVyO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBQZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnREZXRhaWxzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkPy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaWVlZXNhLXZpZXctdGVuYW50LWluZm8gcHgtNCBwYi00XCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGlzTW9iaWxlVmlld1xyXG4gICAgICA/ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tYmctd2hpdGUnXHJcbiAgICAgIDogJ2llZWVzYS12aWV3LXRlbmFudC1pbmZvLS1iZy1ibHVlJ1xyXG4gIFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtbGctNCBnYXAtbWQtMyBnYXAtc20tMiBnYXAtMyBwYi0zXCJcclxuICAgIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICdmbGV4LWNvbHVtbiBnYXAtMicgOiAnYWxpZ24taXRlbS1jZW50ZXInXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGdhcC1sZy00IGdhcC1tZC0zIGdhcC1zbS0zIGdhcC0zIHBzLTAgYWxpZ24taXRlbXMtbWQtY2VudGVyIGFsaWduLWl0ZW1zLXhsLWNlbnRlclwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIGlzTW9iaWxlVmlldyA/ICdmbGV4LWNvbHVtbicgOiAnJ1xyXG4gICAgICBcIlxyXG4gICAgPlxyXG4gICAgICA8cFxyXG4gICAgICAgIGNsYXNzPVwibWItMCBpZWVlc2EtaGVhZGxpbmUtbGctMzJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICcnIDogJ2llZWVzYS12aWV3LXRlbmFudC1pbmZvLS10aXRsZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgdGVuYW50RGV0YWlscz8uYXBwVGl0bGUgfX1cclxuICAgICAgPC9wPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC1sZy0yIGdhcC1tZC0yIGdhcC1zbS0yIGdhcC0yXCI+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibWItMCBpZWVlc2EtdGl0bGUtc20tMTQgbXQtMVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAncC0wJyA6ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tYXBwLWlkJ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgdGVuYW50TGFiZWxzPy5hcHBJZCB9fTpcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAge3sgdGVuYW50RGV0YWlscz8uYXBwSWQgfX1cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVuYW50RGV0YWlscz8uYXBwSWQgIT09IHRlbmFudExhYmVscz8uc2FBcHBJZFwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWItMCBtdC0xIGllZWVzYS10aXRsZS1zbS0xNCBpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tYXBwLXN0YXR1c1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICdwLTAnIDogJydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyB0ZW5hbnRMYWJlbHM/LnN0YXR1cyB9fTpcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxpZWVlc2Etc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICAgIFtzbGlkZVRvZ2dsZV09XCJzbGlkZVRvZ2dsZU9wdGlvblwiXHJcbiAgICAgICAgICA+PC9pZWVlc2Etc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtYnRuLWxhYmVsLWxnLWJvbGQtMTYgdGV4dC1kZWNvcmF0aW9uLW5vbmUgbXQtbGctMyBtdC14bC02IHAtc20tMCBwLW1kLTBcIlxyXG4gICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcclxuICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXHJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cInZpZXdUZW5hbnRzUm91dGVVcmxcIlxyXG4gICAgICBbbmdDbGFzc109XCJpc01vYmlsZVZpZXcgPyAnJyA6ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mby0tbGluaydcIlxyXG4gICAgICA+e3sgdGVuYW50TGFiZWxzPy52aWV3QWxsQXBwcyB9fTwvYVxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiaWVlZXNhLXZpZXctdGVuYW50LWluZm9fX2FjY29yZGlvbiBpZWVlc2Etdmlldy10ZW5hbnQtaW5mb19fYWNjb3JkaW9uLS1ibHVlLWJnXCJcclxuICAgIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICdpZWVlc2Etdmlldy10ZW5hbnQtaW5mb19fYWNjb3JkaW9uLS1pbmZvJyA6ICcnXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgIGxldCBhY2NvcmRpb25JbmZvIG9mIGFjY29yZGlvbkluZm9MaXN0O1xyXG4gICAgICAgIHRyYWNrQnk6IHRyYWNrQnlBY2NvcmRpb25GblxyXG4gICAgICBcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWFjY29yZGlvbiBbYWNjb3JkaW9uSW5mb109XCJhY2NvcmRpb25JbmZvXCI+IDwvaWVlZXNhLWFjY29yZGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -44,7 +44,7 @@ export class ViewTenantsListComponent {
|
|
|
44
44
|
this.tenantsPageInfo = {
|
|
45
45
|
tenantsTitle: '',
|
|
46
46
|
};
|
|
47
|
-
this.apiBaseURL = '
|
|
47
|
+
this.apiBaseURL = '';
|
|
48
48
|
this.defaultSortedColumn = ViewTenantsColumnSchemaDef.APP_ID;
|
|
49
49
|
this.defaultColumnSortDirection = true;
|
|
50
50
|
this.createTenant = new EventEmitter();
|
|
@@ -309,11 +309,11 @@ export class ViewTenantsListComponent {
|
|
|
309
309
|
this.destroy$.unsubscribe();
|
|
310
310
|
}
|
|
311
311
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertsService }, { token: i2.BreakpointObserverService }, { token: i3.SharedService }, { token: i4.TenantApplicationsService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
312
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantsListComponent, isStandalone: true, selector: "ieeesa-view-tenants-list", inputs: { tenantsPageInfo: "tenantsPageInfo", apiBaseURL: "apiBaseURL", routePaths: "routePaths", userPermissions: "userPermissions", defaultSortedColumn: "defaultSortedColumn", defaultColumnSortDirection: "defaultColumnSortDirection" }, outputs: { createTenant: "createTenant", viewTenantsDetails: "viewTenantsDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo?.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "searchResultMessage"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
312
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantsListComponent, isStandalone: true, selector: "ieeesa-view-tenants-list", inputs: { tenantsPageInfo: "tenantsPageInfo", apiBaseURL: "apiBaseURL", routePaths: "routePaths", userPermissions: "userPermissions", defaultSortedColumn: "defaultSortedColumn", defaultColumnSortDirection: "defaultColumnSortDirection" }, outputs: { createTenant: "createTenant", viewTenantsDetails: "viewTenantsDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "searchResultMessage"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
313
313
|
}
|
|
314
314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, decorators: [{
|
|
315
315
|
type: Component,
|
|
316
|
-
args: [{ selector: 'ieeesa-view-tenants-list', standalone: true, imports: [CommonModule, MatButtonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo?.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"] }]
|
|
316
|
+
args: [{ selector: 'ieeesa-view-tenants-list', standalone: true, imports: [CommonModule, MatButtonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"] }]
|
|
317
317
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.AlertsService }, { type: i2.BreakpointObserverService }, { type: i3.SharedService }, { type: i4.TenantApplicationsService }, { type: i5.Router }]; }, propDecorators: { tenantsPageInfo: [{
|
|
318
318
|
type: Input
|
|
319
319
|
}], apiBaseURL: [{
|
|
@@ -331,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
331
331
|
}], viewTenantsDetails: [{
|
|
332
332
|
type: Output
|
|
333
333
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnRzLWxpc3Qvdmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnRzLWxpc3Qvdmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsY0FBYyxFQUlkLHdCQUF3QixFQUN4QixlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLFNBQVMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUNMLFNBQVMsRUFHVCxTQUFTLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQU83QixPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsR0FDZixNQUFNLG9DQUFvQyxDQUFDO0FBSzVDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsV0FBVyxHQUVaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7Ozs7OztBQVNwSCxNQUFNLE9BQU8sd0JBQXdCO0lBdUNuQztJQUNFLDBDQUEwQztJQUNuQyxNQUFpQjtJQUN4QiwwQ0FBMEM7SUFDbkMsWUFBMkI7SUFDbEMsMENBQTBDO0lBQ2xDLHlCQUFvRDtJQUM1RCwwQ0FBMEM7SUFDbEMsYUFBNEI7SUFDcEMsMENBQTBDO0lBQ2xDLHlCQUFvRDtJQUM1RCwwQ0FBMEM7SUFDbEMsTUFBYztRQVZmLFdBQU0sR0FBTixNQUFNLENBQVc7UUFFakIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFFMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUVwRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU1Qiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBRXBELFdBQU0sR0FBTixNQUFNLENBQVE7UUFsRHhCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNwRCw4REFBOEQ7UUFDOUQsY0FBUyxHQUFRLFNBQVMsQ0FBQztRQUMzQix5QkFBb0IsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztRQUNuRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNaLG9CQUFlLEdBRXBCO1lBQ0YsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUNPLGVBQVUsR0FBRyxrQ0FBa0MsQ0FBQztRQUloRCx3QkFBbUIsR0FBVywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7UUFDaEUsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FDMUIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdqQyxpQkFBWSxHQUFpQjtZQUMzQixrQkFBa0IsRUFBRSxJQUFJO1NBQ3pCLENBQUM7UUFDRixpQkFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLENBQUM7UUFDdkQsOEJBQXlCLEdBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSx5QkFBeUIsQ0FBQztRQUN2RCxvQkFBZSxHQUFvQjtZQUNqQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWU7WUFDMUQsWUFBWSxFQUFFLENBQUM7U0FDaEIsQ0FBQztRQUVGLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBR2hDLDhEQUE4RDtRQUM5RCw0QkFBdUIsR0FBUSxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztRQWUxRCxJQUFJLENBQUMseUJBQXlCO2FBQzNCLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0I7WUFDekIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMseUJBQXlCLEVBQUUsWUFBWSxDQUMxQyxJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsWUFBWTtTQUN0RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO1lBQ3BDLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjO2dCQUM5QyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsTUFBTTtnQkFDM0MsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FDckMsSUFBSSxDQUFDLDBCQUEwQixDQUNoQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLGNBQThCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FDbEQsY0FBYyxFQUNkLElBQUksQ0FBQyxzQkFBc0IsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFDRDs7O09BR0c7SUFDSCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQjtnQkFDRSxFQUFFLEVBQUUsQ0FBQztnQkFDTCxTQUFTLEVBQUUsMEJBQTBCLENBQUMsTUFBTTtnQkFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSztnQkFDakMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxJQUFJO2dCQUNoQyw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsU0FBUyxFQUFFLDBCQUEwQixDQUFDLFNBQVM7Z0JBQy9DLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVE7Z0JBQ3BDLFVBQVUsRUFBRSxlQUFlLENBQUMsSUFBSTtnQkFDaEMsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUN6QixHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUN6RCxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsU0FBUyxFQUFFLDBCQUEwQixDQUFDLGVBQWU7Z0JBQ3JELE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWM7Z0JBQzFDLFVBQVUsRUFBRSxlQUFlLENBQUMsSUFBSTtnQkFDaEMsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUN6QixHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO2FBQ2hFO1lBRUQ7Z0JBQ0UsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsU0FBUyxFQUFFLDBCQUEwQixDQUFDLFFBQVE7Z0JBQzlDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVE7Z0JBQ3BDLFVBQVUsRUFBRSxlQUFlLENBQUMsSUFBSTtnQkFDaEMsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUN6QixHQUNFLE9BQU8sRUFBRSxRQUFRLElBQUksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQztvQkFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO29CQUM1QyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUNYLEVBQUU7YUFDTDtZQUNEO2dCQUNFLEVBQUUsRUFBRSxDQUFDO2dCQUNMLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNO2dCQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNO2dCQUNsQyxVQUFVLEVBQUUsZUFBZSxDQUFDLElBQUk7Z0JBQ2hDLDhEQUE4RDtnQkFDOUQsUUFBUSxFQUFFLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FDekIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxRQUF1QjtRQUN4QyxPQUFPLFFBQVE7YUFDWixHQUFHLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7WUFDNUIsaURBQWlEO1lBQ2pELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM3QixDQUFDLENBQUM7WUFDRixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGdDQUFnQyxDQUFDLE9BQTBCO1FBQ3pELElBQUksQ0FBQyx5QkFBeUI7YUFDM0IsY0FBYyxDQUFDLE9BQU8sQ0FBQzthQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQTBCLENBQUM7Z0JBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxHQUFHLFFBQVEsRUFBRSxJQUFJO29CQUNoRCxFQUFFLFlBQXNCLENBQUM7WUFDN0IsQ0FBQztZQUNELDhEQUE4RDtZQUM5RCxLQUFLLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsb0JBQW9CO1FBQ2xCLE1BQU0sYUFBYSxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUztZQUM3QyxhQUFhLEVBQUUsSUFBSTtZQUNuQixrQkFBa0IsRUFBRSxnQ0FBZ0M7WUFDcEQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1NBQzFCLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxzSEFBc0g7SUFDdEgsU0FBUztJQUNQLDhEQUE4RDtJQUM5RCxhQUFrQixFQUNsQixTQUFrQjtRQUVsQixTQUFTLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqRCxJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsRUFBRTtZQUNULFVBQVUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztZQUM5QyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjthQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixpSEFBaUg7YUFDaEgsU0FBUyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN4QixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO1lBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQ2pDLFNBQVMsRUFBRSxPQUFPLEVBQ2xCLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUM1RSxDQUFDO1lBQ0YsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLENBQUM7b0JBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsY0FBYztvQkFDOUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLE1BQU07b0JBQzNDLGFBQWEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQ3JDLElBQUksQ0FBQywwQkFBMEIsQ0FDaEM7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVTthQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLElBQVU7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLDBCQUEwQjtZQUM3QixJQUFJLENBQUMsU0FBUyxLQUFLLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBc0I7WUFDakMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWM7Z0JBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUNsQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUNyQyxJQUFJLENBQUMsMEJBQTBCLENBQ2hDO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsMEJBQW1DO1FBQ3JELE9BQU8sMEJBQTBCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDekUsQ0FBQztJQUNEOzs7Ozs7O09BT0c7SUFDSCx1QkFBdUIsQ0FBQyxTQUFvQjtRQUMxQyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7WUFDcEMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUztnQkFDM0IsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO2dCQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtnQkFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FDckMsSUFBSSxDQUFDLDBCQUEwQixDQUNoQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOzs7T0FHRztJQUNILDJCQUEyQixDQUFDLFVBQXNCO1FBQ2hELElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGlCQUFpQjtZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDOztZQUN4RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0F2VVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsdVpDMURyQyxrc0NBZ0NBLHd3U0R1QlksWUFBWSxnT0FBRSxlQUFlLDRRQUFFLGtCQUFrQjs7NEZBR2hELHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxpQkFDN0MsaUJBQWlCLENBQUMsSUFBSTs2UEFRNUIsZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICBNb2RhbENvbXBvbmVudCxcclxuICBQYWdpbmF0b3JDb25maWcsXHJcbiAgVGFibGVBY3Rpb25zLFxyXG4gIFRhYmxlQ29sdW1uU2NoZW1hLFxyXG4gIFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbixcclxuICBUYWJsZUNvbHVtblR5cGUsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgRmVhdHVyZUluZm8sIFRlbmFudEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHtcclxuICBBbGVydFR5cGUsXHJcbiAgQWxlcnRzU2VydmljZSxcclxuICBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gIE1vZGFsVHlwZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgVGVuYW50c1JvdXRlc0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9yb3V0ZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHtcclxuICBUZW5hbnRTdGF0dXMsXHJcbiAgUGVybWlzc2lvblR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3Blcm1pc3Npb24tdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgVGVuYW50c1Blcm1pc3Npb25zLFxyXG4gIFVzZXJQZXJtaXNzaW9uLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnRzLXBlcm1pc3Npb24ubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLFxyXG4gIFNvcnRPcmRlckJ5LFxyXG4gIEdldFRlbmFudHNQYXlsb2FkLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1jb2x1bW4tc2NoZW1hLXZpZXctdGVuYW50LWxpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24vY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS12aWV3LXRlbmFudHMtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctdGVuYW50cy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LXRlbmFudHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBEYXRhVGFibGVDb21wb25lbnRdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3VGVuYW50c0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBjb25zdGFudHM7XHJcbiAgdmlld1RlbmFudHNDb25zdGFudHMgPSB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGVuYW50c1BhZ2VJbmZvOiB7XHJcbiAgICB0ZW5hbnRzVGl0bGU6IHN0cmluZztcclxuICB9ID0ge1xyXG4gICAgdGVuYW50c1RpdGxlOiAnJyxcclxuICB9O1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwgPSAnaHR0cHM6Ly9zYWFwcHNhcGlkZXYuaWVlZS5vcmcvdjEnO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQElucHV0KCkgcm91dGVQYXRocyE6IFRlbmFudHNSb3V0ZXNDb25maWc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBASW5wdXQoKSBkZWZhdWx0U29ydGVkQ29sdW1uOiBzdHJpbmcgPSBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5BUFBfSUQ7XHJcbiAgQElucHV0KCkgZGVmYXVsdENvbHVtblNvcnREaXJlY3Rpb24gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBjcmVhdGVUZW5hbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHZpZXdUZW5hbnRzRGV0YWlsczogRXZlbnRFbWl0dGVyPFRlbmFudEluZm8+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VGVuYW50SW5mbz4oKTtcclxuICB0YWJsZURhdGEhOiBUZW5hbnRJbmZvW107XHJcbiAgY29sdW1uU2NoZW1hITogVGFibGVDb2x1bW5TY2hlbWFbXTtcclxuICB0YWJsZUFjdGlvbnM6IFRhYmxlQWN0aW9ucyA9IHtcclxuICAgIGlzUGFnaW5hdGlvbk5lZWRlZDogdHJ1ZSxcclxuICB9O1xyXG4gIHRhYmxlQ29sdW1ucyA9IHRoaXMudmlld1RlbmFudHNDb25zdGFudHM/LnRhYmxlQ29sdW1ucztcclxuICBlbXB0eUZpZWxkVmFsdWVSZXBsYWNlZEJ5ID1cclxuICAgIHRoaXMudmlld1RlbmFudHNDb25zdGFudHM/LmVtcHR5RmllbGRWYWx1ZVJlcGxhY2VkQnk7XHJcbiAgcGFnaW5hdG9yQ29uZmlnOiBQYWdpbmF0b3JDb25maWcgPSB7XHJcbiAgICByZWNvcmRzUGVyUGFnZTogdGhpcy52aWV3VGVuYW50c0NvbnN0YW50cz8ucGFnZVNpemVPcHRpb25zPy5bMF0sXHJcbiAgICBwYWdlU2l6ZU9wdGlvbnM6IHRoaXMudmlld1RlbmFudHNDb25zdGFudHMucGFnZVNpemVPcHRpb25zLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gIH07XHJcbiAgdXNlclRlbmFudHNQZXJtaXNzaW9ucyE6IFRlbmFudHNQZXJtaXNzaW9uc1tdO1xyXG4gIHBlcm1pc3Npb25UeXBlID0gUGVybWlzc2lvblR5cGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkaWFsb2dSZWY6IGFueTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNyZWF0ZVRlbmFudFNjcmVlblRleHRzOiBhbnkgPSB0aGlzLmNvbnN0YW50cz8uY3JlYXRlVGVuYW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyU2VydmljZTogQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2U6IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiB7IG1hdGNoZXM6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Lm1hdGNoZXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdXNlciBwZXJtaXNzaW9ucywgcm91dGVyIGNvbmZpZyBwYXRoLCBiYXNlIEFQSSBVUkwsIHRhYmxlIGNvbHVtbiBzY2hlbWEgYW5kIGdldHMgdGhlIHRlbmFudHMgbGlzdC5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXJUZW5hbnRzUGVybWlzc2lvbnMgPVxyXG4gICAgICB0aGlzLnRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2U/LmZpbHRlclBlcm1pc3Npb24odGhpcy51c2VyUGVybWlzc2lvbnMpO1xyXG4gICAgdGhpcy50ZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlPy5zZXRBcHBDb25maWcoXHJcbiAgICAgIHRoaXMuYXBpQmFzZVVSTCxcclxuICAgICAgdGhpcy51c2VyUGVybWlzc2lvbnNcclxuICAgICk7XHJcbiAgICB0aGlzLnRlbmFudHNQYWdlSW5mbyA9IHtcclxuICAgICAgdGVuYW50c1RpdGxlOiB0aGlzLnZpZXdUZW5hbnRzQ29uc3RhbnRzPy50ZW5hbnRzVGl0bGUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5yb3V0ZVBhdGhzID0gdGhpcy5yb3V0ZVBhdGhzID8/IHRoaXMuY29uc3RhbnRzPy5yb3V0ZUNvbmZpZ1BhdGg7XHJcbiAgICB0aGlzLnNoYXJlZFNlcnZpY2U/LnNldFJvdXRlUGF0aHModGhpcy5yb3V0ZVBhdGhzKTtcclxuICAgIHRoaXMuY29uZmlndXJlVGFibGVJbmZvKCk7XHJcbiAgICB0aGlzLmRlZmF1bHRTb3J0ZWRDb2x1bW4gPSB0aGlzLmNvbHVtblNjaGVtYVswXS5jb2x1bW5EZWY7XHJcbiAgICB0aGlzLmdldFRlbmFudHNBbmRJbml0aWFsaXplVGFibGVWaWV3KHtcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3JDb25maWc/LnJlY29yZHNQZXJQYWdlLFxyXG4gICAgICAgIHNvcnRlZEJ5OiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5BUFBfSUQsXHJcbiAgICAgICAgc29ydGVkT3JkZXJCeTogdGhpcy5maWx0ZXJTb3J0ZWRPcmRlckJ5KFxyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvblxyXG4gICAgICAgICksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGVzIHBlcm1pc3Npb24gYmFzZWQgYWNjZXNzIGZvciBwcm92aWRlZCBmZWF0dXJlLlxyXG4gICAqIEBwYXJhbSB7UGVybWlzc2lvblR5cGV9IHBlcm1pc3Npb25UeXBlXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgdmFsaWRhdGVBY2Nlc3MocGVybWlzc2lvblR5cGU6IFBlcm1pc3Npb25UeXBlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLnZhbGlkYXRlQWNjZXNzKFxyXG4gICAgICBwZXJtaXNzaW9uVHlwZSxcclxuICAgICAgdGhpcy51c2VyVGVuYW50c1Blcm1pc3Npb25zXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb25maWd1cmVzIHRhYmxlIHNjaGVtYSB0byBkaXNwbGF5IHRoZSB0ZW5hbnRzIGluIHRhYmxlIHZpZXcuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbmZpZ3VyZVRhYmxlSW5mbygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29sdW1uU2NoZW1hID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IDEsXHJcbiAgICAgICAgY29sdW1uRGVmOiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5BUFBfSUQsXHJcbiAgICAgICAgaGVhZGluZzogdGhpcy50YWJsZUNvbHVtbnM/LmFwcElkLFxyXG4gICAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5MSU5LLFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgY2VsbERhdGE6IChlbGVtZW50OiBhbnkpID0+IGAke2VsZW1lbnQuYXBwSWR9YCxcclxuICAgICAgICBpc1NvcnRhYmxlQ29sdW1uOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IDIsXHJcbiAgICAgICAgY29sdW1uRGVmOiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5BUFBfVElUTEUsXHJcbiAgICAgICAgaGVhZGluZzogdGhpcy50YWJsZUNvbHVtbnM/LmFwcFRpdGxlLFxyXG4gICAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5URVhULFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgY2VsbERhdGE6IChlbGVtZW50OiBhbnkpID0+XHJcbiAgICAgICAgICBgJHtlbGVtZW50LmFwcFRpdGxlID8/IHRoaXMuZW1wdHlGaWVsZFZhbHVlUmVwbGFjZWRCeX1gLFxyXG4gICAgICAgIGlzU29ydGFibGVDb2x1bW46IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogMyxcclxuICAgICAgICBjb2x1bW5EZWY6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkFQUF9ERVNDUklQVElPTixcclxuICAgICAgICBoZWFkaW5nOiB0aGlzLnRhYmxlQ29sdW1ucz8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLlRFWFQsXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjZWxsRGF0YTogKGVsZW1lbnQ6IGFueSkgPT5cclxuICAgICAgICAgIGAke2VsZW1lbnQuYXBwRGVzY3JpcHRpb24gPz8gdGhpcy5lbXB0eUZpZWxkVmFsdWVSZXBsYWNlZEJ5fWAsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IDQsXHJcbiAgICAgICAgY29sdW1uRGVmOiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5GRUFUVVJFUyxcclxuICAgICAgICBoZWFkaW5nOiB0aGlzLnRhYmxlQ29sdW1ucz8uZmVhdHVyZXMsXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLlRFWFQsXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjZWxsRGF0YTogKGVsZW1lbnQ6IGFueSkgPT5cclxuICAgICAgICAgIGAke1xyXG4gICAgICAgICAgICBlbGVtZW50Py5mZWF0dXJlcyAmJiBlbGVtZW50Py5mZWF0dXJlcz8ubGVuZ3RoID4gMFxyXG4gICAgICAgICAgICAgID8gdGhpcy5mb3JtYXRGZWF0dXJlc05hbWUoZWxlbWVudD8uZmVhdHVyZXMpXHJcbiAgICAgICAgICAgICAgOiB0aGlzLmVtcHR5RmllbGRWYWx1ZVJlcGxhY2VkQnlcclxuICAgICAgICAgIH1gLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IDUsXHJcbiAgICAgICAgY29sdW1uRGVmOiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5TVEFUVVMsXHJcbiAgICAgICAgaGVhZGluZzogdGhpcy50YWJsZUNvbHVtbnM/LnN0YXR1cyxcclxuICAgICAgICBjb2x1bW5UeXBlOiBUYWJsZUNvbHVtblR5cGUuVEVYVCxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGNlbGxEYXRhOiAoZWxlbWVudDogYW55KSA9PlxyXG4gICAgICAgICAgYCR7ZWxlbWVudC5zdGF0dXMgPyBUZW5hbnRTdGF0dXMuQUNUSVZFIDogVGVuYW50U3RhdHVzLklOQUNUSVZFfWAsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0IHRoZSBmZWF0dXJlcyBuYW1lIGluIHRvIHNpbmdsZSBzZW50ZW5jZSB3aXRoIGNvbW1hIHNlcGFyYXRlZC5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZm9ybWF0RmVhdHVyZXNOYW1lKGZlYXR1cmVzOiBGZWF0dXJlSW5mb1tdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmZWF0dXJlc1xyXG4gICAgICAubWFwKChmZWF0dXJlOiBGZWF0dXJlSW5mbykgPT4ge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgICByZXR1cm4gZmVhdHVyZS5mZWF0dXJlTmFtZTtcclxuICAgICAgfSlcclxuICAgICAgPy5qb2luKCcsICcpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBGZXRjaGluZyBkZXRhaWxzIG9mIHRlbmFudHMgYW5kIGluaXRpYWxpemUgdGFibGUgdmlld1xyXG4gICAqIEBwYXJhbSB7R2V0VGVuYW50c1BheWxvYWR9IHBheWxvYWRcclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0VGVuYW50c0FuZEluaXRpYWxpemVUYWJsZVZpZXcocGF5bG9hZDogR2V0VGVuYW50c1BheWxvYWQpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwbGljYXRpb25zU2VydmljZVxyXG4gICAgICAuZ2V0VGVuYW50c0xpc3QocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gcmVzcG9uc2U/LmJvZHk/LmFwcERldGFpbHMgYXMgVGVuYW50SW5mb1tdO1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3JDb25maWcudG90YWxSZWNvcmRzID0gcmVzcG9uc2U/LmJvZHlcclxuICAgICAgICAgICAgPy50b3RhbFJlY29yZHMgYXMgbnVtYmVyO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoZXJyb3IsIHRoaXMuY29uc3RhbnRzPy5lcnJvcnMpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBkaWFsb2cgb3B0aW9ucyBmb3IgY3JlYXRlIHRlbmFudCBtb2RhbCBhbmQgY2FsbHMgb3Blbk1vZGFsIG1ldGhvZC5cclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb3BlbkNyZWF0ZVRlbmFudEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dPcHRpb25zID0ge1xyXG4gICAgICBoZWFkaW5nOiB0aGlzLnZpZXdUZW5hbnRzQ29uc3RhbnRzPy5hZGRUZW5hbnQsXHJcbiAgICAgIGlzQ2xvc2VOZWVkZWQ6IHRydWUsXHJcbiAgICAgIGNvbXBvbmVudFJlZmVyZW5jZTogQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnQsXHJcbiAgICAgIG1vZGFsVHlwZTogTW9kYWxUeXBlLkZPUk0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5vcGVuTW9kYWwoZGlhbG9nT3B0aW9ucywgJ2llZWVzYS1jcmVhdGUtdGVuYW50Jyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE9wZW5zIG1vZGFsIGNvbXBvbmVudCB3aXRoIHJlY2VpdmVkIHBhcmFtcyBhbmQgaGFuZGxlcyBmb3JtIHN1Ym1pc3Npb24gc3VjY2VzcyBhbmQgZXJyb3JzLlxyXG4gICAqIEBwYXJhbSB7Kn0gZGlhbG9nT3B0aW9uc1xyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbY2xhc3NOYW1lXVxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWluZmVycmFibGUtdHlwZXMsIG5vLXVudXNlZC12YXJzXHJcbiAgb3Blbk1vZGFsKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgIGRpYWxvZ09wdGlvbnM6IGFueSxcclxuICAgIGNsYXNzTmFtZT86IHN0cmluZ1xyXG4gICk6IHZvaWQge1xyXG4gICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lID8/ICcnO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZz8ub3BlbihNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiBkaWFsb2dPcHRpb25zLFxyXG4gICAgICB3aWR0aDogJycsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnaWVlZXNhLW1vZGFsLWRpYWxvZycsIGNsYXNzTmFtZV0sXHJcbiAgICAgIGFyaWFNb2RhbDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kaWFsb2dSZWY/LmNvbXBvbmVudEluc3RhbmNlPy5zdWJtaXRGb3JtUmVzcG9uc2VcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LCBuby11bnVzZWQtdmFyc1xyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmPy5jbG9zZSgpO1xyXG4gICAgICAgIGNvbnN0IGFwcFRpdGxlID1cclxuICAgICAgICAgIHRoaXMudGVuYW50QXBwbGljYXRpb25zU2VydmljZS5nZXRUZW5hbnRCYXNpY0luZm8/LmFwcFRpdGxlO1xyXG4gICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5zaG93QWxlcnRNZXNzYWdlKFxyXG4gICAgICAgICAgQWxlcnRUeXBlPy5TVUNDRVNTLFxyXG4gICAgICAgICAgYCR7YXBwVGl0bGV9ICR7dGhpcy5jcmVhdGVUZW5hbnRTY3JlZW5UZXh0cz8ubWVzc2FnZT8uc3VjY2Vzcz8uc3VibWlzc2lvbn1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmdldFRlbmFudHNBbmRJbml0aWFsaXplVGFibGVWaWV3KHtcclxuICAgICAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3JDb25maWc/LnJlY29yZHNQZXJQYWdlLFxyXG4gICAgICAgICAgICBzb3J0ZWRCeTogVmlld1RlbmFudHNDb2x1bW5TY2hlbWFEZWYuQVBQX0lELFxyXG4gICAgICAgICAgICBzb3J0ZWRPcmRlckJ5OiB0aGlzLmZpbHRlclNvcnRlZE9yZGVyQnkoXHJcbiAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvblxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZj8uY29tcG9uZW50SW5zdGFuY2U/LmZvcm1DYW5jZWxcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZj8uY2xvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNvcnRzIHRoZSB0ZW5hbnRzIGJ5IGFwcGxpY2F0aW9uIGlkIG9yIHRpdGxlIGluIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLlxyXG4gICAqIEBwYXJhbSB7U29ydH0gc29ydFxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBvblNvcnRUZW5hbnRzKHNvcnQ6IFNvcnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVmYXVsdFNvcnRlZENvbHVtbiA9IHNvcnQuYWN0aXZlO1xyXG4gICAgdGhpcy5kZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvbiA9XHJcbiAgICAgIHNvcnQuZGlyZWN0aW9uID09PSBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24uQVNDRU5ESU5HO1xyXG4gICAgY29uc3QgcGF5bG9hZDogR2V0VGVuYW50c1BheWxvYWQgPSB7XHJcbiAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnaW5hdG9yQ29uZmlnPy5yZWNvcmRzUGVyUGFnZSxcclxuICAgICAgICBzb3J0ZWRCeTogdGhpcy5kZWZhdWx0U29ydGVkQ29sdW1uLFxyXG4gICAgICAgIHNvcnRlZE9yZGVyQnk6IHRoaXMuZmlsdGVyU29ydGVkT3JkZXJCeShcclxuICAgICAgICAgIHRoaXMuZGVmYXVsdENvbHVtblNvcnREaXJlY3Rpb25cclxuICAgICAgICApLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIHRoaXMuZ2V0VGVuYW50c0FuZEluaXRpYWxpemVUYWJsZVZpZXcocGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5pbmcgc29ydGluZyBvcmRlciBhY2NvcmRpbmcgdG8gY29sdW1uIGRlZmluaXRpb25cclxuICAgKiBAcGFyYW0gZGVmYXVsdENvbHVtblNvcnREaXJlY3Rpb25cclxuICAgKiBAcmV0dXJucyBTb3J0T3JkZXJCeS5BU0MgfCBTb3J0T3JkZXJCeS5ERVNDXHJcbiAgICovXHJcbiAgZmlsdGVyU29ydGVkT3JkZXJCeShkZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvbjogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGVmYXVsdENvbHVtblNvcnREaXJlY3Rpb24gPyBTb3J0T3JkZXJCeS5BU0MgOiBTb3J0T3JkZXJCeS5ERVNDO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHRoZSByZWNvcmRzIGFjY29yZGluZyB0byBwYWdpbmF0aW9uXHJcbiAgICogIEBwYXJhbSB7e1xyXG4gICAqICAgICBwYWdlT2Zmc2V0OiBudW1iZXI7XHJcbiAgICogICAgIHBhZ2VMaW1pdDogbnVtYmVyO1xyXG4gICAqICAgfX0gcGFnZUV2ZW50XHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVGFibGVQYWdpbmF0aW9uQ2hhbmdlKHBhZ2VFdmVudDogUGFnZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFRlbmFudHNBbmRJbml0aWFsaXplVGFibGVWaWV3KHtcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIG9mZnNldDogcGFnZUV2ZW50LnBhZ2VJbmRleCxcclxuICAgICAgICBwYWdlU2l6ZTogcGFnZUV2ZW50LnBhZ2VTaXplLFxyXG4gICAgICAgIHNvcnRlZEJ5OiB0aGlzLmRlZmF1bHRTb3J0ZWRDb2x1bW4sXHJcbiAgICAgICAgc29ydGVkT3JkZXJCeTogdGhpcy5maWx0ZXJTb3J0ZWRPcmRlckJ5KFxyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvblxyXG4gICAgICAgICksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGVzIHRvIHZpZXcgdGVuYW50cyBkZXRhaWwgY29tcG9uZW50XHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5hdmlnYXRlVG9WaWV3VGVuYW50RGV0YWlscyh0ZW5hbnRJbmZvOiBUZW5hbnRJbmZvKTogdm9pZCB7XHJcbiAgICBpZiAodGVuYW50SW5mbykge1xyXG4gICAgICB0aGlzLnRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2Uuc2V0U2VsZWN0ZWRUZW5hbnRJbmZvcm1hdGlvbih0ZW5hbnRJbmZvKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJvdXRlUGF0aHM/LnZpZXdUZW5hbnREZXRhaWxzKVxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZVBhdGhzPy52aWV3VGVuYW50RGV0YWlsc10pO1xyXG4gICAgZWxzZSB0aGlzLnZpZXdUZW5hbnRzRGV0YWlscy5lbWl0KHRlbmFudEluZm8pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpZWVlc2Etdmlldy10ZW5hbnRzLWxpc3RcIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2llZWVzYS12aWV3LXRlbmFudHMtbGlzdF9fbW9iaWxlJzogaXNNb2JpbGVWaWV3IH1cIlxyXG4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtaGVhZGxpbmUtbGctMzIgcHktMyBtYi0wXCI+XHJcbiAgICB7eyB0ZW5hbnRzUGFnZUluZm8/LnRlbmFudHNUaXRsZSB9fVxyXG4gIDwvcD5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXZpZXctdGVuYW50cy1saXN0X19jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIm1hdC10ZXJ0aWFyeS1idXR0b24gbWUtM1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ2aWV3VGVuYW50c0NvbnN0YW50cz8uYXJpYUxhYmVsPy5hZGRcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuQ3JlYXRlVGVuYW50Rm9ybSgpXCJcclxuICAgICAgICAqbmdJZj1cInZhbGlkYXRlQWNjZXNzKHBlcm1pc3Npb25UeXBlLk1BTkFHRV9URU5BTlQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHZpZXdUZW5hbnRzQ29uc3RhbnRzPy5hZGRUZW5hbnQgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpZWVlc2EtZGF0YS10YWJsZVxyXG4gICAgICBbdGFibGVEYXRhSW5mb109XCJ0YWJsZURhdGFcIlxyXG4gICAgICBbY29sdW1uU2NoZW1hSW5mb109XCJjb2x1bW5TY2hlbWFcIlxyXG4gICAgICBbaXNDZWxsVGV4dE92ZXJmbG93RWxsaXBzaXNdPVwidHJ1ZVwiXHJcbiAgICAgIFt0YWJsZUFjdGlvbnNdPVwidGFibGVBY3Rpb25zXCJcclxuICAgICAgW3BhZ2luYXRvckNvbmZpZ109XCJwYWdpbmF0b3JDb25maWdcIlxyXG4gICAgICBbZGVmYXVsdFNvcnRlZENvbHVtbl09XCJkZWZhdWx0U29ydGVkQ29sdW1uXCJcclxuICAgICAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0VGVuYW50cygkZXZlbnQpXCJcclxuICAgICAgKHBhZ2luYXRpb25DaGFuZ2UpPVwib25UYWJsZVBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChyb3dMaW5rKT1cIm5hdmlnYXRlVG9WaWV3VGVuYW50RGV0YWlscygkZXZlbnQpXCJcclxuICAgID48L2llZWVzYS1kYXRhLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnRzLWxpc3Qvdmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdmlldy10ZW5hbnRzLWxpc3Qvdmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsY0FBYyxFQUlkLHdCQUF3QixFQUN4QixlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLFNBQVMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUNMLFNBQVMsRUFHVCxTQUFTLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQU83QixPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsR0FDZixNQUFNLG9DQUFvQyxDQUFDO0FBSzVDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsV0FBVyxHQUVaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7Ozs7OztBQVNwSCxNQUFNLE9BQU8sd0JBQXdCO0lBdUNuQztJ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LEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBEYXRhVGFibGVDb21wb25lbnQsXHJcbiAgTW9kYWxDb21wb25lbnQsXHJcbiAgUGFnaW5hdG9yQ29uZmlnLFxyXG4gIFRhYmxlQWN0aW9ucyxcclxuICBUYWJsZUNvbHVtblNjaGVtYSxcclxuICBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24sXHJcbiAgVGFibGVDb2x1bW5UeXBlLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbmltcG9ydCB7IEZlYXR1cmVJbmZvLCBUZW5hbnRJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudHMubW9kZWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRUeXBlLFxyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICBNb2RhbFR5cGUsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFRlbmFudHNSb3V0ZXNDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvcm91dGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7XHJcbiAgVGVuYW50U3RhdHVzLFxyXG4gIFBlcm1pc3Npb25UeXBlLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9wZXJtaXNzaW9uLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIFRlbmFudHNQZXJtaXNzaW9ucyxcclxuICBVc2VyUGVybWlzc2lvbixcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50cy1wZXJtaXNzaW9uLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZixcclxuICBTb3J0T3JkZXJCeSxcclxuICBHZXRUZW5hbnRzUGF5bG9hZCxcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtY29sdW1uLXNjaGVtYS12aWV3LXRlbmFudC1saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2Etdmlldy10ZW5hbnRzLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXRlbmFudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy10ZW5hbnRzLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgRGF0YVRhYmxlQ29tcG9uZW50XSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzO1xyXG4gIHZpZXdUZW5hbnRzQ29uc3RhbnRzID0gdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzO1xyXG4gIGlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRlbmFudHNQYWdlSW5mbzoge1xyXG4gICAgdGVuYW50c1RpdGxlOiBzdHJpbmc7XHJcbiAgfSA9IHtcclxuICAgIHRlbmFudHNUaXRsZTogJycsXHJcbiAgfTtcclxuICBASW5wdXQoKSBhcGlCYXNlVVJMID0gJyc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogVGVuYW50c1JvdXRlc0NvbmZpZztcclxuICBASW5wdXQoKSB1c2VyUGVybWlzc2lvbnMhOiBVc2VyUGVybWlzc2lvbltdO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRTb3J0ZWRDb2x1bW46IHN0cmluZyA9IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkFQUF9JRDtcclxuICBASW5wdXQoKSBkZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGNyZWF0ZVRlbmFudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdmlld1RlbmFudHNEZXRhaWxzOiBFdmVudEVtaXR0ZXI8VGVuYW50SW5mbz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxUZW5hbnRJbmZvPigpO1xyXG4gIHRhYmxlRGF0YSE6IFRlbmFudEluZm9bXTtcclxuICBjb2x1bW5TY2hlbWEhOiBUYWJsZUNvbHVtblNjaGVtYVtdO1xyXG4gIHRhYmxlQWN0aW9uczogVGFibGVBY3Rpb25zID0ge1xyXG4gICAgaXNQYWdpbmF0aW9uTmVlZGVkOiB0cnVlLFxyXG4gIH07XHJcbiAgdGFibGVDb2x1bW5zID0gdGhpcy52aWV3VGVuYW50c0NvbnN0YW50cz8udGFibGVDb2x1bW5zO1xyXG4gIGVtcHR5RmllbGRWYWx1ZVJlcGxhY2VkQnkgPVxyXG4gICAgdGhpcy52aWV3VGVuYW50c0NvbnN0YW50cz8uZW1wdHlGaWVsZFZhbHVlUmVwbGFjZWRCeTtcclxuICBwYWdpbmF0b3JDb25maWc6IFBhZ2luYXRvckNvbmZpZyA9IHtcclxuICAgIHJlY29yZHNQZXJQYWdlOiB0aGlzLnZpZXdUZW5hbnRzQ29uc3RhbnRzPy5wYWdlU2l6ZU9wdGlvbnM/LlswXSxcclxuICAgIHBhZ2VTaXplT3B0aW9uczogdGhpcy52aWV3VGVuYW50c0NvbnN0YW50cy5wYWdlU2l6ZU9wdGlvbnMsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgfTtcclxuICB1c2VyVGVuYW50c1Blcm1pc3Npb25zITogVGVuYW50c1Blcm1pc3Npb25zW107XHJcbiAgcGVybWlzc2lvblR5cGUgPSBQZXJtaXNzaW9uVHlwZTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRpYWxvZ1JlZjogYW55O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY3JlYXRlVGVuYW50U2NyZWVuVGV4dHM6IGFueSA9IHRoaXMuY29uc3RhbnRzPy5jcmVhdGVUZW5hbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGFsZXJ0U2VydmljZTogQWxlcnRzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwbGljYXRpb25zU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRCcmVha3BvaW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHsgbWF0Y2hlczogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQubWF0Y2hlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1c2VyIHBlcm1pc3Npb25zLCByb3V0ZXIgY29uZmlnIHBhdGgsIGJhc2UgQVBJIFVSTCwgdGFibGUgY29sdW1uIHNjaGVtYSBhbmQgZ2V0cyB0aGUgdGVuYW50cyBsaXN0LlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlclRlbmFudHNQZXJtaXNzaW9ucyA9XHJcbiAgICAgIHRoaXMudGVuYW50QXBwbGljYXRpb25zU2VydmljZT8uZmlsdGVyUGVybWlzc2lvbih0aGlzLnVzZXJQZXJtaXNzaW9ucyk7XHJcbiAgICB0aGlzLnRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2U/LnNldEFwcENvbmZpZyhcclxuICAgICAgdGhpcy5hcGlCYXNlVVJMLFxyXG4gICAgICB0aGlzLnVzZXJQZXJtaXNzaW9uc1xyXG4gICAgKTtcclxuICAgIHRoaXMudGVuYW50c1BhZ2VJbmZvID0ge1xyXG4gICAgICB0ZW5hbnRzVGl0bGU6IHRoaXMudmlld1RlbmFudHNDb25zdGFudHM/LnRlbmFudHNUaXRsZSxcclxuICAgIH07XHJcbiAgICB0aGlzLnJvdXRlUGF0aHMgPSB0aGlzLnJvdXRlUGF0aHMgPz8gdGhpcy5jb25zdGFudHM/LnJvdXRlQ29uZmlnUGF0aDtcclxuICAgIHRoaXMuc2hhcmVkU2VydmljZT8uc2V0Um91dGVQYXRocyh0aGlzLnJvdXRlUGF0aHMpO1xyXG4gICAgdGhpcy5jb25maWd1cmVUYWJsZUluZm8oKTtcclxuICAgIHRoaXMuZGVmYXVsdFNvcnRlZENvbHVtbiA9IHRoaXMuY29sdW1uU2NoZW1hWzBdLmNvbHVtbkRlZjtcclxuICAgIHRoaXMuZ2V0VGVuYW50c0FuZEluaXRpYWxpemVUYWJsZVZpZXcoe1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvckNvbmZpZz8ucmVjb3Jkc1BlclBhZ2UsXHJcbiAgICAgICAgc29ydGVkQnk6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkFQUF9JRCxcclxuICAgICAgICBzb3J0ZWRPcmRlckJ5OiB0aGlzLmZpbHRlclNvcnRlZE9yZGVyQnkoXHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRDb2x1bW5Tb3J0RGlyZWN0aW9uXHJcbiAgICAgICAgKSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgcGVybWlzc2lvbiBiYXNlZCBhY2Nlc3MgZm9yIHByb3ZpZGVkIGZlYXR1cmUuXHJcbiAgICogQHBhcmFtIHtQZXJtaXNzaW9uVHlwZX0gcGVybWlzc2lvblR5cGVcclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICB2YWxpZGF0ZUFjY2VzcyhwZXJtaXNzaW9uVHlwZTogUGVybWlzc2lvblR5cGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UudmFsaWRhdGVBY2Nlc3MoXHJcbiAgICAgIHBlcm1pc3Npb25UeXBlLFxyXG4gICAgICB0aGlzLnVzZXJUZW5hbnRzUGVybWlzc2lvbnNcclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyZXMgdGFibGUgc2NoZW1hIHRvIGRpc3BsYXkgdGhlIHRlbmFudHMgaW4gdGFibGUgdmlldy5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgY29uZmlndXJlVGFibGVJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb2x1bW5TY2hlbWEgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogMSxcclxuICAgICAgICBjb2x1bW5EZWY6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkFQUF9JRCxcclxuICAgICAgICBoZWFkaW5nOiB0aGlzLnRhYmxlQ29sdW1ucz8uYXBwSWQsXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLkxJTkssXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjZWxsRGF0YTogKGVsZW1lbnQ6IGFueSkgPT4gYCR7ZWxlbWVudC5hcHBJZH1gLFxyXG4gICAgICAgIGlzU29ydGFibGVDb2x1bW46IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogMixcclxuICAgICAgICBjb2x1bW5EZWY6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkFQUF9USVRMRSxcclxuICAgICAgICBoZWFkaW5nOiB0aGlzLnRhYmxlQ29sdW1ucz8uYXBwVGl0bGUsXHJcbiAgICAgICAgY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlLlRFWFQsXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjZWxsRGF0YTogKGVsZW1lbnQ6IGFueSkgPT5cclxuICAgICAgICAgIGAke2VsZW1lbnQuYXBwVGl0bGUgPz8gdGhpcy5lbXB0eUZpZWxkVmFsdWVSZXBsYWNlZEJ5fWAsXHJcbiAgICAgICAgaXNTb3J0YWJsZUNvbHVtbjogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAzLFxyXG4gICAgICAgIGNvbHVtbkRlZjogVmlld1RlbmFudHNDb2x1bW5TY2hlbWFEZWYuQVBQX0RFU0NSSVBUSU9OLFxyXG4gICAgICAgIGhlYWRpbmc6IHRoaXMudGFibGVDb2x1bW5zPy5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICBjb2x1bW5UeXBlOiBUYWJsZUNvbHVtblR5cGUuVEVYVCxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGNlbGxEYXRhOiAoZWxlbWVudDogYW55KSA9PlxyXG4gICAgICAgICAgYCR7ZWxlbWVudC5hcHBEZXNjcmlwdGlvbiA/PyB0aGlzLmVtcHR5RmllbGRWYWx1ZVJlcGxhY2VkQnl9YCxcclxuICAgICAgfSxcclxuXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogNCxcclxuICAgICAgICBjb2x1bW5EZWY6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLkZFQVRVUkVTLFxyXG4gICAgICAgIGhlYWRpbmc6IHRoaXMudGFibGVDb2x1bW5zPy5mZWF0dXJlcyxcclxuICAgICAgICBjb2x1bW5UeXBlOiBUYWJsZUNvbHVtblR5cGUuVEVYVCxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGNlbGxEYXRhOiAoZWxlbWVudDogYW55KSA9PlxyXG4gICAgICAgICAgYCR7XHJcbiAgICAgICAgICAgIGVsZW1lbnQ/LmZlYXR1cmVzICYmIGVsZW1lbnQ/LmZlYXR1cmVzPy5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgICAgPyB0aGlzLmZvcm1hdEZlYXR1cmVzTmFtZShlbGVtZW50Py5mZWF0dXJlcylcclxuICAgICAgICAgICAgICA6IHRoaXMuZW1wdHlGaWVsZFZhbHVlUmVwbGFjZWRCeVxyXG4gICAgICAgICAgfWAsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogNSxcclxuICAgICAgICBjb2x1bW5EZWY6IFZpZXdUZW5hbnRzQ29sdW1uU2NoZW1hRGVmLlNUQVRVUyxcclxuICAgICAgICBoZWFkaW5nOiB0aGlzLnRhYmxlQ29sdW1ucz8uc3RhdHVzLFxyXG4gICAgICAgIGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZS5URVhULFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgY2VsbERhdGE6IChlbGVtZW50OiBhbnkpID0+XHJcbiAgICAgICAgICBgJHtlbGVtZW50LnN0YXR1cyA/IFRlbmFudFN0YXR1cy5BQ1RJVkUgOiBUZW5hbnRTdGF0dXMuSU5BQ1RJVkV9YCxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXQgdGhlIGZlYXR1cmVzIG5hbWUgaW4gdG8gc2luZ2xlIHNlbnRlbmNlIHdpdGggY29tbWEgc2VwYXJhdGVkLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBmb3JtYXRGZWF0dXJlc05hbWUoZmVhdHVyZXM6IEZlYXR1cmVJbmZvW10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZlYXR1cmVzXHJcbiAgICAgIC5tYXAoKGZlYXR1cmU6IEZlYXR1cmVJbmZvKSA9PiB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICAgIHJldHVybiBmZWF0dXJlLmZlYXR1cmVOYW1lO1xyXG4gICAgICB9KVxyXG4gICAgICA/LmpvaW4oJywgJyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZldGNoaW5nIGRldGFpbHMgb2YgdGVuYW50cyBhbmQgaW5pdGlhbGl6ZSB0YWJsZSB2aWV3XHJcbiAgICogQHBhcmFtIHtHZXRUZW5hbnRzUGF5bG9hZH0gcGF5bG9hZFxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRUZW5hbnRzQW5kSW5pdGlhbGl6ZVRhYmxlVmlldyhwYXlsb2FkOiBHZXRUZW5hbnRzUGF5bG9hZCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlXHJcbiAgICAgIC5nZXRUZW5hbnRzTGlzdChwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZURhdGEgPSByZXNwb25zZT8uYm9keT8uYXBwRGV0YWlscyBhcyBUZW5hbnRJbmZvW107XHJcbiAgICAgICAgICB0aGlzLnBhZ2luYXRvckNvbmZpZy50b3RhbFJlY29yZHMgPSByZXNwb25zZT8uYm9keVxyXG4gICAgICAgICAgICA/LnRvdGFsUmVjb3JkcyBhcyBudW1iZXI7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhlcnJvciwgdGhpcy5jb25zdGFudHM/LmVycm9ycyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGRpYWxvZyBvcHRpb25zIGZvciBjcmVhdGUgdGVuYW50IG1vZGFsIGFuZCBjYWxscyBvcGVuTW9kYWwgbWV0aG9kLlxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50c0xpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBvcGVuQ3JlYXRlVGVuYW50Rm9ybSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpYWxvZ09wdGlvbnMgPSB7XHJcbiAgICAgIGhlYWRpbmc6IHRoaXMudmlld1RlbmFudHNDb25zdGFudHM/LmFkZFRlbmFudCxcclxuICAgICAgaXNDbG9zZU5lZWRlZDogdHJ1ZSxcclxuICAgICAgY29tcG9uZW50UmVmZXJlbmNlOiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudCxcclxuICAgICAgbW9kYWxUeXBlOiBNb2RhbFR5cGUuRk9STSxcclxuICAgIH07XHJcbiAgICB0aGlzLm9wZW5Nb2RhbChkaWFsb2dPcHRpb25zLCAnaWVlZXNhLWNyZWF0ZS10ZW5hbnQnKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT3BlbnMgbW9kYWwgY29tcG9uZW50IHdpdGggcmVjZWl2ZWQgcGFyYW1zIGFuZCBoYW5kbGVzIGZvcm0gc3VibWlzc2lvbiBzdWNjZXNzIGFuZCBlcnJvcnMuXHJcbiAgICogQHBhcmFtIHsqfSBkaWFsb2dPcHRpb25zXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjbGFzc05hbWVdXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW5mZXJyYWJsZS10eXBlcywgbm8tdW51c2VkLXZhcnNcclxuICBvcGVuTW9kYWwoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgZGlhbG9nT3B0aW9uczogYW55LFxyXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICBjbGFzc05hbWUgPSBjbGFzc05hbWUgPz8gJyc7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nPy5vcGVuKE1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IGRpYWxvZ09wdGlvbnMsXHJcbiAgICAgIHdpZHRoOiAnJyxcclxuICAgICAgcGFuZWxDbGFzczogWydpZWVlc2EtbW9kYWwtZGlhbG9nJywgY2xhc3NOYW1lXSxcclxuICAgICAgYXJpYU1vZGFsOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZj8uY29tcG9uZW50SW5zdGFuY2U/LnN1Ym1pdEZvcm1SZXNwb25zZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIG5vLXVudXNlZC12YXJzXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKCk7XHJcbiAgICAgICAgY29uc3QgYXBwVGl0bGUgPVxyXG4gICAgICAgICAgdGhpcy50ZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLmdldFRlbmFudEJhc2ljSW5mbz8uYXBwVGl0bGU7XHJcbiAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLnNob3dBbGVydE1lc3NhZ2UoXHJcbiAgICAgICAgICBBbGVydFR5cGU/LlNVQ0NFU1MsXHJcbiAgICAgICAgICBgJHthcHBUaXRsZX0gJHt0aGlzLmNyZWF0ZVRlbmFudFNjcmVlblRleHRzPy5tZXNzYWdlPy5zdWNjZXNzPy5zdWJtaXNzaW9ufWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZ2V0VGVuYW50c0FuZEluaXRpYWxpemVUYWJsZVZpZXcoe1xyXG4gICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvckNvbmZpZz8ucmVjb3Jkc1BlclBhZ2UsXHJcbiAgICAgICAgICAgIHNvcnRlZEJ5OiBWaWV3VGVuYW50c0NvbHVtblNjaGVtYURlZi5BUFBfSUQsXHJcbiAgICAgICAgICAgIHNvcnRlZE9yZGVyQnk6IHRoaXMuZmlsdGVyU29ydGVkT3JkZXJCeShcclxuICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb2x1bW5Tb3J0RGlyZWN0aW9uXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nUmVmPy5jb21wb25lbnRJbnN0YW5jZT8uZm9ybUNhbmNlbFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmPy5jbG9zZSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU29ydHMgdGhlIHRlbmFudHMgYnkgYXBwbGljYXRpb24gaWQgb3IgdGl0bGUgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcuXHJcbiAgICogQHBhcmFtIHtTb3J0fSBzb3J0XHJcbiAgICogQG1lbWJlcm9mIFZpZXdUZW5hbnRzTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU29ydFRlbmFudHMoc29ydDogU29ydCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWZhdWx0U29ydGVkQ29sdW1uID0gc29ydC5hY3RpdmU7XHJcbiAgICB0aGlzLmRlZmF1bHRDb2x1bW5Tb3J0RGlyZWN0aW9uID1cclxuICAgICAgc29ydC5kaXJlY3Rpb24gPT09IFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbi5BU0NFTkRJTkc7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBHZXRUZW5hbnRzUGF5bG9hZCA9IHtcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3JDb25maWc/LnJlY29yZHNQZXJQYWdlLFxyXG4gICAgICAgIHNvcnRlZEJ5OiB0aGlzLmRlZmF1bHRTb3J0ZWRDb2x1bW4sXHJcbiAgICAgICAgc29ydGVkT3JkZXJCeTogdGhpcy5maWx0ZXJTb3J0ZWRPcmRlckJ5KFxyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvblxyXG4gICAgICAgICksXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5nZXRUZW5hbnRzQW5kSW5pdGlhbGl6ZVRhYmxlVmlldyhwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybmluZyBzb3J0aW5nIG9yZGVyIGFjY29yZGluZyB0byBjb2x1bW4gZGVmaW5pdGlvblxyXG4gICAqIEBwYXJhbSBkZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvblxyXG4gICAqIEByZXR1cm5zIFNvcnRPcmRlckJ5LkFTQyB8IFNvcnRPcmRlckJ5LkRFU0NcclxuICAgKi9cclxuICBmaWx0ZXJTb3J0ZWRPcmRlckJ5KGRlZmF1bHRDb2x1bW5Tb3J0RGlyZWN0aW9uOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBkZWZhdWx0Q29sdW1uU29ydERpcmVjdGlvbiA/IFNvcnRPcmRlckJ5LkFTQyA6IFNvcnRPcmRlckJ5LkRFU0M7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgdGhlIHJlY29yZHMgYWNjb3JkaW5nIHRvIHBhZ2luYXRpb25cclxuICAgKiAgQHBhcmFtIHt7XHJcbiAgICogICAgIHBhZ2VPZmZzZXQ6IG51bWJlcjtcclxuICAgKiAgICAgcGFnZUxpbWl0OiBudW1iZXI7XHJcbiAgICogICB9fSBwYWdlRXZlbnRcclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25UYWJsZVBhZ2luYXRpb25DaGFuZ2UocGFnZUV2ZW50OiBQYWdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0VGVuYW50c0FuZEluaXRpYWxpemVUYWJsZVZpZXcoe1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgb2Zmc2V0OiBwYWdlRXZlbnQucGFnZUluZGV4LFxyXG4gICAgICAgIHBhZ2VTaXplOiBwYWdlRXZlbnQucGFnZVNpemUsXHJcbiAgICAgICAgc29ydGVkQnk6IHRoaXMuZGVmYXVsdFNvcnRlZENvbHVtbixcclxuICAgICAgICBzb3J0ZWRPcmRlckJ5OiB0aGlzLmZpbHRlclNvcnRlZE9yZGVyQnkoXHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRDb2x1bW5Tb3J0RGlyZWN0aW9uXHJcbiAgICAgICAgKSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gdmlldyB0ZW5hbnRzIGRldGFpbCBjb21wb25lbnRcclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmF2aWdhdGVUb1ZpZXdUZW5hbnREZXRhaWxzKHRlbmFudEluZm86IFRlbmFudEluZm8pOiB2b2lkIHtcclxuICAgIGlmICh0ZW5hbnRJbmZvKSB7XHJcbiAgICAgIHRoaXMudGVuYW50QXBwbGljYXRpb25zU2VydmljZS5zZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKHRlbmFudEluZm8pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucm91dGVQYXRocz8udmlld1RlbmFudERldGFpbHMpXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJvdXRlUGF0aHM/LnZpZXdUZW5hbnREZXRhaWxzXSk7XHJcbiAgICBlbHNlIHRoaXMudmlld1RlbmFudHNEZXRhaWxzLmVtaXQodGVuYW50SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE5nT25EZXN0cm95IHBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgVmlld1RlbmFudHNMaXN0Q29tcG9uZW50XHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS12aWV3LXRlbmFudHMtbGlzdFwiXHJcbiAgW25nQ2xhc3NdPVwieyAnaWVlZXNhLXZpZXctdGVuYW50cy1saXN0X19tb2JpbGUnOiBpc01vYmlsZVZpZXcgfVwiXHJcbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS1oZWFkbGluZS1sZy0zMiBweS0zIG1iLTBcIj5cclxuICAgIHt7IHRlbmFudHNQYWdlSW5mby50ZW5hbnRzVGl0bGUgfX1cclxuICA8L3A+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS12aWV3LXRlbmFudHMtbGlzdF9fY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdGVydGlhcnktYnV0dG9uIG1lLTNcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidmlld1RlbmFudHNDb25zdGFudHM/LmFyaWFMYWJlbD8uYWRkXCJcclxuICAgICAgICAoY2xpY2spPVwib3BlbkNyZWF0ZVRlbmFudEZvcm0oKVwiXHJcbiAgICAgICAgKm5nSWY9XCJ2YWxpZGF0ZUFjY2VzcyhwZXJtaXNzaW9uVHlwZS5NQU5BR0VfVEVOQU5UKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyB2aWV3VGVuYW50c0NvbnN0YW50cz8uYWRkVGVuYW50IH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aWVlZXNhLWRhdGEtdGFibGVcclxuICAgICAgW3RhYmxlRGF0YUluZm9dPVwidGFibGVEYXRhXCJcclxuICAgICAgW2NvbHVtblNjaGVtYUluZm9dPVwiY29sdW1uU2NoZW1hXCJcclxuICAgICAgW2lzQ2VsbFRleHRPdmVyZmxvd0VsbGlwc2lzXT1cInRydWVcIlxyXG4gICAgICBbdGFibGVBY3Rpb25zXT1cInRhYmxlQWN0aW9uc1wiXHJcbiAgICAgIFtwYWdpbmF0b3JDb25maWddPVwicGFnaW5hdG9yQ29uZmlnXCJcclxuICAgICAgW2RlZmF1bHRTb3J0ZWRDb2x1bW5dPVwiZGVmYXVsdFNvcnRlZENvbHVtblwiXHJcbiAgICAgIChzb3J0Q2hhbmdlKT1cIm9uU29ydFRlbmFudHMoJGV2ZW50KVwiXHJcbiAgICAgIChwYWdpbmF0aW9uQ2hhbmdlKT1cIm9uVGFibGVQYWdpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAocm93TGluayk9XCJuYXZpZ2F0ZVRvVmlld1RlbmFudERldGFpbHMoJGV2ZW50KVwiXHJcbiAgICA+PC9pZWVlc2EtZGF0YS10YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -977,7 +977,7 @@ class ViewTenantsListComponent {
|
|
|
977
977
|
this.tenantsPageInfo = {
|
|
978
978
|
tenantsTitle: '',
|
|
979
979
|
};
|
|
980
|
-
this.apiBaseURL = '
|
|
980
|
+
this.apiBaseURL = '';
|
|
981
981
|
this.defaultSortedColumn = ViewTenantsColumnSchemaDef.APP_ID;
|
|
982
982
|
this.defaultColumnSortDirection = true;
|
|
983
983
|
this.createTenant = new EventEmitter();
|
|
@@ -1242,11 +1242,11 @@ class ViewTenantsListComponent {
|
|
|
1242
1242
|
this.destroy$.unsubscribe();
|
|
1243
1243
|
}
|
|
1244
1244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, deps: [{ token: i1$2.MatDialog }, { token: i1.AlertsService }, { token: i1.BreakpointObserverService }, { token: i3.SharedService }, { token: TenantApplicationsService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1245
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantsListComponent, isStandalone: true, selector: "ieeesa-view-tenants-list", inputs: { tenantsPageInfo: "tenantsPageInfo", apiBaseURL: "apiBaseURL", routePaths: "routePaths", userPermissions: "userPermissions", defaultSortedColumn: "defaultSortedColumn", defaultColumnSortDirection: "defaultColumnSortDirection" }, outputs: { createTenant: "createTenant", viewTenantsDetails: "viewTenantsDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo?.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "searchResultMessage"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantsListComponent, isStandalone: true, selector: "ieeesa-view-tenants-list", inputs: { tenantsPageInfo: "tenantsPageInfo", apiBaseURL: "apiBaseURL", routePaths: "routePaths", userPermissions: "userPermissions", defaultSortedColumn: "defaultSortedColumn", defaultColumnSortDirection: "defaultColumnSortDirection" }, outputs: { createTenant: "createTenant", viewTenantsDetails: "viewTenantsDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "searchResultMessage"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1246
1246
|
}
|
|
1247
1247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, decorators: [{
|
|
1248
1248
|
type: Component,
|
|
1249
|
-
args: [{ selector: 'ieeesa-view-tenants-list', standalone: true, imports: [CommonModule, MatButtonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo?.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"] }]
|
|
1249
|
+
args: [{ selector: 'ieeesa-view-tenants-list', standalone: true, imports: [CommonModule, MatButtonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{width:8.5em;max-width:8.5em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{width:20.75em;max-width:20.75em}.ieeesa-view-tenants-list__content .cdk-column-features{width:17em;max-width:17em}.ieeesa-view-tenants-list .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenants-list .mdc-notched-outline__trailing,.ieeesa-view-tenants-list .mdc-notched-outline__notch,.ieeesa-view-tenants-list .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label,.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-select,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenants-list .at-mdc-select-min-line,.ieeesa-view-tenants-list .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenants-list .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenants-list .mat-mdc-select-value{display:flex;justify-content:center}\n"] }]
|
|
1250
1250
|
}], ctorParameters: function () { return [{ type: i1$2.MatDialog }, { type: i1.AlertsService }, { type: i1.BreakpointObserverService }, { type: i3.SharedService }, { type: TenantApplicationsService }, { type: i5.Router }]; }, propDecorators: { tenantsPageInfo: [{
|
|
1251
1251
|
type: Input
|
|
1252
1252
|
}], apiBaseURL: [{
|
|
@@ -1318,20 +1318,25 @@ class ViewTenantDetailsComponent {
|
|
|
1318
1318
|
const appId = this.tenantAppService.getSelectedTenantInformation()
|
|
1319
1319
|
?.appId;
|
|
1320
1320
|
this.getTenantDetails(appId);
|
|
1321
|
-
this.getFeatures();
|
|
1322
1321
|
}
|
|
1323
1322
|
/**
|
|
1324
|
-
* Gets the
|
|
1323
|
+
* Gets the selected tenant details from server.
|
|
1325
1324
|
* @memberof ViewTenantDetailsComponent
|
|
1326
1325
|
*/
|
|
1327
|
-
|
|
1326
|
+
getTenantDetails(appId) {
|
|
1328
1327
|
this.tenantAppService
|
|
1329
|
-
.
|
|
1328
|
+
.getTenantDetails(appId)
|
|
1330
1329
|
.pipe(takeUntil(this.destroy$))
|
|
1331
1330
|
.subscribe({
|
|
1332
1331
|
next: (response) => {
|
|
1333
1332
|
if (response?.status) {
|
|
1334
|
-
|
|
1333
|
+
this.tenantDetails = response?.body;
|
|
1334
|
+
this.slideToggleOption.checked = this.tenantDetails
|
|
1335
|
+
.status;
|
|
1336
|
+
this.slideToggleOption.label = this.tenantDetails.status
|
|
1337
|
+
? this.tenantLabels?.active
|
|
1338
|
+
: this.tenantLabels?.inactive;
|
|
1339
|
+
const features = this.tenantDetails.features;
|
|
1335
1340
|
features.map((feature) => {
|
|
1336
1341
|
if (feature?.featureId ===
|
|
1337
1342
|
FeaturePermissionId.MEETINGS_AND_EVENTS ||
|
|
@@ -1344,31 +1349,6 @@ class ViewTenantDetailsComponent {
|
|
|
1344
1349
|
});
|
|
1345
1350
|
}
|
|
1346
1351
|
},
|
|
1347
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1348
|
-
error: (error) => {
|
|
1349
|
-
this.sharedService.handleErrors(error, this.constants?.errors);
|
|
1350
|
-
},
|
|
1351
|
-
});
|
|
1352
|
-
}
|
|
1353
|
-
/**
|
|
1354
|
-
* Gets the selected tenant details from server.
|
|
1355
|
-
* @memberof ViewTenantDetailsComponent
|
|
1356
|
-
*/
|
|
1357
|
-
getTenantDetails(appId) {
|
|
1358
|
-
this.tenantAppService
|
|
1359
|
-
.getTenantDetails(appId)
|
|
1360
|
-
.pipe(takeUntil(this.destroy$))
|
|
1361
|
-
.subscribe({
|
|
1362
|
-
next: (response) => {
|
|
1363
|
-
if (response?.status) {
|
|
1364
|
-
this.tenantDetails = response?.body;
|
|
1365
|
-
this.slideToggleOption.checked = this.tenantDetails
|
|
1366
|
-
.status;
|
|
1367
|
-
this.slideToggleOption.label = this.tenantDetails.status
|
|
1368
|
-
? this.tenantLabels?.active
|
|
1369
|
-
: this.tenantLabels?.inactive;
|
|
1370
|
-
}
|
|
1371
|
-
},
|
|
1372
1352
|
error: (error) => {
|
|
1373
1353
|
this.sharedService.handleErrors(error, this.constants?.errors);
|
|
1374
1354
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ieeesa-npm-tenants.mjs","sources":["../../../projects/tenants/src/lib/models/permission-type.model.ts","../../../projects/tenants/src/lib/models/table-column-schema-view-tenant-list.model.ts","../../../projects/tenants/src/lib/assets/tenant-validations.ts","../../../projects/tenants/src/lib/models/form-status.model.ts","../../../projects/tenants/src/lib/services/tenant-permissions.service.ts","../../../projects/tenants/src/lib/services/tenant-permissions-map.service.ts","../../../projects/tenants/src/lib/services/tenant-applications.service.ts","../../../projects/tenants/src/lib/components/create-tenant-application/create-tenant-application.component.ts","../../../projects/tenants/src/lib/components/create-tenant-application/create-tenant-application.component.html","../../../projects/tenants/src/lib/components/view-tenants-list/view-tenants-list.component.ts","../../../projects/tenants/src/lib/components/view-tenants-list/view-tenants-list.component.html","../../../projects/tenants/src/lib/models/feature-permission-id.model.ts","../../../projects/tenants/src/lib/components/view-tenant-details/view-tenant-details.component.ts","../../../projects/tenants/src/lib/components/view-tenant-details/view-tenant-details.component.html","../../../projects/tenants/src/lib/tenant-applications.component.ts","../../../projects/tenants/src/lib/tenant-applications.component.html","../../../projects/tenants/src/lib/models/app-type.model.ts","../../../projects/tenants/src/lib/tenant-applications.module.ts","../../../projects/tenants/src/public-api.ts","../../../projects/tenants/src/ieeesa-npm-tenants.ts"],"sourcesContent":["/* eslint-disable no-unused-vars */\r\nexport enum PermissionType {\r\n VIEW_TENANTS = 'VIEW_TENANTS',\r\n MANAGE_TENANT = 'MANAGE_TENANT',\r\n}\r\nexport enum TenantStatus {\r\n ACTIVE = 'Active',\r\n INACTIVE = 'Inactive',\r\n}\r\n","/* eslint-disable no-unused-vars */\r\nexport enum ViewTenantsColumnSchemaDef {\r\n APP_ID = 'appId',\r\n APP_TITLE = 'appTitle',\r\n APP_DESCRIPTION = 'appDescription',\r\n APP_HEADING = 'appHeading',\r\n FEATURES = 'features',\r\n STATUS = 'status',\r\n}\r\nexport enum SortOrderBy {\r\n DESC = 'DESC',\r\n ASC = 'ASC',\r\n}\r\nexport interface GetTenantsPayload {\r\n payload: {\r\n offset: number;\r\n pageSize: number;\r\n sortedBy: string;\r\n sortedOrderBy: string;\r\n };\r\n}\r\n","/* eslint-disable no-useless-escape */\r\nexport const TenantsValidationPatterns = {\r\n appTitleMaxLength: 50,\r\n appIdMaxLength: 10,\r\n appHeadingMaxLength: 150,\r\n appDescriptionMaxLength: 500,\r\n url: /^https:\\/\\//,\r\n alphaNumeric: /^[a-zA-Z0-9]+$/\r\n };","/* eslint-disable no-unused-vars */\r\nexport enum FormStatus {\r\n VALID = \"VALID\",\r\n INVALID = \"INVALID\",\r\n }","import { Injectable } from '@angular/core';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport {\r\n UserPermission,\r\n TenantsPermissions,\r\n} from '../models/tenants-permission.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantPermissionsService {\r\n /**\r\n * Returns access provision for the passed action/feature based on whether the signed in user has appropriate permission.\r\n * @param {PermissionType} permission\r\n * @param {TenantsPermission[]} tenantsPermissions\r\n * @return {boolean}\r\n * @memberof TenantPermissionsService\r\n */\r\n validateAccessPermission(\r\n permission: PermissionType,\r\n userTenantsPermissions: TenantsPermissions[]\r\n ): boolean {\r\n const isPermitted =\r\n userTenantsPermissions && userTenantsPermissions.length\r\n ? userTenantsPermissions?.some(\r\n ({ permissionType }) => permissionType === permission\r\n )\r\n : false;\r\n return isPermitted;\r\n }\r\n /**\r\n * Filters signed in user tenants permissions from entire tenants permissions.\r\n * @param { UserPermission[] }\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantPermissionsService\r\n */\r\n filterTenantsPermissions(\r\n userPermissions: UserPermission[],\r\n tenantsPermissions: TenantsPermissions[]\r\n ): TenantsPermissions[] {\r\n const userTenantsPermission = tenantsPermissions?.filter(\r\n (permission: TenantsPermissions) => {\r\n return userPermissions?.find(\r\n ({ permissionId }) => permission?.permissionId === permissionId\r\n );\r\n }\r\n );\r\n return userTenantsPermission;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport { TenantsPermissions } from '../models/tenants-permission.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantPermissionsMapService {\r\n globalTenantsPermissions: TenantsPermissions[] = [\r\n {\r\n permissionType: PermissionType.VIEW_TENANTS,\r\n permissionId: 'PERM_SAAPPS_1a2dbbb5-5fe1-4261-85b1-a5373f41075a',\r\n permissionName: 'View Tenant Applications',\r\n },\r\n {\r\n permissionType: PermissionType.MANAGE_TENANT,\r\n permissionId: 'PERM_SAAPPS_315c49ec-f79a-4dcd-9795-6f97838c8c83',\r\n permissionName: 'Manage (Create, Edit, Disable) Tenant Application',\r\n },\r\n ];\r\n /**\r\n * Returns global permissions mapping for tenants.\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantsPermissionsMapService\r\n */\r\n getGlobalTenantsPermissions(): TenantsPermissions[] {\r\n return this.globalTenantsPermissions;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '@ieeesa-npm/utility';\r\nimport { Observable, catchError, map } from 'rxjs';\r\nimport * as screenTexts from '../assets/constants.json';\r\nimport {\r\n GetTenantsResponse,\r\n TenantInfo,\r\n TenantDetailsResponse,\r\n} from '../models/tenants.model';\r\nimport { GetTenantsPayload } from '../models/table-column-schema-view-tenant-list.model';\r\nimport {\r\n TenantsPermissions,\r\n UserPermission,\r\n} from '../models/tenants-permission.model';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport { TenantPermissionsMapService } from './tenant-permissions-map.service';\r\nimport {\r\n CreateTenantRequestPayload,\r\n CreateTenantResponse,\r\n TenantBasicInfo,\r\n} from '../models/tenant.model';\r\nimport { CheckboxOption, RadioOption } from '@ieeesa-npm/presentation';\r\nimport {\r\n FeatureId,\r\n Features,\r\n GetFeaturesResponse,\r\n} from '../models/features.model';\r\nimport {\r\n AppTypeConfig,\r\n GetAppTypesResponse,\r\n} from '../models/app-type-config.model';\r\nimport { TenantPermissionsService } from './tenant-permissions.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantApplicationsService {\r\n tenantsText = screenTexts?.errors;\r\n apiBaseUrl!: string;\r\n userPermission!: UserPermission[];\r\n selectedTenantInfo!: TenantInfo | undefined;\r\n userTenantsPermissions!: TenantsPermissions[];\r\n tenantsInfo!: TenantInfo;\r\n createTenantsText = screenTexts?.createTenant?.errors;\r\n tenantBasicInfo!: TenantBasicInfo;\r\n radioOptions: RadioOption[] = [];\r\n checkBoxOptions: CheckboxOption[] = [];\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n private httpService: HttpService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantPermissionsService: TenantPermissionsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantPermissionsMapService: TenantPermissionsMapService // eslint-disable-next-line no-empty-function\r\n ) {}\r\n setAppConfig(apiBaseUrl: string, userPermission: UserPermission[]): void {\r\n this.apiBaseUrl = apiBaseUrl;\r\n this.userPermission = userPermission;\r\n }\r\n\r\n /**\r\n * Gets tenant details from server using HttpService\r\n * @param {string} appId\r\n * @return {Observable<TenantDetailsResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getTenantDetails(appId: string): Observable<TenantDetailsResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/app/details/${appId}`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n /**\r\n * Sets the user tenants permissions\r\n * @param {TenantsPermissions[]} TenantsPermissions\r\n * @memberof TenantApplicationsService\r\n */\r\n setUserTenantsPermissions(userTenantsPermissions: TenantsPermissions[]) {\r\n this.userTenantsPermissions = userTenantsPermissions;\r\n }\r\n /**\r\n * Returns the user tenants permissions\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantApplicationsService\r\n */\r\n getUserTenantsPermissions(): TenantsPermissions[] {\r\n return this.userTenantsPermissions;\r\n }\r\n\r\n /**\r\n * Sets the user tenants information\r\n * @param {TenantInfo} tenantInfo\r\n * @memberof TenantApplicationsService\r\n */\r\n setSelectedTenantInformation(tenantInfo: TenantInfo): void {\r\n this.selectedTenantInfo = tenantInfo;\r\n }\r\n /**\r\n * Returns the tenants information\r\n * @return {TenantInfo}\r\n * @memberof TenantApplicationsService\r\n */\r\n getSelectedTenantInformation(): TenantInfo | undefined {\r\n return this.selectedTenantInfo;\r\n }\r\n /**\r\n * Filter permissions\r\n * @param usersPermissions\r\n * @returns @memberof TenantApplicationsService\r\n */\r\n filterPermission(usersPermissions: UserPermission[]): TenantsPermissions[] {\r\n return this.tenantPermissionsService?.filterTenantsPermissions(\r\n usersPermissions,\r\n this.tenantPermissionsMapService?.getGlobalTenantsPermissions()\r\n );\r\n }\r\n /**\r\n * Validating access for tenants\r\n * @param permissionType Permission Type to validate permission\r\n * @param mappedUserPermissions Permission which are mapped with tenants\r\n * @returns true if permission is granted\r\n */\r\n validateAccess(\r\n permissionType: PermissionType,\r\n permissions: TenantsPermissions[]\r\n ): boolean {\r\n return this.tenantPermissionsService.validateAccessPermission(\r\n permissionType,\r\n permissions\r\n );\r\n }\r\n /**\r\n * Gets the tenants.\r\n * @param {GetTenantsPayload} payload\r\n * @return {Observable<GetTenantsResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getTenantsList(payload: GetTenantsPayload): Observable<GetTenantsResponse> {\r\n return this.httpService\r\n .postData(`${this.apiBaseUrl}/configurations/app/config`, payload)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n /**\r\n * Gets list of features from server using HttpService.\r\n * @return {Observable<GetFeaturesResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getFeatures(): Observable<GetFeaturesResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/app/features`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Gets list of application types from server using HttpService.\r\n * @return {Observable<GetAppTypesResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getApplicationTypes(): Observable<GetAppTypesResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/config/app_type`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Posts tenant application form data to server using HttpService for creating new tenant application.\r\n * @param {CreateTenantPayload} createTenantPayload\r\n * @return {Observable<CreateTenantResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n createTenant(\r\n createTenantPayload: CreateTenantRequestPayload\r\n ): Observable<CreateTenantResponse> {\r\n return this.httpService\r\n .postData(\r\n `${this.apiBaseUrl}/configurations/app/createTenant`,\r\n createTenantPayload\r\n )\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Constructs the checkbox options from features list from server.\r\n * @param {FeaturesList[]} features\r\n * @returns {CheckboxOption[]}\r\n */\r\n getFeatureOptions(features: Features[]): CheckboxOption[] {\r\n this.checkBoxOptions = [];\r\n features?.forEach((feature: Features) => {\r\n this.checkBoxOptions?.push({\r\n id: feature?.featureId,\r\n name: feature?.featureName,\r\n checked: feature?.isDefault,\r\n disabled: feature?.isDefault,\r\n });\r\n });\r\n return this.checkBoxOptions;\r\n }\r\n /**\r\n * Constructs the radio options from application types from server.\r\n * @param {AppTypeConfig[]} appTypeOptions\r\n * @returns {RadioOption[]}\r\n */\r\n getApplicationTypeOptions(appTypeOptions: AppTypeConfig[]): RadioOption[] {\r\n this.radioOptions = [];\r\n appTypeOptions?.forEach((appType: AppTypeConfig) => {\r\n this.radioOptions?.push({\r\n id: appType?.configFieldId,\r\n label: appType?.configFieldValue?.type,\r\n });\r\n });\r\n return this.radioOptions;\r\n }\r\n /**\r\n * Constructs the selected features id's.\r\n * @param {CheckboxOption[]} featureOptions\r\n * @returns {FeatureId[]}\r\n */\r\n getFeatureIds(featureOptions: CheckboxOption[]): FeatureId[] {\r\n const featureIds: FeatureId[] = [];\r\n featureOptions?.forEach((featureOption: CheckboxOption) => {\r\n if (featureOption?.checked) {\r\n featureIds.push({\r\n featureId: featureOption.id as string,\r\n });\r\n }\r\n })\r\n return featureIds;\r\n }\r\n /**\r\n * Sets the tenant basic information.\r\n * @param {CreateTenantRequestPayload} createTenantPayload\r\n */\r\n setTenantBasicInfo(createTenantPayload: CreateTenantRequestPayload): void {\r\n this.tenantBasicInfo = createTenantPayload?.payload;\r\n }\r\n /**\r\n * Returns the tenant basic information.\r\n */\r\n get getTenantBasicInfo(): TenantBasicInfo {\r\n return this.tenantBasicInfo;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AlignType,\r\n CheckboxOption,\r\n FormGrid,\r\n RadioOption,\r\n FormControlType,\r\n FormModel,\r\n AllowedFileTypes,\r\n FileUploadService,\r\n FileUploadPresignedUrl,\r\n DynamicFormComponent,\r\n} from '@ieeesa-npm/presentation';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as screenTexts from '../../assets/constants.json';\r\nimport { FormArray, FormGroup, Validators } from '@angular/forms';\r\nimport { TenantsValidationPatterns } from '../../assets/tenant-validations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormStatus } from '../../models/form-status.model';\r\nimport { validColorValidator } from 'ngx-colors';\r\nimport { Features, GetFeaturesResponse } from '../../models/features.model';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport {\r\n AppTypeConfig,\r\n GetAppTypesResponse,\r\n} from '../../models/app-type-config.model';\r\nimport {\r\n CreateTenantRequestPayload,\r\n CreateTenantResponse,\r\n} from '../../models/tenant.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\n\r\n@Component({\r\n selector: 'ieeesa-create-tenant-application',\r\n standalone: true,\r\n imports: [CommonModule, DynamicFormComponent],\r\n templateUrl: './create-tenant-application.component.html',\r\n styleUrls: ['./create-tenant-application.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CreateTenantApplicationComponent implements OnInit, OnDestroy {\r\n destroy$ = new Subject<boolean>();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = screenTexts;\r\n createTenantTexts = this.constants?.createTenant;\r\n leftButtonLabel = this.createTenantTexts?.label?.leftButtonLabel;\r\n rightButtonLabel = this.createTenantTexts?.label?.rightButtonLabel;\r\n colWidth: FormGrid = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };\r\n createTenantFormGroup!: FormModel;\r\n actionButtonAlign = AlignType.LEFT;\r\n createTenantFormGroupRef!: FormGroup;\r\n @ViewChild(DynamicFormComponent)\r\n dynamicFormComponent!: DynamicFormComponent;\r\n @Output() submitFormResponse = new EventEmitter();\r\n @Output() formCancel = new EventEmitter();\r\n featuresOptions!: CheckboxOption[];\r\n appTypeOptions!: RadioOption[];\r\n createTenantPayload!: CreateTenantRequestPayload;\r\n fileUploadPresignedUrl!: string;\r\n fileDownloadPresignedUrl!: string;\r\n file!: File | FileList;\r\n allowedFileTypes = [\r\n AllowedFileTypes.JPG,\r\n AllowedFileTypes.PNG,\r\n AllowedFileTypes.SVG,\r\n ];\r\n selectedColor!: string;\r\n selectedAppTypeOption!: RadioOption;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n public fileUploadService: FileUploadService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantAppService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService // eslint-disable-next-line no-empty-function\r\n ) {}\r\n ngOnInit(): void {\r\n this.getFeatures();\r\n }\r\n /**\r\n * Gets the list of features and updates the form control.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getFeatures(): void {\r\n this.tenantAppService\r\n .getFeatures()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: GetFeaturesResponse) => {\r\n if (response?.status) {\r\n this.featuresOptions = this.tenantAppService.getFeatureOptions(\r\n response?.body as Features[]\r\n );\r\n this.getApplicationTypes();\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Gets the application/tenant types and updates the form control.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getApplicationTypes(): void {\r\n this.tenantAppService\r\n .getApplicationTypes()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: GetAppTypesResponse) => {\r\n if (response?.status) {\r\n this.appTypeOptions =\r\n this.tenantAppService.getApplicationTypeOptions(\r\n response?.body as AppTypeConfig[]\r\n );\r\n this.initializeCreateTenantFormGroup();\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Initialize the create tenant form group array.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n initializeCreateTenantFormGroup(): void {\r\n this.createTenantFormGroup = {\r\n formGroup: [\r\n {\r\n legend: '',\r\n controls: [\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appTitle + '*',\r\n controlName: 'appTitle',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appTitleMaxLength\r\n ),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appTitle,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appTitleMaxChars,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appTitle,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appTitle,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appId + '*',\r\n controlName: 'appId',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(TenantsValidationPatterns.appIdMaxLength),\r\n Validators.pattern(TenantsValidationPatterns.alphaNumeric),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appId,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appIdMaxChars,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appId,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appId,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appId,\r\n },\r\n {\r\n type: FormControlType?.FILE_UPLOAD,\r\n label: this.createTenantTexts?.label?.appLogo,\r\n controlName: 'appLogo',\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n value: '',\r\n placeholder: '',\r\n supportMessage: this.createTenantTexts?.supportText?.appLogo,\r\n validation: [],\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appLogo,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appLogo,\r\n isMultiFileUpload: false,\r\n maxUploadFileSize: 2,\r\n maxFileSizeErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appLogoMaxSize,\r\n allowedFileTypeErrorMessage:\r\n this.createTenantTexts?.message?.error?.invalidFile,\r\n allowedFileTypes: this.allowedFileTypes,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appHeading + '*',\r\n controlName: 'appHeading',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appHeadingMaxLength\r\n ),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appHeading,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit\r\n ?.appHeadingMaxChars,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.email,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHeading,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appHeading,\r\n },\r\n {\r\n type: FormControlType.TEXT_AREA,\r\n label: this.createTenantTexts?.label?.appDescription + '*',\r\n controlName: 'appDescription',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appDescriptionMaxLength\r\n ),\r\n ],\r\n supportMessage:\r\n this.createTenantTexts?.supportText?.appDescription,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit\r\n ?.appDescriptionMaxChars,\r\n maxCharCount: TenantsValidationPatterns.appDescriptionMaxLength,\r\n ariaLabel:\r\n this.createTenantTexts?.label?.ariaLabel?.appDescription,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById\r\n ?.appDescription,\r\n ariaMultiline: true,\r\n isResize: true,\r\n },\r\n {\r\n type: FormControlType.COLOR_PICKER,\r\n label: this.createTenantTexts?.label?.appBgColor + '*',\r\n controlName: 'backgroundColor',\r\n value: '',\r\n placeholder: '',\r\n supportMessage: this.createTenantTexts?.supportText?.appBgColor,\r\n validation: [Validators.required, validColorValidator()],\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n invalidColorErrorMessage:\r\n this.createTenantTexts?.message?.error?.invalidColor,\r\n ariaLabel: this.createTenantTexts?.supportText?.appBgColor,\r\n ariaDescribedById:\r\n this.createTenantTexts?.supportText?.appBgColor,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appHelpLink + '*',\r\n controlName: 'appHelpLink',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.pattern(TenantsValidationPatterns.url),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appHelpLink,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appHelpLink,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHelpLink,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appHelpLink,\r\n },\r\n {\r\n type: FormControlType.CHECKBOX,\r\n label: this.createTenantTexts?.label?.featuresList + '*',\r\n controlName: 'features',\r\n checkboxOptions: this.featuresOptions,\r\n minSelectionRequired: 1,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.featuresList,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.featuresList,\r\n supportMessage: this.createTenantTexts?.supportText?.featuresList,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n validation: [Validators.required],\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.domainURL + '*',\r\n controlName: 'appDomainUrl',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.pattern(TenantsValidationPatterns.url),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.domainURL,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appDomainUrl,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.domainURL,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.domainURL,\r\n },\r\n {\r\n type: FormControlType.RADIO,\r\n label: this.createTenantTexts?.label?.appType + '*',\r\n controlName: 'appType',\r\n value: '',\r\n radioOptions: this.appTypeOptions,\r\n validation: [Validators.required],\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appType,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appType,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Creates tenant on form submission.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onCreateTenantFormSubmit(form: FormGroup[]): void {\r\n form[0]?.markAllAsTouched();\r\n if (form[0].status === FormStatus.VALID) {\r\n this.createTenantPayload = this.getCreateTenantPayload(\r\n form[0].getRawValue()\r\n );\r\n // TODO: The below createTenant endpoint code should be removed from here once file upload csp issue is fixed.\r\n this.tenantAppService\r\n .createTenant(this.createTenantPayload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: CreateTenantResponse) => {\r\n if (response.status) {\r\n this.tenantAppService.setTenantBasicInfo(\r\n this.createTenantPayload\r\n );\r\n this.submitFormResponse.emit(response);\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n // TODO: The below line should be added once csp issue is fixed\r\n // Iif (this.file) this.getFileUploadPresignedUrl(this.file);\r\n }\r\n }\r\n\r\n /**\r\n * Constructs create tenant payload from the form data and returns.\r\n * @param {*} formData\r\n * @return {CreateTenantRequestPayload}\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getCreateTenantPayload(formData: any): CreateTenantRequestPayload {\r\n const payload: CreateTenantRequestPayload = {\r\n payload: {\r\n appTitle: formData?.appTitle,\r\n appId: formData?.appId,\r\n appHeading: formData?.appHeading,\r\n appDescription: formData?.appDescription,\r\n backgroundColor: formData?.backgroundColor,\r\n // TODO: File upload should be mandatory and will be passing the dynamic logo as part of user story NIAR-5042.\r\n appLogo: 'logo.svg',\r\n appDomainUrl: formData?.appDomainUrl,\r\n appHelpLink: formData?.appHelpLink,\r\n appType: this.selectedAppTypeOption?.id as string,\r\n features: this.tenantAppService.getFeatureIds(this.featuresOptions),\r\n },\r\n };\r\n return payload;\r\n }\r\n\r\n /**\r\n * Gets create tenant form group reference and disables default features.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getCreateTenantFormGroupRef(form: FormGroup[]): void {\r\n this.createTenantFormGroupRef = form[0];\r\n const featuresFormArray = this.createTenantFormGroupRef?.controls[\r\n 'features'\r\n ] as FormArray;\r\n this.featuresOptions?.forEach((option: CheckboxOption, index: number) => {\r\n if (option?.disabled) {\r\n featuresFormArray?.at(index).disable();\r\n }\r\n });\r\n }\r\n /**\r\n * Updates createTenantFormGroupRef on add tenant form change event.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onCreateTenantFormChange(form: FormGroup[]): void {\r\n this.createTenantFormGroupRef = form[0];\r\n }\r\n /**\r\n * Emits form cancel event.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onFormCancel(): void {\r\n this.formCancel.emit();\r\n }\r\n /**\r\n * Gets the selected file when the file is browsed and on formFileUpload event is triggered.\r\n * @param {File | FileList} file\r\n */\r\n onFormFileUpload(file: File | FileList): void {\r\n this.file = file;\r\n }\r\n /**\r\n * Gets pre-signed URL to upload the selected file to AWS S3 bucket.\r\n * @param {File | FileList} file\r\n */\r\n getFileUploadPresignedUrl(file: File | FileList): void {\r\n this.fileUploadService\r\n .getFileUploadPresignedUrl(file)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: FileUploadPresignedUrl) => {\r\n this.fileUploadPresignedUrl = response?.body;\r\n if (this.fileUploadPresignedUrl) this.uploadFileToS3(file);\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function, no-empty-function\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Uploads the file to AWS S3 bucket and submit the form data to API to create new tenant.\r\n * @param {File | FileList} file\r\n */\r\n uploadFileToS3(file: File | FileList): void {\r\n this.fileUploadService\r\n .uploadFileToS3(this.fileUploadPresignedUrl, file)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n next: (response: any) => {\r\n this.fileUploadService.setFileUploadStatus(true);\r\n this.tenantAppService\r\n .createTenant(this.createTenantPayload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: CreateTenantResponse) => {\r\n if (response.status) {\r\n this.tenantAppService.setTenantBasicInfo(\r\n this.createTenantPayload\r\n );\r\n this.submitFormResponse.emit(response);\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n },\r\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.fileUploadService.setFileUploadStatus(false);\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Triggers when the color picker values has been changed.\r\n * @param {string} color\r\n */\r\n onColorPickerChange(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n /**\r\n * Triggers when the radio option has been changed.\r\n * @param {RadioOption} radioOption\r\n */\r\n onRadioOptionSelected(radioOption: RadioOption): void {\r\n this.selectedAppTypeOption = radioOption;\r\n }\r\n /**\r\n * Implementation of ngOnDestroy lifecycle hook method to unsubscribe the open observable subscriptions.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.unsubscribe();\r\n }\r\n}\r\n","<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n DataTableComponent,\r\n ModalComponent,\r\n PaginatorConfig,\r\n TableActions,\r\n TableColumnSchema,\r\n TableColumnSortDirection,\r\n TableColumnType,\r\n} from '@ieeesa-npm/presentation';\r\nimport { FeatureInfo, TenantInfo } from '../../models/tenants.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as constants from '../../assets/constants.json';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport {\r\n AlertType,\r\n AlertsService,\r\n BreakpointObserverService,\r\n ModalType,\r\n} from '@ieeesa-npm/utility';\r\nimport { TenantsRoutesConfig } from '../../models/route-config.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport { Router } from '@angular/router';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { Sort } from '@angular/material/sort';\r\nimport {\r\n TenantStatus,\r\n PermissionType,\r\n} from '../../models/permission-type.model';\r\nimport {\r\n TenantsPermissions,\r\n UserPermission,\r\n} from '../../models/tenants-permission.model';\r\nimport {\r\n ViewTenantsColumnSchemaDef,\r\n SortOrderBy,\r\n GetTenantsPayload,\r\n} from '../../models/table-column-schema-view-tenant-list.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateTenantApplicationComponent } from '../create-tenant-application/create-tenant-application.component';\r\n@Component({\r\n selector: 'ieeesa-view-tenants-list',\r\n templateUrl: './view-tenants-list.component.html',\r\n styleUrls: ['./view-tenants-list.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule, DataTableComponent],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ViewTenantsListComponent implements OnInit, OnDestroy {\r\n destroy$: Subject<boolean> = new Subject<boolean>();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = constants;\r\n viewTenantsConstants = this.constants?.viewTenants;\r\n isMobileView = false;\r\n @Input() tenantsPageInfo: {\r\n tenantsTitle: string;\r\n } = {\r\n tenantsTitle: '',\r\n };\r\n @Input() apiBaseURL = 'https://saappsapidev.ieee.org/v1';\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() routePaths!: TenantsRoutesConfig;\r\n @Input() userPermissions!: UserPermission[];\r\n @Input() defaultSortedColumn: string = ViewTenantsColumnSchemaDef.APP_ID;\r\n @Input() defaultColumnSortDirection = true;\r\n @Output() createTenant = new EventEmitter();\r\n @Output() viewTenantsDetails: EventEmitter<TenantInfo> =\r\n new EventEmitter<TenantInfo>();\r\n tableData!: TenantInfo[];\r\n columnSchema!: TableColumnSchema[];\r\n tableActions: TableActions = {\r\n isPaginationNeeded: true,\r\n };\r\n tableColumns = this.viewTenantsConstants?.tableColumns;\r\n emptyFieldValueReplacedBy =\r\n this.viewTenantsConstants?.emptyFieldValueReplacedBy;\r\n paginatorConfig: PaginatorConfig = {\r\n recordsPerPage: this.viewTenantsConstants?.pageSizeOptions?.[0],\r\n pageSizeOptions: this.viewTenantsConstants.pageSizeOptions,\r\n totalRecords: 0,\r\n };\r\n userTenantsPermissions!: TenantsPermissions[];\r\n permissionType = PermissionType;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dialogRef: any;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n createTenantScreenTexts: any = this.constants?.createTenant;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n public dialog: MatDialog,\r\n // eslint-disable-next-line no-unused-vars\r\n public alertService: AlertsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private breakpointObserverService: BreakpointObserverService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantApplicationsService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private router: Router\r\n ) {\r\n this.breakpointObserverService\r\n .getBreakpoint()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { matches: boolean }) => {\r\n this.isMobileView = result.matches;\r\n });\r\n }\r\n\r\n /**\r\n * Sets the user permissions, router config path, base API URL, table column schema and gets the tenants list.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n ngOnInit(): void {\r\n this.userTenantsPermissions =\r\n this.tenantApplicationsService?.filterPermission(this.userPermissions);\r\n this.tenantApplicationsService?.setAppConfig(\r\n this.apiBaseURL,\r\n this.userPermissions\r\n );\r\n this.tenantsPageInfo = {\r\n tenantsTitle: this.viewTenantsConstants?.tenantsTitle,\r\n };\r\n this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;\r\n this.sharedService?.setRoutePaths(this.routePaths);\r\n this.configureTableInfo();\r\n this.defaultSortedColumn = this.columnSchema[0].columnDef;\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: ViewTenantsColumnSchemaDef.APP_ID,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n }\r\n /**\r\n * Validates permission based access for provided feature.\r\n * @param {PermissionType} permissionType\r\n * @return {boolean}\r\n * @memberof ViewTenantsListComponent\r\n */\r\n validateAccess(permissionType: PermissionType): boolean {\r\n return this.tenantApplicationsService.validateAccess(\r\n permissionType,\r\n this.userTenantsPermissions\r\n );\r\n }\r\n /**\r\n * Configures table schema to display the tenants in table view.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n configureTableInfo(): void {\r\n this.columnSchema = [\r\n {\r\n id: 1,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_ID,\r\n heading: this.tableColumns?.appId,\r\n columnType: TableColumnType.LINK,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) => `${element.appId}`,\r\n isSortableColumn: true,\r\n },\r\n {\r\n id: 2,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_TITLE,\r\n heading: this.tableColumns?.appTitle,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.appTitle ?? this.emptyFieldValueReplacedBy}`,\r\n isSortableColumn: true,\r\n },\r\n {\r\n id: 3,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_DESCRIPTION,\r\n heading: this.tableColumns?.appDescription,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.appDescription ?? this.emptyFieldValueReplacedBy}`,\r\n },\r\n\r\n {\r\n id: 4,\r\n columnDef: ViewTenantsColumnSchemaDef.FEATURES,\r\n heading: this.tableColumns?.features,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${\r\n element?.features && element?.features?.length > 0\r\n ? this.formatFeaturesName(element?.features)\r\n : this.emptyFieldValueReplacedBy\r\n }`,\r\n },\r\n {\r\n id: 5,\r\n columnDef: ViewTenantsColumnSchemaDef.STATUS,\r\n heading: this.tableColumns?.status,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.status ? TenantStatus.ACTIVE : TenantStatus.INACTIVE}`,\r\n },\r\n ];\r\n }\r\n\r\n /**\r\n * Format the features name in to single sentence with comma separated.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n formatFeaturesName(features: FeatureInfo[]): string {\r\n return features\r\n .map((feature: FeatureInfo) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n return feature.featureName;\r\n })\r\n ?.join(', ');\r\n }\r\n /**\r\n * Fetching details of tenants and initialize table view\r\n * @param {GetTenantsPayload} payload\r\n * @memberof ViewTenantsListComponent\r\n */\r\n getTenantsAndInitializeTableView(payload: GetTenantsPayload): void {\r\n this.tenantApplicationsService\r\n .getTenantsList(payload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response) => {\r\n this.tableData = response?.body?.appDetails as TenantInfo[];\r\n this.paginatorConfig.totalRecords = response?.body\r\n ?.totalRecords as number;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(error, this.constants?.errors);\r\n },\r\n });\r\n }\r\n /**\r\n * Sets the dialog options for create tenant modal and calls openModal method.\r\n * @return -returns nothing\r\n * @memberof ViewTenantsListComponent\r\n */\r\n openCreateTenantForm(): void {\r\n const dialogOptions = {\r\n heading: this.viewTenantsConstants?.addTenant,\r\n isCloseNeeded: true,\r\n componentReference: CreateTenantApplicationComponent,\r\n modalType: ModalType.FORM,\r\n };\r\n this.openModal(dialogOptions, 'ieeesa-create-tenant');\r\n }\r\n /**\r\n * Opens modal component with received params and handles form submission success and errors.\r\n * @param {*} dialogOptions\r\n * @param {string} [className]\r\n * @return -returns nothing\r\n * @memberof ViewTenantsListComponent\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-inferrable-types, no-unused-vars\r\n openModal(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dialogOptions: any,\r\n className?: string\r\n ): void {\r\n className = className ?? '';\r\n this.dialogRef = this.dialog?.open(ModalComponent, {\r\n data: dialogOptions,\r\n width: '',\r\n panelClass: ['ieeesa-modal-dialog', className],\r\n ariaModal: true,\r\n });\r\n this.dialogRef?.componentInstance?.submitFormResponse\r\n .pipe(takeUntil(this.destroy$))\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-unused-vars\r\n .subscribe((result: any) => {\r\n this.dialogRef?.close();\r\n const appTitle =\r\n this.tenantApplicationsService.getTenantBasicInfo?.appTitle;\r\n this.sharedService.showAlertMessage(\r\n AlertType?.SUCCESS,\r\n `${appTitle} ${this.createTenantScreenTexts?.message?.success?.submission}`\r\n );\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: ViewTenantsColumnSchemaDef.APP_ID,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n });\r\n this.dialogRef?.componentInstance?.formCancel\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.dialogRef?.close();\r\n });\r\n }\r\n /**\r\n * Sorts the tenants by application id or title in ascending or descending.\r\n * @param {Sort} sort\r\n * @memberof ViewTenantsListComponent\r\n */\r\n onSortTenants(sort: Sort): void {\r\n this.defaultSortedColumn = sort.active;\r\n this.defaultColumnSortDirection =\r\n sort.direction === TableColumnSortDirection.ASCENDING;\r\n const payload: GetTenantsPayload = {\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: this.defaultSortedColumn,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n };\r\n this.getTenantsAndInitializeTableView(payload);\r\n }\r\n\r\n /**\r\n * Returning sorting order according to column definition\r\n * @param defaultColumnSortDirection\r\n * @returns SortOrderBy.ASC | SortOrderBy.DESC\r\n */\r\n filterSortedOrderBy(defaultColumnSortDirection: boolean): string {\r\n return defaultColumnSortDirection ? SortOrderBy.ASC : SortOrderBy.DESC;\r\n }\r\n /**\r\n * Get the the records according to pagination\r\n * @param {{\r\n * pageOffset: number;\r\n * pageLimit: number;\r\n * }} pageEvent\r\n * @memberof ViewTenantsListComponent\r\n */\r\n onTablePaginationChange(pageEvent: PageEvent): void {\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: pageEvent.pageIndex,\r\n pageSize: pageEvent.pageSize,\r\n sortedBy: this.defaultSortedColumn,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n }\r\n /**\r\n * Navigates to view tenants detail component\r\n * @memberof ViewTenantsListComponent\r\n */\r\n navigateToViewTenantDetails(tenantInfo: TenantInfo): void {\r\n if (tenantInfo) {\r\n this.tenantApplicationsService.setSelectedTenantInformation(tenantInfo);\r\n }\r\n if (this.routePaths?.viewTenantDetails)\r\n this.router.navigate([this.routePaths?.viewTenantDetails]);\r\n else this.viewTenantsDetails.emit(tenantInfo);\r\n }\r\n /**\r\n * NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.\r\n * @memberof ViewTenantsListComponent\r\n * @return -returns nothing\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.unsubscribe();\r\n }\r\n}\r\n","<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo?.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n","export enum FeaturePermissionId {\r\n // eslint-disable-next-line no-unused-vars\r\n MEETINGS_AND_EVENTS = 'FEATURE_049753e8-ea5c-4fad-adb0-e1456e69c7a5',\r\n // eslint-disable-next-line no-unused-vars\r\n BALLOTS = 'FEATURE_a0ad3616-20dc-43da-813f-9b76d33f227a',\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n BreakpointObserverService,\r\n GlobalErrorHandlerService,\r\n} from '@ieeesa-npm/utility';\r\nimport {\r\n AccordionComponent,\r\n AccordionInfo,\r\n SlideToggleComponent,\r\n} from '@ieeesa-npm/presentation';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as screenText from '../../assets/constants.json';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { TenantInfo, TenantDetailsResponse } from '../../models/tenants.model';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport { UserPermission } from '../../models/tenants-permission.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\nimport { TenantsRoutesConfig } from '../../models/route-config.model';\r\nimport { Features, GetFeaturesResponse } from '../../models/features.model';\r\nimport { FeaturePermissionId } from '../../models/feature-permission-id.model';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'ieeesa-view-tenant-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SlideToggleComponent,\r\n AccordionComponent,\r\n MatDividerModule,\r\n ],\r\n templateUrl: './view-tenant-details.component.html',\r\n styleUrls: ['./view-tenant-details.component.scss'],\r\n})\r\nexport class ViewTenantDetailsComponent implements OnInit, OnDestroy {\r\n destroy$: Subject<boolean> = new Subject<boolean>();\r\n @Input() apiBaseURL!: string;\r\n @Input() userPermissions!: UserPermission[];\r\n @Input() routePaths!: TenantsRoutesConfig;\r\n isMobileView = false;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = screenText;\r\n tenantLabels = this.constants?.viewTenants?.label;\r\n slideToggleOption = {\r\n id: 1,\r\n label: this.constants?.viewTenants?.label?.active,\r\n checked: true,\r\n disabled: false,\r\n };\r\n tenantDetails!: TenantInfo;\r\n accordionInfoList: AccordionInfo[] = this.constants?.TenantAccordionInfo;\r\n viewTenantsRouteUrl!: string;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n private breakpointObserverService: BreakpointObserverService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantAppService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n public globalErrorHandlerService: GlobalErrorHandlerService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService\r\n ) {\r\n this.breakpointObserverService\r\n .getBreakpoint()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { matches: boolean }) => {\r\n this.isMobileView = result?.matches;\r\n });\r\n }\r\n\r\n /**\r\n * Initializes view tenant details component.\r\n * @return -returns nothing\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n ngOnInit(): void {\r\n this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;\r\n this.viewTenantsRouteUrl = `/${this.routePaths?.viewTenants}`;\r\n this.tenantAppService?.setAppConfig(this.apiBaseURL, this.userPermissions);\r\n const appId = this.tenantAppService.getSelectedTenantInformation()\r\n ?.appId as string;\r\n this.getTenantDetails(appId);\r\n this.getFeatures();\r\n }\r\n /**\r\n * Gets the list of features and construct the Accordion info based on the features (Meetings & Events, Ballots, etc.) configured for the selected tenant. Basic Details and Groups & Rosters by default configured for all tenants and associated accordion infos are predefined such as Roles & Permissions and Group Types.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n getFeatures(): void {\r\n this.tenantAppService\r\n .getFeatures()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: GetFeaturesResponse) => {\r\n if (response?.status) {\r\n const features = response.body as Features[];\r\n features.map((feature: Features) => {\r\n if (\r\n feature?.featureId ===\r\n FeaturePermissionId.MEETINGS_AND_EVENTS ||\r\n feature?.featureId === FeaturePermissionId.BALLOTS\r\n )\r\n this.accordionInfoList.push({\r\n id: this.accordionInfoList.length + 1,\r\n isDisabled: false,\r\n title: feature?.featureName,\r\n });\r\n });\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(error, this.constants?.errors);\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Gets the selected tenant details from server.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n getTenantDetails(appId: string): void {\r\n this.tenantAppService\r\n .getTenantDetails(appId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: TenantDetailsResponse) => {\r\n if (response?.status) {\r\n this.tenantDetails = response?.body as TenantInfo;\r\n this.slideToggleOption.checked = this.tenantDetails\r\n .status as boolean;\r\n this.slideToggleOption.label = this.tenantDetails.status\r\n ? this.tenantLabels?.active\r\n : this.tenantLabels?.inactive;\r\n }\r\n },\r\n error: (error) => {\r\n this.sharedService.handleErrors(error, this.constants?.errors);\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Keeps track of the accordion based on the element's ID in DOM tree.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n trackByAccordionFn(index: number, item: AccordionInfo): number {\r\n return item?.id as number;\r\n }\r\n /**\r\n * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$?.next(true);\r\n this.destroy$?.unsubscribe();\r\n }\r\n}\r\n","<div\r\n class=\"ieeesa-view-tenant-info px-4 pb-4\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--bg-white'\r\n : 'ieeesa-view-tenant-info--bg-blue'\r\n \"\r\n>\r\n <div\r\n class=\"d-flex justify-content-between gap-lg-4 gap-md-3 gap-sm-2 gap-3 pb-3\"\r\n [ngClass]=\"isMobileView ? 'flex-column gap-2' : 'align-item-center'\"\r\n >\r\n <div\r\n class=\"d-flex gap-lg-4 gap-md-3 gap-sm-3 gap-3 ps-0 align-items-md-center align-items-xl-center\"\r\n [ngClass]=\"\r\n isMobileView ? 'flex-column' : ''\r\n \"\r\n >\r\n <p\r\n class=\"mb-0 ieeesa-headline-lg-32\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--title'\"\r\n >\r\n {{ tenantDetails?.appTitle }}\r\n </p>\r\n <div class=\"d-flex gap-lg-2 gap-md-2 gap-sm-2 gap-2\">\r\n <span\r\n class=\"mb-0 ieeesa-title-sm-14 mt-1\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'ieeesa-view-tenant-info--app-id'\"\r\n >\r\n {{ tenantLabels?.appId }}:\r\n </span>\r\n {{ tenantDetails?.appId }}\r\n <ng-container *ngIf=\"tenantDetails?.appId !== tenantLabels?.saAppId\">\r\n <mat-divider [vertical]=\"true\"></mat-divider>\r\n <span\r\n class=\"mb-0 mt-1 ieeesa-title-sm-14 ieeesa-view-tenant-info--app-status\"\r\n [ngClass]=\"isMobileView ? 'p-0' : ''\"\r\n >\r\n {{ tenantLabels?.status }}:\r\n </span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"slideToggleOption\"\r\n ></ieeesa-slide-toggle>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <a\r\n class=\"ieeesa-btn-label-lg-bold-16 text-decoration-none mt-lg-3 mt-xl-6 p-sm-0 p-md-0\"\r\n href=\"javascript:void(0)\"\r\n rel=\"noopener noreferrer\"\r\n [routerLink]=\"viewTenantsRouteUrl\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--link'\"\r\n >{{ tenantLabels?.viewAllApps }}</a\r\n >\r\n </div>\r\n <div\r\n class=\"ieeesa-view-tenant-info__accordion ieeesa-view-tenant-info__accordion--blue-bg\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-view-tenant-info__accordion--info' : ''\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let accordionInfo of accordionInfoList;\r\n trackBy: trackByAccordionFn\r\n \"\r\n >\r\n <ieeesa-accordion [accordionInfo]=\"accordionInfo\"> </ieeesa-accordion>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","/* eslint-disable no-empty-function */\r\nimport { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n@Component({\r\n selector: 'ieeesa-tenant-applications',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule],\r\n templateUrl: './tenant-applications.component.html',\r\n styleUrls: ['./tenant-applications.component.scss'],\r\n})\r\nexport class TenantApplicationsComponent {}\r\n","","/* eslint-disable no-unused-vars */\r\nexport enum AppType {\r\n GENERIC = 'Generic',\r\n STANDALONE = 'Standalone'\r\n}","import { NgModule } from '@angular/core';\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [],\r\n exports: [],\r\n})\r\nexport class TenantApplicationsModule {}\r\n","/*\r\n * Public API Surface of tenants\r\n */\r\nexport * from './lib/components/view-tenants-list/view-tenants-list.component';\r\nexport * from './lib/components/view-tenant-details/view-tenant-details.component';\r\nexport * from './lib/components/create-tenant-application/create-tenant-application.component';\r\nexport * from './lib/tenant-applications.component';\r\n\r\nexport * from './lib/models/app-type-config.model';\r\nexport * from './lib/models/app-type.model';\r\nexport * from './lib/models/tenant.model';\r\nexport * from './lib/models/tenants.model';\r\nexport * from './lib/models/features.model';\r\nexport * from './lib/models/form-status.model';\r\nexport * from './lib/models/permission-type.model';\r\nexport * from './lib/models/tenants-permission.model';\r\nexport * from './lib/models/route-config.model';\r\nexport * from './lib/models/table-column-schema-view-tenant-list.model';\r\n\r\nexport * from './lib/services/tenant-applications.service';\r\nexport * from './lib/services/tenant-permissions-map.service';\r\nexport * from './lib/services/tenant-permissions.service';\r\n\r\nexport * from './lib/assets/tenant-validations';\r\n\r\nexport * from './lib/tenant-applications.module';\r\nexport * from './lib/models/feature-permission-id.model';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["screenTexts?.errors","screenTexts?.createTenant","i2.TenantPermissionsService","i3.TenantPermissionsMapService","screenTexts","i1","i2.TenantApplicationsService","constants","i2","i4.TenantApplicationsService","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ieeesa-npm-tenants.mjs","sources":["../../../projects/tenants/src/lib/models/permission-type.model.ts","../../../projects/tenants/src/lib/models/table-column-schema-view-tenant-list.model.ts","../../../projects/tenants/src/lib/assets/tenant-validations.ts","../../../projects/tenants/src/lib/models/form-status.model.ts","../../../projects/tenants/src/lib/services/tenant-permissions.service.ts","../../../projects/tenants/src/lib/services/tenant-permissions-map.service.ts","../../../projects/tenants/src/lib/services/tenant-applications.service.ts","../../../projects/tenants/src/lib/components/create-tenant-application/create-tenant-application.component.ts","../../../projects/tenants/src/lib/components/create-tenant-application/create-tenant-application.component.html","../../../projects/tenants/src/lib/components/view-tenants-list/view-tenants-list.component.ts","../../../projects/tenants/src/lib/components/view-tenants-list/view-tenants-list.component.html","../../../projects/tenants/src/lib/models/feature-permission-id.model.ts","../../../projects/tenants/src/lib/components/view-tenant-details/view-tenant-details.component.ts","../../../projects/tenants/src/lib/components/view-tenant-details/view-tenant-details.component.html","../../../projects/tenants/src/lib/tenant-applications.component.ts","../../../projects/tenants/src/lib/tenant-applications.component.html","../../../projects/tenants/src/lib/models/app-type.model.ts","../../../projects/tenants/src/lib/tenant-applications.module.ts","../../../projects/tenants/src/public-api.ts","../../../projects/tenants/src/ieeesa-npm-tenants.ts"],"sourcesContent":["/* eslint-disable no-unused-vars */\r\nexport enum PermissionType {\r\n VIEW_TENANTS = 'VIEW_TENANTS',\r\n MANAGE_TENANT = 'MANAGE_TENANT',\r\n}\r\nexport enum TenantStatus {\r\n ACTIVE = 'Active',\r\n INACTIVE = 'Inactive',\r\n}\r\n","/* eslint-disable no-unused-vars */\r\nexport enum ViewTenantsColumnSchemaDef {\r\n APP_ID = 'appId',\r\n APP_TITLE = 'appTitle',\r\n APP_DESCRIPTION = 'appDescription',\r\n APP_HEADING = 'appHeading',\r\n FEATURES = 'features',\r\n STATUS = 'status',\r\n}\r\nexport enum SortOrderBy {\r\n DESC = 'DESC',\r\n ASC = 'ASC',\r\n}\r\nexport interface GetTenantsPayload {\r\n payload: {\r\n offset: number;\r\n pageSize: number;\r\n sortedBy: string;\r\n sortedOrderBy: string;\r\n };\r\n}\r\n","/* eslint-disable no-useless-escape */\r\nexport const TenantsValidationPatterns = {\r\n appTitleMaxLength: 50,\r\n appIdMaxLength: 10,\r\n appHeadingMaxLength: 150,\r\n appDescriptionMaxLength: 500,\r\n url: /^https:\\/\\//,\r\n alphaNumeric: /^[a-zA-Z0-9]+$/\r\n };","/* eslint-disable no-unused-vars */\r\nexport enum FormStatus {\r\n VALID = \"VALID\",\r\n INVALID = \"INVALID\",\r\n }","import { Injectable } from '@angular/core';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport {\r\n UserPermission,\r\n TenantsPermissions,\r\n} from '../models/tenants-permission.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantPermissionsService {\r\n /**\r\n * Returns access provision for the passed action/feature based on whether the signed in user has appropriate permission.\r\n * @param {PermissionType} permission\r\n * @param {TenantsPermission[]} tenantsPermissions\r\n * @return {boolean}\r\n * @memberof TenantPermissionsService\r\n */\r\n validateAccessPermission(\r\n permission: PermissionType,\r\n userTenantsPermissions: TenantsPermissions[]\r\n ): boolean {\r\n const isPermitted =\r\n userTenantsPermissions && userTenantsPermissions.length\r\n ? userTenantsPermissions?.some(\r\n ({ permissionType }) => permissionType === permission\r\n )\r\n : false;\r\n return isPermitted;\r\n }\r\n /**\r\n * Filters signed in user tenants permissions from entire tenants permissions.\r\n * @param { UserPermission[] }\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantPermissionsService\r\n */\r\n filterTenantsPermissions(\r\n userPermissions: UserPermission[],\r\n tenantsPermissions: TenantsPermissions[]\r\n ): TenantsPermissions[] {\r\n const userTenantsPermission = tenantsPermissions?.filter(\r\n (permission: TenantsPermissions) => {\r\n return userPermissions?.find(\r\n ({ permissionId }) => permission?.permissionId === permissionId\r\n );\r\n }\r\n );\r\n return userTenantsPermission;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport { TenantsPermissions } from '../models/tenants-permission.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantPermissionsMapService {\r\n globalTenantsPermissions: TenantsPermissions[] = [\r\n {\r\n permissionType: PermissionType.VIEW_TENANTS,\r\n permissionId: 'PERM_SAAPPS_1a2dbbb5-5fe1-4261-85b1-a5373f41075a',\r\n permissionName: 'View Tenant Applications',\r\n },\r\n {\r\n permissionType: PermissionType.MANAGE_TENANT,\r\n permissionId: 'PERM_SAAPPS_315c49ec-f79a-4dcd-9795-6f97838c8c83',\r\n permissionName: 'Manage (Create, Edit, Disable) Tenant Application',\r\n },\r\n ];\r\n /**\r\n * Returns global permissions mapping for tenants.\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantsPermissionsMapService\r\n */\r\n getGlobalTenantsPermissions(): TenantsPermissions[] {\r\n return this.globalTenantsPermissions;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '@ieeesa-npm/utility';\r\nimport { Observable, catchError, map } from 'rxjs';\r\nimport * as screenTexts from '../assets/constants.json';\r\nimport {\r\n GetTenantsResponse,\r\n TenantInfo,\r\n TenantDetailsResponse,\r\n} from '../models/tenants.model';\r\nimport { GetTenantsPayload } from '../models/table-column-schema-view-tenant-list.model';\r\nimport {\r\n TenantsPermissions,\r\n UserPermission,\r\n} from '../models/tenants-permission.model';\r\nimport { PermissionType } from '../models/permission-type.model';\r\nimport { TenantPermissionsMapService } from './tenant-permissions-map.service';\r\nimport {\r\n CreateTenantRequestPayload,\r\n CreateTenantResponse,\r\n TenantBasicInfo,\r\n} from '../models/tenant.model';\r\nimport { CheckboxOption, RadioOption } from '@ieeesa-npm/presentation';\r\nimport {\r\n FeatureId,\r\n Features,\r\n GetFeaturesResponse,\r\n} from '../models/features.model';\r\nimport {\r\n AppTypeConfig,\r\n GetAppTypesResponse,\r\n} from '../models/app-type-config.model';\r\nimport { TenantPermissionsService } from './tenant-permissions.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantApplicationsService {\r\n tenantsText = screenTexts?.errors;\r\n apiBaseUrl!: string;\r\n userPermission!: UserPermission[];\r\n selectedTenantInfo!: TenantInfo | undefined;\r\n userTenantsPermissions!: TenantsPermissions[];\r\n tenantsInfo!: TenantInfo;\r\n createTenantsText = screenTexts?.createTenant?.errors;\r\n tenantBasicInfo!: TenantBasicInfo;\r\n radioOptions: RadioOption[] = [];\r\n checkBoxOptions: CheckboxOption[] = [];\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n private httpService: HttpService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantPermissionsService: TenantPermissionsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantPermissionsMapService: TenantPermissionsMapService // eslint-disable-next-line no-empty-function\r\n ) {}\r\n setAppConfig(apiBaseUrl: string, userPermission: UserPermission[]): void {\r\n this.apiBaseUrl = apiBaseUrl;\r\n this.userPermission = userPermission;\r\n }\r\n\r\n /**\r\n * Gets tenant details from server using HttpService\r\n * @param {string} appId\r\n * @return {Observable<TenantDetailsResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getTenantDetails(appId: string): Observable<TenantDetailsResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/app/details/${appId}`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n /**\r\n * Sets the user tenants permissions\r\n * @param {TenantsPermissions[]} TenantsPermissions\r\n * @memberof TenantApplicationsService\r\n */\r\n setUserTenantsPermissions(userTenantsPermissions: TenantsPermissions[]) {\r\n this.userTenantsPermissions = userTenantsPermissions;\r\n }\r\n /**\r\n * Returns the user tenants permissions\r\n * @return {TenantsPermissions[]}\r\n * @memberof TenantApplicationsService\r\n */\r\n getUserTenantsPermissions(): TenantsPermissions[] {\r\n return this.userTenantsPermissions;\r\n }\r\n\r\n /**\r\n * Sets the user tenants information\r\n * @param {TenantInfo} tenantInfo\r\n * @memberof TenantApplicationsService\r\n */\r\n setSelectedTenantInformation(tenantInfo: TenantInfo): void {\r\n this.selectedTenantInfo = tenantInfo;\r\n }\r\n /**\r\n * Returns the tenants information\r\n * @return {TenantInfo}\r\n * @memberof TenantApplicationsService\r\n */\r\n getSelectedTenantInformation(): TenantInfo | undefined {\r\n return this.selectedTenantInfo;\r\n }\r\n /**\r\n * Filter permissions\r\n * @param usersPermissions\r\n * @returns @memberof TenantApplicationsService\r\n */\r\n filterPermission(usersPermissions: UserPermission[]): TenantsPermissions[] {\r\n return this.tenantPermissionsService?.filterTenantsPermissions(\r\n usersPermissions,\r\n this.tenantPermissionsMapService?.getGlobalTenantsPermissions()\r\n );\r\n }\r\n /**\r\n * Validating access for tenants\r\n * @param permissionType Permission Type to validate permission\r\n * @param mappedUserPermissions Permission which are mapped with tenants\r\n * @returns true if permission is granted\r\n */\r\n validateAccess(\r\n permissionType: PermissionType,\r\n permissions: TenantsPermissions[]\r\n ): boolean {\r\n return this.tenantPermissionsService.validateAccessPermission(\r\n permissionType,\r\n permissions\r\n );\r\n }\r\n /**\r\n * Gets the tenants.\r\n * @param {GetTenantsPayload} payload\r\n * @return {Observable<GetTenantsResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getTenantsList(payload: GetTenantsPayload): Observable<GetTenantsResponse> {\r\n return this.httpService\r\n .postData(`${this.apiBaseUrl}/configurations/app/config`, payload)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n /**\r\n * Gets list of features from server using HttpService.\r\n * @return {Observable<GetFeaturesResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getFeatures(): Observable<GetFeaturesResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/app/features`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Gets list of application types from server using HttpService.\r\n * @return {Observable<GetAppTypesResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n getApplicationTypes(): Observable<GetAppTypesResponse> {\r\n return this.httpService\r\n .getData(`${this.apiBaseUrl}/configurations/config/app_type`)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Posts tenant application form data to server using HttpService for creating new tenant application.\r\n * @param {CreateTenantPayload} createTenantPayload\r\n * @return {Observable<CreateTenantResponse>}\r\n * @memberof TenantApplicationsService\r\n */\r\n createTenant(\r\n createTenantPayload: CreateTenantRequestPayload\r\n ): Observable<CreateTenantResponse> {\r\n return this.httpService\r\n .postData(\r\n `${this.apiBaseUrl}/configurations/app/createTenant`,\r\n createTenantPayload\r\n )\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n }),\r\n catchError((error) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Constructs the checkbox options from features list from server.\r\n * @param {FeaturesList[]} features\r\n * @returns {CheckboxOption[]}\r\n */\r\n getFeatureOptions(features: Features[]): CheckboxOption[] {\r\n this.checkBoxOptions = [];\r\n features?.forEach((feature: Features) => {\r\n this.checkBoxOptions?.push({\r\n id: feature?.featureId,\r\n name: feature?.featureName,\r\n checked: feature?.isDefault,\r\n disabled: feature?.isDefault,\r\n });\r\n });\r\n return this.checkBoxOptions;\r\n }\r\n /**\r\n * Constructs the radio options from application types from server.\r\n * @param {AppTypeConfig[]} appTypeOptions\r\n * @returns {RadioOption[]}\r\n */\r\n getApplicationTypeOptions(appTypeOptions: AppTypeConfig[]): RadioOption[] {\r\n this.radioOptions = [];\r\n appTypeOptions?.forEach((appType: AppTypeConfig) => {\r\n this.radioOptions?.push({\r\n id: appType?.configFieldId,\r\n label: appType?.configFieldValue?.type,\r\n });\r\n });\r\n return this.radioOptions;\r\n }\r\n /**\r\n * Constructs the selected features id's.\r\n * @param {CheckboxOption[]} featureOptions\r\n * @returns {FeatureId[]}\r\n */\r\n getFeatureIds(featureOptions: CheckboxOption[]): FeatureId[] {\r\n const featureIds: FeatureId[] = [];\r\n featureOptions?.forEach((featureOption: CheckboxOption) => {\r\n if (featureOption?.checked) {\r\n featureIds.push({\r\n featureId: featureOption.id as string,\r\n });\r\n }\r\n })\r\n return featureIds;\r\n }\r\n /**\r\n * Sets the tenant basic information.\r\n * @param {CreateTenantRequestPayload} createTenantPayload\r\n */\r\n setTenantBasicInfo(createTenantPayload: CreateTenantRequestPayload): void {\r\n this.tenantBasicInfo = createTenantPayload?.payload;\r\n }\r\n /**\r\n * Returns the tenant basic information.\r\n */\r\n get getTenantBasicInfo(): TenantBasicInfo {\r\n return this.tenantBasicInfo;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n AlignType,\r\n CheckboxOption,\r\n FormGrid,\r\n RadioOption,\r\n FormControlType,\r\n FormModel,\r\n AllowedFileTypes,\r\n FileUploadService,\r\n FileUploadPresignedUrl,\r\n DynamicFormComponent,\r\n} from '@ieeesa-npm/presentation';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as screenTexts from '../../assets/constants.json';\r\nimport { FormArray, FormGroup, Validators } from '@angular/forms';\r\nimport { TenantsValidationPatterns } from '../../assets/tenant-validations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormStatus } from '../../models/form-status.model';\r\nimport { validColorValidator } from 'ngx-colors';\r\nimport { Features, GetFeaturesResponse } from '../../models/features.model';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport {\r\n AppTypeConfig,\r\n GetAppTypesResponse,\r\n} from '../../models/app-type-config.model';\r\nimport {\r\n CreateTenantRequestPayload,\r\n CreateTenantResponse,\r\n} from '../../models/tenant.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\n\r\n@Component({\r\n selector: 'ieeesa-create-tenant-application',\r\n standalone: true,\r\n imports: [CommonModule, DynamicFormComponent],\r\n templateUrl: './create-tenant-application.component.html',\r\n styleUrls: ['./create-tenant-application.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CreateTenantApplicationComponent implements OnInit, OnDestroy {\r\n destroy$ = new Subject<boolean>();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = screenTexts;\r\n createTenantTexts = this.constants?.createTenant;\r\n leftButtonLabel = this.createTenantTexts?.label?.leftButtonLabel;\r\n rightButtonLabel = this.createTenantTexts?.label?.rightButtonLabel;\r\n colWidth: FormGrid = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };\r\n createTenantFormGroup!: FormModel;\r\n actionButtonAlign = AlignType.LEFT;\r\n createTenantFormGroupRef!: FormGroup;\r\n @ViewChild(DynamicFormComponent)\r\n dynamicFormComponent!: DynamicFormComponent;\r\n @Output() submitFormResponse = new EventEmitter();\r\n @Output() formCancel = new EventEmitter();\r\n featuresOptions!: CheckboxOption[];\r\n appTypeOptions!: RadioOption[];\r\n createTenantPayload!: CreateTenantRequestPayload;\r\n fileUploadPresignedUrl!: string;\r\n fileDownloadPresignedUrl!: string;\r\n file!: File | FileList;\r\n allowedFileTypes = [\r\n AllowedFileTypes.JPG,\r\n AllowedFileTypes.PNG,\r\n AllowedFileTypes.SVG,\r\n ];\r\n selectedColor!: string;\r\n selectedAppTypeOption!: RadioOption;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n public fileUploadService: FileUploadService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantAppService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService // eslint-disable-next-line no-empty-function\r\n ) {}\r\n ngOnInit(): void {\r\n this.getFeatures();\r\n }\r\n /**\r\n * Gets the list of features and updates the form control.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getFeatures(): void {\r\n this.tenantAppService\r\n .getFeatures()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: GetFeaturesResponse) => {\r\n if (response?.status) {\r\n this.featuresOptions = this.tenantAppService.getFeatureOptions(\r\n response?.body as Features[]\r\n );\r\n this.getApplicationTypes();\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Gets the application/tenant types and updates the form control.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getApplicationTypes(): void {\r\n this.tenantAppService\r\n .getApplicationTypes()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: GetAppTypesResponse) => {\r\n if (response?.status) {\r\n this.appTypeOptions =\r\n this.tenantAppService.getApplicationTypeOptions(\r\n response?.body as AppTypeConfig[]\r\n );\r\n this.initializeCreateTenantFormGroup();\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Initialize the create tenant form group array.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n initializeCreateTenantFormGroup(): void {\r\n this.createTenantFormGroup = {\r\n formGroup: [\r\n {\r\n legend: '',\r\n controls: [\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appTitle + '*',\r\n controlName: 'appTitle',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appTitleMaxLength\r\n ),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appTitle,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appTitleMaxChars,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appTitle,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appTitle,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appId + '*',\r\n controlName: 'appId',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(TenantsValidationPatterns.appIdMaxLength),\r\n Validators.pattern(TenantsValidationPatterns.alphaNumeric),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appId,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appIdMaxChars,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appId,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appId,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appId,\r\n },\r\n {\r\n type: FormControlType?.FILE_UPLOAD,\r\n label: this.createTenantTexts?.label?.appLogo,\r\n controlName: 'appLogo',\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n value: '',\r\n placeholder: '',\r\n supportMessage: this.createTenantTexts?.supportText?.appLogo,\r\n validation: [],\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appLogo,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appLogo,\r\n isMultiFileUpload: false,\r\n maxUploadFileSize: 2,\r\n maxFileSizeErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit?.appLogoMaxSize,\r\n allowedFileTypeErrorMessage:\r\n this.createTenantTexts?.message?.error?.invalidFile,\r\n allowedFileTypes: this.allowedFileTypes,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appHeading + '*',\r\n controlName: 'appHeading',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appHeadingMaxLength\r\n ),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appHeading,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit\r\n ?.appHeadingMaxChars,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.email,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHeading,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appHeading,\r\n },\r\n {\r\n type: FormControlType.TEXT_AREA,\r\n label: this.createTenantTexts?.label?.appDescription + '*',\r\n controlName: 'appDescription',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.maxLength(\r\n TenantsValidationPatterns.appDescriptionMaxLength\r\n ),\r\n ],\r\n supportMessage:\r\n this.createTenantTexts?.supportText?.appDescription,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n maxErrorMessage:\r\n this.createTenantTexts?.message?.error?.limit\r\n ?.appDescriptionMaxChars,\r\n maxCharCount: TenantsValidationPatterns.appDescriptionMaxLength,\r\n ariaLabel:\r\n this.createTenantTexts?.label?.ariaLabel?.appDescription,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById\r\n ?.appDescription,\r\n ariaMultiline: true,\r\n isResize: true,\r\n },\r\n {\r\n type: FormControlType.COLOR_PICKER,\r\n label: this.createTenantTexts?.label?.appBgColor + '*',\r\n controlName: 'backgroundColor',\r\n value: '',\r\n placeholder: '',\r\n supportMessage: this.createTenantTexts?.supportText?.appBgColor,\r\n validation: [Validators.required, validColorValidator()],\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n invalidColorErrorMessage:\r\n this.createTenantTexts?.message?.error?.invalidColor,\r\n ariaLabel: this.createTenantTexts?.supportText?.appBgColor,\r\n ariaDescribedById:\r\n this.createTenantTexts?.supportText?.appBgColor,\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.appHelpLink + '*',\r\n controlName: 'appHelpLink',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.pattern(TenantsValidationPatterns.url),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.appHelpLink,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appHelpLink,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHelpLink,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appHelpLink,\r\n },\r\n {\r\n type: FormControlType.CHECKBOX,\r\n label: this.createTenantTexts?.label?.featuresList + '*',\r\n controlName: 'features',\r\n checkboxOptions: this.featuresOptions,\r\n minSelectionRequired: 1,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.featuresList,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.featuresList,\r\n supportMessage: this.createTenantTexts?.supportText?.featuresList,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n validation: [Validators.required],\r\n },\r\n {\r\n type: FormControlType.INPUT,\r\n label: this.createTenantTexts?.label?.domainURL + '*',\r\n controlName: 'appDomainUrl',\r\n value: '',\r\n validation: [\r\n Validators.required,\r\n Validators.pattern(TenantsValidationPatterns.url),\r\n ],\r\n supportMessage: this.createTenantTexts?.supportText?.domainURL,\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n patternErrorMessage:\r\n this.createTenantTexts?.message?.error?.pattern?.appDomainUrl,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.domainURL,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.domainURL,\r\n },\r\n {\r\n type: FormControlType.RADIO,\r\n label: this.createTenantTexts?.label?.appType + '*',\r\n controlName: 'appType',\r\n value: '',\r\n radioOptions: this.appTypeOptions,\r\n validation: [Validators.required],\r\n requiredErrorMessage:\r\n this.createTenantTexts?.message?.error?.required,\r\n ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appType,\r\n ariaDescribedById:\r\n this.createTenantTexts?.label?.ariaDescribedById?.appType,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Creates tenant on form submission.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onCreateTenantFormSubmit(form: FormGroup[]): void {\r\n form[0]?.markAllAsTouched();\r\n if (form[0].status === FormStatus.VALID) {\r\n this.createTenantPayload = this.getCreateTenantPayload(\r\n form[0].getRawValue()\r\n );\r\n // TODO: The below createTenant endpoint code should be removed from here once file upload csp issue is fixed.\r\n this.tenantAppService\r\n .createTenant(this.createTenantPayload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: CreateTenantResponse) => {\r\n if (response.status) {\r\n this.tenantAppService.setTenantBasicInfo(\r\n this.createTenantPayload\r\n );\r\n this.submitFormResponse.emit(response);\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n // TODO: The below line should be added once csp issue is fixed\r\n // Iif (this.file) this.getFileUploadPresignedUrl(this.file);\r\n }\r\n }\r\n\r\n /**\r\n * Constructs create tenant payload from the form data and returns.\r\n * @param {*} formData\r\n * @return {CreateTenantRequestPayload}\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getCreateTenantPayload(formData: any): CreateTenantRequestPayload {\r\n const payload: CreateTenantRequestPayload = {\r\n payload: {\r\n appTitle: formData?.appTitle,\r\n appId: formData?.appId,\r\n appHeading: formData?.appHeading,\r\n appDescription: formData?.appDescription,\r\n backgroundColor: formData?.backgroundColor,\r\n // TODO: File upload should be mandatory and will be passing the dynamic logo as part of user story NIAR-5042.\r\n appLogo: 'logo.svg',\r\n appDomainUrl: formData?.appDomainUrl,\r\n appHelpLink: formData?.appHelpLink,\r\n appType: this.selectedAppTypeOption?.id as string,\r\n features: this.tenantAppService.getFeatureIds(this.featuresOptions),\r\n },\r\n };\r\n return payload;\r\n }\r\n\r\n /**\r\n * Gets create tenant form group reference and disables default features.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n getCreateTenantFormGroupRef(form: FormGroup[]): void {\r\n this.createTenantFormGroupRef = form[0];\r\n const featuresFormArray = this.createTenantFormGroupRef?.controls[\r\n 'features'\r\n ] as FormArray;\r\n this.featuresOptions?.forEach((option: CheckboxOption, index: number) => {\r\n if (option?.disabled) {\r\n featuresFormArray?.at(index).disable();\r\n }\r\n });\r\n }\r\n /**\r\n * Updates createTenantFormGroupRef on add tenant form change event.\r\n * @param {FormGroup[]} form\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onCreateTenantFormChange(form: FormGroup[]): void {\r\n this.createTenantFormGroupRef = form[0];\r\n }\r\n /**\r\n * Emits form cancel event.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n onFormCancel(): void {\r\n this.formCancel.emit();\r\n }\r\n /**\r\n * Gets the selected file when the file is browsed and on formFileUpload event is triggered.\r\n * @param {File | FileList} file\r\n */\r\n onFormFileUpload(file: File | FileList): void {\r\n this.file = file;\r\n }\r\n /**\r\n * Gets pre-signed URL to upload the selected file to AWS S3 bucket.\r\n * @param {File | FileList} file\r\n */\r\n getFileUploadPresignedUrl(file: File | FileList): void {\r\n this.fileUploadService\r\n .getFileUploadPresignedUrl(file)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: FileUploadPresignedUrl) => {\r\n this.fileUploadPresignedUrl = response?.body;\r\n if (this.fileUploadPresignedUrl) this.uploadFileToS3(file);\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function, no-empty-function\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Uploads the file to AWS S3 bucket and submit the form data to API to create new tenant.\r\n * @param {File | FileList} file\r\n */\r\n uploadFileToS3(file: File | FileList): void {\r\n this.fileUploadService\r\n .uploadFileToS3(this.fileUploadPresignedUrl, file)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n next: (response: any) => {\r\n this.fileUploadService.setFileUploadStatus(true);\r\n this.tenantAppService\r\n .createTenant(this.createTenantPayload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: CreateTenantResponse) => {\r\n if (response.status) {\r\n this.tenantAppService.setTenantBasicInfo(\r\n this.createTenantPayload\r\n );\r\n this.submitFormResponse.emit(response);\r\n }\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n },\r\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.fileUploadService.setFileUploadStatus(false);\r\n this.sharedService.handleErrors(\r\n error,\r\n this.createTenantTexts?.errors\r\n );\r\n },\r\n });\r\n }\r\n /**\r\n * Triggers when the color picker values has been changed.\r\n * @param {string} color\r\n */\r\n onColorPickerChange(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n /**\r\n * Triggers when the radio option has been changed.\r\n * @param {RadioOption} radioOption\r\n */\r\n onRadioOptionSelected(radioOption: RadioOption): void {\r\n this.selectedAppTypeOption = radioOption;\r\n }\r\n /**\r\n * Implementation of ngOnDestroy lifecycle hook method to unsubscribe the open observable subscriptions.\r\n * @memberof CreateTenantApplicationComponent\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.unsubscribe();\r\n }\r\n}\r\n","<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n DataTableComponent,\r\n ModalComponent,\r\n PaginatorConfig,\r\n TableActions,\r\n TableColumnSchema,\r\n TableColumnSortDirection,\r\n TableColumnType,\r\n} from '@ieeesa-npm/presentation';\r\nimport { FeatureInfo, TenantInfo } from '../../models/tenants.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as constants from '../../assets/constants.json';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport {\r\n AlertType,\r\n AlertsService,\r\n BreakpointObserverService,\r\n ModalType,\r\n} from '@ieeesa-npm/utility';\r\nimport { TenantsRoutesConfig } from '../../models/route-config.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport { Router } from '@angular/router';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { Sort } from '@angular/material/sort';\r\nimport {\r\n TenantStatus,\r\n PermissionType,\r\n} from '../../models/permission-type.model';\r\nimport {\r\n TenantsPermissions,\r\n UserPermission,\r\n} from '../../models/tenants-permission.model';\r\nimport {\r\n ViewTenantsColumnSchemaDef,\r\n SortOrderBy,\r\n GetTenantsPayload,\r\n} from '../../models/table-column-schema-view-tenant-list.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateTenantApplicationComponent } from '../create-tenant-application/create-tenant-application.component';\r\n@Component({\r\n selector: 'ieeesa-view-tenants-list',\r\n templateUrl: './view-tenants-list.component.html',\r\n styleUrls: ['./view-tenants-list.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule, DataTableComponent],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ViewTenantsListComponent implements OnInit, OnDestroy {\r\n destroy$: Subject<boolean> = new Subject<boolean>();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = constants;\r\n viewTenantsConstants = this.constants?.viewTenants;\r\n isMobileView = false;\r\n @Input() tenantsPageInfo: {\r\n tenantsTitle: string;\r\n } = {\r\n tenantsTitle: '',\r\n };\r\n @Input() apiBaseURL = '';\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() routePaths!: TenantsRoutesConfig;\r\n @Input() userPermissions!: UserPermission[];\r\n @Input() defaultSortedColumn: string = ViewTenantsColumnSchemaDef.APP_ID;\r\n @Input() defaultColumnSortDirection = true;\r\n @Output() createTenant = new EventEmitter();\r\n @Output() viewTenantsDetails: EventEmitter<TenantInfo> =\r\n new EventEmitter<TenantInfo>();\r\n tableData!: TenantInfo[];\r\n columnSchema!: TableColumnSchema[];\r\n tableActions: TableActions = {\r\n isPaginationNeeded: true,\r\n };\r\n tableColumns = this.viewTenantsConstants?.tableColumns;\r\n emptyFieldValueReplacedBy =\r\n this.viewTenantsConstants?.emptyFieldValueReplacedBy;\r\n paginatorConfig: PaginatorConfig = {\r\n recordsPerPage: this.viewTenantsConstants?.pageSizeOptions?.[0],\r\n pageSizeOptions: this.viewTenantsConstants.pageSizeOptions,\r\n totalRecords: 0,\r\n };\r\n userTenantsPermissions!: TenantsPermissions[];\r\n permissionType = PermissionType;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dialogRef: any;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n createTenantScreenTexts: any = this.constants?.createTenant;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n public dialog: MatDialog,\r\n // eslint-disable-next-line no-unused-vars\r\n public alertService: AlertsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private breakpointObserverService: BreakpointObserverService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantApplicationsService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n private router: Router\r\n ) {\r\n this.breakpointObserverService\r\n .getBreakpoint()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { matches: boolean }) => {\r\n this.isMobileView = result.matches;\r\n });\r\n }\r\n\r\n /**\r\n * Sets the user permissions, router config path, base API URL, table column schema and gets the tenants list.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n ngOnInit(): void {\r\n this.userTenantsPermissions =\r\n this.tenantApplicationsService?.filterPermission(this.userPermissions);\r\n this.tenantApplicationsService?.setAppConfig(\r\n this.apiBaseURL,\r\n this.userPermissions\r\n );\r\n this.tenantsPageInfo = {\r\n tenantsTitle: this.viewTenantsConstants?.tenantsTitle,\r\n };\r\n this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;\r\n this.sharedService?.setRoutePaths(this.routePaths);\r\n this.configureTableInfo();\r\n this.defaultSortedColumn = this.columnSchema[0].columnDef;\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: ViewTenantsColumnSchemaDef.APP_ID,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n }\r\n /**\r\n * Validates permission based access for provided feature.\r\n * @param {PermissionType} permissionType\r\n * @return {boolean}\r\n * @memberof ViewTenantsListComponent\r\n */\r\n validateAccess(permissionType: PermissionType): boolean {\r\n return this.tenantApplicationsService.validateAccess(\r\n permissionType,\r\n this.userTenantsPermissions\r\n );\r\n }\r\n /**\r\n * Configures table schema to display the tenants in table view.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n configureTableInfo(): void {\r\n this.columnSchema = [\r\n {\r\n id: 1,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_ID,\r\n heading: this.tableColumns?.appId,\r\n columnType: TableColumnType.LINK,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) => `${element.appId}`,\r\n isSortableColumn: true,\r\n },\r\n {\r\n id: 2,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_TITLE,\r\n heading: this.tableColumns?.appTitle,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.appTitle ?? this.emptyFieldValueReplacedBy}`,\r\n isSortableColumn: true,\r\n },\r\n {\r\n id: 3,\r\n columnDef: ViewTenantsColumnSchemaDef.APP_DESCRIPTION,\r\n heading: this.tableColumns?.appDescription,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.appDescription ?? this.emptyFieldValueReplacedBy}`,\r\n },\r\n\r\n {\r\n id: 4,\r\n columnDef: ViewTenantsColumnSchemaDef.FEATURES,\r\n heading: this.tableColumns?.features,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${\r\n element?.features && element?.features?.length > 0\r\n ? this.formatFeaturesName(element?.features)\r\n : this.emptyFieldValueReplacedBy\r\n }`,\r\n },\r\n {\r\n id: 5,\r\n columnDef: ViewTenantsColumnSchemaDef.STATUS,\r\n heading: this.tableColumns?.status,\r\n columnType: TableColumnType.TEXT,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cellData: (element: any) =>\r\n `${element.status ? TenantStatus.ACTIVE : TenantStatus.INACTIVE}`,\r\n },\r\n ];\r\n }\r\n\r\n /**\r\n * Format the features name in to single sentence with comma separated.\r\n * @memberof ViewTenantsListComponent\r\n */\r\n formatFeaturesName(features: FeatureInfo[]): string {\r\n return features\r\n .map((feature: FeatureInfo) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n return feature.featureName;\r\n })\r\n ?.join(', ');\r\n }\r\n /**\r\n * Fetching details of tenants and initialize table view\r\n * @param {GetTenantsPayload} payload\r\n * @memberof ViewTenantsListComponent\r\n */\r\n getTenantsAndInitializeTableView(payload: GetTenantsPayload): void {\r\n this.tenantApplicationsService\r\n .getTenantsList(payload)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response) => {\r\n this.tableData = response?.body?.appDetails as TenantInfo[];\r\n this.paginatorConfig.totalRecords = response?.body\r\n ?.totalRecords as number;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error: (error: any) => {\r\n this.sharedService.handleErrors(error, this.constants?.errors);\r\n },\r\n });\r\n }\r\n /**\r\n * Sets the dialog options for create tenant modal and calls openModal method.\r\n * @return -returns nothing\r\n * @memberof ViewTenantsListComponent\r\n */\r\n openCreateTenantForm(): void {\r\n const dialogOptions = {\r\n heading: this.viewTenantsConstants?.addTenant,\r\n isCloseNeeded: true,\r\n componentReference: CreateTenantApplicationComponent,\r\n modalType: ModalType.FORM,\r\n };\r\n this.openModal(dialogOptions, 'ieeesa-create-tenant');\r\n }\r\n /**\r\n * Opens modal component with received params and handles form submission success and errors.\r\n * @param {*} dialogOptions\r\n * @param {string} [className]\r\n * @return -returns nothing\r\n * @memberof ViewTenantsListComponent\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-inferrable-types, no-unused-vars\r\n openModal(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dialogOptions: any,\r\n className?: string\r\n ): void {\r\n className = className ?? '';\r\n this.dialogRef = this.dialog?.open(ModalComponent, {\r\n data: dialogOptions,\r\n width: '',\r\n panelClass: ['ieeesa-modal-dialog', className],\r\n ariaModal: true,\r\n });\r\n this.dialogRef?.componentInstance?.submitFormResponse\r\n .pipe(takeUntil(this.destroy$))\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-unused-vars\r\n .subscribe((result: any) => {\r\n this.dialogRef?.close();\r\n const appTitle =\r\n this.tenantApplicationsService.getTenantBasicInfo?.appTitle;\r\n this.sharedService.showAlertMessage(\r\n AlertType?.SUCCESS,\r\n `${appTitle} ${this.createTenantScreenTexts?.message?.success?.submission}`\r\n );\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: ViewTenantsColumnSchemaDef.APP_ID,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n });\r\n this.dialogRef?.componentInstance?.formCancel\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.dialogRef?.close();\r\n });\r\n }\r\n /**\r\n * Sorts the tenants by application id or title in ascending or descending.\r\n * @param {Sort} sort\r\n * @memberof ViewTenantsListComponent\r\n */\r\n onSortTenants(sort: Sort): void {\r\n this.defaultSortedColumn = sort.active;\r\n this.defaultColumnSortDirection =\r\n sort.direction === TableColumnSortDirection.ASCENDING;\r\n const payload: GetTenantsPayload = {\r\n payload: {\r\n offset: 0,\r\n pageSize: this.paginatorConfig?.recordsPerPage,\r\n sortedBy: this.defaultSortedColumn,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n };\r\n this.getTenantsAndInitializeTableView(payload);\r\n }\r\n\r\n /**\r\n * Returning sorting order according to column definition\r\n * @param defaultColumnSortDirection\r\n * @returns SortOrderBy.ASC | SortOrderBy.DESC\r\n */\r\n filterSortedOrderBy(defaultColumnSortDirection: boolean): string {\r\n return defaultColumnSortDirection ? SortOrderBy.ASC : SortOrderBy.DESC;\r\n }\r\n /**\r\n * Get the the records according to pagination\r\n * @param {{\r\n * pageOffset: number;\r\n * pageLimit: number;\r\n * }} pageEvent\r\n * @memberof ViewTenantsListComponent\r\n */\r\n onTablePaginationChange(pageEvent: PageEvent): void {\r\n this.getTenantsAndInitializeTableView({\r\n payload: {\r\n offset: pageEvent.pageIndex,\r\n pageSize: pageEvent.pageSize,\r\n sortedBy: this.defaultSortedColumn,\r\n sortedOrderBy: this.filterSortedOrderBy(\r\n this.defaultColumnSortDirection\r\n ),\r\n },\r\n });\r\n }\r\n /**\r\n * Navigates to view tenants detail component\r\n * @memberof ViewTenantsListComponent\r\n */\r\n navigateToViewTenantDetails(tenantInfo: TenantInfo): void {\r\n if (tenantInfo) {\r\n this.tenantApplicationsService.setSelectedTenantInformation(tenantInfo);\r\n }\r\n if (this.routePaths?.viewTenantDetails)\r\n this.router.navigate([this.routePaths?.viewTenantDetails]);\r\n else this.viewTenantsDetails.emit(tenantInfo);\r\n }\r\n /**\r\n * NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.\r\n * @memberof ViewTenantsListComponent\r\n * @return -returns nothing\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.unsubscribe();\r\n }\r\n}\r\n","<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n","export enum FeaturePermissionId {\r\n // eslint-disable-next-line no-unused-vars\r\n MEETINGS_AND_EVENTS = 'FEATURE_049753e8-ea5c-4fad-adb0-e1456e69c7a5',\r\n // eslint-disable-next-line no-unused-vars\r\n BALLOTS = 'FEATURE_a0ad3616-20dc-43da-813f-9b76d33f227a',\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n BreakpointObserverService,\r\n GlobalErrorHandlerService,\r\n} from '@ieeesa-npm/utility';\r\nimport {\r\n AccordionComponent,\r\n AccordionInfo,\r\n SlideToggleComponent,\r\n} from '@ieeesa-npm/presentation';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport * as screenText from '../../assets/constants.json';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { TenantInfo, TenantDetailsResponse } from '../../models/tenants.model';\r\nimport { TenantApplicationsService } from '../../services/tenant-applications.service';\r\nimport { UserPermission } from '../../models/tenants-permission.model';\r\nimport { SharedService } from '@ieeesa-npm/shared';\r\nimport { TenantsRoutesConfig } from '../../models/route-config.model';\r\nimport { Features } from '../../models/features.model';\r\nimport { FeaturePermissionId } from '../../models/feature-permission-id.model';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'ieeesa-view-tenant-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SlideToggleComponent,\r\n AccordionComponent,\r\n MatDividerModule,\r\n ],\r\n templateUrl: './view-tenant-details.component.html',\r\n styleUrls: ['./view-tenant-details.component.scss'],\r\n})\r\nexport class ViewTenantDetailsComponent implements OnInit, OnDestroy {\r\n destroy$: Subject<boolean> = new Subject<boolean>();\r\n @Input() apiBaseURL!: string;\r\n @Input() userPermissions!: UserPermission[];\r\n @Input() routePaths!: TenantsRoutesConfig;\r\n isMobileView = false;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n constants: any = screenText;\r\n tenantLabels = this.constants?.viewTenants?.label;\r\n slideToggleOption = {\r\n id: 1,\r\n label: this.constants?.viewTenants?.label?.active,\r\n checked: true,\r\n disabled: false,\r\n };\r\n tenantDetails!: TenantInfo;\r\n accordionInfoList: AccordionInfo[] = this.constants?.TenantAccordionInfo;\r\n viewTenantsRouteUrl!: string;\r\n constructor(\r\n // eslint-disable-next-line no-unused-vars\r\n private breakpointObserverService: BreakpointObserverService,\r\n // eslint-disable-next-line no-unused-vars\r\n private tenantAppService: TenantApplicationsService,\r\n // eslint-disable-next-line no-unused-vars\r\n public globalErrorHandlerService: GlobalErrorHandlerService,\r\n // eslint-disable-next-line no-unused-vars\r\n private sharedService: SharedService\r\n ) {\r\n this.breakpointObserverService\r\n .getBreakpoint()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { matches: boolean }) => {\r\n this.isMobileView = result?.matches;\r\n });\r\n }\r\n\r\n /**\r\n * Initializes view tenant details component.\r\n * @return -returns nothing\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n ngOnInit(): void {\r\n this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;\r\n this.viewTenantsRouteUrl = `/${this.routePaths?.viewTenants}`;\r\n this.tenantAppService?.setAppConfig(this.apiBaseURL, this.userPermissions);\r\n const appId = this.tenantAppService.getSelectedTenantInformation()\r\n ?.appId as string;\r\n this.getTenantDetails(appId);\r\n }\r\n\r\n /**\r\n * Gets the selected tenant details from server.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n getTenantDetails(appId: string): void {\r\n this.tenantAppService\r\n .getTenantDetails(appId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (response: TenantDetailsResponse) => {\r\n if (response?.status) {\r\n this.tenantDetails = response?.body as TenantInfo;\r\n this.slideToggleOption.checked = this.tenantDetails\r\n .status as boolean;\r\n this.slideToggleOption.label = this.tenantDetails.status\r\n ? this.tenantLabels?.active\r\n : this.tenantLabels?.inactive;\r\n const features = this.tenantDetails.features as Features[];\r\n features.map((feature: Features) => {\r\n if (\r\n feature?.featureId ===\r\n FeaturePermissionId.MEETINGS_AND_EVENTS ||\r\n feature?.featureId === FeaturePermissionId.BALLOTS\r\n )\r\n this.accordionInfoList.push({\r\n id: this.accordionInfoList.length + 1,\r\n isDisabled: false,\r\n title: feature?.featureName,\r\n });\r\n });\r\n }\r\n },\r\n error: (error) => {\r\n this.sharedService.handleErrors(error, this.constants?.errors);\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Keeps track of the accordion based on the element's ID in DOM tree.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n trackByAccordionFn(index: number, item: AccordionInfo): number {\r\n return item?.id as number;\r\n }\r\n /**\r\n * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.\r\n * @memberof ViewTenantDetailsComponent\r\n */\r\n ngOnDestroy(): void {\r\n this.destroy$?.next(true);\r\n this.destroy$?.unsubscribe();\r\n }\r\n}\r\n","<div\r\n class=\"ieeesa-view-tenant-info px-4 pb-4\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--bg-white'\r\n : 'ieeesa-view-tenant-info--bg-blue'\r\n \"\r\n>\r\n <div\r\n class=\"d-flex justify-content-between gap-lg-4 gap-md-3 gap-sm-2 gap-3 pb-3\"\r\n [ngClass]=\"isMobileView ? 'flex-column gap-2' : 'align-item-center'\"\r\n >\r\n <div\r\n class=\"d-flex gap-lg-4 gap-md-3 gap-sm-3 gap-3 ps-0 align-items-md-center align-items-xl-center\"\r\n [ngClass]=\"\r\n isMobileView ? 'flex-column' : ''\r\n \"\r\n >\r\n <p\r\n class=\"mb-0 ieeesa-headline-lg-32\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--title'\"\r\n >\r\n {{ tenantDetails?.appTitle }}\r\n </p>\r\n <div class=\"d-flex gap-lg-2 gap-md-2 gap-sm-2 gap-2\">\r\n <span\r\n class=\"mb-0 ieeesa-title-sm-14 mt-1\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'ieeesa-view-tenant-info--app-id'\"\r\n >\r\n {{ tenantLabels?.appId }}:\r\n </span>\r\n {{ tenantDetails?.appId }}\r\n <ng-container *ngIf=\"tenantDetails?.appId !== tenantLabels?.saAppId\">\r\n <mat-divider [vertical]=\"true\"></mat-divider>\r\n <span\r\n class=\"mb-0 mt-1 ieeesa-title-sm-14 ieeesa-view-tenant-info--app-status\"\r\n [ngClass]=\"isMobileView ? 'p-0' : ''\"\r\n >\r\n {{ tenantLabels?.status }}:\r\n </span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"slideToggleOption\"\r\n ></ieeesa-slide-toggle>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <a\r\n class=\"ieeesa-btn-label-lg-bold-16 text-decoration-none mt-lg-3 mt-xl-6 p-sm-0 p-md-0\"\r\n href=\"javascript:void(0)\"\r\n rel=\"noopener noreferrer\"\r\n [routerLink]=\"viewTenantsRouteUrl\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--link'\"\r\n >{{ tenantLabels?.viewAllApps }}</a\r\n >\r\n </div>\r\n <div\r\n class=\"ieeesa-view-tenant-info__accordion ieeesa-view-tenant-info__accordion--blue-bg\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-view-tenant-info__accordion--info' : ''\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let accordionInfo of accordionInfoList;\r\n trackBy: trackByAccordionFn\r\n \"\r\n >\r\n <ieeesa-accordion [accordionInfo]=\"accordionInfo\"> </ieeesa-accordion>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","/* eslint-disable no-empty-function */\r\nimport { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n@Component({\r\n selector: 'ieeesa-tenant-applications',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule],\r\n templateUrl: './tenant-applications.component.html',\r\n styleUrls: ['./tenant-applications.component.scss'],\r\n})\r\nexport class TenantApplicationsComponent {}\r\n","","/* eslint-disable no-unused-vars */\r\nexport enum AppType {\r\n GENERIC = 'Generic',\r\n STANDALONE = 'Standalone'\r\n}","import { NgModule } from '@angular/core';\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [],\r\n exports: [],\r\n})\r\nexport class TenantApplicationsModule {}\r\n","/*\r\n * Public API Surface of tenants\r\n */\r\nexport * from './lib/components/view-tenants-list/view-tenants-list.component';\r\nexport * from './lib/components/view-tenant-details/view-tenant-details.component';\r\nexport * from './lib/components/create-tenant-application/create-tenant-application.component';\r\nexport * from './lib/tenant-applications.component';\r\n\r\nexport * from './lib/models/app-type-config.model';\r\nexport * from './lib/models/app-type.model';\r\nexport * from './lib/models/tenant.model';\r\nexport * from './lib/models/tenants.model';\r\nexport * from './lib/models/features.model';\r\nexport * from './lib/models/form-status.model';\r\nexport * from './lib/models/permission-type.model';\r\nexport * from './lib/models/tenants-permission.model';\r\nexport * from './lib/models/route-config.model';\r\nexport * from './lib/models/table-column-schema-view-tenant-list.model';\r\n\r\nexport * from './lib/services/tenant-applications.service';\r\nexport * from './lib/services/tenant-permissions-map.service';\r\nexport * from './lib/services/tenant-permissions.service';\r\n\r\nexport * from './lib/assets/tenant-validations';\r\n\r\nexport * from './lib/tenant-applications.module';\r\nexport * from './lib/models/feature-permission-id.model';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["screenTexts?.errors","screenTexts?.createTenant","i2.TenantPermissionsService","i3.TenantPermissionsMapService","screenTexts","i1","i2.TenantApplicationsService","constants","i2","i4.TenantApplicationsService","i6"],"mappings":"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"}
|
|
@@ -36,11 +36,6 @@ export declare class ViewTenantDetailsComponent implements OnInit, OnDestroy {
|
|
|
36
36
|
* @memberof ViewTenantDetailsComponent
|
|
37
37
|
*/
|
|
38
38
|
ngOnInit(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Gets the list of features and construct the Accordion info based on the features (Meetings & Events, Ballots, etc.) configured for the selected tenant. Basic Details and Groups & Rosters by default configured for all tenants and associated accordion infos are predefined such as Roles & Permissions and Group Types.
|
|
41
|
-
* @memberof ViewTenantDetailsComponent
|
|
42
|
-
*/
|
|
43
|
-
getFeatures(): void;
|
|
44
39
|
/**
|
|
45
40
|
* Gets the selected tenant details from server.
|
|
46
41
|
* @memberof ViewTenantDetailsComponent
|