@bizdoc/core 1.11.0 → 1.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/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +2 -2
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +5 -4
- package/esm2020/lib/compose/action/action-picker.component.mjs +7 -36
- package/esm2020/lib/compose/action/action.base.mjs +43 -0
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +70 -0
- package/esm2020/lib/compose/trace/flow.component.mjs +5 -4
- package/esm2020/lib/core/configuration.mjs +8 -10
- package/esm2020/lib/core/mailbox.service.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +3 -1
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +2 -4
- package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
- package/esm2020/lib/desktop.module.mjs +6 -6
- package/esm2020/lib/routes.desktop.mjs +13 -7
- package/fesm2015/bizdoc-core.mjs +246 -220
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +246 -220
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/compose/action/action-picker.component.d.ts +4 -6
- package/lib/compose/action/action.base.d.ts +11 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts +29 -0
- package/lib/core/configuration.d.ts +8 -10
- package/lib/core/translations.d.ts +2 -0
- package/lib/desktop.module.d.ts +2 -2
- package/package.json +1 -1
- package/esm2020/lib/compose/action/action.pane.dialog.mjs +0 -59
- package/lib/compose/action/action.pane.dialog.d.ts +0 -26
@@ -3,6 +3,7 @@ import { Component, Input } from '@angular/core';
|
|
3
3
|
import { queryParams } from '../../core/functions';
|
4
4
|
import { DOCUMENT_MODEL } from '../../core/mailbox.service';
|
5
5
|
import { ActionDialog } from './action.dialog';
|
6
|
+
import { ActionBase } from './action.base';
|
6
7
|
import * as i0 from "@angular/core";
|
7
8
|
import * as i1 from "../../core/session.service";
|
8
9
|
import * as i2 from "../../core/mailbox.service";
|
@@ -16,13 +17,12 @@ import * as i9 from "@angular/common";
|
|
16
17
|
import * as i10 from "../../core/popup/tooltip.directive";
|
17
18
|
import * as i11 from "../../core/pipes/translate.pipe";
|
18
19
|
/** action-picker component*/
|
19
|
-
export class ActionPicker {
|
20
|
-
constructor(model, _session,
|
20
|
+
export class ActionPicker extends ActionBase {
|
21
|
+
constructor(model, _session, mailbox, _dialog, sb) {
|
22
|
+
super(mailbox, sb);
|
21
23
|
this.model = model;
|
22
24
|
this._session = _session;
|
23
|
-
this._mailbox = _mailbox;
|
24
25
|
this._dialog = _dialog;
|
25
|
-
this._sb = _sb;
|
26
26
|
this.working = false;
|
27
27
|
this.workingChange = new EventEmitter();
|
28
28
|
this.actions = [];
|
@@ -54,49 +54,20 @@ export class ActionPicker {
|
|
54
54
|
const params = queryParams(args);
|
55
55
|
this.workingChange.emit(true);
|
56
56
|
this.working = true;
|
57
|
-
|
58
|
-
return this._mailbox.send(id, version, formId, model, action.name, params).
|
57
|
+
return super._ok(action, params).
|
59
58
|
subscribe(() => {
|
60
|
-
this._sb.toast('Sent', number, (action.adjective || action.past || action.title).toLowerCase());
|
61
59
|
this.working = false;
|
62
60
|
this.workingChange.emit(false);
|
63
61
|
}, e => {
|
64
62
|
this.working = false;
|
65
63
|
this.workingChange.emit(false);
|
66
|
-
this._handleError(e, 'SendErr');
|
67
64
|
});
|
68
65
|
}
|
69
66
|
});
|
70
67
|
}
|
71
|
-
_handleError(response, message, ...args) {
|
72
|
-
if (response.constructor.name === 'PositionError')
|
73
|
-
switch (response.code) {
|
74
|
-
case 1:
|
75
|
-
this._sb.error('UserDeniedGeoErr');
|
76
|
-
break;
|
77
|
-
default:
|
78
|
-
this._sb.error('GeoErr');
|
79
|
-
}
|
80
|
-
else
|
81
|
-
switch (response.status) {
|
82
|
-
case 401:
|
83
|
-
break;
|
84
|
-
case 409: // version change
|
85
|
-
{
|
86
|
-
const obj = response.error /* serialized model */;
|
87
|
-
this._sb.error('VersionErr', this.model.number);
|
88
|
-
break;
|
89
|
-
}
|
90
|
-
case 406: // validation exception
|
91
|
-
this._sb.errorString(response.error);
|
92
|
-
break;
|
93
|
-
default:
|
94
|
-
this._sb.error(message, ...args);
|
95
|
-
}
|
96
|
-
}
|
97
68
|
}
|
98
69
|
ActionPicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPicker, deps: [{ token: DOCUMENT_MODEL }, { token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.MatDialog }, { token: i4.PromptService }], target: i0.ɵɵFactoryTarget.Component });
|
99
|
-
ActionPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n \r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i11.TranslatePipe } });
|
70
|
+
ActionPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n \r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i11.TranslatePipe } });
|
100
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPicker, decorators: [{
|
101
72
|
type: Component,
|
102
73
|
args: [{ selector: 'bizdoc-action-picker', template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n \r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"] }]
|
@@ -108,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
108
79
|
}], workingChange: [{
|
109
80
|
type: Output
|
110
81
|
}] } });
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2FjdGlvbi9hY3Rpb24tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLDRCQUE0QixDQUFDO0FBSTVFLE9BQU8sRUFBRSxZQUFZLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPakUsNkJBQTZCO0FBQzdCLE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQ2lDLEtBQTBCLEVBQ2pELFFBQXdCLEVBQ3hCLFFBQXdCLEVBQ3hCLE9BQWtCLEVBQ2xCLEdBQWtCO1FBSkssVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFDakQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBUm5CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDTixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDL0QsWUFBTyxHQUFhLEVBQUUsQ0FBQztJQU9uQixDQUFDO0lBQ0wsZUFBZTtRQUNiLE1BQU0sR0FBRyxHQUFJLFFBQVEsQ0FBQyxh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LFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDckIsS0FBSyxDQUFDO29CQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ25DLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDNUI7O1lBRUQsUUFBUSxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLEdBQUc7b0JBQ04sTUFBTTtnQkFDUixLQUFLLEdBQUcsRUFBRSxpQkFBaUI7b0JBQ3pCO3dCQUNFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsc0JBQTZDLENBQUM7d0JBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNoRCxNQUFNO3FCQUNQO2dCQUNILEtBQUssR0FBRyxFQUFFLHVCQUF1QjtvQkFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNyQyxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3BDO0lBQ0wsQ0FBQzs7eUdBNUVVLFlBQVksa0JBS2IsY0FBYzs2RkFMYixZQUFZLDhKQ2pCekIsaXlDQXlCQTsyRkRSYSxZQUFZO2tCQU54QixTQUFTOytCQUNFLHNCQUFzQjs7MEJBVTdCLE1BQU07MkJBQUMsY0FBYzswSkFKZixPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBxdWVyeVBhcmFtcyB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgRE9DVU1FTlRfTU9ERUwsIE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb24sIFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb25EaWFsb2csIEFjdGlvbkRpYWxvZ0RhdGEgfSBmcm9tICcuL2FjdGlvbi5kaWFsb2cnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWN0aW9uLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuLyoqIGFjdGlvbi1waWNrZXIgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEFjdGlvblBpY2tlciBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgd29ya2luZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB3b3JraW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGFjdGlvbnM6IEFjdGlvbltdID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UX01PREVMKSBwdWJsaWMgbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT4sXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZVxyXG4gICkgeyB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYnRuID0gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlbHA9c2VuZF0nKSBhcyBIVE1MQnV0dG9uRWxlbWVudCk7XHJcbiAgICBpZiAoYnRuKSBidG4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ21vZGVsJ10pXHJcbiAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbHRlcihhID0+IHRoaXMubW9kZWwuYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSkuXHJcbiAgICAgICAgc29ydCh0aGlzLl9zb3J0QWN0aW9ucyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NvcnRBY3Rpb25zKGE6IEFjdGlvbiwgYjogQWN0aW9uKSB7XHJcbiAgICBpZiAoYS5ncm91cCAmJiBiLmdyb3VwICYmIGEuZ3JvdXAgIT09IGIuZ3JvdXApXHJcbiAgICAgIHJldHVybiBhLmdyb3VwIDwgYi5ncm91cCA/IC0xIDogMTtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuICBzZW5kKGFjdGlvbjogQWN0aW9uKSB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihBY3Rpb25EaWFsb2csIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLm5hbWUsXHJcbiAgICAgICAgaXRlbTogdGhpcy5tb2RlbFxyXG4gICAgICB9IGFzIEFjdGlvbkRpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhcmdzID0+IHtcclxuICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVBhcmFtcyhhcmdzKTtcclxuICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHsgaWQsIHZlcnNpb24sIG51bWJlciwgbW9kZWwsIGZvcm1JZCB9ID0gdGhpcy5tb2RlbDtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zZW5kKGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBhY3Rpb24ubmFtZSwgcGFyYW1zKS5cclxuICAgICAgICAgIHN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50JywgbnVtYmVyLCAoYWN0aW9uLmFkamVjdGl2ZSB8fCBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdTZW5kRXJyJyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyb3IocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDk6IC8vIHZlcnNpb24gY2hhbmdlXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9iaiA9IHJlc3BvbnNlLmVycm9yIC8qIHNlcmlhbGl6ZWQgbW9kZWwgKi8gYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1ZlcnNpb25FcnInLCB0aGlzLm1vZGVsLm51bWJlcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgNDA2OiAvLyB2YWxpZGF0aW9uIGV4Y2VwdGlvblxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKG1lc3NhZ2UsIC4uLmFyZ3MpO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpb25zLmxlbmd0aFwiPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJythY3Rpb25zWzBdLm5hbWVcIiAoY2xpY2spPVwic2VuZChhY3Rpb25zWzBdKVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57e2FjdGlvbnNbMF0udGl0bGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICAmbmJzcDtcclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJhY3Rpb25zLmxlbmd0aFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJythY3Rpb25zWzFdLm5hbWVcIiAqbmdTd2l0Y2hDYXNlPVwiMlwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgKGNsaWNrKT1cInNlbmQoYWN0aW9uc1sxXSlcIj5cclxuICAgICAgPHNwYW4+e3thY3Rpb25zWzFdLnRpdGxlfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gZGF0YS1oZWxwPVwic2VuZFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIiBbYml6ZG9jVG9vbHRpcF09XCInU2VuZCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8c3Bhbj57eydBY3Rpb25zJyB8IHRyYW5zbGF0ZX19PC9zcGFuPiA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxyXG4gICAgICA8bWF0LW1lbnUgI2FjdGlvbk1lbnU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBhY3Rpb25zLnNsaWNlKDEpOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImkgPiAxICYmIGFjdGlvbnNbaSAtIDFdLmdyb3VwICE9PSBhLmdyb3VwXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZW5kKGEpXCI+e3thLnRpdGxlfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2FjdGlvbi9hY3Rpb24tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLDRCQUE0QixDQUFDO0FBRzVFLE9BQU8sRUFBRSxZQUFZLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVEzQyw2QkFBNkI7QUFDN0IsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVO0lBSTFDLFlBQ2lDLEtBQTBCLEVBQ2pELFFBQXdCLEVBQ2hDLE9BQXVCLEVBQ2YsT0FBa0IsRUFDMUIsRUFBaUI7UUFFakIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQU5ZLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQ2pELGFBQVEsR0FBUixRQUFRLENBQWdCO1FBRXhCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFQbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNOLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMvRCxZQUFPLEdBQWEsRUFBRSxDQUFDO0lBU3ZCLENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxHQUFHLEdBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBdUIsQ0FBQztRQUM5RSxJQUFJLEdBQUc7WUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ08sWUFBWSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQ3ZDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUs7WUFDM0MsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQWM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlCLElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSzthQUNHO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxJQUFJLElBQUksRUFBRTtnQkFDUixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDcEIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7b0JBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7b0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzt5R0FqRFUsWUFBWSxrQkFLYixjQUFjOzZGQUxiLFlBQVkscUxDakJ6QixpeUNBeUJBOzJGRFJhLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkFVN0IsTUFBTTsyQkFBQyxjQUFjOzBKQUpmLE9BQU87c0JBQWYsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgcXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IERPQ1VNRU5UX01PREVMLCBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uLCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZywgQWN0aW9uRGlhbG9nRGF0YSB9IGZyb20gJy4vYWN0aW9uLmRpYWxvZyc7XHJcbmltcG9ydCB7IEFjdGlvbkJhc2UgfSBmcm9tICcuL2FjdGlvbi5iYXNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWN0aW9uLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuLyoqIGFjdGlvbi1waWNrZXIgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEFjdGlvblBpY2tlciBleHRlbmRzIEFjdGlvbkJhc2UgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHdvcmtpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgd29ya2luZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVF9NT0RFTCkgcHVibGljIG1vZGVsOiBSZWNpcGllbnRNb2RlbDxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBtYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgc2I6IFByb21wdFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1haWxib3gsIHNiKTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYnRuID0gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlbHA9c2VuZF0nKSBhcyBIVE1MQnV0dG9uRWxlbWVudCk7XHJcbiAgICBpZiAoYnRuKSBidG4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ21vZGVsJ10pXHJcbiAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbHRlcihhID0+IHRoaXMubW9kZWwuYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSkuXHJcbiAgICAgICAgc29ydCh0aGlzLl9zb3J0QWN0aW9ucyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NvcnRBY3Rpb25zKGE6IEFjdGlvbiwgYjogQWN0aW9uKSB7XHJcbiAgICBpZiAoYS5ncm91cCAmJiBiLmdyb3VwICYmIGEuZ3JvdXAgIT09IGIuZ3JvdXApXHJcbiAgICAgIHJldHVybiBhLmdyb3VwIDwgYi5ncm91cCA/IC0xIDogMTtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuICBzZW5kKGFjdGlvbjogQWN0aW9uKSB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihBY3Rpb25EaWFsb2csIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLm5hbWUsXHJcbiAgICAgICAgaXRlbTogdGhpcy5tb2RlbFxyXG4gICAgICB9IGFzIEFjdGlvbkRpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhcmdzID0+IHtcclxuICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVBhcmFtcyhhcmdzKTtcclxuICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiBzdXBlci5fb2soYWN0aW9uLCBwYXJhbXMpLlxyXG4gICAgICAgICAgc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpb25zLmxlbmd0aFwiPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJythY3Rpb25zWzBdLm5hbWVcIiAoY2xpY2spPVwic2VuZChhY3Rpb25zWzBdKVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57e2FjdGlvbnNbMF0udGl0bGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICAmbmJzcDtcclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJhY3Rpb25zLmxlbmd0aFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJythY3Rpb25zWzFdLm5hbWVcIiAqbmdTd2l0Y2hDYXNlPVwiMlwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgKGNsaWNrKT1cInNlbmQoYWN0aW9uc1sxXSlcIj5cclxuICAgICAgPHNwYW4+e3thY3Rpb25zWzFdLnRpdGxlfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gZGF0YS1oZWxwPVwic2VuZFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIiBbYml6ZG9jVG9vbHRpcF09XCInU2VuZCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8c3Bhbj57eydBY3Rpb25zJyB8IHRyYW5zbGF0ZX19PC9zcGFuPiA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxyXG4gICAgICA8bWF0LW1lbnUgI2FjdGlvbk1lbnU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBhY3Rpb25zLnNsaWNlKDEpOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImkgPiAxICYmIGFjdGlvbnNbaSAtIDFdLmdyb3VwICE9PSBhLmdyb3VwXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZW5kKGEpXCI+e3thLnRpdGxlfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { tap } from 'rxjs';
|
2
|
+
export class ActionBase {
|
3
|
+
constructor(_mailbox, _sb) {
|
4
|
+
this._mailbox = _mailbox;
|
5
|
+
this._sb = _sb;
|
6
|
+
}
|
7
|
+
_ok(action, args) {
|
8
|
+
const { id, version, number, model, formId } = this.model;
|
9
|
+
return this._mailbox.send(id, version, formId, model, action.name, args).
|
10
|
+
pipe(tap(() => {
|
11
|
+
this._sb.toast('Sent', number, (action.adjective || action.past || action.title).toLowerCase());
|
12
|
+
}, e => {
|
13
|
+
this._handleError(e, 'SendErr');
|
14
|
+
}));
|
15
|
+
}
|
16
|
+
_handleError(response, message, ...args) {
|
17
|
+
if (response.constructor.name === 'PositionError')
|
18
|
+
switch (response.code) {
|
19
|
+
case 1:
|
20
|
+
this._sb.error('UserDeniedGeoErr');
|
21
|
+
break;
|
22
|
+
default:
|
23
|
+
this._sb.error('GeoErr');
|
24
|
+
}
|
25
|
+
else
|
26
|
+
switch (response.status) {
|
27
|
+
case 401:
|
28
|
+
break;
|
29
|
+
case 409: // version change
|
30
|
+
{
|
31
|
+
const obj = response.error /* serialized model */;
|
32
|
+
this._sb.error('VersionErr', this.model.number);
|
33
|
+
break;
|
34
|
+
}
|
35
|
+
case 406: // validation exception
|
36
|
+
this._sb.errorString(response.error);
|
37
|
+
break;
|
38
|
+
default:
|
39
|
+
this._sb.error(message, ...args);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0IsTUFBTSxPQUFnQixVQUFVO0lBRTVCLFlBQ1ksUUFBd0IsRUFDdEIsR0FBa0I7UUFEcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtJQUM1QixDQUFDO0lBQ0ssR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFJO1FBQzlCLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztZQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDcEcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7SUFDTyxZQUFZLENBQUMsUUFBaUMsRUFBRSxPQUFlLEVBQUUsR0FBRyxJQUFjO1FBQ3RGLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZTtZQUM3QyxRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLEtBQUssQ0FBQztvQkFDRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUNuQyxNQUFNO2dCQUNWO29CQUNJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2hDOztZQUdELFFBQVEsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDckIsS0FBSyxHQUFHO29CQUNKLE1BQU07Z0JBQ1YsS0FBSyxHQUFHLEVBQUUsaUJBQWlCO29CQUN2Qjt3QkFDSSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLHNCQUE2QyxDQUFDO3dCQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDaEQsTUFBTTtxQkFDVDtnQkFDTCxLQUFLLEdBQUcsRUFBRSx1QkFBdUI7b0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckMsTUFBTTtnQkFDVjtvQkFDSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUN4QztJQUNULENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGlvbiwgUmVjaXBpZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpb25CYXNlIHtcclxuICAgIHB1YmxpYyBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfc2I6IFByb21wdFNlcnZpY2VcclxuICAgICkgeyB9XHJcbiAgICBwcm90ZWN0ZWQgX29rKGFjdGlvbjogQWN0aW9uLCBhcmdzKSB7XHJcbiAgICAgICAgY29uc3QgeyBpZCwgdmVyc2lvbiwgbnVtYmVyLCBtb2RlbCwgZm9ybUlkIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tYWlsYm94LnNlbmQoaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwsIGFjdGlvbi5uYW1lLCBhcmdzKS5cclxuICAgICAgICAgICAgcGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnQnLCBudW1iZXIsIChhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1NlbmRFcnInKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfaGFuZGxlRXJyb3IocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgICAgICAgc3dpdGNoIChyZXNwb25zZS5jb2RlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0dlb0VycicpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgc3dpdGNoIChyZXNwb25zZS5zdGF0dXMpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0MDk6IC8vIHZlcnNpb24gY2hhbmdlXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmogPSByZXNwb25zZS5lcnJvciAvKiBzZXJpYWxpemVkIG1vZGVsICovIGFzIFJlY2lwaWVudE1vZGVsPGFueT47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdWZXJzaW9uRXJyJywgdGhpcy5tb2RlbC5udW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQwNjogLy8gdmFsaWRhdGlvbiBleGNlcHRpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYi5lcnJvclN0cmluZyhyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NiLmVycm9yKG1lc3NhZ2UsIC4uLmFyZ3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import { Component, EventEmitter, ViewChild } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
4
|
+
import { LayoutComponent } from '../../core/layout/layout.component';
|
5
|
+
import { ActionBase } from './action.base';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../core/slots/pane-ref";
|
8
|
+
import * as i2 from "../../core/mailbox.service";
|
9
|
+
import * as i3 from "../../core/component-factory-resolver";
|
10
|
+
import * as i4 from "../../core/prompt.service";
|
11
|
+
import * as i5 from "../../core/session.service";
|
12
|
+
import * as i6 from "@angular/material/button";
|
13
|
+
import * as i7 from "@angular/material/dialog";
|
14
|
+
import * as i8 from "@angular/common";
|
15
|
+
import * as i9 from "../../core/pipes/translate.pipe";
|
16
|
+
/** action-dialog component*/
|
17
|
+
export class ActionPaneComponent extends ActionBase {
|
18
|
+
/** action-dialog ctor */
|
19
|
+
constructor(_pane, mailbox, _fr, _fr2, sb, session) {
|
20
|
+
super(mailbox, sb);
|
21
|
+
this._pane = _pane;
|
22
|
+
this._fr = _fr;
|
23
|
+
this._fr2 = _fr2;
|
24
|
+
this.arguments = {};
|
25
|
+
this.okChange = new EventEmitter();
|
26
|
+
this._destroy = new Subject();
|
27
|
+
this.model = _pane.data.item;
|
28
|
+
this.action = session.profile.actions.find(a => a.name === _pane.params.action);
|
29
|
+
}
|
30
|
+
close() { this._pane.close(); }
|
31
|
+
ok() {
|
32
|
+
super._ok(this.action, this.arguments).subscribe(() => this.close());
|
33
|
+
}
|
34
|
+
ngOnInit() {
|
35
|
+
if (this.action.template) {
|
36
|
+
const factory = this._fr.resolve(this.action.template);
|
37
|
+
const cRef = this.container.createComponent(factory);
|
38
|
+
cRef.instance.form.valueChanges.pipe(takeUntil(this._destroy)).subscribe(v => this.arguments = v);
|
39
|
+
cRef.instance.form.statusChanges.pipe(takeUntil(this._destroy)).
|
40
|
+
subscribe(() => this.valid = cRef.instance.form.valid);
|
41
|
+
}
|
42
|
+
else {
|
43
|
+
if (this.action.arguments.length === 0)
|
44
|
+
this.valid = true;
|
45
|
+
else {
|
46
|
+
const factory = this._fr2.resolveComponentFactory(LayoutComponent);
|
47
|
+
const cRef = this.container.createComponent(factory);
|
48
|
+
cRef.instance.fields = this.action.arguments;
|
49
|
+
cRef.instance.modelChange.pipe(takeUntil(this._destroy)).subscribe(v => this.arguments = v);
|
50
|
+
cRef.instance.validChange.pipe(takeUntil(this._destroy)).subscribe(v => this.valid = v);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
ngOnDestroy() {
|
55
|
+
this._destroy.next();
|
56
|
+
this._destroy.complete();
|
57
|
+
}
|
58
|
+
}
|
59
|
+
ActionPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ComponentFactoryResolver }, { token: i4.PromptService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
60
|
+
ActionPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionPaneComponent, selector: "bizdoc-action-dialog.pane", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i9.TranslatePipe } });
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPaneComponent, decorators: [{
|
62
|
+
type: Component,
|
63
|
+
args: [{ selector: 'bizdoc-action-dialog.pane', host: {
|
64
|
+
class: 'pane'
|
65
|
+
}, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"] }]
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.MailboxService }, { type: i3.BizDocComponentFactoryResolver }, { type: i0.ComponentFactoryResolver }, { type: i4.PromptService }, { type: i5.SessionService }]; }, propDecorators: { container: [{
|
67
|
+
type: ViewChild,
|
68
|
+
args: ['container']
|
69
|
+
}] } });
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnBhbmUuZGlhbG9nLmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hY3Rpb24vYWN0aW9uLnBhbmUuZGlhbG9nLmV4cC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hY3Rpb24vYWN0aW9uLnBhbmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsWUFBWSxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUtyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQVUzQyw2QkFBNkI7QUFDN0IsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFVBQVU7SUFPakQseUJBQXlCO0lBQ3pCLFlBQ1UsS0FBbUMsRUFDM0MsT0FBdUIsRUFDZixHQUFtQyxFQUNuQyxJQUE4QixFQUN0QyxFQUFpQixFQUNqQixPQUF1QjtRQUN2QixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTlgsVUFBSyxHQUFMLEtBQUssQ0FBOEI7UUFFbkMsUUFBRyxHQUFILEdBQUcsQ0FBZ0M7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBMEI7UUFWeEMsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUdOLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBVTlDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUks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U0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQXJndW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQmFzZSB9IGZyb20gJy4vYWN0aW9uLmJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWN0aW9uLWRpYWxvZy5wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLnBhbmUuZGlhbG9nLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi5kaWFsb2cuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbi8qKiBhY3Rpb24tZGlhbG9nIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25QYW5lQ29tcG9uZW50IGV4dGVuZHMgQWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgYXJndW1lbnRzID0ge307XHJcbiAgcmVhZG9ubHkgYWN0aW9uOiBBY3Rpb247XHJcbiAgdmFsaWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgb2tDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcmFtTWFwPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBhY3Rpb24tZGlhbG9nIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8QWN0aW9uUGFuZUNvbXBvbmVudD4sXHJcbiAgICBtYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIF9mcjI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHNiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKG1haWxib3gsIHNiKTtcclxuICAgIHRoaXMubW9kZWwgPSBfcGFuZS5kYXRhLml0ZW07XHJcbiAgICB0aGlzLmFjdGlvbiA9IHNlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbmQoYSA9PiBhLm5hbWUgPT09IF9wYW5lLnBhcmFtcy5hY3Rpb24pO1xyXG4gIH1cclxuICBjbG9zZSgpIHsgdGhpcy5fcGFuZS5jbG9zZSgpOyB9XHJcbiAgb2soKSB7XHJcbiAgICBzdXBlci5fb2sodGhpcy5hY3Rpb24sIHRoaXMuYXJndW1lbnRzKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5jbG9zZSgpXHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFjdGlvbi50ZW1wbGF0ZSkge1xyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fZnIucmVzb2x2ZSh0aGlzLmFjdGlvbi50ZW1wbGF0ZSk7XHJcbiAgICAgIGNvbnN0IGNSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgIChjUmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudCkuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHRoaXMuYXJndW1lbnRzID0gdik7XHJcbiAgICAgIChjUmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudCkuZm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy52YWxpZCA9IChjUmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudCkuZm9ybS52YWxpZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYWN0aW9uLmFyZ3VtZW50cy5sZW5ndGggPT09IDApXHJcbiAgICAgICAgdGhpcy52YWxpZCA9IHRydWU7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9mcjIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTGF5b3V0Q29tcG9uZW50KTtcclxuICAgICAgICBjb25zdCBjUmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgICAgIGNSZWYuaW5zdGFuY2UuZmllbGRzID0gdGhpcy5hY3Rpb24uYXJndW1lbnRzO1xyXG4gICAgICAgIGNSZWYuaW5zdGFuY2UubW9kZWxDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHRoaXMuYXJndW1lbnRzID0gdik7XHJcbiAgICAgICAgY1JlZi5pbnN0YW5jZS52YWxpZENoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4gdGhpcy52YWxpZCA9IHYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7YWN0aW9uLnRpdGxlfX08L2gyPlxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxwICpuZ0lmPVwiIWFjdGlvbi5hcmd1bWVudHMubGVuZ3RoXCI+XHJcbiAgICB7eyAnQWN0aW9uQXNrJyB8IHRyYW5zbGF0ZSA6IChhY3Rpb24udmVyYiB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCkgfX1cclxuICA8L3A+XHJcbiAgPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCIhdmFsaWRcIiAoY2xpY2spPVwib2soKVwiIGNvbG9yPVwicHJpbWFyeVwiPnt7J1llcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT0nY2xvc2UoKSc+e3snTm8nIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
|