mstate-angular 0.2.1 → 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 +149 -0
- package/esm2022/lib/common/constant.mjs +5 -0
- package/esm2022/lib/common/enum.mjs +48 -0
- package/esm2022/lib/components/action-card/action-card.component.mjs +24 -0
- package/esm2022/lib/components/button/button.component.mjs +20 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +50 -0
- package/esm2022/lib/components/error-card/error-card.component.mjs +23 -0
- package/esm2022/lib/components/input-field/input-field.component.mjs +27 -0
- package/esm2022/lib/components/loader/loader.component.mjs +12 -0
- package/esm2022/lib/components/select/select.component.mjs +50 -0
- package/esm2022/lib/components/workflow-end-card/workflow-end-card.component.mjs +11 -0
- package/esm2022/lib/input-selector/input-selector.component.mjs +42 -0
- package/esm2022/lib/interfaces/api.interface.mjs +2 -0
- package/esm2022/lib/interfaces/interface.mjs +2 -0
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +155 -0
- package/esm2022/lib/mstate-angular.helper.mjs +61 -0
- package/esm2022/lib/mstate-angular.module.mjs +18 -0
- package/esm2022/lib/mstate-angular.service.mjs +50 -0
- package/esm2022/mstate-angular.mjs +5 -0
- package/esm2022/public-api.mjs +6 -0
- package/fesm2022/mstate-angular.mjs +673 -0
- package/fesm2022/mstate-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-form/action-form.component.d.ts +33 -0
- package/lib/common/constant.d.ts +2 -0
- package/lib/common/enum.d.ts +41 -0
- package/lib/components/action-card/action-card.component.d.ts +11 -0
- package/lib/components/button/button.component.d.ts +7 -0
- package/lib/components/dropdown/dropdown.component.d.ts +22 -0
- package/lib/components/error-card/error-card.component.d.ts +9 -0
- package/lib/components/input-field/input-field.component.d.ts +16 -0
- package/lib/components/loader/loader.component.d.ts +5 -0
- package/lib/components/select/select.component.d.ts +22 -0
- package/lib/components/workflow-end-card/workflow-end-card.component.d.ts +5 -0
- package/lib/input-selector/input-selector.component.d.ts +21 -0
- package/{src/lib/interfaces/api.interface.ts → lib/interfaces/api.interface.d.ts} +42 -51
- package/lib/interfaces/interface.d.ts +73 -0
- package/lib/mstate-angular/mstate-angular.component.d.ts +72 -0
- package/lib/mstate-angular.helper.d.ts +18 -0
- package/lib/mstate-angular.module.d.ts +9 -0
- package/lib/mstate-angular.service.d.ts +17 -0
- package/package.json +27 -14
- package/{src/public-api.ts → public-api.d.ts} +2 -6
- package/ng-package.json +0 -7
- package/src/lib/action-form/action-form.component.html +0 -13
- package/src/lib/action-form/action-form.component.scss +0 -0
- package/src/lib/action-form/action-form.component.spec.ts +0 -23
- package/src/lib/action-form/action-form.component.ts +0 -124
- package/src/lib/common/constant.ts +0 -4
- package/src/lib/common/enum.ts +0 -46
- package/src/lib/components/action-card/action-card.component.html +0 -1
- package/src/lib/components/action-card/action-card.component.scss +0 -0
- package/src/lib/components/action-card/action-card.component.spec.ts +0 -21
- package/src/lib/components/action-card/action-card.component.ts +0 -21
- package/src/lib/components/button/button.component.html +0 -3
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +0 -21
- package/src/lib/components/button/button.component.ts +0 -11
- package/src/lib/components/dropdown/dropdown.component.html +0 -10
- package/src/lib/components/dropdown/dropdown.component.scss +0 -0
- package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
- package/src/lib/components/dropdown/dropdown.component.ts +0 -46
- package/src/lib/components/input-field/input-field.component.html +0 -9
- package/src/lib/components/input-field/input-field.component.scss +0 -0
- package/src/lib/components/input-field/input-field.component.spec.ts +0 -21
- package/src/lib/components/input-field/input-field.component.ts +0 -16
- package/src/lib/components/loader/loader.component.html +0 -1
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +0 -21
- package/src/lib/components/loader/loader.component.ts +0 -11
- package/src/lib/components/select/select.component.html +0 -10
- package/src/lib/components/select/select.component.scss +0 -43
- package/src/lib/components/select/select.component.spec.ts +0 -21
- package/src/lib/components/select/select.component.ts +0 -46
- package/src/lib/input-selector/input-selector.component.html +0 -23
- package/src/lib/input-selector/input-selector.component.scss +0 -0
- package/src/lib/input-selector/input-selector.component.spec.ts +0 -21
- package/src/lib/input-selector/input-selector.component.ts +0 -38
- package/src/lib/interfaces/interface.ts +0 -81
- package/src/lib/material.scss +0 -439
- package/src/lib/mstate-angular/mstate-angular.component.html +0 -40
- package/src/lib/mstate-angular/mstate-angular.component.scss +0 -36
- package/src/lib/mstate-angular/mstate-angular.component.spec.ts +0 -21
- package/src/lib/mstate-angular/mstate-angular.component.ts +0 -186
- package/src/lib/mstate-angular.helper.ts +0 -35
- package/src/lib/mstate-angular.module.ts +0 -9
- package/src/lib/mstate-angular.service.ts +0 -77
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
@@ -0,0 +1,149 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
+
import { MstateAngularService } from '../mstate-angular.service';
|
3
|
+
import { catchError, finalize } from 'rxjs';
|
4
|
+
import { ActionType, ManualStepModule } from '../common/enum';
|
5
|
+
import { InputSelectorComponent } from '../input-selector/input-selector.component';
|
6
|
+
import { ButtonComponent } from '../components/button/button.component';
|
7
|
+
import { ReactiveFormsModule, Validators, } from '@angular/forms';
|
8
|
+
import { MstateAngularHelper } from '../mstate-angular.helper';
|
9
|
+
import { LoaderComponent } from '../components/loader/loader.component';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
import * as i1 from "@angular/forms";
|
12
|
+
import * as i2 from "../mstate-angular.service";
|
13
|
+
import * as i3 from "../mstate-angular.helper";
|
14
|
+
export class ActionFormComponent {
|
15
|
+
constructor(fb, mstateAngularService, mstateHelper) {
|
16
|
+
this.fb = fb;
|
17
|
+
this.mstateAngularService = mstateAngularService;
|
18
|
+
this.mstateHelper = mstateHelper;
|
19
|
+
this.token = '';
|
20
|
+
this.workflow = '';
|
21
|
+
this.config = {
|
22
|
+
name: '',
|
23
|
+
type: ActionType.MANUAL,
|
24
|
+
steps: [],
|
25
|
+
};
|
26
|
+
this.onExecuteAction = new EventEmitter();
|
27
|
+
this.isLoading = false;
|
28
|
+
this.nonUserInputField = {};
|
29
|
+
this.handleStepConfigFilter = () => {
|
30
|
+
const keyForAPISet = new Set();
|
31
|
+
this.config.steps = this.config?.steps?.filter((stepConfig) => {
|
32
|
+
const step = stepConfig;
|
33
|
+
switch (step?.module) {
|
34
|
+
case ManualStepModule.CUSTOM_FIELD: {
|
35
|
+
if (this.updateCustomFieldValue) {
|
36
|
+
this.nonUserInputField[step?.context?.as] =
|
37
|
+
this.updateCustomFieldValue(step?.context?.key);
|
38
|
+
}
|
39
|
+
return true;
|
40
|
+
}
|
41
|
+
case ManualStepModule.CONTEXT_FIELD:
|
42
|
+
this.nonUserInputField[step?.context?.as] = step?.context?.value;
|
43
|
+
return true;
|
44
|
+
default: {
|
45
|
+
const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);
|
46
|
+
keyForAPISet.add(step?.field?.keyForAPI);
|
47
|
+
return isDuplicate === false;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
});
|
51
|
+
};
|
52
|
+
}
|
53
|
+
ngOnInit() {
|
54
|
+
if (Boolean(this.config?.steps?.length) === false) {
|
55
|
+
this.handleExecuteAction();
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
this.assignFormBuilder();
|
59
|
+
this.handleStepConfigFilter();
|
60
|
+
}
|
61
|
+
//#region handlers
|
62
|
+
handleExecuteAction() {
|
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);
|
119
|
+
}
|
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" }] }); }
|
122
|
+
}
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
124
|
+
type: Component,
|
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: [{
|
132
|
+
type: Input,
|
133
|
+
args: [{ required: true }]
|
134
|
+
}], workflow: [{
|
135
|
+
type: Input,
|
136
|
+
args: [{ required: true }]
|
137
|
+
}], config: [{
|
138
|
+
type: Input,
|
139
|
+
args: [{ required: true }]
|
140
|
+
}], onExecuteAction: [{
|
141
|
+
type: Output
|
142
|
+
}], updateCustomFieldValue: [{
|
143
|
+
type: Input
|
144
|
+
}], instanceID: [{
|
145
|
+
type: Input
|
146
|
+
}], onSuccess: [{
|
147
|
+
type: Input
|
148
|
+
}] } });
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXhCaEIsVUFBSyxHQUFXLEVBQUUs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QWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLGVBQWU7c0JBQXhCLE1BQU07Z0JBSUUsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW5wdXRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZSwgTXN0YXRlQW5ndWxhckhlbHBlcl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc6IEFjdGlvbkNvbmZpZyB8IEV2YWx1YXRlZEFjdGlvbiA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogQWN0aW9uVHlwZS5NQU5VQUwsXHJcbiAgICBzdGVwczogW10sXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgb25FeGVjdXRlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgZXJyb3JzPzogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb25TdWNjZXNzPzogKGFjdGlvbk5hbWU6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgLy8jcmVnaW9uIEN1c3RvbSBEZWNsYXJhdGlvblxyXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgbm9uVXNlcklucHV0RmllbGQ6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXNzaWduRm9ybUJ1aWxkZXIoKTtcclxuICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIGhhbmRsZXJzXHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5zdGF0dXMgPT09ICdWQUxJRCcpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcclxuICAgICAgICAgIGFjdGlvbjoge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICAgIC4uLnRoaXMubm9uVXNlcklucHV0RmllbGQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXHJcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgICB2YWx1ZToge30sXHJcbiAgICAgICAgICAgICAgZXJyb3JzOiBlLmVycm9yPy5lcnJvcnMgPz8gW10sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMub25FeGVjdXRlQWN0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5kYXRhLFxyXG4gICAgICAgICAgICBlcnJvcnM6IFtdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vblN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3ModGhpcy5jb25maWcubmFtZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xyXG4gICAgICAgIGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBrZXlGb3JBUElTZXQgPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZShzdGVwPy5jb250ZXh0Py5rZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcclxuICAgICAgICAgIHRoaXMubm9uVXNlcklucHV0RmllbGRbc3RlcD8uY29udGV4dD8uYXNdID0gc3RlcD8uY29udGV4dD8udmFsdWU7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcclxuICAgICAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA9PT0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSBhcyBVc2VySW5wdXRbXTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFzc2lnbkZvcm1CdWlsZGVyKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcclxuICAgICAgKGFjYywgZGF0YSkgPT5cclxuICAgICAgICBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgICAgYWNjLFxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNIYW5kbGVkU3RlcChkYXRhLmZpZWxkVHlwZSlcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcclxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQubXVsdGlwbGUgPyBbXSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZD8uaXNSZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6IHt9LFxyXG4gICAgICAgICksXHJcbiAgICAgIHt9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxyXG4gIDwvcD5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJmb3JtXCIgLz5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxyXG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgPG1vYmktb2ZmaWNlLWxvYWRlcj48L21vYmktb2ZmaWNlLWxvYWRlcj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgIH1cclxuICAgICAgPC9tb2JpLW9mZmljZS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -0,0 +1,5 @@
|
|
1
|
+
// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';
|
2
|
+
// export const MSTATE_URL = 'http://localhost:3000/api';
|
3
|
+
export const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';
|
4
|
+
export const TOKEN_KEY = 'secret-key';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbW1vbi9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBVyxzQ0FBc0MsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2Rldi5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG4vLyBleHBvcnQgY29uc3QgTVNUQVRFX1VSTCA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvYXBpJztcclxuZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2FwaS5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG5leHBvcnQgY29uc3QgVE9LRU5fS0VZOiBzdHJpbmcgPSAnc2VjcmV0LWtleSc7XHJcbiJdfQ==
|
@@ -0,0 +1,48 @@
|
|
1
|
+
export var Route;
|
2
|
+
(function (Route) {
|
3
|
+
Route["EXECUTE_ACTION"] = "workflow/v2/execute";
|
4
|
+
Route["GET_WORKFLOW_CONFIG"] = "workflow/config";
|
5
|
+
Route["GET_CURRENT_ACTIONS_WITHOUT_INSTANCE"] = "workflow/v2/actions";
|
6
|
+
Route["GET_CURRENT_ACTIONS_WITH_INSTANCE"] = "workflow/actions";
|
7
|
+
})(Route || (Route = {}));
|
8
|
+
export var FieldType;
|
9
|
+
(function (FieldType) {
|
10
|
+
FieldType["DATE_PICKER"] = "datePicker";
|
11
|
+
FieldType["TIME_PICKER"] = "timePicker";
|
12
|
+
FieldType["INPUT_FIELD"] = "inputField";
|
13
|
+
FieldType["TEXT_AREA"] = "textArea";
|
14
|
+
FieldType["CHECKBOX"] = "checkBox";
|
15
|
+
FieldType["RADIO_LIST"] = "radioList";
|
16
|
+
FieldType["DROP_DOWN"] = "dropDown";
|
17
|
+
FieldType["SUMMARY"] = "summary";
|
18
|
+
FieldType["CONTEXT_FIELD"] = "CONTEXT_FIELD";
|
19
|
+
FieldType["CUSTOM_FIELD"] = "CUSTOM_FIELD";
|
20
|
+
})(FieldType || (FieldType = {}));
|
21
|
+
export var ManualStepModule;
|
22
|
+
(function (ManualStepModule) {
|
23
|
+
ManualStepModule["CONTEXT_FIELD"] = "CONTEXT_FIELD";
|
24
|
+
ManualStepModule["CUSTOM_FIELD"] = "CUSTOM_FIELD";
|
25
|
+
ManualStepModule["USER_INPUT"] = "USER_INPUT";
|
26
|
+
})(ManualStepModule || (ManualStepModule = {}));
|
27
|
+
export var Theme;
|
28
|
+
(function (Theme) {
|
29
|
+
Theme["DARK"] = "dark";
|
30
|
+
Theme["LIGHT"] = "light";
|
31
|
+
Theme["SYSTEM"] = "system";
|
32
|
+
})(Theme || (Theme = {}));
|
33
|
+
export var Variable;
|
34
|
+
(function (Variable) {
|
35
|
+
Variable["WORKFLOW"] = "workflow";
|
36
|
+
Variable["TOKEN"] = "token";
|
37
|
+
Variable["INSTANCE_ID"] = "instanceID";
|
38
|
+
Variable["START"] = "start";
|
39
|
+
Variable["TRIGGER_AGAIN"] = "triggerAgain";
|
40
|
+
Variable["ERRORS"] = "errors";
|
41
|
+
})(Variable || (Variable = {}));
|
42
|
+
export var ActionType;
|
43
|
+
(function (ActionType) {
|
44
|
+
ActionType["MANUAL"] = "MANUAL";
|
45
|
+
ActionType["AUTO"] = "AUTO";
|
46
|
+
ActionType["CHAINED"] = "CHAINED";
|
47
|
+
})(ActionType || (ActionType = {}));
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tbW9uL2VudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksS0FLWDtBQUxELFdBQVksS0FBSztJQUNmLCtDQUFzQyxDQUFBO0lBQ3RDLGdEQUF1QyxDQUFBO0lBQ3ZDLHFFQUE0RCxDQUFBO0lBQzVELCtEQUFzRCxDQUFBO0FBQ3hELENBQUMsRUFMVyxLQUFLLEtBQUwsS0FBSyxRQUtoQjtBQUVELE1BQU0sQ0FBTixJQUFZLFNBV1g7QUFYRCxXQUFZLFNBQVM7SUFDbkIsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsbUNBQXNCLENBQUE7SUFDdEIsa0NBQXFCLENBQUE7SUFDckIscUNBQXdCLENBQUE7SUFDeEIsbUNBQXNCLENBQUE7SUFDdEIsZ0NBQW1CLENBQUE7SUFDbkIsNENBQStCLENBQUE7SUFDL0IsMENBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVhXLFNBQVMsS0FBVCxTQUFTLFFBV3BCO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixtREFBK0IsQ0FBQTtJQUMvQixpREFBNkIsQ0FBQTtJQUM3Qiw2Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELE1BQU0sQ0FBTixJQUFZLEtBSVg7QUFKRCxXQUFZLEtBQUs7SUFDZixzQkFBYSxDQUFBO0lBQ2Isd0JBQWUsQ0FBQTtJQUNmLDBCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxLQUFLLEtBQUwsS0FBSyxRQUloQjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDbEIsaUNBQXFCLENBQUE7SUFDckIsMkJBQWUsQ0FBQTtJQUNmLHNDQUEwQixDQUFBO0lBQzFCLDJCQUFlLENBQUE7SUFDZiwwQ0FBOEIsQ0FBQTtJQUM5Qiw2QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsUUFBUSxLQUFSLFFBQVEsUUFPbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7SUFDYixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBSb3V0ZSB7XHJcbiAgRVhFQ1VURV9BQ1RJT04gPSAnd29ya2Zsb3cvdjIvZXhlY3V0ZScsXHJcbiAgR0VUX1dPUktGTE9XX0NPTkZJRyA9ICd3b3JrZmxvdy9jb25maWcnLFxyXG4gIEdFVF9DVVJSRU5UX0FDVElPTlNfV0lUSE9VVF9JTlNUQU5DRSA9ICd3b3JrZmxvdy92Mi9hY3Rpb25zJyxcclxuICBHRVRfQ1VSUkVOVF9BQ1RJT05TX1dJVEhfSU5TVEFOQ0UgPSAnd29ya2Zsb3cvYWN0aW9ucycsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XHJcbiAgREFURV9QSUNLRVIgPSAnZGF0ZVBpY2tlcicsXHJcbiAgVElNRV9QSUNLRVIgPSAndGltZVBpY2tlcicsXHJcbiAgSU5QVVRfRklFTEQgPSAnaW5wdXRGaWVsZCcsXHJcbiAgVEVYVF9BUkVBID0gJ3RleHRBcmVhJyxcclxuICBDSEVDS0JPWCA9ICdjaGVja0JveCcsXHJcbiAgUkFESU9fTElTVCA9ICdyYWRpb0xpc3QnLFxyXG4gIERST1BfRE9XTiA9ICdkcm9wRG93bicsXHJcbiAgU1VNTUFSWSA9ICdzdW1tYXJ5JyxcclxuICBDT05URVhUX0ZJRUxEID0gJ0NPTlRFWFRfRklFTEQnLFxyXG4gIENVU1RPTV9GSUVMRCA9ICdDVVNUT01fRklFTEQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBNYW51YWxTdGVwTW9kdWxlIHtcclxuICBDT05URVhUX0ZJRUxEID0gJ0NPTlRFWFRfRklFTEQnLFxyXG4gIENVU1RPTV9GSUVMRCA9ICdDVVNUT01fRklFTEQnLFxyXG4gIFVTRVJfSU5QVVQgPSAnVVNFUl9JTlBVVCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRoZW1lIHtcclxuICBEQVJLID0gJ2RhcmsnLFxyXG4gIExJR0hUID0gJ2xpZ2h0JyxcclxuICBTWVNURU0gPSAnc3lzdGVtJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVmFyaWFibGUge1xyXG4gIFdPUktGTE9XID0gJ3dvcmtmbG93JyxcclxuICBUT0tFTiA9ICd0b2tlbicsXHJcbiAgSU5TVEFOQ0VfSUQgPSAnaW5zdGFuY2VJRCcsXHJcbiAgU1RBUlQgPSAnc3RhcnQnLFxyXG4gIFRSSUdHRVJfQUdBSU4gPSAndHJpZ2dlckFnYWluJyxcclxuICBFUlJPUlMgPSAnZXJyb3JzJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWN0aW9uVHlwZSB7XHJcbiAgTUFOVUFMID0gJ01BTlVBTCcsXHJcbiAgQVVUTyA9ICdBVVRPJyxcclxuICBDSEFJTkVEID0gJ0NIQUlORUQnLFxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { ButtonComponent } from '../button/button.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class ActionCardComponent {
|
6
|
+
constructor() {
|
7
|
+
this.executeAction = new EventEmitter();
|
8
|
+
}
|
9
|
+
triggerExecuteAction() {
|
10
|
+
this.executeAction.emit(this.config);
|
11
|
+
}
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
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"] }] }); }
|
14
|
+
}
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
|
16
|
+
type: Component,
|
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: [{
|
19
|
+
type: Input,
|
20
|
+
args: [{ required: true }]
|
21
|
+
}], executeAction: [{
|
22
|
+
type: Output
|
23
|
+
}] } });
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFTWSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0tBSzlFO0lBSEMsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQU5VLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhKQ2JoQyw2TUFRQSx5RERDWSxZQUFZLCtCQUFFLGVBQWU7OzRGQUk1QixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBS2IsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZhbHVhdGVkQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYWN0aW9uLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25DYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnPzogRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnO1xuICBAT3V0cHV0KCkgZXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnPigpO1xuXG4gIHRyaWdnZXJFeGVjdXRlQWN0aW9uKCkge1xuICAgIHRoaXMuZXhlY3V0ZUFjdGlvbi5lbWl0KHRoaXMuY29uZmlnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cImltZ1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1hY3Rpb25cIj5cbiAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJ0cmlnZ2VyRXhlY3V0ZUFjdGlvbigpXCI+XG4gICAgICBwZXJmb3JtXG4gICAgPC9tb2JpLW9mZmljZS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class ButtonComponent {
|
5
|
+
constructor() {
|
6
|
+
this.type = 'submit';
|
7
|
+
this.onClick = () => { };
|
8
|
+
}
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
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 }] }); }
|
11
|
+
}
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
13
|
+
type: Component,
|
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=
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { MstateAngularService } from '../../mstate-angular.service';
|
5
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../mstate-angular.service";
|
8
|
+
import * as i2 from "../../mstate-angular.helper";
|
9
|
+
import * as i3 from "@angular/forms";
|
10
|
+
import * as i4 from "@ng-select/ng-select";
|
11
|
+
export class DropdownComponent {
|
12
|
+
constructor(mstateService, mstateHelper) {
|
13
|
+
this.mstateService = mstateService;
|
14
|
+
this.mstateHelper = mstateHelper;
|
15
|
+
this.list = [];
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
const field = this.config.field ?? {};
|
19
|
+
if (field.request) {
|
20
|
+
this.mstateService
|
21
|
+
.handleDropdownAPI(field.request, field?.mapper?.target ?? '')
|
22
|
+
.then((data) => {
|
23
|
+
this.list = data;
|
24
|
+
})
|
25
|
+
.catch((e) => console.log(e));
|
26
|
+
}
|
27
|
+
else {
|
28
|
+
this.list = field.itemList ?? [];
|
29
|
+
}
|
30
|
+
}
|
31
|
+
getObjectValue(obj, target) {
|
32
|
+
return this.mstateHelper.getObjectValue(obj, target);
|
33
|
+
}
|
34
|
+
checkInputError(form, key) {
|
35
|
+
return this.mstateHelper.checkInputError(form, key);
|
36
|
+
}
|
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 }); }
|
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 }] }); }
|
39
|
+
}
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
41
|
+
type: Component,
|
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" }]
|
43
|
+
}], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
|
44
|
+
type: Input,
|
45
|
+
args: [{ required: true }]
|
46
|
+
}], mstateModel: [{
|
47
|
+
type: Input,
|
48
|
+
args: [{ required: true }]
|
49
|
+
}] } });
|
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
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../../mstate-angular.helper";
|
6
|
+
import * as i2 from "@angular/forms";
|
7
|
+
export class InputFieldComponent {
|
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"] }] }); }
|
16
|
+
}
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, decorators: [{
|
18
|
+
type: Component,
|
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: [{
|
21
|
+
type: Input,
|
22
|
+
args: [{ required: true }]
|
23
|
+
}], mstateModel: [{
|
24
|
+
type: Input,
|
25
|
+
args: [{ required: true }]
|
26
|
+
}] } });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFVaEUsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELGVBQWUsQ0FBQyxJQUFlLEVBQUUsR0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQVJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZJQ2JoQyw4bUJBcUJBLHlERFpZLFlBQVksOEJBQUUsbUJBQW1COzs0RkFJaEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7d0ZBS2pCLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1pbnB1dC1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcikge31cblxuICBjaGVja0lucHV0RXJyb3IoZm9ybTogRm9ybUdyb3VwLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lucHV0RXJyb3IoZm9ybSwga2V5KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICBbZm9ybUdyb3VwXT1cIm1zdGF0ZU1vZGVsXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCJcbj5cbiAgPGxhYmVsPnt7IGNvbmZpZy5sYWJlbCB9fTwvbGFiZWw+XG4gIDxpbnB1dFxuICAgIHN0eWxlPVwiZmxleDogMVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbdHlwZV09XCJjb25maWcuaW5wdXRUeXBlXCJcbiAgICBbbmFtZV09XCJjb25maWcuZmllbGQua2V5Rm9yQVBJXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgLz5cbiAgQGlmIChjaGVja0lucHV0RXJyb3IobXN0YXRlTW9kZWwsIGNvbmZpZy5maWVsZC5rZXlGb3JBUEkpLmlzRXJyb3IpIHtcbiAgPHNtYWxsPnt7XG4gICAgY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5tZXNzYWdlXG4gIH19PC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class LoaderComponent {
|
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: "<span>Loading...</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
7
|
+
}
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
|
9
|
+
type: Component,
|
10
|
+
args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<span>Loading...</span>\n" }]
|
11
|
+
}] });
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLDJCQUNBLHlEREtZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8c3Bhbj5Mb2FkaW5nLi4uPC9zcGFuPlxuIl19
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { MstateAngularService } from '../../mstate-angular.service';
|
5
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../mstate-angular.service";
|
8
|
+
import * as i2 from "../../mstate-angular.helper";
|
9
|
+
import * as i3 from "@angular/forms";
|
10
|
+
import * as i4 from "@ng-select/ng-select";
|
11
|
+
export class SelectComponent {
|
12
|
+
constructor(mstateService, mstateHelper) {
|
13
|
+
this.mstateService = mstateService;
|
14
|
+
this.mstateHelper = mstateHelper;
|
15
|
+
this.list = [];
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
const field = this.config.field ?? {};
|
19
|
+
if (field.request) {
|
20
|
+
this.mstateService
|
21
|
+
.handleDropdownAPI(field.request, field?.mapper?.target ?? '')
|
22
|
+
.then((data) => {
|
23
|
+
this.list = data;
|
24
|
+
})
|
25
|
+
.catch((e) => console.log(e));
|
26
|
+
}
|
27
|
+
else {
|
28
|
+
this.list = field.itemList ?? [];
|
29
|
+
}
|
30
|
+
}
|
31
|
+
getObjectValue(obj, target) {
|
32
|
+
return this.mstateHelper.getObjectValue(obj, target);
|
33
|
+
}
|
34
|
+
checkInputError(form, key) {
|
35
|
+
return this.mstateHelper.checkInputError(form, key);
|
36
|
+
}
|
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 }); }
|
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 }] }); }
|
39
|
+
}
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
|
41
|
+
type: Component,
|
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"] }]
|
43
|
+
}], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
|
44
|
+
type: Input,
|
45
|
+
args: [{ required: true }]
|
46
|
+
}], mstateModel: [{
|
47
|
+
type: Input,
|
48
|
+
args: [{ required: true }]
|
49
|
+
}] } });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVV0RCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLGFBQW1DLEVBQ25DLFlBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFHakMsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUZ4QixDQUFDO0lBSUosUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYTtpQkFDZixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztpQkFDN0QsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWUsRUFBRSxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBaENVLGVBQWU7bUdBQWYsZUFBZSwySEFKZixDQUFDLG9CQUFvQixDQUFDLDBCQ1puQyw4akJBbUJBLDZnQkRSWSxtQkFBbUIsZ3pCQUFFLGNBQWMsay9CQUFFLFlBQVk7OzRGQUtoRCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLGFBQ2pELENBQUMsb0JBQW9CLENBQUM7MkhBS04sTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VySW5wdXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2Utc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1zdGF0ZVNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXG4gICkge31cblxuICBwcm90ZWN0ZWQgbGlzdDogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuY29uZmlnLmZpZWxkID8/IHt9O1xuXG4gICAgaWYgKGZpZWxkLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMubXN0YXRlU2VydmljZVxuICAgICAgICAuaGFuZGxlRHJvcGRvd25BUEkoZmllbGQucmVxdWVzdCwgZmllbGQ/Lm1hcHBlcj8udGFyZ2V0ID8/ICcnKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGE7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QgPSBmaWVsZC5pdGVtTGlzdCA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRPYmplY3RWYWx1ZShvYmo6IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuZ2V0T2JqZWN0VmFsdWUob2JqLCB0YXJnZXQpO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJtc3RhdGVNb2RlbFwiPlxuICA8bGFiZWw+e3sgY29uZmlnLmxhYmVsIH19PC9sYWJlbD5cblxuICA8bmctc2VsZWN0XG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbaXRlbXNdPVwibGlzdFwiXG4gICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgIFtiaW5kTGFiZWxdPVwidGhpcy5jb25maWcuZmllbGQubWFwcGVyPy5sYWJlbCA/PyAnbGFiZWwnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICA+XG4gIDwvbmctc2VsZWN0PlxuXG4gIEBpZiAoY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5pc0Vycm9yKSB7XG4gIDxzbWFsbD57e1xuICAgIGNoZWNrSW5wdXRFcnJvcihtc3RhdGVNb2RlbCwgY29uZmlnLmZpZWxkLmtleUZvckFQSSkubWVzc2FnZVxuICB9fTwvc21hbGw+XG4gIH1cbjwvZGl2PlxuIl19
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class WorkflowEndCardComponent {
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WorkflowEndCardComponent, isStandalone: true, selector: "lib-workflow-end-card", ngImport: i0, template: "<p>Workflow Ended</p>\r\n", styles: [""] }); }
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, decorators: [{
|
8
|
+
type: Component,
|
9
|
+
args: [{ selector: 'lib-workflow-end-card', standalone: true, imports: [], template: "<p>Workflow Ended</p>\r\n" }]
|
10
|
+
}] });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5kLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWVuZC1jYXJkL3dvcmtmbG93LWVuZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1lbmQtY2FyZC93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7bUdBQXhCLHdCQUF3QixpRkNUckMsMkJBQ0E7OzRGRFFhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXdvcmtmbG93LWVuZC1jYXJkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3dvcmtmbG93LWVuZC1jYXJkLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93RW5kQ2FyZENvbXBvbmVudCB7fVxyXG4iLCI8cD5Xb3JrZmxvdyBFbmRlZDwvcD5cclxuIl19
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { MstateAngularHelper } from '../mstate-angular.helper';
|
4
|
+
import { MstateAngularService } from '../mstate-angular.service';
|
5
|
+
import { FieldType } from '../common/enum';
|
6
|
+
import { InputFieldComponent } from '../components/input-field/input-field.component';
|
7
|
+
import { SelectComponent } from '../components/select/select.component';
|
8
|
+
import { DropdownComponent } from '../components/dropdown/dropdown.component';
|
9
|
+
import * as i0 from "@angular/core";
|
10
|
+
import * as i1 from "../mstate-angular.helper";
|
11
|
+
export class InputSelectorComponent {
|
12
|
+
constructor(mstateHelper) {
|
13
|
+
this.mstateHelper = mstateHelper;
|
14
|
+
this.FieldType = FieldType;
|
15
|
+
}
|
16
|
+
ngOnInit() {
|
17
|
+
this.config = this.mstateHelper.checkIsStep(this.step)
|
18
|
+
? this.step?.config?.data
|
19
|
+
: this.step;
|
20
|
+
}
|
21
|
+
checkInputError(form, key) {
|
22
|
+
return this.mstateHelper.checkInputError(form, key);
|
23
|
+
}
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, deps: [{ token: i1.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectorComponent, isStandalone: true, selector: "mobi-office-input-selector", inputs: { step: "step", mstateModel: "mstateModel" }, providers: [MstateAngularHelper, MstateAngularService], ngImport: i0, template: "@switch (config.fieldType) { @case (FieldType.INPUT_FIELD) {\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.TEXT_AREA) {\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.DROP_DOWN) {\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.RADIO_LIST) {\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.CHECKBOX) {\n<mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @default { } }\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: InputFieldComponent, selector: "mobi-office-input-field", inputs: ["config", "mstateModel"] }, { kind: "component", type: SelectComponent, selector: "mobi-office-select", inputs: ["config", "mstateModel"] }, { kind: "component", type: DropdownComponent, selector: "mobi-office-dropdown", inputs: ["config", "mstateModel"] }] }); }
|
26
|
+
}
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, decorators: [{
|
28
|
+
type: Component,
|
29
|
+
args: [{ selector: 'mobi-office-input-selector', standalone: true, imports: [
|
30
|
+
CommonModule,
|
31
|
+
InputFieldComponent,
|
32
|
+
SelectComponent,
|
33
|
+
DropdownComponent,
|
34
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "@switch (config.fieldType) { @case (FieldType.INPUT_FIELD) {\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.TEXT_AREA) {\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.DROP_DOWN) {\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.RADIO_LIST) {\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @case (FieldType.CHECKBOX) {\n<mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n} @default { } }\n" }]
|
35
|
+
}], ctorParameters: () => [{ type: i1.MstateAngularHelper }], propDecorators: { step: [{
|
36
|
+
type: Input,
|
37
|
+
args: [{ required: true }]
|
38
|
+
}], mstateModel: [{
|
39
|
+
type: Input,
|
40
|
+
args: [{ required: true }]
|
41
|
+
}] } });
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2lucHV0LXNlbGVjdG9yL2lucHV0LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFnQjlFLE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRzNDLGNBQVMsR0FBRyxTQUFTLENBQUM7SUFId0IsQ0FBQztJQUt6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBZSxFQUFFLEdBQVc7UUFDMUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0FqQlUsc0JBQXNCO21HQUF0QixzQkFBc0IsK0hBSnRCLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsMEJDcEJ4RCxzbEJBV0EseURESUksWUFBWSwrQkFDWixtQkFBbUIsdUdBQ25CLGVBQWUsa0dBQ2YsaUJBQWlCOzs0RkFNUixzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCLGFBQ1UsQ0FBQyxtQkFBbUIsRUFBRSxvQkFBb0IsQ0FBQzt3RkFLM0IsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdGVwLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFySGVscGVyIH0gZnJvbSAnLi4vbXN0YXRlLWFuZ3VsYXIuaGVscGVyJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXN0YXRlLWFuZ3VsYXIuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XG5pbXBvcnQgeyBJbnB1dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElucHV0RmllbGRDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFySGVscGVyLCBNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0U2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzdGVwITogVXNlcklucHV0IHwgU3RlcDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbXN0YXRlTW9kZWwhOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtc3RhdGVIZWxwZXI6IE1zdGF0ZUFuZ3VsYXJIZWxwZXIpIHt9XG5cbiAgcHJvdGVjdGVkIGNvbmZpZyE6IFVzZXJJbnB1dDtcbiAgcHJvdGVjdGVkIEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNTdGVwKHRoaXMuc3RlcClcbiAgICAgID8gdGhpcy5zdGVwPy5jb25maWc/LmRhdGFcbiAgICAgIDogdGhpcy5zdGVwO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIkBzd2l0Y2ggKGNvbmZpZy5maWVsZFR5cGUpIHsgQGNhc2UgKEZpZWxkVHlwZS5JTlBVVF9GSUVMRCkge1xuPG1vYmktb2ZmaWNlLWlucHV0LWZpZWxkIFtjb25maWddPVwiY29uZmlnXCIgW21zdGF0ZU1vZGVsXT1cIm1zdGF0ZU1vZGVsXCIgLz5cbn0gQGNhc2UgKEZpZWxkVHlwZS5URVhUX0FSRUEpIHtcbjxtb2JpLW9mZmljZS1pbnB1dC1maWVsZCBbY29uZmlnXT1cImNvbmZpZ1wiIFttc3RhdGVNb2RlbF09XCJtc3RhdGVNb2RlbFwiIC8+XG59IEBjYXNlIChGaWVsZFR5cGUuRFJPUF9ET1dOKSB7XG48bW9iaS1vZmZpY2UtZHJvcGRvd24gW2NvbmZpZ109XCJjb25maWdcIiBbbXN0YXRlTW9kZWxdPVwibXN0YXRlTW9kZWxcIiAvPlxufSBAY2FzZSAoRmllbGRUeXBlLlJBRElPX0xJU1QpIHtcbjxtb2JpLW9mZmljZS1kcm9wZG93biBbY29uZmlnXT1cImNvbmZpZ1wiIFttc3RhdGVNb2RlbF09XCJtc3RhdGVNb2RlbFwiIC8+XG59IEBjYXNlIChGaWVsZFR5cGUuQ0hFQ0tCT1gpIHtcbjxtb2JpLW9mZmljZS1zZWxlY3QgW2NvbmZpZ109XCJjb25maWdcIiBbbXN0YXRlTW9kZWxdPVwibXN0YXRlTW9kZWxcIiAvPlxufSBAZGVmYXVsdCB7IH0gfVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25Db25maWcsIFVzZXJJbnB1dCwgV29ya2Zsb3cgfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdldFdvcmtmbG93UmVxdWVzdCB7XHJcbiAgd29ya2Zsb3c6IHN0cmluZztcclxuICB0b2tlbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdldEN1cnJlbnRBY3Rpb25zV2l0aG91dEluc3RhbmNlSURSZXF1ZXN0IHtcclxuICB3b3JrZmxvdzogc3RyaW5nO1xyXG4gIHRva2VuOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q3VycmVudEFjdGlvbnNXaXRoSW5zdGFuY2VJRFJlcXVlc3Qge1xyXG4gIGluc3RhbmNlSUQ6IHN0cmluZztcclxuICB0b2tlbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RFeGVjdXRlQWN0aW9uUmVxdWVzdDxUPiB7XHJcbiAgaW5zdGFuY2VJRD86IHN0cmluZztcclxuICB0b2tlbjogc3RyaW5nO1xyXG4gIHdvcmtmbG93OiBzdHJpbmc7XHJcbiAgYWN0aW9uOiB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBwYXlsb2FkOiBUO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0V29ya2Zsb3dSZXNwb25zZSB7XHJcbiAgZGF0YTogV29ya2Zsb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q3VycmVudEFjdGlvbnNXaXRob3V0SW5zdGFuY2VJRFJlc3BvbnNlIHtcclxuICBbYWN0aW9uTmFtZTogc3RyaW5nXTogQWN0aW9uQ29uZmlnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRlZEFjdGlvbiBleHRlbmRzIEFjdGlvbkNvbmZpZyB7XHJcbiAgc3RlcHM6IFVzZXJJbnB1dFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdldEN1cnJlbnRBY3Rpb25zV2l0aEluc3RhbmNlSURSZXNwb25zZSB7XHJcbiAgW2FjdGlvbk5hbWU6IHN0cmluZ106IEV2YWx1YXRlZEFjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3N0RXhlY3V0ZUFjdGlvblJlc3BvbnNlIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1zdGF0ZVJlc3BvbnNlPFQgPSBhbnk+IHtcclxuICBkYXRhOiBUO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBzdGF0dXNDb2RlOiBudW1iZXI7XHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG59XHJcbiJdfQ==
|