@yuuvis/client-framework 0.10.0 → 0.11.1
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/actions/download-action/download-action.mjs +3 -3
- package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +2 -2
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +2 -2
- package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +5 -2
- package/fesm2022/yuuvis-client-framework-actions.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +4 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/lib/assets/i18n/de.json +23 -23
- package/lib/assets/i18n/en.json +27 -27
- package/package.json +10 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inject } from '@angular/core';
|
|
2
|
-
import { DmsService, TranslateService } from '@yuuvis/client-core';
|
|
2
|
+
import { DmsService, SystemType, TranslateService } from '@yuuvis/client-core';
|
|
3
3
|
import { of } from 'rxjs';
|
|
4
4
|
import { ACTION_ICON } from '../../actions.icon';
|
|
5
5
|
import { AbstractContextAction, BASE_ACTION, SelectionRange } from '../../actions.interface';
|
|
@@ -16,7 +16,7 @@ export class DownloadAction extends AbstractContextAction {
|
|
|
16
16
|
this.group = 'common';
|
|
17
17
|
this.range = SelectionRange.MULTI_SELECT;
|
|
18
18
|
this.supports = {
|
|
19
|
-
|
|
19
|
+
types: [SystemType.DOCUMENT]
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
isExecutable(selection) {
|
|
@@ -30,4 +30,4 @@ export class DownloadAction extends AbstractContextAction {
|
|
|
30
30
|
return of(true);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9hY3Rpb25zL3NyYy9saWIvYWN0aW9ucy9kb3dubG9hZC1hY3Rpb24vZG93bmxvYWQtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFhLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQXlCLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwSCxNQUFNLE9BQU8sY0FBZSxTQUFRLHFCQUFxQjtJQUF6RDs7UUFDVSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4QyxPQUFFLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUMxQixVQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUMzRixnQkFBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7UUFDdkcsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFNBQUksR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQzVCLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsVUFBSyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUM7UUFDcEMsYUFBUSxHQUFrQjtZQUN4QixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzdCLENBQUM7SUFZSixDQUFDO0lBVkMsWUFBWSxDQUFDLFNBQXNCO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUFzQjtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNwRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERtc09iamVjdCwgRG1zU2VydmljZSwgU3lzdGVtVHlwZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFDVElPTl9JQ09OIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy5pY29uJztcbmltcG9ydCB7IEFic3RyYWN0Q29udGV4dEFjdGlvbiwgQWN0aW9uLCBBY3Rpb25TdXBwb3J0LCBCQVNFX0FDVElPTiwgU2VsZWN0aW9uUmFuZ2UgfSBmcm9tICcuLi8uLi9hY3Rpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBEb3dubG9hZEFjdGlvbiBleHRlbmRzIEFic3RyYWN0Q29udGV4dEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIGRtc1NlcnZpY2UgPSBpbmplY3QoRG1zU2VydmljZSk7XG5cbiAgaWQgPSBCQVNFX0FDVElPTi5kb3dubG9hZDtcbiAgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYWN0aW9uLW1lbnUuYWN0aW9uLmRvd25sb2FkLmRtcy5vYmplY3QuY29udGVudC5sYWJlbCcpO1xuICBkZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hY3Rpb24tbWVudS5hY3Rpb24uZG93bmxvYWQuZG1zLm9iamVjdC5jb250ZW50LmRlc2NyaXB0aW9uJyk7XG4gIHByaW9yaXR5ID0gMjtcbiAgaWNvbiA9IEFDVElPTl9JQ09OLmRvd25sb2FkO1xuICBncm91cCA9ICdjb21tb24nO1xuICByYW5nZSA9IFNlbGVjdGlvblJhbmdlLk1VTFRJX1NFTEVDVDtcbiAgc3VwcG9ydHM6IEFjdGlvblN1cHBvcnQgPSB7XG4gICAgdHlwZXM6IFtTeXN0ZW1UeXBlLkRPQ1VNRU5UXVxuICB9O1xuXG4gIGlzRXhlY3V0YWJsZShzZWxlY3Rpb246IERtc09iamVjdFtdKSB7XG4gICAgY29uc3Qgbm9Db250ZW50TWF0Y2ggPSAoQXJyYXkuaXNBcnJheShzZWxlY3Rpb24pID8gc2VsZWN0aW9uIDogW3NlbGVjdGlvbl0pLmZpbmQoKGUpID0+ICFlLmNvbnRlbnQpO1xuICAgIGlmIChzZWxlY3Rpb24ubGVuZ3RoIDwgMSkgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICByZXR1cm4gb2YoIW5vQ29udGVudE1hdGNoKTtcbiAgfVxuXG4gIHJ1bihzZWxlY3Rpb246IERtc09iamVjdFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgdGhpcy5kbXNTZXJ2aWNlLmRvd25sb2FkQ29udGVudChBcnJheS5pc0FycmF5KHNlbGVjdGlvbikgPyBzZWxlY3Rpb24gOiBbc2VsZWN0aW9uXSk7XG4gICAgcmV0dXJuIG9mKHRydWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -52,7 +52,7 @@ export class DatetimeComponent {
|
|
|
52
52
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
53
53
|
registerOnTouched() { }
|
|
54
54
|
onValueChange(e) {
|
|
55
|
-
this.propagateChange(e);
|
|
55
|
+
this.propagateChange(this.withTime ? e : e.toISOString().split('T')[0]);
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
58
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatetimeComponent, isStandalone: true, selector: "yuv-datetime", inputs: { onlyFutureDates: "onlyFutureDates", readonly: "readonly", withTime: "withTime" }, providers: [
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
79
79
|
}], withTime: [{
|
|
80
80
|
type: Input
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL2RhdGV0aW1lL2RhdGV0aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9kYXRldGltZS9kYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQWdCdEYsTUFBTSxPQUFPLGlCQUFpQjtJQXFCNUI7UUFwQlEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdDLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQzFCLFdBQU0sR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUc1Qzs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFjMUIsbUdBQW1HO1FBQ25HLG9CQUFlLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QyxnRUFBZ0U7UUFDaEUscUJBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBZDFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQztZQUNsRixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUM7WUFDbkYsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUU7U0FDeEYsQ0FBQztJQUNKLENBQUM7SUFNRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHlCQUF5QixDQUFFLEVBQWM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLGlCQUFpQixLQUFVLENBQUM7SUFFNUIsYUFBYSxDQUFDLENBQU07UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDOytHQTNEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1SkFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDakJILHFUQUc2RCwwR0RLakQsV0FBVyw4VkFBRSxtQkFBbUI7OzRGQVcvQixpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsb0JBQW9CLGFBR25EO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REFZUSxlQUFlO3NCQUF2QixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckxhYmVscywgWXZjRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9kYXRlcGlja2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWRhdGV0aW1lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBZdmNEYXRlcGlja2VyTW9kdWxlLCBEYXRldGltZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXRpbWVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIHZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGxvY2FsZTogc3RyaW5nID0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmc7XG4gIGxhYmVscz86IERhdGVwaWNrZXJMYWJlbHM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IG9ubHkgdmFsdWVzIGluIHRoZSBmdXR1cmUgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgQElucHV0KCkgb25seUZ1dHVyZURhdGVzID0gZmFsc2U7XG4gIC8qKlxuICAgKiBXaWxsIHByZXZlbnQgdGhlIGlucHV0IGZyb20gYmVpbmcgY2hhbmdlZCAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHNldHRpbmcgdGltZSBhcyB3ZWxsIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaW1lID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fc2V0TGFiZWxzKCk7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZTogTGFuZ0NoYW5nZUV2ZW50KSA9PiAodGhpcy5sb2NhbGUgPSBlLmxhbmcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldExhYmVscygpIHtcbiAgICB0aGlzLmxhYmVscyA9IHtcbiAgICAgIGNhbGVuZGFyQXBwbHk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5mb3JtLmVsZW1lbnQuZGF0ZXRpbWUuY2FsZW5kYXIuc2VsZWN0JyksXG4gICAgICBjYWxlbmRhckNhbmNlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmZvcm0uZWxlbWVudC5kYXRldGltZS5jYWxlbmRhci5jYW5jZWwnKSxcbiAgICAgIHNob3J0Y3V0OiB7IHRvZGF5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuZm9ybS5lbGVtZW50LmRhdGV0aW1lLmNhbGVuZGFyLnRvZGF5JykgfVxuICAgIH07XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChmbjogKCkgPT4gdm9pZCkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgdmFsaWRhdGlvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICBvblZhbHVlQ2hhbmdlKGU6IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMud2l0aFRpbWUgPyBlIDogZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF0pO1xuICB9XG59XG4iLCI8eXZjLWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFtsb2NhbGVdPVwibG9jYWxlXCIgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCIgW2xhYmVsc109XCJsYWJlbHMhXCJcbiAgICBbb25seUZ1dHVyZURhdGVzXT1cIm9ubHlGdXR1cmVEYXRlc1wiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwveXZjLWRhdGVwaWNrZXI+Il19
|
|
@@ -195,7 +195,7 @@ export class ObjectSummaryComponent {
|
|
|
195
195
|
this.flavorData = {
|
|
196
196
|
flavor,
|
|
197
197
|
label: this.translate.instant(flavor.id),
|
|
198
|
-
properties: sot.fields.map((f) => ({
|
|
198
|
+
properties: sot.fields.filter(f => f._internalType !== 'table').map((f) => ({
|
|
199
199
|
label: this.#systemService.getLocalizedLabel(f.id) || f.id,
|
|
200
200
|
value: {
|
|
201
201
|
propertyName: f.id,
|
|
@@ -272,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
272
272
|
}
|
|
273
273
|
], template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon?.svg) {\n <yvc-icon draggable=\"false\" [svg]=\"imageSlide.icon?.svg!\"></yvc-icon>\n } @else if (imageSlide.icon?.src) {\n <yvc-icon draggable=\"false\" [svgSrc]=\"imageSlide.icon?.src!\"></yvc-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">{{ folderInfo.size }}</div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o && !o.isFolder) {\n <yuv-object-flavor [dmsObject]=\"o\" (flavorClick)=\"onFlavorClick($event)\"></yuv-object-flavor>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h1>{{ header?.title }}</h1>\n\n <div class=\"actions\">\n <yvc-overflow-menu [hideLabels]=\"true\" [menuItems]=\"actions()\"></yvc-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n }\n\n @if (flavorData) {\n <section class=\"flavor properties\">\n <!-- <h2>{{ flavorData.label }}</h2> -->\n @for (p of flavorData.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n\n <section class=\"properties\">\n @for (p of baseData; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n</div>\n", styles: ["section.title{padding:var(--app-pane-padding);display:flex;justify-content:space-between;align-items:center;gap:var(--app-pane-padding)}section.title h1{margin:0;padding:0;font-size:var(--font-title);font-weight:400;text-overflow:ellipsis;overflow:hidden}section.title .actions yvc-icon{--icon-size: 18px}section.title .actions button.quickAccess.isFavorite{color:var(--color-accent)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--panel-divider-color);background-color:var(--panel-background-grey);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:calc(var(--app-pane-padding) / 2);inset-block-start:calc(var(--app-pane-padding) / 2);font-size:3rem;color:var(--text-color-hint)}section.slide yvc-icon{max-height:var(--max-slide-size);max-width:var(--max-slide-size);width:50%;height:50%;opacity:.3}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--panel-background);outline-offset:-4px;box-shadow:0 0 0 1px var(--panel-divider-color)}section.slide img:not(.loading){opacity:1}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--app-pane-padding)}:host section:not(.badges) h2{font-size:var(--font-subhead);font-weight:400}:host yuv-object-flavor{border-block-end:1px solid var(--panel-divider-color);min-height:30px}:host .content{flex:1;overflow-y:auto}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:calc(var(--app-pane-padding) / 4);padding-inline:var(--app-pane-padding)}:host section.properties .row{display:flex;flex-flow:row wrap;align-items:start;column-gap:1rem;margin-block-end:calc(var(--app-pane-padding) / 2)}:host section.properties .row .label{font-weight:700;font-size:var(--font-caption)}:host section.properties .row .value{word-break:break-all}\n"] }]
|
|
274
274
|
}], ctorParameters: () => [] });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3Qtc3VtbWFyeS9zcmMvbGliL29iamVjdC1zdW1tYXJ5L29iamVjdC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LXN1bW1hcnkvc3JjL2xpYi9vYmplY3Qtc3VtbWFyeS9vYmplY3Qtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUVsQixVQUFVLEVBQ1YsWUFBWSxFQUVaLG1CQUFtQixFQUNuQixRQUFRLEVBR1IsYUFBYSxFQUNiLGFBQWEsRUFDYixTQUFTLEVBQ1QsZUFBZSxFQUNmLGdCQUFnQixFQUdoQixZQUFZLEVBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxF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LENBQUMsRUFBRSxFQUFFO2dCQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMxRSxLQUFLLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLENBQUM7d0JBQ2YsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUN6QjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytHQS9SVSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5cEJBU1gscUJBQXFCLDhKQ3JFN0MsMjREQTREQSxtaEVEbkJJLE9BQU8sb0ZBQ1Asb0JBQW9CLHdGQUNwQixlQUFlLCtCQUNmLGlCQUFpQixtRkFDakIscUJBQXFCLDhHQUNyQixnQkFBZ0IsOEJBQ2hCLGFBQWEsK0hBQ2Isd0JBQXdCLGtJQUN4Qix1QkFBdUI7OzRGQVdkLHNCQUFzQjtrQkF2QmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3FCQUN4QixrQkFHZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzt5QkFDakM7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQmFzZU9iamVjdFR5cGVGaWVsZCxcbiAgQ29uZmlnVHlwZU9wdGlvbixcbiAgQ29udGVudFN0cmVhbUZpZWxkLFxuICBEbXNPYmplY3QsXG4gIERtc1NlcnZpY2UsXG4gIEV2ZW50U2VydmljZSxcbiAgT2JqZWN0Q29uZmlnUmVjb3JkLFxuICBPYmplY3RDb25maWdTZXJ2aWNlLFxuICBPcGVyYXRvcixcbiAgUmVzb2x2ZWRPYmplY3RDb25maWcsXG4gIFNlYXJjaFF1ZXJ5LFxuICBTZWFyY2hTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBTeXN0ZW1TT1QsXG4gIFRyYW5zbGF0ZU1vZHVsZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgVmlydHVhbE9iamVjdFR5cGUsXG4gIFl1dkV2ZW50LFxuICBZdXZFdmVudFR5cGVcbn0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBCdXN5T3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24nO1xuaW1wb3J0IHsgWVVWX0lDT05TIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2ljb25zJztcbmltcG9ydCB7IFJldGVudGlvbkJhZGdlQ29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzJztcbmltcG9ydCB7IE9iamVjdEZsYXZvckNvbXBvbmVudCB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yJztcbmltcG9ydCB7IFJlbmRlcmVyRGlyZWN0aXZlLCBSZW5kZXJlckRpcmVjdGl2ZUlucHV0IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3JlbmRlcmVyJztcbmltcG9ydCB7IE9iamVjdEZsYXZvciB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuaW1wb3J0IHsgWXZjSWNvbk1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IE1lbnVJdGVtLCBZdmNPdmVyZmxvd01lbnVDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudSc7XG5pbXBvcnQgeyBZdmNPdmVybGF5TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL292ZXJsYXknO1xuXG4vKipcbiAqIENvbXBvbmVudCBzaG93aW5nIGEgc3VtbWFyeSBvZiB0aGUgZ2l2ZW4gZG1zIG9iamVjdC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW9iamVjdC1zdW1tYXJ5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgQnVzeU92ZXJsYXlEaXJlY3RpdmUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlbmRlcmVyRGlyZWN0aXZlLFxuICAgIE9iamVjdEZsYXZvckNvbXBvbmVudCxcbiAgICBZdmNPdmVybGF5TW9kdWxlLFxuICAgIFl2Y0ljb25Nb2R1bGUsXG4gICAgWXZjT3ZlcmZsb3dNZW51Q29tcG9uZW50LFxuICAgIFJldGVudGlvbkJhZGdlQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3Qtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYmplY3Qtc3VtbWFyeS5jb21wb25lbnQuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBCdXN5T3ZlcmxheURpcmVjdGl2ZSxcbiAgICAgIGlucHV0czogWyd5dXZCdXN5T3ZlcmxheTogYnVzeSddXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdFN1bW1hcnlDb21wb25lbnQge1xuICByZWFkb25seSAjZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEV2ZW50U2VydmljZSk7XG4gIHJlYWRvbmx5ICNkbXNTZXJ2aWNlID0gaW5qZWN0KERtc1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3N5c3RlbVNlcnZpY2UgPSBpbmplY3QoU3lzdGVtU2VydmljZSk7XG4gIHJlYWRvbmx5ICNvYmplY3RDb25maWdTZXJ2aWNlID0gaW5qZWN0KE9iamVjdENvbmZpZ1NlcnZpY2UpO1xuICByZWFkb25seSAjc2VhcmNoU2VydmljZSA9IGluamVjdChTZWFyY2hTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2NkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBmbGF2b3JDbXAgPSB2aWV3Q2hpbGQoT2JqZWN0Rmxhdm9yQ29tcG9uZW50KTtcblxuICAjb2M/OiBPYmplY3RDb25maWdSZWNvcmQ7XG5cbiAgc2xpZGUgPSBzaWduYWw8e1xuICAgIGljb24/OiB7XG4gICAgICBzcmM/OiBzdHJpbmc7XG4gICAgICBzdmc/OiBzdHJpbmc7XG4gICAgICB0aXRsZT86IHN0cmluZztcbiAgICB9O1xuICAgIHVyaT86IHN0cmluZztcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIG9yaWVudGF0aW9uPzogJ3BvcnRyYWl0JyB8ICdsYW5kc2NhcGUnO1xuICB9Pih7XG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSk7XG4gIGJ1c3kgPSB0cnVlO1xuXG4gIGNvbnRleHRFcnJvcj86IHN0cmluZztcbiAgaGVhZGVyRGF0YSA9IHNpZ25hbDxcbiAgICB8IHtcbiAgICAgICAgaWNvbj86IHtcbiAgICAgICAgICBzcmM/OiBzdHJpbmc7XG4gICAgICAgICAgc3ZnPzogc3RyaW5nO1xuICAgICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuXG4gIGJhc2VEYXRhOiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogUmVuZGVyZXJEaXJlY3RpdmVJbnB1dDtcbiAgfVtdID0gW107XG5cbiAgZmxhdm9yRGF0YT86IHtcbiAgICBmbGF2b3I6IE9iamVjdEZsYXZvcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICB2YWx1ZTogUmVuZGVyZXJEaXJlY3RpdmVJbnB1dDtcbiAgICB9W107XG4gIH07XG5cbiAgaWNvbnMgPSB7XG4gICAgZm9sZGVyOiBZVVZfSUNPTlMuZm9sZGVyXG4gIH07XG5cbiAgYWN0aW9ucyA9IGlucHV0PE1lbnVJdGVtW10+KFtdKTtcbiAgZm9sZGVySW5mbz86IHtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgZW50cmllczoge1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICBjb3VudDogbnVtYmVyO1xuICAgIH1bXTtcbiAgfTtcblxuICAvKipcbiAgICogRG1zT2JqZWN0IHRvIHNob3cgdGhlIGRldGFpbHMgZm9yLlxuICAgKi9cblxuICBkbXNPYmplY3QgPSBzaWduYWw8RG1zT2JqZWN0IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGRtc09iamVjdElucHV0ID0gaW5wdXQ8RG1zT2JqZWN0IHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICdkbXNPYmplY3QnIH0pO1xuICAjZG1zT2JqZWN0SW5wdXRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0SW5wdXQoKTtcbiAgICBjb25zdCBjb250ZW50Q2hhbmdlZCA9IHRoaXMuZG1zT2JqZWN0KCk/LmNvbnRlbnQ/LmNvbnRlbnRTdHJlYW1JZCAhPT0gZG1zT2JqZWN0Py5jb250ZW50Py5jb250ZW50U3RyZWFtSWQ7XG5cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5kbXNPYmplY3Quc2V0KGRtc09iamVjdCk7XG4gICAgICBjb250ZW50Q2hhbmdlZCAmJiB0aGlzLnNsaWRlLnVwZGF0ZSgoc2xpZGUpID0+ICh7IC4uLnNsaWRlLCB1cmk6IHVuZGVmaW5lZCwgaWNvbjogdW5kZWZpbmVkLCBpY29uU3ZnOiB1bmRlZmluZWQgfSkpO1xuICAgICAgaWYgKGRtc09iamVjdCkge1xuICAgICAgICB0aGlzLiNnZXRIZWFkZXJEYXRhKCk7XG4gICAgICAgIHRoaXMuI2dldEJhc2VEYXRhKCk7XG4gICAgICAgIChjb250ZW50Q2hhbmdlZCB8fCBkbXNPYmplY3QuaXNGb2xkZXIpICYmIHRoaXMuI3NldHVwU2xpZGUoKTtcbiAgICAgICAgdGhpcy5mb2xkZXJJbmZvID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkbXNPYmplY3QuaXNGb2xkZXIpIHRoaXMuI2ZldGNoRm9sZGVySW5mbyhkbXNPYmplY3QuaWQpO1xuXG4gICAgICAgIC8vIGlmIGEgZmxhdm9yIGhhcyBiZWVuIHNlbGVjdGVkIGFuZCBhIG5ldyBvYmplY3QgY29tZXMgaW4sIHdlJ2xsIGNoZWNrIGlmXG4gICAgICAgIC8vIHRoZSBuZXcgb2JqZWN0IGhhcyB0aGUgc2FtZSBmbGF2b3IgYW5kIHVwZGF0ZSB0aGUgZmxhdm9yIGRhdGFcbiAgICAgICAgaWYgKHRoaXMuZmxhdm9yRGF0YSAmJiBkbXNPYmplY3Quc290cy5pbmNsdWRlcyh0aGlzLmZsYXZvckRhdGEuZmxhdm9yLnNvdCkpIHtcbiAgICAgICAgICB0aGlzLiNnZXRGbGF2b3JEYXRhKHRoaXMuZmxhdm9yRGF0YS5mbGF2b3IpO1xuICAgICAgICB9IGVsc2UgdGhpcy5mbGF2b3JEYXRhID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mbGF2b3JEYXRhID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICAvKipcbiAgICogSUQgb2YgYSBEbXNPYmplY3QuIFRoZSBvYmplY3Qgd2lsbCBiZSBmZXRjaGVkIGZyb20gdGhlIGJhY2tlbmQgdXBmcm9udC5cbiAgICovXG4gIG9iamVjdElkID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4obnVsbCk7XG4gICNvYmplY3RJZEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaWQgPSB0aGlzLm9iamVjdElkKCk7XG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIGlkICYmIHRoaXMuI2dldERtc09iamVjdChpZCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIHZpcnR1YWwgb2JqZWN0IHR5cGUgdG8gYmUgdXNlZCBmb3IgaGVhZGVyIGRhdGFcbiAgY29uZmlnVHlwZSA9IGlucHV0PENvbmZpZ1R5cGVPcHRpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZVxuICAgICAgLmdldE9iamVjdENvbmZpZ3MkKHVuZGVmaW5lZCwgdHJ1ZSlcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBPYmplY3RDb25maWdSZWNvcmQpID0+IHtcbiAgICAgICAgdGhpcy4jb2MgPSByZXM7XG4gICAgICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgICAgIGlmIChkbXNPYmplY3QpIHRoaXMuI2dldEhlYWRlckRhdGEoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuI2V2ZW50U2VydmljZVxuICAgICAgLm9uKFl1dkV2ZW50VHlwZS5ETVNfT0JKRUNUX1VQREFURUQpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGU6IFl1dkV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG8gPSBlLmRhdGEgYXMgRG1zT2JqZWN0O1xuICAgICAgICBjb25zdCBkbXNPYmplY3QgPSB0aGlzLmRtc09iamVjdCgpO1xuICAgICAgICBpZiAoZG1zT2JqZWN0Py5pZCA9PT0gby5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zT2JqZWN0LnNldChvKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjc2V0dXBTbGlkZSgpIHtcbiAgICBjb25zdCBkbXNPYmplY3QgPSB0aGlzLmRtc09iamVjdCgpO1xuICAgIGlmIChkbXNPYmplY3QpIHtcbiAgICAgIGlmIChkbXNPYmplY3QuY29udGVudCkge1xuICAgICAgICBjb25zdCBzbGlkZVVyaSA9IHRoaXMuI2Rtc1NlcnZpY2UuZ2V0U2xpZGVVUkkoZG1zT2JqZWN0LmlkLCBkbXNPYmplY3QuY29udGVudD8ubWltZVR5cGUpO1xuICAgICAgICBpZiAoc2xpZGVVcmkpIHtcbiAgICAgICAgICB0aGlzLnNsaWRlLnVwZGF0ZSgoc2xpZGUpID0+ICh7IC4uLnNsaWRlLCBsb2FkaW5nOiB0cnVlIH0pKTtcbiAgICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbGlkZS51cGRhdGUoKHNsaWRlKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5zbGlkZSxcbiAgICAgICAgICAgICAgb3JpZW50YXRpb246IGltZy53aWR0aCA+IGltZy5oZWlnaHQgPyAnbGFuZHNjYXBlJyA6ICdwb3J0cmFpdCcsXG4gICAgICAgICAgICAgIHVyaTogYCR7c2xpZGVVcml9PyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YCwgLy8gYWRkIFRpbWVzdGFtcCB0byBmb3JjZSBpbWFnZSByZWxvYWRcbiAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2VcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHRoaXMuI2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH07XG4gICAgICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJEYXRhID0gdGhpcy5oZWFkZXJEYXRhKCk7XG4gICAgICAgICAgICB0aGlzLnNsaWRlLnVwZGF0ZSgoc2xpZGUpID0+ICh7IC4uLnNsaWRlLCBpY29uOiBoZWFkZXJEYXRhPy5pY29uLCBsb2FkaW5nOiBmYWxzZSB9KSk7XG4gICAgICAgICAgICB0aGlzLiNjZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIGltZy5zcmMgPSBzbGlkZVVyaTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaGVhZGVyRGF0YSA9IHRoaXMuaGVhZGVyRGF0YSgpO1xuICAgICAgICB0aGlzLnNsaWRlLnVwZGF0ZSgoc2xpZGUpID0+ICh7IC4uLnNsaWRlLCBpY29uOiBoZWFkZXJEYXRhPy5pY29uIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkZsYXZvckNsaWNrKGZsYXZvcjogT2JqZWN0Rmxhdm9yKSB7XG4gICAgdGhpcy4jZ2V0Rmxhdm9yRGF0YShmbGF2b3IpO1xuICB9XG5cbiAgI2ZldGNoRm9sZGVySW5mbyhpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcTogU2VhcmNoUXVlcnkgPSB7XG4gICAgICBmaWVsZHM6IFtgU1VNKCR7Q29udGVudFN0cmVhbUZpZWxkLkxFTkdUSH0pYF0sXG4gICAgICBhZ2dzOiBbQmFzZU9iamVjdFR5cGVGaWVsZC5CQVNFX1RZUEVfSURdLFxuICAgICAgZmlsdGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgZjogQmFzZU9iamVjdFR5cGVGaWVsZC5QQVJFTlRfSUQsXG4gICAgICAgICAgbzogT3BlcmF0b3IuRVFVQUwsXG4gICAgICAgICAgdjE6IGlkXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICAgIHRoaXMuI3NlYXJjaFNlcnZpY2UuYWdncmVnYXRlKHEsIFtCYXNlT2JqZWN0VHlwZUZpZWxkLkJBU0VfVFlQRV9JRF0pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBjb25zdCBlbnRyaWVzID0gcmVzLmFnZ3JlZ2F0aW9uc1swXS5lbnRyaWVzO1xuICAgICAgdGhpcy5mb2xkZXJJbmZvID0ge1xuICAgICAgICBzaXplOiBlbnRyaWVzLnJlZHVjZSgocywgdikgPT4gcyArIHYuY291bnQsIDApLFxuICAgICAgICBlbnRyaWVzXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgI2dldERtc09iamVjdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTtcbiAgICB0aGlzLiNkbXNTZXJ2aWNlLmdldERtc09iamVjdChpZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkbXNPYmplY3QpID0+IHRoaXMuZG1zT2JqZWN0LnNldChkbXNPYmplY3QpLFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5kbXNPYmplY3Quc2V0KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuY29udGV4dEVycm9yID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1zdW1tYXJ5LmxvYWQuZXJyb3InKTtcbiAgICAgIH0sXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICB0aGlzLmJ1c3kgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gICNnZXRPYmplY3RDb25maWcodHlwZT86IFZpcnR1YWxPYmplY3RUeXBlLCBidWNrZXQ/OiBzdHJpbmcpOiBSZXNvbHZlZE9iamVjdENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3QoKTtcbiAgICByZXR1cm4gZG1zT2JqZWN0XG4gICAgICA/IHRoaXMuI29iamVjdENvbmZpZ1NlcnZpY2UuZ2V0UmVzb2x2ZWRPYmplY3RDb25maWcoXG4gICAgICAgICAgZG1zT2JqZWN0LmRhdGEsXG4gICAgICAgICAgdHlwZSB8fCB7XG4gICAgICAgICAgICBpZDogZG1zT2JqZWN0Lm9iamVjdFR5cGVJZCxcbiAgICAgICAgICAgIG9iamVjdFR5cGU6IGRtc09iamVjdC5vYmplY3RUeXBlSWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ1Y2tldCxcbiAgICAgICAgICB0cnVlXG4gICAgICAgIClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgI2dldEZsYXZvckRhdGEoZmxhdm9yOiBPYmplY3RGbGF2b3IpIHtcbiAgICBpZiAoIWZsYXZvcikge1xuICAgICAgdGhpcy5mbGF2b3JEYXRhID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzb3QgPSB0aGlzLiNzeXN0ZW1TZXJ2aWNlLmdldFNlY29uZGFyeU9iamVjdFR5cGUoZmxhdm9yLnNvdCwgdHJ1ZSk7XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3QoKTtcbiAgICBpZiAoZG1zT2JqZWN0ICYmIHNvdCkge1xuICAgICAgdGhpcy5mbGF2b3JEYXRhID0ge1xuICAgICAgICBmbGF2b3IsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGZsYXZvci5pZCksXG4gICAgICAgIHByb3BlcnRpZXM6IHNvdC5maWVsZHMubWFwKChmKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiB0aGlzLiNzeXN0ZW1TZXJ2aWNlLmdldExvY2FsaXplZExhYmVsKGYuaWQpIHx8IGYuaWQsXG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZTogZi5pZCxcbiAgICAgICAgICAgIHZhbHVlOiBkbXNPYmplY3QuZGF0YVtmLmlkXVxuICAgICAgICAgIH1cbiAgICAgICAgfSkpXG4gICAgICB9O1xuICAgIH0gZWxzZSB0aGlzLmZsYXZvckRhdGEgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0SGVhZGVyRGF0YSgpIHtcbiAgICBjb25zdCBvYyA9IHRoaXMuI2dldE9iamVjdENvbmZpZyh0aGlzLmNvbmZpZ1R5cGUoKT8udHlwZSwgdGhpcy5jb25maWdUeXBlKCk/LmJ1Y2tldCk7XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3QoKTtcbiAgICBpZiAob2MgJiYgZG1zT2JqZWN0KSB7XG4gICAgICB0aGlzLmhlYWRlckRhdGEudXBkYXRlKChkYXRhKSA9PiAoe1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aXRsZTogb2MudGl0bGUudmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvYy5kZXNjcmlwdGlvbj8udmFsdWUsXG4gICAgICAgIGljb246IHtcbiAgICAgICAgICB0aXRsZTogb2MudGl0bGUudmFsdWUsXG4gICAgICAgICAgLi4uKG9jLmljb24gPyB7IHN2Zzogb2MuaWNvbi52YWx1ZSB9IDogeyBzcmM6IHRoaXMuI3N5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZUljb25VcmkoZG1zT2JqZWN0Lm9iamVjdFR5cGVJZCkgfSlcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgICAvLyB0aGlzLmhlYWRlckRhdGEuaWNvbiA9O1xuICAgIH0gZWxzZSB0aGlzLmhlYWRlckRhdGEuc2V0KHVuZGVmaW5lZCk7XG4gIH1cblxuICAjZ2V0QmFzZURhdGEoKSB7XG4gICAgdGhpcy5iYXNlRGF0YSA9IFtdO1xuXG4gICAgY29uc3QgZmllbGRzID0gW1xuICAgICAgQmFzZU9iamVjdFR5cGVGaWVsZC5DUkVBVElPTl9EQVRFLFxuICAgICAgYCR7QmFzZU9iamVjdFR5cGVGaWVsZC5DUkVBVEVEX0JZfV90aXRsZWAsXG4gICAgICBCYXNlT2JqZWN0VHlwZUZpZWxkLk1PRElGSUNBVElPTl9EQVRFLFxuICAgICAgYCR7QmFzZU9iamVjdFR5cGVGaWVsZC5NT0RJRklFRF9CWX1fdGl0bGVgXG4gICAgXTtcbiAgICBjb25zdCBjb250ZW50RmllbGRzID0gW0NvbnRlbnRTdHJlYW1GaWVsZC5GSUxFTkFNRSwgQ29udGVudFN0cmVhbUZpZWxkLkxFTkdUSCwgQ29udGVudFN0cmVhbUZpZWxkLk1JTUVfVFlQRV07XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3QoKTtcbiAgICBpZiAoZG1zT2JqZWN0KSB7XG4gICAgICBjb25zdCByZXRlbnRpb25GaWVsZHMgPSAoZG1zT2JqZWN0LmRhdGFbQmFzZU9iamVjdFR5cGVGaWVsZC5TRUNPTkRBUllfT0JKRUNUX1RZUEVfSURTXSBhcyBzdHJpbmdbXSkuaW5jbHVkZXMoU3lzdGVtU09ULkRFU1RSVUNUSU9OX1JFVEVOVElPTilcbiAgICAgICAgPyBbQmFzZU9iamVjdFR5cGVGaWVsZC5SRVRFTlRJT05fU1RBUlQsIEJhc2VPYmplY3RUeXBlRmllbGQuUkVURU5USU9OX0VORF1cbiAgICAgICAgOiBbXTtcblxuICAgICAgKGRtc09iamVjdC5jb250ZW50ID8gWy4uLmZpZWxkcywgLi4uY29udGVudEZpZWxkcywgLi4ucmV0ZW50aW9uRmllbGRzXSA6IGZpZWxkcykuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgICB0aGlzLmJhc2VEYXRhLnB1c2goe1xuICAgICAgICAgIGxhYmVsOiB0aGlzLiNzeXN0ZW1TZXJ2aWNlLmdldExvY2FsaXplZExhYmVsKGYucmVwbGFjZSgnX3RpdGxlJywgJycpKSB8fCBmLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWU6IGYsXG4gICAgICAgICAgICB2YWx1ZTogZG1zT2JqZWN0LmRhdGFbZl1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCJAbGV0IGltYWdlU2xpZGUgPSBzbGlkZSgpO1xuPHNlY3Rpb24gY2xhc3M9XCJzbGlkZVwiIFt5dXZCdXN5T3ZlcmxheV09XCJpbWFnZVNsaWRlLmxvYWRpbmdcIj5cbiAgQGlmIChpbWFnZVNsaWRlLnVyaSB8fCBpbWFnZVNsaWRlLmxvYWRpbmcpIHtcbiAgICA8aW1nIGRyYWdnYWJsZT1cImZhbHNlXCIgW25nQ2xhc3NdPVwieyBsb2FkaW5nOiBpbWFnZVNsaWRlLmxvYWRpbmcgfVwiIFthdHRyLmRhdGEtb3JpZW50YXRpb25dPVwiaW1hZ2VTbGlkZS5vcmllbnRhdGlvblwiIFtzcmNdPVwiaW1hZ2VTbGlkZS51cmlcIiAvPlxuICB9IEBlbHNlIGlmIChpbWFnZVNsaWRlLmljb24/LnN2Zykge1xuICAgIDx5dmMtaWNvbiBkcmFnZ2FibGU9XCJmYWxzZVwiIFtzdmddPVwiaW1hZ2VTbGlkZS5pY29uPy5zdmchXCI+PC95dmMtaWNvbj5cbiAgfSBAZWxzZSBpZiAoaW1hZ2VTbGlkZS5pY29uPy5zcmMpIHtcbiAgICA8eXZjLWljb24gZHJhZ2dhYmxlPVwiZmFsc2VcIiBbc3ZnU3JjXT1cImltYWdlU2xpZGUuaWNvbj8uc3JjIVwiPjwveXZjLWljb24+XG4gIH1cbiAgQGlmIChmb2xkZXJJbmZvKSB7XG4gICAgPGRpdiBjbGFzcz1cImJhZGdlXCI+e3sgZm9sZGVySW5mby5zaXplIH19PC9kaXY+XG4gIH1cbjwvc2VjdGlvbj5cblxuQGxldCBvID0gZG1zT2JqZWN0KCk7XG5AaWYgKG8gJiYgIW8uaXNGb2xkZXIpIHtcbiAgPHl1di1vYmplY3QtZmxhdm9yIFtkbXNPYmplY3RdPVwib1wiIChmbGF2b3JDbGljayk9XCJvbkZsYXZvckNsaWNrKCRldmVudClcIj48L3l1di1vYmplY3QtZmxhdm9yPlxufVxuXG48ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICBAbGV0IGhlYWRlciA9IGhlYWRlckRhdGEoKTtcbiAgPHNlY3Rpb24gY2xhc3M9XCJ0aXRsZVwiPlxuICAgIDxoMT57eyBoZWFkZXI/LnRpdGxlIH19PC9oMT5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8eXZjLW92ZXJmbG93LW1lbnUgW2hpZGVMYWJlbHNdPVwidHJ1ZVwiIFttZW51SXRlbXNdPVwiYWN0aW9ucygpXCI+PC95dmMtb3ZlcmZsb3ctbWVudT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuXG4gIEBpZiAobykge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwiYmFkZ2VzXCI+XG4gICAgICA8eXV2LXJldGVudGlvbi1iYWRnZSBbZG1zT2JqZWN0XT1cIm9cIj48L3l1di1yZXRlbnRpb24tYmFkZ2U+XG4gICAgPC9zZWN0aW9uPlxuICB9XG5cbiAgQGlmIChmbGF2b3JEYXRhKSB7XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmbGF2b3IgcHJvcGVydGllc1wiPlxuICAgICAgPCEtLSA8aDI+e3sgZmxhdm9yRGF0YS5sYWJlbCB9fTwvaDI+IC0tPlxuICAgICAgQGZvciAocCBvZiBmbGF2b3JEYXRhLnByb3BlcnRpZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+e3sgcC5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeXV2UmVuZGVyZXI9XCJwLnZhbHVlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvc2VjdGlvbj5cbiAgfVxuXG4gIDxzZWN0aW9uIGNsYXNzPVwicHJvcGVydGllc1wiPlxuICAgIEBmb3IgKHAgb2YgYmFzZURhdGE7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj57eyBwLmxhYmVsIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKnl1dlJlbmRlcmVyPVwicC52YWx1ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3Qtc3VtbWFyeS9zcmMvbGliL29iamVjdC1zdW1tYXJ5L29iamVjdC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LXN1bW1hcnkvc3JjL2xpYi9vYmplY3Qtc3VtbWFyeS9vYmplY3Qtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUVsQixVQUFVLEVBQ1YsWUFBWSxFQUVaLG1CQUFtQixFQUNuQixRQUFRLEVBR1IsYUFBYSxFQUNiLGFBQWEsRUFDYixTQUFTLEVBQ1QsZUFBZSxFQUNmLGdCQUFnQixFQUdoQixZQUFZLEVBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxF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LEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzFFLEtBQUssRUFBRTt3QkFDTCxZQUFZLEVBQUUsQ0FBQzt3QkFDZixLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ3pCO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBL1JVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHlwQkFTWCxxQkFBcUIsOEpDckU3QywyNERBNERBLG1oRURuQkksT0FBTyxvRkFDUCxvQkFBb0Isd0ZBQ3BCLGVBQWUsK0JBQ2YsaUJBQWlCLG1GQUNqQixxQkFBcUIsOEdBQ3JCLGdCQUFnQiw4QkFDaEIsYUFBYSwrSEFDYix3QkFBd0Isa0lBQ3hCLHVCQUF1Qjs7NEZBV2Qsc0JBQXNCO2tCQXZCbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1Asb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4Qix1QkFBdUI7cUJBQ3hCLGtCQUdlO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxvQkFBb0I7NEJBQy9CLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDO3lCQUNqQztxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwsIHVudHJhY2tlZCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBCYXNlT2JqZWN0VHlwZUZpZWxkLFxuICBDb25maWdUeXBlT3B0aW9uLFxuICBDb250ZW50U3RyZWFtRmllbGQsXG4gIERtc09iamVjdCxcbiAgRG1zU2VydmljZSxcbiAgRXZlbnRTZXJ2aWNlLFxuICBPYmplY3RDb25maWdSZWNvcmQsXG4gIE9iamVjdENvbmZpZ1NlcnZpY2UsXG4gIE9wZXJhdG9yLFxuICBSZXNvbHZlZE9iamVjdENvbmZpZyxcbiAgU2VhcmNoUXVlcnksXG4gIFNlYXJjaFNlcnZpY2UsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIFN5c3RlbVNPVCxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBWaXJ0dWFsT2JqZWN0VHlwZSxcbiAgWXV2RXZlbnQsXG4gIFl1dkV2ZW50VHlwZVxufSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEJ1c3lPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbic7XG5pbXBvcnQgeyBZVVZfSUNPTlMgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvaWNvbnMnO1xuaW1wb3J0IHsgUmV0ZW50aW9uQmFkZ2VDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMnO1xuaW1wb3J0IHsgT2JqZWN0Rmxhdm9yQ29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mbGF2b3InO1xuaW1wb3J0IHsgUmVuZGVyZXJEaXJlY3RpdmUsIFJlbmRlcmVyRGlyZWN0aXZlSW5wdXQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvcmVuZGVyZXInO1xuaW1wb3J0IHsgT2JqZWN0Rmxhdm9yIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgTWVudUl0ZW0sIFl2Y092ZXJmbG93TWVudUNvbXBvbmVudCB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51JztcbmltcG9ydCB7IFl2Y092ZXJsYXlNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHNob3dpbmcgYSBzdW1tYXJ5IG9mIHRoZSBnaXZlbiBkbXMgb2JqZWN0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtb2JqZWN0LXN1bW1hcnknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBCdXN5T3ZlcmxheURpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVuZGVyZXJEaXJlY3RpdmUsXG4gICAgT2JqZWN0Rmxhdm9yQ29tcG9uZW50LFxuICAgIFl2Y092ZXJsYXlNb2R1bGUsXG4gICAgWXZjSWNvbk1vZHVsZSxcbiAgICBZdmNPdmVyZmxvd01lbnVDb21wb25lbnQsXG4gICAgUmV0ZW50aW9uQmFkZ2VDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29iamVjdC1zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEJ1c3lPdmVybGF5RGlyZWN0aXZlLFxuICAgICAgaW5wdXRzOiBbJ3l1dkJ1c3lPdmVybGF5OiBidXN5J11cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0U3VtbWFyeUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5ICNldmVudFNlcnZpY2UgPSBpbmplY3QoRXZlbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2Rtc1NlcnZpY2UgPSBpbmplY3QoRG1zU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSAjc3lzdGVtU2VydmljZSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI29iamVjdENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoT2JqZWN0Q29uZmlnU2VydmljZSk7XG4gIHJlYWRvbmx5ICNzZWFyY2hTZXJ2aWNlID0gaW5qZWN0KFNlYXJjaFNlcnZpY2UpO1xuICByZWFkb25seSAjY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGZsYXZvckNtcCA9IHZpZXdDaGlsZChPYmplY3RGbGF2b3JDb21wb25lbnQpO1xuXG4gICNvYz86IE9iamVjdENvbmZpZ1JlY29yZDtcblxuICBzbGlkZSA9IHNpZ25hbDx7XG4gICAgaWNvbj86IHtcbiAgICAgIHNyYz86IHN0cmluZztcbiAgICAgIHN2Zz86IHN0cmluZztcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIH07XG4gICAgdXJpPzogc3RyaW5nO1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgb3JpZW50YXRpb24/OiAncG9ydHJhaXQnIHwgJ2xhbmRzY2FwZSc7XG4gIH0+KHtcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KTtcbiAgYnVzeSA9IHRydWU7XG5cbiAgY29udGV4dEVycm9yPzogc3RyaW5nO1xuICBoZWFkZXJEYXRhID0gc2lnbmFsPFxuICAgIHwge1xuICAgICAgICBpY29uPzoge1xuICAgICAgICAgIHNyYz86IHN0cmluZztcbiAgICAgICAgICBzdmc/OiBzdHJpbmc7XG4gICAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG5cbiAgYmFzZURhdGE6IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBSZW5kZXJlckRpcmVjdGl2ZUlucHV0O1xuICB9W10gPSBbXTtcblxuICBmbGF2b3JEYXRhPzoge1xuICAgIGZsYXZvcjogT2JqZWN0Rmxhdm9yO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIHZhbHVlOiBSZW5kZXJlckRpcmVjdGl2ZUlucHV0O1xuICAgIH1bXTtcbiAgfTtcblxuICBpY29ucyA9IHtcbiAgICBmb2xkZXI6IFlVVl9JQ09OUy5mb2xkZXJcbiAgfTtcblxuICBhY3Rpb25zID0gaW5wdXQ8TWVudUl0ZW1bXT4oW10pO1xuICBmb2xkZXJJbmZvPzoge1xuICAgIHNpemU6IG51bWJlcjtcbiAgICBlbnRyaWVzOiB7XG4gICAgICBrZXk6IHN0cmluZztcbiAgICAgIGNvdW50OiBudW1iZXI7XG4gICAgfVtdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBEbXNPYmplY3QgdG8gc2hvdyB0aGUgZGV0YWlscyBmb3IuXG4gICAqL1xuXG4gIGRtc09iamVjdCA9IHNpZ25hbDxEbXNPYmplY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgZG1zT2JqZWN0SW5wdXQgPSBpbnB1dDxEbXNPYmplY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2Rtc09iamVjdCcgfSk7XG4gICNkbXNPYmplY3RJbnB1dEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3RJbnB1dCgpO1xuICAgIGNvbnN0IGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5kbXNPYmplY3QoKT8uY29udGVudD8uY29udGVudFN0cmVhbUlkICE9PSBkbXNPYmplY3Q/LmNvbnRlbnQ/LmNvbnRlbnRTdHJlYW1JZDtcblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICB0aGlzLmRtc09iamVjdC5zZXQoZG1zT2JqZWN0KTtcbiAgICAgIGNvbnRlbnRDaGFuZ2VkICYmIHRoaXMuc2xpZGUudXBkYXRlKChzbGlkZSkgPT4gKHsgLi4uc2xpZGUsIHVyaTogdW5kZWZpbmVkLCBpY29uOiB1bmRlZmluZWQsIGljb25Tdmc6IHVuZGVmaW5lZCB9KSk7XG4gICAgICBpZiAoZG1zT2JqZWN0KSB7XG4gICAgICAgIHRoaXMuI2dldEhlYWRlckRhdGEoKTtcbiAgICAgICAgdGhpcy4jZ2V0QmFzZURhdGEoKTtcbiAgICAgICAgKGNvbnRlbnRDaGFuZ2VkIHx8IGRtc09iamVjdC5pc0ZvbGRlcikgJiYgdGhpcy4jc2V0dXBTbGlkZSgpO1xuICAgICAgICB0aGlzLmZvbGRlckluZm8gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGRtc09iamVjdC5pc0ZvbGRlcikgdGhpcy4jZmV0Y2hGb2xkZXJJbmZvKGRtc09iamVjdC5pZCk7XG5cbiAgICAgICAgLy8gaWYgYSBmbGF2b3IgaGFzIGJlZW4gc2VsZWN0ZWQgYW5kIGEgbmV3IG9iamVjdCBjb21lcyBpbiwgd2UnbGwgY2hlY2sgaWZcbiAgICAgICAgLy8gdGhlIG5ldyBvYmplY3QgaGFzIHRoZSBzYW1lIGZsYXZvciBhbmQgdXBkYXRlIHRoZSBmbGF2b3IgZGF0YVxuICAgICAgICBpZiAodGhpcy5mbGF2b3JEYXRhICYmIGRtc09iamVjdC5zb3RzLmluY2x1ZGVzKHRoaXMuZmxhdm9yRGF0YS5mbGF2b3Iuc290KSkge1xuICAgICAgICAgIHRoaXMuI2dldEZsYXZvckRhdGEodGhpcy5mbGF2b3JEYXRhLmZsYXZvcik7XG4gICAgICAgIH0gZWxzZSB0aGlzLmZsYXZvckRhdGEgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZsYXZvckRhdGEgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBJRCBvZiBhIERtc09iamVjdC4gVGhlIG9iamVjdCB3aWxsIGJlIGZldGNoZWQgZnJvbSB0aGUgYmFja2VuZCB1cGZyb250LlxuICAgKi9cbiAgb2JqZWN0SWQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsPihudWxsKTtcbiAgI29iamVjdElkRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpZCA9IHRoaXMub2JqZWN0SWQoKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgaWQgJiYgdGhpcy4jZ2V0RG1zT2JqZWN0KGlkKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gdmlydHVhbCBvYmplY3QgdHlwZSB0byBiZSB1c2VkIGZvciBoZWFkZXIgZGF0YVxuICBjb25maWdUeXBlID0gaW5wdXQ8Q29uZmlnVHlwZU9wdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNvYmplY3RDb25maWdTZXJ2aWNlXG4gICAgICAuZ2V0T2JqZWN0Q29uZmlncyQodW5kZWZpbmVkLCB0cnVlKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IE9iamVjdENvbmZpZ1JlY29yZCkgPT4ge1xuICAgICAgICB0aGlzLiNvYyA9IHJlcztcbiAgICAgICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5kbXNPYmplY3QoKTtcbiAgICAgICAgaWYgKGRtc09iamVjdCkgdGhpcy4jZ2V0SGVhZGVyRGF0YSgpO1xuICAgICAgfSk7XG4gICAgdGhpcy4jZXZlbnRTZXJ2aWNlXG4gICAgICAub24oWXV2RXZlbnRUeXBlLkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoZTogWXV2RXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgbyA9IGUuZGF0YSBhcyBEbXNPYmplY3Q7XG4gICAgICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgICAgIGlmIChkbXNPYmplY3Q/LmlkID09PSBvLmlkKSB7XG4gICAgICAgICAgdGhpcy5kbXNPYmplY3Quc2V0KG8pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNzZXR1cFNsaWRlKCkge1xuICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKGRtc09iamVjdCkge1xuICAgICAgaWYgKGRtc09iamVjdC5jb250ZW50KSB7XG4gICAgICAgIGNvbnN0IHNsaWRlVXJpID0gdGhpcy4jZG1zU2VydmljZS5nZXRTbGlkZVVSSShkbXNPYmplY3QuaWQsIGRtc09iamVjdC5jb250ZW50Py5taW1lVHlwZSk7XG4gICAgICAgIGlmIChzbGlkZVVyaSkge1xuICAgICAgICAgIHRoaXMuc2xpZGUudXBkYXRlKChzbGlkZSkgPT4gKHsgLi4uc2xpZGUsIGxvYWRpbmc6IHRydWUgfSkpO1xuICAgICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlLnVwZGF0ZSgoc2xpZGUpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnNsaWRlLFxuICAgICAgICAgICAgICBvcmllbnRhdGlvbjogaW1nLndpZHRoID4gaW1nLmhlaWdodCA/ICdsYW5kc2NhcGUnIDogJ3BvcnRyYWl0JyxcbiAgICAgICAgICAgICAgdXJpOiBgJHtzbGlkZVVyaX0/JHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gLCAvLyBhZGQgVGltZXN0YW1wIHRvIGZvcmNlIGltYWdlIHJlbG9hZFxuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGhpcy4jY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBpbWcub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlckRhdGEgPSB0aGlzLmhlYWRlckRhdGEoKTtcbiAgICAgICAgICAgIHRoaXMuc2xpZGUudXBkYXRlKChzbGlkZSkgPT4gKHsgLi4uc2xpZGUsIGljb246IGhlYWRlckRhdGE/Lmljb24sIGxvYWRpbmc6IGZhbHNlIH0pKTtcbiAgICAgICAgICAgIHRoaXMuI2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH07XG4gICAgICAgICAgaW1nLnNyYyA9IHNsaWRlVXJpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBoZWFkZXJEYXRhID0gdGhpcy5oZWFkZXJEYXRhKCk7XG4gICAgICAgIHRoaXMuc2xpZGUudXBkYXRlKChzbGlkZSkgPT4gKHsgLi4uc2xpZGUsIGljb246IGhlYWRlckRhdGE/Lmljb24gfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uRmxhdm9yQ2xpY2soZmxhdm9yOiBPYmplY3RGbGF2b3IpIHtcbiAgICB0aGlzLiNnZXRGbGF2b3JEYXRhKGZsYXZvcik7XG4gIH1cblxuICAjZmV0Y2hGb2xkZXJJbmZvKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxOiBTZWFyY2hRdWVyeSA9IHtcbiAgICAgIGZpZWxkczogW2BTVU0oJHtDb250ZW50U3RyZWFtRmllbGQuTEVOR1RIfSlgXSxcbiAgICAgIGFnZ3M6IFtCYXNlT2JqZWN0VHlwZUZpZWxkLkJBU0VfVFlQRV9JRF0sXG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmOiBCYXNlT2JqZWN0VHlwZUZpZWxkLlBBUkVOVF9JRCxcbiAgICAgICAgICBvOiBPcGVyYXRvci5FUVVBTCxcbiAgICAgICAgICB2MTogaWRcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gICAgdGhpcy4jc2VhcmNoU2VydmljZS5hZ2dyZWdhdGUocSwgW0Jhc2VPYmplY3RUeXBlRmllbGQuQkFTRV9UWVBFX0lEXSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGNvbnN0IGVudHJpZXMgPSByZXMuYWdncmVnYXRpb25zWzBdLmVudHJpZXM7XG4gICAgICB0aGlzLmZvbGRlckluZm8gPSB7XG4gICAgICAgIHNpemU6IGVudHJpZXMucmVkdWNlKChzLCB2KSA9PiBzICsgdi5jb3VudCwgMCksXG4gICAgICAgIGVudHJpZXNcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAjZ2V0RG1zT2JqZWN0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgIHRoaXMuI2Rtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRtc09iamVjdCkgPT4gdGhpcy5kbXNPYmplY3Quc2V0KGRtc09iamVjdCksXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmRtc09iamVjdC5zZXQodW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5jb250ZXh0RXJyb3IgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LXN1bW1hcnkubG9hZC5lcnJvcicpO1xuICAgICAgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYnVzeSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI2dldE9iamVjdENvbmZpZyh0eXBlPzogVmlydHVhbE9iamVjdFR5cGUsIGJ1Y2tldD86IHN0cmluZyk6IFJlc29sdmVkT2JqZWN0Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBkbXNPYmplY3QgPSB0aGlzLmRtc09iamVjdCgpO1xuICAgIHJldHVybiBkbXNPYmplY3RcbiAgICAgID8gdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5nZXRSZXNvbHZlZE9iamVjdENvbmZpZyhcbiAgICAgICAgICBkbXNPYmplY3QuZGF0YSxcbiAgICAgICAgICB0eXBlIHx8IHtcbiAgICAgICAgICAgIGlkOiBkbXNPYmplY3Qub2JqZWN0VHlwZUlkLFxuICAgICAgICAgICAgb2JqZWN0VHlwZTogZG1zT2JqZWN0Lm9iamVjdFR5cGVJZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYnVja2V0LFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0Rmxhdm9yRGF0YShmbGF2b3I6IE9iamVjdEZsYXZvcikge1xuICAgIGlmICghZmxhdm9yKSB7XG4gICAgICB0aGlzLmZsYXZvckRhdGEgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvdCA9IHRoaXMuI3N5c3RlbVNlcnZpY2UuZ2V0U2Vjb25kYXJ5T2JqZWN0VHlwZShmbGF2b3Iuc290LCB0cnVlKTtcbiAgICBjb25zdCBkbXNPYmplY3QgPSB0aGlzLmRtc09iamVjdCgpO1xuICAgIGlmIChkbXNPYmplY3QgJiYgc290KSB7XG4gICAgICB0aGlzLmZsYXZvckRhdGEgPSB7XG4gICAgICAgIGZsYXZvcixcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZmxhdm9yLmlkKSxcbiAgICAgICAgcHJvcGVydGllczogc290LmZpZWxkcy5maWx0ZXIoZiA9PiBmLl9pbnRlcm5hbFR5cGUgIT09ICd0YWJsZScpLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICBsYWJlbDogdGhpcy4jc3lzdGVtU2VydmljZS5nZXRMb2NhbGl6ZWRMYWJlbChmLmlkKSB8fCBmLmlkLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWU6IGYuaWQsXG4gICAgICAgICAgICB2YWx1ZTogZG1zT2JqZWN0LmRhdGFbZi5pZF1cbiAgICAgICAgICB9XG4gICAgICAgIH0pKVxuICAgICAgfTtcbiAgICB9IGVsc2UgdGhpcy5mbGF2b3JEYXRhID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI2dldEhlYWRlckRhdGEoKSB7XG4gICAgY29uc3Qgb2MgPSB0aGlzLiNnZXRPYmplY3RDb25maWcodGhpcy5jb25maWdUeXBlKCk/LnR5cGUsIHRoaXMuY29uZmlnVHlwZSgpPy5idWNrZXQpO1xuICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG9jICYmIGRtc09iamVjdCkge1xuICAgICAgdGhpcy5oZWFkZXJEYXRhLnVwZGF0ZSgoZGF0YSkgPT4gKHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGl0bGU6IG9jLnRpdGxlLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb2MuZGVzY3JpcHRpb24/LnZhbHVlLFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgdGl0bGU6IG9jLnRpdGxlLnZhbHVlLFxuICAgICAgICAgIC4uLihvYy5pY29uID8geyBzdmc6IG9jLmljb24udmFsdWUgfSA6IHsgc3JjOiB0aGlzLiNzeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGVJY29uVXJpKGRtc09iamVjdC5vYmplY3RUeXBlSWQpIH0pXG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgICAgLy8gdGhpcy5oZWFkZXJEYXRhLmljb24gPTtcbiAgICB9IGVsc2UgdGhpcy5oZWFkZXJEYXRhLnNldCh1bmRlZmluZWQpO1xuICB9XG5cbiAgI2dldEJhc2VEYXRhKCkge1xuICAgIHRoaXMuYmFzZURhdGEgPSBbXTtcblxuICAgIGNvbnN0IGZpZWxkcyA9IFtcbiAgICAgIEJhc2VPYmplY3RUeXBlRmllbGQuQ1JFQVRJT05fREFURSxcbiAgICAgIGAke0Jhc2VPYmplY3RUeXBlRmllbGQuQ1JFQVRFRF9CWX1fdGl0bGVgLFxuICAgICAgQmFzZU9iamVjdFR5cGVGaWVsZC5NT0RJRklDQVRJT05fREFURSxcbiAgICAgIGAke0Jhc2VPYmplY3RUeXBlRmllbGQuTU9ESUZJRURfQll9X3RpdGxlYFxuICAgIF07XG4gICAgY29uc3QgY29udGVudEZpZWxkcyA9IFtDb250ZW50U3RyZWFtRmllbGQuRklMRU5BTUUsIENvbnRlbnRTdHJlYW1GaWVsZC5MRU5HVEgsIENvbnRlbnRTdHJlYW1GaWVsZC5NSU1FX1RZUEVdO1xuICAgIGNvbnN0IGRtc09iamVjdCA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKGRtc09iamVjdCkge1xuICAgICAgY29uc3QgcmV0ZW50aW9uRmllbGRzID0gKGRtc09iamVjdC5kYXRhW0Jhc2VPYmplY3RUeXBlRmllbGQuU0VDT05EQVJZX09CSkVDVF9UWVBFX0lEU10gYXMgc3RyaW5nW10pLmluY2x1ZGVzKFN5c3RlbVNPVC5ERVNUUlVDVElPTl9SRVRFTlRJT04pXG4gICAgICAgID8gW0Jhc2VPYmplY3RUeXBlRmllbGQuUkVURU5USU9OX1NUQVJULCBCYXNlT2JqZWN0VHlwZUZpZWxkLlJFVEVOVElPTl9FTkRdXG4gICAgICAgIDogW107XG5cbiAgICAgIChkbXNPYmplY3QuY29udGVudCA/IFsuLi5maWVsZHMsIC4uLmNvbnRlbnRGaWVsZHMsIC4uLnJldGVudGlvbkZpZWxkc10gOiBmaWVsZHMpLmZvckVhY2goKGYpID0+IHtcbiAgICAgICAgdGhpcy5iYXNlRGF0YS5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogdGhpcy4jc3lzdGVtU2VydmljZS5nZXRMb2NhbGl6ZWRMYWJlbChmLnJlcGxhY2UoJ190aXRsZScsICcnKSkgfHwgZixcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgcHJvcGVydHlOYW1lOiBmLFxuICAgICAgICAgICAgdmFsdWU6IGRtc09iamVjdC5kYXRhW2ZdXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGxldCBpbWFnZVNsaWRlID0gc2xpZGUoKTtcbjxzZWN0aW9uIGNsYXNzPVwic2xpZGVcIiBbeXV2QnVzeU92ZXJsYXldPVwiaW1hZ2VTbGlkZS5sb2FkaW5nXCI+XG4gIEBpZiAoaW1hZ2VTbGlkZS51cmkgfHwgaW1hZ2VTbGlkZS5sb2FkaW5nKSB7XG4gICAgPGltZyBkcmFnZ2FibGU9XCJmYWxzZVwiIFtuZ0NsYXNzXT1cInsgbG9hZGluZzogaW1hZ2VTbGlkZS5sb2FkaW5nIH1cIiBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cImltYWdlU2xpZGUub3JpZW50YXRpb25cIiBbc3JjXT1cImltYWdlU2xpZGUudXJpXCIgLz5cbiAgfSBAZWxzZSBpZiAoaW1hZ2VTbGlkZS5pY29uPy5zdmcpIHtcbiAgICA8eXZjLWljb24gZHJhZ2dhYmxlPVwiZmFsc2VcIiBbc3ZnXT1cImltYWdlU2xpZGUuaWNvbj8uc3ZnIVwiPjwveXZjLWljb24+XG4gIH0gQGVsc2UgaWYgKGltYWdlU2xpZGUuaWNvbj8uc3JjKSB7XG4gICAgPHl2Yy1pY29uIGRyYWdnYWJsZT1cImZhbHNlXCIgW3N2Z1NyY109XCJpbWFnZVNsaWRlLmljb24/LnNyYyFcIj48L3l2Yy1pY29uPlxuICB9XG4gIEBpZiAoZm9sZGVySW5mbykge1xuICAgIDxkaXYgY2xhc3M9XCJiYWRnZVwiPnt7IGZvbGRlckluZm8uc2l6ZSB9fTwvZGl2PlxuICB9XG48L3NlY3Rpb24+XG5cbkBsZXQgbyA9IGRtc09iamVjdCgpO1xuQGlmIChvICYmICFvLmlzRm9sZGVyKSB7XG4gIDx5dXYtb2JqZWN0LWZsYXZvciBbZG1zT2JqZWN0XT1cIm9cIiAoZmxhdm9yQ2xpY2spPVwib25GbGF2b3JDbGljaygkZXZlbnQpXCI+PC95dXYtb2JqZWN0LWZsYXZvcj5cbn1cblxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgQGxldCBoZWFkZXIgPSBoZWFkZXJEYXRhKCk7XG4gIDxzZWN0aW9uIGNsYXNzPVwidGl0bGVcIj5cbiAgICA8aDE+e3sgaGVhZGVyPy50aXRsZSB9fTwvaDE+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgPHl2Yy1vdmVyZmxvdy1tZW51IFtoaWRlTGFiZWxzXT1cInRydWVcIiBbbWVudUl0ZW1zXT1cImFjdGlvbnMoKVwiPjwveXZjLW92ZXJmbG93LW1lbnU+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cblxuICBAaWYgKG8pIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cImJhZGdlc1wiPlxuICAgICAgPHl1di1yZXRlbnRpb24tYmFkZ2UgW2Rtc09iamVjdF09XCJvXCI+PC95dXYtcmV0ZW50aW9uLWJhZGdlPlxuICAgIDwvc2VjdGlvbj5cbiAgfVxuXG4gIEBpZiAoZmxhdm9yRGF0YSkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwiZmxhdm9yIHByb3BlcnRpZXNcIj5cbiAgICAgIDwhLS0gPGgyPnt7IGZsYXZvckRhdGEubGFiZWwgfX08L2gyPiAtLT5cbiAgICAgIEBmb3IgKHAgb2YgZmxhdm9yRGF0YS5wcm9wZXJ0aWVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPnt7IHAubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnl1dlJlbmRlcmVyPVwicC52YWx1ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L3NlY3Rpb24+XG4gIH1cblxuICA8c2VjdGlvbiBjbGFzcz1cInByb3BlcnRpZXNcIj5cbiAgICBAZm9yIChwIG9mIGJhc2VEYXRhOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+e3sgcC5sYWJlbCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICp5dXZSZW5kZXJlcj1cInAudmFsdWVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
|
|
@@ -8,7 +8,10 @@ export class ActionSelectComponent {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.actionService = inject(ActionsService);
|
|
10
10
|
this.objectType = input.required();
|
|
11
|
-
this.actions = computed(() =>
|
|
11
|
+
this.actions = computed(() => {
|
|
12
|
+
const ot = this.objectType();
|
|
13
|
+
return ot.objectType ? this.actionService.getActionsForType(ot.objectType) : [];
|
|
14
|
+
});
|
|
12
15
|
this.selectedActionIds = input([]);
|
|
13
16
|
this.actionSelect = output();
|
|
14
17
|
}
|
|
@@ -19,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
19
22
|
type: Component,
|
|
20
23
|
args: [{ selector: 'yuv-tile-action-select', standalone: true, imports: [NgClass, YvcIconModule], template: "<div class=\"actions\">\n @for (a of actions(); track a.id) {\n <button [ngClass]=\"{ selected: selectedActionIds().includes(a.id) }\" (click)=\"actionSelect.emit(a)\">\n <yvc-icon [svg]=\"a.icon!\"></yvc-icon>{{ a.label }}\n </button>\n }\n</div>\n", styles: [":host .actions button{width:100%;border:1px solid var(--panel-divider-color);border-radius:0;margin-block-end:1px}:host .actions button.selected{background-color:var(--color-accent);color:var(--color-accent-tone)}\n"] }]
|
|
21
24
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdC9zcmMvbGliL3RpbGUtY29uZmlnL2FjdGlvbi1zZWxlY3QvYWN0aW9uLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdC9zcmMvbGliL3RpbGUtY29uZmlnL2FjdGlvbi1zZWxlY3QvYWN0aW9uLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBU3hELE1BQU0sT0FBTyxxQkFBcUI7SUFQbEM7UUFRVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUNqRCxZQUFPLEdBQXFCLFFBQVEsQ0FBVyxHQUFHLEVBQUU7WUFDbEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRixDQUFDLENBQUMsQ0FBQztRQUVILHNCQUFpQixHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBQ2pDOytHQVhZLHFCQUFxQjttR0FBckIscUJBQXFCLDJhQ2JsQyx3UUFPQSxpUkRFWSxPQUFPLG1GQUFFLGFBQWE7OzRGQUlyQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgU2lnbmFsLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaXJ0dWFsT2JqZWN0VHlwZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9hY3Rpb25zJztcbmltcG9ydCB7IFl2Y0ljb25Nb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di10aWxlLWFjdGlvbi1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgWXZjSWNvbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1zZWxlY3QuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblNlbGVjdENvbXBvbmVudCB7XG4gIHByaXZhdGUgYWN0aW9uU2VydmljZSA9IGluamVjdChBY3Rpb25zU2VydmljZSk7XG5cbiAgb2JqZWN0VHlwZSA9IGlucHV0LnJlcXVpcmVkPFZpcnR1YWxPYmplY3RUeXBlPigpO1xuICBhY3Rpb25zOiBTaWduYWw8QWN0aW9uW10+ID0gY29tcHV0ZWQ8QWN0aW9uW10+KCgpID0+IHtcbiAgICBjb25zdCBvdCA9IHRoaXMub2JqZWN0VHlwZSgpO1xuICAgIHJldHVybiBvdC5vYmplY3RUeXBlID8gdGhpcy5hY3Rpb25TZXJ2aWNlLmdldEFjdGlvbnNGb3JUeXBlKG90Lm9iamVjdFR5cGUpIDogW107XG4gIH0pO1xuXG4gIHNlbGVjdGVkQWN0aW9uSWRzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcbiAgYWN0aW9uU2VsZWN0ID0gb3V0cHV0PEFjdGlvbj4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gIEBmb3IgKGEgb2YgYWN0aW9ucygpOyB0cmFjayBhLmlkKSB7XG4gICAgPGJ1dHRvbiBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBzZWxlY3RlZEFjdGlvbklkcygpLmluY2x1ZGVzKGEuaWQpIH1cIiAoY2xpY2spPVwiYWN0aW9uU2VsZWN0LmVtaXQoYSlcIj5cbiAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cImEuaWNvbiFcIj48L3l2Yy1pY29uPnt7IGEubGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import * as i1 from '@angular/common';
|
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@ngx-translate/core';
|
|
6
6
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import { DmsService, TranslateService, TranslateModule as TranslateModule$1, RetentionService, ClipboardService, Utils } from '@yuuvis/client-core';
|
|
7
|
+
import { DmsService, TranslateService, TranslateModule as TranslateModule$1, RetentionService, SystemType, ClipboardService, Utils } from '@yuuvis/client-core';
|
|
8
8
|
import { of, map, forkJoin } from 'rxjs';
|
|
9
9
|
import { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';
|
|
10
10
|
import * as i2$1 from '@angular/cdk/a11y';
|
|
@@ -156,7 +156,7 @@ class DownloadAction extends AbstractContextAction {
|
|
|
156
156
|
this.group = 'common';
|
|
157
157
|
this.range = SelectionRange.MULTI_SELECT;
|
|
158
158
|
this.supports = {
|
|
159
|
-
|
|
159
|
+
types: [SystemType.DOCUMENT]
|
|
160
160
|
};
|
|
161
161
|
}
|
|
162
162
|
isExecutable(selection) {
|
|
@@ -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, RetentionService, 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 private retention = inject(RetentionService);\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 return of(e && !!e.permissions && e.permissions.deleteObject && !this.retention.getRetentionState(e).underRetention);\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, RetentionService, 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 private retention = inject(RetentionService);\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 return of(e && !!e.permissions && e.permissions.deleteObject && !this.retention.getRetentionState(e).underRetention);\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, SystemType, 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 types: [SystemType.DOCUMENT]\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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"}
|
|
@@ -955,7 +955,7 @@ class DatetimeComponent {
|
|
|
955
955
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
956
956
|
registerOnTouched() { }
|
|
957
957
|
onValueChange(e) {
|
|
958
|
-
this.propagateChange(e);
|
|
958
|
+
this.propagateChange(this.withTime ? e : e.toISOString().split('T')[0]);
|
|
959
959
|
}
|
|
960
960
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
961
961
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatetimeComponent, isStandalone: true, selector: "yuv-datetime", inputs: { onlyFutureDates: "onlyFutureDates", readonly: "readonly", withTime: "withTime" }, providers: [
|