mstate-angular 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/action-form/action-form.component.mjs +85 -48
- package/esm2022/lib/common/constant.mjs +2 -2
- package/esm2022/lib/components/action-card/action-card.component.mjs +9 -8
- package/esm2022/lib/components/button/button.component.mjs +13 -5
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +7 -4
- package/esm2022/lib/components/error-card/error-card.component.mjs +23 -0
- package/esm2022/lib/components/input-field/input-field.component.mjs +14 -7
- package/esm2022/lib/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +7 -4
- package/esm2022/lib/components/workflow-end-card/workflow-end-card.component.mjs +11 -0
- package/esm2022/lib/input-selector/input-selector.component.mjs +6 -3
- package/esm2022/lib/interfaces/interface.mjs +1 -1
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +33 -21
- package/esm2022/lib/mstate-angular.helper.mjs +28 -1
- package/esm2022/lib/mstate-angular.module.mjs +5 -4
- package/esm2022/lib/mstate-angular.service.mjs +3 -3
- package/fesm2022/mstate-angular.mjs +218 -95
- package/fesm2022/mstate-angular.mjs.map +1 -1
- package/lib/action-form/action-form.component.d.ts +16 -9
- package/lib/common/constant.d.ts +2 -2
- package/lib/components/action-card/action-card.component.d.ts +4 -4
- package/lib/components/button/button.component.d.ts +3 -1
- package/lib/components/dropdown/dropdown.component.d.ts +6 -1
- package/lib/components/error-card/error-card.component.d.ts +9 -0
- package/lib/components/input-field/input-field.component.d.ts +9 -1
- package/lib/components/select/select.component.d.ts +6 -1
- package/lib/components/workflow-end-card/workflow-end-card.component.d.ts +5 -0
- package/lib/input-selector/input-selector.component.d.ts +6 -1
- package/lib/interfaces/interface.d.ts +1 -1
- package/lib/mstate-angular/mstate-angular.component.d.ts +7 -3
- package/lib/mstate-angular.helper.d.ts +7 -0
- package/lib/mstate-angular.module.d.ts +2 -1
- package/package.json +1 -1
@@ -1,18 +1,21 @@
|
|
1
|
-
import { Component, Input, } from '@angular/core';
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
2
|
import { MstateAngularService } from '../mstate-angular.service';
|
3
|
+
import { catchError, finalize } from 'rxjs';
|
3
4
|
import { ActionType, ManualStepModule } from '../common/enum';
|
4
5
|
import { InputSelectorComponent } from '../input-selector/input-selector.component';
|
5
6
|
import { ButtonComponent } from '../components/button/button.component';
|
6
|
-
import {
|
7
|
+
import { ReactiveFormsModule, Validators, } from '@angular/forms';
|
7
8
|
import { MstateAngularHelper } from '../mstate-angular.helper';
|
9
|
+
import { LoaderComponent } from '../components/loader/loader.component';
|
8
10
|
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "
|
10
|
-
import * as i2 from "../mstate-angular.
|
11
|
-
import * as i3 from "
|
11
|
+
import * as i1 from "@angular/forms";
|
12
|
+
import * as i2 from "../mstate-angular.service";
|
13
|
+
import * as i3 from "../mstate-angular.helper";
|
12
14
|
export class ActionFormComponent {
|
13
|
-
constructor(mstateAngularService,
|
15
|
+
constructor(fb, mstateAngularService, mstateHelper) {
|
16
|
+
this.fb = fb;
|
14
17
|
this.mstateAngularService = mstateAngularService;
|
15
|
-
this.
|
18
|
+
this.mstateHelper = mstateHelper;
|
16
19
|
this.token = '';
|
17
20
|
this.workflow = '';
|
18
21
|
this.config = {
|
@@ -20,23 +23,23 @@ export class ActionFormComponent {
|
|
20
23
|
type: ActionType.MANUAL,
|
21
24
|
steps: [],
|
22
25
|
};
|
23
|
-
this.onExecuteAction = ()
|
24
|
-
|
25
|
-
this.
|
26
|
-
this.mstateModel = {};
|
26
|
+
this.onExecuteAction = new EventEmitter();
|
27
|
+
this.isLoading = false;
|
28
|
+
this.nonUserInputField = {};
|
27
29
|
this.handleStepConfigFilter = () => {
|
28
30
|
const keyForAPISet = new Set();
|
29
|
-
this.config.steps = this.config?.steps?.filter(stepConfig => {
|
31
|
+
this.config.steps = this.config?.steps?.filter((stepConfig) => {
|
30
32
|
const step = stepConfig;
|
31
33
|
switch (step?.module) {
|
32
34
|
case ManualStepModule.CUSTOM_FIELD: {
|
33
35
|
if (this.updateCustomFieldValue) {
|
34
|
-
this.
|
36
|
+
this.nonUserInputField[step?.context?.as] =
|
37
|
+
this.updateCustomFieldValue(step?.context?.key);
|
35
38
|
}
|
36
39
|
return true;
|
37
40
|
}
|
38
41
|
case ManualStepModule.CONTEXT_FIELD:
|
39
|
-
this.
|
42
|
+
this.nonUserInputField[step?.context?.as] = step?.context?.value;
|
40
43
|
return true;
|
41
44
|
default: {
|
42
45
|
const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);
|
@@ -52,45 +55,80 @@ export class ActionFormComponent {
|
|
52
55
|
this.handleExecuteAction();
|
53
56
|
return;
|
54
57
|
}
|
58
|
+
this.assignFormBuilder();
|
55
59
|
this.handleStepConfigFilter();
|
56
60
|
}
|
57
|
-
ngOnChanges(changes) {
|
58
|
-
console.log({ changes });
|
59
|
-
if (this.mstateAngularHelper.detectChange(changes, ['mstateModel'])) {
|
60
|
-
}
|
61
|
-
}
|
62
61
|
//#region handlers
|
63
62
|
handleExecuteAction() {
|
64
|
-
this.
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
63
|
+
if (this.form.status === 'VALID') {
|
64
|
+
this.isLoading = true;
|
65
|
+
this.mstateAngularService
|
66
|
+
.executeAction({
|
67
|
+
action: {
|
68
|
+
name: this.config.name,
|
69
|
+
payload: {
|
70
|
+
...this.form.value,
|
71
|
+
...this.nonUserInputField,
|
72
|
+
},
|
73
|
+
},
|
74
|
+
token: this.token,
|
75
|
+
workflow: this.workflow,
|
76
|
+
})
|
77
|
+
.pipe(catchError((e) => {
|
78
|
+
this.onExecuteAction.emit({
|
79
|
+
value: {},
|
80
|
+
errors: e.error?.errors ?? [],
|
81
|
+
});
|
82
|
+
throw e;
|
83
|
+
}), finalize(() => {
|
84
|
+
this.isLoading = false;
|
85
|
+
}))
|
86
|
+
.subscribe((data) => {
|
87
|
+
this.onExecuteAction.emit({
|
88
|
+
value: data.data,
|
89
|
+
errors: [],
|
90
|
+
});
|
91
|
+
if (this.onSuccess) {
|
92
|
+
this.onSuccess(this.config.name);
|
93
|
+
}
|
94
|
+
});
|
95
|
+
}
|
96
|
+
else {
|
97
|
+
this.markAllAsTouched(this.form);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
markAllAsTouched(formGroup) {
|
101
|
+
Object.keys(formGroup.controls).forEach((key) => {
|
102
|
+
const control = formGroup.get(key);
|
103
|
+
if (control?.markAsTouched) {
|
104
|
+
control?.markAsTouched();
|
105
|
+
}
|
106
|
+
});
|
107
|
+
}
|
108
|
+
assignFormBuilder() {
|
109
|
+
const validators = this.config.steps.reduce((acc, data) => Object.assign(acc, this.mstateHelper.checkIsStep(data) === false &&
|
110
|
+
this.mstateHelper.checkIsHandledStep(data.fieldType)
|
111
|
+
? {
|
112
|
+
[data?.field?.keyForAPI]: [
|
113
|
+
data?.field.multiple ? [] : '',
|
114
|
+
data?.field?.isRequired ? [Validators.required] : undefined,
|
115
|
+
],
|
116
|
+
}
|
117
|
+
: {}), {});
|
118
|
+
this.form = this.fb.group(validators);
|
86
119
|
}
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i1.
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config",
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MstateAngularService }, { token: i3.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID", onSuccess: "onSuccess" }, outputs: { onExecuteAction: "onExecuteAction" }, providers: [MstateAngularService, MstateAngularHelper], ngImport: i0, template: "<div>\r\n <p style=\"font-size: 2rem; text-align: center\">\r\n {{ config.meta?.title ?? config.name }}\r\n </p>\r\n\r\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\r\n }\r\n\r\n <div style=\"margin-top: 10px\">\r\n <mobi-office-button type=\"submit\">\r\n @if (isLoading) {\r\n <mobi-office-loader></mobi-office-loader>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: ["form{display:flex;flex-direction:column}label{margin-bottom:5px}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
|
89
122
|
}
|
90
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
91
124
|
type: Component,
|
92
|
-
args: [{ selector: 'lib-action-form', standalone: true, imports: [
|
93
|
-
|
125
|
+
args: [{ selector: 'lib-action-form', standalone: true, imports: [
|
126
|
+
InputSelectorComponent,
|
127
|
+
ButtonComponent,
|
128
|
+
ReactiveFormsModule,
|
129
|
+
LoaderComponent,
|
130
|
+
], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\r\n <p style=\"font-size: 2rem; text-align: center\">\r\n {{ config.meta?.title ?? config.name }}\r\n </p>\r\n\r\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\r\n }\r\n\r\n <div style=\"margin-top: 10px\">\r\n <mobi-office-button type=\"submit\">\r\n @if (isLoading) {\r\n <mobi-office-loader></mobi-office-loader>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: ["form{display:flex;flex-direction:column}label{margin-bottom:5px}\n"] }]
|
131
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MstateAngularService }, { type: i3.MstateAngularHelper }], propDecorators: { token: [{
|
94
132
|
type: Input,
|
95
133
|
args: [{ required: true }]
|
96
134
|
}], workflow: [{
|
@@ -100,8 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
100
138
|
type: Input,
|
101
139
|
args: [{ required: true }]
|
102
140
|
}], onExecuteAction: [{
|
103
|
-
type:
|
104
|
-
args: [{ required: true }]
|
141
|
+
type: Output
|
105
142
|
}], updateCustomFieldValue: [{
|
106
143
|
type: Input
|
107
144
|
}], instanceID: [{
|
@@ -109,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
109
146
|
}], onSuccess: [{
|
110
147
|
type: Input
|
111
148
|
}] } });
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQVUvRCxNQUFNLE9BQU8sbUJBQW1CO0lBcUI5QixZQUNVLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFEeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEJ2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsV0FBTSxHQUFtQztZQUNsRSxJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDeUIsb0JBQWUsR0FHOUIsR0FBRyxFQUFF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LGVBQWU7OzRGQUtuRCxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsQ0FBQyxhQUNwRCxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixDQUFDOzJIQUszQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLRSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJaEIsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBJbnB1dFNlbGVjdG9yQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW01zdGF0ZUFuZ3VsYXJTZXJ2aWNlLCBNc3RhdGVBbmd1bGFySGVscGVyXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRva2VuOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnOiBBY3Rpb25Db25maWcgfCBFdmFsdWF0ZWRBY3Rpb24gPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxyXG4gICAgc3RlcHM6IFtdLFxyXG4gIH07XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgb25FeGVjdXRlQWN0aW9uOiAoXHJcbiAgICByZXNwb25zZTogYW55LFxyXG4gICAgZXJyb3JzPzogc3RyaW5nW11cclxuICApID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiB1bmtub3duO1xyXG5cclxuICBASW5wdXQoKSBpbnN0YW5jZUlEPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9uU3VjY2Vzcz86IChhY3Rpb25OYW1lOiBzdHJpbmcpID0+IHZvaWQ7XHJcblxyXG4gIC8vI3JlZ2lvbiBDdXN0b20gRGVjbGFyYXRpb25cclxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBwcm90ZWN0ZWQgbXN0YXRlTW9kZWw6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFySGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChCb29sZWFuKHRoaXMuY29uZmlnPy5zdGVwcz8ubGVuZ3RoKSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5oYW5kbGVFeGVjdXRlQWN0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhhbmRsZVN0ZXBDb25maWdGaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHsgY2hhbmdlcyB9KTtcclxuICAgIGlmICh0aGlzLm1zdGF0ZUFuZ3VsYXJIZWxwZXIuZGV0ZWN0Q2hhbmdlKGNoYW5nZXMsIFsnbXN0YXRlTW9kZWwnXSkpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBoYW5kbGVyc1xyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRXhlY3V0ZUFjdGlvbigpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubXN0YXRlTW9kZWwpO1xyXG4gICAgLy8gdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgLy8gICAuZXhlY3V0ZUFjdGlvbih7XHJcbiAgICAvLyAgICAgYWN0aW9uOiB7XHJcbiAgICAvLyAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgLy8gICAgICAgcGF5bG9hZDogdGhpcy5tc3RhdGVNb2RlbCxcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHRva2VuOiB0aGlzLnRva2VuLFxyXG4gICAgLy8gICAgIHdvcmtmbG93OiB0aGlzLndvcmtmbG93LFxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gICAucGlwZShcclxuICAgIC8vICAgICBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgLy8gICAgICAgdGhyb3cgZTtcclxuICAgIC8vICAgICB9KSxcclxuICAgIC8vICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIClcclxuICAgIC8vICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgIC8vICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbihkYXRhLmRhdGEpO1xyXG4gICAgLy8gICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU3RlcENvbmZpZ0ZpbHRlciA9ICgpID0+IHtcclxuICAgIGNvbnN0IGtleUZvckFQSVNldCA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICB0aGlzLmNvbmZpZy5zdGVwcyA9IHRoaXMuY29uZmlnPy5zdGVwcz8uZmlsdGVyKHN0ZXBDb25maWcgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5tc3RhdGVNb2RlbFtzdGVwPy5jb250ZXh0Py5hc10gPSB0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUoXHJcbiAgICAgICAgICAgICAgc3RlcD8uY29udGV4dD8ua2V5XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DT05URVhUX0ZJRUxEOlxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVNb2RlbFtzdGVwPy5jb250ZXh0Py5hc10gPSBzdGVwPy5jb250ZXh0Py52YWx1ZTtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IGtleUZvckFQSVNldC5oYXMoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XHJcbiAgICAgICAgICBrZXlGb3JBUElTZXQuYWRkKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID09PSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pIGFzIFVzZXJJbnB1dFtdO1xyXG4gIH07XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGg0Pnt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fTwvaDQ+XHJcblxyXG4gIDxmb3JtICN1c2VyRm9ybT1cIm5nRm9ybVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJtc3RhdGVNb2RlbFwiIC8+XHJcbiAgICB9XHJcbiAgPC9mb3JtPlxyXG5cclxuICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKClcIlxyXG4gICAgPlN1Ym1pdDwvbW9iaS1vZmZpY2UtYnV0dG9uXHJcbiAgPlxyXG48L2Rpdj5cclxuIl19
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXhCaEIsVUFBSyxHQUFXLEVBQUUs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QWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLGVBQWU7c0JBQXhCLE1BQU07Z0JBSUUsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW5wdXRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZSwgTXN0YXRlQW5ndWxhckhlbHBlcl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc6IEFjdGlvbkNvbmZpZyB8IEV2YWx1YXRlZEFjdGlvbiA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogQWN0aW9uVHlwZS5NQU5VQUwsXHJcbiAgICBzdGVwczogW10sXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgb25FeGVjdXRlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgZXJyb3JzPzogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb25TdWNjZXNzPzogKGFjdGlvbk5hbWU6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgLy8jcmVnaW9uIEN1c3RvbSBEZWNsYXJhdGlvblxyXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgbm9uVXNlcklucHV0RmllbGQ6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXNzaWduRm9ybUJ1aWxkZXIoKTtcclxuICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIGhhbmRsZXJzXHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5zdGF0dXMgPT09ICdWQUxJRCcpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcclxuICAgICAgICAgIGFjdGlvbjoge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICAgIC4uLnRoaXMubm9uVXNlcklucHV0RmllbGQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXHJcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgICB2YWx1ZToge30sXHJcbiAgICAgICAgICAgICAgZXJyb3JzOiBlLmVycm9yPy5lcnJvcnMgPz8gW10sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMub25FeGVjdXRlQWN0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5kYXRhLFxyXG4gICAgICAgICAgICBlcnJvcnM6IFtdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vblN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3ModGhpcy5jb25maWcubmFtZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xyXG4gICAgICAgIGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBrZXlGb3JBUElTZXQgPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZShzdGVwPy5jb250ZXh0Py5rZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcclxuICAgICAgICAgIHRoaXMubm9uVXNlcklucHV0RmllbGRbc3RlcD8uY29udGV4dD8uYXNdID0gc3RlcD8uY29udGV4dD8udmFsdWU7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcclxuICAgICAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA9PT0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSBhcyBVc2VySW5wdXRbXTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFzc2lnbkZvcm1CdWlsZGVyKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcclxuICAgICAgKGFjYywgZGF0YSkgPT5cclxuICAgICAgICBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgICAgYWNjLFxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNIYW5kbGVkU3RlcChkYXRhLmZpZWxkVHlwZSlcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcclxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQubXVsdGlwbGUgPyBbXSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZD8uaXNSZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6IHt9LFxyXG4gICAgICAgICksXHJcbiAgICAgIHt9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxyXG4gIDwvcD5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJmb3JtXCIgLz5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxyXG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgPG1vYmktb2ZmaWNlLWxvYWRlcj48L21vYmktb2ZmaWNlLWxvYWRlcj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgIH1cclxuICAgICAgPC9tb2JpLW9mZmljZS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -1,5 +1,5 @@
|
|
1
|
-
// export const MSTATE_URL = 'https://dev.mstate.mobioffice.io/api';
|
1
|
+
// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';
|
2
2
|
// export const MSTATE_URL = 'http://localhost:3000/api';
|
3
3
|
export const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';
|
4
4
|
export const TOKEN_KEY = 'secret-key';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbW1vbi9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBVyxzQ0FBc0MsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2Rldi5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG4vLyBleHBvcnQgY29uc3QgTVNUQVRFX1VSTCA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvYXBpJztcclxuZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2FwaS5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG5leHBvcnQgY29uc3QgVE9LRU5fS0VZOiBzdHJpbmcgPSAnc2VjcmV0LWtleSc7XHJcbiJdfQ==
|
@@ -1,23 +1,24 @@
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
|
+
import { ButtonComponent } from '../button/button.component';
|
3
4
|
import * as i0 from "@angular/core";
|
4
5
|
export class ActionCardComponent {
|
5
6
|
constructor() {
|
6
|
-
this.
|
7
|
+
this.executeAction = new EventEmitter();
|
7
8
|
}
|
8
|
-
|
9
|
-
this.
|
9
|
+
triggerExecuteAction() {
|
10
|
+
this.executeAction.emit(this.config);
|
10
11
|
}
|
11
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: {
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"img\"></div>\n <div class=\"card-action\">\n <mobi-office-button (click)=\"triggerExecuteAction()\">\n perform\n </mobi-office-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
|
13
14
|
}
|
14
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
|
15
16
|
type: Component,
|
16
|
-
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule], template: "<
|
17
|
-
}], propDecorators: {
|
17
|
+
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\">\n <div class=\"img\"></div>\n <div class=\"card-action\">\n <mobi-office-button (click)=\"triggerExecuteAction()\">\n perform\n </mobi-office-button>\n </div>\n</div>\n" }]
|
18
|
+
}], propDecorators: { config: [{
|
18
19
|
type: Input,
|
19
20
|
args: [{ required: true }]
|
20
|
-
}],
|
21
|
+
}], executeAction: [{
|
21
22
|
type: Output
|
22
23
|
}] } });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFTWSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0tBSzlFO0lBSEMsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQU5VLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhKQ2JoQyw2TUFRQSx5RERDWSxZQUFZLCtCQUFFLGVBQWU7OzRGQUk1QixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBS2IsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZhbHVhdGVkQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYWN0aW9uLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25DYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnPzogRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnO1xuICBAT3V0cHV0KCkgZXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnPigpO1xuXG4gIHRyaWdnZXJFeGVjdXRlQWN0aW9uKCkge1xuICAgIHRoaXMuZXhlY3V0ZUFjdGlvbi5lbWl0KHRoaXMuY29uZmlnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cImltZ1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1hY3Rpb25cIj5cbiAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJ0cmlnZ2VyRXhlY3V0ZUFjdGlvbigpXCI+XG4gICAgICBwZXJmb3JtXG4gICAgPC9tb2JpLW9mZmljZS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -1,12 +1,20 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export class ButtonComponent {
|
5
|
+
constructor() {
|
6
|
+
this.type = 'submit';
|
7
|
+
this.onClick = () => { };
|
8
|
+
}
|
5
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", ngImport: i0, template: "<button>\n <ng-content></ng-content>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: [".btn{width:100%;display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border:1px solid #007bff;padding:10px 20px;font-size:16px;border-radius:4px;text-align:center;cursor:pointer;transition:all .3s ease}.btn:hover{background-color:#0056b3;border-color:#0056b3}.btn:focus{outline:none;box-shadow:0 0 0 .2rem #007bff40}.btn:active{background-color:#004085;border-color:#036}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
7
11
|
}
|
8
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
9
13
|
type: Component,
|
10
|
-
args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button>\n <ng-content></ng-content>\n</button>\n" }]
|
11
|
-
}]
|
12
|
-
|
14
|
+
args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: [".btn{width:100%;display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border:1px solid #007bff;padding:10px 20px;font-size:16px;border-radius:4px;text-align:center;cursor:pointer;transition:all .3s ease}.btn:hover{background-color:#0056b3;border-color:#0056b3}.btn:focus{outline:none;box-shadow:0 0 0 .2rem #007bff40}.btn:active{background-color:#004085;border-color:#036}\n"] }]
|
15
|
+
}], propDecorators: { type: [{
|
16
|
+
type: Input
|
17
|
+
}], onClick: [{
|
18
|
+
type: Input
|
19
|
+
}] } });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRVyxTQUFJLEdBQTJDLFFBQVEsQ0FBQztRQUN4RCxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ3pDOytHQUhZLGVBQWU7bUdBQWYsZUFBZSw0SENWNUIsd0dBR0Esb2RER1ksWUFBWTs7NEZBSVgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQUtkLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnc3VibWl0JyB8ICdtZW51JyB8ICdyZXNldCcgfCAnYnV0dG9uJyA9ICdzdWJtaXQnO1xuICBASW5wdXQoKSBvbkNsaWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG59XG4iLCI8YnV0dG9uIFt0eXBlXT1cInR5cGVcIiAoY2xpY2spPVwib25DbGljaygpXCIgY2xhc3M9XCJidG5cIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
|
-
import {
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
4
|
import { MstateAngularService } from '../../mstate-angular.service';
|
5
5
|
import { NgSelectModule } from '@ng-select/ng-select';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -31,12 +31,15 @@ export class DropdownComponent {
|
|
31
31
|
getObjectValue(obj, target) {
|
32
32
|
return this.mstateHelper.getObjectValue(obj, target);
|
33
33
|
}
|
34
|
+
checkInputError(form, key) {
|
35
|
+
return this.mstateHelper.checkInputError(form, key);
|
36
|
+
}
|
34
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.MstateAngularService }, { token: i2.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "mobi-office-dropdown", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
|
36
39
|
}
|
37
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
38
41
|
type: Component,
|
39
|
-
args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [
|
42
|
+
args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [ReactiveFormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n" }]
|
40
43
|
}], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
|
41
44
|
type: Input,
|
42
45
|
args: [{ required: true }]
|
@@ -44,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
44
47
|
type: Input,
|
45
48
|
args: [{ required: true }]
|
46
49
|
}] } });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFVdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNVLGFBQW1DLEVBQ25DLFlBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFHakMsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUZ4QixDQUFDO0lBSUosUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYTtpQkFDZixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztpQkFDN0QsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWUsRUFBRSxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLDZIQUpqQixDQUFDLG9CQUFvQixDQUFDLDBCQ1puQywrakJBbUJBLHlERFJZLG1CQUFtQixnekJBQUUsY0FBYyxrL0JBQUUsWUFBWTs7NEZBS2hELGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxhQUNqRCxDQUFDLG9CQUFvQixDQUFDOzJIQUtOLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXNlcklucHV0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vYmktb2ZmaWNlLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1zdGF0ZVNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXG4gICkge31cblxuICBwcm90ZWN0ZWQgbGlzdDogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuY29uZmlnLmZpZWxkID8/IHt9O1xuXG4gICAgaWYgKGZpZWxkLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMubXN0YXRlU2VydmljZVxuICAgICAgICAuaGFuZGxlRHJvcGRvd25BUEkoZmllbGQucmVxdWVzdCwgZmllbGQ/Lm1hcHBlcj8udGFyZ2V0ID8/ICcnKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGE7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QgPSBmaWVsZC5pdGVtTGlzdCA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRPYmplY3RWYWx1ZShvYmo6IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuZ2V0T2JqZWN0VmFsdWUob2JqLCB0YXJnZXQpO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJtc3RhdGVNb2RlbFwiPlxuICA8bGFiZWw+e3sgY29uZmlnLmxhYmVsIH19PC9sYWJlbD5cblxuICA8bmctc2VsZWN0XG4gICAgW2l0ZW1zXT1cImxpc3RcIlxuICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgW2JpbmRMYWJlbF09XCJ0aGlzLmNvbmZpZy5maWVsZC5tYXBwZXI/LmxhYmVsID8/ICdsYWJlbCdcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcuZmllbGQucGxhY2Vob2xkZXJcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmZpZWxkLmtleUZvckFQSVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgPlxuICA8L25nLXNlbGVjdD5cblxuICBAaWYgKGNoZWNrSW5wdXRFcnJvcihtc3RhdGVNb2RlbCwgY29uZmlnLmZpZWxkLmtleUZvckFQSSkuaXNFcnJvcikge1xuICA8c21hbGw+e3tcbiAgICBjaGVja0lucHV0RXJyb3IobXN0YXRlTW9kZWwsIGNvbmZpZy5maWVsZC5rZXlGb3JBUEkpLm1lc3NhZ2VcbiAgfX08L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
2
|
+
import { ButtonComponent } from '../button/button.component';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class ErrorCardComponent {
|
5
|
+
constructor() {
|
6
|
+
this.retry = new EventEmitter();
|
7
|
+
}
|
8
|
+
handleRetryError() {
|
9
|
+
this.retry.emit();
|
10
|
+
}
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\r\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\r\n\r\n @for (message of errors; track message) {\r\n <small>\r\n {{ message }}\r\n </small>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
|
13
|
+
}
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
|
15
|
+
type: Component,
|
16
|
+
args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\r\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\r\n\r\n @for (message of errors; track message) {\r\n <small>\r\n {{ message }}\r\n </small>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n" }]
|
17
|
+
}], propDecorators: { errors: [{
|
18
|
+
type: Input,
|
19
|
+
args: [{ required: true }]
|
20
|
+
}], retry: [{
|
21
|
+
type: Output
|
22
|
+
}] } });
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFTWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUtqRDtJQUhXLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUlDVi9CLHdTQVVBLDBEREpZLGVBQWU7OzRGQUlkLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUM7OEJBS0MsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZXJyb3ItY2FyZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3ItY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLWNhcmQuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JDYXJkQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBlcnJvcnMhOiBzdHJpbmdbXTtcclxuICBAT3V0cHV0KCkgcmV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5RXJyb3IoKSB7XHJcbiAgICB0aGlzLnJldHJ5LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImVycm9yXCI+XHJcbiAgPHAgc3R5bGU9XCJmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlclwiPkVycm9yPC9wPlxyXG5cclxuICBAZm9yIChtZXNzYWdlIG9mIGVycm9yczsgdHJhY2sgbWVzc2FnZSkge1xyXG4gICAgPHNtYWxsPlxyXG4gICAgICB7eyBtZXNzYWdlIH19XHJcbiAgICA8L3NtYWxsPlxyXG4gIH1cclxuICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXRyeUVycm9yKClcIj5SZXRyeTwvbW9iaS1vZmZpY2UtYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
|
@@ -1,20 +1,27 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
|
-
import {
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "
|
5
|
+
import * as i1 from "../../mstate-angular.helper";
|
6
|
+
import * as i2 from "@angular/forms";
|
6
7
|
export class InputFieldComponent {
|
7
|
-
|
8
|
-
|
8
|
+
constructor(mstateHelper) {
|
9
|
+
this.mstateHelper = mstateHelper;
|
10
|
+
}
|
11
|
+
checkInputError(form, key) {
|
12
|
+
return this.mstateHelper.checkInputError(form, key);
|
13
|
+
}
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, deps: [{ token: i1.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputFieldComponent, isStandalone: true, selector: "mobi-office-input-field", inputs: { config: "config", mstateModel: "mstateModel" }, ngImport: i0, template: "<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
9
16
|
}
|
10
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, decorators: [{
|
11
18
|
type: Component,
|
12
|
-
args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule,
|
13
|
-
}], propDecorators: { config: [{
|
19
|
+
args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n" }]
|
20
|
+
}], ctorParameters: () => [{ type: i1.MstateAngularHelper }], propDecorators: { config: [{
|
14
21
|
type: Input,
|
15
22
|
args: [{ required: true }]
|
16
23
|
}], mstateModel: [{
|
17
24
|
type: Input,
|
18
25
|
args: [{ required: true }]
|
19
26
|
}] } });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFVaEUsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELGVBQWUsQ0FBQyxJQUFlLEVBQUUsR0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQVJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZJQ2JoQyw4bUJBcUJBLHlERFpZLFlBQVksOEJBQUUsbUJBQW1COzs0RkFJaEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7d0ZBS2pCLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1pbnB1dC1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcikge31cblxuICBjaGVja0lucHV0RXJyb3IoZm9ybTogRm9ybUdyb3VwLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lucHV0RXJyb3IoZm9ybSwga2V5KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICBbZm9ybUdyb3VwXT1cIm1zdGF0ZU1vZGVsXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCJcbj5cbiAgPGxhYmVsPnt7IGNvbmZpZy5sYWJlbCB9fTwvbGFiZWw+XG4gIDxpbnB1dFxuICAgIHN0eWxlPVwiZmxleDogMVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbdHlwZV09XCJjb25maWcuaW5wdXRUeXBlXCJcbiAgICBbbmFtZV09XCJjb25maWcuZmllbGQua2V5Rm9yQVBJXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgLz5cbiAgQGlmIChjaGVja0lucHV0RXJyb3IobXN0YXRlTW9kZWwsIGNvbmZpZy5maWVsZC5rZXlGb3JBUEkpLmlzRXJyb3IpIHtcbiAgPHNtYWxsPnt7XG4gICAgY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5tZXNzYWdlXG4gIH19PC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
|
@@ -3,10 +3,10 @@ import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export class LoaderComponent {
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<span>Loading...</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
7
7
|
}
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
|
9
9
|
type: Component,
|
10
|
-
args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<
|
10
|
+
args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<span>Loading...</span>\n" }]
|
11
11
|
}] });
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLDJCQUNBLHlEREtZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8c3Bhbj5Mb2FkaW5nLi4uPC9zcGFuPlxuIl19
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
|
-
import {
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
4
|
import { MstateAngularService } from '../../mstate-angular.service';
|
5
5
|
import { NgSelectModule } from '@ng-select/ng-select';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -31,12 +31,15 @@ export class SelectComponent {
|
|
31
31
|
getObjectValue(obj, target) {
|
32
32
|
return this.mstateHelper.getObjectValue(obj, target);
|
33
33
|
}
|
34
|
+
checkInputError(form, key) {
|
35
|
+
return this.mstateHelper.checkInputError(form, key);
|
36
|
+
}
|
34
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [{ token: i1.MstateAngularService }, { token: i2.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectComponent, isStandalone: true, selector: "mobi-office-select", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
|
36
39
|
}
|
37
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
|
38
41
|
type: Component,
|
39
|
-
args: [{ selector: 'mobi-office-select', standalone: true, imports: [
|
42
|
+
args: [{ selector: 'mobi-office-select', standalone: true, imports: [ReactiveFormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"] }]
|
40
43
|
}], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
|
41
44
|
type: Input,
|
42
45
|
args: [{ required: true }]
|
@@ -44,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
44
47
|
type: Input,
|
45
48
|
args: [{ required: true }]
|
46
49
|
}] } });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVV0RCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLGFBQW1DLEVBQ25DLFlBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFHakMsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUZ4QixDQUFDO0lBSUosUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYTtpQkFDZixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztpQkFDN0QsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWUsRUFBRSxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBaENVLGVBQWU7bUdBQWYsZUFBZSwySEFKZixDQUFDLG9CQUFvQixDQUFDLDBCQ1puQyw4akJBbUJBLDZnQkRSWSxtQkFBbUIsZ3pCQUFFLGNBQWMsay9CQUFFLFlBQVk7OzRGQUtoRCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLGFBQ2pELENBQUMsb0JBQW9CLENBQUM7MkhBS04sTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VySW5wdXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2Utc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1zdGF0ZVNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXG4gICkge31cblxuICBwcm90ZWN0ZWQgbGlzdDogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuY29uZmlnLmZpZWxkID8/IHt9O1xuXG4gICAgaWYgKGZpZWxkLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMubXN0YXRlU2VydmljZVxuICAgICAgICAuaGFuZGxlRHJvcGRvd25BUEkoZmllbGQucmVxdWVzdCwgZmllbGQ/Lm1hcHBlcj8udGFyZ2V0ID8/ICcnKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGE7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QgPSBmaWVsZC5pdGVtTGlzdCA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRPYmplY3RWYWx1ZShvYmo6IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuZ2V0T2JqZWN0VmFsdWUob2JqLCB0YXJnZXQpO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJtc3RhdGVNb2RlbFwiPlxuICA8bGFiZWw+e3sgY29uZmlnLmxhYmVsIH19PC9sYWJlbD5cblxuICA8bmctc2VsZWN0XG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbaXRlbXNdPVwibGlzdFwiXG4gICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgIFtiaW5kTGFiZWxdPVwidGhpcy5jb25maWcuZmllbGQubWFwcGVyPy5sYWJlbCA/PyAnbGFiZWwnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICA+XG4gIDwvbmctc2VsZWN0PlxuXG4gIEBpZiAoY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5pc0Vycm9yKSB7XG4gIDxzbWFsbD57e1xuICAgIGNoZWNrSW5wdXRFcnJvcihtc3RhdGVNb2RlbCwgY29uZmlnLmZpZWxkLmtleUZvckFQSSkubWVzc2FnZVxuICB9fTwvc21hbGw+XG4gIH1cbjwvZGl2PlxuIl19
|