mstate-angular 0.2.5 → 0.2.6
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 +9 -7
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +34 -12
- package/fesm2022/mstate-angular.mjs +40 -16
- package/fesm2022/mstate-angular.mjs.map +1 -1
- package/lib/action-form/action-form.component.d.ts +3 -3
- package/lib/components/action-card/action-card.component.d.ts +1 -1
- package/lib/mstate-angular/mstate-angular.component.d.ts +6 -6
- package/package.json +1 -1
@@ -24,6 +24,8 @@ export class ActionFormComponent {
|
|
24
24
|
steps: [],
|
25
25
|
};
|
26
26
|
this.onExecuteAction = new EventEmitter();
|
27
|
+
this.updateCustomFieldValue = new EventEmitter();
|
28
|
+
this.onSuccess = new EventEmitter();
|
27
29
|
this.isLoading = false;
|
28
30
|
this.nonUserInputField = {};
|
29
31
|
this.handleStepConfigFilter = () => {
|
@@ -34,7 +36,7 @@ export class ActionFormComponent {
|
|
34
36
|
case ManualStepModule.CUSTOM_FIELD: {
|
35
37
|
if (this.updateCustomFieldValue) {
|
36
38
|
this.nonUserInputField[step?.context?.as] =
|
37
|
-
this.updateCustomFieldValue(step?.context?.key);
|
39
|
+
this.updateCustomFieldValue.emit(step?.context?.key);
|
38
40
|
}
|
39
41
|
return true;
|
40
42
|
}
|
@@ -89,7 +91,7 @@ export class ActionFormComponent {
|
|
89
91
|
errors: [],
|
90
92
|
});
|
91
93
|
if (this.onSuccess) {
|
92
|
-
this.onSuccess(this.config.name);
|
94
|
+
this.onSuccess.emit(this.config.name);
|
93
95
|
}
|
94
96
|
});
|
95
97
|
}
|
@@ -118,7 +120,7 @@ export class ActionFormComponent {
|
|
118
120
|
this.form = this.fb.group(validators);
|
119
121
|
}
|
120
122
|
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",
|
123
|
+
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", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", updateCustomFieldValue: "updateCustomFieldValue", onSuccess: "onSuccess" }, 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 <div style=\"width: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\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
124
|
}
|
123
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
124
126
|
type: Component,
|
@@ -127,7 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
127
129
|
ButtonComponent,
|
128
130
|
ReactiveFormsModule,
|
129
131
|
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 <div style=\"
|
132
|
+
], 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 <div style=\"width: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\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
133
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MstateAngularService }, { type: i3.MstateAngularHelper }], propDecorators: { token: [{
|
132
134
|
type: Input,
|
133
135
|
args: [{ required: true }]
|
@@ -140,10 +142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
140
142
|
}], onExecuteAction: [{
|
141
143
|
type: Output
|
142
144
|
}], updateCustomFieldValue: [{
|
143
|
-
type:
|
145
|
+
type: Output
|
144
146
|
}], instanceID: [{
|
145
147
|
type: Input
|
146
148
|
}], onSuccess: [{
|
147
|
-
type:
|
149
|
+
type: Output
|
148
150
|
}] } });
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXhCaEIsVUFBSyxHQUFXLEVBQUUs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QWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLGVBQWU7c0JBQXhCLE1BQU07Z0JBSUUsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW5wdXRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZSwgTXN0YXRlQW5ndWxhckhlbHBlcl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc6IEFjdGlvbkNvbmZpZyB8IEV2YWx1YXRlZEFjdGlvbiA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogQWN0aW9uVHlwZS5NQU5VQUwsXHJcbiAgICBzdGVwczogW10sXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgb25FeGVjdXRlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgZXJyb3JzPzogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb25TdWNjZXNzPzogKGFjdGlvbk5hbWU6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgLy8jcmVnaW9uIEN1c3RvbSBEZWNsYXJhdGlvblxyXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgbm9uVXNlcklucHV0RmllbGQ6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXNzaWduRm9ybUJ1aWxkZXIoKTtcclxuICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIGhhbmRsZXJzXHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5zdGF0dXMgPT09ICdWQUxJRCcpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcclxuICAgICAgICAgIGFjdGlvbjoge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICAgIC4uLnRoaXMubm9uVXNlcklucHV0RmllbGQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXHJcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgICB2YWx1ZToge30sXHJcbiAgICAgICAgICAgICAgZXJyb3JzOiBlLmVycm9yPy5lcnJvcnMgPz8gW10sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMub25FeGVjdXRlQWN0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5kYXRhLFxyXG4gICAgICAgICAgICBlcnJvcnM6IFtdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vblN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3ModGhpcy5jb25maWcubmFtZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xyXG4gICAgICAgIGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBrZXlGb3JBUElTZXQgPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZShzdGVwPy5jb250ZXh0Py5rZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcclxuICAgICAgICAgIHRoaXMubm9uVXNlcklucHV0RmllbGRbc3RlcD8uY29udGV4dD8uYXNdID0gc3RlcD8uY29udGV4dD8udmFsdWU7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcclxuICAgICAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA9PT0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSBhcyBVc2VySW5wdXRbXTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFzc2lnbkZvcm1CdWlsZGVyKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcclxuICAgICAgKGFjYywgZGF0YSkgPT5cclxuICAgICAgICBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgICAgYWNjLFxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNIYW5kbGVkU3RlcChkYXRhLmZpZWxkVHlwZSlcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcclxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQubXVsdGlwbGUgPyBbXSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZD8uaXNSZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6IHt9LFxyXG4gICAgICAgICksXHJcbiAgICAgIHt9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxyXG4gIDwvcD5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJmb3JtXCIgLz5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxyXG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDogMjVweFwiPlxyXG4gICAgICAgICAgICA8bW9iaS1vZmZpY2UtbG9hZGVyPjwvbW9iaS1vZmZpY2UtbG9hZGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBTdWJtaXRcclxuICAgICAgICB9XHJcbiAgICAgIDwvbW9iaS1vZmZpY2UtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG48L2Rpdj5cclxuIl19
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXhCaEIsVUFBSyxHQUFXLEVBQUUs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LG9CQUFvQixFQUFFLG1CQUFtQixDQUFDO3FKQUszQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLZixlQUFlO3NCQUF4QixNQUFNO2dCQUlHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFFRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXN0YXRlLWFuZ3VsYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGlvbkNvbmZpZywgVXNlcklucHV0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFdmFsdWF0ZWRBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBNYW51YWxTdGVwTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2VudW0nO1xyXG5pbXBvcnQgeyBJbnB1dFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtc2VsZWN0b3IvaW5wdXQtc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUJ1aWxkZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xyXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1mb3JtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElucHV0U2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2UsIE1zdGF0ZUFuZ3VsYXJIZWxwZXJdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRva2VuOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnOiBBY3Rpb25Db25maWcgfCBFdmFsdWF0ZWRBY3Rpb24gPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxyXG4gICAgc3RlcHM6IFtdLFxyXG4gIH07XHJcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGVycm9ycz86IHN0cmluZ1tdO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQElucHV0KCkgaW5zdGFuY2VJRD86IHN0cmluZztcclxuICBAT3V0cHV0KCkgb25TdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBDdXN0b20gRGVjbGFyYXRpb25cclxuICBwcm90ZWN0ZWQgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIG5vblVzZXJJbnB1dEZpZWxkOiBhbnkgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVIZWxwZXI6IE1zdGF0ZUFuZ3VsYXJIZWxwZXIsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChCb29sZWFuKHRoaXMuY29uZmlnPy5zdGVwcz8ubGVuZ3RoKSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5oYW5kbGVFeGVjdXRlQWN0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFzc2lnbkZvcm1CdWlsZGVyKCk7XHJcbiAgICB0aGlzLmhhbmRsZVN0ZXBDb25maWdGaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBoYW5kbGVyc1xyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRXhlY3V0ZUFjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uc3RhdHVzID09PSAnVkFMSUQnKSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMubXN0YXRlQW5ndWxhclNlcnZpY2VcclxuICAgICAgICAuZXhlY3V0ZUFjdGlvbih7XHJcbiAgICAgICAgICBhY3Rpb246IHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb25maWcubmFtZSxcclxuICAgICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcclxuICAgICAgICAgICAgICAuLi50aGlzLm5vblVzZXJJbnB1dEZpZWxkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxyXG4gICAgICAgICAgd29ya2Zsb3c6IHRoaXMud29ya2Zsb3csXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkV4ZWN1dGVBY3Rpb24uZW1pdCh7XHJcbiAgICAgICAgICAgICAgdmFsdWU6IHt9LFxyXG4gICAgICAgICAgICAgIGVycm9yczogZS5lcnJvcj8uZXJyb3JzID8/IFtdLFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRocm93IGU7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgdmFsdWU6IGRhdGEuZGF0YSxcclxuICAgICAgICAgICAgZXJyb3JzOiBbXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25TdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25TdWNjZXNzLmVtaXQodGhpcy5jb25maWcubmFtZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xyXG4gICAgICAgIGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBrZXlGb3JBUElTZXQgPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZS5lbWl0KHN0ZXA/LmNvbnRleHQ/LmtleSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DT05URVhUX0ZJRUxEOlxyXG4gICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPSBzdGVwPy5jb250ZXh0Py52YWx1ZTtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IGtleUZvckFQSVNldC5oYXMoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XHJcbiAgICAgICAgICBrZXlGb3JBUElTZXQuYWRkKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID09PSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pIGFzIFVzZXJJbnB1dFtdO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgYXNzaWduRm9ybUJ1aWxkZXIoKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5jb25maWcuc3RlcHMucmVkdWNlKFxyXG4gICAgICAoYWNjLCBkYXRhKSA9PlxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXHJcbiAgICAgICAgICBhY2MsXHJcbiAgICAgICAgICB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lzU3RlcChkYXRhKSA9PT0gZmFsc2UgJiZcclxuICAgICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc0hhbmRsZWRTdGVwKGRhdGEuZmllbGRUeXBlKVxyXG4gICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIFtkYXRhPy5maWVsZD8ua2V5Rm9yQVBJXTogW1xyXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZC5tdWx0aXBsZSA/IFtdIDogJycsXHJcbiAgICAgICAgICAgICAgICAgIGRhdGE/LmZpZWxkPy5pc1JlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDoge30sXHJcbiAgICAgICAgKSxcclxuICAgICAge30sXHJcbiAgICApO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh2YWxpZGF0b3JzKTtcclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPHAgc3R5bGU9XCJmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlclwiPlxyXG4gICAge3sgY29uZmlnLm1ldGE/LnRpdGxlID8/IGNvbmZpZy5uYW1lIH19XHJcbiAgPC9wPlxyXG5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiaGFuZGxlRXhlY3V0ZUFjdGlvbigpXCI+XHJcbiAgICBAZm9yIChzdGVwIG9mIGNvbmZpZy5zdGVwczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgIDxtb2JpLW9mZmljZS1pbnB1dC1zZWxlY3RvciBbc3RlcF09XCJzdGVwXCIgW21zdGF0ZU1vZGVsXT1cImZvcm1cIiAvPlxyXG4gICAgfVxyXG5cclxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XHJcbiAgICAgIDxtb2JpLW9mZmljZS1idXR0b24gdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDI1cHhcIj5cclxuICAgICAgICAgICAgPG1vYmktb2ZmaWNlLWxvYWRlcj48L21vYmktb2ZmaWNlLWxvYWRlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgU3VibWl0XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21vYmktb2ZmaWNlLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Component, Input, } from '@angular/core';
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import { Variable } from '../common/enum';
|
4
4
|
import { ActionFormComponent } from '../action-form/action-form.component';
|
@@ -24,6 +24,30 @@ export class MstateAngularComponent {
|
|
24
24
|
* @description Trigger if to start workflow.
|
25
25
|
*/
|
26
26
|
this.start = true;
|
27
|
+
/**
|
28
|
+
* Triggers whenever your current workflow moved to other.
|
29
|
+
* @param {string} newInstanceID - The new instance ID on which your current workflow moved.
|
30
|
+
* @returns {void}.
|
31
|
+
*/
|
32
|
+
this.onInstanceChange = new EventEmitter();
|
33
|
+
/**
|
34
|
+
* Triggers when The Action execution is completed.
|
35
|
+
* @param {string} actionName - action name which you have executed at this moment.
|
36
|
+
* @returns {void}.
|
37
|
+
*/
|
38
|
+
this.onSuccess = new EventEmitter();
|
39
|
+
/**
|
40
|
+
* Triggers when Error occurs while performing any action.
|
41
|
+
* @param {unknown[]} errors - Error response from the api call done by Mstate.
|
42
|
+
* @returns {void}.
|
43
|
+
*/
|
44
|
+
this.onError = new EventEmitter();
|
45
|
+
/**
|
46
|
+
* Handles your steps which contain Custom field module.
|
47
|
+
* @param {string} key - Which key you expect for getting the value.
|
48
|
+
* @returns {any} - whatever value you want to save in that custom field.
|
49
|
+
*/
|
50
|
+
this.handleCustomField = new EventEmitter();
|
27
51
|
//#region Variables & Events
|
28
52
|
this.isLoading = true;
|
29
53
|
this.errors = [];
|
@@ -89,9 +113,7 @@ export class MstateAngularComponent {
|
|
89
113
|
value?.instanceID !== this.instanceID &&
|
90
114
|
!errors?.length) {
|
91
115
|
this.instanceID = value?.instanceID;
|
92
|
-
|
93
|
-
this.onInstanceChange(value?.instanceID);
|
94
|
-
}
|
116
|
+
this.onInstanceChange.emit(value?.instanceID);
|
95
117
|
}
|
96
118
|
}
|
97
119
|
handleActionExecution(config) {
|
@@ -115,11 +137,11 @@ export class MstateAngularComponent {
|
|
115
137
|
.filter((e) => typeof e === 'string')
|
116
138
|
.map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));
|
117
139
|
if (this.onError) {
|
118
|
-
this.onError(this.errors);
|
140
|
+
this.onError.emit(this.errors);
|
119
141
|
}
|
120
142
|
}
|
121
143
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, deps: [{ token: i1.MstateAngularHelper }, { token: i2.MstateAngularService }], target: i0.ɵɵFactoryTarget.Component }); }
|
122
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MstateAngularComponent, isStandalone: true, selector: "mstate-angular", inputs: { token: "token", workflow: "workflow", instanceID: "instanceID", start: "start", who: "who", onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n [updateCustomFieldValue]=\"handleCustomField\"\r\n [onSuccess]=\"onSuccess\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular{overflow:auto}.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "updateCustomFieldValue", "instanceID", "onSuccess"], outputs: ["onExecuteAction"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["config"], outputs: ["executeAction"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }, { kind: "component", type: ErrorCardComponent, selector: "lib-error-card", inputs: ["errors"], outputs: ["retry"] }, { kind: "component", type: WorkflowEndCardComponent, selector: "lib-workflow-end-card" }] }); }
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MstateAngularComponent, isStandalone: true, selector: "mstate-angular", inputs: { token: "token", workflow: "workflow", instanceID: "instanceID", start: "start", who: "who" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n (updateCustomFieldValue)=\"handleCustomField.emit($event)\"\r\n (onSuccess)=\"onSuccess.emit($event)\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "instanceID"], outputs: ["onExecuteAction", "updateCustomFieldValue", "onSuccess"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["config"], outputs: ["executeAction"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }, { kind: "component", type: ErrorCardComponent, selector: "lib-error-card", inputs: ["errors"], outputs: ["retry"] }, { kind: "component", type: WorkflowEndCardComponent, selector: "lib-workflow-end-card" }] }); }
|
123
145
|
}
|
124
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
|
125
147
|
type: Component,
|
@@ -130,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
130
152
|
LoaderComponent,
|
131
153
|
ErrorCardComponent,
|
132
154
|
WorkflowEndCardComponent,
|
133
|
-
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n [updateCustomFieldValue]=\"handleCustomField\"\r\n [onSuccess]=\"onSuccess\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular{overflow:auto}.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"] }]
|
155
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n (updateCustomFieldValue)=\"handleCustomField.emit($event)\"\r\n (onSuccess)=\"onSuccess.emit($event)\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"] }]
|
134
156
|
}], ctorParameters: () => [{ type: i1.MstateAngularHelper }, { type: i2.MstateAngularService }], propDecorators: { token: [{
|
135
157
|
type: Input,
|
136
158
|
args: [{ required: true }]
|
@@ -144,12 +166,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
144
166
|
}], who: [{
|
145
167
|
type: Input
|
146
168
|
}], onInstanceChange: [{
|
147
|
-
type:
|
169
|
+
type: Output
|
148
170
|
}], onSuccess: [{
|
149
|
-
type:
|
171
|
+
type: Output
|
150
172
|
}], onError: [{
|
151
|
-
type:
|
173
|
+
type: Output
|
152
174
|
}], handleCustomField: [{
|
153
|
-
type:
|
175
|
+
type: Output
|
154
176
|
}] } });
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9tc3RhdGUtYW5ndWxhci9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL21zdGF0ZS1hbmd1bGFyL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVMsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7O0FBaUJ2RyxNQUFNLE9BQU8sc0JBQXNCO0lBK0NqQyxZQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JB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clxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRoZW1lLCBWYXJpYWJsZSB9IGZyb20gJy4uL2NvbW1vbi9lbnVtJztcclxuaW1wb3J0IHsgQWN0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xyXG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFdmFsdWF0ZWRBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb25Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvckNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Vycm9yLWNhcmQvZXJyb3ItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd0VuZENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3dvcmtmbG93LWVuZC1jYXJkL3dvcmtmbG93LWVuZC1jYXJkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21zdGF0ZS1hbmd1bGFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEFjdGlvbkZvcm1Db21wb25lbnQsXHJcbiAgICBBY3Rpb25DYXJkQ29tcG9uZW50LFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRXJyb3JDYXJkQ29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dFbmRDYXJkQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhckhlbHBlciwgTXN0YXRlQW5ndWxhclNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1zdGF0ZUFuZ3VsYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpbnN0YW5jZUlEPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAZGVzY3JpcHRpb24gVHJpZ2dlciBpZiB0byBzdGFydCB3b3JrZmxvdy5cclxuICAgKi9cclxuICBASW5wdXQoKSBzdGFydDogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAZGVzY3JpcHRpb24gVG8gVmFsaWRhdGUgd2hvIGFyZSBhbGxvd2VkIHRvIHBlcmZvcm0gb3Igc2VlIGFjdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSB3aG8/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbmV2ZXIgeW91ciBjdXJyZW50IHdvcmtmbG93IG1vdmVkIHRvIG90aGVyLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdJbnN0YW5jZUlEIC0gVGhlIG5ldyBpbnN0YW5jZSBJRCBvbiB3aGljaCB5b3VyIGN1cnJlbnQgd29ya2Zsb3cgbW92ZWQuXHJcbiAgICogQHJldHVybnMge3ZvaWR9LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9uSW5zdGFuY2VDaGFuZ2U/OiAobmV3SW5zdGFuY2VJRDogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIHdoZW4gVGhlIEFjdGlvbiBleGVjdXRpb24gaXMgY29tcGxldGVkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gYWN0aW9uIG5hbWUgd2hpY2ggeW91IGhhdmUgZXhlY3V0ZWQgYXQgdGhpcyBtb21lbnQuXHJcbiAgICogQHJldHVybnMge3ZvaWR9LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9uU3VjY2Vzcz86IChhY3Rpb25OYW1lOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbiBFcnJvciBvY2N1cnMgd2hpbGUgcGVyZm9ybWluZyBhbnkgYWN0aW9uLlxyXG4gICAqIEBwYXJhbSB7dW5rbm93bltdfSBlcnJvcnMgLSBFcnJvciByZXNwb25zZSBmcm9tIHRoZSBhcGkgY2FsbCBkb25lIGJ5IE1zdGF0ZS5cclxuICAgKiBAcmV0dXJucyB7dm9pZH0uXHJcbiAgICovXHJcbiAgQElucHV0KCkgb25FcnJvcj86IChlcnJvcnM6IHVua25vd25bXSkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBIYW5kbGVzIHlvdXIgc3RlcHMgd2hpY2ggY29udGFpbiBDdXN0b20gZmllbGQgbW9kdWxlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBXaGljaCBrZXkgeW91IGV4cGVjdCBmb3IgZ2V0dGluZyB0aGUgdmFsdWUuXHJcbiAgICogQHJldHVybnMge2FueX0gLSB3aGF0ZXZlciB2YWx1ZSB5b3Ugd2FudCB0byBzYXZlIGluIHRoYXQgY3VzdG9tIGZpZWxkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhhbmRsZUN1c3RvbUZpZWxkPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIC8vI3JlZ2lvbiBWYXJpYWJsZXMgJiBFdmVudHNcclxuXHJcbiAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgcHJvdGVjdGVkIGVycm9yczogYW55W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgZXJyb3JNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgYWxsb3dlZEFjdGlvbnM6IChFdmFsdWF0ZWRBY3Rpb24gfCBBY3Rpb25Db25maWcpW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1zdGF0ZUFuZ3VsYXJIZWxwZXI6IE1zdGF0ZUFuZ3VsYXJIZWxwZXIsXHJcbiAgICBwcml2YXRlIG1zdGF0ZUFuZ3VsYXJTZXJ2aWNlOiBNc3RhdGVBbmd1bGFyU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhcnQpIHRoaXMuc2V0QWxsb3dlZEFjdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1zdGF0ZUFuZ3VsYXJIZWxwZXIuZGV0ZWN0Q2hhbmdlKGNoYW5nZXMsIFtWYXJpYWJsZS5TVEFSVF0pKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIEhhbmRsZXJzXHJcblxyXG4gIHByaXZhdGUgc2V0QWxsb3dlZEFjdGlvbnMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2VJRCkge1xyXG4gICAgICB0aGlzLm1zdGF0ZUFuZ3VsYXJTZXJ2aWNlXHJcbiAgICAgICAgLmdldEN1cnJlbnRBY3Rpb25zV2l0aEluc3RhbmNlSUQoe1xyXG4gICAgICAgICAgaW5zdGFuY2VJRDogdGhpcy5pbnN0YW5jZUlELFxyXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3Ioe30sIGVyci5lcnJvcj8uZXJyb3JzKTtcclxuICAgICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IE9iamVjdC52YWx1ZXMoZGF0YS5kYXRhKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubXN0YXRlQW5ndWxhclNlcnZpY2VcclxuICAgICAgICAuZ2V0Q3VycmVudEFjdGlvbnNXaXRob3V0SW5zdGFuY2VJRCh7XHJcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcclxuICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHt9LCBlcnIuZXJyb3I/LmVycm9ycyk7XHJcbiAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxsb3dlZEFjdGlvbnMgPSBPYmplY3QudmFsdWVzKGRhdGEuZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRXhlY3V0ZUFjdGlvbihyZXNwb25zZTogeyB2YWx1ZTogYW55OyBlcnJvcnM/OiBzdHJpbmdbXSB9KSB7XHJcbiAgICBjb25zdCB7IHZhbHVlLCBlcnJvcnMgPSBbXSB9ID0gcmVzcG9uc2U7XHJcblxyXG4gICAgaWYgKGVycm9ycz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IodmFsdWUsIGVycm9ycyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFsbG93ZWRBY3Rpb25zID0gdmFsdWUuYWN0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHZhbHVlPy5pbnN0YW5jZUlEICYmXHJcbiAgICAgIHZhbHVlPy5pbnN0YW5jZUlEICE9PSB0aGlzLmluc3RhbmNlSUQgJiZcclxuICAgICAgIWVycm9ycz8ubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pbnN0YW5jZUlEID0gdmFsdWU/Lmluc3RhbmNlSUQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5vbkluc3RhbmNlQ2hhbmdlKSB7XHJcbiAgICAgICAgdGhpcy5vbkluc3RhbmNlQ2hhbmdlKHZhbHVlPy5pbnN0YW5jZUlEKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUFjdGlvbkV4ZWN1dGlvbihjb25maWc6IEV2YWx1YXRlZEFjdGlvbiB8IEFjdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IFtjb25maWddO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5QWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dlZEFjdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcih2YWx1ZTogYW55LCBlcnJvcnM6IGFueVtdKSB7XHJcbiAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcclxuICAgIHZhbHVlLmluc3RhbmNlSUQgPSBlcnJvcnNbMF1cclxuICAgICAgPy5zcGxpdChcImluc3RhbmNlSUQ9J1wiKVxyXG4gICAgICA/LnBvcCgpXHJcbiAgICAgID8ucmVwbGFjZShcIidcIiwgJycpO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvcnNcclxuICAgICAgLmZpbHRlcigoZTogc3RyaW5nKSA9PiB0eXBlb2YgZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIC5tYXAoKG1zZykgPT4gbXNnLnJlcGxhY2UoLyBpbnN0YW5jZUlEPScoLiopJy9pLCAnJykpO1xyXG5cclxuICAgIGlmICh0aGlzLm9uRXJyb3IpIHtcclxuICAgICAgdGhpcy5vbkVycm9yKHRoaXMuZXJyb3JzKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1zdGF0ZS1hbmd1bGFyXCI+XHJcbiAgPGltZ1xyXG4gICAgc3JjPVwiaHR0cHM6Ly9maXJlYmFzZXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vdjAvYi9tb2Jpb2ZmaWNlLWRldi5hcHBzcG90LmNvbS9vL2NvbXBhbmllc19sb2dvJTJGbG9nby5wbmc/YWx0PW1lZGlhJnRva2VuPWU1ZjIzOGYwLWMzNzMtNGM3Ni05MTY4LTM3ZmJlN2RhMWRlMFwiXHJcbiAgICBhbHQ9XCJsb2dvXCJcclxuICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICBjbGFzcz1cImxvZ29cIlxyXG4gIC8+XHJcblxyXG4gIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICA8bW9iaS1vZmZpY2UtbG9hZGVyIGNsYXNzPVwiZmxleC1jb250YWluZXJcIiAvPlxyXG4gIH0gQGVsc2UgaWYgKGVycm9yTWVzc2FnZXMubGVuZ3RoKSB7XHJcbiAgICA8bGliLWVycm9yLWNhcmQgW2Vycm9yc109XCJlcnJvck1lc3NhZ2VzXCIgKHJldHJ5KT1cImhhbmRsZVJldHJ5QWN0aW9uKClcIiAvPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHN3aXRjaCAoYWxsb3dlZEFjdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgIEBjYXNlICgwKSB7XHJcbiAgICAgICAgPGxpYi13b3JrZmxvdy1lbmQtY2FyZCAvPlxyXG4gICAgICB9XHJcbiAgICAgIEBjYXNlICgxKSB7XHJcbiAgICAgICAgPGxpYi1hY3Rpb24tZm9ybVxyXG4gICAgICAgICAgW3dvcmtmbG93XT1cIndvcmtmbG93XCJcclxuICAgICAgICAgIFt0b2tlbl09XCJ0b2tlblwiXHJcbiAgICAgICAgICBbaW5zdGFuY2VJRF09XCJpbnN0YW5jZUlEXCJcclxuICAgICAgICAgIFtjb25maWddPVwiYWxsb3dlZEFjdGlvbnNbMF1cIlxyXG4gICAgICAgICAgKG9uRXhlY3V0ZUFjdGlvbik9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgW3VwZGF0ZUN1c3RvbUZpZWxkVmFsdWVdPVwiaGFuZGxlQ3VzdG9tRmllbGRcIlxyXG4gICAgICAgICAgW29uU3VjY2Vzc109XCJvblN1Y2Nlc3NcIlxyXG4gICAgICAgID48L2xpYi1hY3Rpb24tZm9ybT5cclxuICAgICAgfVxyXG4gICAgICBAZGVmYXVsdCB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGFsbG93ZWRBY3Rpb25zOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPG1vYmktb2ZmaWNlLWFjdGlvbi1jYXJkXHJcbiAgICAgICAgICAgICAgW2NvbmZpZ109XCJpdGVtXCJcclxuICAgICAgICAgICAgICAoZXhlY3V0ZUFjdGlvbik9XCJoYW5kbGVBY3Rpb25FeGVjdXRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9tc3RhdGUtYW5ndWxhci9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL21zdGF0ZS1hbmd1bGFyL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkRBQTZELENBQUM7Ozs7QUFpQnZHLE1BQU0sT0FBTyxzQkFBc0I7SUErQ2pDLFlBQ1UsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUQxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FB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S0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQU1JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFNRyxTQUFTO3NCQUFsQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBTUcsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFZhcmlhYmxlIH0gZnJvbSAnLi4vY29tbW9uL2VudW0nO1xyXG5pbXBvcnQgeyBBY3Rpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLWZvcm0vYWN0aW9uLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXN0YXRlLWFuZ3VsYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQWN0aW9uQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93RW5kQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvd29ya2Zsb3ctZW5kLWNhcmQvd29ya2Zsb3ctZW5kLWNhcmQuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXN0YXRlLWFuZ3VsYXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQWN0aW9uRm9ybUNvbXBvbmVudCxcclxuICAgIEFjdGlvbkNhcmRDb21wb25lbnQsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBFcnJvckNhcmRDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd0VuZENhcmRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFySGVscGVyLCBNc3RhdGVBbmd1bGFyU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXN0YXRlQW5ndWxhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0b2tlbjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgd29ya2Zsb3c6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqIEBkZXNjcmlwdGlvbiBUcmlnZ2VyIGlmIHRvIHN0YXJ0IHdvcmtmbG93LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0YXJ0OiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBkZXNjcmlwdGlvbiBUbyBWYWxpZGF0ZSB3aG8gYXJlIGFsbG93ZWQgdG8gcGVyZm9ybSBvciBzZWUgYWN0aW9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdobz86IHN0cmluZztcclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciB5b3VyIGN1cnJlbnQgd29ya2Zsb3cgbW92ZWQgdG8gb3RoZXIuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5ld0luc3RhbmNlSUQgLSBUaGUgbmV3IGluc3RhbmNlIElEIG9uIHdoaWNoIHlvdXIgY3VycmVudCB3b3JrZmxvdyBtb3ZlZC5cclxuICAgKiBAcmV0dXJucyB7dm9pZH0uXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uSW5zdGFuY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuIFRoZSBBY3Rpb24gZXhlY3V0aW9uIGlzIGNvbXBsZXRlZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uTmFtZSAtIGFjdGlvbiBuYW1lIHdoaWNoIHlvdSBoYXZlIGV4ZWN1dGVkIGF0IHRoaXMgbW9tZW50LlxyXG4gICAqIEByZXR1cm5zIHt2b2lkfS5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbiBFcnJvciBvY2N1cnMgd2hpbGUgcGVyZm9ybWluZyBhbnkgYWN0aW9uLlxyXG4gICAqIEBwYXJhbSB7dW5rbm93bltdfSBlcnJvcnMgLSBFcnJvciByZXNwb25zZSBmcm9tIHRoZSBhcGkgY2FsbCBkb25lIGJ5IE1zdGF0ZS5cclxuICAgKiBAcmV0dXJucyB7dm9pZH0uXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd25bXT4oKTtcclxuICAvKipcclxuICAgKiBIYW5kbGVzIHlvdXIgc3RlcHMgd2hpY2ggY29udGFpbiBDdXN0b20gZmllbGQgbW9kdWxlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBXaGljaCBrZXkgeW91IGV4cGVjdCBmb3IgZ2V0dGluZyB0aGUgdmFsdWUuXHJcbiAgICogQHJldHVybnMge2FueX0gLSB3aGF0ZXZlciB2YWx1ZSB5b3Ugd2FudCB0byBzYXZlIGluIHRoYXQgY3VzdG9tIGZpZWxkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBoYW5kbGVDdXN0b21GaWVsZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvLyNyZWdpb24gVmFyaWFibGVzICYgRXZlbnRzXHJcblxyXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSB0cnVlO1xyXG4gIHByb3RlY3RlZCBlcnJvcnM6IGFueVtdID0gW107XHJcbiAgcHJvdGVjdGVkIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJvdGVjdGVkIGFsbG93ZWRBY3Rpb25zOiAoRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnKVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFySGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tc3RhdGVBbmd1bGFySGVscGVyLmRldGVjdENoYW5nZShjaGFuZ2VzLCBbVmFyaWFibGUuU1RBUlRdKSkge1xyXG4gICAgICBpZiAodGhpcy5zdGFydCkgdGhpcy5zZXRBbGxvd2VkQWN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBIYW5kbGVyc1xyXG5cclxuICBwcml2YXRlIHNldEFsbG93ZWRBY3Rpb25zKCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmluc3RhbmNlSUQpIHtcclxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgICAgIC5nZXRDdXJyZW50QWN0aW9uc1dpdGhJbnN0YW5jZUlEKHtcclxuICAgICAgICAgIGluc3RhbmNlSUQ6IHRoaXMuaW5zdGFuY2VJRCxcclxuICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHt9LCBlcnIuZXJyb3I/LmVycm9ycyk7XHJcbiAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxsb3dlZEFjdGlvbnMgPSBPYmplY3QudmFsdWVzKGRhdGEuZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1zdGF0ZUFuZ3VsYXJTZXJ2aWNlXHJcbiAgICAgICAgLmdldEN1cnJlbnRBY3Rpb25zV2l0aG91dEluc3RhbmNlSUQoe1xyXG4gICAgICAgICAgd29ya2Zsb3c6IHRoaXMud29ya2Zsb3csXHJcbiAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbixcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcih7fSwgZXJyLmVycm9yPy5lcnJvcnMpO1xyXG4gICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93ZWRBY3Rpb25zID0gT2JqZWN0LnZhbHVlcyhkYXRhLmRhdGEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUV4ZWN1dGVBY3Rpb24ocmVzcG9uc2U6IHsgdmFsdWU6IGFueTsgZXJyb3JzPzogc3RyaW5nW10gfSkge1xyXG4gICAgY29uc3QgeyB2YWx1ZSwgZXJyb3JzID0gW10gfSA9IHJlc3BvbnNlO1xyXG5cclxuICAgIGlmIChlcnJvcnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKHZhbHVlLCBlcnJvcnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IHZhbHVlLmFjdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB2YWx1ZT8uaW5zdGFuY2VJRCAmJlxyXG4gICAgICB2YWx1ZT8uaW5zdGFuY2VJRCAhPT0gdGhpcy5pbnN0YW5jZUlEICYmXHJcbiAgICAgICFlcnJvcnM/Lmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaW5zdGFuY2VJRCA9IHZhbHVlPy5pbnN0YW5jZUlEO1xyXG5cclxuICAgICAgdGhpcy5vbkluc3RhbmNlQ2hhbmdlLmVtaXQodmFsdWU/Lmluc3RhbmNlSUQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUFjdGlvbkV4ZWN1dGlvbihjb25maWc6IEV2YWx1YXRlZEFjdGlvbiB8IEFjdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IFtjb25maWddO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5QWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dlZEFjdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcih2YWx1ZTogYW55LCBlcnJvcnM6IGFueVtdKSB7XHJcbiAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcclxuICAgIHZhbHVlLmluc3RhbmNlSUQgPSBlcnJvcnNbMF1cclxuICAgICAgPy5zcGxpdChcImluc3RhbmNlSUQ9J1wiKVxyXG4gICAgICA/LnBvcCgpXHJcbiAgICAgID8ucmVwbGFjZShcIidcIiwgJycpO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvcnNcclxuICAgICAgLmZpbHRlcigoZTogc3RyaW5nKSA9PiB0eXBlb2YgZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIC5tYXAoKG1zZykgPT4gbXNnLnJlcGxhY2UoLyBpbnN0YW5jZUlEPScoLiopJy9pLCAnJykpO1xyXG5cclxuICAgIGlmICh0aGlzLm9uRXJyb3IpIHtcclxuICAgICAgdGhpcy5vbkVycm9yLmVtaXQodGhpcy5lcnJvcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXN0YXRlLWFuZ3VsYXJcIj5cclxuICA8aW1nXHJcbiAgICBzcmM9XCJodHRwczovL2ZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbS92MC9iL21vYmlvZmZpY2UtZGV2LmFwcHNwb3QuY29tL28vY29tcGFuaWVzX2xvZ28lMkZsb2dvLnBuZz9hbHQ9bWVkaWEmdG9rZW49ZTVmMjM4ZjAtYzM3My00Yzc2LTkxNjgtMzdmYmU3ZGExZGUwXCJcclxuICAgIGFsdD1cImxvZ29cIlxyXG4gICAgd2lkdGg9XCIxMDAlXCJcclxuICAgIGNsYXNzPVwibG9nb1wiXHJcbiAgLz5cclxuXHJcbiAgQGlmIChpc0xvYWRpbmcpIHtcclxuICAgIDxtb2JpLW9mZmljZS1sb2FkZXIgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiIC8+XHJcbiAgfSBAZWxzZSBpZiAoZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcclxuICAgIDxsaWItZXJyb3ItY2FyZCBbZXJyb3JzXT1cImVycm9yTWVzc2FnZXNcIiAocmV0cnkpPVwiaGFuZGxlUmV0cnlBY3Rpb24oKVwiIC8+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAc3dpdGNoIChhbGxvd2VkQWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgQGNhc2UgKDApIHtcclxuICAgICAgICA8bGliLXdvcmtmbG93LWVuZC1jYXJkIC8+XHJcbiAgICAgIH1cclxuICAgICAgQGNhc2UgKDEpIHtcclxuICAgICAgICA8bGliLWFjdGlvbi1mb3JtXHJcbiAgICAgICAgICBbd29ya2Zsb3ddPVwid29ya2Zsb3dcIlxyXG4gICAgICAgICAgW3Rva2VuXT1cInRva2VuXCJcclxuICAgICAgICAgIFtpbnN0YW5jZUlEXT1cImluc3RhbmNlSURcIlxyXG4gICAgICAgICAgW2NvbmZpZ109XCJhbGxvd2VkQWN0aW9uc1swXVwiXHJcbiAgICAgICAgICAob25FeGVjdXRlQWN0aW9uKT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAodXBkYXRlQ3VzdG9tRmllbGRWYWx1ZSk9XCJoYW5kbGVDdXN0b21GaWVsZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgKG9uU3VjY2Vzcyk9XCJvblN1Y2Nlc3MuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9saWItYWN0aW9uLWZvcm0+XHJcbiAgICAgIH1cclxuICAgICAgQGRlZmF1bHQge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBhbGxvd2VkQWN0aW9uczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxtb2JpLW9mZmljZS1hY3Rpb24tY2FyZFxyXG4gICAgICAgICAgICAgIFtjb25maWddPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgKGV4ZWN1dGVBY3Rpb24pPVwiaGFuZGxlQWN0aW9uRXhlY3V0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|
@@ -335,6 +335,8 @@ class ActionFormComponent {
|
|
335
335
|
steps: [],
|
336
336
|
};
|
337
337
|
this.onExecuteAction = new EventEmitter();
|
338
|
+
this.updateCustomFieldValue = new EventEmitter();
|
339
|
+
this.onSuccess = new EventEmitter();
|
338
340
|
this.isLoading = false;
|
339
341
|
this.nonUserInputField = {};
|
340
342
|
this.handleStepConfigFilter = () => {
|
@@ -345,7 +347,7 @@ class ActionFormComponent {
|
|
345
347
|
case ManualStepModule.CUSTOM_FIELD: {
|
346
348
|
if (this.updateCustomFieldValue) {
|
347
349
|
this.nonUserInputField[step?.context?.as] =
|
348
|
-
this.updateCustomFieldValue(step?.context?.key);
|
350
|
+
this.updateCustomFieldValue.emit(step?.context?.key);
|
349
351
|
}
|
350
352
|
return true;
|
351
353
|
}
|
@@ -400,7 +402,7 @@ class ActionFormComponent {
|
|
400
402
|
errors: [],
|
401
403
|
});
|
402
404
|
if (this.onSuccess) {
|
403
|
-
this.onSuccess(this.config.name);
|
405
|
+
this.onSuccess.emit(this.config.name);
|
404
406
|
}
|
405
407
|
});
|
406
408
|
}
|
@@ -429,7 +431,7 @@ class ActionFormComponent {
|
|
429
431
|
this.form = this.fb.group(validators);
|
430
432
|
}
|
431
433
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i3.FormBuilder }, { token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
432
|
-
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",
|
434
|
+
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", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", updateCustomFieldValue: "updateCustomFieldValue", onSuccess: "onSuccess" }, 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 <div style=\"width: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\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: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
|
433
435
|
}
|
434
436
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
435
437
|
type: Component,
|
@@ -438,7 +440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
438
440
|
ButtonComponent,
|
439
441
|
ReactiveFormsModule,
|
440
442
|
LoaderComponent,
|
441
|
-
], 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 <div style=\"
|
443
|
+
], 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 <div style=\"width: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\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"] }]
|
442
444
|
}], ctorParameters: () => [{ type: i3.FormBuilder }, { type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { token: [{
|
443
445
|
type: Input,
|
444
446
|
args: [{ required: true }]
|
@@ -451,11 +453,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
451
453
|
}], onExecuteAction: [{
|
452
454
|
type: Output
|
453
455
|
}], updateCustomFieldValue: [{
|
454
|
-
type:
|
456
|
+
type: Output
|
455
457
|
}], instanceID: [{
|
456
458
|
type: Input
|
457
459
|
}], onSuccess: [{
|
458
|
-
type:
|
460
|
+
type: Output
|
459
461
|
}] } });
|
460
462
|
|
461
463
|
class ActionCardComponent {
|
@@ -519,6 +521,30 @@ class MstateAngularComponent {
|
|
519
521
|
* @description Trigger if to start workflow.
|
520
522
|
*/
|
521
523
|
this.start = true;
|
524
|
+
/**
|
525
|
+
* Triggers whenever your current workflow moved to other.
|
526
|
+
* @param {string} newInstanceID - The new instance ID on which your current workflow moved.
|
527
|
+
* @returns {void}.
|
528
|
+
*/
|
529
|
+
this.onInstanceChange = new EventEmitter();
|
530
|
+
/**
|
531
|
+
* Triggers when The Action execution is completed.
|
532
|
+
* @param {string} actionName - action name which you have executed at this moment.
|
533
|
+
* @returns {void}.
|
534
|
+
*/
|
535
|
+
this.onSuccess = new EventEmitter();
|
536
|
+
/**
|
537
|
+
* Triggers when Error occurs while performing any action.
|
538
|
+
* @param {unknown[]} errors - Error response from the api call done by Mstate.
|
539
|
+
* @returns {void}.
|
540
|
+
*/
|
541
|
+
this.onError = new EventEmitter();
|
542
|
+
/**
|
543
|
+
* Handles your steps which contain Custom field module.
|
544
|
+
* @param {string} key - Which key you expect for getting the value.
|
545
|
+
* @returns {any} - whatever value you want to save in that custom field.
|
546
|
+
*/
|
547
|
+
this.handleCustomField = new EventEmitter();
|
522
548
|
//#region Variables & Events
|
523
549
|
this.isLoading = true;
|
524
550
|
this.errors = [];
|
@@ -584,9 +610,7 @@ class MstateAngularComponent {
|
|
584
610
|
value?.instanceID !== this.instanceID &&
|
585
611
|
!errors?.length) {
|
586
612
|
this.instanceID = value?.instanceID;
|
587
|
-
|
588
|
-
this.onInstanceChange(value?.instanceID);
|
589
|
-
}
|
613
|
+
this.onInstanceChange.emit(value?.instanceID);
|
590
614
|
}
|
591
615
|
}
|
592
616
|
handleActionExecution(config) {
|
@@ -610,11 +634,11 @@ class MstateAngularComponent {
|
|
610
634
|
.filter((e) => typeof e === 'string')
|
611
635
|
.map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));
|
612
636
|
if (this.onError) {
|
613
|
-
this.onError(this.errors);
|
637
|
+
this.onError.emit(this.errors);
|
614
638
|
}
|
615
639
|
}
|
616
640
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, deps: [{ token: MstateAngularHelper }, { token: MstateAngularService }], target: i0.ɵɵFactoryTarget.Component }); }
|
617
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MstateAngularComponent, isStandalone: true, selector: "mstate-angular", inputs: { token: "token", workflow: "workflow", instanceID: "instanceID", start: "start", who: "who", onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n [updateCustomFieldValue]=\"handleCustomField\"\r\n [onSuccess]=\"onSuccess\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular{overflow:auto}.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "updateCustomFieldValue", "instanceID", "onSuccess"], outputs: ["onExecuteAction"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["config"], outputs: ["executeAction"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }, { kind: "component", type: ErrorCardComponent, selector: "lib-error-card", inputs: ["errors"], outputs: ["retry"] }, { kind: "component", type: WorkflowEndCardComponent, selector: "lib-workflow-end-card" }] }); }
|
641
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MstateAngularComponent, isStandalone: true, selector: "mstate-angular", inputs: { token: "token", workflow: "workflow", instanceID: "instanceID", start: "start", who: "who" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n (updateCustomFieldValue)=\"handleCustomField.emit($event)\"\r\n (onSuccess)=\"onSuccess.emit($event)\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "instanceID"], outputs: ["onExecuteAction", "updateCustomFieldValue", "onSuccess"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["config"], outputs: ["executeAction"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }, { kind: "component", type: ErrorCardComponent, selector: "lib-error-card", inputs: ["errors"], outputs: ["retry"] }, { kind: "component", type: WorkflowEndCardComponent, selector: "lib-workflow-end-card" }] }); }
|
618
642
|
}
|
619
643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
|
620
644
|
type: Component,
|
@@ -625,7 +649,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
625
649
|
LoaderComponent,
|
626
650
|
ErrorCardComponent,
|
627
651
|
WorkflowEndCardComponent,
|
628
|
-
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n [updateCustomFieldValue]=\"handleCustomField\"\r\n [onSuccess]=\"onSuccess\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular{overflow:auto}.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"] }]
|
652
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n (updateCustomFieldValue)=\"handleCustomField.emit($event)\"\r\n (onSuccess)=\"onSuccess.emit($event)\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep small{color:red}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{display:none}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:center;min-height:45px;padding-bottom:3px;padding-inline:.5rem}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select-container{border:1px solid #ced4da;border-radius:5px;padding-left:5px}.mstate-angular ::ng-deep .ng-input input{height:100%;font-size:14px;padding-left:10px}.mstate-angular ::ng-deep .ng-input{padding-left:10px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px .75em;margin:.4375em .4375em 5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px;display:flex}.mstate-angular .flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center}.mstate-angular ::ng-deep .form-control{display:block;min-height:35px;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;outline:none;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular ::ng-deep .form-group{padding-block:8px}\n"] }]
|
629
653
|
}], ctorParameters: () => [{ type: MstateAngularHelper }, { type: MstateAngularService }], propDecorators: { token: [{
|
630
654
|
type: Input,
|
631
655
|
args: [{ required: true }]
|
@@ -639,13 +663,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
639
663
|
}], who: [{
|
640
664
|
type: Input
|
641
665
|
}], onInstanceChange: [{
|
642
|
-
type:
|
666
|
+
type: Output
|
643
667
|
}], onSuccess: [{
|
644
|
-
type:
|
668
|
+
type: Output
|
645
669
|
}], onError: [{
|
646
|
-
type:
|
670
|
+
type: Output
|
647
671
|
}], handleCustomField: [{
|
648
|
-
type:
|
672
|
+
type: Output
|
649
673
|
}] } });
|
650
674
|
|
651
675
|
class MstateAngularModule {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mstate-angular.mjs","sources":["../../../projects/mstate-angular/src/lib/common/enum.ts","../../../projects/mstate-angular/src/lib/common/constant.ts","../../../projects/mstate-angular/src/lib/mstate-angular.helper.ts","../../../projects/mstate-angular/src/lib/mstate-angular.service.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.html","../../../projects/mstate-angular/src/lib/components/select/select.component.ts","../../../projects/mstate-angular/src/lib/components/select/select.component.html","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.ts","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.html","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.ts","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.html","../../../projects/mstate-angular/src/lib/components/button/button.component.ts","../../../projects/mstate-angular/src/lib/components/button/button.component.html","../../../projects/mstate-angular/src/lib/components/loader/loader.component.ts","../../../projects/mstate-angular/src/lib/components/loader/loader.component.html","../../../projects/mstate-angular/src/lib/action-form/action-form.component.ts","../../../projects/mstate-angular/src/lib/action-form/action-form.component.html","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.ts","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.html","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.ts","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.html","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.ts","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.html","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.ts","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.html","../../../projects/mstate-angular/src/lib/mstate-angular.module.ts","../../../projects/mstate-angular/src/public-api.ts","../../../projects/mstate-angular/src/mstate-angular.ts"],"sourcesContent":["export enum Route {\r\n EXECUTE_ACTION = 'workflow/v2/execute',\r\n GET_WORKFLOW_CONFIG = 'workflow/config',\r\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\r\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\r\n}\r\n\r\nexport enum FieldType {\r\n DATE_PICKER = 'datePicker',\r\n TIME_PICKER = 'timePicker',\r\n INPUT_FIELD = 'inputField',\r\n TEXT_AREA = 'textArea',\r\n CHECKBOX = 'checkBox',\r\n RADIO_LIST = 'radioList',\r\n DROP_DOWN = 'dropDown',\r\n SUMMARY = 'summary',\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n}\r\n\r\nexport enum ManualStepModule {\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n USER_INPUT = 'USER_INPUT',\r\n}\r\n\r\nexport enum Theme {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n SYSTEM = 'system',\r\n}\r\n\r\nexport enum Variable {\r\n WORKFLOW = 'workflow',\r\n TOKEN = 'token',\r\n INSTANCE_ID = 'instanceID',\r\n START = 'start',\r\n TRIGGER_AGAIN = 'triggerAgain',\r\n ERRORS = 'errors',\r\n}\r\n\r\nexport enum ActionType {\r\n MANUAL = 'MANUAL',\r\n AUTO = 'AUTO',\r\n CHAINED = 'CHAINED',\r\n}\r\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\r\n// export const MSTATE_URL = 'http://localhost:3000/api';\r\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\r\nexport const TOKEN_KEY: string = 'secret-key';\r\n","import { Injectable, SimpleChanges } from '@angular/core';\r\nimport { Step, UserInput } from './interfaces/interface';\r\nimport { FieldType } from './common/enum';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularHelper {\r\n detectChange(change: SimpleChanges, keys: string[]) {\r\n for (const key of keys) {\r\n if (change[key] && change[key].currentValue !== change[key].previousValue)\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n formatString(str: string = '') {\r\n return str.toUpperCase().replace(/_/gi, ' ');\r\n }\r\n\r\n getObjectValue<T>(obj: any, target: string) {\r\n const keys = target ? target.split('.') : [];\r\n\r\n let cur: any = obj;\r\n for (const key of keys) {\r\n cur = cur?.[key];\r\n }\r\n\r\n return cur as T | undefined;\r\n }\r\n\r\n checkIsStep(step: Step | UserInput): step is Step {\r\n return (step as Step)?.config !== undefined;\r\n }\r\n\r\n checkIsHandledStep(module: FieldType) {\r\n switch (module) {\r\n case FieldType.CHECKBOX:\r\n case FieldType.DROP_DOWN:\r\n case FieldType.INPUT_FIELD:\r\n case FieldType.RADIO_LIST:\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n switch (\r\n (form.controls[key].status === 'INVALID' && form.controls[key].touched) ||\r\n (form.controls[key].status === 'INVALID' && form.controls[key].dirty)\r\n ) {\r\n case true:\r\n return {\r\n isError: true,\r\n message: `${key} is required`,\r\n };\r\n default:\r\n return {\r\n isError: false,\r\n message: '',\r\n };\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\r\nimport { Route } from './common/enum';\r\n\r\nimport {\r\n GetCurrentActionsWithInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDResponse,\r\n MstateResponse,\r\n PostExecuteActionRequest,\r\n PostExecuteActionResponse,\r\n} from './interfaces/api.interface';\r\nimport axios, { AxiosRequestConfig } from 'axios';\r\nimport { MstateAngularHelper } from './mstate-angular.helper';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularService {\r\n private getHeaders(token: string) {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n [TOKEN_KEY]: token,\r\n });\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\r\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\r\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\r\n {\r\n instanceID: payload.instanceID ?? '',\r\n name: payload.workflow,\r\n action: payload.action,\r\n },\r\n { headers: this.getHeaders(payload.token) }\r\n );\r\n }\r\n\r\n getCurrentActionsWithInstanceID(\r\n payload: GetCurrentActionsWithInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n getCurrentActionsWithoutInstanceID(\r\n payload: GetCurrentActionsWithoutInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\r\n const response = await axios(request);\r\n\r\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\n\r\n@Component({\r\n selector: 'mobi-office-input-field',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n templateUrl: './input-field.component.html',\r\n styleUrl: './input-field.component.scss',\r\n})\r\nexport class InputFieldComponent {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(private mstateHelper: MstateAngularHelper) {}\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div\r\n class=\"form-group\"\r\n [formGroup]=\"mstateModel\"\r\n style=\"display: flex; flex-direction: column\"\r\n>\r\n <label>{{ config.label }}</label>\r\n <input\r\n style=\"flex: 1\"\r\n [required]=\"config.field.isRequired || false\"\r\n [type]=\"config.inputType\"\r\n [name]=\"config.field.keyForAPI\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n class=\"form-control\"\r\n />\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularService } from '../../mstate-angular.service';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n@Component({\r\n selector: 'mobi-office-select',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\r\n providers: [MstateAngularService],\r\n templateUrl: './select.component.html',\r\n styleUrl: './select.component.scss',\r\n})\r\nexport class SelectComponent implements OnInit {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(\r\n private mstateService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n protected list: any[] = [];\r\n\r\n ngOnInit(): void {\r\n const field = this.config.field ?? {};\r\n\r\n if (field.request) {\r\n this.mstateService\r\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\r\n .then((data) => {\r\n this.list = data;\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n this.list = field.itemList ?? [];\r\n }\r\n }\r\n\r\n getObjectValue(obj: any, target: string) {\r\n return this.mstateHelper.getObjectValue(obj, target);\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\r\n <label>{{ config.label }}</label>\r\n\r\n <ng-select\r\n [required]=\"config.field.isRequired || false\"\r\n [items]=\"list\"\r\n [multiple]=\"true\"\r\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n >\r\n </ng-select>\r\n\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularService } from '../../mstate-angular.service';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n@Component({\r\n selector: 'mobi-office-dropdown',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\r\n providers: [MstateAngularService],\r\n templateUrl: './dropdown.component.html',\r\n styleUrl: './dropdown.component.scss',\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(\r\n private mstateService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n protected list: any[] = [];\r\n\r\n ngOnInit(): void {\r\n const field = this.config.field ?? {};\r\n\r\n if (field.request) {\r\n this.mstateService\r\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\r\n .then((data) => {\r\n this.list = data;\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n this.list = field.itemList ?? [];\r\n }\r\n }\r\n\r\n getObjectValue(obj: any, target: string) {\r\n return this.mstateHelper.getObjectValue(obj, target);\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\r\n <label>{{ config.label }}</label>\r\n\r\n <ng-select\r\n [items]=\"list\"\r\n [multiple]=\"false\"\r\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n [required]=\"config.field.isRequired || false\"\r\n >\r\n </ng-select>\r\n\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Step, UserInput } from '../interfaces/interface';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { FieldType } from '../common/enum';\r\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\r\nimport { SelectComponent } from '../components/select/select.component';\r\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'mobi-office-input-selector',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n InputFieldComponent,\r\n SelectComponent,\r\n DropdownComponent,\r\n ],\r\n providers: [MstateAngularHelper, MstateAngularService],\r\n templateUrl: './input-selector.component.html',\r\n styleUrl: './input-selector.component.scss',\r\n})\r\nexport class InputSelectorComponent implements OnInit {\r\n @Input({ required: true }) step!: UserInput | Step;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(private mstateHelper: MstateAngularHelper) {}\r\n\r\n protected config!: UserInput;\r\n protected FieldType = FieldType;\r\n\r\n ngOnInit(): void {\r\n this.config = this.mstateHelper.checkIsStep(this.step)\r\n ? this.step?.config?.data\r\n : this.step;\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","@switch (config.fieldType) { @case (FieldType.INPUT_FIELD) {\r\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.TEXT_AREA) {\r\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.DROP_DOWN) {\r\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.RADIO_LIST) {\r\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.CHECKBOX) {\r\n<mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @default { } }\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mobi-office-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss',\r\n})\r\nexport class ButtonComponent {\r\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\r\n @Input() onClick: () => void = () => {};\r\n}\r\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\r\n <ng-content></ng-content>\r\n</button>\r\n","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mobi-office-loader',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './loader.component.html',\r\n styleUrl: './loader.component.scss',\r\n})\r\nexport class LoaderComponent {}\r\n","<img\r\n class=\"loader\"\r\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\r\n alt=\"loading\"\r\n/>\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { catchError, finalize } from 'rxjs';\r\nimport { ActionConfig, UserInput } from '../interfaces/interface';\r\nimport { EvaluatedAction } from '../interfaces/api.interface';\r\nimport { ActionType, ManualStepModule } from '../common/enum';\r\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\r\nimport { ButtonComponent } from '../components/button/button.component';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { LoaderComponent } from '../components/loader/loader.component';\r\n\r\n@Component({\r\n selector: 'lib-action-form',\r\n standalone: true,\r\n imports: [\r\n InputSelectorComponent,\r\n ButtonComponent,\r\n ReactiveFormsModule,\r\n LoaderComponent,\r\n ],\r\n providers: [MstateAngularService, MstateAngularHelper],\r\n templateUrl: './action-form.component.html',\r\n styleUrl: './action-form.component.scss',\r\n})\r\nexport class ActionFormComponent implements OnInit {\r\n @Input({ required: true }) token: string = '';\r\n @Input({ required: true }) workflow: string = '';\r\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\r\n name: '',\r\n type: ActionType.MANUAL,\r\n steps: [],\r\n };\r\n @Output() onExecuteAction = new EventEmitter<{\r\n value: any;\r\n errors?: string[];\r\n }>();\r\n @Input() updateCustomFieldValue?: (key: string) => any;\r\n\r\n @Input() instanceID?: string;\r\n @Input() onSuccess?: (actionName: string) => void;\r\n\r\n //#region Custom Declaration\r\n protected form!: FormGroup;\r\n protected isLoading = false;\r\n protected nonUserInputField: any = {};\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private mstateAngularService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (Boolean(this.config?.steps?.length) === false) {\r\n this.handleExecuteAction();\r\n return;\r\n }\r\n\r\n this.assignFormBuilder();\r\n this.handleStepConfigFilter();\r\n }\r\n\r\n //#region handlers\r\n\r\n protected handleExecuteAction() {\r\n if (this.form.status === 'VALID') {\r\n this.isLoading = true;\r\n\r\n this.mstateAngularService\r\n .executeAction({\r\n action: {\r\n name: this.config.name,\r\n payload: {\r\n ...this.form.value,\r\n ...this.nonUserInputField,\r\n },\r\n },\r\n token: this.token,\r\n workflow: this.workflow,\r\n })\r\n .pipe(\r\n catchError((e) => {\r\n this.onExecuteAction.emit({\r\n value: {},\r\n errors: e.error?.errors ?? [],\r\n });\r\n\r\n throw e;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.onExecuteAction.emit({\r\n value: data.data,\r\n errors: [],\r\n });\r\n if (this.onSuccess) {\r\n this.onSuccess(this.config.name);\r\n }\r\n });\r\n } else {\r\n this.markAllAsTouched(this.form);\r\n }\r\n }\r\n private markAllAsTouched(formGroup: FormGroup): void {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n const control = formGroup.get(key);\r\n if (control?.markAsTouched) {\r\n control?.markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n private handleStepConfigFilter = () => {\r\n const keyForAPISet = new Set();\r\n\r\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\r\n const step = stepConfig as UserInput;\r\n\r\n switch (step?.module) {\r\n case ManualStepModule.CUSTOM_FIELD: {\r\n if (this.updateCustomFieldValue) {\r\n this.nonUserInputField[step?.context?.as] =\r\n this.updateCustomFieldValue(step?.context?.key);\r\n }\r\n return true;\r\n }\r\n\r\n case ManualStepModule.CONTEXT_FIELD:\r\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\r\n return true;\r\n\r\n default: {\r\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\r\n keyForAPISet.add(step?.field?.keyForAPI);\r\n return isDuplicate === false;\r\n }\r\n }\r\n }) as UserInput[];\r\n };\r\n\r\n private assignFormBuilder() {\r\n const validators = this.config.steps.reduce(\r\n (acc, data) =>\r\n Object.assign(\r\n acc,\r\n this.mstateHelper.checkIsStep(data) === false &&\r\n this.mstateHelper.checkIsHandledStep(data.fieldType)\r\n ? {\r\n [data?.field?.keyForAPI]: [\r\n data?.field.multiple ? [] : '',\r\n data?.field?.isRequired ? [Validators.required] : undefined,\r\n ],\r\n }\r\n : {},\r\n ),\r\n {},\r\n );\r\n this.form = this.fb.group(validators);\r\n }\r\n\r\n //#endregion\r\n}\r\n","<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 <div style=\"height: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EvaluatedAction } from '../../interfaces/api.interface';\r\nimport { ActionConfig } from '../../interfaces/interface';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'mobi-office-action-card',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './action-card.component.html',\r\n styleUrl: './action-card.component.scss',\r\n})\r\nexport class ActionCardComponent {\r\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\r\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\r\n\r\n triggerExecuteAction() {\r\n this.executeAction.emit(this.config);\r\n }\r\n}\r\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\r\n <img\r\n src=\"https://docs.mstate.ai/img/mymobioffice_logo.png\"\r\n alt=\"Card Image\"\r\n class=\"card-image\"\r\n />\r\n <div class=\"card-content\">\r\n <h3 class=\"card-title\">\r\n {{ config?.name }}\r\n </h3>\r\n <p class=\"card-description\">\r\n {{ config?.meta?.desc ?? 'Click card to execute' }}\r\n </p>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"card-button\">Execute</button>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'lib-error-card',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './error-card.component.html',\r\n styleUrl: './error-card.component.scss',\r\n})\r\nexport class ErrorCardComponent {\r\n @Input({ required: true }) errors!: string[];\r\n @Output() retry = new EventEmitter<undefined>();\r\n\r\n protected handleRetryError() {\r\n this.retry.emit();\r\n }\r\n}\r\n","<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 <p style=\"color: red; font-size: 1rem; text-align: center\">\r\n {{ message }}\r\n </p>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-workflow-end-card',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './workflow-end-card.component.html',\r\n styleUrl: './workflow-end-card.component.scss',\r\n})\r\nexport class WorkflowEndCardComponent {}\r\n","<p>Workflow Ended</p>\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Theme, Variable } from '../common/enum';\r\nimport { ActionFormComponent } from '../action-form/action-form.component';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { catchError, finalize } from 'rxjs';\r\nimport { EvaluatedAction } from '../interfaces/api.interface';\r\nimport { ActionConfig } from '../interfaces/interface';\r\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\r\nimport { LoaderComponent } from '../components/loader/loader.component';\r\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\r\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\r\n\r\n@Component({\r\n selector: 'mstate-angular',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ActionFormComponent,\r\n ActionCardComponent,\r\n LoaderComponent,\r\n ErrorCardComponent,\r\n WorkflowEndCardComponent,\r\n ],\r\n providers: [MstateAngularHelper, MstateAngularService],\r\n templateUrl: './mstate-angular.component.html',\r\n styleUrl: './mstate-angular.component.scss',\r\n})\r\nexport class MstateAngularComponent implements OnChanges, OnInit {\r\n @Input({ required: true }) token: string = '';\r\n @Input({ required: true }) workflow: string = '';\r\n @Input() instanceID?: string;\r\n /**\r\n * @type {boolean}\r\n * @default true\r\n * @description Trigger if to start workflow.\r\n */\r\n @Input() start: boolean = true;\r\n /**\r\n * @type {string}\r\n * @description To Validate who are allowed to perform or see action.\r\n */\r\n @Input() who?: string;\r\n /**\r\n * Triggers whenever your current workflow moved to other.\r\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\r\n * @returns {void}.\r\n */\r\n @Input() onInstanceChange?: (newInstanceID: string) => void;\r\n /**\r\n * Triggers when The Action execution is completed.\r\n * @param {string} actionName - action name which you have executed at this moment.\r\n * @returns {void}.\r\n */\r\n @Input() onSuccess?: (actionName: string) => void;\r\n /**\r\n * Triggers when Error occurs while performing any action.\r\n * @param {unknown[]} errors - Error response from the api call done by Mstate.\r\n * @returns {void}.\r\n */\r\n @Input() onError?: (errors: unknown[]) => void;\r\n /**\r\n * Handles your steps which contain Custom field module.\r\n * @param {string} key - Which key you expect for getting the value.\r\n * @returns {any} - whatever value you want to save in that custom field.\r\n */\r\n @Input() handleCustomField?: (key: string) => any;\r\n\r\n //#region Variables & Events\r\n\r\n protected isLoading = true;\r\n protected errors: any[] = [];\r\n protected errorMessages: string[] = [];\r\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\r\n\r\n constructor(\r\n private mstateAngularHelper: MstateAngularHelper,\r\n private mstateAngularService: MstateAngularService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Handlers\r\n\r\n private setAllowedActions() {\r\n this.isLoading = true;\r\n\r\n if (this.instanceID) {\r\n this.mstateAngularService\r\n .getCurrentActionsWithInstanceID({\r\n instanceID: this.instanceID,\r\n token: this.token,\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleError({}, err.error?.errors);\r\n throw err;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.allowedActions = Object.values(data.data);\r\n });\r\n } else {\r\n this.mstateAngularService\r\n .getCurrentActionsWithoutInstanceID({\r\n workflow: this.workflow,\r\n token: this.token,\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleError({}, err.error?.errors);\r\n throw err;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.allowedActions = Object.values(data.data);\r\n });\r\n }\r\n }\r\n\r\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\r\n const { value, errors = [] } = response;\r\n\r\n if (errors?.length) {\r\n this.handleError(value, errors);\r\n } else {\r\n this.allowedActions = value.actions;\r\n }\r\n\r\n if (\r\n value?.instanceID &&\r\n value?.instanceID !== this.instanceID &&\r\n !errors?.length\r\n ) {\r\n this.instanceID = value?.instanceID;\r\n\r\n if (this.onInstanceChange) {\r\n this.onInstanceChange(value?.instanceID);\r\n }\r\n }\r\n }\r\n\r\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\r\n this.allowedActions = [config];\r\n }\r\n\r\n protected handleRetryAction() {\r\n if (this.allowedActions.length === 0) {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n\r\n this.errors = [];\r\n this.errorMessages = [];\r\n }\r\n\r\n private handleError(value: any, errors: any[]) {\r\n this.errors = errors;\r\n value.instanceID = errors[0]\r\n ?.split(\"instanceID='\")\r\n ?.pop()\r\n ?.replace(\"'\", '');\r\n this.errorMessages = this.errors\r\n .filter((e: string) => typeof e === 'string')\r\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\r\n\r\n if (this.onError) {\r\n this.onError(this.errors);\r\n }\r\n }\r\n //#endregion\r\n}\r\n","<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n [updateCustomFieldValue]=\"handleCustomField\"\r\n [onSuccess]=\"onSuccess\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\r\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\r\n})\r\nexport class MstateAngularModule {}\r\n","/*\r\n * Public API Surface of mstate-angular\r\n */\r\n\r\nexport * from './lib/mstate-angular/mstate-angular.component';\r\nexport * from './lib/mstate-angular.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i2","i1.MstateAngularService","i1","i2.MstateAngularService","i3.MstateAngularHelper"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"mstate-angular.mjs","sources":["../../../projects/mstate-angular/src/lib/common/enum.ts","../../../projects/mstate-angular/src/lib/common/constant.ts","../../../projects/mstate-angular/src/lib/mstate-angular.helper.ts","../../../projects/mstate-angular/src/lib/mstate-angular.service.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.html","../../../projects/mstate-angular/src/lib/components/select/select.component.ts","../../../projects/mstate-angular/src/lib/components/select/select.component.html","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.ts","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.html","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.ts","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.html","../../../projects/mstate-angular/src/lib/components/button/button.component.ts","../../../projects/mstate-angular/src/lib/components/button/button.component.html","../../../projects/mstate-angular/src/lib/components/loader/loader.component.ts","../../../projects/mstate-angular/src/lib/components/loader/loader.component.html","../../../projects/mstate-angular/src/lib/action-form/action-form.component.ts","../../../projects/mstate-angular/src/lib/action-form/action-form.component.html","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.ts","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.html","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.ts","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.html","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.ts","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.html","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.ts","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.html","../../../projects/mstate-angular/src/lib/mstate-angular.module.ts","../../../projects/mstate-angular/src/public-api.ts","../../../projects/mstate-angular/src/mstate-angular.ts"],"sourcesContent":["export enum Route {\r\n EXECUTE_ACTION = 'workflow/v2/execute',\r\n GET_WORKFLOW_CONFIG = 'workflow/config',\r\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\r\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\r\n}\r\n\r\nexport enum FieldType {\r\n DATE_PICKER = 'datePicker',\r\n TIME_PICKER = 'timePicker',\r\n INPUT_FIELD = 'inputField',\r\n TEXT_AREA = 'textArea',\r\n CHECKBOX = 'checkBox',\r\n RADIO_LIST = 'radioList',\r\n DROP_DOWN = 'dropDown',\r\n SUMMARY = 'summary',\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n}\r\n\r\nexport enum ManualStepModule {\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n USER_INPUT = 'USER_INPUT',\r\n}\r\n\r\nexport enum Theme {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n SYSTEM = 'system',\r\n}\r\n\r\nexport enum Variable {\r\n WORKFLOW = 'workflow',\r\n TOKEN = 'token',\r\n INSTANCE_ID = 'instanceID',\r\n START = 'start',\r\n TRIGGER_AGAIN = 'triggerAgain',\r\n ERRORS = 'errors',\r\n}\r\n\r\nexport enum ActionType {\r\n MANUAL = 'MANUAL',\r\n AUTO = 'AUTO',\r\n CHAINED = 'CHAINED',\r\n}\r\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\r\n// export const MSTATE_URL = 'http://localhost:3000/api';\r\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\r\nexport const TOKEN_KEY: string = 'secret-key';\r\n","import { Injectable, SimpleChanges } from '@angular/core';\r\nimport { Step, UserInput } from './interfaces/interface';\r\nimport { FieldType } from './common/enum';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularHelper {\r\n detectChange(change: SimpleChanges, keys: string[]) {\r\n for (const key of keys) {\r\n if (change[key] && change[key].currentValue !== change[key].previousValue)\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n formatString(str: string = '') {\r\n return str.toUpperCase().replace(/_/gi, ' ');\r\n }\r\n\r\n getObjectValue<T>(obj: any, target: string) {\r\n const keys = target ? target.split('.') : [];\r\n\r\n let cur: any = obj;\r\n for (const key of keys) {\r\n cur = cur?.[key];\r\n }\r\n\r\n return cur as T | undefined;\r\n }\r\n\r\n checkIsStep(step: Step | UserInput): step is Step {\r\n return (step as Step)?.config !== undefined;\r\n }\r\n\r\n checkIsHandledStep(module: FieldType) {\r\n switch (module) {\r\n case FieldType.CHECKBOX:\r\n case FieldType.DROP_DOWN:\r\n case FieldType.INPUT_FIELD:\r\n case FieldType.RADIO_LIST:\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n switch (\r\n (form.controls[key].status === 'INVALID' && form.controls[key].touched) ||\r\n (form.controls[key].status === 'INVALID' && form.controls[key].dirty)\r\n ) {\r\n case true:\r\n return {\r\n isError: true,\r\n message: `${key} is required`,\r\n };\r\n default:\r\n return {\r\n isError: false,\r\n message: '',\r\n };\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\r\nimport { Route } from './common/enum';\r\n\r\nimport {\r\n GetCurrentActionsWithInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDResponse,\r\n MstateResponse,\r\n PostExecuteActionRequest,\r\n PostExecuteActionResponse,\r\n} from './interfaces/api.interface';\r\nimport axios, { AxiosRequestConfig } from 'axios';\r\nimport { MstateAngularHelper } from './mstate-angular.helper';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularService {\r\n private getHeaders(token: string) {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n [TOKEN_KEY]: token,\r\n });\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\r\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\r\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\r\n {\r\n instanceID: payload.instanceID ?? '',\r\n name: payload.workflow,\r\n action: payload.action,\r\n },\r\n { headers: this.getHeaders(payload.token) }\r\n );\r\n }\r\n\r\n getCurrentActionsWithInstanceID(\r\n payload: GetCurrentActionsWithInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n getCurrentActionsWithoutInstanceID(\r\n payload: GetCurrentActionsWithoutInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\r\n const response = await axios(request);\r\n\r\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\n\r\n@Component({\r\n selector: 'mobi-office-input-field',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n templateUrl: './input-field.component.html',\r\n styleUrl: './input-field.component.scss',\r\n})\r\nexport class InputFieldComponent {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(private mstateHelper: MstateAngularHelper) {}\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div\r\n class=\"form-group\"\r\n [formGroup]=\"mstateModel\"\r\n style=\"display: flex; flex-direction: column\"\r\n>\r\n <label>{{ config.label }}</label>\r\n <input\r\n style=\"flex: 1\"\r\n [required]=\"config.field.isRequired || false\"\r\n [type]=\"config.inputType\"\r\n [name]=\"config.field.keyForAPI\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n class=\"form-control\"\r\n />\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularService } from '../../mstate-angular.service';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n@Component({\r\n selector: 'mobi-office-select',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\r\n providers: [MstateAngularService],\r\n templateUrl: './select.component.html',\r\n styleUrl: './select.component.scss',\r\n})\r\nexport class SelectComponent implements OnInit {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(\r\n private mstateService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n protected list: any[] = [];\r\n\r\n ngOnInit(): void {\r\n const field = this.config.field ?? {};\r\n\r\n if (field.request) {\r\n this.mstateService\r\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\r\n .then((data) => {\r\n this.list = data;\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n this.list = field.itemList ?? [];\r\n }\r\n }\r\n\r\n getObjectValue(obj: any, target: string) {\r\n return this.mstateHelper.getObjectValue(obj, target);\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\r\n <label>{{ config.label }}</label>\r\n\r\n <ng-select\r\n [required]=\"config.field.isRequired || false\"\r\n [items]=\"list\"\r\n [multiple]=\"true\"\r\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n >\r\n </ng-select>\r\n\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserInput } from '../../interfaces/interface';\r\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { MstateAngularService } from '../../mstate-angular.service';\r\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n@Component({\r\n selector: 'mobi-office-dropdown',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\r\n providers: [MstateAngularService],\r\n templateUrl: './dropdown.component.html',\r\n styleUrl: './dropdown.component.scss',\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n @Input({ required: true }) config!: UserInput;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(\r\n private mstateService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n protected list: any[] = [];\r\n\r\n ngOnInit(): void {\r\n const field = this.config.field ?? {};\r\n\r\n if (field.request) {\r\n this.mstateService\r\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\r\n .then((data) => {\r\n this.list = data;\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n this.list = field.itemList ?? [];\r\n }\r\n }\r\n\r\n getObjectValue(obj: any, target: string) {\r\n return this.mstateHelper.getObjectValue(obj, target);\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\r\n <label>{{ config.label }}</label>\r\n\r\n <ng-select\r\n [items]=\"list\"\r\n [multiple]=\"false\"\r\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\r\n [placeholder]=\"config.field.placeholder\"\r\n [formControlName]=\"config.field.keyForAPI\"\r\n [required]=\"config.field.isRequired || false\"\r\n >\r\n </ng-select>\r\n\r\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\r\n <small>{{\r\n checkInputError(mstateModel, config.field.keyForAPI).message\r\n }}</small>\r\n }\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Step, UserInput } from '../interfaces/interface';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { FieldType } from '../common/enum';\r\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\r\nimport { SelectComponent } from '../components/select/select.component';\r\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'mobi-office-input-selector',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n InputFieldComponent,\r\n SelectComponent,\r\n DropdownComponent,\r\n ],\r\n providers: [MstateAngularHelper, MstateAngularService],\r\n templateUrl: './input-selector.component.html',\r\n styleUrl: './input-selector.component.scss',\r\n})\r\nexport class InputSelectorComponent implements OnInit {\r\n @Input({ required: true }) step!: UserInput | Step;\r\n @Input({ required: true }) mstateModel!: FormGroup;\r\n\r\n constructor(private mstateHelper: MstateAngularHelper) {}\r\n\r\n protected config!: UserInput;\r\n protected FieldType = FieldType;\r\n\r\n ngOnInit(): void {\r\n this.config = this.mstateHelper.checkIsStep(this.step)\r\n ? this.step?.config?.data\r\n : this.step;\r\n }\r\n\r\n checkInputError(form: FormGroup, key: string) {\r\n return this.mstateHelper.checkInputError(form, key);\r\n }\r\n}\r\n","@switch (config.fieldType) { @case (FieldType.INPUT_FIELD) {\r\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.TEXT_AREA) {\r\n<mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.DROP_DOWN) {\r\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.RADIO_LIST) {\r\n<mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @case (FieldType.CHECKBOX) {\r\n<mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\r\n} @default { } }\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mobi-office-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss',\r\n})\r\nexport class ButtonComponent {\r\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\r\n @Input() onClick: () => void = () => {};\r\n}\r\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\r\n <ng-content></ng-content>\r\n</button>\r\n","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mobi-office-loader',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './loader.component.html',\r\n styleUrl: './loader.component.scss',\r\n})\r\nexport class LoaderComponent {}\r\n","<img\r\n class=\"loader\"\r\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\r\n alt=\"loading\"\r\n/>\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { catchError, finalize } from 'rxjs';\r\nimport { ActionConfig, UserInput } from '../interfaces/interface';\r\nimport { EvaluatedAction } from '../interfaces/api.interface';\r\nimport { ActionType, ManualStepModule } from '../common/enum';\r\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\r\nimport { ButtonComponent } from '../components/button/button.component';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { LoaderComponent } from '../components/loader/loader.component';\r\n\r\n@Component({\r\n selector: 'lib-action-form',\r\n standalone: true,\r\n imports: [\r\n InputSelectorComponent,\r\n ButtonComponent,\r\n ReactiveFormsModule,\r\n LoaderComponent,\r\n ],\r\n providers: [MstateAngularService, MstateAngularHelper],\r\n templateUrl: './action-form.component.html',\r\n styleUrl: './action-form.component.scss',\r\n})\r\nexport class ActionFormComponent implements OnInit {\r\n @Input({ required: true }) token: string = '';\r\n @Input({ required: true }) workflow: string = '';\r\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\r\n name: '',\r\n type: ActionType.MANUAL,\r\n steps: [],\r\n };\r\n @Output() onExecuteAction = new EventEmitter<{\r\n value: any;\r\n errors?: string[];\r\n }>();\r\n @Output() updateCustomFieldValue = new EventEmitter<string>();\r\n\r\n @Input() instanceID?: string;\r\n @Output() onSuccess = new EventEmitter<string>();\r\n\r\n //#region Custom Declaration\r\n protected form!: FormGroup;\r\n protected isLoading = false;\r\n protected nonUserInputField: any = {};\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private mstateAngularService: MstateAngularService,\r\n private mstateHelper: MstateAngularHelper,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (Boolean(this.config?.steps?.length) === false) {\r\n this.handleExecuteAction();\r\n return;\r\n }\r\n\r\n this.assignFormBuilder();\r\n this.handleStepConfigFilter();\r\n }\r\n\r\n //#region handlers\r\n\r\n protected handleExecuteAction() {\r\n if (this.form.status === 'VALID') {\r\n this.isLoading = true;\r\n\r\n this.mstateAngularService\r\n .executeAction({\r\n action: {\r\n name: this.config.name,\r\n payload: {\r\n ...this.form.value,\r\n ...this.nonUserInputField,\r\n },\r\n },\r\n token: this.token,\r\n workflow: this.workflow,\r\n })\r\n .pipe(\r\n catchError((e) => {\r\n this.onExecuteAction.emit({\r\n value: {},\r\n errors: e.error?.errors ?? [],\r\n });\r\n\r\n throw e;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.onExecuteAction.emit({\r\n value: data.data,\r\n errors: [],\r\n });\r\n if (this.onSuccess) {\r\n this.onSuccess.emit(this.config.name);\r\n }\r\n });\r\n } else {\r\n this.markAllAsTouched(this.form);\r\n }\r\n }\r\n private markAllAsTouched(formGroup: FormGroup): void {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n const control = formGroup.get(key);\r\n if (control?.markAsTouched) {\r\n control?.markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n private handleStepConfigFilter = () => {\r\n const keyForAPISet = new Set();\r\n\r\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\r\n const step = stepConfig as UserInput;\r\n\r\n switch (step?.module) {\r\n case ManualStepModule.CUSTOM_FIELD: {\r\n if (this.updateCustomFieldValue) {\r\n this.nonUserInputField[step?.context?.as] =\r\n this.updateCustomFieldValue.emit(step?.context?.key);\r\n }\r\n return true;\r\n }\r\n\r\n case ManualStepModule.CONTEXT_FIELD:\r\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\r\n return true;\r\n\r\n default: {\r\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\r\n keyForAPISet.add(step?.field?.keyForAPI);\r\n return isDuplicate === false;\r\n }\r\n }\r\n }) as UserInput[];\r\n };\r\n\r\n private assignFormBuilder() {\r\n const validators = this.config.steps.reduce(\r\n (acc, data) =>\r\n Object.assign(\r\n acc,\r\n this.mstateHelper.checkIsStep(data) === false &&\r\n this.mstateHelper.checkIsHandledStep(data.fieldType)\r\n ? {\r\n [data?.field?.keyForAPI]: [\r\n data?.field.multiple ? [] : '',\r\n data?.field?.isRequired ? [Validators.required] : undefined,\r\n ],\r\n }\r\n : {},\r\n ),\r\n {},\r\n );\r\n this.form = this.fb.group(validators);\r\n }\r\n\r\n //#endregion\r\n}\r\n","<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 <div style=\"width: 25px\">\r\n <mobi-office-loader></mobi-office-loader>\r\n </div>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EvaluatedAction } from '../../interfaces/api.interface';\r\nimport { ActionConfig } from '../../interfaces/interface';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'mobi-office-action-card',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './action-card.component.html',\r\n styleUrl: './action-card.component.scss',\r\n})\r\nexport class ActionCardComponent {\r\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\r\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\r\n\r\n triggerExecuteAction() {\r\n this.executeAction.emit(this.config);\r\n }\r\n}\r\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\r\n <img\r\n src=\"https://docs.mstate.ai/img/mymobioffice_logo.png\"\r\n alt=\"Card Image\"\r\n class=\"card-image\"\r\n />\r\n <div class=\"card-content\">\r\n <h3 class=\"card-title\">\r\n {{ config?.name }}\r\n </h3>\r\n <p class=\"card-description\">\r\n {{ config?.meta?.desc ?? 'Click card to execute' }}\r\n </p>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"card-button\">Execute</button>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'lib-error-card',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './error-card.component.html',\r\n styleUrl: './error-card.component.scss',\r\n})\r\nexport class ErrorCardComponent {\r\n @Input({ required: true }) errors!: string[];\r\n @Output() retry = new EventEmitter<undefined>();\r\n\r\n protected handleRetryError() {\r\n this.retry.emit();\r\n }\r\n}\r\n","<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 <p style=\"color: red; font-size: 1rem; text-align: center\">\r\n {{ message }}\r\n </p>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-workflow-end-card',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './workflow-end-card.component.html',\r\n styleUrl: './workflow-end-card.component.scss',\r\n})\r\nexport class WorkflowEndCardComponent {}\r\n","<p>Workflow Ended</p>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Variable } from '../common/enum';\r\nimport { ActionFormComponent } from '../action-form/action-form.component';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { catchError, finalize } from 'rxjs';\r\nimport { EvaluatedAction } from '../interfaces/api.interface';\r\nimport { ActionConfig } from '../interfaces/interface';\r\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\r\nimport { LoaderComponent } from '../components/loader/loader.component';\r\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\r\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\r\n\r\n@Component({\r\n selector: 'mstate-angular',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ActionFormComponent,\r\n ActionCardComponent,\r\n LoaderComponent,\r\n ErrorCardComponent,\r\n WorkflowEndCardComponent,\r\n ],\r\n providers: [MstateAngularHelper, MstateAngularService],\r\n templateUrl: './mstate-angular.component.html',\r\n styleUrl: './mstate-angular.component.scss',\r\n})\r\nexport class MstateAngularComponent implements OnChanges, OnInit {\r\n @Input({ required: true }) token: string = '';\r\n @Input({ required: true }) workflow: string = '';\r\n @Input() instanceID?: string;\r\n /**\r\n * @type {boolean}\r\n * @default true\r\n * @description Trigger if to start workflow.\r\n */\r\n @Input() start: boolean = true;\r\n /**\r\n * @type {string}\r\n * @description To Validate who are allowed to perform or see action.\r\n */\r\n @Input() who?: string;\r\n /**\r\n * Triggers whenever your current workflow moved to other.\r\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\r\n * @returns {void}.\r\n */\r\n @Output() onInstanceChange = new EventEmitter<string>();\r\n /**\r\n * Triggers when The Action execution is completed.\r\n * @param {string} actionName - action name which you have executed at this moment.\r\n * @returns {void}.\r\n */\r\n @Output() onSuccess = new EventEmitter<string>();\r\n /**\r\n * Triggers when Error occurs while performing any action.\r\n * @param {unknown[]} errors - Error response from the api call done by Mstate.\r\n * @returns {void}.\r\n */\r\n @Output() onError = new EventEmitter<unknown[]>();\r\n /**\r\n * Handles your steps which contain Custom field module.\r\n * @param {string} key - Which key you expect for getting the value.\r\n * @returns {any} - whatever value you want to save in that custom field.\r\n */\r\n @Output() handleCustomField = new EventEmitter<string>();\r\n\r\n //#region Variables & Events\r\n\r\n protected isLoading = true;\r\n protected errors: any[] = [];\r\n protected errorMessages: string[] = [];\r\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\r\n\r\n constructor(\r\n private mstateAngularHelper: MstateAngularHelper,\r\n private mstateAngularService: MstateAngularService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Handlers\r\n\r\n private setAllowedActions() {\r\n this.isLoading = true;\r\n\r\n if (this.instanceID) {\r\n this.mstateAngularService\r\n .getCurrentActionsWithInstanceID({\r\n instanceID: this.instanceID,\r\n token: this.token,\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleError({}, err.error?.errors);\r\n throw err;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.allowedActions = Object.values(data.data);\r\n });\r\n } else {\r\n this.mstateAngularService\r\n .getCurrentActionsWithoutInstanceID({\r\n workflow: this.workflow,\r\n token: this.token,\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleError({}, err.error?.errors);\r\n throw err;\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }),\r\n )\r\n .subscribe((data) => {\r\n this.allowedActions = Object.values(data.data);\r\n });\r\n }\r\n }\r\n\r\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\r\n const { value, errors = [] } = response;\r\n\r\n if (errors?.length) {\r\n this.handleError(value, errors);\r\n } else {\r\n this.allowedActions = value.actions;\r\n }\r\n\r\n if (\r\n value?.instanceID &&\r\n value?.instanceID !== this.instanceID &&\r\n !errors?.length\r\n ) {\r\n this.instanceID = value?.instanceID;\r\n\r\n this.onInstanceChange.emit(value?.instanceID);\r\n }\r\n }\r\n\r\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\r\n this.allowedActions = [config];\r\n }\r\n\r\n protected handleRetryAction() {\r\n if (this.allowedActions.length === 0) {\r\n if (this.start) this.setAllowedActions();\r\n }\r\n\r\n this.errors = [];\r\n this.errorMessages = [];\r\n }\r\n\r\n private handleError(value: any, errors: any[]) {\r\n this.errors = errors;\r\n value.instanceID = errors[0]\r\n ?.split(\"instanceID='\")\r\n ?.pop()\r\n ?.replace(\"'\", '');\r\n this.errorMessages = this.errors\r\n .filter((e: string) => typeof e === 'string')\r\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\r\n\r\n if (this.onError) {\r\n this.onError.emit(this.errors);\r\n }\r\n }\r\n //#endregion\r\n}\r\n","<div class=\"mstate-angular\">\r\n <img\r\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\r\n alt=\"logo\"\r\n width=\"100%\"\r\n class=\"logo\"\r\n />\r\n\r\n @if (isLoading) {\r\n <mobi-office-loader class=\"flex-container\" />\r\n } @else if (errorMessages.length) {\r\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\r\n } @else {\r\n @switch (allowedActions.length) {\r\n @case (0) {\r\n <lib-workflow-end-card />\r\n }\r\n @case (1) {\r\n <lib-action-form\r\n [workflow]=\"workflow\"\r\n [token]=\"token\"\r\n [instanceID]=\"instanceID\"\r\n [config]=\"allowedActions[0]\"\r\n (onExecuteAction)=\"handleExecuteAction($event)\"\r\n (updateCustomFieldValue)=\"handleCustomField.emit($event)\"\r\n (onSuccess)=\"onSuccess.emit($event)\"\r\n ></lib-action-form>\r\n }\r\n @default {\r\n <div class=\"flex-container\">\r\n @for (item of allowedActions; track $index) {\r\n <mobi-office-action-card\r\n [config]=\"item\"\r\n (executeAction)=\"handleActionExecution($event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\r\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\r\n})\r\nexport class MstateAngularModule {}\r\n","/*\r\n * Public API Surface of mstate-angular\r\n */\r\n\r\nexport * from './lib/mstate-angular/mstate-angular.component';\r\nexport * from './lib/mstate-angular.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i2","i1.MstateAngularService","i1","i2.MstateAngularService","i3.MstateAngularHelper"],"mappings":"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"}
|
@@ -16,9 +16,9 @@ export declare class ActionFormComponent implements OnInit {
|
|
16
16
|
value: any;
|
17
17
|
errors?: string[] | undefined;
|
18
18
|
}>;
|
19
|
-
updateCustomFieldValue
|
19
|
+
updateCustomFieldValue: EventEmitter<string>;
|
20
20
|
instanceID?: string;
|
21
|
-
onSuccess
|
21
|
+
onSuccess: EventEmitter<string>;
|
22
22
|
protected form: FormGroup;
|
23
23
|
protected isLoading: boolean;
|
24
24
|
protected nonUserInputField: any;
|
@@ -29,5 +29,5 @@ export declare class ActionFormComponent implements OnInit {
|
|
29
29
|
private handleStepConfigFilter;
|
30
30
|
private assignFormBuilder;
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActionFormComponent, never>;
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ActionFormComponent, "lib-action-form", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "config": { "alias": "config"; "required": true; }; "
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ActionFormComponent, "lib-action-form", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "config": { "alias": "config"; "required": true; }; "instanceID": { "alias": "instanceID"; "required": false; }; }, { "onExecuteAction": "onExecuteAction"; "updateCustomFieldValue": "updateCustomFieldValue"; "onSuccess": "onSuccess"; }, never, never, true, never>;
|
33
33
|
}
|
@@ -4,7 +4,7 @@ import { ActionConfig } from '../../interfaces/interface';
|
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class ActionCardComponent {
|
6
6
|
config?: EvaluatedAction | ActionConfig;
|
7
|
-
executeAction: EventEmitter<
|
7
|
+
executeAction: EventEmitter<ActionConfig | EvaluatedAction>;
|
8
8
|
triggerExecuteAction(): void;
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActionCardComponent, never>;
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<ActionCardComponent, "mobi-office-action-card", never, { "config": { "alias": "config"; "required": true; }; }, { "executeAction": "executeAction"; }, never, never, true, never>;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
2
2
|
import { MstateAngularHelper } from '../mstate-angular.helper';
|
3
3
|
import { MstateAngularService } from '../mstate-angular.service';
|
4
4
|
import { EvaluatedAction } from '../interfaces/api.interface';
|
@@ -26,25 +26,25 @@ export declare class MstateAngularComponent implements OnChanges, OnInit {
|
|
26
26
|
* @param {string} newInstanceID - The new instance ID on which your current workflow moved.
|
27
27
|
* @returns {void}.
|
28
28
|
*/
|
29
|
-
onInstanceChange
|
29
|
+
onInstanceChange: EventEmitter<string>;
|
30
30
|
/**
|
31
31
|
* Triggers when The Action execution is completed.
|
32
32
|
* @param {string} actionName - action name which you have executed at this moment.
|
33
33
|
* @returns {void}.
|
34
34
|
*/
|
35
|
-
onSuccess
|
35
|
+
onSuccess: EventEmitter<string>;
|
36
36
|
/**
|
37
37
|
* Triggers when Error occurs while performing any action.
|
38
38
|
* @param {unknown[]} errors - Error response from the api call done by Mstate.
|
39
39
|
* @returns {void}.
|
40
40
|
*/
|
41
|
-
onError
|
41
|
+
onError: EventEmitter<unknown[]>;
|
42
42
|
/**
|
43
43
|
* Handles your steps which contain Custom field module.
|
44
44
|
* @param {string} key - Which key you expect for getting the value.
|
45
45
|
* @returns {any} - whatever value you want to save in that custom field.
|
46
46
|
*/
|
47
|
-
handleCustomField
|
47
|
+
handleCustomField: EventEmitter<string>;
|
48
48
|
protected isLoading: boolean;
|
49
49
|
protected errors: any[];
|
50
50
|
protected errorMessages: string[];
|
@@ -61,5 +61,5 @@ export declare class MstateAngularComponent implements OnChanges, OnInit {
|
|
61
61
|
protected handleRetryAction(): void;
|
62
62
|
private handleError;
|
63
63
|
static ɵfac: i0.ɵɵFactoryDeclaration<MstateAngularComponent, never>;
|
64
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MstateAngularComponent, "mstate-angular", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "instanceID": { "alias": "instanceID"; "required": false; }; "start": { "alias": "start"; "required": false; }; "who": { "alias": "who"; "required": false; };
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MstateAngularComponent, "mstate-angular", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "instanceID": { "alias": "instanceID"; "required": false; }; "start": { "alias": "start"; "required": false; }; "who": { "alias": "who"; "required": false; }; }, { "onInstanceChange": "onInstanceChange"; "onSuccess": "onSuccess"; "onError": "onError"; "handleCustomField": "handleCustomField"; }, never, never, true, never>;
|
65
65
|
}
|