nuxeo-development-framework 4.0.7 → 4.0.9
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/bundles/nuxeo-development-framework.umd.js +53 -44
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +2 -2
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +14 -13
- package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +18 -8
- package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +7 -8
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +22 -23
- package/fesm2015/nuxeo-development-framework.js +49 -40
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +6 -5
- package/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.d.ts +2 -1
- package/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.d.ts +3 -3
- package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +5 -5
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Component, ContentChild, Input, ViewChild
|
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA } from
|
|
3
|
-
import { isObservable } from
|
|
4
|
-
import { takeUntil } from
|
|
5
|
-
import { BaseComponent } from
|
|
1
|
+
import { Component, ContentChild, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import { isObservable } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { BaseComponent } from '../../components/base';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/material/icon";
|
|
8
8
|
import * as i2 from "../../../directive/rtl/set-dir-rtl.directive";
|
|
@@ -12,9 +12,9 @@ import * as i5 from "@ngx-translate/core";
|
|
|
12
12
|
export class NdfNuxeoDialog extends BaseComponent {
|
|
13
13
|
constructor(injector) {
|
|
14
14
|
super(injector);
|
|
15
|
-
this.dialogTitle =
|
|
16
|
-
this.subTitle =
|
|
17
|
-
this.loaderMode =
|
|
15
|
+
this.dialogTitle = '';
|
|
16
|
+
this.subTitle = '';
|
|
17
|
+
this.loaderMode = 'spinner';
|
|
18
18
|
this.dialogBodyTopOffset = 0;
|
|
19
19
|
this.data = injector.get(MAT_DIALOG_DATA, null);
|
|
20
20
|
this.dialogRef = injector.get(MatDialogRef, null);
|
|
@@ -23,14 +23,14 @@ export class NdfNuxeoDialog extends BaseComponent {
|
|
|
23
23
|
this.dialogBodyTopOffset = this.dialogBody.nativeElement.scrollTop;
|
|
24
24
|
if (action) {
|
|
25
25
|
if (!this.isArrowFunction(action)) {
|
|
26
|
-
throw new Error(
|
|
26
|
+
throw new Error('The action should be arrow function');
|
|
27
27
|
}
|
|
28
28
|
this.loading = true;
|
|
29
29
|
//TODO here we should find a way to test if actions instance of DialogActionType
|
|
30
30
|
const result = action(...params);
|
|
31
31
|
if (!isObservable(result)) {
|
|
32
32
|
this.loading = false;
|
|
33
|
-
throw new Error(
|
|
33
|
+
throw new Error('The action you used should return an Observable');
|
|
34
34
|
}
|
|
35
35
|
result.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
|
36
36
|
this.loading = false;
|
|
@@ -45,24 +45,23 @@ export class NdfNuxeoDialog extends BaseComponent {
|
|
|
45
45
|
}
|
|
46
46
|
isArrowFunction(fn) {
|
|
47
47
|
const strFn = fn.toString();
|
|
48
|
-
const firstIndex = strFn.indexOf(
|
|
49
|
-
const lastIndex = strFn.indexOf(
|
|
50
|
-
const target = strFn.substring(firstIndex, lastIndex).replace(
|
|
51
|
-
return target.includes(
|
|
48
|
+
const firstIndex = strFn.indexOf(')');
|
|
49
|
+
const lastIndex = strFn.indexOf('{') + 1;
|
|
50
|
+
const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
51
|
+
return target.includes('=>');
|
|
52
52
|
}
|
|
53
53
|
onClose() {
|
|
54
54
|
this.dialogRef.close();
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
NdfNuxeoDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper\">\r\n\t<div
|
|
58
|
+
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px)}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i5.TranslatePipe } });
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
61
|
args: [{
|
|
62
|
-
selector:
|
|
63
|
-
templateUrl:
|
|
64
|
-
styleUrls: [
|
|
65
|
-
encapsulation: ViewEncapsulation.None,
|
|
62
|
+
selector: 'ndf-nuxeo-dialog',
|
|
63
|
+
templateUrl: './nuxeo.dialog.html',
|
|
64
|
+
styleUrls: ['./nuxeo.dialog.scss']
|
|
66
65
|
}]
|
|
67
66
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dialogTitle: [{
|
|
68
67
|
type: Input
|
|
@@ -72,12 +71,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
72
71
|
type: Input
|
|
73
72
|
}], contentTemplate: [{
|
|
74
73
|
type: ContentChild,
|
|
75
|
-
args: [
|
|
74
|
+
args: ['contentTemplate']
|
|
76
75
|
}], actionsTemplate: [{
|
|
77
76
|
type: ContentChild,
|
|
78
|
-
args: [
|
|
77
|
+
args: ['actionsTemplate']
|
|
79
78
|
}], dialogBody: [{
|
|
80
79
|
type: ViewChild,
|
|
81
|
-
args: [
|
|
80
|
+
args: ['dialogBody']
|
|
82
81
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVN0RCxNQUFNLE9BQU8sY0FBNEIsU0FBUSxhQUFhO0lBVzVELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBWFQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQThCLFNBQVMsQ0FBQztRQU8zRCx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFHOUIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBeUIsRUFBRSxHQUFHLE1BQWE7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNuRSxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7YUFDeEQ7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixnRkFBZ0Y7WUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQzthQUNwRTtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDN0MsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUNGLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsRUFBWTtRQUMxQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7NEdBdERVLGNBQWM7Z0dBQWQsY0FBYyxzZUNyQjNCLG9rRUF5REE7NEZEcENhLGNBQWM7a0JBTjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLHFCQUFxQjtvQkFDbEMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzsrRkFFVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDMkIsZUFBZTtzQkFBL0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBQ0UsZUFBZTtzQkFBL0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBSU4sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Jhc2VcIjtcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gXCIuL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZGYtbnV4ZW8tZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9udXhlby5kaWFsb2cuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9udXhlby5kaWFsb2cuc2Nzc1wiXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmTnV4ZW9EaWFsb2c8VERhdGEgPSBhbnk+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZGlhbG9nVGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgc3ViVGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgbG9hZGVyTW9kZTogXCJzcGlubmVyXCIgfCBcInByb2dyZXNzQmFyXCIgPSBcInNwaW5uZXJcIjtcclxuICBAQ29udGVudENoaWxkKFwiY29udGVudFRlbXBsYXRlXCIpIGNvbnRlbnRUZW1wbGF0ZSE6IGFueTtcclxuICBAQ29udGVudENoaWxkKFwiYWN0aW9uc1RlbXBsYXRlXCIpIGFjdGlvbnNUZW1wbGF0ZSE6IGFueTtcclxuXHJcbiAgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TmRmTnV4ZW9EaWFsb2c+O1xyXG4gIGRhdGE6IFREYXRhO1xyXG4gIEBWaWV3Q2hpbGQoXCJkaWFsb2dCb2R5XCIpIGRpYWxvZ0JvZHk6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIGRpYWxvZ0JvZHlUb3BPZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB0aGlzLmRhdGEgPSBpbmplY3Rvci5nZXQoTUFUX0RJQUxPR19EQVRBLCBudWxsKTtcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gaW5qZWN0b3IuZ2V0KE1hdERpYWxvZ1JlZiwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBleGVjdXRlQWN0aW9uKGFjdGlvbj86IERpYWxvZ0FjdGlvblR5cGUsIC4uLnBhcmFtczogYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nQm9keVRvcE9mZnNldCA9IHRoaXMuZGlhbG9nQm9keS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgaWYgKCF0aGlzLmlzQXJyb3dGdW5jdGlvbihhY3Rpb24pKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIGFjdGlvbiBzaG91bGQgYmUgYXJyb3cgZnVuY3Rpb25cIik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgLy9UT0RPIGhlcmUgd2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gdGVzdCBpZiBhY3Rpb25zIGluc3RhbmNlIG9mIERpYWxvZ0FjdGlvblR5cGVcclxuICAgICAgY29uc3QgcmVzdWx0ID0gYWN0aW9uKC4uLnBhcmFtcyk7XHJcbiAgICAgIGlmICghaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYWN0aW9uIHlvdSB1c2VkIHNob3VsZCByZXR1cm4gYW4gT2JzZXJ2YWJsZVwiKTtcclxuICAgICAgfVxyXG4gICAgICByZXN1bHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShcclxuICAgICAgICAodmFsdWUpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodmFsdWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzQXJyb3dGdW5jdGlvbihmbjogRnVuY3Rpb24pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHN0ckZuID0gZm4udG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IGZpcnN0SW5kZXggPSBzdHJGbi5pbmRleE9mKFwiKVwiKTtcclxuICAgIGNvbnN0IGxhc3RJbmRleCA9IHN0ckZuLmluZGV4T2YoXCJ7XCIpICsgMTtcclxuICAgIGNvbnN0IHRhcmdldCA9IHN0ckZuLnN1YnN0cmluZyhmaXJzdEluZGV4LCBsYXN0SW5kZXgpLnJlcGxhY2UoXCIgXCIsIFwiXCIpO1xyXG4gICAgcmV0dXJuIHRhcmdldC5pbmNsdWRlcyhcIj0+XCIpO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgU2V0RGlyUnRsIGNsYXNzPVwibmRmLWRpYWxvZy13cmFwcGVyXCI+XHJcblx0PGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XHJcblx0XHRcdDxzcGFuPnt7IGRhdGE/LmRpYWxvZ0NvbmZpZz8udGl0bGUgfHwgZGlhbG9nVGl0bGUgfX08L3NwYW4+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtbm9ybWFsXCJcclxuXHRcdFx0XHQ+e3sgZGF0YT8uZGlhbG9nQ29uZmlnPy5zdWJUaXRsZSB8fCBzdWJUaXRsZSB9fTwvc3BhblxyXG5cdFx0XHQ+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Y2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctYW50aS1mbGFzaC13aGl0ZSB3LTEwIGgtMTBcIlxyXG5cdFx0XHQoY2xpY2spPVwiZXhlY3V0ZUFjdGlvbigpXCJcclxuXHRcdFx0bWF0VG9vbHRpcD1cInt7J0JVVFRPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlfX1cIlxyXG5cdFx0PlxyXG5cdFx0XHQ8bWF0LWljb24gY2xhc3M9XCJpY29uLXNpemUtMy41XCIgW3N2Z0ljb25dPVwiJ2ljb25zOmNhbmNlbC1pY29uJ1wiPlxyXG5cdFx0XHQ8L21hdC1pY29uPlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9kaXY+XHJcblx0PGRpdiAjZGlhbG9nQm9keSBjbGFzcz1cImRpYWxvZy1ib2R5XCIgW25nQ2xhc3NdPVwieydvdmVyZmxvdy1oaWRkZW4nOiBsb2FkaW5nfVwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/LmRpYWxvZ0NvbmZpZz8uY29udGVudFRlbXBsYXRlIHx8IGNvbnRlbnRUZW1wbGF0ZVwiXHJcblx0XHQ+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJvdmVybGF5IGJnLWdyYXktMzAwIG9wYWNpdHktNDAgei05OTlcIlxyXG5cdFx0XHRcdFtuZ1N0eWxlXT1cInsndG9wJzogZGlhbG9nQm9keVRvcE9mZnNldCArICdweCd9XCJcclxuXHRcdFx0PjwvZGl2PlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJvdmVybGF5IHotOTk5OVwiXHJcblx0XHRcdFx0Km5nSWY9XCJsb2FkZXJNb2RlID09PSAnc3Bpbm5lcidcIlxyXG5cdFx0XHRcdFtuZ1N0eWxlXT1cInsndG9wJzogZGlhbG9nQm9keVRvcE9mZnNldCArICdweCd9XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtc3Bpbm5lclxyXG5cdFx0XHRcdFx0W3ZhbHVlXT1cIjkwXCJcclxuXHRcdFx0XHRcdFtzdHJva2VXaWR0aF09XCI0XCJcclxuXHRcdFx0XHRcdG92ZXJsYXk9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFtkaWFtZXRlcl09XCI0MFwiXHJcblx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHQ8L21hdC1zcGlubmVyPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwiYmxvY2sgdy1mdWxsIGgtcHggYWJzb2x1dGUgaW5zZXQtMCB6LTk5OTlcIlxyXG5cdFx0XHRcdCpuZ0lmPVwibG9hZGVyTW9kZSA9PT0gJ3Byb2dyZXNzQmFyJ1wiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwganVzdGlmeS1lbmQgcC02IHB0LTAgZ2FwLXgtNFwiPlxyXG5cdFx0PGJ1dHRvbiBjbGFzcz1cImNhbmNlbGF0aW9uLWJ1dHRvblwiIChjbGljayk9XCJleGVjdXRlQWN0aW9uKClcIj5cclxuXHRcdFx0e3tcIkJVVFRPTlMuQ0FOQ0VMXCIgfCB0cmFuc2xhdGV9fVxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ1RlbXBsYXRlT3V0bGV0PVwiKGRhdGE/LmRpYWxvZ0NvbmZpZz8uYWN0aW9uc1RlbXBsYXRlIHx8IGFjdGlvbnNUZW1wbGF0ZSk7IGNvbnRleHQ6IHsgZGlhbG9nOiB0aGlzIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBd0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVF0RCxNQUFNLE9BQU8sY0FBNEIsU0FBUSxhQUFhO0lBVzdELFlBQVksUUFBa0I7UUFDN0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBWFIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQThCLFNBQVMsQ0FBQztRQU8zRCx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBeUIsRUFBRSxHQUFHLE1BQWE7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNuRSxJQUFJLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixnRkFBZ0Y7WUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQzthQUNuRTtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDOUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQyxDQUNELENBQUM7U0FDRjthQUFNO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN2QjtJQUNGLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBWTtRQUMzQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7NEdBdERXLGNBQWM7Z0dBQWQsY0FBYyxzZUNaM0IsczhFQStEQTs0RkRuRGEsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUscUJBQXFCO29CQUNsQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDbEM7K0ZBRVMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQzJCLGVBQWU7c0JBQS9DLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNFLGVBQWU7c0JBQS9DLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUlOLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Jhc2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ25kZi1udXhlby1kaWFsb2cnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9udXhlby5kaWFsb2cuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbnV4ZW8uZGlhbG9nLnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmTnV4ZW9EaWFsb2c8VERhdGEgPSBhbnk+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcblx0QElucHV0KCkgZGlhbG9nVGl0bGU6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHN1YlRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBsb2FkZXJNb2RlOiAnc3Bpbm5lcicgfCAncHJvZ3Jlc3NCYXInID0gJ3NwaW5uZXInO1xyXG5cdEBDb250ZW50Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZScpIGNvbnRlbnRUZW1wbGF0ZSE6IGFueTtcclxuXHRAQ29udGVudENoaWxkKCdhY3Rpb25zVGVtcGxhdGUnKSBhY3Rpb25zVGVtcGxhdGUhOiBhbnk7XHJcblxyXG5cdGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5kZk51eGVvRGlhbG9nPjtcclxuXHRkYXRhOiBURGF0YTtcclxuXHRAVmlld0NoaWxkKCdkaWFsb2dCb2R5JykgZGlhbG9nQm9keTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblx0ZGlhbG9nQm9keVRvcE9mZnNldDogbnVtYmVyID0gMDtcclxuXHRjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHRcdHRoaXMuZGF0YSA9IGluamVjdG9yLmdldChNQVRfRElBTE9HX0RBVEEsIG51bGwpO1xyXG5cdFx0dGhpcy5kaWFsb2dSZWYgPSBpbmplY3Rvci5nZXQoTWF0RGlhbG9nUmVmLCBudWxsKTtcclxuXHR9XHJcblxyXG5cdGV4ZWN1dGVBY3Rpb24oYWN0aW9uPzogRGlhbG9nQWN0aW9uVHlwZSwgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0dGhpcy5kaWFsb2dCb2R5VG9wT2Zmc2V0ID0gdGhpcy5kaWFsb2dCb2R5Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xyXG5cdFx0aWYgKGFjdGlvbikge1xyXG5cdFx0XHRpZiAoIXRoaXMuaXNBcnJvd0Z1bmN0aW9uKGFjdGlvbikpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhY3Rpb24gc2hvdWxkIGJlIGFycm93IGZ1bmN0aW9uJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdFx0Ly9UT0RPIGhlcmUgd2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gdGVzdCBpZiBhY3Rpb25zIGluc3RhbmNlIG9mIERpYWxvZ0FjdGlvblR5cGVcclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0gYWN0aW9uKC4uLnBhcmFtcyk7XHJcblx0XHRcdGlmICghaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhY3Rpb24geW91IHVzZWQgc2hvdWxkIHJldHVybiBhbiBPYnNlcnZhYmxlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0cmVzdWx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHZhbHVlKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKHZhbHVlKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpc0Fycm93RnVuY3Rpb24oZm46IEZ1bmN0aW9uKTogYm9vbGVhbiB7XHJcblx0XHRjb25zdCBzdHJGbiA9IGZuLnRvU3RyaW5nKCk7XHJcblx0XHRjb25zdCBmaXJzdEluZGV4ID0gc3RyRm4uaW5kZXhPZignKScpO1xyXG5cdFx0Y29uc3QgbGFzdEluZGV4ID0gc3RyRm4uaW5kZXhPZigneycpICsgMTtcclxuXHRcdGNvbnN0IHRhcmdldCA9IHN0ckZuLnN1YnN0cmluZyhmaXJzdEluZGV4LCBsYXN0SW5kZXgpLnJlcGxhY2UoJyAnLCAnJyk7XHJcblx0XHRyZXR1cm4gdGFyZ2V0LmluY2x1ZGVzKCc9PicpO1xyXG5cdH1cclxuXHJcblx0b25DbG9zZSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgU2V0RGlyUnRsIGNsYXNzPVwibmRmLWRpYWxvZy13cmFwcGVyIGZsZXggZmxleC1jb2xcIj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cImRpYWxvZy1oZWFkZXIgZmxleCBoLTIwIHAtNiBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbCBiZy12YXBvciB0ZXh0LWJsdWUtbXVuc2VsbCB0ZXh0LXhsIG5vdC1pdGFsaWMgZm9udC1ib2xkIGxlYWRpbmctN1wiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuXHRcdFx0PHNwYW4+e3sgZGF0YT8uZGlhbG9nQ29uZmlnPy50aXRsZSB8fCBkaWFsb2dUaXRsZSB9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ub3JtYWxcIlxyXG5cdFx0XHRcdD57eyBkYXRhPy5kaWFsb2dDb25maWc/LnN1YlRpdGxlIHx8IHN1YlRpdGxlIH19PC9zcGFuXHJcblx0XHRcdD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHRjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBiZy1hbnRpLWZsYXNoLXdoaXRlIHctMTAgaC0xMFwiXHJcblx0XHRcdChjbGljayk9XCJleGVjdXRlQWN0aW9uKClcIlxyXG5cdFx0XHRtYXRUb29sdGlwPVwie3snQlVUVE9OUy5DTE9TRScgfCB0cmFuc2xhdGV9fVwiXHJcblx0XHQ+XHJcblx0XHRcdDxtYXQtaWNvbiBjbGFzcz1cImljb24tc2l6ZS0zLjVcIiBbc3ZnSWNvbl09XCInaWNvbnM6Y2FuY2VsLWljb24nXCI+XHJcblx0XHRcdDwvbWF0LWljb24+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2XHJcblx0XHQjZGlhbG9nQm9keVxyXG5cdFx0Y2xhc3M9XCJkaWFsb2ctYm9keSBmbGV4IGZsZXgtY29sIGdhcC15LTQgcC02IG92ZXJmbG93LXktYXV0byByZWxhdGl2ZSB6LTk5XCJcclxuXHRcdFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctaGlkZGVuJzogbG9hZGluZ31cIlxyXG5cdD5cclxuXHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0Km5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy5kaWFsb2dDb25maWc/LmNvbnRlbnRUZW1wbGF0ZSB8fCBjb250ZW50VGVtcGxhdGVcIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwib3ZlcmxheSBmbGV4IHctZnVsbCBoLWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGFic29sdXRlIGxlZnQtMCBib3R0b20tMCByaWdodC0wIGJnLWdyYXktMzAwIG9wYWNpdHktNDAgei05OTlcIlxyXG5cdFx0XHRcdFtuZ1N0eWxlXT1cInsndG9wJzogZGlhbG9nQm9keVRvcE9mZnNldCArICdweCd9XCJcclxuXHRcdFx0PjwvZGl2PlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJvdmVybGF5IGZsZXggdy1mdWxsIGgtZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYWJzb2x1dGUgbGVmdC0wIGJvdHRvbS0wIHJpZ2h0LTAgei05OTk5XCJcclxuXHRcdFx0XHQqbmdJZj1cImxvYWRlck1vZGUgPT09ICdzcGlubmVyJ1wiXHJcblx0XHRcdFx0W25nU3R5bGVdPVwieyd0b3AnOiBkaWFsb2dCb2R5VG9wT2Zmc2V0ICsgJ3B4J31cIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1zcGlubmVyXHJcblx0XHRcdFx0XHRbdmFsdWVdPVwiOTBcIlxyXG5cdFx0XHRcdFx0W3N0cm9rZVdpZHRoXT1cIjRcIlxyXG5cdFx0XHRcdFx0b3ZlcmxheT1cInRydWVcIlxyXG5cdFx0XHRcdFx0W2RpYW1ldGVyXT1cIjQwXCJcclxuXHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdDwvbWF0LXNwaW5uZXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJibG9jayB3LWZ1bGwgaC1weCBhYnNvbHV0ZSBpbnNldC0wIHotOTk5OVwiXHJcblx0XHRcdFx0Km5nSWY9XCJsb2FkZXJNb2RlID09PSAncHJvZ3Jlc3NCYXInXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWVuZCBwLTYgcHQtMCBnYXAteC00XCI+XHJcblx0XHQ8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uXCIgKGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiPlxyXG5cdFx0XHR7e1wiQlVUVE9OUy5DQU5DRUxcIiB8IHRyYW5zbGF0ZX19XHJcblx0XHQ8L2J1dHRvbj5cclxuXHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0Km5nVGVtcGxhdGVPdXRsZXQ9XCIoZGF0YT8uZGlhbG9nQ29uZmlnPy5hY3Rpb25zVGVtcGxhdGUgfHwgYWN0aW9uc1RlbXBsYXRlKTsgY29udGV4dDogeyBkaWFsb2c6IHRoaXMgfVwiXHJcblx0XHQ+PC9uZy1jb250YWluZXI+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, NgModule, Injectable, Directive, Inject, InjectionToken, Optional, ChangeDetectorRef, Input,
|
|
2
|
+
import { Component, NgModule, Injectable, Directive, Inject, InjectionToken, Optional, ChangeDetectorRef, Input, ContentChild, ViewChild, EventEmitter, Output, HostListener, Pipe, ViewEncapsulation, Self, SkipSelf, ChangeDetectionStrategy, ViewContainerRef, forwardRef, APP_INITIALIZER, TemplateRef } from '@angular/core';
|
|
3
3
|
import * as i4$1 from '@angular/common';
|
|
4
4
|
import { CommonModule, APP_BASE_HREF, DatePipe, registerLocaleData, DOCUMENT } from '@angular/common';
|
|
5
5
|
import * as i1$2 from '@angular/common/http';
|
|
@@ -1771,9 +1771,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1771
1771
|
class NdfNuxeoDialog extends BaseComponent {
|
|
1772
1772
|
constructor(injector) {
|
|
1773
1773
|
super(injector);
|
|
1774
|
-
this.dialogTitle =
|
|
1775
|
-
this.subTitle =
|
|
1776
|
-
this.loaderMode =
|
|
1774
|
+
this.dialogTitle = '';
|
|
1775
|
+
this.subTitle = '';
|
|
1776
|
+
this.loaderMode = 'spinner';
|
|
1777
1777
|
this.dialogBodyTopOffset = 0;
|
|
1778
1778
|
this.data = injector.get(MAT_DIALOG_DATA, null);
|
|
1779
1779
|
this.dialogRef = injector.get(MatDialogRef, null);
|
|
@@ -1782,14 +1782,14 @@ class NdfNuxeoDialog extends BaseComponent {
|
|
|
1782
1782
|
this.dialogBodyTopOffset = this.dialogBody.nativeElement.scrollTop;
|
|
1783
1783
|
if (action) {
|
|
1784
1784
|
if (!this.isArrowFunction(action)) {
|
|
1785
|
-
throw new Error(
|
|
1785
|
+
throw new Error('The action should be arrow function');
|
|
1786
1786
|
}
|
|
1787
1787
|
this.loading = true;
|
|
1788
1788
|
//TODO here we should find a way to test if actions instance of DialogActionType
|
|
1789
1789
|
const result = action(...params);
|
|
1790
1790
|
if (!isObservable(result)) {
|
|
1791
1791
|
this.loading = false;
|
|
1792
|
-
throw new Error(
|
|
1792
|
+
throw new Error('The action you used should return an Observable');
|
|
1793
1793
|
}
|
|
1794
1794
|
result.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
|
1795
1795
|
this.loading = false;
|
|
@@ -1804,24 +1804,23 @@ class NdfNuxeoDialog extends BaseComponent {
|
|
|
1804
1804
|
}
|
|
1805
1805
|
isArrowFunction(fn) {
|
|
1806
1806
|
const strFn = fn.toString();
|
|
1807
|
-
const firstIndex = strFn.indexOf(
|
|
1808
|
-
const lastIndex = strFn.indexOf(
|
|
1809
|
-
const target = strFn.substring(firstIndex, lastIndex).replace(
|
|
1810
|
-
return target.includes(
|
|
1807
|
+
const firstIndex = strFn.indexOf(')');
|
|
1808
|
+
const lastIndex = strFn.indexOf('{') + 1;
|
|
1809
|
+
const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
1810
|
+
return target.includes('=>');
|
|
1811
1811
|
}
|
|
1812
1812
|
onClose() {
|
|
1813
1813
|
this.dialogRef.close();
|
|
1814
1814
|
}
|
|
1815
1815
|
}
|
|
1816
1816
|
NdfNuxeoDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
1817
|
-
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper\">\r\n\t<div
|
|
1817
|
+
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px)}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
1818
1818
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, decorators: [{
|
|
1819
1819
|
type: Component,
|
|
1820
1820
|
args: [{
|
|
1821
|
-
selector:
|
|
1822
|
-
templateUrl:
|
|
1823
|
-
styleUrls: [
|
|
1824
|
-
encapsulation: ViewEncapsulation.None,
|
|
1821
|
+
selector: 'ndf-nuxeo-dialog',
|
|
1822
|
+
templateUrl: './nuxeo.dialog.html',
|
|
1823
|
+
styleUrls: ['./nuxeo.dialog.scss']
|
|
1825
1824
|
}]
|
|
1826
1825
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dialogTitle: [{
|
|
1827
1826
|
type: Input
|
|
@@ -1831,13 +1830,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1831
1830
|
type: Input
|
|
1832
1831
|
}], contentTemplate: [{
|
|
1833
1832
|
type: ContentChild,
|
|
1834
|
-
args: [
|
|
1833
|
+
args: ['contentTemplate']
|
|
1835
1834
|
}], actionsTemplate: [{
|
|
1836
1835
|
type: ContentChild,
|
|
1837
|
-
args: [
|
|
1836
|
+
args: ['actionsTemplate']
|
|
1838
1837
|
}], dialogBody: [{
|
|
1839
1838
|
type: ViewChild,
|
|
1840
|
-
args: [
|
|
1839
|
+
args: ['dialogBody']
|
|
1841
1840
|
}] } });
|
|
1842
1841
|
|
|
1843
1842
|
class NdfConfirmationDialogComponent extends BaseDialogComponent {
|
|
@@ -1846,14 +1845,13 @@ class NdfConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
1846
1845
|
}
|
|
1847
1846
|
}
|
|
1848
1847
|
NdfConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfirmationDialogComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
1849
|
-
NdfConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfirmationDialogComponent, selector: "ndf-confirmation-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ dialogData.title | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<!-- Content -->\r\n\t\t<div class=\"flex flex-row gap-x-2 items-center\">\r\n\t\t\t<!-- Icon -->\r\n\t\t\t<ng-container *ngIf=\"dialogData.icon.show\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"flex flex-0 items-center justify-center w-10 h-10 sm:mr-4 rounded-full\"\r\n\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\
|
|
1848
|
+
NdfConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfirmationDialogComponent, selector: "ndf-confirmation-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ dialogData.title | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<!-- Content -->\r\n\t\t<div class=\"flex flex-row gap-x-2 items-center\">\r\n\t\t\t<!-- Icon -->\r\n\t\t\t<ng-container *ngIf=\"dialogData.icon.show\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"flex flex-0 items-center justify-center w-10 h-10 sm:mr-4 rounded-full\"\r\n\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'primary',\r\n\t\t\t\t\t\t'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'accent',\r\n\t\t\t\t\t\t'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'warn',\r\n\t\t\t\t\t\t'text-gray-600 bg-gray-100 dark:text-gray-50 dark:bg-gray-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'basic',\r\n\t\t\t\t\t\t'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'info',\r\n\t\t\t\t\t\t'text-green-500 bg-green-100 dark:text-green-50 dark:bg-green-500':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'success',\r\n\t\t\t\t\t\t'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'warning',\r\n\t\t\t\t\t\t'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600':\r\n\t\t\t\t\t\t\tdialogData.icon.color === 'error'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"text-current\"\r\n\t\t\t\t\t\t[svgIcon]=\"dialogData.icon.name\"\r\n\t\t\t\t\t></mat-icon>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"text-secondary\"\r\n\t\t\t\t[innerHtml]=\"dialogData.message | translate\"\r\n\t\t\t></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<ng-container *ngIf=\"dialogData.actions.confirm.show\">\r\n\t\t\t<button\r\n\t\t\t\t(click)=\"dialog.executeAction(dialogData.actions.confirm.fn)\"\r\n\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t[color]=\"dialogData.actions.confirm.color\"\r\n\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t>\r\n\t\t\t\t{{ dialogData.actions.confirm.label | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t\t<ng-container *ngIf=\"dialogData.actions.moreActions.length\">\r\n\t\t\t<ng-container *ngFor=\"let btn of dialogData.actions.moreActions\">\r\n\t\t\t\t<button\r\n\t\t\t\t\t(click)=\"dialog.executeAction(btn.fn)\"\r\n\t\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t\t[color]=\"btn.color\"\r\n\t\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ btn.label | translate }}\r\n\t\t\t\t</button>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: ["::ng-deep .ndf-confirmation-dialog-panel{min-width:25%!important}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "loaderMode"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
1850
1849
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfirmationDialogComponent, decorators: [{
|
|
1851
1850
|
type: Component,
|
|
1852
1851
|
args: [{
|
|
1853
|
-
selector:
|
|
1854
|
-
templateUrl:
|
|
1855
|
-
styleUrls: [
|
|
1856
|
-
encapsulation: ViewEncapsulation.None,
|
|
1852
|
+
selector: 'ndf-confirmation-dialog',
|
|
1853
|
+
templateUrl: './ndf-confirmation-dialog.component.html',
|
|
1854
|
+
styleUrls: ['./ndf-confirmation-dialog.component.scss']
|
|
1857
1855
|
}]
|
|
1858
1856
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
1859
1857
|
|
|
@@ -4867,11 +4865,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4867
4865
|
type: Output
|
|
4868
4866
|
}] } });
|
|
4869
4867
|
|
|
4870
|
-
class VocabularyApiService {
|
|
4871
|
-
constructor(nuxeoService,
|
|
4868
|
+
class VocabularyApiService extends BaseService {
|
|
4869
|
+
constructor(nuxeoService, injector) {
|
|
4870
|
+
super(injector);
|
|
4872
4871
|
this.nuxeoService = nuxeoService;
|
|
4873
|
-
this.
|
|
4874
|
-
this.environment = environment;
|
|
4872
|
+
this.injector = injector;
|
|
4875
4873
|
this.vocabular = {};
|
|
4876
4874
|
}
|
|
4877
4875
|
getVocabularyList(listName) {
|
|
@@ -4883,7 +4881,7 @@ class VocabularyApiService {
|
|
|
4883
4881
|
actualGetVocabularyList(listName, extraParams = {}) {
|
|
4884
4882
|
return from(this.nuxeoService.nuxeoClient
|
|
4885
4883
|
.operation('Directory.SuggestEntries', {})
|
|
4886
|
-
.params(Object.assign({ directoryName: listName, dbl10n: false, localize: true, lang: this.
|
|
4884
|
+
.params(Object.assign({ directoryName: listName, dbl10n: false, localize: true, lang: this.translateService.currentLang }, extraParams))
|
|
4887
4885
|
.execute());
|
|
4888
4886
|
}
|
|
4889
4887
|
vocabularyOperations(opName, body) {
|
|
@@ -4897,18 +4895,19 @@ class VocabularyApiService {
|
|
|
4897
4895
|
throw err;
|
|
4898
4896
|
}));
|
|
4899
4897
|
}
|
|
4898
|
+
getVocListByVocName(vocName) {
|
|
4899
|
+
const url = `${this.environment.nuxeo}/api/v1/directory/${vocName}`;
|
|
4900
|
+
return this.get({ endpoint: url, headers: { properties: '*' } });
|
|
4901
|
+
}
|
|
4900
4902
|
}
|
|
4901
|
-
VocabularyApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyApiService, deps: [{ token: NuxeoService }, { token:
|
|
4903
|
+
VocabularyApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyApiService, deps: [{ token: NuxeoService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4902
4904
|
VocabularyApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyApiService, providedIn: 'root' });
|
|
4903
4905
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyApiService, decorators: [{
|
|
4904
4906
|
type: Injectable,
|
|
4905
4907
|
args: [{
|
|
4906
4908
|
providedIn: 'root',
|
|
4907
4909
|
}]
|
|
4908
|
-
}], ctorParameters: function () { return [{ type: NuxeoService }, { type:
|
|
4909
|
-
type: Inject,
|
|
4910
|
-
args: ['environment']
|
|
4911
|
-
}] }]; } });
|
|
4910
|
+
}], ctorParameters: function () { return [{ type: NuxeoService }, { type: i0.Injector }]; } });
|
|
4912
4911
|
|
|
4913
4912
|
/**
|
|
4914
4913
|
* A vocabulary dropdown input integrated with nuxeo vocabulary API,
|
|
@@ -20179,6 +20178,7 @@ class TranslatedVocabularySelectComponent {
|
|
|
20179
20178
|
this.loading = false;
|
|
20180
20179
|
this.mapingResponse = false;
|
|
20181
20180
|
this.params = {};
|
|
20181
|
+
this.getByDirectorySuggestion = true;
|
|
20182
20182
|
/** event emitted with selected items */
|
|
20183
20183
|
this.onSelectItems = new EventEmitter();
|
|
20184
20184
|
this.selection = [];
|
|
@@ -20223,20 +20223,27 @@ class TranslatedVocabularySelectComponent {
|
|
|
20223
20223
|
getlistOfVocabulary() {
|
|
20224
20224
|
this.loading = true;
|
|
20225
20225
|
if (this.vocbularyId) {
|
|
20226
|
-
this.vocabularyApiServ
|
|
20227
|
-
.getVocabularyListByFilters(this.vocbularyId, this.params, this.filter)
|
|
20228
|
-
|
|
20226
|
+
const observable = (this.getByDirectorySuggestion) ? this.vocabularyApiServ
|
|
20227
|
+
.getVocabularyListByFilters(this.vocbularyId, this.params, this.filter).pipe(map(res => {
|
|
20228
|
+
let tempArr = [];
|
|
20229
20229
|
if (this.mapingResponse) {
|
|
20230
20230
|
res.forEach((element) => {
|
|
20231
|
-
|
|
20231
|
+
tempArr.push({
|
|
20232
20232
|
label_ar: element.displayLabel,
|
|
20233
20233
|
label_en: element.displayLabel,
|
|
20234
20234
|
});
|
|
20235
20235
|
});
|
|
20236
20236
|
}
|
|
20237
20237
|
else {
|
|
20238
|
-
|
|
20238
|
+
tempArr = res;
|
|
20239
20239
|
}
|
|
20240
|
+
return tempArr;
|
|
20241
|
+
}))
|
|
20242
|
+
: this.vocabularyApiServ.getVocListByVocName(this.vocbularyId).pipe(map((res) => {
|
|
20243
|
+
return res.entries.map(elem => elem.properties);
|
|
20244
|
+
}));
|
|
20245
|
+
observable.subscribe((res) => {
|
|
20246
|
+
this.data = res;
|
|
20240
20247
|
this.buffer = (this.data || []).slice(0, this.bufferSize);
|
|
20241
20248
|
this.loading = false;
|
|
20242
20249
|
}, err => {
|
|
@@ -20300,7 +20307,7 @@ class TranslatedVocabularySelectComponent {
|
|
|
20300
20307
|
}
|
|
20301
20308
|
}
|
|
20302
20309
|
TranslatedVocabularySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslatedVocabularySelectComponent, deps: [{ token: i1.TranslateService }, { token: TranslationService }, { token: VocabularyApiService }, { token: i6.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
20303
|
-
TranslatedVocabularySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: { label: "label", bindValue: "bindValue", arbBindLabel: "arbBindLabel", engBindLabel: "engBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", clear: "clear", filter: "filter", useFilter: "useFilter", vocbularyId: "vocbularyId", mapingResponse: "mapingResponse", params: "params" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"translated-vocbulary-wrapper\" [ngClass]=\"{'rtl-translated-vocbulary-wrapper' : isArabic === true}\">\r\n <div class=\"vocabulary-title text-base font-bold text-accent-900 mb-0\">\r\n {{label | translate}}\r\n <span *ngIf=\"isRequired()\" class=\"required-flage\">*</span>\r\n </div>\r\n <ng-select\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [clearable]=\"clear\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"emitSelection($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n >\r\n <ng-option *ngFor=\"let option of buffer\" [value]=\"option[bindValue]\">{{isArabic ? option[bindLabel] : option[bindLabel]}}</ng-option>\r\n </ng-select>\r\n</div>\r\n", styles: [".translated-vocbulary-wrapper .vocabulary-title .required-flage{color:#ef4444}.rtl-translated-vocbulary-wrapper{direction:rtl}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
20310
|
+
TranslatedVocabularySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: { label: "label", bindValue: "bindValue", arbBindLabel: "arbBindLabel", engBindLabel: "engBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", clear: "clear", filter: "filter", useFilter: "useFilter", vocbularyId: "vocbularyId", mapingResponse: "mapingResponse", params: "params", getByDirectorySuggestion: "getByDirectorySuggestion" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"translated-vocbulary-wrapper\" [ngClass]=\"{'rtl-translated-vocbulary-wrapper' : isArabic === true}\">\r\n <div class=\"vocabulary-title text-base font-bold text-accent-900 mb-0\">\r\n {{label | translate}}\r\n <span *ngIf=\"isRequired()\" class=\"required-flage\">*</span>\r\n </div>\r\n <ng-select\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [clearable]=\"clear\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"emitSelection($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n >\r\n <ng-option *ngFor=\"let option of buffer\" [value]=\"option[bindValue]\">{{isArabic ? option[bindLabel] : option[bindLabel]}}</ng-option>\r\n </ng-select>\r\n</div>\r\n", styles: [".translated-vocbulary-wrapper .vocabulary-title .required-flage{color:#ef4444}.rtl-translated-vocbulary-wrapper{direction:rtl}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
20304
20311
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslatedVocabularySelectComponent, decorators: [{
|
|
20305
20312
|
type: Component,
|
|
20306
20313
|
args: [{
|
|
@@ -20347,6 +20354,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
20347
20354
|
type: Input
|
|
20348
20355
|
}], params: [{
|
|
20349
20356
|
type: Input
|
|
20357
|
+
}], getByDirectorySuggestion: [{
|
|
20358
|
+
type: Input
|
|
20350
20359
|
}], onSelectItems: [{
|
|
20351
20360
|
type: Output
|
|
20352
20361
|
}] } });
|
|
@@ -20510,7 +20519,7 @@ class DynamicFieldsRendererComponent {
|
|
|
20510
20519
|
}
|
|
20511
20520
|
}
|
|
20512
20521
|
DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20513
|
-
DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n
|
|
20522
|
+
DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [disabled]=\"field.disabled\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
20514
20523
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
|
|
20515
20524
|
type: Component,
|
|
20516
20525
|
args: [{
|