@eo-sdk/client 11.2.2 → 11.4.0-rc.2
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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +2 -0
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
- package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
- package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +4 -1
- package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
- package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts.map +1 -1
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +5 -0
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +13 -10
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/util/services/utilities.service.d.ts +57 -193
- package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +14 -0
- package/assets/_default/i18n/en.json +14 -0
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +8 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +8 -8
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +2 -2
- package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +4 -3
- package/esm2022/app/eo-client/settings/settings.component.mjs +1 -1
- package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +9 -3
- package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +2 -2
- package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +6 -3
- package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +4 -1
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +2 -2
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +22 -9
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +36 -23
- package/esm2022/app/eo-framework/util/services/utilities.service.mjs +59 -2
- package/fesm2022/eo-sdk-client.mjs +150 -50
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -99,6 +99,9 @@ export class ColumnConfiguratorComponent {
|
|
|
99
99
|
modified: i !== index || (field.confmeta.sort || '') !== (sort || '') || !!field.confmeta.alignmentx } };
|
|
100
100
|
});
|
|
101
101
|
this.availableFields = res.available.elements.filter((col) => {
|
|
102
|
+
if (!this.configType?.maxFiles && col.qname.startsWith('sysdocument')) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
102
105
|
return !this.currentFields.find((c) => c.qname === col.qname);
|
|
103
106
|
}).map(el => {
|
|
104
107
|
el.confmeta = { modified: !!this.originalFields.find((c) => c.qname === el.qname) };
|
|
@@ -208,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
208
211
|
}], eoGrid: [{
|
|
209
212
|
type: Input
|
|
210
213
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQW5OVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsaTlHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gIXRoaXMuY3VycmVudEZpZWxkcy5maW5kKChjOiBhbnkpID0+IGMucW5hbWUgPT09IGNvbC5xbmFtZSk7XG4gICAgICAgIH0pLm1hcChlbCA9PiB7XG4gICAgICAgICAgZWwuY29uZm1ldGEgPSB7bW9kaWZpZWQ6ICEhdGhpcy5vcmlnaW5hbEZpZWxkcy5maW5kKChjOiBhbnkpID0+IGMucW5hbWUgPT09IGVsLnFuYW1lKX07XG4gICAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgICB9KS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgaW5mbyBvYmplY3QgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciBpbmRpY2F0aW5nIHdoYXQgcGFydGljdWxhciByZXN1bHQgbGlzdFxuICAgKiBpcyBnb2luZyB0byBiZSBjb25maWd1cmVkLiBJZiBub25lIG9mIHRoZSBwYXJhbXMgaXMgcHJvdmlkZWQsIHdlIGdvdCBhIGdlbmVyYWwgZnVsbHRleHQgcmVzdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gW3R5cGVdIC0gdGhlIGNvbmZpZ3VyYXRpb25zIHRhcmdldCBvYmplY3QgdHlwZVxuICAgKiBAcGFyYW0gW2NvbnRleHRdIC0gdGhlIGNvbnRleHQgb2JqZWN0IHR5cGVcbiAgICovXG4gIGNyZWF0ZUNvbmZpZ0luZm8odHlwZSwgY29udGV4dCkge1xuICAgIGlmICh0eXBlICYmIHR5cGUubGFiZWwgJiYgY29udGV4dCkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdlby5jb2x1bW4uY29uZmlnLmluZm8udHlwZS5jb250ZXh0Jywge1xuICAgICAgICB0eXBlOiB0eXBlLmxhYmVsLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LmxhYmVsXG4gICAgICB9KS5zdWJzY3JpYmUodGV4dCA9PiB0aGlzLmluZm8gPSB0ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgJiYgdHlwZS5sYWJlbCkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdlby5jb2x1bW4uY29uZmlnLmluZm8udHlwZScsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLmZ1bGx0ZXh0Jykuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgbWFya0l0ZW0oZmllbGQsIGdyb3VwKSB7XG4gICAgaWYgKGZpZWxkICYmIGdyb3VwKSB7XG4gICAgICBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55PiwgZ3JvdXA6ICdjdXJyZW50JyB8ICdhdmFpbGFibGUnKSB7XG4gICAgdHJhbnNmZXJBcnJheUl0ZW0oZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSwgZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5tYXJrSXRlbShldmVudC5pdGVtLmRhdGEsIGdyb3VwKTtcbiAgfVxuXG4gIHRvZ2dsZUNvbmZpZ01vZGUocmVmcmVzaCA9IGZhbHNlKSB7XG4gICAgdGhpcy5vbkNvbmZpZ0NoYW5nZWQuZW1pdChyZWZyZXNoKTtcbiAgfVxuXG4gIHRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMubWFya0l0ZW0oaXRlbSwgJ2N1cnJlbnQnKTtcbiAgfVxuXG4gIHRvZ2dsZVNvcnQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaWYgKCFpdGVtLmNvbmZtZXRhLnNvcnQpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdhc2MnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5zb3J0ID09PSAnYXNjJykge1xuICAgICAgaXRlbS5jb25mbWV0YS5zb3J0ID0gJ2Rlc2MnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5zb3J0ID09PSAnZGVzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWxpZ25tZW50KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAncmlnaHQnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnY2VudGVyJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcicpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9ICdsZWZ0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2xlZnQnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRvZ2dsZUdyb3VwKGl0ZW0sICRldmVudCkge1xuICAvLyAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAvLyAgIGl0ZW0uY29uZm1ldGEuZ3JvdXAgPSAhaXRlbS5jb25mbWV0YS5ncm91cDtcbiAgLy8gfVxuXG4gIHRvZ2dsZVBpbm5lZChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpdGVtLmNvbmZtZXRhLnBpbm5lZCA9ICFpdGVtLmNvbmZtZXRhLnBpbm5lZDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnZpc2libGUgJiYgKGNoYW5nZXMuY29uZmlnVHlwZSB8fCBjaGFuZ2VzLmNvbmZpZ0NvbnRleHQpKSB7XG4gICAgICB0aGlzLmluaXRDb25maWcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJhdG9yXCI+XG5cbiAgPGRpdiBjbGFzcz1cImJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLnRpdGxlPC9kaXY+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicmVzZXREZWZhdWx0KClcIiAqbmdJZj1cIiFpc0RlZmF1bHRDb25maWdcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24ucmVzZXRkZWZhdWx0PC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlQ29uZmlnTW9kZSgpXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLmNsb3NlPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUNvbmZpZyh0cnVlKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgKm5nSWY9XCJoYXNQcml2aWxlZ2VcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24uc2F2ZS5kZWZhdWx0PC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUNvbmZpZygpXCIgY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmllbGRzPy5sZW5ndGhcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24uc2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiaW5mb1wiICpuZ0lmPVwiaW5mb1wiPnt7aW5mb319PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbi1jb25maWdcIiBjZGtEcm9wTGlzdEdyb3VwPlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGN1cnJlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkbGluZVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmhlYWRsaW5lLmN1cnJlbnQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsICdjdXJyZW50JylcIiBbY2RrRHJvcExpc3REYXRhXT1cImN1cnJlbnRGaWVsZHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBjZGtEcmFnSGFuZGxlIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGN1cnJlbnRGaWVsZHM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIiBbbmdDbGFzc109XCJ7bW9kaWZpZWQ6IGZpZWxkLmNvbmZtZXRhLm1vZGlmaWVkLCBzZmU6IGZpZWxkLnNlbGVjdGVkZm9yZW5yaWNobWVudH1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtuZ0NsYXNzXT1cIntiYXNlcGFyYW06IGZpZWxkLmJhc2VwYXJhbWV0ZXJ9XCI+e3tmaWVsZC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLnBpbm5lZH1cIiAoY2xpY2spPVwidG9nZ2xlUGlubmVkKGZpZWxkLCAkZXZlbnQpXCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLnBpbm5lZDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJncm91cFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuZ3JvdXB9XCIgKGNsaWNrKT1cInRvZ2dsZUdyb3VwKGZpZWxkLCAkZXZlbnQpXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuZ3JvdXA8L2Rpdj4tLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0XCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5zb3J0LCBhc2M6IGZpZWxkLmNvbmZtZXRhLnNvcnQgPT09ICdhc2MnLCBkZXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnZGVzYycsIGRpc2FibGVkOiAhZmllbGQuc29ydGFibGV9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaWVsZC5zb3J0YWJsZSAmJiB0b2dnbGVTb3J0KGZpZWxkLCAkZXZlbnQpXCI+PHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5zb3J0PC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWdubWVudFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCwgbGVmdDogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgcmlnaHQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdyaWdodCcsIGNlbnRlcjogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcid9XCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFsaWdubWVudChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWxpZ25tZW50PC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcidcIiBjbGFzcz1cImNlbnRlci1zZWNvbmRcIiBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQU1BQUFEejBVNjVBQUFBR0ZCTVZFVUFBQUQvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNXNQRC9BQUFBQ0hSU1RsTUFBQUVuSzJ4d2lodjJlNk1BQUFBa1NVUkJWQWdkQmNHQkFRQWdETU1nbXZuL3pjSUdNTzZ4VUJIWElxTGtZa21RRGZBQkNIQUFPQ3QveFNZQUFBQUFTVVZPUks1Q1lJST1cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsZXIgYXZhaWxhYmxlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5hdmFpbGFibGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsICdhdmFpbGFibGUnKVwiIFtjZGtEcm9wTGlzdERhdGFdPVwiYXZhaWxhYmxlRmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBhdmFpbGFibGVGaWVsZHM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIiBbbmdDbGFzc109XCJ7bW9kaWZpZWQ6IGZpZWxkLmNvbmZtZXRhLm1vZGlmaWVkLCBzZmU6IGZpZWxkLnNlbGVjdGVkZm9yZW5yaWNobWVudH1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtuZ0NsYXNzXT1cIntiYXNlcGFyYW06IGZpZWxkLmJhc2VwYXJhbWV0ZXJ9XCI+e3tmaWVsZC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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TSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQXROVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsaTlHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnVHlwZT8ubWF4RmlsZXMgJiYgY29sLnFuYW1lLnN0YXJ0c1dpdGgoJ3N5c2RvY3VtZW50JykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBjb2wucW5hbWUpO1xuICAgICAgICB9KS5tYXAoZWwgPT4ge1xuICAgICAgICAgIGVsLmNvbmZtZXRhID0ge21vZGlmaWVkOiAhIXRoaXMub3JpZ2luYWxGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBlbC5xbmFtZSl9O1xuICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgfSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGluZm8gb2JqZWN0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW5kaWNhdGluZyB3aGF0IHBhcnRpY3VsYXIgcmVzdWx0IGxpc3RcbiAgICogaXMgZ29pbmcgdG8gYmUgY29uZmlndXJlZC4gSWYgbm9uZSBvZiB0aGUgcGFyYW1zIGlzIHByb3ZpZGVkLCB3ZSBnb3QgYSBnZW5lcmFsIGZ1bGx0ZXh0IHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIFt0eXBlXSAtIHRoZSBjb25maWd1cmF0aW9ucyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIFtjb250ZXh0XSAtIHRoZSBjb250ZXh0IG9iamVjdCB0eXBlXG4gICAqL1xuICBjcmVhdGVDb25maWdJbmZvKHR5cGUsIGNvbnRleHQpIHtcbiAgICBpZiAodHlwZSAmJiB0eXBlLmxhYmVsICYmIGNvbnRleHQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUuY29udGV4dCcsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbCxcbiAgICAgICAgY29udGV4dDogY29udGV4dC5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIGlmICh0eXBlICYmIHR5cGUubGFiZWwpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUnLCB7XG4gICAgICAgIHR5cGU6IHR5cGUubGFiZWxcbiAgICAgIH0pLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2VvLmNvbHVtbi5jb25maWcuaW5mby5mdWxsdGV4dCcpLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtJdGVtKGZpZWxkLCBncm91cCkge1xuICAgIGlmIChmaWVsZCAmJiBncm91cCkge1xuICAgICAgZmllbGQuY29uZm1ldGEubW9kaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4sIGdyb3VwOiAnY3VycmVudCcgfCAnYXZhaWxhYmxlJykge1xuICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMubWFya0l0ZW0oZXZlbnQuaXRlbS5kYXRhLCBncm91cCk7XG4gIH1cblxuICB0b2dnbGVDb25maWdNb2RlKHJlZnJlc2ggPSBmYWxzZSkge1xuICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQocmVmcmVzaCk7XG4gIH1cblxuICB0b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1hcmtJdGVtKGl0ZW0sICdjdXJyZW50Jyk7XG4gIH1cblxuICB0b2dnbGVTb3J0KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5zb3J0KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2FzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdkZXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUFsaWdubWVudChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpZiAoIWl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ3JpZ2h0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ2NlbnRlcic7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyB0b2dnbGVHcm91cChpdGVtLCAkZXZlbnQpIHtcbiAgLy8gICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgLy8gICBpdGVtLmNvbmZtZXRhLmdyb3VwID0gIWl0ZW0uY29uZm1ldGEuZ3JvdXA7XG4gIC8vIH1cblxuICB0b2dnbGVQaW5uZWQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaXRlbS5jb25mbWV0YS5waW5uZWQgPSAhaXRlbS5jb25mbWV0YS5waW5uZWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICYmIChjaGFuZ2VzLmNvbmZpZ1R5cGUgfHwgY2hhbmdlcy5jb25maWdDb250ZXh0KSkge1xuICAgICAgdGhpcy5pbml0Q29uZmlnKGZhbHNlKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyYXRvclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy50aXRsZTwvZGl2PlxuICAgIDxidXR0b24gKGNsaWNrKT1cInJlc2V0RGVmYXVsdCgpXCIgKm5nSWY9XCIhaXNEZWZhdWx0Q29uZmlnXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnJlc2V0ZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUNvbmZpZ01vZGUoKVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFjdGlvbi5jbG9zZTwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcodHJ1ZSlcIiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWVsZHM/Lmxlbmd0aFwiICpuZ0lmPVwiaGFzUHJpdmlsZWdlXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmUuZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcoKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImluZm9cIj57e2luZm99fTwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tY29uZmlnXCIgY2RrRHJvcExpc3RHcm91cD5cblxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBjdXJyZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5jdXJyZW50PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnY3VycmVudCcpXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJjdXJyZW50RmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjdXJyZW50RmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5waW5uZWR9XCIgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5waW5uZWQ8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmdyb3VwfVwiIChjbGljayk9XCJ0b2dnbGVHcm91cChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmdyb3VwPC9kaXY+LS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuc29ydCwgYXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnYXNjJywgZGVzYzogZmllbGQuY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnLCBkaXNhYmxlZDogIWZpZWxkLnNvcnRhYmxlfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmllbGQuc29ydGFibGUgJiYgdG9nZ2xlU29ydChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuc29ydDwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbm1lbnRcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsIGxlZnQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0JyxcbiAgICAgICAgICAgIHJpZ2h0OiBmaWVsZC5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnLCBjZW50ZXI6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInfVwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBbGlnbm1lbnQoZmllbGQsICRldmVudClcIj48c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFsaWdubWVudDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInXCIgY2xhc3M9XCJjZW50ZXItc2Vjb25kXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUdGQk1WRVVBQUFELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjVzUEQvQUFBQUNIUlNUbE1BQUFFbksyeHdpaHYyZTZNQUFBQWtTVVJCVkFnZEJjR0JBUUFnRE1NZ212bi96Y0lHTU82eFVCSFhJcUxrWWttUURmQUJDSEFBT0N0L3hTWUFBQUFBU1VWT1JLNUNZSUk9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGF2YWlsYWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRsaW5lXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuaGVhZGxpbmUuYXZhaWxhYmxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnYXZhaWxhYmxlJylcIiBbY2RrRHJvcExpc3REYXRhXT1cImF2YWlsYWJsZUZpZWxkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGNka0RyYWdIYW5kbGUgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZmllbGRcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgYXZhaWxhYmxlRmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -431,7 +431,7 @@ let InboxDetailsComponent = class InboxDetailsComponent {
|
|
|
431
431
|
ngAfterViewInit() {
|
|
432
432
|
}
|
|
433
433
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InboxDetailsComponent, deps: [{ token: i1.BpmService }, { token: i1.UserService }, { token: i1.InboxService }, { token: i2.SelectionService }, { token: i3.Router }, { token: i1.EventService }, { token: i1.ClipboardService }, { token: i1.TranslateService }, { token: i4.PendingChangesService }, { token: i1.NotificationsService }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
434
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: InboxDetailsComponent, selector: "eo-inbox-details", inputs: { plugins: "plugins", emptyState: "emptyState", applySelection: "applySelection", item: "item" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.processTitle ? workItem.processTitle : workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "isChangesTab", "diff"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: i14.ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "component", type: i15.DuetimeInfoComponent, selector: "eo-duetimeInfo", inputs: ["item"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
434
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: InboxDetailsComponent, selector: "eo-inbox-details", inputs: { plugins: "plugins", emptyState: "emptyState", applySelection: "applySelection", item: "item" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.processTitle ? workItem.processTitle : workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: i14.ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "component", type: i15.DuetimeInfoComponent, selector: "eo-duetimeInfo", inputs: ["item"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
435
435
|
};
|
|
436
436
|
InboxDetailsComponent = __decorate([
|
|
437
437
|
UntilDestroy()
|