@eo-sdk/client 10.0.0 → 10.1.0-rc.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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts +13 -61
- package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +5 -0
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +3 -7
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +2 -0
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/frame/frame.component.d.ts +5 -0
- package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +3 -0
- package/assets/_default/i18n/en.json +3 -0
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +4 -4
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +16 -12
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +16 -13
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +52 -31
- package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +14 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +6 -20
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +8 -4
- package/esm2020/app/eo-framework/frame/frame.component.mjs +19 -1
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +3 -3
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +5 -4
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -3
- package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +33 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +32 -2
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +113 -67
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +32 -2
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +116 -71
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +7 -54
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
3
4
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/forms";
|
|
6
7
|
import * as i2 from "@eo-sdk/core";
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "
|
|
10
|
-
import * as i6 from "
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@ngx-translate/core";
|
|
10
|
+
import * as i5 from "../../../../../eo-framework/form-elements/form-input/form-input.component";
|
|
11
|
+
import * as i6 from "../../../../../eo-framework/form-elements/string/string.component";
|
|
12
|
+
import * as i7 from "../info-inbox-widget.component";
|
|
11
13
|
let InfoInboxSetupComponent = class InfoInboxSetupComponent {
|
|
12
14
|
set widgetConfig(wc) {
|
|
13
15
|
this._widgetConfig = wc;
|
|
@@ -23,7 +25,7 @@ let InfoInboxSetupComponent = class InfoInboxSetupComponent {
|
|
|
23
25
|
this.translate = translate;
|
|
24
26
|
this.widgetConfigChange = new EventEmitter();
|
|
25
27
|
this.setupForm = this.fb.group({
|
|
26
|
-
title: [this.translate.instant('eo.dashboard.info.inbox.msg')],
|
|
28
|
+
title: [this.translate.instant('eo.dashboard.info.inbox.msg'), [Validators.maxLength(50)]],
|
|
27
29
|
});
|
|
28
30
|
this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
|
|
29
31
|
this.setWidgetConfig();
|
|
@@ -33,24 +35,26 @@ let InfoInboxSetupComponent = class InfoInboxSetupComponent {
|
|
|
33
35
|
this.setWidgetConfig();
|
|
34
36
|
}
|
|
35
37
|
setWidgetConfig() {
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
if (this.setupForm.valid) {
|
|
39
|
+
this._widgetConfig = {
|
|
40
|
+
...this.setupForm.value,
|
|
41
|
+
};
|
|
42
|
+
this.widgetConfigChange.emit(this._widgetConfig);
|
|
43
|
+
}
|
|
40
44
|
}
|
|
41
45
|
};
|
|
42
46
|
InfoInboxSetupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoInboxSetupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
InfoInboxSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoInboxSetupComponent, selector: "eo-info-inbox-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.inbox.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n </form>\n</div>\n<div class=\"preview\">\n <eo-info-inbox-widget [widgetConfig]=\"widgetConfig\"></eo-info-inbox-widget>\n</div
|
|
47
|
+
InfoInboxSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoInboxSetupComponent, selector: "eo-info-inbox-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.inbox.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>eo.form.property.maxlength</div>\n </div>\n </form>\n</div>\n<div class=\"preview\">\n <eo-info-inbox-widget [widgetConfig]=\"widgetConfig\"></eo-info-inbox-widget>\n</div>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i6.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i7.InfoInboxWidgetComponent, selector: "eo-info-inbox-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
44
48
|
InfoInboxSetupComponent = __decorate([
|
|
45
49
|
UntilDestroy()
|
|
46
50
|
], InfoInboxSetupComponent);
|
|
47
51
|
export { InfoInboxSetupComponent };
|
|
48
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoInboxSetupComponent, decorators: [{
|
|
49
53
|
type: Component,
|
|
50
|
-
args: [{ selector: 'eo-info-inbox-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.inbox.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n </form>\n</div>\n<div class=\"preview\">\n <eo-info-inbox-widget [widgetConfig]=\"widgetConfig\"></eo-info-inbox-widget>\n</div
|
|
54
|
+
args: [{ selector: 'eo-info-inbox-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.inbox.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>eo.form.property.maxlength</div>\n </div>\n </form>\n</div>\n<div class=\"preview\">\n <eo-info-inbox-widget [widgetConfig]=\"widgetConfig\"></eo-info-inbox-widget>\n</div>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}\n"] }]
|
|
51
55
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }]; }, propDecorators: { widgetConfigChange: [{
|
|
52
56
|
type: Output
|
|
53
57
|
}], widgetConfig: [{
|
|
54
58
|
type: Input
|
|
55
59
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pbmJveC1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9pbmZvLWluYm94LXdpZGdldC9pbmZvLWluYm94LXNldHVwL2luZm8taW5ib3gtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC1zZXR1cC9pbmZvLWluYm94LXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBdUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7O0FBVTVELElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBUWxDLElBQWEsWUFBWSxDQUFDLEVBQW1CO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3hCLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxFQUFzQixFQUN0QixTQUEyQjtRQUQzQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWxCM0IsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFbkUsY0FBUyxHQUFxQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNGLENBQUMsQ0FBQztRQWdCRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQztZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQixHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSzthQUN6QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDOztvSEF2Q1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNEpDYnBDLGt4QkFhTTtBREFPLHVCQUF1QjtJQU5uQyxZQUFZLEVBQUU7R0FNRix1QkFBdUIsQ0F3Q25DO1NBeENZLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjt3SUFPckIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUtNLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtJbmZvSW5ib3hDb25maWd9IGZyb20gJy4uL2luZm8taW5ib3gubW9kZWwnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWluZm8taW5ib3gtc2V0dXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5mby1pbmJveC1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZm8taW5ib3gtc2V0dXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb0luYm94U2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0U2V0dXBDb21wb25lbnQsIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJbmZvSW5ib3hDb25maWc7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEluZm9JbmJveENvbmZpZz4oKTtcblxuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB0aXRsZTogW3RoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmRhc2hib2FyZC5pbmZvLmluYm94Lm1zZycpLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApXV0sXG4gIH0pO1xuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKHdjOiBJbmZvSW5ib3hDb25maWcpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSB3YztcbiAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIHRpdGxlOiB3YyA/IHdjLnRpdGxlIDogJycsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICB9KTtcbiAgfVxuICBcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlnKCkge1xuICAgIGlmKHRoaXMuc2V0dXBGb3JtLnZhbGlkKXtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHtcbiAgICAgICAgLi4uIHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2V0dXBGb3JtXCI+XG4gICAgICAgIDxlby1mb3JtLWlucHV0ICB0YWJpbmRleD1cIjBcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc2V0dXAudGl0bGUnIHwgdHJhbnNsYXRlXCIgIFtza2lwVG9nZ2xlXT1cInRydWVcIiBkZXNjcmlwdGlvbj1cImVvLmRhc2hib2FyZC5pbmZvLmluYm94Lm1zZ1wiPlxuICAgICAgICAgICAgPGVvLXN0cmluZyBhdXRvY29tcGxldGU9XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiA+PC9lby1zdHJpbmc+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZXR1cEZvcm0uZ2V0KCd0aXRsZScpLmludmFsaWQgJiYgKHNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZGlydHkgfHwgc2V0dXBGb3JtLmdldCgndGl0bGUnKS50b3VjaGVkKVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZXJyb3JzXCIgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiA1MH1cIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5tYXhsZW5ndGg8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJldmlld1wiPlxuICAgIDxlby1pbmZvLWluYm94LXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8taW5mby1pbmJveC13aWRnZXQ+XG48L2Rpdj4iXX0=
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
3
4
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/forms";
|
|
6
7
|
import * as i2 from "@eo-sdk/core";
|
|
7
8
|
import * as i3 from "@angular/common";
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "../../../../../eo-framework/
|
|
10
|
-
import * as i6 from "../../../../../eo-framework/form-elements/
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "
|
|
9
|
+
import * as i4 from "@ngx-translate/core";
|
|
10
|
+
import * as i5 from "../../../../../eo-framework/ui/error-message/error-message.component";
|
|
11
|
+
import * as i6 from "../../../../../eo-framework/form-elements/form-input/form-input.component";
|
|
12
|
+
import * as i7 from "../../../../../eo-framework/form-elements/string/string.component";
|
|
13
|
+
import * as i8 from "../info-intray-widget.component";
|
|
13
14
|
let InfoIntraySetupComponent = class InfoIntraySetupComponent {
|
|
14
15
|
set widgetConfig(wc) {
|
|
15
16
|
this._widgetConfig = wc;
|
|
@@ -27,17 +28,19 @@ let InfoIntraySetupComponent = class InfoIntraySetupComponent {
|
|
|
27
28
|
this.prepareService = prepareService;
|
|
28
29
|
this.widgetConfigChange = new EventEmitter();
|
|
29
30
|
this.setupForm = this.fb.group({
|
|
30
|
-
title: [this.translate.instant('eo.dashboard.info.intray.msg')],
|
|
31
|
+
title: [this.translate.instant('eo.dashboard.info.intray.msg'), [Validators.maxLength(50)]],
|
|
31
32
|
});
|
|
32
33
|
this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
|
|
33
34
|
this.setWidgetConfig();
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
setWidgetConfig() {
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
if (this.setupForm.valid) {
|
|
39
|
+
this._widgetConfig = {
|
|
40
|
+
...this.setupForm.value,
|
|
41
|
+
};
|
|
42
|
+
this.widgetConfigChange.emit(this._widgetConfig);
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
ngOnInit() {
|
|
43
46
|
this.setWidgetConfig();
|
|
@@ -50,17 +53,17 @@ let InfoIntraySetupComponent = class InfoIntraySetupComponent {
|
|
|
50
53
|
}
|
|
51
54
|
};
|
|
52
55
|
InfoIntraySetupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoIntraySetupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }, { token: i2.CapabilitiesService }, { token: i2.PrepareService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
InfoIntraySetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoIntraySetupComponent, selector: "eo-info-intray-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.intray.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n </form>\n</div>\n\n<div class=\"preview\" *ngIf=\"capabilities.intray && preparedItemsCount > 0 ; else tpl\">\n <eo-info-intray [widgetConfig]=\"widgetConfig\"></eo-info-intray>\n</div>\n\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_prepare.svg', text: 'eo.prepare.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n\n\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}:host .empty{background-color:var(--main-background);padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "
|
|
56
|
+
InfoIntraySetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoIntraySetupComponent, selector: "eo-info-intray-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.intray.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>eo.form.property.maxlength</div>\n </div>\n </form>\n</div>\n\n<div class=\"preview\" *ngIf=\"capabilities.intray && preparedItemsCount > 0 ; else tpl\">\n <eo-info-intray [widgetConfig]=\"widgetConfig\"></eo-info-intray>\n</div>\n\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_prepare.svg', text: 'eo.prepare.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n\n\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}:host .empty{background-color:var(--main-background);padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i8.InfoIntrayWidgetComponent, selector: "eo-info-intray", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
54
57
|
InfoIntraySetupComponent = __decorate([
|
|
55
58
|
UntilDestroy()
|
|
56
59
|
], InfoIntraySetupComponent);
|
|
57
60
|
export { InfoIntraySetupComponent };
|
|
58
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoIntraySetupComponent, decorators: [{
|
|
59
62
|
type: Component,
|
|
60
|
-
args: [{ selector: 'eo-info-intray-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.intray.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n </form>\n</div>\n\n<div class=\"preview\" *ngIf=\"capabilities.intray && preparedItemsCount > 0 ; else tpl\">\n <eo-info-intray [widgetConfig]=\"widgetConfig\"></eo-info-intray>\n</div>\n\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_prepare.svg', text: 'eo.prepare.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n\n\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}:host .empty{background-color:var(--main-background);padding:var(--app-pane-padding)}\n"] }]
|
|
63
|
+
args: [{ selector: 'eo-info-intray-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input tabindex=\"0\" [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\" description=\"eo.dashboard.info.intray.msg\">\n <eo-string autocomplete=\"true\" formControlName=\"title\" ></eo-string>\n </eo-form-input>\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>eo.form.property.maxlength</div>\n </div>\n </form>\n</div>\n\n<div class=\"preview\" *ngIf=\"capabilities.intray && preparedItemsCount > 0 ; else tpl\">\n <eo-info-intray [widgetConfig]=\"widgetConfig\"></eo-info-intray>\n</div>\n\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_prepare.svg', text: 'eo.prepare.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n\n\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}:host .empty{background-color:var(--main-background);padding:var(--app-pane-padding)}\n"] }]
|
|
61
64
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }, { type: i2.CapabilitiesService }, { type: i2.PrepareService }]; }, propDecorators: { widgetConfigChange: [{
|
|
62
65
|
type: Output
|
|
63
66
|
}], widgetConfig: [{
|
|
64
67
|
type: Input
|
|
65
68
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pbnRyYXktc2V0dXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbnRyYXktd2lkZ2V0L2luZm8taW50cmF5LXNldHVwL2luZm8taW50cmF5LXNldHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS1zZXR1cC9pbmZvLWludHJheS1zZXR1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQXVDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hGLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFTNUQsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFXbkMsSUFBYSxZQUFZLENBQUMsRUFBb0I7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDeEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUNVLEVBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLGlCQUFzQyxFQUN0QyxjQUE4QjtRQUg5QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXBCOUIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFcEUsY0FBUyxHQUFxQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVGLENBQUMsQ0FBQztRQWlCRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQztZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQixHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSzthQUN6QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3RCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCO2lCQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDOztxSEFqRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkpDZHJDLHFpQ0F3QkE7QURWYSx3QkFBd0I7SUFEcEMsWUFBWSxFQUFFO0dBQ0Ysd0JBQXdCLENBa0RwQztTQWxEWSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxzQkFBc0I7dU1BWXRCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLTSxZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q2FwYWJpbGl0aWVzLCBDYXBhYmlsaXRpZXNTZXJ2aWNlLCBQcmVwYXJlU2VydmljZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7SW5mb0ludHJheUNvbmZpZ30gZnJvbSAnLi4vaW5mby1pbnRyYXkubW9kZWwnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1pbmZvLWludHJheS1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWludHJheS1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZm8taW50cmF5LXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIEluZm9JbnRyYXlTZXR1cENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRTZXR1cENvbXBvbmVudCwgT25Jbml0IHtcblxuICBwcml2YXRlIF93aWRnZXRDb25maWc6IEluZm9JbnRyYXlDb25maWc7XG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBwcmVwYXJlZEl0ZW1zQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmZvSW50cmF5Q29uZmlnPigpO1xuXG4gIHNldHVwRm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHRpdGxlOiBbdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZGFzaGJvYXJkLmluZm8uaW50cmF5Lm1zZycpLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApXV0sXG4gIH0pO1xuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKHdjOiBJbmZvSW50cmF5Q29uZmlnKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gd2M7XG4gICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICB0aXRsZTogd2MgPyB3Yy50aXRsZSA6ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmVwYXJlU2VydmljZTogUHJlcGFyZVNlcnZpY2UpIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWcoKSB7XG4gICAgaWYodGhpcy5zZXR1cEZvcm0udmFsaWQpe1xuICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0ge1xuICAgICAgICAuLi4gdGhpcy5zZXR1cEZvcm0udmFsdWUsXG4gICAgICB9O1xuICAgICAgdGhpcy53aWRnZXRDb25maWdDaGFuZ2UuZW1pdCh0aGlzLl93aWRnZXRDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdHlTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5pbnRyYXkpIHtcbiAgICAgIHRoaXMucHJlcGFyZVNlcnZpY2UucHJlcGFyZWRJdGVtQ291bnQkXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKGNvdW50ID0+IHRoaXMucHJlcGFyZWRJdGVtc0NvdW50ID0gY291bnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNldHVwXCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzZXR1cEZvcm1cIj5cbiAgICAgICAgPGVvLWZvcm0taW5wdXQgIHRhYmluZGV4PVwiMFwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5zZXR1cC50aXRsZScgfCB0cmFuc2xhdGVcIiAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIGRlc2NyaXB0aW9uPVwiZW8uZGFzaGJvYXJkLmluZm8uaW50cmF5Lm1zZ1wiPlxuICAgICAgICAgICAgPGVvLXN0cmluZyBhdXRvY29tcGxldGU9XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiA+PC9lby1zdHJpbmc+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZXR1cEZvcm0uZ2V0KCd0aXRsZScpLmludmFsaWQgJiYgKHNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZGlydHkgfHwgc2V0dXBGb3JtLmdldCgndGl0bGUnKS50b3VjaGVkKVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZXJyb3JzXCIgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiA1MH1cIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5tYXhsZW5ndGg8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwcmV2aWV3XCIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuaW50cmF5ICYmIHByZXBhcmVkSXRlbXNDb3VudCA+IDAgOyBlbHNlIHRwbFwiPlxuICAgIDxlby1pbmZvLWludHJheSBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8taW5mby1pbnRyYXk+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICAjdHBsPlxuICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfcHJlcGFyZS5zdmcnLCB0ZXh0OiAnZW8ucHJlcGFyZS5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuIl19
|
package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs
CHANGED
|
@@ -1,57 +1,77 @@
|
|
|
1
1
|
import { Component, ViewChild, EventEmitter } from '@angular/core';
|
|
2
2
|
import { Utils, EnaioEvent } from '@eo-sdk/core';
|
|
3
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
3
|
import { switchMap } from 'rxjs/operators';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "@eo-sdk/core";
|
|
7
6
|
import * as i2 from "../../../../../eo-framework-core/pending-changes/pending-changes.service";
|
|
8
|
-
import * as i3 from "@angular/
|
|
9
|
-
import * as i4 from "@
|
|
10
|
-
import * as i5 from "
|
|
11
|
-
import * as i6 from "../../../../ui/
|
|
12
|
-
import * as i7 from "../../../../
|
|
13
|
-
import * as i8 from "
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@ngx-translate/core";
|
|
10
|
+
import * as i6 from "../../../../ui/loading-spinner/loading-spinner.component";
|
|
11
|
+
import * as i7 from "../../../../ui/eo-dialog/eo-dialog.component";
|
|
12
|
+
import * as i8 from "../../../../object-form/object-form/form-element-table/form-element-table.component";
|
|
14
13
|
import * as i9 from "../../../../form-elements/form-input/form-input.component";
|
|
15
|
-
import * as i10 from "../../../../form-elements/
|
|
16
|
-
import * as i11 from "../../../../
|
|
14
|
+
import * as i10 from "../../../../form-elements/codesystem/codesystem.component";
|
|
15
|
+
import * as i11 from "../../../../form-elements/string/string.component";
|
|
16
|
+
import * as i12 from "../../../../cta/component/cta.component";
|
|
17
17
|
export class SignatureComponent {
|
|
18
|
-
constructor(bpmService, pendingChanges, translate, toaster, signingService,
|
|
18
|
+
constructor(bpmService, pendingChanges, translate, toaster, signingService, eventService, dmsService, systemService, storageService, fb) {
|
|
19
19
|
this.bpmService = bpmService;
|
|
20
20
|
this.pendingChanges = pendingChanges;
|
|
21
21
|
this.translate = translate;
|
|
22
22
|
this.toaster = toaster;
|
|
23
23
|
this.signingService = signingService;
|
|
24
|
-
this.config = config;
|
|
25
24
|
this.eventService = eventService;
|
|
26
25
|
this.dmsService = dmsService;
|
|
26
|
+
this.systemService = systemService;
|
|
27
|
+
this.storageService = storageService;
|
|
28
|
+
this.fb = fb;
|
|
27
29
|
this.finished = new EventEmitter();
|
|
28
30
|
this.canceled = new EventEmitter();
|
|
29
31
|
// ID set by pendingChanges service when editing indexdata
|
|
30
32
|
// Used to finish the pending task when editing is done
|
|
31
33
|
this.pendingTaskIds = [];
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.signingForm
|
|
34
|
+
this.yuvsigtypeCodesystem = {
|
|
35
|
+
id: '1291BAB91B0D49D1A9A4DFCCF49A1666',
|
|
36
|
+
name: 'yuvsigtype',
|
|
37
|
+
entries: []
|
|
38
|
+
};
|
|
39
|
+
this.signatureTypeStorageKey = 'eo.signature.type';
|
|
40
|
+
const defaultSignatureType = this.storageService.getItem(this.signatureTypeStorageKey);
|
|
41
|
+
this.signingForm = this.fb.group({
|
|
42
|
+
yuvsigemailsubject: [''],
|
|
43
|
+
yuvsigemailbody: [''],
|
|
44
|
+
yuvsigtype: [defaultSignatureType ? defaultSignatureType : ''],
|
|
45
|
+
yuvsigners: [],
|
|
46
|
+
});
|
|
40
47
|
this.headerTitle = this.translate.instant('eo.action.signature.label');
|
|
41
48
|
this.headerDescription = this.translate.instant('eo.action.signature.description');
|
|
42
49
|
this.signingFormListener = this.signingForm.valueChanges.subscribe(() => this.onIndexDataChanged());
|
|
50
|
+
this.signingService.getInfo().subscribe((info) => {
|
|
51
|
+
if (info.signatureTypesEnabled) {
|
|
52
|
+
this.yuvsigtypeCodesystem.entries = this.systemService.getCodesystem(this.yuvsigtypeCodesystem.id).entries;
|
|
53
|
+
this.yuvsigtypeCodesystem.entries = this.yuvsigtypeCodesystem.entries.filter(entry => info.signatureTypesEnabled.includes(entry.data));
|
|
54
|
+
}
|
|
55
|
+
this.maxSigners = info.maxSigners || 6;
|
|
56
|
+
this.signingForm.patchValue({
|
|
57
|
+
yuvsigemailsubject: info.defaultEmailSubject,
|
|
58
|
+
yuvsigemailbody: info.defaultEmailBody
|
|
59
|
+
});
|
|
60
|
+
});
|
|
43
61
|
}
|
|
44
62
|
saveForm() {
|
|
45
63
|
this.processingRequest = true;
|
|
46
64
|
if (this.signingForm && !this.signingForm.invalid) {
|
|
47
|
-
const signers = (this.
|
|
65
|
+
const signers = (this.signingForm.get('yuvsigners').value || []).map(value => ({
|
|
48
66
|
signerName: value.yuvsignername,
|
|
49
67
|
signerEmail: value.yuvsigneremail,
|
|
50
|
-
signerOrder: value.yuvsignerorder
|
|
68
|
+
signerOrder: value.yuvsignerorder,
|
|
69
|
+
signerPhone: value.yuvsignerphone
|
|
51
70
|
}));
|
|
52
71
|
const signingData = {
|
|
53
|
-
emailSubject: this.
|
|
54
|
-
emailBody: this.
|
|
72
|
+
emailSubject: this.signingForm.get('yuvsigemailsubject').value,
|
|
73
|
+
emailBody: this.signingForm.get('yuvsigemailbody').value,
|
|
74
|
+
signatureType: this.signingForm.get('yuvsigtype').value ? this.signingForm.get('yuvsigtype').value : this.yuvsigtypeCodesystem.entries[0].data,
|
|
55
75
|
signers
|
|
56
76
|
};
|
|
57
77
|
this.signingService
|
|
@@ -60,6 +80,7 @@ export class SignatureComponent {
|
|
|
60
80
|
.subscribe((dmsObject) => {
|
|
61
81
|
this.processingRequest = false;
|
|
62
82
|
this.toaster.success(this.translate.instant('eo.action.signature.request.success'));
|
|
83
|
+
this.storageService.setItem(this.signatureTypeStorageKey, signingData.signatureType);
|
|
63
84
|
this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, dmsObject);
|
|
64
85
|
this.finish();
|
|
65
86
|
}, Utils.throw(error => {
|
|
@@ -67,7 +88,7 @@ export class SignatureComponent {
|
|
|
67
88
|
this.toaster.error(this.translate.instant('eo.error.connection.interrupted.title'), this.translate.instant('eo.error.connection.interrupted.text'));
|
|
68
89
|
}
|
|
69
90
|
else {
|
|
70
|
-
this.toaster.error(error);
|
|
91
|
+
this.toaster.error(error.error?.message);
|
|
71
92
|
}
|
|
72
93
|
this.processingRequest = false;
|
|
73
94
|
}));
|
|
@@ -93,8 +114,8 @@ export class SignatureComponent {
|
|
|
93
114
|
this.finishPending();
|
|
94
115
|
}
|
|
95
116
|
}
|
|
96
|
-
getLocalizedForm() {
|
|
97
|
-
return this.signingService.getLocalizedSigningForm();
|
|
117
|
+
getLocalizedForm(phoneRequired = false) {
|
|
118
|
+
return this.signingService.getLocalizedSigningForm(phoneRequired);
|
|
98
119
|
}
|
|
99
120
|
startPending() {
|
|
100
121
|
// because this method will be called every time the form status changes,
|
|
@@ -110,13 +131,13 @@ export class SignatureComponent {
|
|
|
110
131
|
this.signingFormListener.unsubscribe();
|
|
111
132
|
}
|
|
112
133
|
}
|
|
113
|
-
SignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: i2.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.
|
|
114
|
-
SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n ></eo-string>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !
|
|
134
|
+
SignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: i2.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.EventService }, { token: i1.DmsService }, { token: i1.SystemService }, { token: i1.LocalStorageService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
+
SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(signingForm.get('yuvsigtype').value === 'advanced'),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.FormElementTableComponent, selector: "eo-table", inputs: ["limit", "hasPreviewFile", "minWidth", "height", "params"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i10.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
115
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, decorators: [{
|
|
116
137
|
type: Component,
|
|
117
|
-
args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n ></eo-string>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !
|
|
118
|
-
}], ctorParameters: function () { return [{ type: i1.BpmService }, { type: i2.PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SigningService }, { type: i1.
|
|
138
|
+
args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(signingForm.get('yuvsigtype').value === 'advanced'),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
|
|
139
|
+
}], ctorParameters: function () { return [{ type: i1.BpmService }, { type: i2.PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SigningService }, { type: i1.EventService }, { type: i1.DmsService }, { type: i1.SystemService }, { type: i1.LocalStorageService }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { dialog: [{
|
|
119
140
|
type: ViewChild,
|
|
120
141
|
args: ['dialog']
|
|
121
142
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLEtBQUssRUFBOEYsVUFBVSxFQUEyQixNQUFNLGNBQWMsQ0FBQztBQUtySyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU96QyxNQUFNLE9BQU8sa0JBQWtCO0lBdUI3QixZQUFvQixVQUFzQixFQUNoQyxjQUFxQyxFQUNyQyxTQUEyQixFQUMzQixPQUE2QixFQUM3QixjQUE4QixFQUM5QixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsVUFBc0I7UUFQWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUE1QmhD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QztTQUN0QjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU8sWUFBWTtRQUNsQix5RUFBeUU7UUFDekUsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7K0dBeEhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNKQ2YvQixvdUVBaURBOzJGRGxDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsY0FBYzs2U0FtQkgsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVdGlscywgQnBtU2VydmljZSwgTm90aWZpY2F0aW9uc1NlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFNpZ25pbmdTZXJ2aWNlLCBTaWduaW5nUmVxdWVzdCwgQ29uZmlnLCBFbmFpb0V2ZW50LCBFdmVudFNlcnZpY2UsIERtc1NlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0VvRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi91aS9lby1kaWFsb2cvZW8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0Rm9ybU9wdGlvbnN9IGZyb20gJy4uLy4uLy4uLy4uL29iamVjdC1mb3JtJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2lnbmF0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZ25hdHVyZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25hdHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFjdGlvbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgc2VsZWN0aW9uOiBhbnlbXTtcbiAgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByb2Nlc3NpbmdSZXF1ZXN0OiBib29sZWFuO1xuICBoZWFkZXJUaXRsZTogc3RyaW5nO1xuICBoZWFkZXJEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzZWxlY3RlZDogYW55O1xuICBmb3JtT3B0aW9uczogT2JqZWN0Rm9ybU9wdGlvbnM7XG4gIGNvbnRlbnRzOiB7aWQ6IHN0cmluZywgdHlwZTogc3RyaW5nfVtdO1xuXG4gIC8vIElEIHNldCBieSBwZW5kaW5nQ2hhbmdlcyBzZXJ2aWNlIHdoZW4gZWRpdGluZyBpbmRleGRhdGFcbiAgLy8gVXNlZCB0byBmaW5pc2ggdGhlIHBlbmRpbmcgdGFzayB3aGVuIGVkaXRpbmcgaXMgZG9uZVxuICBwZW5kaW5nVGFza0lkczogc3RyaW5nW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdkaWFsb2cnKSBkaWFsb2c6IEVvRGlhbG9nQ29tcG9uZW50O1xuICBlbWFpbFN1YmplY3Q6IEZvcm1Db250cm9sO1xuICBlbWFpbEJvZHk6IEZvcm1Db250cm9sO1xuICBzaWduZXJzOiBGb3JtQ29udHJvbDtcbiAgc2lnbmluZ0Zvcm06IEZvcm1Hcm91cDtcbiAgbWF4U2lnbmVyczogbnVtYmVyO1xuICBzaWduaW5nRm9ybUxpc3RlbmVyOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBicG1TZXJ2aWNlOiBCcG1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0ZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbmluZ1NlcnZpY2U6IFNpZ25pbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWcsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UpIHtcbiAgICB0aGlzLm1heFNpZ25lcnMgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3NpZ25lcnMubWF4U2lnbmVycycpIHx8IDY7XG4gICAgdGhpcy5zaWduaW5nRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZW1haWxTdWJqZWN0ID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgdGhpcy5lbWFpbEJvZHkgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB0aGlzLnNpZ25lcnMgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB0aGlzLnNpZ25pbmdGb3JtLmFkZENvbnRyb2woJ3l1dnNpZ2VtYWlsc3ViamVjdCcsIHRoaXMuZW1haWxTdWJqZWN0KTtcbiAgICB0aGlzLnNpZ25pbmdGb3JtLmFkZENvbnRyb2woJ3l1dnNpZ2VtYWlsYm9keScsIHRoaXMuZW1haWxCb2R5KTtcbiAgICB0aGlzLnNpZ25pbmdGb3JtLmFkZENvbnRyb2woJ3l1dnNpZ25lcnMnLCB0aGlzLnNpZ25lcnMpO1xuICAgIHRoaXMuaGVhZGVyVGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24uc2lnbmF0dXJlLmxhYmVsJyk7XG4gICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5zaWduYXR1cmUuZGVzY3JpcHRpb24nKTtcblxuICAgIHRoaXMuc2lnbmluZ0Zvcm1MaXN0ZW5lciA9IHRoaXMuc2lnbmluZ0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uSW5kZXhEYXRhQ2hhbmdlZCgpKTtcbiAgfVxuXG4gIHNhdmVGb3JtKCkge1xuICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSB0cnVlO1xuICAgIGlmICh0aGlzLnNpZ25pbmdGb3JtICYmICF0aGlzLnNpZ25pbmdGb3JtLmludmFsaWQpIHtcbiAgICAgIGNvbnN0IHNpZ25lcnMgPSAodGhpcy5zaWduZXJzLnZhbHVlIHx8IFtdKS5tYXAodmFsdWUgPT4gKHtcbiAgICAgICAgICAgIHNpZ25lck5hbWU6IHZhbHVlLnl1dnNpZ25lcm5hbWUsXG4gICAgICAgICAgICBzaWduZXJFbWFpbDogdmFsdWUueXV2c2lnbmVyZW1haWwsXG4gICAgICAgICAgICBzaWduZXJPcmRlcjogdmFsdWUueXV2c2lnbmVyb3JkZXJcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY29uc3Qgc2lnbmluZ0RhdGEgPSB7XG4gICAgICAgIGVtYWlsU3ViamVjdDogdGhpcy5lbWFpbFN1YmplY3QudmFsdWUsXG4gICAgICAgIGVtYWlsQm9keTogdGhpcy5lbWFpbEJvZHkudmFsdWUsXG4gICAgICAgIHNpZ25lcnNcbiAgICAgIH0gYXMgU2lnbmluZ1JlcXVlc3Q7XG4gICAgICB0aGlzLnNpZ25pbmdTZXJ2aWNlXG4gICAgICAgIC5zaWduRG9jdW1lbnQodGhpcy5zZWxlY3Rpb25bMF0uaWQsIHNpZ25pbmdEYXRhKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5kbXNTZXJ2aWNlLmdldERtc09iamVjdCh0aGlzLnNlbGVjdGlvblswXS5pZCkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZG1zT2JqZWN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9jZXNzaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5zaWduYXR1cmUucmVxdWVzdC5zdWNjZXNzJykpO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIGRtc09iamVjdCk7XG4gICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgfSwgVXRpbHMudGhyb3coZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmVycm9yLmNvbm5lY3Rpb24uaW50ZXJydXB0ZWQudGl0bGUnKSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50ZXh0JykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBmaW5pc2goKSB7XG4gICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgdGhpcy5kaWFsb2cudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnBlbmRpbmdUYXNrSWRzKSkge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkluZGV4RGF0YUNoYW5nZWQoKSB7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0uZGlydHkpIHtcbiAgICAgIHRoaXMuc3RhcnRQZW5kaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgIH1cbiAgfVxuXG4gIGdldExvY2FsaXplZEZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0TG9jYWxpemVkU2lnbmluZ0Zvcm0oKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQZW5kaW5nKCkge1xuICAgIC8vIGJlY2F1c2UgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgZXZlcnkgdGltZSB0aGUgZm9ybSBzdGF0dXMgY2hhbmdlcyxcbiAgICAvLyBwZW5kaW5nIHRhc2sgd2lsbCBvbmx5IGJlIHN0YXJ0ZWQgb25jZSB1bnRpbCBpdCB3YXMgZmluaXNoZWRcbiAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2sodGhpcy5wZW5kaW5nVGFza0lkc1swXSB8fCAnICcpKSB7XG4gICAgICB0aGlzLnBlbmRpbmdUYXNrSWRzID0gW3RoaXMucGVuZGluZ0NoYW5nZXMuc3RhcnRUYXNrKCldO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoUGVuZGluZygpIHtcbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLmZpbmlzaFRhc2sodGhpcy5wZW5kaW5nVGFza0lkc1swXSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25pbmdGb3JtTGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGVvLWRpYWxvZyBbdGl0bGVdPVwiaGVhZGVyVGl0bGVcIlxuICAgICAgICAgICBbc3VidGl0bGVdPVwiaGVhZGVyRGVzY3JpcHRpb25cIlxuICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgW2RpcnR5Q2hlY2tdPVwicGVuZGluZ1Rhc2tJZHNcIlxuICAgICAgICAgICBbbWluV2lkdGhdPVwiNjAwXCJcbiAgICAgICAgICAgW21pbkhlaWdodF09XCI2MDBcIlxuICAgICAgICAgICBbc3R5bGVDbGFzc109XCIncHJvY2Vzcy1mb3JtLWRpYWxvZydcIiAjZGlhbG9nPlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwic2lnbmF0dXJlLWZvcm0gZm9ybS1jb250YWluZXJcIj5cbiAgICA8Zm9ybSBjbGFzcz1cInNpZ25pbmctZm9ybVwiIFtmb3JtR3JvdXBdPVwic2lnbmluZ0Zvcm1cIj5cbiAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduaW5nLnl1dnNpZ2VtYWlsc3ViamVjdCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsc3ViamVjdCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxuICAgICAgICA+PC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbGJvZHknIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbGJvZHknXCJcbiAgICAgICAgICBbbXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgICAgICAgICBbbWluTGVuZ3RoXT1cIjNcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiNDAwMFwiXG4gICAgICAgID48L2VvLXN0cmluZz5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZVwiPlxuICAgICAgICA8ZW8tdGFibGUgW2xpbWl0XT1cIm1heFNpZ25lcnNcIiBbaGVpZ2h0XT1cIic2MHZoJ1wiIFttaW5XaWR0aF09XCInNjh2dydcIiBbaGFzUHJldmlld0ZpbGVdPVwiZmFsc2VcIiBbcGFyYW1zXT1cIntcbiAgICAgICAgc2l0dWF0aW9uOiAnQ1JFQVRFJyxcbiAgICAgICAgZWxlbWVudDogZ2V0TG9jYWxpemVkRm9ybSgpLFxuICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICBvYmplY3Q6IHNlbGVjdGlvblswXVxuICAgICAgfVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ25lcnMnXCI+PC9lby10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2lnbmluZ0Zvcm0/LmludmFsaWRcIiBjbGFzcz1cImludmFsaWRcIiB0cmFuc2xhdGU+ZW8ub2JqZWN0LmluZGV4ZGF0YS5mb3JtLmludmFsaWQ8L2Rpdj5cbiAgICAgIDxlby1jdGEgW2FjdGl2ZV09XCIhcHJvY2Vzc2luZ1JlcXVlc3RcIiBjbGFzcz1cImN0YS13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzaWduaW5nRm9ybT8uZGlydHlcIiAoY2xpY2spPVwic2lnbmluZ0Zvcm0ucmVzZXQoKVwiIGNsYXNzPVwiYnV0dG9uLXJlc2V0XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUucmVzZXQ8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiBjbGFzcz1cImJ1dHRvbi1jYW5jZWxcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUZvcm0oKVwiIFtkaXNhYmxlZF09XCJzaWduaW5nRm9ybT8uaW52YWxpZCB8fCBwcm9jZXNzaW5nUmVxdWVzdCB8fCAhc2lnbmVycy52YWx1ZSB8fCAhc2lnbmVycy52YWx1ZS5sZW5ndGhcIiBjbGFzcz1cInByaW1hcnlcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXF1ZXN0PC9idXR0b24+XG4gICAgICA8L2VvLWN0YT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIiAqbmdJZj1cInByb2Nlc3NpbmdSZXF1ZXN0XCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBjbGFzcz1cInNpZ25hdHVyZV9fbG9hZGVyXCIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICA8L2Rpdj5cbjwvZW8tZGlhbG9nPlxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLEtBQUssRUFNTCxVQUFVLEVBS1gsTUFBTSxjQUFjLENBQUM7QUFPdEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU96QyxNQUFNLE9BQU8sa0JBQWtCO0lBMEI3QixZQUFvQixVQUFzQixFQUNoQyxjQUFxQyxFQUNyQyxTQUEyQixFQUMzQixPQUE2QixFQUM3QixjQUE4QixFQUM5QixZQUEwQixFQUMxQixVQUFzQixFQUN0QixhQUE0QixFQUM1QixjQUFtQyxFQUNuQyxFQUFzQjtRQVRaLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQUNu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LElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sWUFBWTtRQUNsQix5RUFBeUU7UUFDekUsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7K0dBNUlVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNKQzNCL0Isa3hGQTBEQTsyRkQvQmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGNBQWM7dVhBbUJILE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFV0aWxzLFxuICBCcG1TZXJ2aWNlLFxuICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgU2lnbmluZ1NlcnZpY2UsXG4gIFNpZ25pbmdSZXF1ZXN0LFxuICBFbmFpb0V2ZW50LFxuICBFdmVudFNlcnZpY2UsXG4gIERtc1NlcnZpY2UsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIExvY2FsU3RvcmFnZVNlcnZpY2Vcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2FjdGlvbi1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtPYmplY3RGb3JtT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vLi4vb2JqZWN0LWZvcm0nO1xuaW1wb3J0IHtGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2lnbmF0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZ25hdHVyZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25hdHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFjdGlvbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgc2VsZWN0aW9uOiBhbnlbXTtcbiAgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByb2Nlc3NpbmdSZXF1ZXN0OiBib29sZWFuO1xuICBoZWFkZXJUaXRsZTogc3RyaW5nO1xuICBoZWFkZXJEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzZWxlY3RlZDogYW55O1xuICBmb3JtT3B0aW9uczogT2JqZWN0Rm9ybU9wdGlvbnM7XG4gIGNvbnRlbnRzOiB7aWQ6IHN0cmluZywgdHlwZTogc3RyaW5nfVtdO1xuXG4gIC8vIElEIHNldCBieSBwZW5kaW5nQ2hhbmdlcyBzZXJ2aWNlIHdoZW4gZWRpdGluZyBpbmRleGRhdGFcbiAgLy8gVXNlZCB0byBmaW5pc2ggdGhlIHBlbmRpbmcgdGFzayB3aGVuIGVkaXRpbmcgaXMgZG9uZVxuICBwZW5kaW5nVGFza0lkczogc3RyaW5nW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdkaWFsb2cnKSBkaWFsb2c6IEVvRGlhbG9nQ29tcG9uZW50O1xuICBzaWduaW5nRm9ybTogRm9ybUdyb3VwO1xuICBtYXhTaWduZXJzOiBudW1iZXI7XG4gIHNpZ25pbmdGb3JtTGlzdGVuZXI6IFN1YnNjcmlwdGlvbjtcbiAgeXV2c2lndHlwZUNvZGVzeXN0ZW0gPSB7XG4gICAgaWQ6ICcxMjkxQkFCOTFCMEQ0OUQxQTlBNERGQ0NGNDlBMTY2NicsXG4gICAgbmFtZTogJ3l1dnNpZ3R5cGUnLFxuICAgIGVudHJpZXM6IFtdXG4gIH07XG4gIHNpZ25hdHVyZVR5cGVTdG9yYWdlS2V5ID0gJ2VvLnNpZ25hdHVyZS50eXBlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduaW5nU2VydmljZTogU2lnbmluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVR5cGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSk7XG4gICAgdGhpcy5zaWduaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgeXV2c2lnZW1haWxzdWJqZWN0OiBbJyddLFxuICAgICAgeXV2c2lnZW1haWxib2R5OiBbJyddLFxuICAgICAgeXV2c2lndHlwZTogW2RlZmF1bHRTaWduYXR1cmVUeXBlID8gZGVmYXVsdFNpZ25hdHVyZVR5cGUgOiAnJ10sXG4gICAgICB5dXZzaWduZXJzOiBbXSxcbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlclRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5sYWJlbCcpO1xuICAgIHRoaXMuaGVhZGVyRGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24uc2lnbmF0dXJlLmRlc2NyaXB0aW9uJyk7XG5cbiAgICB0aGlzLnNpZ25pbmdGb3JtTGlzdGVuZXIgPSB0aGlzLnNpZ25pbmdGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkluZGV4RGF0YUNoYW5nZWQoKSk7XG4gICAgdGhpcy5zaWduaW5nU2VydmljZS5nZXRJbmZvKCkuc3Vic2NyaWJlKChpbmZvKSA9PiB7XG4gICAgICBpZiAoaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWQpIHtcbiAgICAgICAgdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5pZCkuZW50cmllcztcbiAgICAgICAgdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy55dXZzaWd0eXBlQ29kZXN5c3RlbS5lbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBpbmZvLnNpZ25hdHVyZVR5cGVzRW5hYmxlZC5pbmNsdWRlcyhlbnRyeS5kYXRhKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWF4U2lnbmVycyA9IGluZm8ubWF4U2lnbmVycyB8fCA2O1xuXG4gICAgICB0aGlzLnNpZ25pbmdGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICB5dXZzaWdlbWFpbHN1YmplY3Q6IGluZm8uZGVmYXVsdEVtYWlsU3ViamVjdCxcbiAgICAgICAgeXV2c2lnZW1haWxib2R5OiBpbmZvLmRlZmF1bHRFbWFpbEJvZHlcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZUZvcm0oKSB7XG4gICAgdGhpcy5wcm9jZXNzaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0gJiYgIXRoaXMuc2lnbmluZ0Zvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3Qgc2lnbmVycyA9ICh0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnbmVycycpLnZhbHVlIHx8IFtdKS5tYXAodmFsdWUgPT4gKHtcbiAgICAgICAgICAgIHNpZ25lck5hbWU6IHZhbHVlLnl1dnNpZ25lcm5hbWUsXG4gICAgICAgICAgICBzaWduZXJFbWFpbDogdmFsdWUueXV2c2lnbmVyZW1haWwsXG4gICAgICAgICAgICBzaWduZXJPcmRlcjogdmFsdWUueXV2c2lnbmVyb3JkZXIsXG4gICAgICAgICAgICBzaWduZXJQaG9uZTogdmFsdWUueXV2c2lnbmVycGhvbmVcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY29uc3Qgc2lnbmluZ0RhdGEgPSB7XG4gICAgICAgIGVtYWlsU3ViamVjdDogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsc3ViamVjdCcpLnZhbHVlLFxuICAgICAgICBlbWFpbEJvZHk6IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWdlbWFpbGJvZHknKS52YWx1ZSxcbiAgICAgICAgc2lnbmF0dXJlVHlwZTogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA/IHRoaXMuc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWd0eXBlJykudmFsdWUgOiB0aGlzLnl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXNbMF0uZGF0YSxcbiAgICAgICAgc2lnbmVyc1xuICAgICAgfSBhcyBTaWduaW5nUmVxdWVzdDtcbiAgICAgIHRoaXMuc2lnbmluZ1NlcnZpY2VcbiAgICAgICAgLnNpZ25Eb2N1bWVudCh0aGlzLnNlbGVjdGlvblswXS5pZCwgc2lnbmluZ0RhdGEpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KHRoaXMuc2VsZWN0aW9uWzBdLmlkKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkbXNPYmplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXF1ZXN0LnN1Y2Nlc3MnKSk7XG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXksIHNpZ25pbmdEYXRhLnNpZ25hdHVyZVR5cGUpO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIGRtc09iamVjdCk7XG4gICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgfSwgVXRpbHMudGhyb3coZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmVycm9yLmNvbm5lY3Rpb24uaW50ZXJydXB0ZWQudGl0bGUnKSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50ZXh0JykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBmaW5pc2goKSB7XG4gICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgdGhpcy5kaWFsb2cudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnBlbmRpbmdUYXNrSWRzKSkge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkluZGV4RGF0YUNoYW5nZWQoKSB7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0uZGlydHkpIHtcbiAgICAgIHRoaXMuc3RhcnRQZW5kaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgIH1cbiAgfVxuXG4gIGdldExvY2FsaXplZEZvcm0ocGhvbmVSZXF1aXJlZCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0TG9jYWxpemVkU2lnbmluZ0Zvcm0ocGhvbmVSZXF1aXJlZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UGVuZGluZygpIHtcbiAgICAvLyBiZWNhdXNlIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgdGhlIGZvcm0gc3RhdHVzIGNoYW5nZXMsXG4gICAgLy8gcGVuZGluZyB0YXNrIHdpbGwgb25seSBiZSBzdGFydGVkIG9uY2UgdW50aWwgaXQgd2FzIGZpbmlzaGVkXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZHNbMF0gfHwgJyAnKSkge1xuICAgICAgdGhpcy5wZW5kaW5nVGFza0lkcyA9IFt0aGlzLnBlbmRpbmdDaGFuZ2VzLnN0YXJ0VGFzaygpXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmlzaFBlbmRpbmcoKSB7XG4gICAgdGhpcy5wZW5kaW5nQ2hhbmdlcy5maW5pc2hUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZHNbMF0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaWduaW5nRm9ybUxpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxlby1kaWFsb2cgW3RpdGxlXT1cImhlYWRlclRpdGxlXCJcbiAgICAgICAgICAgW3N1YnRpdGxlXT1cImhlYWRlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtkaXJ0eUNoZWNrXT1cInBlbmRpbmdUYXNrSWRzXCJcbiAgICAgICAgICAgW21pbldpZHRoXT1cIjYwMFwiXG4gICAgICAgICAgIFttaW5IZWlnaHRdPVwiNjAwXCJcbiAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJ3Byb2Nlc3MtZm9ybS1kaWFsb2cnXCIgI2RpYWxvZz5cblxuICA8c2VjdGlvbiBjbGFzcz1cInNpZ25hdHVyZS1mb3JtIGZvcm0tY29udGFpbmVyXCI+XG4gICAgPGZvcm0gY2xhc3M9XCJzaWduaW5nLWZvcm1cIiBbZm9ybUdyb3VwXT1cInNpZ25pbmdGb3JtXCI+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbHN1YmplY3QnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsc3ViamVjdCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lnZW1haWxib2R5JyB8IHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbGJvZHknXCJcbiAgICAgICAgICBbbXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgICAgICAgICBbbWluTGVuZ3RoXT1cIjNcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiNDAwMFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICA+PC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXMubGVuZ3RoID4gMVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lndHlwZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW1cbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWd0eXBlJ1wiXG4gICAgICAgICAgW2NvZGVzeXN0ZW1dPVwieXV2c2lndHlwZUNvZGVzeXN0ZW1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZVwiPlxuICAgICAgICA8ZW8tdGFibGUgW2xpbWl0XT1cIm1heFNpZ25lcnNcIiBbaGVpZ2h0XT1cIic2MHZoJ1wiIFttaW5XaWR0aF09XCInNjh2dydcIiBbaGFzUHJldmlld0ZpbGVdPVwiZmFsc2VcIiBbcGFyYW1zXT1cIntcbiAgICAgICAgc2l0dWF0aW9uOiAnQ1JFQVRFJyxcbiAgICAgICAgZWxlbWVudDogZ2V0TG9jYWxpemVkRm9ybShzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA9PT0gJ2FkdmFuY2VkJyksXG4gICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgIG9iamVjdDogc2VsZWN0aW9uWzBdXG4gICAgICB9XCIgW2Zvcm1Db250cm9sTmFtZV09XCIneXV2c2lnbmVycydcIj48L2VvLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaWduaW5nRm9ybT8uaW52YWxpZFwiIGNsYXNzPVwiaW52YWxpZFwiIHRyYW5zbGF0ZT5lby5vYmplY3QuaW5kZXhkYXRhLmZvcm0uaW52YWxpZDwvZGl2PlxuICAgICAgPGVvLWN0YSBbYWN0aXZlXT1cIiFwcm9jZXNzaW5nUmVxdWVzdFwiIGNsYXNzPVwiY3RhLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNpZ25pbmdGb3JtPy5kaXJ0eVwiIChjbGljayk9XCJzaWduaW5nRm9ybS5yZXNldCgpXCIgY2xhc3M9XCJidXR0b24tcmVzZXRcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5yZXNldDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnV0dG9uLWNhbmNlbFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlRm9ybSgpXCIgW2Rpc2FibGVkXT1cInNpZ25pbmdGb3JtPy5pbnZhbGlkIHx8IHByb2Nlc3NpbmdSZXF1ZXN0IHx8ICFzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ25lcnMnKS52YWx1ZSB8fCAhc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWduZXJzJykudmFsdWUubGVuZ3RoXCIgY2xhc3M9XCJwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUucmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9lby1jdGE+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJwcm9jZXNzaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJzaWduYXR1cmVfX2xvYWRlclwiIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cbiJdfQ==
|