@churchillliving/se-ui-toolkit 6.54.356 → 6.54.357
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/base/report/report-Filter/report-filter/report-filter.component.mjs
CHANGED
|
@@ -43,12 +43,19 @@ export class ReportFilterComponent {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
createDynamicFields() {
|
|
46
|
+
const currentUser = this.authenticationService.getUserInfo();
|
|
46
47
|
const getReportByReport = '/ReportConfig/Report';
|
|
47
48
|
const getReportById = '/ReportConfig/ById';
|
|
48
49
|
const getReportByIdOrName = typeof (this.config.data?.getReport) === 'number' ? getReportById : getReportByReport;
|
|
49
50
|
this.requestService.getOne(getReportByIdOrName, this.config.data?.getReport).subscribe((data) => {
|
|
50
51
|
this.reportJson = JSON.parse(data?.report);
|
|
51
52
|
this.formFields = this.reportJson?.FormFields;
|
|
53
|
+
this.formFields.find(field => {
|
|
54
|
+
if (field?.field === "userId") {
|
|
55
|
+
field.value = currentUser.username;
|
|
56
|
+
field.disabled = true;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
52
59
|
this.formFields = this.setReportFilterViewParameters(this.reportJson?.Parameters, this.formFields);
|
|
53
60
|
this.setParamFieldValue();
|
|
54
61
|
this.initializeForm();
|
|
@@ -66,6 +73,7 @@ export class ReportFilterComponent {
|
|
|
66
73
|
const index = formFields.findIndex((x) => x.field?.toLowerCase() === filter.field?.toLowerCase());
|
|
67
74
|
if (index > -1) {
|
|
68
75
|
formFields[index].label = filter.displayname;
|
|
76
|
+
console.log('filter.displayname: ', filter.displayname);
|
|
69
77
|
formFields[index].hidden = filter.hidden ? true : false;
|
|
70
78
|
}
|
|
71
79
|
});
|
|
@@ -246,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
246
254
|
}], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig, decorators: [{
|
|
247
255
|
type: Optional
|
|
248
256
|
}] }, { type: i2.RequestService }, { type: i3.AuthenticationService }, { type: i4.FormService }, { type: i5.GridService }, { type: i6.AlertService }]; } });
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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QUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO2lJQWxQVSxxQkFBcUI7cUhBQXJCLHFCQUFxQix3RENibEMsOElBT0E7OzJGRE1hLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVNmLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEVGb3JtQ29udHJvbCwgSUR5bmFtaWNGb3JtLCBJRm9ybUZpZWxkLCBJUmVwb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1yZXBvcnQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZHluYW1pY0Zvcm06IElEeW5hbWljRm9ybTtcbiAgZm9ybUZpZWxkczogSUZvcm1GaWVsZFtdID0gW107XG4gIHJlcG9ydEpzb246IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsIHByaXZhdGUgcmVxdWVzdFNlcnZpY2U6IFJlcXVlc3RTZXJ2aWNlLHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLCBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVEeW5hbWljRmllbGRzKCk7XG5cbiAgfVxuICBpbml0aWFsaXplRm9ybSgpIHtcbiAgICB0aGlzLmR5bmFtaWNGb3JtID0ge1xuICAgICAgZm9ybVNlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybUZpZWxkcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdEb3dubG9hZCcsXG4gICAgICAgICAgICAgIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5BRERfQlVUVE9OLFxuICAgICAgICAgICAgICBoaWRkZW46IHRoaXMuY29uZmlnPy5kYXRhPy5oaWRlR2VuZXJhdGVSZXBvcnRCdG4sXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkUmVwb3J0KCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdXG5cbiAgICB9XG4gIH1cbiAgY3JlYXRlRHluYW1pY0ZpZWxkcygpIHtcbiAgICBjb25zdCBnZXRSZXBvcnRCeVJlcG9ydCA9ICcvUmVwb3J0Q29uZmlnL1JlcG9ydCc7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlJZCA9ICcvUmVwb3J0Q29uZmlnL0J5SWQnO1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5SWRPck5hbWUgPSB0eXBlb2YgKHRoaXMuY29uZmlnLmRhdGE/LmdldFJlcG9ydCkgPT09ICdudW1iZXInID8gZ2V0UmVwb3J0QnlJZCA6IGdldFJlcG9ydEJ5UmVwb3J0XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXRPbmU8UmVzcG9uc2UsIGFueT4oZ2V0UmVwb3J0QnlJZE9yTmFtZSwgdGhpcy5jb25maWcuZGF0YT8uZ2V0UmVwb3J0KS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVwb3J0SnNvbiA9IEpTT04ucGFyc2UoZGF0YT8ucmVwb3J0KTtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzID0gdGhpcy5yZXBvcnRKc29uPy5Gb3JtRmllbGRzO1xuICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSB0aGlzLnNldFJlcG9ydEZpbHRlclZpZXdQYXJhbWV0ZXJzKHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycywgdGhpcy5mb3JtRmllbGRzKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbUZpZWxkVmFsdWUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICAvLyBzZXQgZHJvcGRvd24gZGF0YSBiYXNlZCBvbiBtYXRjaGVkIGZpZWxkLlxuICAgICAgICB0aGlzLnNldERyb3BEb3duRGF0YSh0aGlzLnJlcG9ydEpzb24pO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2V0UmVwb3J0RmlsdGVyVmlld1BhcmFtZXRlcnMoUGFyYW1ldGVyLCBmb3JtRmllbGRzKSB7XG4gICAgUGFyYW1ldGVyLmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgICBpZiAocGFyYW0/LmZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgcGFyYW0/LmZpbHRlcnM/LmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gZm9ybUZpZWxkcy5maW5kSW5kZXgoKHgpID0+IHguZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgZm9ybUZpZWxkc1tpbmRleF0ubGFiZWwgPSBmaWx0ZXIuZGlzcGxheW5hbWU7XG4gICAgICAgICAgICBmb3JtRmllbGRzW2luZGV4XS5oaWRkZW4gPSBmaWx0ZXIuaGlkZGVuID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGZvcm1GaWVsZHM7XG4gIH1cblxuICBzZXRQYXJhbUZpZWxkVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEgJiYgdGhpcy5jb25maWcuZGF0YS5wYXJhbT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb25maWcuZGF0YS5wYXJhbS5mb3JFYWNoKChwYXJhbTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKHBhcmFtKVswXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1GaWVsZHMuZmluZEluZGV4KChmb3JtRmllbGQpID0+IChmb3JtRmllbGQuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKSB8fCAoZm9ybUZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSAnQCcgKyBrZXkudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgIGlmIChpbmRleCA+IC0xICYmIGtleSkge1xuICAgICAgICAgIHRoaXMuZm9ybUZpZWxkc1tpbmRleF0udmFsdWUgPSBwYXJhbVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2Uge1xuICAgICAgICAvLyB0aGlzLmZvcm1GaWVsZHMucHVzaCh7IGZpZWxkOiBrZXksIGxhYmVsOiBrZXksIHZhbHVlOiBwYXJhbVtrZXldLCBjb2x1bW46IDQsIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5JTlBVVCB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RHJvcERvd25EYXRhKHJlcG9ydEpzb246IGFueSkge1xuICAgIHJlcG9ydEpzb24uUGFyYW1ldGVycz8uZm9yRWFjaCgocmVjb3JkOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZWNvcmQuaXN1bmlxdWVrZXkpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL0ZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogcmVjb3JkLmlzdW5pcXVla2V5LFxuICAgICAgICAgIGZpbHRlcnM6IHRoaXMuZ2V0RHJvcGRvd25GaWx0ZXJzKHJlY29yZClcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5zZXRGb3JtRmllbGRQcm9wKHRoaXMuZHluYW1pY0Zvcm0sIHJlY29yZC5wYXJhbW5hbWUsIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2RhdGEnLCB2YWx1ZTogcmVzcG9uc2UucmVjb3JkcyB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHJlY29yZC5wYXJhbXR5cGUgPT09IFwiRHJvcERvd25cIiAmJiByZWNvcmQucGFyYW12YWx1ZSkge1xuICAgICAgICBsZXQgcGFyYW1WYWx1ZSA9IHJlY29yZD8ucGFyYW12YWx1ZTtcbiAgICAgICAgaWYgKHBhcmFtVmFsdWUgJiYgcGFyYW1WYWx1ZS5pbmNsdWRlcygnLCcpKSB7XG4gICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5zZXRGb3JtRmllbGRQcm9wKHRoaXMuZHluYW1pY0Zvcm0sIHJlY29yZD8ucGFyYW1uYW1lLCBbXG4gICAgICAgICAgICB7IG5hbWU6ICdkYXRhJywgdmFsdWU6IHBhcmFtVmFsdWUuc3BsaXQoJywnKT8ubWFwKCh2YWx1ZSkgPT4gKHsgbGFiZWw6IHZhbHVlLCB2YWx1ZTogdmFsdWUgfSkpIH1cbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RHJvcGRvd25GaWx0ZXJzKFBhcmFtZXRlcjogYW55KSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIGNvbnN0IHBhcmFtRmlsdGVyID0gUGFyYW1ldGVyPy5maWx0ZXJzO1xuICAgIGxldCBhcnIgPSBbXTtcbiAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoRmlsdGVyID0gcGFyYW1GaWx0ZXI/LmZpbmQoKHgpID0+IHg/LmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgIGlmIChtYXRjaEZpbHRlciAmJiBtYXRjaEZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyPy5maWVsZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgYXJyLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKFBhcmFtZXRlcj8ucGFyYW10eXBlID09PSAnRHJvcERvd24nICYmIHBhcmFtRmlsdGVyPy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbUZpbHRlci5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgaWYgKCFhcnI/LnNvbWUob2JqID0+IG9iai5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IGZpbHRlci5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWx0ZXI/LnZhbHVlIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cblxuICBnZXRSZXBvcnRGaWx0ZXIoKSB7XG4gICAgbGV0IGFyciA9IFtdO1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoKVxuICAgIHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycz8uZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkgfHwgKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gJ0AnICsgcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkpXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBhcnIucHVzaChmaWx0ZXJzW2luZGV4XSlcbiAgICAgIH0gZWxzZSBpZiAocGFyYW0/LnBhcmFtdHlwZSAhPSAnRHJvcERvd24nKSB7XG4gICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IHBhcmFtPy5wYXJhbW5hbWU/LnJlcGxhY2UoJ0AnLCAnJyksIG1hdGNoTW9kZTogJ2VxdWFsJywgb3BlcmF0b3I6ICdhbmQnLCB2YWx1ZTogcGFyYW0ucGFyYW12YWx1ZSB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIGdldEZpbHRlcnMoKSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIHRoaXMuZHluYW1pY0Zvcm0/LmZvcm1TZWN0aW9ucz8uZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgc2VjdGlvbi5maWVsZHM/LmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC52YWx1ZSkge1xuICAgICAgICAgIGZpbHRlcnMucHVzaCh7IGZpZWxkOiBmaWVsZC5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWVsZC52YWx1ZSB9KTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG5cbiAgZG93bmxvYWRSZXBvcnQoKSB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0gdGhpcy5nZXRSZXBvcnRGaWx0ZXIoKTtcbiAgICBjb25zdCBmaWxlVHlwZSA9IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRUeXBlO1xuICAgIGlmIChmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLlRFWFQgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLkNTVikge1xuICAgICAgdGhpcy5kb3dubG9hZEN1c3RvbVJlcG9ydChmaWxlVHlwZSwgdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydE5hbWUsIGZpbHRlcnMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5nZXRQZGZSZXBvcnQoZmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGRmUmVwb3J0KGZpbHRlcnMpIHtcbiAgICBsZXQgcmVwSWRPYmo6IGFueTtcbiAgICBpZiAodHlwZW9mICh0aGlzLmNvbmZpZz8uZGF0YT8uZ2V0UmVwb3J0KSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJlcElkT2JqID0geyBJZDogdGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCwgZmlsdGVyczogZmlsdGVycywgUmVwb3J0SGVhZGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRGb290ZXIgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlcElkT2JqID0geyB1bmlxdWVLZXk6IHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEhlYWRlciwgUmVwb3J0Rm9vdGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0Rm9vdGVyIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmRvd25sb2FkKCcvUmVwb3J0L0dlbmVyYXRlJywgcmVwSWRPYmopXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZS5ib2R5XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3QmxvYik7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBhLmhyZWYgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGhlYWRlcj8uc3BsaXQoJ2ZpbGVuYW1lPScpPy5bMV0/LnNwbGl0KFwiO1wiKVswXT8ucmVwbGFjZUFsbCgvXFxcIi9nLCAnJyk7XG4gICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgICAgICAgYS5jbGljaygpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRvd25sb2FkQ3VzdG9tUmVwb3J0KHJlcG9ydFR5cGUsIHJlcG9ydE5hbWUsIGZpbHRlcnMpIHtcbiAgICB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SnNvbkRhdGE/LmZvckVhY2goKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhPy5kYXRhc291cmNlKSB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9NdWx0aUZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogZGF0YS5kYXRhc291cmNlLFxuICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnNcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVSZXBvcnQoKTtcbiAgICAgICAgICBjb25zdCByb3dzSW5mbyA9IHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHM7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFJvd3NJbmZvID0gdGhpcy5ncmlkU2VydmljZS5mb3JtYXREYXRlQ29sdW1uKHJvd3NJbmZvKTtcbiAgICAgICAgICBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzR3JpZEV4Y2VsRGF0YSA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHJvd3NJbmZvLmxlbmd0aCA+IDAgPyBPYmplY3Q/LmtleXMocmVzcG9uc2U/LnRhYmxlc1swXT8ucmVjb3Jkc1swXSkgOiBbXTtcbiAgICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZXhwb3J0RXhjZWwodXBkYXRlZFJvd3NJbmZvLCBjb2x1bW5zLCByZXBvcnROYW1lLCBpc0dyaWRFeGNlbERhdGEpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlQXNUZXh0RmlsZSh1cGRhdGVkUm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVEYXRhQXNDc3YodXBkYXRlZFJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVSZXBvcnQoKXtcbiAgICBsZXQgY3VycmVudFVzZXI6IGFueSA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJJbmZvKCk7XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9SZXBvcnRDb25maWcvUmVwb3J0VXNlclNldHRpbmcnLCB7XG4gICAgICBpc1J1blJlcG9ydDogdHJ1ZSxcbiAgICAgIGlzRmF2b3JpdGU6IGZhbHNlLFxuICAgICAgcmVwb3J0VW5pcXVlS2V5OiB0aGlzLmNvbmZpZz8uZGF0YT8udW5pcXVlS2V5LFxuICAgICAgdXNlcklkOiBjdXJyZW50VXNlcj8uaWQsXG4gICAgICByZXBvcnRJZDogMFxuICAgIH0pLnN1YnNjcmliZSgocmVzKSA9PiB7fSxcbiAgICAgKHsgZXJyb3IgfSkgPT4ge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0byB0ZXh0IChzdWItbWV0aG9kKVxuICAgKi9cbiAgc2F2ZUFzVGV4dEZpbGUocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlQXNUZXh0RmlsZShyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG5cbiAgfVxuXG4gIHNhdmVEYXRhQXNDc3Yocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogYW55KSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlRGF0YUFzQ3N2KHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgfVxuXG59XG4iLCI8c2UtZm9ybS11dGlsICBcbipuZ0lmPVwiZHluYW1pY0Zvcm1cIlxuW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4+XG48L3NlLWZvcm0tdXRpbD5cbiJdfQ==
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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LEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQ3ZCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFFBQWEsRUFBRSxVQUFrQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFeEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhLEVBQUUsVUFBZTtRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztpSUExUFUscUJBQXFCO3FIQUFyQixxQkFBcUIsd0RDYmxDLDhJQU9BOzsyRkRNYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFTZixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFRm9ybUNvbnRyb2wsIElEeW5hbWljRm9ybSwgSUZvcm1GaWVsZCwgSVJlcG9ydFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2UtcmVwb3J0LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIGZvcm1GaWVsZHM6IElGb3JtRmllbGRbXSA9IFtdO1xuICByZXBvcnRKc29uOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgY29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLCBwcml2YXRlIHJlcXVlc3RTZXJ2aWNlOiBSZXF1ZXN0U2VydmljZSxwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlRHluYW1pY0ZpZWxkcygpO1xuXG4gIH1cbiAgaW5pdGlhbGl6ZUZvcm0oKSB7XG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHtcbiAgICAgIGZvcm1TZWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAuLi50aGlzLmZvcm1GaWVsZHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRG93bmxvYWQnLFxuICAgICAgICAgICAgICBjb250cm9sOiBFRm9ybUNvbnRyb2wuQUREX0JVVFRPTixcbiAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbmZpZz8uZGF0YT8uaGlkZUdlbmVyYXRlUmVwb3J0QnRuLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFJlcG9ydCgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuXG4gICAgfVxuICB9XG4gIGNyZWF0ZUR5bmFtaWNGaWVsZHMoKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXI6IGFueSA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJJbmZvKCk7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlSZXBvcnQgPSAnL1JlcG9ydENvbmZpZy9SZXBvcnQnO1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5SWQgPSAnL1JlcG9ydENvbmZpZy9CeUlkJztcbiAgICBjb25zdCBnZXRSZXBvcnRCeUlkT3JOYW1lID0gdHlwZW9mICh0aGlzLmNvbmZpZy5kYXRhPy5nZXRSZXBvcnQpID09PSAnbnVtYmVyJyA/IGdldFJlcG9ydEJ5SWQgOiBnZXRSZXBvcnRCeVJlcG9ydFxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0T25lPFJlc3BvbnNlLCBhbnk+KGdldFJlcG9ydEJ5SWRPck5hbWUsIHRoaXMuY29uZmlnLmRhdGE/LmdldFJlcG9ydCkuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlcG9ydEpzb24gPSBKU09OLnBhcnNlKGRhdGE/LnJlcG9ydCk7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkcyA9IHRoaXMucmVwb3J0SnNvbj8uRm9ybUZpZWxkcztcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzLmZpbmQoZmllbGQgPT4ge1xuICAgICAgICAgIGlmIChmaWVsZD8uZmllbGQgPT09IFwidXNlcklkXCIpIHtcbiAgICAgICAgICAgIGZpZWxkLnZhbHVlID0gY3VycmVudFVzZXIudXNlcm5hbWU7XG4gICAgICAgICAgICBmaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzID0gdGhpcy5zZXRSZXBvcnRGaWx0ZXJWaWV3UGFyYW1ldGVycyh0aGlzLnJlcG9ydEpzb24/LlBhcmFtZXRlcnMsIHRoaXMuZm9ybUZpZWxkcyk7XG4gICAgICAgIHRoaXMuc2V0UGFyYW1GaWVsZFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICAgICAgLy8gc2V0IGRyb3Bkb3duIGRhdGEgYmFzZWQgb24gbWF0Y2hlZCBmaWVsZC5cbiAgICAgICAgdGhpcy5zZXREcm9wRG93bkRhdGEodGhpcy5yZXBvcnRKc29uKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHNldFJlcG9ydEZpbHRlclZpZXdQYXJhbWV0ZXJzKFBhcmFtZXRlciwgZm9ybUZpZWxkcykge1xuICAgIFBhcmFtZXRlci5mb3JFYWNoKChwYXJhbSkgPT4ge1xuICAgICAgaWYgKHBhcmFtPy5maWx0ZXJzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBhcmFtPy5maWx0ZXJzPy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGZvcm1GaWVsZHMuZmluZEluZGV4KCh4KSA9PiB4LmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGZvcm1GaWVsZHNbaW5kZXhdLmxhYmVsID0gZmlsdGVyLmRpc3BsYXluYW1lO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZpbHRlci5kaXNwbGF5bmFtZTogJywgZmlsdGVyLmRpc3BsYXluYW1lKTtcbiAgICAgICAgICAgIGZvcm1GaWVsZHNbaW5kZXhdLmhpZGRlbiA9IGZpbHRlci5oaWRkZW4gPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gZm9ybUZpZWxkcztcbiAgfVxuXG4gIHNldFBhcmFtRmllbGRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuZGF0YSAmJiB0aGlzLmNvbmZpZy5kYXRhLnBhcmFtPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbmZpZy5kYXRhLnBhcmFtLmZvckVhY2goKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMocGFyYW0pWzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZm9ybUZpZWxkcy5maW5kSW5kZXgoKGZvcm1GaWVsZCkgPT4gKGZvcm1GaWVsZC5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0ga2V5LnRvTG93ZXJDYXNlKCkpIHx8IChmb3JtRmllbGQuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09ICdAJyArIGtleS50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgaWYgKGluZGV4ID4gLTEgJiYga2V5KSB7XG4gICAgICAgICAgdGhpcy5mb3JtRmllbGRzW2luZGV4XS52YWx1ZSA9IHBhcmFtW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gZWxzZSB7XG4gICAgICAgIC8vIHRoaXMuZm9ybUZpZWxkcy5wdXNoKHsgZmllbGQ6IGtleSwgbGFiZWw6IGtleSwgdmFsdWU6IHBhcmFtW2tleV0sIGNvbHVtbjogNCwgY29udHJvbDogRUZvcm1Db250cm9sLklOUFVUIH0pO1xuICAgICAgICAvLyB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXREcm9wRG93bkRhdGEocmVwb3J0SnNvbjogYW55KSB7XG4gICAgcmVwb3J0SnNvbi5QYXJhbWV0ZXJzPy5mb3JFYWNoKChyZWNvcmQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlY29yZC5pc3VuaXF1ZWtleSkge1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmdldDxhbnlbXSwgYW55PignL0RhdGEvRmV0Y2gnLCB7XG4gICAgICAgICAgdW5pcXVlS2V5OiByZWNvcmQuaXN1bmlxdWVrZXksXG4gICAgICAgICAgZmlsdGVyczogdGhpcy5nZXREcm9wZG93bkZpbHRlcnMocmVjb3JkKVxuICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLnNldEZvcm1GaWVsZFByb3AodGhpcy5keW5hbWljRm9ybSwgcmVjb3JkLnBhcmFtbmFtZSwgW1xuICAgICAgICAgICAgeyBuYW1lOiAnZGF0YScsIHZhbHVlOiByZXNwb25zZS5yZWNvcmRzIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnBhcmFtdHlwZSA9PT0gXCJEcm9wRG93blwiICYmIHJlY29yZC5wYXJhbXZhbHVlKSB7XG4gICAgICAgIGxldCBwYXJhbVZhbHVlID0gcmVjb3JkPy5wYXJhbXZhbHVlO1xuICAgICAgICBpZiAocGFyYW1WYWx1ZSAmJiBwYXJhbVZhbHVlLmluY2x1ZGVzKCcsJykpIHtcbiAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLnNldEZvcm1GaWVsZFByb3AodGhpcy5keW5hbWljRm9ybSwgcmVjb3JkPy5wYXJhbW5hbWUsIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2RhdGEnLCB2YWx1ZTogcGFyYW1WYWx1ZS5zcGxpdCgnLCcpPy5tYXAoKHZhbHVlKSA9PiAoeyBsYWJlbDogdmFsdWUsIHZhbHVlOiB2YWx1ZSB9KSkgfVxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXREcm9wZG93bkZpbHRlcnMoUGFyYW1ldGVyOiBhbnkpIHtcbiAgICBsZXQgZmlsdGVyczogYW55ID0gW107XG4gICAgY29uc3QgcGFyYW1GaWx0ZXIgPSBQYXJhbWV0ZXI/LmZpbHRlcnM7XG4gICAgbGV0IGFyciA9IFtdO1xuICAgIGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoKTtcbiAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID4gMCkge1xuICAgICAgZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hGaWx0ZXIgPSBwYXJhbUZpbHRlcj8uZmluZCgoeCkgPT4geD8uZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgaWYgKG1hdGNoRmlsdGVyICYmIG1hdGNoRmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXI/LmZpZWxkLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBhcnIucHVzaChmaWx0ZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoUGFyYW1ldGVyPy5wYXJhbXR5cGUgPT09ICdEcm9wRG93bicgJiYgcGFyYW1GaWx0ZXI/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtRmlsdGVyLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICBpZiAoIWFycj8uc29tZShvYmogPT4gb2JqLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgYXJyLnB1c2goeyBmaWVsZDogZmlsdGVyLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpbHRlcj8udmFsdWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cblxuXG4gIGdldFJlcG9ydEZpbHRlcigpIHtcbiAgICBsZXQgYXJyID0gW107XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVycygpXG4gICAgdGhpcy5yZXBvcnRKc29uPy5QYXJhbWV0ZXJzPy5mb3JFYWNoKChwYXJhbSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXJzLmZpbmRJbmRleCgoZmlsdGVyKSA9PiAoZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBwYXJhbT8ucGFyYW1uYW1lPy50b0xvd2VyQ2FzZSgpKSB8fCAoZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSAnQCcgKyBwYXJhbT8ucGFyYW1uYW1lPy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGFyci5wdXNoKGZpbHRlcnNbaW5kZXhdKVxuICAgICAgfSBlbHNlIGlmIChwYXJhbT8ucGFyYW10eXBlICE9ICdEcm9wRG93bicpIHtcbiAgICAgICAgYXJyLnB1c2goeyBmaWVsZDogcGFyYW0/LnBhcmFtbmFtZT8ucmVwbGFjZSgnQCcsICcnKSwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBwYXJhbS5wYXJhbXZhbHVlIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgZ2V0RmlsdGVycygpIHtcbiAgICBsZXQgZmlsdGVyczogYW55ID0gW107XG4gICAgdGhpcy5keW5hbWljRm9ybT8uZm9ybVNlY3Rpb25zPy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBzZWN0aW9uLmZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkICYmIGZpZWxkLnZhbHVlKSB7XG4gICAgICAgICAgZmlsdGVycy5wdXNoKHsgZmllbGQ6IGZpZWxkLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpZWxkLnZhbHVlIH0pO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cblxuICBkb3dubG9hZFJlcG9ydCgpIHtcbiAgICBjb25zdCBmaWx0ZXJzOiBhbnkgPSB0aGlzLmdldFJlcG9ydEZpbHRlcigpO1xuICAgIGNvbnN0IGZpbGVUeXBlID0gdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydFR5cGU7XG4gICAgaWYgKGZpbGVUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuQ1NWKSB7XG4gICAgICB0aGlzLmRvd25sb2FkQ3VzdG9tUmVwb3J0KGZpbGVUeXBlLCB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0TmFtZSwgZmlsdGVycylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmdldFBkZlJlcG9ydChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBnZXRQZGZSZXBvcnQoZmlsdGVycykge1xuICAgIGxldCByZXBJZE9iajogYW55O1xuICAgIGlmICh0eXBlb2YgKHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQpID09PSAnbnVtYmVyJykge1xuICAgICAgcmVwSWRPYmogPSB7IElkOiB0aGlzLmNvbmZpZz8uZGF0YT8uZ2V0UmVwb3J0LCBmaWx0ZXJzOiBmaWx0ZXJzLCBSZXBvcnRIZWFkZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRIZWFkZXIsIFJlcG9ydEZvb3RlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEZvb3RlciB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVwSWRPYmogPSB7IHVuaXF1ZUtleTogdGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCwgZmlsdGVyczogZmlsdGVycywgUmVwb3J0SGVhZGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRGb290ZXIgfVxuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZG93bmxvYWQoJy9SZXBvcnQvR2VuZXJhdGUnLCByZXBJZE9iailcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHZhciBuZXdCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlLmJvZHldLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXdCbG9iKTtcbiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgIGEuaHJlZiA9IGRhdGE7XG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2U/LmhlYWRlcnM/LmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xuICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gaGVhZGVyPy5zcGxpdCgnZmlsZW5hbWU9Jyk/LlsxXT8uc3BsaXQoXCI7XCIpWzBdPy5yZXBsYWNlQWxsKC9cXFwiL2csICcnKTtcbiAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZG93bmxvYWRDdXN0b21SZXBvcnQocmVwb3J0VHlwZSwgcmVwb3J0TmFtZSwgZmlsdGVycykge1xuICAgIHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRKc29uRGF0YT8uZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGE/LmRhdGFzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL011bHRpRmV0Y2gnLCB7XG4gICAgICAgICAgdW5pcXVlS2V5OiBkYXRhLmRhdGFzb3VyY2UsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVJlcG9ydCgpO1xuICAgICAgICAgIGNvbnN0IHJvd3NJbmZvID0gcmVzcG9uc2U/LnRhYmxlc1swXT8ucmVjb3JkcztcbiAgICAgICAgICBjb25zdCB1cGRhdGVkUm93c0luZm8gPSB0aGlzLmdyaWRTZXJ2aWNlLmZvcm1hdERhdGVDb2x1bW4ocm93c0luZm8pO1xuICAgICAgICAgIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCkge1xuICAgICAgICAgICAgY29uc3QgaXNHcmlkRXhjZWxEYXRhID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gcm93c0luZm8ubGVuZ3RoID4gMCA/IE9iamVjdD8ua2V5cyhyZXNwb25zZT8udGFibGVzWzBdPy5yZWNvcmRzWzBdKSA6IFtdO1xuICAgICAgICAgICAgdGhpcy5ncmlkU2VydmljZS5leHBvcnRFeGNlbCh1cGRhdGVkUm93c0luZm8sIGNvbHVtbnMsIHJlcG9ydE5hbWUsIGlzR3JpZEV4Y2VsRGF0YSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVBc1RleHRGaWxlKHVwZGF0ZWRSb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZURhdGFBc0Nzdih1cGRhdGVkUm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZVJlcG9ydCgpe1xuICAgIGxldCBjdXJyZW50VXNlcjogYW55ID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0VXNlckluZm8oKTtcbiAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmdldDxhbnlbXSwgYW55PignL1JlcG9ydENvbmZpZy9SZXBvcnRVc2VyU2V0dGluZycsIHtcbiAgICAgIGlzUnVuUmVwb3J0OiB0cnVlLFxuICAgICAgaXNGYXZvcml0ZTogZmFsc2UsXG4gICAgICByZXBvcnRVbmlxdWVLZXk6IHRoaXMuY29uZmlnPy5kYXRhPy51bmlxdWVLZXksXG4gICAgICB1c2VySWQ6IGN1cnJlbnRVc2VyPy5pZCxcbiAgICAgIHJlcG9ydElkOiAwXG4gICAgfSkuc3Vic2NyaWJlKChyZXMpID0+IHt9LFxuICAgICAoeyBlcnJvciB9KSA9PiB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRvIHRleHQgKHN1Yi1tZXRob2QpXG4gICAqL1xuICBzYXZlQXNUZXh0RmlsZShyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVBc1RleHRGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcblxuICB9XG5cbiAgc2F2ZURhdGFBc0Nzdihyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBhbnkpIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVEYXRhQXNDc3Yocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICB9XG5cbn1cbiIsIjxzZS1mb3JtLXV0aWwgIFxuKm5nSWY9XCJkeW5hbWljRm9ybVwiXG5bZm9ybV09XCJkeW5hbWljRm9ybVwiXG5baGlkZVNhdmVCdXR0b25dPVwidHJ1ZVwiXG5baGlkZUNhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcbj5cbjwvc2UtZm9ybS11dGlsPlxuIl19
|
|
@@ -5677,12 +5677,19 @@ class ReportFilterComponent {
|
|
|
5677
5677
|
};
|
|
5678
5678
|
}
|
|
5679
5679
|
createDynamicFields() {
|
|
5680
|
+
const currentUser = this.authenticationService.getUserInfo();
|
|
5680
5681
|
const getReportByReport = '/ReportConfig/Report';
|
|
5681
5682
|
const getReportById = '/ReportConfig/ById';
|
|
5682
5683
|
const getReportByIdOrName = typeof (this.config.data?.getReport) === 'number' ? getReportById : getReportByReport;
|
|
5683
5684
|
this.requestService.getOne(getReportByIdOrName, this.config.data?.getReport).subscribe((data) => {
|
|
5684
5685
|
this.reportJson = JSON.parse(data?.report);
|
|
5685
5686
|
this.formFields = this.reportJson?.FormFields;
|
|
5687
|
+
this.formFields.find(field => {
|
|
5688
|
+
if (field?.field === "userId") {
|
|
5689
|
+
field.value = currentUser.username;
|
|
5690
|
+
field.disabled = true;
|
|
5691
|
+
}
|
|
5692
|
+
});
|
|
5686
5693
|
this.formFields = this.setReportFilterViewParameters(this.reportJson?.Parameters, this.formFields);
|
|
5687
5694
|
this.setParamFieldValue();
|
|
5688
5695
|
this.initializeForm();
|
|
@@ -5700,6 +5707,7 @@ class ReportFilterComponent {
|
|
|
5700
5707
|
const index = formFields.findIndex((x) => x.field?.toLowerCase() === filter.field?.toLowerCase());
|
|
5701
5708
|
if (index > -1) {
|
|
5702
5709
|
formFields[index].label = filter.displayname;
|
|
5710
|
+
console.log('filter.displayname: ', filter.displayname);
|
|
5703
5711
|
formFields[index].hidden = filter.hidden ? true : false;
|
|
5704
5712
|
}
|
|
5705
5713
|
});
|