@yuuvis/client-framework 0.7.3 → 0.8.0
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/actions/lib/components/contextmenu/contextmenu.component.mjs +2 -2
- package/esm2022/forms/index.mjs +5 -1
- package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +32 -32
- package/esm2022/forms/lib/elements/number/number.component.mjs +3 -3
- package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +3 -3
- package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +38 -0
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +181 -0
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +2 -0
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +98 -0
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +2 -0
- package/esm2022/forms/lib/elements/string/string.component.mjs +10 -3
- package/esm2022/list/lib/list.component.mjs +6 -4
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +3 -3
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +5 -3
- package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +3 -3
- package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +2 -2
- package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +2 -2
- package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-actions.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +339 -44
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +5 -3
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +6 -4
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/forms/index.d.ts +4 -0
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +2 -1
- package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +13 -0
- package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +33 -0
- package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +5 -0
- package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +28 -0
- package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +5 -0
- package/list/lib/list.component.d.ts +2 -1
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +1 -0
- package/package.json +28 -28
|
@@ -79,7 +79,7 @@ export class ObjectFlavorComponent {
|
|
|
79
79
|
this.hidden.set(this.applicableFlavors.length === 0 && this.appliedFlavors.length === 0);
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorComponent, isStandalone: true, selector: "yuv-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { flavorClick: "flavorClick" }, host: { properties: { "attr.aria-hidden": "hidden()", "class.busy": "busy()", "class.selection": "selectedIndex() > -1", "class.selectionDisabled": "disableSelection" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n\n@if (applicableFlavors.length) {\n <button class=\"add secondary\" title=\"{{ 'yuv.object-flavor.button.add' | translate }}\" (click)=\"startApplyFlavor()\">\n <yvc-icon [svg]=\"icons.add\"></yvc-icon>\n </button>\n}\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yvcDragScroll>\n @for (f of appliedFlavors; track $index) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button class=\"clear\" title=\"{{ 'yuv.object-flavor.button.clear-selection' | translate }}\" (click)=\"clearSelection()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n</button>\n\n@if (busy()) {\n <div class=\"yuv-loader-linear\"></div>\n}\n", styles: [":host{position:relative;display:flex;transition:opacity .1s ease-in-out}:host.selection yuv-list{border-inline-end:1px solid var(--panel-divider-color)}:host.selection button.clear{display:flex}:host .yuv-loader-linear{position:absolute;height:1px;inset-block-start:0}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host span.label{margin-inline:.5em;line-height:1em;color:var(--text-color-caption);align-self:center}:host button{flex:0 0 auto;padding:0 .15em;--icon-size: 18px}:host button.add{margin:2px}:host button.clear{--icon-size: var(--font-body);border-radius:0;color:var(--text-color-caption);padding-inline:.5em;display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host yuv-list{display:flex;flex:1;overflow-x:auto;--_list-item-border-color: transparent;--_list-item-selected-border-color: transparent;--scrollbar-outer-size: 0px;--scrollbar-inner-size: 0px;border-inline-start:1px solid var(--panel-divider-color)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: YvcDragScrollModule }, { kind: "directive", type: i1.DragScrollDirective, selector: "[yvcDragScroll]" }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorComponent, isStandalone: true, selector: "yuv-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { flavorClick: "flavorClick" }, host: { properties: { "attr.aria-hidden": "hidden()", "class.busy": "busy()", "class.selection": "selectedIndex() > -1", "class.selectionDisabled": "disableSelection" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n\n@if (applicableFlavors.length) {\n <button class=\"add secondary\" title=\"{{ 'yuv.object-flavor.button.add' | translate }}\" (click)=\"startApplyFlavor()\">\n <yvc-icon [svg]=\"icons.add\"></yvc-icon>\n </button>\n}\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yvcDragScroll>\n @for (f of appliedFlavors; track $index) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button class=\"clear\" title=\"{{ 'yuv.object-flavor.button.clear-selection' | translate }}\" (click)=\"clearSelection()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n</button>\n\n@if (busy()) {\n <div class=\"yuv-loader-linear\"></div>\n}\n", styles: [":host{position:relative;display:flex;transition:opacity .1s ease-in-out}:host.selection yuv-list{border-inline-end:1px solid var(--panel-divider-color)}:host.selection button.clear{display:flex}:host .yuv-loader-linear{position:absolute;height:1px;inset-block-start:0}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host span.label{margin-inline:.5em;line-height:1em;color:var(--text-color-caption);align-self:center}:host button{flex:0 0 auto;padding:0 .15em;--icon-size: 18px}:host button.add{margin:2px}:host button.clear{--icon-size: var(--font-body);border-radius:0;color:var(--text-color-caption);padding-inline:.5em;display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host yuv-list{display:flex;flex:1;overflow-x:auto;--_list-item-border-color: transparent;--_list-item-selected-border-color: transparent;--scrollbar-outer-size: 0px;--scrollbar-inner-size: 0px;border-inline-start:1px solid var(--panel-divider-color)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: YvcDragScrollModule }, { kind: "directive", type: i1.DragScrollDirective, selector: "[yvcDragScroll]" }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
83
83
|
}
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
90
90
|
'[class.selectionDisabled]': 'disableSelection'
|
|
91
91
|
}, template: "<span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n\n@if (applicableFlavors.length) {\n <button class=\"add secondary\" title=\"{{ 'yuv.object-flavor.button.add' | translate }}\" (click)=\"startApplyFlavor()\">\n <yvc-icon [svg]=\"icons.add\"></yvc-icon>\n </button>\n}\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yvcDragScroll>\n @for (f of appliedFlavors; track $index) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button class=\"clear\" title=\"{{ 'yuv.object-flavor.button.clear-selection' | translate }}\" (click)=\"clearSelection()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n</button>\n\n@if (busy()) {\n <div class=\"yuv-loader-linear\"></div>\n}\n", styles: [":host{position:relative;display:flex;transition:opacity .1s ease-in-out}:host.selection yuv-list{border-inline-end:1px solid var(--panel-divider-color)}:host.selection button.clear{display:flex}:host .yuv-loader-linear{position:absolute;height:1px;inset-block-start:0}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host span.label{margin-inline:.5em;line-height:1em;color:var(--text-color-caption);align-self:center}:host button{flex:0 0 auto;padding:0 .15em;--icon-size: 18px}:host button.add{margin:2px}:host button.clear{--icon-size: var(--font-body);border-radius:0;color:var(--text-color-caption);padding-inline:.5em;display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host yuv-list{display:flex;flex:1;overflow-x:auto;--_list-item-border-color: transparent;--_list-item-selected-border-color: transparent;--scrollbar-outer-size: 0px;--scrollbar-inner-size: 0px;border-inline-start:1px solid var(--panel-divider-color)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--panel-divider-color)}\n"] }]
|
|
92
92
|
}] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZsYXZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mbGF2b3Ivc3JjL2xpYi9vYmplY3QtZmxhdm9yL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixF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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBIb3N0QXR0cmlidXRlVG9rZW4sIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG1zT2JqZWN0LCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9saXN0JztcbmltcG9ydCB7IE9iamVjdEZsYXZvciwgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNEcmFnU2Nyb2xsTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2RyYWctc2Nyb2xsJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBGbGF2b3JDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vZmxhdm9yLWNoaXAvZmxhdm9yLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL29iamVjdC1mbGF2b3ItcGlja2VyL29iamVjdC1mbGF2b3ItcGlja2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZmxhdm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRmxhdm9yQ2hpcENvbXBvbmVudCwgWXZjRHJhZ1Njcm9sbE1vZHVsZSwgWXZjSWNvbk1vZHVsZSwgTGlzdEl0ZW1EaXJlY3RpdmUsIExpc3RDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdoaWRkZW4oKScsXG4gICAgJ1tjbGFzcy5idXN5XSc6ICdidXN5KCknLFxuICAgICdbY2xhc3Muc2VsZWN0aW9uXSc6ICdzZWxlY3RlZEluZGV4KCkgPiAtMScsXG4gICAgJ1tjbGFzcy5zZWxlY3Rpb25EaXNhYmxlZF0nOiAnZGlzYWJsZVNlbGVjdGlvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RGbGF2b3JDb21wb25lbnQge1xuICAjb3ZlcmxheSA9IGluamVjdChZdmNPdmVybGF5U2VydmljZSk7XG4gICNzaGVsbCA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIGxpc3QgPSB2aWV3Q2hpbGQoTGlzdENvbXBvbmVudCk7XG5cbiAgaWNvbnMgPSB7XG4gICAgYWRkOiBZVVZfSUNPTlMuYWRkLFxuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIGRtc09iamVjdCA9IGlucHV0LnJlcXVpcmVkPERtc09iamVjdD4oKTtcbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHVudHJhY2tlZCgoKSA9PiB0aGlzLiNnZXRBcHBsaWVkRmxhdm9ycyhvKSk7XG4gIH0pO1xuXG4gIGZsYXZvckNsaWNrID0gb3V0cHV0PE9iamVjdEZsYXZvcj4oKTtcblxuICBhcHBsaWVkRmxhdm9yczogT2JqZWN0Rmxhdm9yW10gPSBbXTtcbiAgYXBwbGljYWJsZUZsYXZvcnM6IE9iamVjdEZsYXZvcltdID0gW107XG5cbiAgaGlkZGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgc2VsZWN0ZWRJbmRleCA9IHNpZ25hbDxudW1iZXI+KC0xKTtcblxuICBkaXNhYmxlU2VsZWN0aW9uOiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdkaXNhYmxlU2VsZWN0aW9uJyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcblxuICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBsaXN0Q21wID0gdGhpcy5saXN0KCk7XG4gICAgaWYgKGxpc3RDbXApIGxpc3RDbXAuY2xlYXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXguc2V0KC0xKTtcbiAgfVxuXG4gIG9uSXRlbXNTZWxlY3QoaWR4OiBudW1iZXJbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoaWR4WzBdKTtcbiAgICB0aGlzLmZsYXZvckNsaWNrLmVtaXQodGhpcy5hcHBsaWVkRmxhdm9yc1tpZHhbMF1dKTtcbiAgfVxuXG4gIHN0YXJ0QXBwbHlGbGF2b3IoKSB7XG4gICAgdGhpcy4jb3ZlcmxheS5vcGVuKE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCwge1xuICAgICAgYXBwbGljYWJsZUZsYXZvcnM6IHRoaXMuYXBwbGljYWJsZUZsYXZvcnMsXG4gICAgICBkbXNPYmplY3Q6IHN0cnVjdHVyZWRDbG9uZSh0aGlzLmRtc09iamVjdCgpKVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRmxhdm9yKGZsYXZvcjogT2JqZWN0Rmxhdm9yLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHtcbiAgICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLiNzaGVsbC5yZW1vdmVPYmplY3RGbGF2b3IobywgZmxhdm9yKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgoKSB8fCAhdGhpcy5hcHBsaWVkRmxhdm9ycy5sZW5ndGgpIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBlcnJvciBoYW5kbGluZ1xuICAgICAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0QXBwbGllZEZsYXZvcnMoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICBjb25zdCByZXMgPSB0aGlzLiNzaGVsbC5nZXRBcHBsaWVkT2JqZWN0Rmxhdm9ycyhkbXNPYmplY3QpO1xuICAgIHRoaXMuYXBwbGllZEZsYXZvcnMgPSByZXMuYXBwbGllZDtcbiAgICB0aGlzLmFwcGxpY2FibGVGbGF2b3JzID0gcmVzLmFwcGxpY2FibGU7XG4gICAgdGhpcy5oaWRkZW4uc2V0KHRoaXMuYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoID09PSAwICYmIHRoaXMuYXBwbGllZEZsYXZvcnMubGVuZ3RoID09PSAwKTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7ICd5dXYub2JqZWN0LWZsYXZvci5sYWJlbCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cbkBpZiAoYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoKSB7XG4gIDxidXR0b24gY2xhc3M9XCJhZGQgc2Vjb25kYXJ5XCIgdGl0bGU9XCJ7eyAneXV2Lm9iamVjdC1mbGF2b3IuYnV0dG9uLmFkZCcgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwic3RhcnRBcHBseUZsYXZvcigpXCI+XG4gICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuYWRkXCI+PC95dmMtaWNvbj5cbiAgPC9idXR0b24+XG59XG5AaWYgKGFwcGxpZWRGbGF2b3JzLmxlbmd0aCkge1xuICA8eXV2LWxpc3QgaG9yaXpvbnRhbD1cInRydWVcIiBbZGlzYWJsZVNlbGVjdGlvbl09XCJkaXNhYmxlU2VsZWN0aW9uXCIgKGl0ZW1TZWxlY3QpPVwib25JdGVtc1NlbGVjdCgkZXZlbnQpXCIgeXZjRHJhZ1Njcm9sbD5cbiAgICBAZm9yIChmIG9mIGFwcGxpZWRGbGF2b3JzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDx5dXYtZmxhdm9yLWNoaXAgeXV2TGlzdEl0ZW0gW2ZsYXZvcl09XCJmXCIgW2VuYWJsZVJlbW92ZV09XCJ0cnVlXCIgKGZsYXZvclJlbW92ZSk9XCJyZW1vdmVGbGF2b3IoZiwgJGluZGV4KVwiPjwveXV2LWZsYXZvci1jaGlwPlxuICAgIH1cbiAgPC95dXYtbGlzdD5cbn1cbjxidXR0b24gY2xhc3M9XCJjbGVhclwiIHRpdGxlPVwie3sgJ3l1di5vYmplY3QtZmxhdm9yLmJ1dHRvbi5jbGVhci1zZWxlY3Rpb24nIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5cbiAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuPC9idXR0b24+XG5cbkBpZiAoYnVzeSgpKSB7XG4gIDxkaXYgY2xhc3M9XCJ5dXYtbG9hZGVyLWxpbmVhclwiPjwvZGl2PlxufVxuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZsYXZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mbGF2b3Ivc3JjL2xpYi9vYmplY3QtZmxhdm9yL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixF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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBIb3N0QXR0cmlidXRlVG9rZW4sIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG1zT2JqZWN0LCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9saXN0JztcbmltcG9ydCB7IE9iamVjdEZsYXZvciwgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNEcmFnU2Nyb2xsTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2RyYWctc2Nyb2xsJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBGbGF2b3JDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vZmxhdm9yLWNoaXAvZmxhdm9yLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL29iamVjdC1mbGF2b3ItcGlja2VyL29iamVjdC1mbGF2b3ItcGlja2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZmxhdm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRmxhdm9yQ2hpcENvbXBvbmVudCwgWXZjRHJhZ1Njcm9sbE1vZHVsZSwgWXZjSWNvbk1vZHVsZSwgTGlzdEl0ZW1EaXJlY3RpdmUsIExpc3RDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdoaWRkZW4oKScsXG4gICAgJ1tjbGFzcy5idXN5XSc6ICdidXN5KCknLFxuICAgICdbY2xhc3Muc2VsZWN0aW9uXSc6ICdzZWxlY3RlZEluZGV4KCkgPiAtMScsXG4gICAgJ1tjbGFzcy5zZWxlY3Rpb25EaXNhYmxlZF0nOiAnZGlzYWJsZVNlbGVjdGlvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RGbGF2b3JDb21wb25lbnQge1xuICAjb3ZlcmxheSA9IGluamVjdChZdmNPdmVybGF5U2VydmljZSk7XG4gICNzaGVsbCA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIGxpc3QgPSB2aWV3Q2hpbGQoTGlzdENvbXBvbmVudCk7XG5cbiAgaWNvbnMgPSB7XG4gICAgYWRkOiBZVVZfSUNPTlMuYWRkLFxuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIGRtc09iamVjdCA9IGlucHV0LnJlcXVpcmVkPERtc09iamVjdD4oKTtcbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHVudHJhY2tlZCgoKSA9PiB0aGlzLiNnZXRBcHBsaWVkRmxhdm9ycyhvKSk7XG4gIH0pO1xuXG4gIGZsYXZvckNsaWNrID0gb3V0cHV0PE9iamVjdEZsYXZvcj4oKTtcblxuICBhcHBsaWVkRmxhdm9yczogT2JqZWN0Rmxhdm9yW10gPSBbXTtcbiAgYXBwbGljYWJsZUZsYXZvcnM6IE9iamVjdEZsYXZvcltdID0gW107XG5cbiAgaGlkZGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgc2VsZWN0ZWRJbmRleCA9IHNpZ25hbDxudW1iZXI+KC0xKTtcblxuICBkaXNhYmxlU2VsZWN0aW9uOiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdkaXNhYmxlU2VsZWN0aW9uJyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcblxuICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBsaXN0Q21wID0gdGhpcy5saXN0KCk7XG4gICAgaWYgKGxpc3RDbXApIGxpc3RDbXAuY2xlYXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXguc2V0KC0xKTtcbiAgfVxuXG4gIG9uSXRlbXNTZWxlY3QoaWR4OiBudW1iZXJbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoaWR4WzBdKTtcbiAgICB0aGlzLmZsYXZvckNsaWNrLmVtaXQodGhpcy5hcHBsaWVkRmxhdm9yc1tpZHhbMF1dKTtcbiAgfVxuXG4gIHN0YXJ0QXBwbHlGbGF2b3IoKSB7XG4gICAgdGhpcy4jb3ZlcmxheS5vcGVuKE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCwge1xuICAgICAgYXBwbGljYWJsZUZsYXZvcnM6IHRoaXMuYXBwbGljYWJsZUZsYXZvcnMsXG4gICAgICBkbXNPYmplY3Q6IHN0cnVjdHVyZWRDbG9uZSh0aGlzLmRtc09iamVjdCgpKVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRmxhdm9yKGZsYXZvcjogT2JqZWN0Rmxhdm9yLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHtcbiAgICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLiNzaGVsbC5yZW1vdmVPYmplY3RGbGF2b3IobywgZmxhdm9yKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgoKSB8fCAhdGhpcy5hcHBsaWVkRmxhdm9ycy5sZW5ndGgpIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBlcnJvciBoYW5kbGluZ1xuICAgICAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0QXBwbGllZEZsYXZvcnMoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICBjb25zdCByZXMgPSB0aGlzLiNzaGVsbC5nZXRBcHBsaWVkT2JqZWN0Rmxhdm9ycyhkbXNPYmplY3QpO1xuICAgIHRoaXMuYXBwbGllZEZsYXZvcnMgPSByZXMuYXBwbGllZDtcbiAgICB0aGlzLmFwcGxpY2FibGVGbGF2b3JzID0gcmVzLmFwcGxpY2FibGU7XG4gICAgdGhpcy5oaWRkZW4uc2V0KHRoaXMuYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoID09PSAwICYmIHRoaXMuYXBwbGllZEZsYXZvcnMubGVuZ3RoID09PSAwKTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7ICd5dXYub2JqZWN0LWZsYXZvci5sYWJlbCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cbkBpZiAoYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoKSB7XG4gIDxidXR0b24gY2xhc3M9XCJhZGQgc2Vjb25kYXJ5XCIgdGl0bGU9XCJ7eyAneXV2Lm9iamVjdC1mbGF2b3IuYnV0dG9uLmFkZCcgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwic3RhcnRBcHBseUZsYXZvcigpXCI+XG4gICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuYWRkXCI+PC95dmMtaWNvbj5cbiAgPC9idXR0b24+XG59XG5AaWYgKGFwcGxpZWRGbGF2b3JzLmxlbmd0aCkge1xuICA8eXV2LWxpc3QgaG9yaXpvbnRhbD1cInRydWVcIiBbZGlzYWJsZVNlbGVjdGlvbl09XCJkaXNhYmxlU2VsZWN0aW9uXCIgKGl0ZW1TZWxlY3QpPVwib25JdGVtc1NlbGVjdCgkZXZlbnQpXCIgeXZjRHJhZ1Njcm9sbD5cbiAgICBAZm9yIChmIG9mIGFwcGxpZWRGbGF2b3JzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDx5dXYtZmxhdm9yLWNoaXAgeXV2TGlzdEl0ZW0gW2ZsYXZvcl09XCJmXCIgW2VuYWJsZVJlbW92ZV09XCJ0cnVlXCIgKGZsYXZvclJlbW92ZSk9XCJyZW1vdmVGbGF2b3IoZiwgJGluZGV4KVwiPjwveXV2LWZsYXZvci1jaGlwPlxuICAgIH1cbiAgPC95dXYtbGlzdD5cbn1cbjxidXR0b24gY2xhc3M9XCJjbGVhclwiIHRpdGxlPVwie3sgJ3l1di5vYmplY3QtZmxhdm9yLmJ1dHRvbi5jbGVhci1zZWxlY3Rpb24nIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5cbiAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuPC9idXR0b24+XG5cbkBpZiAoYnVzeSgpKSB7XG4gIDxkaXYgY2xhc3M9XCJ5dXYtbG9hZGVyLWxpbmVhclwiPjwvZGl2PlxufVxuIl19
|
|
@@ -32,7 +32,7 @@ export class ObjectFlavorPickerComponent {
|
|
|
32
32
|
this.#oRef.close();
|
|
33
33
|
}
|
|
34
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorPickerComponent, isStandalone: true, selector: "yuv-object-flavor-picker", host: { properties: { "class.cmp": "!!applyComponent" } }, ngImport: i0, template: "\n <header>\n <h2>{{ 'yuv.object-flavor.picker.title' | translate }}</h2>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n </header>\n <main>\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n", styles: [":host{display:block;height:100%;box-sizing:border-box}:host:not(.cmp){padding:var(--app-pane-padding)}:host:not(.cmp) header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host:not(.cmp) header p{max-width:42ch;line-height:1.3em}:host:not(.cmp) main{overflow-y:auto}:host:not(.cmp) main yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host:not(.cmp) main yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host:not(.cmp) footer{display:flex;justify-content:start;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorPickerComponent, isStandalone: true, selector: "yuv-object-flavor-picker", host: { properties: { "class.cmp": "!!applyComponent" } }, ngImport: i0, template: "\n <header>\n <h2>{{ 'yuv.object-flavor.picker.title' | translate }}</h2>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n </header>\n <main>\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n", styles: [":host{display:block;height:100%;box-sizing:border-box}:host:not(.cmp){padding:var(--app-pane-padding)}:host:not(.cmp) header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host:not(.cmp) header p{max-width:42ch;line-height:1.3em}:host:not(.cmp) main{overflow-y:auto}:host:not(.cmp) main yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host:not(.cmp) main yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host:not(.cmp) footer{display:flex;justify-content:start;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
|
|
36
36
|
}
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorPickerComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40
40
|
'[class.cmp]': '!!applyComponent'
|
|
41
41
|
}, template: "\n <header>\n <h2>{{ 'yuv.object-flavor.picker.title' | translate }}</h2>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n </header>\n <main>\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n", styles: [":host{display:block;height:100%;box-sizing:border-box}:host:not(.cmp){padding:var(--app-pane-padding)}:host:not(.cmp) header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host:not(.cmp) header p{max-width:42ch;line-height:1.3em}:host:not(.cmp) main{overflow-y:auto}:host:not(.cmp) main yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host:not(.cmp) main yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host:not(.cmp) footer{display:flex;justify-content:start;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"] }]
|
|
42
42
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci1waWNrZXIvb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci1waWNrZXIvb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQVkzRSxNQUFNLE9BQU8sMkJBQTJCO0lBVnhDO1FBV0UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QixXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlCLHNCQUFpQixHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RSxlQUFVLEdBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBY25EO0lBbEJDLEtBQUssQ0FBeUI7SUFDOUIsTUFBTSxDQUF3QjtJQUc5QixVQUFVLENBQXdDO0lBRWxELFlBQVksQ0FBQyxHQUFhO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3JHLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSzt3QkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQyxDQUFDO2FBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDOytHQWxCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrSUNsQnhDLDhpQkFlQSw4eEJESlksWUFBWSwrQkFBRSxhQUFhLCtKQUFFLG1CQUFtQiwrSUFBRSxlQUFlLDRGQUFFLGlCQUFpQjs7NEZBT25GLDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFHekY7d0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtxQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERtc09iamVjdCwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9saXN0JztcbmltcG9ydCB7IE9iamVjdEZsYXZvciwgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNPdmVybGF5UmVmIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL292ZXJsYXknO1xuaW1wb3J0IHsgRmxhdm9yQ2hpcENvbXBvbmVudCB9IGZyb20gJy4uL2ZsYXZvci1jaGlwL2ZsYXZvci1jaGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZmxhdm9yLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExpc3RDb21wb25lbnQsIEZsYXZvckNoaXBDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgTGlzdEl0ZW1EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jbXBdJzogJyEhYXBwbHlDb21wb25lbnQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0Rmxhdm9yUGlja2VyQ29tcG9uZW50IHtcbiAgI29SZWYgPSBpbmplY3QoWXZjT3ZlcmxheVJlZik7XG4gICNzaGVsbCA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIGFwcGxpY2FibGVGbGF2b3JzOiBPYmplY3RGbGF2b3JbXSA9IHRoaXMuI29SZWYuZGF0YS5hcHBsaWNhYmxlRmxhdm9ycztcbiAgI2Rtc09iamVjdDogRG1zT2JqZWN0ID0gdGhpcy4jb1JlZi5kYXRhLmRtc09iamVjdDtcblxuICBpdGVtU2VsZWN0ZWQoaWR4OiBudW1iZXJbXSkge1xuICAgIGNvbnN0IGZsYXZvciA9IHRoaXMuYXBwbGljYWJsZUZsYXZvcnNbaWR4WzBdXTtcbiAgICBpZiAodGhpcy4jZG1zT2JqZWN0ICYmIGZsYXZvcikgdGhpcy4jc2hlbGwudHJpZ2dlckFwcGx5T2JqZWN0Rmxhdm9yKHRoaXMuI2Rtc09iamVjdCwgZmxhdm9yKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy4jb1JlZikgdGhpcy4jb1JlZi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICh0aGlzLiNvUmVmKSB0aGlzLiNvUmVmLmNsb3NlKCk7XG4gIH1cbn1cbiIsIlxuICA8aGVhZGVyPlxuICAgIDxoMj57eyAneXV2Lm9iamVjdC1mbGF2b3IucGlja2VyLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHA+e3sgJ3l1di5vYmplY3QtZmxhdm9yLnBpY2tlci50ZXh0JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgPC9oZWFkZXI+XG4gIDxtYWluPlxuICAgIDx5dXYtbGlzdCAoaXRlbVNlbGVjdCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAoZiBvZiBhcHBsaWNhYmxlRmxhdm9yczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDx5dXYtZmxhdm9yLWNoaXAgW2ZsYXZvcl09XCJmXCIgW2VuYWJsZURlc2NyaXB0aW9uXT1cInRydWVcIiB5dXZMaXN0SXRlbT48L3l1di1mbGF2b3ItY2hpcD5cbiAgICAgIH1cbiAgICA8L3l1di1saXN0PlxuICA8L21haW4+XG4gIDxmb290ZXI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICd5dXYub2JqZWN0LWZsYXZvci5waWNrZXIuYnV0dG9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPC9mb290ZXI+XG4iXX0=
|
|
@@ -135,7 +135,7 @@ export class TileConfigComponent {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileConfigComponent, isStandalone: true, selector: "yuv-tile-config", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, configTypes: { classPropertyName: "configTypes", publicName: "configTypes", isSignal: true, isRequired: false, transformFunction: null }, configFlavors: { classPropertyName: "configFlavors", publicName: "configFlavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", cancel: "cancel" }, ngImport: i0, template: "<header>\n <h1>{{ 'yuv.tile-config.title' | translate }}</h1>\n <div class=\"bucket\">{{ bucketLabel() }}</div>\n @if (cancel) {\n <button class=\"icon\" (click)=\"cancel.emit()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n }\n</header>\n\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"'yuv.framework.tile-config.layout'\">\n <!-- list of types -->\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"types\">\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (t of types() || []; track t.id) {\n <div yuvListItem>\n @if (t.icon) {\n <yvc-icon [svg]=\"t.icon\"></yvc-icon>\n } @else {\n <yuv-object-type-icon [objectTypeId]=\"t.id\"></yuv-object-type-icon>\n }\n {{ t.id | translate }}\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n\n <!-- selected type details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"details\">\n @if (selectedType) {\n <header>{{ selectedType.id | translate }}</header>\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile [disableIconSlot]=\"true\" [disableBadgesSlot]=\"true\" [objectConfig]=\"objectConfig!\" (slotSelect)=\"slotSelect($event)\"></yuv-tile-config-tile>\n </div>\n <main>\n @if (selectedSlot === 'icon') {\n <h2>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h2>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h2>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h2>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h2>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h2>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n <footer>\n <button class=\"primary\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n } @else {\n <div class=\"placeholder empty\">\n <h2>{{ 'yuv.tile-config.details.empty.title' | translate }}</h2>\n <p>{{ 'yuv.tile-config.details.empty.description' | translate }}</p>\n </div>\n }\n </div>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host header{flex:0 0 auto;display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"title close\" \"bucket close\";padding:var(--app-pane-padding);border-block-end:1px solid var(--panel-divider-color)}:host header h1{grid-area:title;padding:0;margin:0 0 .5rem;font-size:var(--font-title);font-weight:400}:host header .bucket{grid-area:bucket}:host header button{grid-area:close;align-self:start;--icon-size: 18px}:host yvc-split-view{flex:1}:host .details{box-sizing:border-box}:host div.types{box-sizing:border-box;height:100%;overflow-y:auto;background-color:var(--panel-background-lightgrey)}:host div.types div[yuvListItem]{display:flex;gap:var(--app-pane-padding);align-items:center;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host div.types div[yuvListItem]:not([aria-selected=true]):hover,:host div.types div[yuvListItem]:not([aria-selected=true])[aria-current=true]{background-color:var(--item-focus-background-color)}:host div.types div[yuvListItem][aria-selected=true]{background-color:var(--color-accent);color:var(--color-accent-tone)}:host div.types div[yuvListItem] yvc-icon,:host div.types div[yuvListItem] yuv-object-type-icon{flex:0 0 auto;color:currentColor;opacity:.54}:host .details{height:100%;display:flex;flex-flow:column;overflow:hidden;background-color:var(--panel-background-lightgrey)}:host .details header{flex:0 0 auto;border-bottom:1px solid var(--panel-divider-color);padding:var(--app-pane-padding);font-size:var(--font-title)}:host .details .dummy-preview{flex:0 0 auto;padding:var(--app-pane-padding);background-color:var(--panel-background-grey);border-bottom:1px solid var(--panel-divider-color)}:host .details .dummy-preview yuv-tile-config-tile{border:1px solid var(--panel-divider-color);background-color:var(--panel-background)}:host .details main{flex:1;overflow-y:auto;padding:var(--app-pane-padding)}:host .details main h2{margin:0;padding-block-end:var(--app-pane-padding);font-size:var(--font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--text-color-hint)}:host .details footer{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);display:flex;justify-content:flex-end;gap:calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "ngmodule", type: YvcSplitViewModule }, { kind: "component", type: i1.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i1.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: ObjectTypeIconComponent, selector: "yuv-object-type-icon", inputs: ["objectTypeId"] }, { kind: "component", type: TileConfigTileComponent, selector: "yuv-tile-config-tile", inputs: ["disableIconSlot", "disableBadgesSlot", "objectConfig"], outputs: ["slotSelect"] }, { kind: "component", type: IconSelectComponent, selector: "yuv-icon-select", inputs: ["objectType"], outputs: ["iconSelect"] }, { kind: "component", type: PropertySelectComponent, selector: "yuv-tile-property-select", inputs: ["objectType", "selectedProperty"], outputs: ["propertySelect"] }, { kind: "component", type: ActionSelectComponent, selector: "yuv-tile-action-select", inputs: ["objectType", "selectedActionIds"], outputs: ["actionSelect"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileConfigComponent, isStandalone: true, selector: "yuv-tile-config", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, configTypes: { classPropertyName: "configTypes", publicName: "configTypes", isSignal: true, isRequired: false, transformFunction: null }, configFlavors: { classPropertyName: "configFlavors", publicName: "configFlavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", cancel: "cancel" }, ngImport: i0, template: "<header>\n <h1>{{ 'yuv.tile-config.title' | translate }}</h1>\n <div class=\"bucket\">{{ bucketLabel() }}</div>\n @if (cancel) {\n <button class=\"icon\" (click)=\"cancel.emit()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n }\n</header>\n\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"'yuv.framework.tile-config.layout'\">\n <!-- list of types -->\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"types\">\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (t of types() || []; track t.id) {\n <div yuvListItem>\n @if (t.icon) {\n <yvc-icon [svg]=\"t.icon\"></yvc-icon>\n } @else {\n <yuv-object-type-icon [objectTypeId]=\"t.id\"></yuv-object-type-icon>\n }\n {{ t.id | translate }}\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n\n <!-- selected type details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"details\">\n @if (selectedType) {\n <header>{{ selectedType.id | translate }}</header>\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile [disableIconSlot]=\"true\" [disableBadgesSlot]=\"true\" [objectConfig]=\"objectConfig!\" (slotSelect)=\"slotSelect($event)\"></yuv-tile-config-tile>\n </div>\n <main>\n @if (selectedSlot === 'icon') {\n <h2>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h2>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h2>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h2>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h2>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h2>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n <footer>\n <button class=\"primary\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n } @else {\n <div class=\"placeholder empty\">\n <h2>{{ 'yuv.tile-config.details.empty.title' | translate }}</h2>\n <p>{{ 'yuv.tile-config.details.empty.description' | translate }}</p>\n </div>\n }\n </div>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host header{flex:0 0 auto;display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"title close\" \"bucket close\";padding:var(--app-pane-padding);border-block-end:1px solid var(--panel-divider-color)}:host header h1{grid-area:title;padding:0;margin:0 0 .5rem;font-size:var(--font-title);font-weight:400}:host header .bucket{grid-area:bucket}:host header button{grid-area:close;align-self:start;--icon-size: 18px}:host yvc-split-view{flex:1}:host .details{box-sizing:border-box}:host div.types{box-sizing:border-box;height:100%;overflow-y:auto;background-color:var(--panel-background-lightgrey)}:host div.types div[yuvListItem]{display:flex;gap:var(--app-pane-padding);align-items:center;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host div.types div[yuvListItem]:not([aria-selected=true]):hover,:host div.types div[yuvListItem]:not([aria-selected=true])[aria-current=true]{background-color:var(--item-focus-background-color)}:host div.types div[yuvListItem][aria-selected=true]{background-color:var(--color-accent);color:var(--color-accent-tone)}:host div.types div[yuvListItem] yvc-icon,:host div.types div[yuvListItem] yuv-object-type-icon{flex:0 0 auto;color:currentColor;opacity:.54}:host .details{height:100%;display:flex;flex-flow:column;overflow:hidden;background-color:var(--panel-background-lightgrey)}:host .details header{flex:0 0 auto;border-bottom:1px solid var(--panel-divider-color);padding:var(--app-pane-padding);font-size:var(--font-title)}:host .details .dummy-preview{flex:0 0 auto;padding:var(--app-pane-padding);background-color:var(--panel-background-grey);border-bottom:1px solid var(--panel-divider-color)}:host .details .dummy-preview yuv-tile-config-tile{border:1px solid var(--panel-divider-color);background-color:var(--panel-background)}:host .details main{flex:1;overflow-y:auto;padding:var(--app-pane-padding)}:host .details main h2{margin:0;padding-block-end:var(--app-pane-padding);font-size:var(--font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--text-color-hint)}:host .details footer{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);display:flex;justify-content:flex-end;gap:calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "ngmodule", type: YvcSplitViewModule }, { kind: "component", type: i1.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i1.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: ObjectTypeIconComponent, selector: "yuv-object-type-icon", inputs: ["objectTypeId"] }, { kind: "component", type: TileConfigTileComponent, selector: "yuv-tile-config-tile", inputs: ["disableIconSlot", "disableBadgesSlot", "objectConfig"], outputs: ["slotSelect"] }, { kind: "component", type: IconSelectComponent, selector: "yuv-icon-select", inputs: ["objectType"], outputs: ["iconSelect"] }, { kind: "component", type: PropertySelectComponent, selector: "yuv-tile-property-select", inputs: ["objectType", "selectedProperty"], outputs: ["propertySelect"] }, { kind: "component", type: ActionSelectComponent, selector: "yuv-tile-action-select", inputs: ["objectType", "selectedActionIds"], outputs: ["actionSelect"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
|
|
139
139
|
}
|
|
140
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileConfigComponent, decorators: [{
|
|
141
141
|
type: Component,
|
|
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
153
153
|
ListItemDirective
|
|
154
154
|
], template: "<header>\n <h1>{{ 'yuv.tile-config.title' | translate }}</h1>\n <div class=\"bucket\">{{ bucketLabel() }}</div>\n @if (cancel) {\n <button class=\"icon\" (click)=\"cancel.emit()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n }\n</header>\n\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"'yuv.framework.tile-config.layout'\">\n <!-- list of types -->\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"types\">\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (t of types() || []; track t.id) {\n <div yuvListItem>\n @if (t.icon) {\n <yvc-icon [svg]=\"t.icon\"></yvc-icon>\n } @else {\n <yuv-object-type-icon [objectTypeId]=\"t.id\"></yuv-object-type-icon>\n }\n {{ t.id | translate }}\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n\n <!-- selected type details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"details\">\n @if (selectedType) {\n <header>{{ selectedType.id | translate }}</header>\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile [disableIconSlot]=\"true\" [disableBadgesSlot]=\"true\" [objectConfig]=\"objectConfig!\" (slotSelect)=\"slotSelect($event)\"></yuv-tile-config-tile>\n </div>\n <main>\n @if (selectedSlot === 'icon') {\n <h2>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h2>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h2>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h2>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h2>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h2>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n <footer>\n <button class=\"primary\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n } @else {\n <div class=\"placeholder empty\">\n <h2>{{ 'yuv.tile-config.details.empty.title' | translate }}</h2>\n <p>{{ 'yuv.tile-config.details.empty.description' | translate }}</p>\n </div>\n }\n </div>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host header{flex:0 0 auto;display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"title close\" \"bucket close\";padding:var(--app-pane-padding);border-block-end:1px solid var(--panel-divider-color)}:host header h1{grid-area:title;padding:0;margin:0 0 .5rem;font-size:var(--font-title);font-weight:400}:host header .bucket{grid-area:bucket}:host header button{grid-area:close;align-self:start;--icon-size: 18px}:host yvc-split-view{flex:1}:host .details{box-sizing:border-box}:host div.types{box-sizing:border-box;height:100%;overflow-y:auto;background-color:var(--panel-background-lightgrey)}:host div.types div[yuvListItem]{display:flex;gap:var(--app-pane-padding);align-items:center;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host div.types div[yuvListItem]:not([aria-selected=true]):hover,:host div.types div[yuvListItem]:not([aria-selected=true])[aria-current=true]{background-color:var(--item-focus-background-color)}:host div.types div[yuvListItem][aria-selected=true]{background-color:var(--color-accent);color:var(--color-accent-tone)}:host div.types div[yuvListItem] yvc-icon,:host div.types div[yuvListItem] yuv-object-type-icon{flex:0 0 auto;color:currentColor;opacity:.54}:host .details{height:100%;display:flex;flex-flow:column;overflow:hidden;background-color:var(--panel-background-lightgrey)}:host .details header{flex:0 0 auto;border-bottom:1px solid var(--panel-divider-color);padding:var(--app-pane-padding);font-size:var(--font-title)}:host .details .dummy-preview{flex:0 0 auto;padding:var(--app-pane-padding);background-color:var(--panel-background-grey);border-bottom:1px solid var(--panel-divider-color)}:host .details .dummy-preview yuv-tile-config-tile{border:1px solid var(--panel-divider-color);background-color:var(--panel-background)}:host .details main{flex:1;overflow-y:auto;padding:var(--app-pane-padding)}:host .details main h2{margin:0;padding-block-end:var(--app-pane-padding);font-size:var(--font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--text-color-hint)}:host .details footer{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);display:flex;justify-content:flex-end;gap:calc(var(--app-pane-padding) / 4)}\n"] }]
|
|
155
155
|
}] });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90aWxlLWxpc3Qvc3JjL2xpYi90aWxlLWNvbmZpZy90aWxlLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdC9zcmMvbGliL3RpbGUtY29uZmlnL3RpbGUtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBT0wsbUJBQW1CLEVBRW5CLGFBQWEsRUFDYixlQUFlLEVBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7O0FBcUJ4RixNQUFNLE9BQU8sbUJBQW1CO0lBbkJoQztRQW9CRSx5QkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWhDOzs7OztXQUtHO1FBQ0gsV0FBTSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQVcsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELGdCQUFXLEdBQUcsS0FBSyxDQUFrQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxrQkFBYSxHQUFHLEtBQUssQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUFFMUMsVUFBSyxHQUFzRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZILE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDcEMsTUFBTSxFQUFFLEdBQXdCLEVBQUUsQ0FBQztZQUNuQyx5REFBeUQ7WUFDekQseUNBQXlDO1lBQ3pDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFJLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUdsQiwyQkFBc0IsR0FBc0IsRUFBRSxDQUFDO1FBRXZDLHVCQUFrQixHQUFpQjtZQUN6QyxZQUFZLEVBQUUsRUFBRTtZQUNoQixLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDdEMsV0FBVyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzVDLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNyQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDdEMsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFJRixZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUU3QixVQUFLLEdBQUc7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7U0FDbkIsQ0FBQztLQTRGSDtJQXpJQyxvQkFBb0IsQ0FBK0I7SUFDbkQsT0FBTyxDQUF5QjtJQThDaEMseUNBQXlDO0lBQ3pDLHlDQUF5QztJQUN6QyxNQUFNO0lBRU4sY0FBYyxDQUFDLENBQVM7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsWUFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQXlCLENBQUM7SUFDeEQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWE7UUFDeEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTztRQUNmLElBQUksQ0FBQyxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFvQixDQUFDLENBQUM7O1lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQXlCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQW9CO1FBQ2hDLE1BQU0sQ0FBQyxHQUFrQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDZixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2dCQUMvQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ25CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQW9CO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRztnQkFDbEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCO2dCQUMxQixZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUU7YUFDbkIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQW1CO1FBQzlCLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCLEVBQUUsS0FBZ0M7UUFDakUsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLO1lBQ2pCLENBQUMsQ0FBQztnQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTthQUN2QjtZQUNILENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQztZQUNsQyxHQUFHLElBQUksQ0FBQyxZQUFZO1lBQ3BCLEdBQUcsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYztRQUMzQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPO2dCQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUVoRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQztnQkFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDOztnQkFDcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JJLENBQUM7SUFDSCxDQUFDOytHQXpJVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixtcUJDN0NoQyw4L0ZBMEVBLHkxRUQzQ0ksa0JBQWtCLG9kQUNsQix1QkFBdUIsMkZBQ3ZCLHVCQUF1Qiw0SkFDdkIsbUJBQW1CLDZHQUNuQix1QkFBdUIsOElBQ3ZCLHFCQUFxQiwwSUFDckIsYUFBYSw4SEFDYixlQUFlLDRGQUNmLGFBQWEsd0lBQ2IsaUJBQWlCOzs0RkFLUixtQkFBbUI7a0JBbkIvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHZW5lcmljT2JqZWN0VHlwZSxcbiAgT2JqZWN0Q29uZmlnLFxuICBPYmplY3RDb25maWdBY3Rpb24sXG4gIE9iamVjdENvbmZpZ0JhZGdlLFxuICBPYmplY3RDb25maWdJY29uLFxuICBPYmplY3RDb25maWdQcm9wZXJ0eSxcbiAgT2JqZWN0Q29uZmlnU2VydmljZSxcbiAgT2JqZWN0VHlwZUZpZWxkLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVNb2R1bGUsXG4gIFZpcnR1YWxPYmplY3RUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgT2JqZWN0VHlwZUljb25Db21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvbGlzdCc7XG5pbXBvcnQgeyBPYmplY3RGbGF2b3IgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjU3BsaXRWaWV3TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL3NwbGl0LXZpZXcnO1xuaW1wb3J0IHsgQWN0aW9uU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tc2VsZWN0L2FjdGlvbi1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2ljb24tc2VsZWN0L2ljb24tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktc2VsZWN0L3Byb3BlcnR5LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQgfSBmcm9tICcuL3RpbGUtY29uZmlnLXRpbGUvdGlsZS1jb25maWctdGlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtdGlsZS1jb25maWcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBZdmNTcGxpdFZpZXdNb2R1bGUsXG4gICAgT2JqZWN0VHlwZUljb25Db21wb25lbnQsXG4gICAgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQsXG4gICAgSWNvblNlbGVjdENvbXBvbmVudCxcbiAgICBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCxcbiAgICBBY3Rpb25TZWxlY3RDb21wb25lbnQsXG4gICAgWXZjSWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlzdENvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZS1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aWxlLWNvbmZpZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWdDb21wb25lbnQge1xuICAjb2JqZWN0Q29uZmlnU2VydmljZSA9IGluamVjdChPYmplY3RDb25maWdTZXJ2aWNlKTtcbiAgI3N5c3RlbSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcblxuICAvKipcbiAgICogVGlsZSBjb25maWd1cmF0aW9ucyBhcmUgc3RvcmVkIGdsb2JhbGx5IGZvciBhbGwgYXBwcy4gSWYgeW91IHdhbnQgYVxuICAgKiBzZXBhcmF0ZSBjb25maWcgZm9yIHlvdXIgYXBwL2NvbXBvbmVudCB5b3UgY2FuIHNwZWNpZnkgYSBidWNrZXQuIEEgYnVja2V0XG4gICAqIGlzIGJhc2ljYWxseSBhbiBJRCB3aGVyZSB5b3VyIGN1c3RvbSB0aWxlIGNvbmZpZyB3aWxsIGJlIHN0b3JlZCBhbmRcbiAgICogcmV0cmlldmVkLiBCdWNrZXRzIHNob3VsZCBiZSB1bmlxdWUgc28gYmUgc3VyZSB0byB1c2UgYSB1bmlxdWUgbmFtZXNwYWNlLlxuICAgKi9cbiAgYnVja2V0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBidWNrZXRMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25maWdUeXBlcyA9IGlucHV0PFZpcnR1YWxPYmplY3RUeXBlW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbmZpZ0ZsYXZvcnMgPSBpbnB1dDxPYmplY3RGbGF2b3JbXT4oW10pO1xuXG4gIHR5cGVzOiBTaWduYWw8eyBpZDogc3RyaW5nOyBpY29uPzogc3RyaW5nOyBmbGF2b3I/OiBib29sZWFuOyBkYXRhOiBPYmplY3RGbGF2b3IgfCBWaXJ0dWFsT2JqZWN0VHlwZSB9W10+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0ID0gdGhpcy5jb25maWdUeXBlcygpIHx8IFtdO1xuICAgIGNvbnN0IGNmOiBWaXJ0dWFsT2JqZWN0VHlwZVtdID0gW107XG4gICAgLy8gVE9ETzogZW5hYmxlIHdoZW4gZmxhdm9ycyBhcmUgc3VwcG9ydGVkIGluIHRpbGUgY29uZmlnXG4gICAgLy8gY29uc3QgY2YgPSB0aGlzLmNvbmZpZ0ZsYXZvcnMoKSB8fCBbXTtcbiAgICByZXR1cm4gWy4uLmN0Lm1hcCgodCkgPT4gKHsgaWQ6IHQuaWQsIGljb246IHQuaWNvbiwgZGF0YTogdCB9KSksIC4uLmNmLm1hcCgoZikgPT4gKHsgaWQ6IGYuaWQsIGljb246IGYuaWNvbiwgZmxhdm9yOiB0cnVlLCBkYXRhOiBmIH0pKV07XG4gIH0pO1xuXG4gIHNhdmUgPSBvdXRwdXQoKTtcbiAgY2FuY2VsID0gb3V0cHV0KCk7XG5cbiAgc2VsZWN0ZWRUeXBlPzogVmlydHVhbE9iamVjdFR5cGU7XG4gIHNlbGVjdGVkVHlwZVByb3BlcnRpZXM6IE9iamVjdFR5cGVGaWVsZFtdID0gW107XG5cbiAgcHJpdmF0ZSBfZW1wdHlPYmplY3RDb25maWc6IE9iamVjdENvbmZpZyA9IHtcbiAgICBvYmplY3RUeXBlSWQ6ICcnLFxuICAgIHRpdGxlOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIGRlc2NyaXB0aW9uOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIG1ldGE6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYXNpZGU6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYWN0aW9uczogW10sXG4gICAgYmFkZ2VzOiBbXVxuICB9O1xuXG4gIG9iamVjdENvbmZpZz86IE9iamVjdENvbmZpZztcbiAgc2VsZWN0ZWRTbG90Pzogc3RyaW5nO1xuICBmbGF2b3JzOiBPYmplY3RGbGF2b3JbXSA9IFtdO1xuXG4gIGljb25zID0ge1xuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIC8vIGdldE9iamVjdEZsYXZvckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gIC8vICAgdGhpcy5mbGF2b3JzID0gdGhpcy5jb25maWdGbGF2b3JzKCk7XG4gIC8vIH0pO1xuXG4gIGdldENvbmZpZ1ZhbHVlKHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ0ljb24gfCBPYmplY3RDb25maWdQcm9wZXJ0eSB8IE9iamVjdENvbmZpZ0FjdGlvbiB8IE9iamVjdENvbmZpZ0JhZGdlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5vYmplY3RDb25maWcgPyAodGhpcy5vYmplY3RDb25maWcgYXMgYW55KVtwXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldENvbmZpZ1Byb3BlcnR5KHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ1Byb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25maWdWYWx1ZShwKSBhcyBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQWN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0Q29uZmlnPy5hY3Rpb25zID8gdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucy5tYXAoKGEpID0+IGEuaWQpIDogW107XG4gIH1cblxuICBzbG90U2VsZWN0KGl0ZW06IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRTbG90ID0gaXRlbTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChpZHg6IG51bWJlcltdKSB7XG4gICAgY29uc3QgdCA9IHRoaXMudHlwZXMoKVtpZHhbMF1dO1xuICAgIGlmICghdCkgcmV0dXJuO1xuICAgIGlmICh0LmZsYXZvcikgdGhpcy4jc2VsZWN0Rmxhdm9yKHQuZGF0YSBhcyBPYmplY3RGbGF2b3IpO1xuICAgIGVsc2UgdGhpcy4jc2VsZWN0VHlwZSh0LmRhdGEgYXMgVmlydHVhbE9iamVjdFR5cGUpO1xuICB9XG5cbiAgI3NlbGVjdEZsYXZvcihmbGF2b3I6IE9iamVjdEZsYXZvcikge1xuICAgIGNvbnN0IHQ6IEdlbmVyaWNPYmplY3RUeXBlIHwgdW5kZWZpbmVkID0gdGhpcy4jc3lzdGVtLmdldE9iamVjdFR5cGUoZmxhdm9yLnNvdCk7XG4gICAgaWYgKHQpXG4gICAgICB0aGlzLiNzZWxlY3RUeXBlKHtcbiAgICAgICAgaWQ6IGZsYXZvci5pZCxcbiAgICAgICAgb2JqZWN0VHlwZTogZmxhdm9yLm9iamVjdFR5cGVJRCxcbiAgICAgICAgc290czogW2ZsYXZvci5zb3RdXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jICNzZWxlY3RUeXBlKHQ6IFZpcnR1YWxPYmplY3RUeXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFR5cGUgPSB0O1xuXG4gICAgLy8gbG9hZCB0aWxlIGNvbmZpZ1xuICAgIHRoaXMub2JqZWN0Q29uZmlnID0gYXdhaXQgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWcodCwgdGhpcy5idWNrZXQoKSB8fCAnJyk7XG5cbiAgICBpZiAoIXRoaXMub2JqZWN0Q29uZmlnKSB7XG4gICAgICB0aGlzLm9iamVjdENvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5fZW1wdHlPYmplY3RDb25maWcsXG4gICAgICAgIG9iamVjdFR5cGVJZDogdC5pZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpY29uU2VsZWN0ZWQoaWNvbjogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykgdGhpcy5vYmplY3RDb25maWcuaWNvbiA9IGljb24gPyB7IHN2ZzogaWNvbiB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvcGVydHlTZWxlY3RlZCh0aWxlU2xvdDogc3RyaW5nLCBmaWVsZD86IFBhcnRpYWw8T2JqZWN0VHlwZUZpZWxkPikge1xuICAgIGNvbnN0IHA6IGFueSA9IHt9O1xuICAgIHBbdGlsZVNsb3RdID0gZmllbGRcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICBwcm9wZXJ0eU5hbWU6IGZpZWxkLmlkXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUoe1xuICAgICAgLi4udGhpcy5vYmplY3RDb25maWcsXG4gICAgICAuLi5wXG4gICAgfSk7XG4gIH1cblxuICBhY3Rpb25TZWxlY3RlZChhY3Rpb246IEFjdGlvbikge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgaWYgKCF0aGlzLm9iamVjdENvbmZpZz8uYWN0aW9ucykgdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucyA9IFtdO1xuXG4gICAgICBjb25zdCBpZHggPSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLmZpbmRJbmRleCgoYSkgPT4gYS5pZCA9PT0gYWN0aW9uLmlkKTtcbiAgICAgIGlmIChpZHggIT09IC0xKSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgZWxzZSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnB1c2goeyBpZDogYWN0aW9uLmlkIH0pO1xuICAgICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5vYmplY3RDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVDb25maWcoKSB7XG4gICAgdGhpcy5fc2F2ZVRpbGVDb25maWcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NhdmVUaWxlQ29uZmlnKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZSAmJiB0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5zYXZlT2JqZWN0Q29uZmlnKHRoaXMuc2VsZWN0ZWRUeXBlLCB0aGlzLm9iamVjdENvbmZpZywgdGhpcy5idWNrZXQoKSkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLnNhdmUuZW1pdCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxoMT57eyAneXV2LnRpbGUtY29uZmlnLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gIDxkaXYgY2xhc3M9XCJidWNrZXRcIj57eyBidWNrZXRMYWJlbCgpIH19PC9kaXY+XG4gIEBpZiAoY2FuY2VsKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cImljb25cIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPlxuICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2hlYWRlcj5cblxuPHl2Yy1zcGxpdC12aWV3IFtndXR0ZXJTaXplXT1cIjFcIiBbbGF5b3V0U2V0dGluZ3NJRF09XCIneXV2LmZyYW1ld29yay50aWxlLWNvbmZpZy5sYXlvdXQnXCI+XG4gIDwhLS0gbGlzdCBvZiB0eXBlcyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0eXBlc1wiPlxuICAgICAgPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgIEBmb3IgKHQgb2YgdHlwZXMoKSB8fCBbXTsgdHJhY2sgdC5pZCkge1xuICAgICAgICAgIDxkaXYgeXV2TGlzdEl0ZW0+XG4gICAgICAgICAgICBAaWYgKHQuaWNvbikge1xuICAgICAgICAgICAgICA8eXZjLWljb24gW3N2Z109XCJ0Lmljb25cIj48L3l2Yy1pY29uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx5dXYtb2JqZWN0LXR5cGUtaWNvbiBbb2JqZWN0VHlwZUlkXT1cInQuaWRcIj48L3l1di1vYmplY3QtdHlwZS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3sgdC5pZCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L3l1di1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gc2VsZWN0ZWQgdHlwZSBkZXRhaWxzLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNzBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxuICAgICAgQGlmIChzZWxlY3RlZFR5cGUpIHtcbiAgICAgICAgPGhlYWRlcj57eyBzZWxlY3RlZFR5cGUuaWQgfCB0cmFuc2xhdGUgfX08L2hlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR1bW15LXByZXZpZXdcIj5cbiAgICAgICAgICA8eXV2LXRpbGUtY29uZmlnLXRpbGUgW2Rpc2FibGVJY29uU2xvdF09XCJ0cnVlXCIgW2Rpc2FibGVCYWRnZXNTbG90XT1cInRydWVcIiBbb2JqZWN0Q29uZmlnXT1cIm9iamVjdENvbmZpZyFcIiAoc2xvdFNlbGVjdCk9XCJzbG90U2VsZWN0KCRldmVudClcIj48L3l1di10aWxlLWNvbmZpZy10aWxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1haW4+XG4gICAgICAgICAgQGlmIChzZWxlY3RlZFNsb3QgPT09ICdpY29uJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5pY29uLmhlYWRsaW5lJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgICA8eXV2LWljb24tc2VsZWN0IFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiIChpY29uU2VsZWN0KT1cImljb25TZWxlY3RlZCgkZXZlbnQpXCI+PC95dXYtaWNvbi1zZWxlY3Q+XG4gICAgICAgICAgfSBAZWxzZSBpZiAoc2VsZWN0ZWRTbG90ID09PSAnYmFkZ2VzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyIGVtcHR5XCI+XG4gICAgICAgICAgICAgIDxwPkZ1dHVyZSBmZWF0dXJlOiBTZWxlY3QgYmFkZ2VzIChsaWtlOiBpcyBmYXZvcml0ZSwgcmF0aW5ncywgLi4uKTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFzZWxlY3RlZFNsb3QpIHtcbiAgICAgICAgICB9IEBlbHNlIGlmIChzZWxlY3RlZFNsb3QgPT09ICdhY3Rpb25zJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5hY3Rpb24uaGVhZGxpbmUnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICAgIDx5dXYtdGlsZS1hY3Rpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZEFjdGlvbklkc109XCJnZXRTZWxlY3RlZEFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIChhY3Rpb25TZWxlY3QpPVwiYWN0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC95dXYtdGlsZS1hY3Rpb24tc2VsZWN0PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5wcm9wZXJ0eS5oZWFkbGluZScgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICAgICAgPHl1di10aWxlLXByb3BlcnR5LXNlbGVjdFxuICAgICAgICAgICAgICBbb2JqZWN0VHlwZV09XCJzZWxlY3RlZFR5cGVcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9wZXJ0eV09XCJnZXRDb25maWdQcm9wZXJ0eShzZWxlY3RlZFNsb3QpXCJcbiAgICAgICAgICAgICAgKHByb3BlcnR5U2VsZWN0KT1cInByb3BlcnR5U2VsZWN0ZWQoc2VsZWN0ZWRTbG90LCAkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3l1di10aWxlLXByb3BlcnR5LXNlbGVjdD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWFpbj5cbiAgICAgICAgPGZvb3Rlcj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29uZmlnKClcIj57eyAneXV2LnRpbGUtY29uZmlnLmJ1dHRvbi5zYXZlJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXIgZW1wdHlcIj5cbiAgICAgICAgICA8aDI+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHA+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90aWxlLWxpc3Qvc3JjL2xpYi90aWxlLWNvbmZpZy90aWxlLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdC9zcmMvbGliL3RpbGUtY29uZmlnL3RpbGUtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBT0wsbUJBQW1CLEVBRW5CLGFBQWEsRUFDYixlQUFlLEVBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7O0FBcUJ4RixN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WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHZW5lcmljT2JqZWN0VHlwZSxcbiAgT2JqZWN0Q29uZmlnLFxuICBPYmplY3RDb25maWdBY3Rpb24sXG4gIE9iamVjdENvbmZpZ0JhZGdlLFxuICBPYmplY3RDb25maWdJY29uLFxuICBPYmplY3RDb25maWdQcm9wZXJ0eSxcbiAgT2JqZWN0Q29uZmlnU2VydmljZSxcbiAgT2JqZWN0VHlwZUZpZWxkLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVNb2R1bGUsXG4gIFZpcnR1YWxPYmplY3RUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgT2JqZWN0VHlwZUljb25Db21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvbGlzdCc7XG5pbXBvcnQgeyBPYmplY3RGbGF2b3IgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjU3BsaXRWaWV3TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL3NwbGl0LXZpZXcnO1xuaW1wb3J0IHsgQWN0aW9uU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tc2VsZWN0L2FjdGlvbi1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2ljb24tc2VsZWN0L2ljb24tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktc2VsZWN0L3Byb3BlcnR5LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQgfSBmcm9tICcuL3RpbGUtY29uZmlnLXRpbGUvdGlsZS1jb25maWctdGlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtdGlsZS1jb25maWcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBZdmNTcGxpdFZpZXdNb2R1bGUsXG4gICAgT2JqZWN0VHlwZUljb25Db21wb25lbnQsXG4gICAgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQsXG4gICAgSWNvblNlbGVjdENvbXBvbmVudCxcbiAgICBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCxcbiAgICBBY3Rpb25TZWxlY3RDb21wb25lbnQsXG4gICAgWXZjSWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlzdENvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZS1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aWxlLWNvbmZpZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWdDb21wb25lbnQge1xuICAjb2JqZWN0Q29uZmlnU2VydmljZSA9IGluamVjdChPYmplY3RDb25maWdTZXJ2aWNlKTtcbiAgI3N5c3RlbSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcblxuICAvKipcbiAgICogVGlsZSBjb25maWd1cmF0aW9ucyBhcmUgc3RvcmVkIGdsb2JhbGx5IGZvciBhbGwgYXBwcy4gSWYgeW91IHdhbnQgYVxuICAgKiBzZXBhcmF0ZSBjb25maWcgZm9yIHlvdXIgYXBwL2NvbXBvbmVudCB5b3UgY2FuIHNwZWNpZnkgYSBidWNrZXQuIEEgYnVja2V0XG4gICAqIGlzIGJhc2ljYWxseSBhbiBJRCB3aGVyZSB5b3VyIGN1c3RvbSB0aWxlIGNvbmZpZyB3aWxsIGJlIHN0b3JlZCBhbmRcbiAgICogcmV0cmlldmVkLiBCdWNrZXRzIHNob3VsZCBiZSB1bmlxdWUgc28gYmUgc3VyZSB0byB1c2UgYSB1bmlxdWUgbmFtZXNwYWNlLlxuICAgKi9cbiAgYnVja2V0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBidWNrZXRMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25maWdUeXBlcyA9IGlucHV0PFZpcnR1YWxPYmplY3RUeXBlW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbmZpZ0ZsYXZvcnMgPSBpbnB1dDxPYmplY3RGbGF2b3JbXT4oW10pO1xuXG4gIHR5cGVzOiBTaWduYWw8eyBpZDogc3RyaW5nOyBpY29uPzogc3RyaW5nOyBmbGF2b3I/OiBib29sZWFuOyBkYXRhOiBPYmplY3RGbGF2b3IgfCBWaXJ0dWFsT2JqZWN0VHlwZSB9W10+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0ID0gdGhpcy5jb25maWdUeXBlcygpIHx8IFtdO1xuICAgIGNvbnN0IGNmOiBWaXJ0dWFsT2JqZWN0VHlwZVtdID0gW107XG4gICAgLy8gVE9ETzogZW5hYmxlIHdoZW4gZmxhdm9ycyBhcmUgc3VwcG9ydGVkIGluIHRpbGUgY29uZmlnXG4gICAgLy8gY29uc3QgY2YgPSB0aGlzLmNvbmZpZ0ZsYXZvcnMoKSB8fCBbXTtcbiAgICByZXR1cm4gWy4uLmN0Lm1hcCgodCkgPT4gKHsgaWQ6IHQuaWQsIGljb246IHQuaWNvbiwgZGF0YTogdCB9KSksIC4uLmNmLm1hcCgoZikgPT4gKHsgaWQ6IGYuaWQsIGljb246IGYuaWNvbiwgZmxhdm9yOiB0cnVlLCBkYXRhOiBmIH0pKV07XG4gIH0pO1xuXG4gIHNhdmUgPSBvdXRwdXQoKTtcbiAgY2FuY2VsID0gb3V0cHV0KCk7XG5cbiAgc2VsZWN0ZWRUeXBlPzogVmlydHVhbE9iamVjdFR5cGU7XG4gIHNlbGVjdGVkVHlwZVByb3BlcnRpZXM6IE9iamVjdFR5cGVGaWVsZFtdID0gW107XG5cbiAgcHJpdmF0ZSBfZW1wdHlPYmplY3RDb25maWc6IE9iamVjdENvbmZpZyA9IHtcbiAgICBvYmplY3RUeXBlSWQ6ICcnLFxuICAgIHRpdGxlOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIGRlc2NyaXB0aW9uOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIG1ldGE6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYXNpZGU6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYWN0aW9uczogW10sXG4gICAgYmFkZ2VzOiBbXVxuICB9O1xuXG4gIG9iamVjdENvbmZpZz86IE9iamVjdENvbmZpZztcbiAgc2VsZWN0ZWRTbG90Pzogc3RyaW5nO1xuICBmbGF2b3JzOiBPYmplY3RGbGF2b3JbXSA9IFtdO1xuXG4gIGljb25zID0ge1xuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIC8vIGdldE9iamVjdEZsYXZvckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gIC8vICAgdGhpcy5mbGF2b3JzID0gdGhpcy5jb25maWdGbGF2b3JzKCk7XG4gIC8vIH0pO1xuXG4gIGdldENvbmZpZ1ZhbHVlKHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ0ljb24gfCBPYmplY3RDb25maWdQcm9wZXJ0eSB8IE9iamVjdENvbmZpZ0FjdGlvbiB8IE9iamVjdENvbmZpZ0JhZGdlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5vYmplY3RDb25maWcgPyAodGhpcy5vYmplY3RDb25maWcgYXMgYW55KVtwXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldENvbmZpZ1Byb3BlcnR5KHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ1Byb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25maWdWYWx1ZShwKSBhcyBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQWN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0Q29uZmlnPy5hY3Rpb25zID8gdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucy5tYXAoKGEpID0+IGEuaWQpIDogW107XG4gIH1cblxuICBzbG90U2VsZWN0KGl0ZW06IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRTbG90ID0gaXRlbTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChpZHg6IG51bWJlcltdKSB7XG4gICAgY29uc3QgdCA9IHRoaXMudHlwZXMoKVtpZHhbMF1dO1xuICAgIGlmICghdCkgcmV0dXJuO1xuICAgIGlmICh0LmZsYXZvcikgdGhpcy4jc2VsZWN0Rmxhdm9yKHQuZGF0YSBhcyBPYmplY3RGbGF2b3IpO1xuICAgIGVsc2UgdGhpcy4jc2VsZWN0VHlwZSh0LmRhdGEgYXMgVmlydHVhbE9iamVjdFR5cGUpO1xuICB9XG5cbiAgI3NlbGVjdEZsYXZvcihmbGF2b3I6IE9iamVjdEZsYXZvcikge1xuICAgIGNvbnN0IHQ6IEdlbmVyaWNPYmplY3RUeXBlIHwgdW5kZWZpbmVkID0gdGhpcy4jc3lzdGVtLmdldE9iamVjdFR5cGUoZmxhdm9yLnNvdCk7XG4gICAgaWYgKHQpXG4gICAgICB0aGlzLiNzZWxlY3RUeXBlKHtcbiAgICAgICAgaWQ6IGZsYXZvci5pZCxcbiAgICAgICAgb2JqZWN0VHlwZTogZmxhdm9yLm9iamVjdFR5cGVJRCxcbiAgICAgICAgc290czogW2ZsYXZvci5zb3RdXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jICNzZWxlY3RUeXBlKHQ6IFZpcnR1YWxPYmplY3RUeXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFR5cGUgPSB0O1xuXG4gICAgLy8gbG9hZCB0aWxlIGNvbmZpZ1xuICAgIHRoaXMub2JqZWN0Q29uZmlnID0gYXdhaXQgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWcodCwgdGhpcy5idWNrZXQoKSB8fCAnJyk7XG5cbiAgICBpZiAoIXRoaXMub2JqZWN0Q29uZmlnKSB7XG4gICAgICB0aGlzLm9iamVjdENvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5fZW1wdHlPYmplY3RDb25maWcsXG4gICAgICAgIG9iamVjdFR5cGVJZDogdC5pZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpY29uU2VsZWN0ZWQoaWNvbjogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykgdGhpcy5vYmplY3RDb25maWcuaWNvbiA9IGljb24gPyB7IHN2ZzogaWNvbiB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvcGVydHlTZWxlY3RlZCh0aWxlU2xvdDogc3RyaW5nLCBmaWVsZD86IFBhcnRpYWw8T2JqZWN0VHlwZUZpZWxkPikge1xuICAgIGNvbnN0IHA6IGFueSA9IHt9O1xuICAgIHBbdGlsZVNsb3RdID0gZmllbGRcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICBwcm9wZXJ0eU5hbWU6IGZpZWxkLmlkXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUoe1xuICAgICAgLi4udGhpcy5vYmplY3RDb25maWcsXG4gICAgICAuLi5wXG4gICAgfSk7XG4gIH1cblxuICBhY3Rpb25TZWxlY3RlZChhY3Rpb246IEFjdGlvbikge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgaWYgKCF0aGlzLm9iamVjdENvbmZpZz8uYWN0aW9ucykgdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucyA9IFtdO1xuXG4gICAgICBjb25zdCBpZHggPSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLmZpbmRJbmRleCgoYSkgPT4gYS5pZCA9PT0gYWN0aW9uLmlkKTtcbiAgICAgIGlmIChpZHggIT09IC0xKSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgZWxzZSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnB1c2goeyBpZDogYWN0aW9uLmlkIH0pO1xuICAgICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5vYmplY3RDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVDb25maWcoKSB7XG4gICAgdGhpcy5fc2F2ZVRpbGVDb25maWcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NhdmVUaWxlQ29uZmlnKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZSAmJiB0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5zYXZlT2JqZWN0Q29uZmlnKHRoaXMuc2VsZWN0ZWRUeXBlLCB0aGlzLm9iamVjdENvbmZpZywgdGhpcy5idWNrZXQoKSkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLnNhdmUuZW1pdCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxoMT57eyAneXV2LnRpbGUtY29uZmlnLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gIDxkaXYgY2xhc3M9XCJidWNrZXRcIj57eyBidWNrZXRMYWJlbCgpIH19PC9kaXY+XG4gIEBpZiAoY2FuY2VsKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cImljb25cIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPlxuICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2hlYWRlcj5cblxuPHl2Yy1zcGxpdC12aWV3IFtndXR0ZXJTaXplXT1cIjFcIiBbbGF5b3V0U2V0dGluZ3NJRF09XCIneXV2LmZyYW1ld29yay50aWxlLWNvbmZpZy5sYXlvdXQnXCI+XG4gIDwhLS0gbGlzdCBvZiB0eXBlcyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0eXBlc1wiPlxuICAgICAgPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgIEBmb3IgKHQgb2YgdHlwZXMoKSB8fCBbXTsgdHJhY2sgdC5pZCkge1xuICAgICAgICAgIDxkaXYgeXV2TGlzdEl0ZW0+XG4gICAgICAgICAgICBAaWYgKHQuaWNvbikge1xuICAgICAgICAgICAgICA8eXZjLWljb24gW3N2Z109XCJ0Lmljb25cIj48L3l2Yy1pY29uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx5dXYtb2JqZWN0LXR5cGUtaWNvbiBbb2JqZWN0VHlwZUlkXT1cInQuaWRcIj48L3l1di1vYmplY3QtdHlwZS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3sgdC5pZCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L3l1di1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gc2VsZWN0ZWQgdHlwZSBkZXRhaWxzLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNzBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxuICAgICAgQGlmIChzZWxlY3RlZFR5cGUpIHtcbiAgICAgICAgPGhlYWRlcj57eyBzZWxlY3RlZFR5cGUuaWQgfCB0cmFuc2xhdGUgfX08L2hlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR1bW15LXByZXZpZXdcIj5cbiAgICAgICAgICA8eXV2LXRpbGUtY29uZmlnLXRpbGUgW2Rpc2FibGVJY29uU2xvdF09XCJ0cnVlXCIgW2Rpc2FibGVCYWRnZXNTbG90XT1cInRydWVcIiBbb2JqZWN0Q29uZmlnXT1cIm9iamVjdENvbmZpZyFcIiAoc2xvdFNlbGVjdCk9XCJzbG90U2VsZWN0KCRldmVudClcIj48L3l1di10aWxlLWNvbmZpZy10aWxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1haW4+XG4gICAgICAgICAgQGlmIChzZWxlY3RlZFNsb3QgPT09ICdpY29uJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5pY29uLmhlYWRsaW5lJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgICA8eXV2LWljb24tc2VsZWN0IFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiIChpY29uU2VsZWN0KT1cImljb25TZWxlY3RlZCgkZXZlbnQpXCI+PC95dXYtaWNvbi1zZWxlY3Q+XG4gICAgICAgICAgfSBAZWxzZSBpZiAoc2VsZWN0ZWRTbG90ID09PSAnYmFkZ2VzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyIGVtcHR5XCI+XG4gICAgICAgICAgICAgIDxwPkZ1dHVyZSBmZWF0dXJlOiBTZWxlY3QgYmFkZ2VzIChsaWtlOiBpcyBmYXZvcml0ZSwgcmF0aW5ncywgLi4uKTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFzZWxlY3RlZFNsb3QpIHtcbiAgICAgICAgICB9IEBlbHNlIGlmIChzZWxlY3RlZFNsb3QgPT09ICdhY3Rpb25zJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5hY3Rpb24uaGVhZGxpbmUnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICAgIDx5dXYtdGlsZS1hY3Rpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZEFjdGlvbklkc109XCJnZXRTZWxlY3RlZEFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIChhY3Rpb25TZWxlY3QpPVwiYWN0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC95dXYtdGlsZS1hY3Rpb24tc2VsZWN0PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5wcm9wZXJ0eS5oZWFkbGluZScgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICAgICAgPHl1di10aWxlLXByb3BlcnR5LXNlbGVjdFxuICAgICAgICAgICAgICBbb2JqZWN0VHlwZV09XCJzZWxlY3RlZFR5cGVcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9wZXJ0eV09XCJnZXRDb25maWdQcm9wZXJ0eShzZWxlY3RlZFNsb3QpXCJcbiAgICAgICAgICAgICAgKHByb3BlcnR5U2VsZWN0KT1cInByb3BlcnR5U2VsZWN0ZWQoc2VsZWN0ZWRTbG90LCAkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3l1di10aWxlLXByb3BlcnR5LXNlbGVjdD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWFpbj5cbiAgICAgICAgPGZvb3Rlcj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29uZmlnKClcIj57eyAneXV2LnRpbGUtY29uZmlnLmJ1dHRvbi5zYXZlJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXIgZW1wdHlcIj5cbiAgICAgICAgICA8aDI+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHA+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
|
|
@@ -214,7 +214,7 @@ class ContextmenuComponent {
|
|
|
214
214
|
this.callback(this.actions()[index[0]]);
|
|
215
215
|
}
|
|
216
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextmenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ContextmenuComponent, isStandalone: true, selector: "yuv-contextmenu", ngImport: i0, template: "<yuv-list (itemSelect)=\"onItemSelect($event)\" cdkTrapFocus>\n @for (a of actions(); track a.id) {\n <div yuvListItem><yvc-icon [svg]=\"a.icon\"></yvc-icon> {{ a.label }}</div>\n }\n</yuv-list>\n", styles: [":host{--contextmenu-item-padding: calc(var(--app-pane-padding) / 2);--contextmenu-item-icon-size: 20px}:host [yuvListItem]{cursor:pointer;border-width:0 0 1px 0;display:flex;align-items:center;padding:var(--contextmenu-item-padding);gap:calc(var(--contextmenu-item-padding) * 1.5)}:host [yuvListItem] yvc-icon{--icon-size: var(--contextmenu-item-icon-size);flex:0 0 auto;color:var(--text-color-caption)}:host [yuvListItem]:hover,:host [yuvListItem][aria-current=true]{background-color:var(--item-focus-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1$1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ContextmenuComponent, isStandalone: true, selector: "yuv-contextmenu", ngImport: i0, template: "<yuv-list (itemSelect)=\"onItemSelect($event)\" cdkTrapFocus>\n @for (a of actions(); track a.id) {\n <div yuvListItem><yvc-icon [svg]=\"a.icon\"></yvc-icon> {{ a.label }}</div>\n }\n</yuv-list>\n", styles: [":host{--contextmenu-item-padding: calc(var(--app-pane-padding) / 2);--contextmenu-item-icon-size: 20px}:host [yuvListItem]{cursor:pointer;border-width:0 0 1px 0;display:flex;align-items:center;padding:var(--contextmenu-item-padding);gap:calc(var(--contextmenu-item-padding) * 1.5)}:host [yuvListItem] yvc-icon{--icon-size: var(--contextmenu-item-icon-size);flex:0 0 auto;color:var(--text-color-caption)}:host [yuvListItem]:hover,:host [yuvListItem][aria-current=true]{background-color:var(--item-focus-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1$1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
|
|
218
218
|
}
|
|
219
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextmenuComponent, decorators: [{
|
|
220
220
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuuvis-client-framework-actions.mjs","sources":["../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.module.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.icon.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.interface.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete/delete.component.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete/delete.component.html","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/download-action/download-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/copy-action/copy-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/components/contextmenu/contextmenu.component.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/components/contextmenu/contextmenu.component.html","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/cut-action/cut-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.service.ts","../../../../../libs/yuuvis/client-framework/actions/src/yuuvis-client-framework-actions.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, TranslateModule]\n})\nexport class ActionsModule {}\n","export const ACTION_ICON = {\n download: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M480-336 288-528l51-51 105 105v-342h72v342l105-105 51 51-192 192ZM263.72-192Q234-192 213-213.15T192-264v-72h72v72h432v-72h72v72q0 29.7-21.16 50.85Q725.68-192 695.96-192H263.72Z\"/></svg>',\n delete: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M312-144q-29.7 0-50.85-21.15Q240-186.3 240-216v-480h-48v-72h192v-48h192v48h192v72h-48v479.57Q720-186 698.85-165T648-144H312Zm336-552H312v480h336v-480ZM384-288h72v-336h-72v336Zm120 0h72v-336h-72v336ZM312-696v480-480Z\"/></svg>',\n copy: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M360-240q-29.7 0-50.85-21.15Q288-282.3 288-312v-480q0-29.7 21.15-50.85Q330.3-864 360-864h384q29.7 0 50.85 21.15Q816-821.7 816-792v480q0 29.7-21.15 50.85Q773.7-240 744-240H360Zm0-72h384v-480H360v480ZM216-96q-29.7 0-50.85-21.15Q144-138.3 144-168v-552h72v552h456v72H216Zm144-216v-480 480Z\"/></svg>',\n cut: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M744-144 480-407l-87 88q8 16 11.5 32.85 3.5 16.86 3.5 33.71 0 65.44-45 110.94T252-96q-64.35 0-110.18-45.5Q96-187 96-252t45.5-110.5Q187-408 252.44-408q16.85 0 33.71 4Q303-400 319-392l88-87-88-88q-16 8-32.85 11.5-16.86 3.5-33.71 3.5-65.44 0-110.94-45.5T96-708q0-65 45.5-110.5T252-864q65 0 110.5 45.5T408-707.56q0 16.85-3.5 33.71Q401-657 393-641l471 469v28H744ZM595-520l-74-74 223-222h120v28L595-520ZM252.25-624q34.75 0 59.25-24.75t24.5-59.5q0-34.75-24.75-59.25t-59.5-24.5q-34.75 0-59.25 24.75t-24.5 59.5q0 34.75 24.75 59.25t59.5 24.5ZM480-456q9.6 0 16.8-7.2 7.2-7.2 7.2-16.8 0-9.6-7.2-16.8-7.2-7.2-16.8-7.2-9.6 0-16.8 7.2-7.2 7.2-7.2 16.8 0 9.6 7.2 16.8 7.2 7.2 16.8 7.2ZM252.25-168q34.75 0 59.25-24.75t24.5-59.5q0-34.75-24.75-59.25t-59.5-24.5q-34.75 0-59.25 24.75t-24.5 59.5q0 34.75 24.75 59.25t59.5 24.5Z\"/></svg>',\n manageFlavor: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"m489-460 91-55 91 55-24-104 80-69-105-9-42-98-42 98-105 9 80 69-24 104Zm19 260h224q-7 26-24 42t-44 20L228-85q-33 5-59.5-15.5T138-154L85-591q-4-33 16-59t53-30l46-6v80l-36 5 54 437 290-36Zm-148-80q-33 0-56.5-23.5T280-360v-440q0-33 23.5-56.5T360-880h440q33 0 56.5 23.5T880-800v440q0 33-23.5 56.5T800-280H360Zm0-80h440v-440H360v440Zm220-220ZM218-164Z\"/></svg>'\n}","import { DmsObject } from '@yuuvis/client-core';\nimport { Observable } from 'rxjs';\n\nexport type ActionClass = { new (...args: any[]): any };\n\nexport class AbstractContextAction {\n context?: ActionContext;\n constructor(context?: ActionContext) {\n this.context = context;\n }\n}\n\nexport interface BaseAction {\n /**\n * Equals the selector of the actions selector (will be set by the action service)\n */\n id: string;\n /**\n * label to be displayed inside the action menu\n */\n label: string;\n /**\n * description to be displayed inside the action menu\n */\n description: string;\n /**\n * @ignore\n */\n icon: string;\n /**\n * actions priority defining the position of the action within the whole list of actions\n */\n priority: number;\n /**\n * group of actions the action should be part of ('common' or 'further')\n */\n group: string;\n /**\n * number of selected items supported by the action\n * (SelectionRange.SINGLE_SELECT, SelectionRange.MULTI_SELECT, SelectionRange.MULTI_SELECT_ONLY )\n */\n range: SelectionRange;\n\n /**\n * Types that are supported by the action\n */\n supports: ActionSupport;\n\n /**\n * Determining whether or not the action is executable for the given selection\n * @param item Current selection\n * @returns true if the action is executable for the current selection, false otherwise\n */\n isExecutable: (items: DmsObject[]) => Observable<boolean>;\n}\n\nexport interface ActionSupport {\n // object types\n types?: string[];\n // object types\n sots?: string[];\n // pattern to match the type name against\n pattern?: string;\n}\n\nexport interface ActionContext {\n /**\n * As actions deal with DmsObjects the subject property is the property that\n * should be used to display the name of the object. This may be used for\n * showing the name of the object in a confirmation/error dialog or similar.\n */\n subjectProperty?: string;\n /**\n * The appId is the id of the application that the action is executed in.\n */\n appId?: string;\n}\n\nexport interface Action extends BaseAction {\n run: (items: DmsObject[]) => Observable<boolean>;\n}\n\nexport interface ActionOptions {\n context?: ActionContext;\n exclude?: string[] | RegExp;\n}\n\nexport enum SelectionRange {\n SINGLE_SELECT,\n MULTI_SELECT,\n MULTI_SELECT_ONLY,\n ANY\n}\n\nexport const BASE_ACTION = {\n copy: 'yuv.base.copy',\n cut: 'yuv.base.cut',\n download: 'yuv.base.download',\n delete: 'yuv.base.delete'\n};\n","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { DmsObject, DmsService, ObjectDeleteError, ObjectDeleteResult, TranslateModule, TranslateService } from '@yuuvis/client-core';\nimport { YvcOverlayRef } from '@yuuvis/components/overlay';\nimport { ActionContext } from '../../../actions.interface';\n\n/**\n * @ignore\n */\n\n@Component({\n selector: 'yuv-delete',\n standalone: true,\n imports: [CommonModule, TranslateModule],\n templateUrl: './delete.component.html',\n styleUrls: ['./delete.component.scss']\n})\nexport class DeleteComponent {\n readonly #dmsService = inject(DmsService);\n readonly #oref = inject(YvcOverlayRef);\n private readonly translate = inject(TranslateService);\n\n errors?: {\n status: number;\n subject: string;\n message: string;\n }[] = [];\n deleting = false;\n deleteItems: DmsObject[] = this.#oref.data.items;\n context: ActionContext = this.#oref.data.context;\n\n run() {\n this.errors = [];\n if (this.deleteItems.length) {\n this.deleting = true;\n this.#dmsService\n .deleteDmsObjects(\n this.deleteItems.map((o) => ({\n id: o.id,\n subject: o.data[this.context.subjectProperty || o.id] as string\n }))\n )\n .subscribe({\n next: (res: ObjectDeleteResult[]) => {\n this.errors = res\n .filter((r) => !!r._error)\n .map((r: any) => ({\n status: r._error.status,\n subject: this.context?.subjectProperty ? r.properties[this.context.subjectProperty].value : r.id,\n message: this.#getErrorMessage(r._error)\n }));\n !this.errors.length && this.#oref.close();\n },\n complete: () => (this.deleting = false)\n });\n }\n }\n\n #getErrorMessage(error: ObjectDeleteError): string {\n switch (error.status) {\n case 403:\n return this.translate.instant('yuv.action-menu.action.delete.error.403');\n case 404:\n return this.translate.instant('yuv.action-menu.action.delete.error.404');\n default:\n return this.translate.instant('yuv.action-menu.action.delete.error.default');\n }\n }\n\n cancel() {\n this.#oref.close();\n }\n}\n","<div class=\"yuv-delete\" [ngClass]=\"{ deleting }\">\n <div class=\"yuv-loader-linear\"></div>\n\n @if (errors?.length) {\n <ul class=\"errors\">\n @for (e of errors; track $index) {\n <li class=\"error\">\n <span class=\"subject\">{{ e.subject }}</span>\n <span class=\"message\">{{ e.message }}</span>\n </li>\n }\n </ul>\n } @else {\n <p>{{ 'yuv.action-menu.action.delete.dms.object.confirm.message' | translate }}</p>\n }\n\n <div class=\"form-buttons\">\n <button [disabled]=\"deleting || errors?.length\" class=\"primary\" (click)=\"run()\">{{ 'yuv.action-menu.action.delete.dms.object.confirm.ok' | translate }}</button>\n <button [disabled]=\"deleting\" class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.action-menu.action.delete.dms.object.confirm.cancel' | translate }}</button>\n </div>\n</div>\n","import { inject } from '@angular/core';\nimport { DmsObject, RetentionField, TranslateService } from '@yuuvis/client-core';\nimport { YvcOverlayService } from '@yuuvis/components/overlay';\nimport { map, Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\nimport { DeleteComponent } from './delete/delete.component';\n\nexport class DeleteAction extends AbstractContextAction implements Action {\n private translate = inject(TranslateService);\n private overlay = inject(YvcOverlayService);\n\n id = BASE_ACTION.delete;\n label = this.translate.instant('yuv.action-menu.action.delete.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.delete.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.delete;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n const e = items[0];\n let isRetentionActive = false;\n if (e && e.data[RetentionField.RETENTION_START] && e.data[RetentionField.RETENTION_END]) {\n const currentDate = new Date();\n const retentionStart = new Date(e.data[RetentionField.RETENTION_START] as string);\n const retentionEnd = new Date(e.data[RetentionField.RETENTION_END] as string);\n isRetentionActive = retentionStart <= currentDate && currentDate <= retentionEnd;\n }\n return of(e && !!e.permissions && e.permissions.deleteObject && !isRetentionActive);\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n return this.overlay\n .open(DeleteComponent, {\n items,\n context: this.context\n })\n .afterClosed$.pipe(map(() => true));\n }\n}\n","import { inject } from '@angular/core';\nimport { DmsObject, DmsService, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class DownloadAction extends AbstractContextAction implements Action {\n private translate = inject(TranslateService);\n private dmsService = inject(DmsService);\n\n id = BASE_ACTION.download;\n label = this.translate.instant('yuv.action-menu.action.download.dms.object.content.label');\n description = this.translate.instant('yuv.action-menu.action.download.dms.object.content.description');\n priority = 2;\n icon = ACTION_ICON.download;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(selection: DmsObject[]) {\n const noContentMatch = (Array.isArray(selection) ? selection : [selection]).find((e) => !e.content);\n if (selection.length < 1) return of(false);\n return of(!noContentMatch);\n }\n\n run(selection: DmsObject[]): Observable<boolean> {\n this.dmsService.downloadContent(Array.isArray(selection) ? selection : [selection]);\n return of(true);\n }\n}\n","import { inject } from '@angular/core';\nimport { ClipboardService, DmsObject, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class CopyAction extends AbstractContextAction implements Action {\n private clipboardService = inject(ClipboardService);\n private translate = inject(TranslateService);\n\n id = BASE_ACTION.copy;\n label = this.translate.instant('yuv.action-menu.action.copy.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.copy.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.copy;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n const notAllowed = items.some((item) => !item.permissions?.writeIndexData);\n return of(items.length > 0 && !notAllowed);\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n this.clipboardService.addObjects(items, 'copy', this.context?.appId);\n return of(true);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Signal } from '@angular/core';\nimport { ListComponent, ListItemDirective } from '@yuuvis/client-framework/list';\nimport { YvcIconModule } from '@yuuvis/components/icon';\nimport { YvcOverlayRef } from '@yuuvis/components/overlay';\nimport { Action } from '../../actions.interface';\n\n@Component({\n selector: 'yuv-contextmenu',\n standalone: true,\n imports: [CommonModule, ListComponent, ListItemDirective, YvcIconModule, A11yModule],\n templateUrl: './contextmenu.component.html',\n styleUrl: './contextmenu.component.scss'\n})\nexport class ContextmenuComponent {\n private oRef = inject(YvcOverlayRef);\n actions: Signal<Action[]> = this.oRef.data.actions;\n callback: (action: Action) => void = this.oRef.data.callback;\n\n onItemSelect(index: number[]) {\n this.oRef?.close();\n this.callback(this.actions()[index[0]]);\n }\n}\n","<yuv-list (itemSelect)=\"onItemSelect($event)\" cdkTrapFocus>\n @for (a of actions(); track a.id) {\n <div yuvListItem><yvc-icon [svg]=\"a.icon\"></yvc-icon> {{ a.label }}</div>\n }\n</yuv-list>\n","import { inject } from '@angular/core';\nimport { ClipboardService, DmsObject, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class CutAction extends AbstractContextAction implements Action {\n private clipboardService = inject(ClipboardService);\n private translate = inject(TranslateService);\n\n id = BASE_ACTION.cut;\n label = this.translate.instant('yuv.action-menu.action.cut.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.cut.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.cut;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n return of(items.length > 0 && items.every((item) => item.permissions?.writeContent && item.permissions?.writeIndexData && item.permissions?.deleteObject));\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n this.clipboardService.addObjects(items, 'cut', this.context?.appId);\n return of(true);\n }\n}\n","import { Injectable, Injector, Signal, inject, runInInjectionContext } from '@angular/core';\nimport { DmsObject, Utils } from '@yuuvis/client-core';\nimport { Observable, forkJoin, map, of } from 'rxjs';\nimport { Action, ActionClass, ActionContext, ActionOptions } from './actions.interface';\nimport { DeleteAction } from './actions/delete-action/delete-action';\nimport { DownloadAction } from './actions/download-action/download-action';\nimport { CopyAction } from './actions/copy-action/copy-action';\nimport { YvcOverlayService } from '@yuuvis/components/overlay';\nimport { ContextmenuComponent } from './components/contextmenu/contextmenu.component';\nimport { FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { CutAction } from './actions/cut-action/cut-action';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActionsService {\n private readonly injector = inject(Injector);\n private overlay = inject(YvcOverlayService);\n\n private _registeredActions: Record<string, ActionClass> = {};\n\n registerActions(a: { id: string; action: ActionClass }[]) {\n Array.isArray(a) && a.forEach((a) => (this._registeredActions[a.id] = a.action));\n }\n\n concealActions(actionIDs: string[]) {\n Array.isArray(actionIDs) && actionIDs.forEach((id) => delete this._registeredActions[id]);\n }\n\n /**\n * Returns all actions that are executable for the given selection.\n * @param selection Array of DmsObjects to check for executable actions\n * @param options options to filter the actions\n * @returns Observable of actions that are executable for the given selection\n */\n getActions(selection: DmsObject[], options?: ActionOptions): Observable<Action[]> {\n // TODO: check if selection is empty or if nessasery at all\n // if (!selection || selection.length === 0) return of([]);\n const s: Observable<{ action: Action; executable: boolean }>[] = this.getAvailableActions(options?.context)\n .filter((ac) =>\n options?.exclude\n ? Array.isArray(options.exclude)\n ? !options.exclude.includes(ac.id)\n : options.exclude instanceof RegExp\n ? !options.exclude.test(ac.id)\n : true\n : true\n )\n .map((action: Action) =>\n action.isExecutable(selection).pipe(\n map((executable: boolean) => ({\n action,\n executable\n }))\n )\n );\n\n return forkJoin(s).pipe(map((res: { action: Action; executable: boolean }[]) => res.filter((r) => r.executable).map((r) => r.action)));\n }\n\n /**\n * Get all available actions. This includes the default actions and all registered actions but\n * without checking if they are executable.\n * @param context Context passed to the actions\n * @returns Array of available actions\n */\n getAvailableActions(context?: ActionContext): Action[] {\n let a: Action[] = [];\n\n runInInjectionContext(this.injector, () => {\n a = [...this._getDefaulActions(context), ...Object.values(this._registeredActions).map((ac: ActionClass) => new ac(context))];\n });\n return a;\n }\n\n getActionsForType(objectTypeId: string, context?: ActionContext): Action[] {\n return this.getAvailableActions(context).filter((a: Action) => this._actionsSupportsType(a, objectTypeId));\n }\n\n getActionById(id: string, context?: ActionContext): Action | undefined {\n return this.getAvailableActions(context).find((a) => a.id === id);\n }\n\n getActionsById(ids: string[], context?: ActionContext): Action[] {\n return this.getAvailableActions(context).filter((a) => ids.includes(a.id));\n }\n\n openContextMenu(actions: Signal<Action[]>, callback: (action: Action) => void, element: FlexibleConnectedPositionStrategyOrigin) {\n this.overlay.open(ContextmenuComponent, { actions, callback }, {}, element);\n }\n\n private _actionsSupportsType(action: Action, objectTypeId: string): boolean {\n const matchesTypes = action.supports.types ? action.supports.types.includes(objectTypeId) : false;\n const matchesSOTs = action.supports.sots ? action.supports.sots.includes(objectTypeId) : false;\n const matchesPattern = action.supports.pattern ? Utils.patternToRegExp(action.supports.pattern).test(objectTypeId) : false;\n return matchesTypes || matchesSOTs || matchesPattern;\n }\n\n private _getDefaulActions(context?: ActionContext): Action[] {\n return [new DeleteAction(context), new DownloadAction(context), new CopyAction(context), new CutAction(context)];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TranslateModule","i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yuuvis-client-framework-actions.mjs","sources":["../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.module.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.icon.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.interface.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete/delete.component.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete/delete.component.html","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/delete-action/delete-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/download-action/download-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/copy-action/copy-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/components/contextmenu/contextmenu.component.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/components/contextmenu/contextmenu.component.html","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions/cut-action/cut-action.ts","../../../../../libs/yuuvis/client-framework/actions/src/lib/actions.service.ts","../../../../../libs/yuuvis/client-framework/actions/src/yuuvis-client-framework-actions.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, TranslateModule]\n})\nexport class ActionsModule {}\n","export const ACTION_ICON = {\n download: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M480-336 288-528l51-51 105 105v-342h72v342l105-105 51 51-192 192ZM263.72-192Q234-192 213-213.15T192-264v-72h72v72h432v-72h72v72q0 29.7-21.16 50.85Q725.68-192 695.96-192H263.72Z\"/></svg>',\n delete: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M312-144q-29.7 0-50.85-21.15Q240-186.3 240-216v-480h-48v-72h192v-48h192v48h192v72h-48v479.57Q720-186 698.85-165T648-144H312Zm336-552H312v480h336v-480ZM384-288h72v-336h-72v336Zm120 0h72v-336h-72v336ZM312-696v480-480Z\"/></svg>',\n copy: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M360-240q-29.7 0-50.85-21.15Q288-282.3 288-312v-480q0-29.7 21.15-50.85Q330.3-864 360-864h384q29.7 0 50.85 21.15Q816-821.7 816-792v480q0 29.7-21.15 50.85Q773.7-240 744-240H360Zm0-72h384v-480H360v480ZM216-96q-29.7 0-50.85-21.15Q144-138.3 144-168v-552h72v552h456v72H216Zm144-216v-480 480Z\"/></svg>',\n cut: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20px\" viewBox=\"0 -960 960 960\" width=\"20px\" fill=\"#e8eaed\"><path d=\"M744-144 480-407l-87 88q8 16 11.5 32.85 3.5 16.86 3.5 33.71 0 65.44-45 110.94T252-96q-64.35 0-110.18-45.5Q96-187 96-252t45.5-110.5Q187-408 252.44-408q16.85 0 33.71 4Q303-400 319-392l88-87-88-88q-16 8-32.85 11.5-16.86 3.5-33.71 3.5-65.44 0-110.94-45.5T96-708q0-65 45.5-110.5T252-864q65 0 110.5 45.5T408-707.56q0 16.85-3.5 33.71Q401-657 393-641l471 469v28H744ZM595-520l-74-74 223-222h120v28L595-520ZM252.25-624q34.75 0 59.25-24.75t24.5-59.5q0-34.75-24.75-59.25t-59.5-24.5q-34.75 0-59.25 24.75t-24.5 59.5q0 34.75 24.75 59.25t59.5 24.5ZM480-456q9.6 0 16.8-7.2 7.2-7.2 7.2-16.8 0-9.6-7.2-16.8-7.2-7.2-16.8-7.2-9.6 0-16.8 7.2-7.2 7.2-7.2 16.8 0 9.6 7.2 16.8 7.2 7.2 16.8 7.2ZM252.25-168q34.75 0 59.25-24.75t24.5-59.5q0-34.75-24.75-59.25t-59.5-24.5q-34.75 0-59.25 24.75t-24.5 59.5q0 34.75 24.75 59.25t59.5 24.5Z\"/></svg>',\n manageFlavor: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"m489-460 91-55 91 55-24-104 80-69-105-9-42-98-42 98-105 9 80 69-24 104Zm19 260h224q-7 26-24 42t-44 20L228-85q-33 5-59.5-15.5T138-154L85-591q-4-33 16-59t53-30l46-6v80l-36 5 54 437 290-36Zm-148-80q-33 0-56.5-23.5T280-360v-440q0-33 23.5-56.5T360-880h440q33 0 56.5 23.5T880-800v440q0 33-23.5 56.5T800-280H360Zm0-80h440v-440H360v440Zm220-220ZM218-164Z\"/></svg>'\n}","import { DmsObject } from '@yuuvis/client-core';\nimport { Observable } from 'rxjs';\n\nexport type ActionClass = { new (...args: any[]): any };\n\nexport class AbstractContextAction {\n context?: ActionContext;\n constructor(context?: ActionContext) {\n this.context = context;\n }\n}\n\nexport interface BaseAction {\n /**\n * Equals the selector of the actions selector (will be set by the action service)\n */\n id: string;\n /**\n * label to be displayed inside the action menu\n */\n label: string;\n /**\n * description to be displayed inside the action menu\n */\n description: string;\n /**\n * @ignore\n */\n icon: string;\n /**\n * actions priority defining the position of the action within the whole list of actions\n */\n priority: number;\n /**\n * group of actions the action should be part of ('common' or 'further')\n */\n group: string;\n /**\n * number of selected items supported by the action\n * (SelectionRange.SINGLE_SELECT, SelectionRange.MULTI_SELECT, SelectionRange.MULTI_SELECT_ONLY )\n */\n range: SelectionRange;\n\n /**\n * Types that are supported by the action\n */\n supports: ActionSupport;\n\n /**\n * Determining whether or not the action is executable for the given selection\n * @param item Current selection\n * @returns true if the action is executable for the current selection, false otherwise\n */\n isExecutable: (items: DmsObject[]) => Observable<boolean>;\n}\n\nexport interface ActionSupport {\n // object types\n types?: string[];\n // object types\n sots?: string[];\n // pattern to match the type name against\n pattern?: string;\n}\n\nexport interface ActionContext {\n /**\n * As actions deal with DmsObjects the subject property is the property that\n * should be used to display the name of the object. This may be used for\n * showing the name of the object in a confirmation/error dialog or similar.\n */\n subjectProperty?: string;\n /**\n * The appId is the id of the application that the action is executed in.\n */\n appId?: string;\n}\n\nexport interface Action extends BaseAction {\n run: (items: DmsObject[]) => Observable<boolean>;\n}\n\nexport interface ActionOptions {\n context?: ActionContext;\n exclude?: string[] | RegExp;\n}\n\nexport enum SelectionRange {\n SINGLE_SELECT,\n MULTI_SELECT,\n MULTI_SELECT_ONLY,\n ANY\n}\n\nexport const BASE_ACTION = {\n copy: 'yuv.base.copy',\n cut: 'yuv.base.cut',\n download: 'yuv.base.download',\n delete: 'yuv.base.delete'\n};\n","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { DmsObject, DmsService, ObjectDeleteError, ObjectDeleteResult, TranslateModule, TranslateService } from '@yuuvis/client-core';\nimport { YvcOverlayRef } from '@yuuvis/components/overlay';\nimport { ActionContext } from '../../../actions.interface';\n\n/**\n * @ignore\n */\n\n@Component({\n selector: 'yuv-delete',\n standalone: true,\n imports: [CommonModule, TranslateModule],\n templateUrl: './delete.component.html',\n styleUrls: ['./delete.component.scss']\n})\nexport class DeleteComponent {\n readonly #dmsService = inject(DmsService);\n readonly #oref = inject(YvcOverlayRef);\n private readonly translate = inject(TranslateService);\n\n errors?: {\n status: number;\n subject: string;\n message: string;\n }[] = [];\n deleting = false;\n deleteItems: DmsObject[] = this.#oref.data.items;\n context: ActionContext = this.#oref.data.context;\n\n run() {\n this.errors = [];\n if (this.deleteItems.length) {\n this.deleting = true;\n this.#dmsService\n .deleteDmsObjects(\n this.deleteItems.map((o) => ({\n id: o.id,\n subject: o.data[this.context.subjectProperty || o.id] as string\n }))\n )\n .subscribe({\n next: (res: ObjectDeleteResult[]) => {\n this.errors = res\n .filter((r) => !!r._error)\n .map((r: any) => ({\n status: r._error.status,\n subject: this.context?.subjectProperty ? r.properties[this.context.subjectProperty].value : r.id,\n message: this.#getErrorMessage(r._error)\n }));\n !this.errors.length && this.#oref.close();\n },\n complete: () => (this.deleting = false)\n });\n }\n }\n\n #getErrorMessage(error: ObjectDeleteError): string {\n switch (error.status) {\n case 403:\n return this.translate.instant('yuv.action-menu.action.delete.error.403');\n case 404:\n return this.translate.instant('yuv.action-menu.action.delete.error.404');\n default:\n return this.translate.instant('yuv.action-menu.action.delete.error.default');\n }\n }\n\n cancel() {\n this.#oref.close();\n }\n}\n","<div class=\"yuv-delete\" [ngClass]=\"{ deleting }\">\n <div class=\"yuv-loader-linear\"></div>\n\n @if (errors?.length) {\n <ul class=\"errors\">\n @for (e of errors; track $index) {\n <li class=\"error\">\n <span class=\"subject\">{{ e.subject }}</span>\n <span class=\"message\">{{ e.message }}</span>\n </li>\n }\n </ul>\n } @else {\n <p>{{ 'yuv.action-menu.action.delete.dms.object.confirm.message' | translate }}</p>\n }\n\n <div class=\"form-buttons\">\n <button [disabled]=\"deleting || errors?.length\" class=\"primary\" (click)=\"run()\">{{ 'yuv.action-menu.action.delete.dms.object.confirm.ok' | translate }}</button>\n <button [disabled]=\"deleting\" class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.action-menu.action.delete.dms.object.confirm.cancel' | translate }}</button>\n </div>\n</div>\n","import { inject } from '@angular/core';\nimport { DmsObject, RetentionField, TranslateService } from '@yuuvis/client-core';\nimport { YvcOverlayService } from '@yuuvis/components/overlay';\nimport { map, Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\nimport { DeleteComponent } from './delete/delete.component';\n\nexport class DeleteAction extends AbstractContextAction implements Action {\n private translate = inject(TranslateService);\n private overlay = inject(YvcOverlayService);\n\n id = BASE_ACTION.delete;\n label = this.translate.instant('yuv.action-menu.action.delete.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.delete.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.delete;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n const e = items[0];\n let isRetentionActive = false;\n if (e && e.data[RetentionField.RETENTION_START] && e.data[RetentionField.RETENTION_END]) {\n const currentDate = new Date();\n const retentionStart = new Date(e.data[RetentionField.RETENTION_START] as string);\n const retentionEnd = new Date(e.data[RetentionField.RETENTION_END] as string);\n isRetentionActive = retentionStart <= currentDate && currentDate <= retentionEnd;\n }\n return of(e && !!e.permissions && e.permissions.deleteObject && !isRetentionActive);\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n return this.overlay\n .open(DeleteComponent, {\n items,\n context: this.context\n })\n .afterClosed$.pipe(map(() => true));\n }\n}\n","import { inject } from '@angular/core';\nimport { DmsObject, DmsService, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class DownloadAction extends AbstractContextAction implements Action {\n private translate = inject(TranslateService);\n private dmsService = inject(DmsService);\n\n id = BASE_ACTION.download;\n label = this.translate.instant('yuv.action-menu.action.download.dms.object.content.label');\n description = this.translate.instant('yuv.action-menu.action.download.dms.object.content.description');\n priority = 2;\n icon = ACTION_ICON.download;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(selection: DmsObject[]) {\n const noContentMatch = (Array.isArray(selection) ? selection : [selection]).find((e) => !e.content);\n if (selection.length < 1) return of(false);\n return of(!noContentMatch);\n }\n\n run(selection: DmsObject[]): Observable<boolean> {\n this.dmsService.downloadContent(Array.isArray(selection) ? selection : [selection]);\n return of(true);\n }\n}\n","import { inject } from '@angular/core';\nimport { ClipboardService, DmsObject, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class CopyAction extends AbstractContextAction implements Action {\n private clipboardService = inject(ClipboardService);\n private translate = inject(TranslateService);\n\n id = BASE_ACTION.copy;\n label = this.translate.instant('yuv.action-menu.action.copy.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.copy.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.copy;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n const notAllowed = items.some((item) => !item.permissions?.writeIndexData);\n return of(items.length > 0 && !notAllowed);\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n this.clipboardService.addObjects(items, 'copy', this.context?.appId);\n return of(true);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Signal } from '@angular/core';\nimport { ListComponent, ListItemDirective } from '@yuuvis/client-framework/list';\nimport { YvcIconModule } from '@yuuvis/components/icon';\nimport { YvcOverlayRef } from '@yuuvis/components/overlay';\nimport { Action } from '../../actions.interface';\n\n@Component({\n selector: 'yuv-contextmenu',\n standalone: true,\n imports: [CommonModule, ListComponent, ListItemDirective, YvcIconModule, A11yModule],\n templateUrl: './contextmenu.component.html',\n styleUrl: './contextmenu.component.scss'\n})\nexport class ContextmenuComponent {\n private oRef = inject(YvcOverlayRef);\n actions: Signal<Action[]> = this.oRef.data.actions;\n callback: (action: Action) => void = this.oRef.data.callback;\n\n onItemSelect(index: number[]) {\n this.oRef?.close();\n this.callback(this.actions()[index[0]]);\n }\n}\n","<yuv-list (itemSelect)=\"onItemSelect($event)\" cdkTrapFocus>\n @for (a of actions(); track a.id) {\n <div yuvListItem><yvc-icon [svg]=\"a.icon\"></yvc-icon> {{ a.label }}</div>\n }\n</yuv-list>\n","import { inject } from '@angular/core';\nimport { ClipboardService, DmsObject, TranslateService } from '@yuuvis/client-core';\nimport { Observable, of } from 'rxjs';\nimport { ACTION_ICON } from '../../actions.icon';\nimport { AbstractContextAction, Action, ActionSupport, BASE_ACTION, SelectionRange } from '../../actions.interface';\n\nexport class CutAction extends AbstractContextAction implements Action {\n private clipboardService = inject(ClipboardService);\n private translate = inject(TranslateService);\n\n id = BASE_ACTION.cut;\n label = this.translate.instant('yuv.action-menu.action.cut.dms.object.label');\n description = this.translate.instant('yuv.action-menu.action.cut.dms.object.description');\n priority = 8;\n icon = ACTION_ICON.cut;\n group = 'common';\n range = SelectionRange.MULTI_SELECT;\n supports: ActionSupport = {\n pattern: '*'\n };\n\n isExecutable(items: DmsObject[]) {\n return of(items.length > 0 && items.every((item) => item.permissions?.writeContent && item.permissions?.writeIndexData && item.permissions?.deleteObject));\n }\n\n run(items: DmsObject[]): Observable<boolean> {\n this.clipboardService.addObjects(items, 'cut', this.context?.appId);\n return of(true);\n }\n}\n","import { Injectable, Injector, Signal, inject, runInInjectionContext } from '@angular/core';\nimport { DmsObject, Utils } from '@yuuvis/client-core';\nimport { Observable, forkJoin, map, of } from 'rxjs';\nimport { Action, ActionClass, ActionContext, ActionOptions } from './actions.interface';\nimport { DeleteAction } from './actions/delete-action/delete-action';\nimport { DownloadAction } from './actions/download-action/download-action';\nimport { CopyAction } from './actions/copy-action/copy-action';\nimport { YvcOverlayService } from '@yuuvis/components/overlay';\nimport { ContextmenuComponent } from './components/contextmenu/contextmenu.component';\nimport { FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { CutAction } from './actions/cut-action/cut-action';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActionsService {\n private readonly injector = inject(Injector);\n private overlay = inject(YvcOverlayService);\n\n private _registeredActions: Record<string, ActionClass> = {};\n\n registerActions(a: { id: string; action: ActionClass }[]) {\n Array.isArray(a) && a.forEach((a) => (this._registeredActions[a.id] = a.action));\n }\n\n concealActions(actionIDs: string[]) {\n Array.isArray(actionIDs) && actionIDs.forEach((id) => delete this._registeredActions[id]);\n }\n\n /**\n * Returns all actions that are executable for the given selection.\n * @param selection Array of DmsObjects to check for executable actions\n * @param options options to filter the actions\n * @returns Observable of actions that are executable for the given selection\n */\n getActions(selection: DmsObject[], options?: ActionOptions): Observable<Action[]> {\n // TODO: check if selection is empty or if nessasery at all\n // if (!selection || selection.length === 0) return of([]);\n const s: Observable<{ action: Action; executable: boolean }>[] = this.getAvailableActions(options?.context)\n .filter((ac) =>\n options?.exclude\n ? Array.isArray(options.exclude)\n ? !options.exclude.includes(ac.id)\n : options.exclude instanceof RegExp\n ? !options.exclude.test(ac.id)\n : true\n : true\n )\n .map((action: Action) =>\n action.isExecutable(selection).pipe(\n map((executable: boolean) => ({\n action,\n executable\n }))\n )\n );\n\n return forkJoin(s).pipe(map((res: { action: Action; executable: boolean }[]) => res.filter((r) => r.executable).map((r) => r.action)));\n }\n\n /**\n * Get all available actions. This includes the default actions and all registered actions but\n * without checking if they are executable.\n * @param context Context passed to the actions\n * @returns Array of available actions\n */\n getAvailableActions(context?: ActionContext): Action[] {\n let a: Action[] = [];\n\n runInInjectionContext(this.injector, () => {\n a = [...this._getDefaulActions(context), ...Object.values(this._registeredActions).map((ac: ActionClass) => new ac(context))];\n });\n return a;\n }\n\n getActionsForType(objectTypeId: string, context?: ActionContext): Action[] {\n return this.getAvailableActions(context).filter((a: Action) => this._actionsSupportsType(a, objectTypeId));\n }\n\n getActionById(id: string, context?: ActionContext): Action | undefined {\n return this.getAvailableActions(context).find((a) => a.id === id);\n }\n\n getActionsById(ids: string[], context?: ActionContext): Action[] {\n return this.getAvailableActions(context).filter((a) => ids.includes(a.id));\n }\n\n openContextMenu(actions: Signal<Action[]>, callback: (action: Action) => void, element: FlexibleConnectedPositionStrategyOrigin) {\n this.overlay.open(ContextmenuComponent, { actions, callback }, {}, element);\n }\n\n private _actionsSupportsType(action: Action, objectTypeId: string): boolean {\n const matchesTypes = action.supports.types ? action.supports.types.includes(objectTypeId) : false;\n const matchesSOTs = action.supports.sots ? action.supports.sots.includes(objectTypeId) : false;\n const matchesPattern = action.supports.pattern ? Utils.patternToRegExp(action.supports.pattern).test(objectTypeId) : false;\n return matchesTypes || matchesSOTs || matchesPattern;\n }\n\n private _getDefaulActions(context?: ActionContext): Action[] {\n return [new DeleteAction(context), new DownloadAction(context), new CopyAction(context), new CutAction(context)];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TranslateModule","i1","i2"],"mappings":"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"}
|