@netgrif/components-core 6.2.2 → 6.2.4
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/assets/i18n/de.json +2 -1
- package/esm2020/assets/i18n/en.json +2 -1
- package/esm2020/assets/i18n/sk.json +2 -1
- package/esm2020/lib/authentication/components/abstract-authentication-overlay.mjs +4 -1
- package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.mjs +49 -7
- package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-filter-property.mjs +6 -0
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +2 -1
- package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.mjs +7 -1
- package/esm2020/lib/data-fields/i18n-field/models/i18n-field.mjs +5 -5
- package/esm2020/lib/data-fields/models/abstract-data-field.mjs +4 -1
- package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.mjs +32 -2
- package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-filter-property.mjs +6 -0
- package/esm2020/lib/data-fields/public-api.mjs +3 -1
- package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +3 -3
- package/esm2020/lib/side-menu/content-components/new-case/abstract-new-case.component.mjs +13 -2
- package/fesm2015/netgrif-components-core.mjs +130 -18
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +126 -18
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.d.ts +13 -5
- package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-filter-property.d.ts +4 -0
- package/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.d.ts +1 -0
- package/lib/data-fields/models/abstract-data-field.d.ts +2 -1
- package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.d.ts +6 -1
- package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-filter-property.d.ts +4 -0
- package/lib/data-fields/public-api.d.ts +2 -0
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +2 -1
- package/lib/side-menu/content-components/new-case/abstract-new-case.component.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/i18n/de.json +2 -1
- package/src/assets/i18n/en.json +3 -1
- package/src/assets/i18n/sk.json +2 -1
|
@@ -5,6 +5,7 @@ import { BehaviorSubject, combineLatest, ReplaySubject } from 'rxjs';
|
|
|
5
5
|
import { NAE_SIDE_MENU_CONTROL } from '../../side-menu-injection-token';
|
|
6
6
|
import { Hotkey } from 'angular2-hotkeys';
|
|
7
7
|
import semver from 'semver';
|
|
8
|
+
import { LoadingEmitter } from '../../../utility/loading-emitter';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@angular/forms";
|
|
10
11
|
import * as i2 from "../../../snack-bar/services/snack-bar.service";
|
|
@@ -40,6 +41,7 @@ export class AbstractNewCaseComponent {
|
|
|
40
41
|
this._hasMultipleNets$ = new ReplaySubject(1);
|
|
41
42
|
this._notInitialized$ = new BehaviorSubject(true);
|
|
42
43
|
this._options$ = new ReplaySubject(1);
|
|
44
|
+
this.loadingSubmit = new LoadingEmitter(false);
|
|
43
45
|
this._allowedNetsSubscription = this._injectedData.allowedNets$.pipe(map(nets => nets.map(petriNet => ({
|
|
44
46
|
value: petriNet.stringId,
|
|
45
47
|
viewValue: petriNet.title,
|
|
@@ -76,6 +78,7 @@ export class AbstractNewCaseComponent {
|
|
|
76
78
|
}
|
|
77
79
|
ngOnDestroy() {
|
|
78
80
|
this._hasMultipleNets$.complete();
|
|
81
|
+
this.loadingSubmit.complete();
|
|
79
82
|
this._allowedNetsSubscription.unsubscribe();
|
|
80
83
|
}
|
|
81
84
|
get hasMultipleNets$() {
|
|
@@ -95,14 +98,19 @@ export class AbstractNewCaseComponent {
|
|
|
95
98
|
return process && process.viewValue ? process.viewValue : '';
|
|
96
99
|
}
|
|
97
100
|
createNewCase() {
|
|
101
|
+
if (this.loadingSubmit.value) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
98
104
|
if (this.titleFormControl.valid || !this.isCaseTitleRequired()) {
|
|
99
105
|
const newCase = {
|
|
100
106
|
title: this.titleFormControl.value === '' ? null : this.titleFormControl.value,
|
|
101
107
|
color: 'panel-primary-icon',
|
|
102
108
|
netId: this.options.length === 1 ? this.options[0].value : this.processFormControl.value.value
|
|
103
109
|
};
|
|
110
|
+
this.loadingSubmit.on();
|
|
104
111
|
this._caseResourceService.createCase(newCase)
|
|
105
112
|
.subscribe((response) => {
|
|
113
|
+
this.loadingSubmit.off();
|
|
106
114
|
if (!!response.outcome) {
|
|
107
115
|
this._snackBarService.openSuccessSnackBar(response.outcome.message === undefined
|
|
108
116
|
? this._translate.instant('side-menu.new-case.createCase') + ' ' + newCase.title
|
|
@@ -124,7 +132,10 @@ export class AbstractNewCaseComponent {
|
|
|
124
132
|
: response.error
|
|
125
133
|
});
|
|
126
134
|
}
|
|
127
|
-
}, error =>
|
|
135
|
+
}, error => {
|
|
136
|
+
this.loadingSubmit.off();
|
|
137
|
+
this._snackBarService.openErrorSnackBar(error.message ? error.message : error);
|
|
138
|
+
});
|
|
128
139
|
}
|
|
129
140
|
}
|
|
130
141
|
/**
|
|
@@ -252,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
252
263
|
type: ViewChild,
|
|
253
264
|
args: ['stepper2']
|
|
254
265
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmV3LWNhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL25ldy1jYXNlL2Fic3RyYWN0LW5ldy1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFLdEUsT0FBTyxFQUFDLE1BQU0sRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBZTVCLE1BQU0sT0FBZ0Isd0JBQXdCO0lBdUIxQyxZQUErRCxnQkFBaUMsRUFDaEUsWUFBeUIsRUFDekIsZ0JBQWlDLEVBQ2pDLG9CQUF5QyxFQUN6QyxlQUErQixFQUMvQixVQUE0QjtRQUxHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDaEUsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQTFCNUQsdUJBQWtCLEdB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ZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N0ZXBwZXJTZWxlY3Rpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfU0lERV9NRU5VX0NPTlRST0x9IGZyb20gJy4uLy4uL3NpZGUtbWVudS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtTaWRlTWVudUNvbnRyb2x9IGZyb20gJy4uLy4uL21vZGVscy9zaWRlLW1lbnUtY29udHJvbCc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7TmV3Q2FzZUluamVjdGlvbkRhdGF9IGZyb20gJy4vbW9kZWwvbmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7SG90a2V5LCBIb3RrZXlzU2VydmljZX0gZnJvbSAnYW5ndWxhcjItaG90a2V5cyc7XG5pbXBvcnQge01hdFRvb2xiYXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHtDcmVhdGVDYXNlRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy9jYXNlLW91dGNvbWVzL2NyZWF0ZS1jYXNlLWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2V9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvbWVzc2FnZS1yZXNvdXJjZSc7XG5pbXBvcnQge01hdE9wdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmludGVyZmFjZSBGb3JtIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHZpZXdWYWx1ZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5ldy1jYXNlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROZXdDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByb2Nlc3NGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgdGl0bGVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgbmV0VmVyc2lvbjogc3RyaW5nO1xuXG4gICAgb3B0aW9uczogQXJyYXk8Rm9ybT4gPSBbXTtcbiAgICBjb2xvcnM6IEFycmF5PEZvcm0+ID0gW1xuICAgICAgICB7dmFsdWU6ICdwYW5lbC1wcmltYXJ5LWljb24nLCB2aWV3VmFsdWU6ICdQcmltYXJ5J30sXG4gICAgICAgIHt2YWx1ZTogJ3BhbmVsLWFjY2VudC1pY29uJywgdmlld1ZhbHVlOiAnQWNjZW50J30sXG4gICAgXTtcbiAgICBmaWx0ZXJlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PEZvcm0+PjtcbiAgICBAVmlld0NoaWxkKCd0b29sYmFyJykgdG9vbGJhcjogTWF0VG9vbGJhcjtcblxuICAgIEBWaWV3Q2hpbGQoJ3N0ZXBwZXIxJykgc3RlcHBlcjE7XG4gICAgQFZpZXdDaGlsZCgnc3RlcHBlcjInKSBzdGVwcGVyMjtcblxuICAgIHByb3RlY3RlZCBfb3B0aW9ucyQ6IFJlcGxheVN1YmplY3Q8QXJyYXk8Rm9ybT4+O1xuICAgIHByb3RlY3RlZCBfaW5qZWN0ZWREYXRhOiBOZXdDYXNlSW5qZWN0aW9uRGF0YTtcbiAgICBwcm90ZWN0ZWQgX2hhc011bHRpcGxlTmV0cyQ6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF9ub3RJbml0aWFsaXplZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgICBwcml2YXRlIF9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKEBJbmplY3QoTkFFX1NJREVfTUVOVV9DT05UUk9MKSBwcm90ZWN0ZWQgX3NpZGVNZW51Q29udHJvbDogU2lkZU1lbnVDb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2hvdGtleXNTZXJ2aWNlOiBIb3RrZXlzU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NpZGVNZW51Q29udHJvbC5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9zaWRlTWVudUNvbnRyb2wuZGF0YSBhcyBOZXdDYXNlSW5qZWN0aW9uRGF0YTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2luamVjdGVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU5vTmV0cygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hvdGtleXNTZXJ2aWNlLmFkZChuZXcgSG90a2V5KCdlbnRlcicsIChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXh0U3RlcCgpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5faGFzTXVsdGlwbGVOZXRzJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgICAgICB0aGlzLl9ub3RJbml0aWFsaXplZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgICAgICB0aGlzLl9vcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG4gICAgICAgIHRoaXMuX2FsbG93ZWROZXRzU3Vic2NyaXB0aW9uID0gdGhpcy5faW5qZWN0ZWREYXRhLmFsbG93ZWROZXRzJC5waXBlKFxuICAgICAgICAgICAgbWFwKG5ldHMgPT4gbmV0cy5tYXAocGV0cmlOZXQgPT4gKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcGV0cmlOZXQuc3RyaW5nSWQsXG4gICAgICAgICAgICAgICAgdmlld1ZhbHVlOiBwZXRyaU5ldC50aXRsZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiBwZXRyaU5ldC52ZXJzaW9uXG4gICAgICAgICAgICB9KSkpLFxuICAgICAgICAgICAgbWFwKG5ldHMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2lkZU1lbnVDb250cm9sLmFsbFZlcnNpb25FbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZU9sZFZlcnNpb25zKG5ldHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXRzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTm9OZXRzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFzTXVsdGlwbGVOZXRzJC5uZXh0KG9wdGlvbnMubGVuZ3RoID4gMSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApLnN1YnNjcmliZShvcHRpb25zID0+IHtcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX25vdEluaXRpYWxpemVkJC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RJbml0aWFsaXplZCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbm90SW5pdGlhbGl6ZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX29wdGlvbnMkLCB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKV0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoc291cmNlcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHNvdXJjZXNbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0eXBlb2Ygc291cmNlc1sxXSA9PT0gJ3N0cmluZycgfHwgc291cmNlc1sxXSA9PT0gbnVsbCA/IHNvdXJjZXNbMV0gOiBzb3VyY2VzWzFdLnZpZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5wdXQgPyB0aGlzLl9maWx0ZXIoaW5wdXQsIG9wdGlvbnMpIDogb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoZmlsdGVyZWRPcHRpb25zID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRPcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC5zZXRWYWx1ZShmaWx0ZXJlZE9wdGlvbnNbMF0sIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFzTXVsdGlwbGVOZXRzJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVOZXRzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc011bHRpcGxlTmV0cyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBub3RJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RJbml0aWFsaXplZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0ZXBDaGFuZ2UoJGV2ZW50OiBTdGVwcGVyU2VsZWN0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLnB1Ymxpc2goe1xuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ0FjdGl2ZSBzdGVwIGhhcyBjaGFuZ2VkJyxcbiAgICAgICAgICAgIGRhdGE6ICRldmVudFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4ocHJvY2VzczogRm9ybSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzICYmIHByb2Nlc3Mudmlld1ZhbHVlID8gcHJvY2Vzcy52aWV3VmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlTmV3Q2FzZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGl0bGVGb3JtQ29udHJvbC52YWxpZCB8fCAhdGhpcy5pc0Nhc2VUaXRsZVJlcXVpcmVkKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0Nhc2UgPSB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudGl0bGVGb3JtQ29udHJvbC52YWx1ZSA9PT0gJycgPyBudWxsIDogdGhpcy50aXRsZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncGFuZWwtcHJpbWFyeS1pY29uJyxcbiAgICAgICAgICAgICAgICBuZXRJZDogdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMSA/IHRoaXMub3B0aW9uc1swXS52YWx1ZSA6IHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlLnZhbHVlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLmNyZWF0ZUNhc2UobmV3Q2FzZSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2U6IEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcmVzcG9uc2Uub3V0Y29tZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuU3VjY2Vzc1NuYWNrQmFyKHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3NpZGUtbWVudS5uZXctY2FzZS5jcmVhdGVDYXNlJykgKyAnICcgKyBuZXdDYXNlLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaWRlTWVudUNvbnRyb2wuY2xvc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ29uZmlybSBuZXcgY2FzZSBzZXR1cCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogKHJlc3BvbnNlLm91dGNvbWUgYXMgQ3JlYXRlQ2FzZUV2ZW50T3V0Y29tZSkuYUNhc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoISFyZXNwb25zZS5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuV2FybmluZ1NuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdzaWRlLW1lbnUubmV3LWNhc2UuY3JlYXRlQ2FzZUVycm9yJykgKyAnICcgKyBuZXdDYXNlLnRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaWRlTWVudUNvbnRyb2wuY2xvc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwb25zZS5lcnJvciA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdDb25maXJtIG5ldyBjYXNlIHNldHVwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PiB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3BlbkVycm9yU25hY2tCYXIoZXJyb3IubWVzc2FnZSA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvcilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gZmlsdGVyIG91dCBtYXRjaGxlc3Mgb3B0aW9ucyB3aXRob3V0IGFjY2VudCBhbmQgY2FzZS1zZW5zaXRpdmUgZGlmZmVyZW5jZXNcbiAgICAgKiBAcGFyYW0gdmFsdWUgdG8gY29tcGFyZSBtYXRjaGluZyBvcHRpb25zXG4gICAgICogQHBhcmFtIG9wdGlvbnMgdGhhdCBzaG91bGQgYmUgZmlsdGVyZWRcbiAgICAgKiBAcmV0dXJuICByZXR1cm4gbWF0Y2hlZCBvcHRpb25zXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXIodmFsdWU6IHN0cmluZywgb3B0aW9uczogQXJyYXk8Rm9ybT4pOiBBcnJheTxGb3JtPiB7XG4gICAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcblxuICAgICAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52aWV3VmFsdWUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLmluZGV4T2YoZmlsdGVyVmFsdWUpID09PSAwKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xvc2VOb05ldHMoKSB7XG4gICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuRXJyb3JTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLm5vTmV0cycpKTtcbiAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLmNsb3NlKHtcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmV4dFN0ZXAoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0ZXBwZXIxKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyMS5zZWxlY3RlZEluZGV4ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVOZXdDYXNlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlcjEubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnN0ZXBwZXIyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyMi5zZWxlY3RlZEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVOZXdDYXNlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlcjIubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGl0bGVTaG9ydGVuaW5nKCkge1xuICAgICAgICBsZXQgc2l6ZTtcbiAgICAgICAgaWYgKHRoaXMudG9vbGJhciAmJiB0aGlzLnRvb2xiYXIuX2VsZW1lbnRSZWYgJiYgdGhpcy50b29sYmFyLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIHRoaXMudG9vbGJhci5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMudG9vbGJhci5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAyOTY6XG4gICAgICAgICAgICAgICAgICAgIHNpemUgPSAyMjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSA0OTY6XG4gICAgICAgICAgICAgICAgICAgIHNpemUgPSA0MjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAyNDY6XG4gICAgICAgICAgICAgICAgICAgIHNpemUgPSAxODtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDMyO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNpemUgPSAzMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNhemUgPSB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLmNhc2UnKTtcbiAgICAgICAgY29uc3QgbmFtZSA9IHR5cGVvZiB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycgfHwgdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUgPT09IG51bGwgP1xuICAgICAgICAgICAgdW5kZWZpbmVkIDogdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUudmlld1ZhbHVlO1xuICAgICAgICBjb25zdCB0aXRsZSA9IG5hbWUgPT09IHVuZGVmaW5lZCA/IGNhemUgOiBjYXplICsgJyAtICcgKyBuYW1lO1xuICAgICAgICBpZiAodGl0bGUubGVuZ3RoID4gc2l6ZSkge1xuICAgICAgICAgICAgY29uc3QgdG1wID0gdGl0bGUuc2xpY2UoMCwgc2l6ZSk7XG4gICAgICAgICAgICByZXR1cm4gdG1wICsgJy4uLic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpdGxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlT2xkVmVyc2lvbnMob3B0aW9uczogQXJyYXk8Rm9ybT4pOiBBcnJheTxGb3JtPiB7XG4gICAgICAgIGNvbnN0IHRlbXBOZXRzID0gT2JqZWN0LmFzc2lnbihbXSwgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBldHJpTmV0SWRzID0gbmV3IFNldChvcHRpb25zLm1hcChmb3JtID0+IGZvcm0udmFsdWUpKTtcbiAgICAgICAgY29uc3QgbmV3ZXN0TmV0cyA9IG5ldyBBcnJheTxGb3JtPigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgcGV0cmlOZXRJZHMpIHtcbiAgICAgICAgICAgIGxldCBjdXJyZW50OiBGb3JtID0ge3ZhbHVlLCB2ZXJzaW9uOiAnMS4wLjAnLCB2aWV3VmFsdWU6ICcnfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbmV0IG9mIHRlbXBOZXRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBuZXQudmFsdWUgJiYgIXNlbXZlci5sdChuZXQudmVyc2lvbiwgY3VycmVudC52ZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld2VzdE5ldHMucHVzaChjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3ZXN0TmV0cztcbiAgICB9XG5cbiAgICBpc0Nhc2VUaXRsZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pbmplY3RlZERhdGE/Lm5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb24/LmVuYWJsZUNhc2VUaXRsZSA/PyB0cnVlKTtcbiAgICB9XG5cbiAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Nhc2VUaXRsZUVuYWJsZWQoKSAmJiAhISh0aGlzLl9pbmplY3RlZERhdGE/Lm5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb24/LmlzQ2FzZVRpdGxlUmVxdWlyZWQgPz8gdHJ1ZSk7XG4gICAgfVxuXG4gICAgc2hvd1ZlcnNpb24ob3B0aW9uOiBNYXRPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wdGlvbiAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbi52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbi52YWx1ZS52ZXJzaW9uICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLm5ldFZlcnNpb24gPSBvcHRpb24udmFsdWUudmVyc2lvbjtcbiAgICB9XG5cbiAgICBjaGVja1ZlcnNpb24odmlld1ZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbiA9IHR5cGVvZiB2aWV3VmFsdWUgPT09ICdzdHJpbmcnIHx8IHZpZXdWYWx1ZSA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IHZpZXdWYWx1ZS52ZXJzaW9uO1xuICAgICAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm5ldFZlcnNpb24gPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvTmV4dFN0ZXAodmlld1ZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZpZXdWYWx1ZSAhPT0gbnVsbCAmJiB2aWV3VmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyMS5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmV3LWNhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL25ldy1jYXNlL2Fic3RyYWN0LW5ldy1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFLdEUsT0FBTyxFQUFDLE1BQU0sRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFJNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQVlsRSxNQUFNLE9BQWdCLHdCQUF3QjtJQXdCMUMsWUFBK0QsZ0JBQWlDLEVBQ2hFLFlBQXlCLEVBQ3pCLGdCQUFpQyxFQUNqQyxvQkFBeUMsRUFDekMsZUFBK0IsRUFDL0IsVUFBNEI7UUFMRyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2hFLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7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QUFFO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDOztzSEE5UWlCLHdCQUF3QixrQkF3QloscUJBQXFCOzBHQXhCakMsd0JBQXdCLCtVQUZoQyxFQUFFOzRGQUVNLHdCQUF3QjtrQkFKN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBeUIwQixNQUFNOzJCQUFDLHFCQUFxQjtrTUFaN0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUVHLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDRSxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdGVwcGVyU2VsZWN0aW9uRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGgsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1NJREVfTUVOVV9DT05UUk9MfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7U2lkZU1lbnVDb250cm9sfSBmcm9tICcuLi8uLi9tb2RlbHMvc2lkZS1tZW51LWNvbnRyb2wnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge05ld0Nhc2VJbmplY3Rpb25EYXRhfSBmcm9tICcuL21vZGVsL25ldy1jYXNlLWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0hvdGtleSwgSG90a2V5c1NlcnZpY2V9IGZyb20gJ2FuZ3VsYXIyLWhvdGtleXMnO1xuaW1wb3J0IHtNYXRUb29sYmFyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7Q3JlYXRlQ2FzZUV2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvY2FzZS1vdXRjb21lcy9jcmVhdGUtY2FzZS1ldmVudC1vdXRjb21lJztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtNYXRPcHRpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0VtaXR0ZXIgfSBmcm9tICcuLi8uLi8uLi91dGlsaXR5L2xvYWRpbmctZW1pdHRlcic7XG5cbmludGVyZmFjZSBGb3JtIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHZpZXdWYWx1ZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5ldy1jYXNlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROZXdDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByb2Nlc3NGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgdGl0bGVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgbmV0VmVyc2lvbjogc3RyaW5nO1xuXG4gICAgb3B0aW9uczogQXJyYXk8Rm9ybT4gPSBbXTtcbiAgICBjb2xvcnM6IEFycmF5PEZvcm0+ID0gW1xuICAgICAgICB7dmFsdWU6ICdwYW5lbC1wcmltYXJ5LWljb24nLCB2aWV3VmFsdWU6ICdQcmltYXJ5J30sXG4gICAgICAgIHt2YWx1ZTogJ3BhbmVsLWFjY2VudC1pY29uJywgdmlld1ZhbHVlOiAnQWNjZW50J30sXG4gICAgXTtcbiAgICBmaWx0ZXJlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PEZvcm0+PjtcbiAgICBAVmlld0NoaWxkKCd0b29sYmFyJykgdG9vbGJhcjogTWF0VG9vbGJhcjtcblxuICAgIEBWaWV3Q2hpbGQoJ3N0ZXBwZXIxJykgc3RlcHBlcjE7XG4gICAgQFZpZXdDaGlsZCgnc3RlcHBlcjInKSBzdGVwcGVyMjtcblxuICAgIHB1YmxpYyBsb2FkaW5nU3VibWl0OiBMb2FkaW5nRW1pdHRlcjtcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnMkOiBSZXBsYXlTdWJqZWN0PEFycmF5PEZvcm0+PjtcbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogTmV3Q2FzZUluamVjdGlvbkRhdGE7XG4gICAgcHJvdGVjdGVkIF9oYXNNdWx0aXBsZU5ldHMkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+O1xuICAgIHByb3RlY3RlZCBfbm90SW5pdGlhbGl6ZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSBfYWxsb3dlZE5ldHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihASW5qZWN0KE5BRV9TSURFX01FTlVfQ09OVFJPTCkgcHJvdGVjdGVkIF9zaWRlTWVudUNvbnRyb2w6IFNpZGVNZW51Q29udHJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ob3RrZXlzU2VydmljZTogSG90a2V5c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgIGlmICh0aGlzLl9zaWRlTWVudUNvbnRyb2wuZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ZWREYXRhID0gdGhpcy5fc2lkZU1lbnVDb250cm9sLmRhdGEgYXMgTmV3Q2FzZUluamVjdGlvbkRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9pbmplY3RlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VOb05ldHMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ob3RrZXlzU2VydmljZS5hZGQobmV3IEhvdGtleSgnZW50ZXInLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHRoaXMubmV4dFN0ZXAoKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuX2hhc011bHRpcGxlTmV0cyQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICAgICAgdGhpcy5fbm90SW5pdGlhbGl6ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3VibWl0ID0gbmV3IExvYWRpbmdFbWl0dGVyKGZhbHNlKTtcblxuICAgICAgICB0aGlzLl9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbiA9IHRoaXMuX2luamVjdGVkRGF0YS5hbGxvd2VkTmV0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChuZXRzID0+IG5ldHMubWFwKHBldHJpTmV0ID0+ICh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBldHJpTmV0LnN0cmluZ0lkLFxuICAgICAgICAgICAgICAgIHZpZXdWYWx1ZTogcGV0cmlOZXQudGl0bGUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogcGV0cmlOZXQudmVyc2lvblxuICAgICAgICAgICAgfSkpKSxcbiAgICAgICAgICAgIG1hcChuZXRzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3NpZGVNZW51Q29udHJvbC5hbGxWZXJzaW9uRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW1vdmVPbGRWZXJzaW9ucyhuZXRzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV0cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcChvcHRpb25zID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZU5vTmV0cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhc011bHRpcGxlTmV0cyQubmV4dChvcHRpb25zLmxlbmd0aCA+IDEpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9ub3RJbml0aWFsaXplZCQuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbm90SW5pdGlhbGl6ZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX25vdEluaXRpYWxpemVkJC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9vcHRpb25zJCwgdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSldKS5waXBlKFxuICAgICAgICAgICAgbWFwKHNvdXJjZXMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBzb3VyY2VzWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdHlwZW9mIHNvdXJjZXNbMV0gPT09ICdzdHJpbmcnIHx8IHNvdXJjZXNbMV0gPT09IG51bGwgPyBzb3VyY2VzWzFdIDogc291cmNlc1sxXS52aWV3VmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0ID8gdGhpcy5fZmlsdGVyKGlucHV0LCBvcHRpb25zKSA6IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKGZpbHRlcmVkT3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wuc2V0VmFsdWUoZmlsdGVyZWRPcHRpb25zWzBdLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hhc011bHRpcGxlTmV0cyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3VibWl0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2FsbG93ZWROZXRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNNdWx0aXBsZU5ldHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVOZXRzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5vdEluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vdEluaXRpYWxpemVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RlcENoYW5nZSgkZXZlbnQ6IFN0ZXBwZXJTZWxlY3Rpb25FdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zaWRlTWVudUNvbnRyb2wucHVibGlzaCh7XG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnQWN0aXZlIHN0ZXAgaGFzIGNoYW5nZWQnLFxuICAgICAgICAgICAgZGF0YTogJGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRpc3BsYXlGbihwcm9jZXNzOiBGb3JtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHByb2Nlc3MgJiYgcHJvY2Vzcy52aWV3VmFsdWUgPyBwcm9jZXNzLnZpZXdWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVOZXdDYXNlKCk6IHZvaWQge1xuICAgICAgICBpZih0aGlzLmxvYWRpbmdTdWJtaXQudmFsdWUpe1xuICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50aXRsZUZvcm1Db250cm9sLnZhbGlkIHx8ICF0aGlzLmlzQ2FzZVRpdGxlUmVxdWlyZWQoKSkge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2FzZSA9IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZUZvcm1Db250cm9sLnZhbHVlID09PSAnJyA/IG51bGwgOiB0aGlzLnRpdGxlRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdwYW5lbC1wcmltYXJ5LWljb24nLFxuICAgICAgICAgICAgICAgIG5ldElkOiB0aGlzLm9wdGlvbnMubGVuZ3RoID09PSAxID8gdGhpcy5vcHRpb25zWzBdLnZhbHVlIDogdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUudmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJtaXQub24oKTtcbiAgICAgICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2UuY3JlYXRlQ2FzZShuZXdDYXNlKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJtaXQub2ZmKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFyZXNwb25zZS5vdXRjb21lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5TdWNjZXNzU25hY2tCYXIocmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLmNyZWF0ZUNhc2UnKSArICcgJyArIG5ld0Nhc2UudGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdDb25maXJtIG5ldyBjYXNlIHNldHVwJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiAocmVzcG9uc2Uub3V0Y29tZSBhcyBDcmVhdGVDYXNlRXZlbnRPdXRjb21lKS5hQ2FzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghIXJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5XYXJuaW5nU25hY2tCYXIodGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3NpZGUtbWVudS5uZXctY2FzZS5jcmVhdGVDYXNlRXJyb3InKSArICcgJyArIG5ld0Nhc2UudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLmVycm9yID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NvbmZpcm0gbmV3IGNhc2Ugc2V0dXAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3BvbnNlLmVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdC5vZmYoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuRXJyb3JTbmFja0JhcihlcnJvci5tZXNzYWdlID8gZXJyb3IubWVzc2FnZSA6IGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBmaWx0ZXIgb3V0IG1hdGNobGVzcyBvcHRpb25zIHdpdGhvdXQgYWNjZW50IGFuZCBjYXNlLXNlbnNpdGl2ZSBkaWZmZXJlbmNlc1xuICAgICAqIEBwYXJhbSB2YWx1ZSB0byBjb21wYXJlIG1hdGNoaW5nIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyB0aGF0IHNob3VsZCBiZSBmaWx0ZXJlZFxuICAgICAqIEByZXR1cm4gIHJldHVybiBtYXRjaGVkIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2ZpbHRlcih2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiBBcnJheTxGb3JtPik6IEFycmF5PEZvcm0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xuXG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnZpZXdWYWx1ZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJykuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPT09IDApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbG9zZU5vTmV0cygpIHtcbiAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdzaWRlLW1lbnUubmV3LWNhc2Uubm9OZXRzJykpO1xuICAgICAgICB0aGlzLl9zaWRlTWVudUNvbnRyb2wuY2xvc2Uoe1xuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZXh0U3RlcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcHBlcjEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0ZXBwZXIxLnNlbGVjdGVkSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU5ld0Nhc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyMS5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc3RlcHBlcjIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0ZXBwZXIyLnNlbGVjdGVkSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU5ld0Nhc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyMi5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aXRsZVNob3J0ZW5pbmcoKSB7XG4gICAgICAgIGxldCBzaXplO1xuICAgICAgICBpZiAodGhpcy50b29sYmFyICYmIHRoaXMudG9vbGJhci5fZWxlbWVudFJlZiAmJiB0aGlzLnRvb2xiYXIuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICAgdGhpcy50b29sYmFyLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50b29sYmFyLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDI5NjpcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDIyO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIDQ5NjpcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDQyO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIDI0NjpcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDE4O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBzaXplID0gMzI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2l6ZSA9IDMyO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2F6ZSA9IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdzaWRlLW1lbnUubmV3LWNhc2UuY2FzZScpO1xuICAgICAgICBjb25zdCBuYW1lID0gdHlwZW9mIHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlID09PSAnc3RyaW5nJyB8fCB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSA9PT0gbnVsbCA/XG4gICAgICAgICAgICB1bmRlZmluZWQgOiB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZS52aWV3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gbmFtZSA9PT0gdW5kZWZpbmVkID8gY2F6ZSA6IGNhemUgKyAnIC0gJyArIG5hbWU7XG4gICAgICAgIGlmICh0aXRsZS5sZW5ndGggPiBzaXplKSB7XG4gICAgICAgICAgICBjb25zdCB0bXAgPSB0aXRsZS5zbGljZSgwLCBzaXplKTtcbiAgICAgICAgICAgIHJldHVybiB0bXAgKyAnLi4uJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGl0bGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVPbGRWZXJzaW9ucyhvcHRpb25zOiBBcnJheTxGb3JtPik6IEFycmF5PEZvcm0+IHtcbiAgICAgICAgY29uc3QgdGVtcE5ldHMgPSBPYmplY3QuYXNzaWduKFtdLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcGV0cmlOZXRJZHMgPSBuZXcgU2V0KG9wdGlvbnMubWFwKGZvcm0gPT4gZm9ybS52YWx1ZSkpO1xuICAgICAgICBjb25zdCBuZXdlc3ROZXRzID0gbmV3IEFycmF5PEZvcm0+KCk7XG5cbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBwZXRyaU5ldElkcykge1xuICAgICAgICAgICAgbGV0IGN1cnJlbnQ6IEZvcm0gPSB7dmFsdWUsIHZlcnNpb246ICcxLjAuMCcsIHZpZXdWYWx1ZTogJyd9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBuZXQgb2YgdGVtcE5ldHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IG5ldC52YWx1ZSAmJiAhc2VtdmVyLmx0KG5ldC52ZXJzaW9uLCBjdXJyZW50LnZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBuZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3ZXN0TmV0cy5wdXNoKGN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdlc3ROZXRzO1xuICAgIH1cblxuICAgIGlzQ2FzZVRpdGxlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuX2luamVjdGVkRGF0YT8ubmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbj8uZW5hYmxlQ2FzZVRpdGxlID8/IHRydWUpO1xuICAgIH1cblxuICAgIGlzQ2FzZVRpdGxlUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQ2FzZVRpdGxlRW5hYmxlZCgpICYmICEhKHRoaXMuX2luamVjdGVkRGF0YT8ubmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbj8uaXNDYXNlVGl0bGVSZXF1aXJlZCA/PyB0cnVlKTtcbiAgICB9XG5cbiAgICBzaG93VmVyc2lvbihvcHRpb246IE1hdE9wdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAob3B0aW9uICE9PSB1bmRlZmluZWQgJiYgb3B0aW9uLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgb3B0aW9uLnZhbHVlLnZlcnNpb24gIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRoaXMubmV0VmVyc2lvbiA9IG9wdGlvbi52YWx1ZS52ZXJzaW9uO1xuICAgIH1cblxuICAgIGNoZWNrVmVyc2lvbih2aWV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9uID0gdHlwZW9mIHZpZXdWYWx1ZSA9PT0gJ3N0cmluZycgfHwgdmlld1ZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmlld1ZhbHVlLnZlcnNpb247XG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMubmV0VmVyc2lvbiA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9OZXh0U3RlcCh2aWV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmlld1ZhbHVlICE9PSBudWxsICYmIHZpZXdWYWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXBwZXIxLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1080,7 +1080,8 @@ var admin$2 = {
|
|
|
1080
1080
|
},
|
|
1081
1081
|
"ldapGroup-list": {
|
|
1082
1082
|
noLdapGroupsWereFound: "No LDAP group was found",
|
|
1083
|
-
listTitle: "
|
|
1083
|
+
listTitle: "LDAP groups",
|
|
1084
|
+
count: "Number of groups"
|
|
1084
1085
|
},
|
|
1085
1086
|
"process-list": {
|
|
1086
1087
|
newestVersion: "Newest version",
|
|
@@ -1559,7 +1560,8 @@ var admin$1 = {
|
|
|
1559
1560
|
},
|
|
1560
1561
|
"ldapGroup-list": {
|
|
1561
1562
|
noLdapGroupsWereFound: "Žiadna LDAP skupina nebola najdená",
|
|
1562
|
-
listTitle: "
|
|
1563
|
+
listTitle: "LDAP Skupiny",
|
|
1564
|
+
count: "Počet skupín"
|
|
1563
1565
|
},
|
|
1564
1566
|
"process-list": {
|
|
1565
1567
|
newestVersion: "Najnovšia verzia",
|
|
@@ -2038,7 +2040,8 @@ var admin = {
|
|
|
2038
2040
|
},
|
|
2039
2041
|
"ldapGroup-list": {
|
|
2040
2042
|
noLdapGroupsWereFound: "Keine LDAP Gruppe wurde gefunden",
|
|
2041
|
-
listTitle: "LDAP Gruppen"
|
|
2043
|
+
listTitle: "LDAP Gruppen",
|
|
2044
|
+
count: "Anzahl der Gruppen"
|
|
2042
2045
|
},
|
|
2043
2046
|
"process-list": {
|
|
2044
2047
|
newestVersion: "Neuste Version",
|
|
@@ -3777,6 +3780,9 @@ class DataField {
|
|
|
3777
3780
|
set touch(set) {
|
|
3778
3781
|
this._touch.next(set);
|
|
3779
3782
|
}
|
|
3783
|
+
get touch$() {
|
|
3784
|
+
return this._touch.asObservable();
|
|
3785
|
+
}
|
|
3780
3786
|
get component() {
|
|
3781
3787
|
return this._component;
|
|
3782
3788
|
}
|
|
@@ -4937,6 +4943,12 @@ class EnumerationField extends DataField {
|
|
|
4937
4943
|
}
|
|
4938
4944
|
}
|
|
4939
4945
|
|
|
4946
|
+
var EnumerationAutocompleteFilterProperty;
|
|
4947
|
+
(function (EnumerationAutocompleteFilterProperty) {
|
|
4948
|
+
EnumerationAutocompleteFilterProperty["PREFIX"] = "prefix";
|
|
4949
|
+
EnumerationAutocompleteFilterProperty["SUBSTRING"] = "substring";
|
|
4950
|
+
})(EnumerationAutocompleteFilterProperty || (EnumerationAutocompleteFilterProperty = {}));
|
|
4951
|
+
|
|
4940
4952
|
class AbstractEnumerationAutocompleteSelectFieldComponent {
|
|
4941
4953
|
constructor(_translate) {
|
|
4942
4954
|
this._translate = _translate;
|
|
@@ -4950,26 +4962,69 @@ class AbstractEnumerationAutocompleteSelectFieldComponent {
|
|
|
4950
4962
|
};
|
|
4951
4963
|
}
|
|
4952
4964
|
ngOnInit() {
|
|
4965
|
+
var _a;
|
|
4966
|
+
this.tmpValue = (_a = this.formControlRef.value) !== null && _a !== void 0 ? _a : '';
|
|
4953
4967
|
this.filteredOptions = this.formControlRef.valueChanges.pipe(startWith(''), map(value => this._filter(value)));
|
|
4968
|
+
this.enumerationField.touch$.subscribe(touch => {
|
|
4969
|
+
if (touch) {
|
|
4970
|
+
this.text.control.markAsTouched();
|
|
4971
|
+
}
|
|
4972
|
+
});
|
|
4973
|
+
this.formControlRef.valueChanges.subscribe(it => {
|
|
4974
|
+
this.tmpValue = it !== null && it !== void 0 ? it : '';
|
|
4975
|
+
});
|
|
4954
4976
|
}
|
|
4955
4977
|
ngOnDestroy() {
|
|
4956
4978
|
this.filteredOptions = undefined;
|
|
4957
4979
|
}
|
|
4980
|
+
change() {
|
|
4981
|
+
if (this.text.value !== undefined) {
|
|
4982
|
+
this.filteredOptions = of(this._filter(this.text.value));
|
|
4983
|
+
}
|
|
4984
|
+
}
|
|
4985
|
+
select(event) {
|
|
4986
|
+
this.formControlRef.setValue(event.option.value);
|
|
4987
|
+
}
|
|
4988
|
+
isInvalid() {
|
|
4989
|
+
return !this.formControlRef.disabled && !this.formControlRef.valid && this.text.control.touched;
|
|
4990
|
+
}
|
|
4991
|
+
checkPropertyInComponent(property) {
|
|
4992
|
+
return !!this.enumerationField.component && !!this.enumerationField.component.properties && property in this.enumerationField.component.properties;
|
|
4993
|
+
}
|
|
4994
|
+
filterType() {
|
|
4995
|
+
if (this.checkPropertyInComponent('filter')) {
|
|
4996
|
+
return this.enumerationField.component.properties.filter;
|
|
4997
|
+
}
|
|
4998
|
+
}
|
|
4999
|
+
_filter(value) {
|
|
5000
|
+
var _a;
|
|
5001
|
+
let filterType = (_a = this.filterType()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
5002
|
+
switch (filterType) {
|
|
5003
|
+
case EnumerationAutocompleteFilterProperty.SUBSTRING:
|
|
5004
|
+
return this._filterInclude(value);
|
|
5005
|
+
case EnumerationAutocompleteFilterProperty.PREFIX:
|
|
5006
|
+
return this._filterIndexOf(value);
|
|
5007
|
+
default:
|
|
5008
|
+
return this._filterIndexOf(value);
|
|
5009
|
+
}
|
|
5010
|
+
}
|
|
5011
|
+
_filterInclude(value) {
|
|
5012
|
+
const filterValue = value === null || value === void 0 ? void 0 : value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
5013
|
+
return this.enumerationField.choices.filter(option => option.value.toLowerCase()
|
|
5014
|
+
.normalize('NFD')
|
|
5015
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
5016
|
+
.includes(filterValue));
|
|
5017
|
+
}
|
|
4958
5018
|
/**
|
|
4959
5019
|
* Function to filter out matchless options without accent and case-sensitive differences
|
|
4960
5020
|
* @param value to compare matching options
|
|
4961
5021
|
* @return return matched options
|
|
4962
5022
|
*/
|
|
4963
|
-
|
|
5023
|
+
_filterIndexOf(value) {
|
|
4964
5024
|
const filterValue = value === null || value === void 0 ? void 0 : value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
4965
5025
|
return this.enumerationField.choices.filter(option => option.value.toLowerCase().normalize('NFD')
|
|
4966
5026
|
.replace(/[\u0300-\u036f]/g, '').indexOf(filterValue) === 0);
|
|
4967
5027
|
}
|
|
4968
|
-
change() {
|
|
4969
|
-
if (this.text.nativeElement.value !== undefined) {
|
|
4970
|
-
this.filteredOptions = of(this._filter(this.text.nativeElement.value));
|
|
4971
|
-
}
|
|
4972
|
-
}
|
|
4973
5028
|
buildErrorMessage() {
|
|
4974
5029
|
if (this.formControlRef.hasError(EnumerationFieldValidation.REQUIRED)) {
|
|
4975
5030
|
return this._translate.instant('dataField.validations.required');
|
|
@@ -5627,8 +5682,8 @@ class I18nField extends DataField {
|
|
|
5627
5682
|
&& ((!a.translations && !!b.translations) || (!b.translations && !!a.translations)));
|
|
5628
5683
|
}
|
|
5629
5684
|
static translationsEquality(a, b) {
|
|
5630
|
-
const aKeys = Object.keys(a.translations).sort();
|
|
5631
|
-
const bKeys = Object.keys(b.translations).sort();
|
|
5685
|
+
const aKeys = !!a.translations ? Object.keys(a.translations).sort() : [];
|
|
5686
|
+
const bKeys = !!b.translations ? Object.keys(b.translations).sort() : [];
|
|
5632
5687
|
if (aKeys.length !== bKeys.length
|
|
5633
5688
|
|| !aKeys.every((element, index) => {
|
|
5634
5689
|
return element === bKeys[index];
|
|
@@ -5744,13 +5799,13 @@ class I18nField extends DataField {
|
|
|
5744
5799
|
validTranslationRequired(countries) {
|
|
5745
5800
|
return (fc) => {
|
|
5746
5801
|
return countries.every(languageCode => languageCode in fc.value.translations)
|
|
5747
|
-
?
|
|
5802
|
+
? null : ({ translationRequired: true });
|
|
5748
5803
|
};
|
|
5749
5804
|
}
|
|
5750
5805
|
validTranslationOnly(countries) {
|
|
5751
5806
|
return (fc) => {
|
|
5752
5807
|
return Object.keys(fc.value.translations).every(translation => countries.includes(translation))
|
|
5753
|
-
?
|
|
5808
|
+
? null : ({ translationOnly: true });
|
|
5754
5809
|
};
|
|
5755
5810
|
}
|
|
5756
5811
|
validRequiredI18n(fc) {
|
|
@@ -6478,6 +6533,7 @@ class AbstractFileFieldComponent extends AbstractDataFieldComponent {
|
|
|
6478
6533
|
}
|
|
6479
6534
|
}
|
|
6480
6535
|
this.updatedFieldSubscription = this.dataField.updated.subscribe(() => {
|
|
6536
|
+
this.previewSource = undefined;
|
|
6481
6537
|
if (!!this.filePreview
|
|
6482
6538
|
&& !!this.dataField.value
|
|
6483
6539
|
&& !!this.dataField.value.name) {
|
|
@@ -7158,6 +7214,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
7158
7214
|
type: Input
|
|
7159
7215
|
}] } });
|
|
7160
7216
|
|
|
7217
|
+
var MultichoiceAutocompleteFilterProperty;
|
|
7218
|
+
(function (MultichoiceAutocompleteFilterProperty) {
|
|
7219
|
+
MultichoiceAutocompleteFilterProperty["PREFIX"] = "prefix";
|
|
7220
|
+
MultichoiceAutocompleteFilterProperty["SUBSTRING"] = "substring";
|
|
7221
|
+
})(MultichoiceAutocompleteFilterProperty || (MultichoiceAutocompleteFilterProperty = {}));
|
|
7222
|
+
|
|
7161
7223
|
class AbstractMultichoiceAutocompleteFieldComponentComponent {
|
|
7162
7224
|
constructor() {
|
|
7163
7225
|
this.separatorKeysCodes = [ENTER, COMMA];
|
|
@@ -7177,7 +7239,7 @@ class AbstractMultichoiceAutocompleteFieldComponentComponent {
|
|
|
7177
7239
|
this.filteredOptions = undefined;
|
|
7178
7240
|
}
|
|
7179
7241
|
add(event) {
|
|
7180
|
-
const value = (event
|
|
7242
|
+
const value = (event['key'] || '').trim();
|
|
7181
7243
|
if (value) {
|
|
7182
7244
|
const choiceArray = [...this.multichoiceField.value];
|
|
7183
7245
|
choiceArray.push(value);
|
|
@@ -7204,7 +7266,34 @@ class AbstractMultichoiceAutocompleteFieldComponentComponent {
|
|
|
7204
7266
|
this.filteredOptions = of(this._filter(this.input.nativeElement.value).filter((option) => !this.multichoiceField.value.includes(option.key)));
|
|
7205
7267
|
}
|
|
7206
7268
|
}
|
|
7269
|
+
checkPropertyInComponent(property) {
|
|
7270
|
+
return !!this.multichoiceField.component && !!this.multichoiceField.component.properties && property in this.multichoiceField.component.properties;
|
|
7271
|
+
}
|
|
7272
|
+
filterType() {
|
|
7273
|
+
if (this.checkPropertyInComponent('filter')) {
|
|
7274
|
+
return this.multichoiceField.component.properties.filter;
|
|
7275
|
+
}
|
|
7276
|
+
}
|
|
7207
7277
|
_filter(value) {
|
|
7278
|
+
var _a;
|
|
7279
|
+
let filterType = (_a = this.filterType()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
7280
|
+
switch (filterType) {
|
|
7281
|
+
case MultichoiceAutocompleteFilterProperty.SUBSTRING:
|
|
7282
|
+
return this._filterInclude(value);
|
|
7283
|
+
case MultichoiceAutocompleteFilterProperty.PREFIX:
|
|
7284
|
+
return this._filterIndexOf(value);
|
|
7285
|
+
default:
|
|
7286
|
+
return this._filterIndexOf(value);
|
|
7287
|
+
}
|
|
7288
|
+
}
|
|
7289
|
+
_filterInclude(value) {
|
|
7290
|
+
if (Array.isArray(value)) {
|
|
7291
|
+
value = '';
|
|
7292
|
+
}
|
|
7293
|
+
const filterValue = value === null || value === void 0 ? void 0 : value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
7294
|
+
return this.multichoiceField.choices.filter(option => option.value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').includes(filterValue));
|
|
7295
|
+
}
|
|
7296
|
+
_filterIndexOf(value) {
|
|
7208
7297
|
if (Array.isArray(value)) {
|
|
7209
7298
|
value = '';
|
|
7210
7299
|
}
|
|
@@ -7212,6 +7301,10 @@ class AbstractMultichoiceAutocompleteFieldComponentComponent {
|
|
|
7212
7301
|
return this.multichoiceField.choices.filter(option => option.value.toLowerCase().normalize('NFD')
|
|
7213
7302
|
.replace(/[\u0300-\u036f]/g, '').indexOf(filterValue) === 0);
|
|
7214
7303
|
}
|
|
7304
|
+
getValueFromKey(key) {
|
|
7305
|
+
var _a;
|
|
7306
|
+
return (_a = this.multichoiceField.choices.find(choice => choice.key === key)) === null || _a === void 0 ? void 0 : _a.value;
|
|
7307
|
+
}
|
|
7215
7308
|
}
|
|
7216
7309
|
AbstractMultichoiceAutocompleteFieldComponentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractMultichoiceAutocompleteFieldComponentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7217
7310
|
AbstractMultichoiceAutocompleteFieldComponentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractMultichoiceAutocompleteFieldComponentComponent, selector: "ncc-abstract-multichoice-autocomplete-field", inputs: { multichoiceField: "multichoiceField", formControlRef: "formControlRef", showLargeLayout: "showLargeLayout" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: '', isInline: true });
|
|
@@ -13447,6 +13540,12 @@ class AbstractI18nDividerFieldComponent {
|
|
|
13447
13540
|
return this.dividerI18nField.component.properties.dividerColor;
|
|
13448
13541
|
}
|
|
13449
13542
|
}
|
|
13543
|
+
isDividerLGBTQ() {
|
|
13544
|
+
if (this.dividerPropertyEnabled('dividerLGBTQ')) {
|
|
13545
|
+
return this.dividerI18nField.component.properties.dividerLGBTQ === 'true';
|
|
13546
|
+
}
|
|
13547
|
+
return false;
|
|
13548
|
+
}
|
|
13450
13549
|
getDividerFontSize() {
|
|
13451
13550
|
if (this.dividerPropertyEnabled('fontSize')) {
|
|
13452
13551
|
return this.dividerI18nField.component.properties.fontSize + 'px';
|
|
@@ -14020,6 +14119,9 @@ class AbstractAuthenticationOverlayComponent {
|
|
|
14020
14119
|
if (!!user && !!user.id && user.id.length > 0) {
|
|
14021
14120
|
this.redirect(!active);
|
|
14022
14121
|
}
|
|
14122
|
+
else if (!active) {
|
|
14123
|
+
this._spinnerOverlay.spin$.next(false);
|
|
14124
|
+
}
|
|
14023
14125
|
});
|
|
14024
14126
|
});
|
|
14025
14127
|
}
|
|
@@ -20111,6 +20213,7 @@ class AbstractNewCaseComponent {
|
|
|
20111
20213
|
this._hasMultipleNets$ = new ReplaySubject(1);
|
|
20112
20214
|
this._notInitialized$ = new BehaviorSubject(true);
|
|
20113
20215
|
this._options$ = new ReplaySubject(1);
|
|
20216
|
+
this.loadingSubmit = new LoadingEmitter(false);
|
|
20114
20217
|
this._allowedNetsSubscription = this._injectedData.allowedNets$.pipe(map(nets => nets.map(petriNet => ({
|
|
20115
20218
|
value: petriNet.stringId,
|
|
20116
20219
|
viewValue: petriNet.title,
|
|
@@ -20147,6 +20250,7 @@ class AbstractNewCaseComponent {
|
|
|
20147
20250
|
}
|
|
20148
20251
|
ngOnDestroy() {
|
|
20149
20252
|
this._hasMultipleNets$.complete();
|
|
20253
|
+
this.loadingSubmit.complete();
|
|
20150
20254
|
this._allowedNetsSubscription.unsubscribe();
|
|
20151
20255
|
}
|
|
20152
20256
|
get hasMultipleNets$() {
|
|
@@ -20166,14 +20270,19 @@ class AbstractNewCaseComponent {
|
|
|
20166
20270
|
return process && process.viewValue ? process.viewValue : '';
|
|
20167
20271
|
}
|
|
20168
20272
|
createNewCase() {
|
|
20273
|
+
if (this.loadingSubmit.value) {
|
|
20274
|
+
return;
|
|
20275
|
+
}
|
|
20169
20276
|
if (this.titleFormControl.valid || !this.isCaseTitleRequired()) {
|
|
20170
20277
|
const newCase = {
|
|
20171
20278
|
title: this.titleFormControl.value === '' ? null : this.titleFormControl.value,
|
|
20172
20279
|
color: 'panel-primary-icon',
|
|
20173
20280
|
netId: this.options.length === 1 ? this.options[0].value : this.processFormControl.value.value
|
|
20174
20281
|
};
|
|
20282
|
+
this.loadingSubmit.on();
|
|
20175
20283
|
this._caseResourceService.createCase(newCase)
|
|
20176
20284
|
.subscribe((response) => {
|
|
20285
|
+
this.loadingSubmit.off();
|
|
20177
20286
|
if (!!response.outcome) {
|
|
20178
20287
|
this._snackBarService.openSuccessSnackBar(response.outcome.message === undefined
|
|
20179
20288
|
? this._translate.instant('side-menu.new-case.createCase') + ' ' + newCase.title
|
|
@@ -20195,7 +20304,10 @@ class AbstractNewCaseComponent {
|
|
|
20195
20304
|
: response.error
|
|
20196
20305
|
});
|
|
20197
20306
|
}
|
|
20198
|
-
}, error =>
|
|
20307
|
+
}, error => {
|
|
20308
|
+
this.loadingSubmit.off();
|
|
20309
|
+
this._snackBarService.openErrorSnackBar(error.message ? error.message : error);
|
|
20310
|
+
});
|
|
20199
20311
|
}
|
|
20200
20312
|
}
|
|
20201
20313
|
/**
|
|
@@ -23212,9 +23324,9 @@ class PublicTaskResourceService extends TaskResourceService {
|
|
|
23212
23324
|
* Delete file from the task
|
|
23213
23325
|
* DELETE
|
|
23214
23326
|
*/
|
|
23215
|
-
deleteFile(taskId, fieldId, name) {
|
|
23327
|
+
deleteFile(taskId, fieldId, name, param) {
|
|
23216
23328
|
const url = !!name ? `public/task/${taskId}/file/${fieldId}/${name}` : `public/task/${taskId}/file/${fieldId}`;
|
|
23217
|
-
return this._resourceProvider.delete$(url, this.SERVER_URL).pipe(map(r => this.changeType(r, undefined)));
|
|
23329
|
+
return this._resourceProvider.delete$(url, this.SERVER_URL, param).pipe(map(r => this.changeType(r, undefined)));
|
|
23218
23330
|
}
|
|
23219
23331
|
/**
|
|
23220
23332
|
* Download task file preview for field value
|
|
@@ -32096,5 +32208,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
32096
32208
|
* Generated bundle index. Do not edit.
|
|
32097
32209
|
*/
|
|
32098
32210
|
|
|
32099
|
-
export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseViewComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardContentComponent, AbstractDataFieldTemplateComponent, AbstractDateFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileFieldComponent, AbstractFileListFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserFieldComponent, AbstractUserInviteComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseResourceService, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, CovalentModule, CurrencyModule, CustomDateAdapter, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT_LANGUAGE_CODE, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FILTER_IDENTIFIERS, FILTER_VIEW_TASK_TRANSITION_ID, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FinishPolicy, FinishPolicyService, FinishTaskService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, InRange, InRangeDate, IncrementingCounter, IsNull, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MaterialAppearance, MaterialModule, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceField, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_USER_ASSIGN_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefField, TaskRequestStateService, TaskResourceService, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldValidation, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserInviteService, UserListField, UserListService, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, loadAllPages, mockUserAutocompleteValue, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, refreshTree, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment };
|
|
32211
|
+
export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseViewComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardContentComponent, AbstractDataFieldTemplateComponent, AbstractDateFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileFieldComponent, AbstractFileListFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserFieldComponent, AbstractUserInviteComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseResourceService, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, CovalentModule, CurrencyModule, CustomDateAdapter, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT_LANGUAGE_CODE, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationAutocompleteFilterProperty, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FILTER_IDENTIFIERS, FILTER_VIEW_TASK_TRANSITION_ID, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FinishPolicy, FinishPolicyService, FinishTaskService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, InRange, InRangeDate, IncrementingCounter, IsNull, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MaterialAppearance, MaterialModule, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceAutocompleteFilterProperty, MultichoiceField, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_USER_ASSIGN_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefField, TaskRequestStateService, TaskResourceService, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldValidation, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserInviteService, UserListField, UserListService, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, loadAllPages, mockUserAutocompleteValue, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, refreshTree, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment };
|
|
32100
32212
|
//# sourceMappingURL=netgrif-components-core.mjs.map
|