mstate-angular 0.3.3 → 0.3.5
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 +15 -10
- package/esm2022/lib/components/action-card/action-card.component.mjs +3 -3
- package/esm2022/lib/components/error-card/error-card.component.mjs +3 -3
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +12 -7
- package/fesm2022/mstate-angular.mjs +28 -18
- package/fesm2022/mstate-angular.mjs.map +1 -1
- package/lib/action-form/action-form.component.d.ts +3 -3
- package/lib/mstate-angular/mstate-angular.component.d.ts +1 -0
- package/package.json +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
1
|
+
import { Component, Input, Output, EventEmitter, } from '@angular/core';
|
2
2
|
import { MstateAngularService } from '../mstate-angular.service';
|
3
3
|
import { catchError, finalize } from 'rxjs';
|
4
4
|
import { ActionType, ManualStepModule } from '../common/enum';
|
@@ -50,13 +50,18 @@ export class ActionFormComponent {
|
|
50
50
|
});
|
51
51
|
};
|
52
52
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
ngOnChanges(changes) {
|
54
|
+
if (changes['config']) {
|
55
|
+
if (Boolean(this.config?.steps?.length) === false) {
|
56
|
+
this.handleExecuteAction(true);
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
this.assignFormBuilder();
|
60
|
+
this.handleStepConfigFilter();
|
61
|
+
if (this.config?.steps?.some((d) => d.module === ManualStepModule.USER_INPUT) === false) {
|
62
|
+
this.handleExecuteAction(true);
|
63
|
+
return;
|
64
|
+
}
|
60
65
|
}
|
61
66
|
}
|
62
67
|
//#region handlers
|
@@ -127,7 +132,7 @@ export class ActionFormComponent {
|
|
127
132
|
this.form = this.fb.group(validators);
|
128
133
|
}
|
129
134
|
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 }); }
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\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" }] }); }
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\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" }] }); }
|
131
136
|
}
|
132
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
133
138
|
type: Component,
|
@@ -155,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
155
160
|
}], onSuccess: [{
|
156
161
|
type: Output
|
157
162
|
}] } });
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXpCaEIsVUFBSyxHQUFXLEVBQUUs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LENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQzVEO2FBQ0Y7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUNQLEVBQ0gsRUFBRSxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBeEpVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVSQUpuQixDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixDQUFDLDBCQzFCeEQseW9CQXVCQSw0SERGSSxzQkFBc0Isd0dBQ3RCLGVBQWUsMkZBQ2YsbUJBQW1CLHFiQUNuQixlQUFlOzs0RkFNTixtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCLGFBQ1UsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQztxSkFLM0IsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2YsZUFBZTtzQkFBeEIsTUFBTTtnQkFJRSxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3Rpb25Db25maWcsIFVzZXJJbnB1dCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBNYW51YWxTdGVwTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2VudW0nO1xuaW1wb3J0IHsgSW5wdXRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXNlbGVjdG9yL2lucHV0LXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbnB1dFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2UsIE1zdGF0ZUFuZ3VsYXJIZWxwZXJdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZzogQWN0aW9uQ29uZmlnIHwgRXZhbHVhdGVkQWN0aW9uID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxuICAgIHN0ZXBzOiBbXSxcbiAgfTtcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHZhbHVlOiBhbnk7XG4gICAgZXJyb3JzPzogc3RyaW5nW107XG4gIH0+KCk7XG4gIEBJbnB1dCgpIHVwZGF0ZUN1c3RvbUZpZWxkVmFsdWU/OiAoa2V5OiBzdHJpbmcpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyNyZWdpb24gQ3VzdG9tIERlY2xhcmF0aW9uXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHByb3RlY3RlZCBub25Vc2VySW5wdXRGaWVsZDogYW55ID0ge307XG4gIHByb3RlY3RlZCBjdXN0b21LZXlzOiB7IGtleTogc3RyaW5nOyBhczogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NpZ25Gb3JtQnVpbGRlcigpO1xuICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xuXG4gICAgaWYgKFxuICAgICAgQm9vbGVhbih0aGlzLmNvbmZpZz8uc3RlcHM/Lmxlbmd0aCkgPT09IGZhbHNlIHx8XG4gICAgICB0aGlzLmNvbmZpZz8uc3RlcHM/LnNvbWUoXG4gICAgICAgICh7IG1vZHVsZSB9KSA9PiBtb2R1bGUgPT09IE1hbnVhbFN0ZXBNb2R1bGUuVVNFUl9JTlBVVCxcbiAgICAgICkgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24odHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8jcmVnaW9uIGhhbmRsZXJzXG5cbiAgcHJvdGVjdGVkIGhhbmRsZUV4ZWN1dGVBY3Rpb24oc2tpcFZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmIChza2lwVmFsaWRhdGlvbiB8fCB0aGlzLmZvcm0uc3RhdHVzID09PSAnVkFMSUQnKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIGxldCBjdXN0b21Db25maWc6IGFueSA9IHt9O1xuICAgICAgaWYgKHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZSkge1xuICAgICAgICBmb3IgKGNvbnN0IHsga2V5LCBhcyB9IG9mIHRoaXMuY3VzdG9tS2V5cykge1xuICAgICAgICAgIGN1c3RvbUNvbmZpZ1thc10gPSB0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLm1zdGF0ZUFuZ3VsYXJTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcbiAgICAgICAgICBpbnN0YW5jZUlEOiB0aGlzLmluc3RhbmNlSUQsXG4gICAgICAgICAgYWN0aW9uOiB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxuICAgICAgICAgICAgcGF5bG9hZDogT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLm5vblVzZXJJbnB1dEZpZWxkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjdXN0b21Db25maWcsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgICAgICAgd29ya2Zsb3c6IHRoaXMud29ya2Zsb3csXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25FeGVjdXRlQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgICB2YWx1ZToge30sXG4gICAgICAgICAgICAgIGVycm9yczogZS5lcnJvcj8uZXJyb3JzID8/IFtdLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tS2V5cyA9IFtdO1xuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIHZhbHVlOiBkYXRhLmRhdGEsXG4gICAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICh0aGlzLm9uU3VjY2Vzcykge1xuICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3MuZW1pdCh0aGlzLmNvbmZpZy5uYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGtleSk7XG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xuICAgICAgICBjb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XG4gICAgY29uc3Qga2V5Rm9yQVBJU2V0ID0gbmV3IFNldCgpO1xuXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xuICAgICAgY29uc3Qgc3RlcCA9IHN0ZXBDb25maWcgYXMgVXNlcklucHV0O1xuXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ1VTVE9NX0ZJRUxEOiB7XG4gICAgICAgICAgdGhpcy5jdXN0b21LZXlzLnB1c2goc3RlcD8uY29udGV4dCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcbiAgICAgICAgICB0aGlzLm5vblVzZXJJbnB1dEZpZWxkW3N0ZXA/LmNvbnRleHQ/LmFzXSA9IHN0ZXA/LmNvbnRleHQ/LnZhbHVlO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IGtleUZvckFQSVNldC5oYXMoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcbiAgICAgICAgICByZXR1cm4gaXNEdXBsaWNhdGUgPT09IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkgYXMgVXNlcklucHV0W107XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3NpZ25Gb3JtQnVpbGRlcigpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5jb25maWcuc3RlcHMucmVkdWNlKFxuICAgICAgKGFjYywgZGF0YSkgPT5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICBhY2MsXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXG4gICAgICAgICAgICB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lzSGFuZGxlZFN0ZXAoZGF0YS5maWVsZFR5cGUpXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcbiAgICAgICAgICAgICAgICAgIGRhdGE/LmZpZWxkLm11bHRpcGxlID8gW10gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQ/LmlzUmVxdWlyZWQgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdj5cbiAgPHAgc3R5bGU9XCJmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlclwiPlxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxuICA8L3A+XG5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxuICAgIEBmb3IgKHN0ZXAgb2YgY29uZmlnLnN0ZXBzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxtb2JpLW9mZmljZS1pbnB1dC1zZWxlY3RvciBbc3RlcF09XCJzdGVwXCIgW21zdGF0ZU1vZGVsXT1cImZvcm1cIiAvPlxuICAgIH1cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgICAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDI1cHhcIj5cbiAgICAgICAgICAgIDxtb2JpLW9mZmljZS1sb2FkZXI+PC9tb2JpLW9mZmljZS1sb2FkZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIFN1Ym1pdFxuICAgICAgICB9XG4gICAgICA8L21vYmktb2ZmaWNlLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBR2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXpCaEIsVUFBSyxHQUFXLEVBQUUs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biAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3Rpb25Db25maWcsIFVzZXJJbnB1dCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBNYW51YWxTdGVwTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2VudW0nO1xuaW1wb3J0IHsgSW5wdXRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXNlbGVjdG9yL2lucHV0LXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbnB1dFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2UsIE1zdGF0ZUFuZ3VsYXJIZWxwZXJdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZzogQWN0aW9uQ29uZmlnIHwgRXZhbHVhdGVkQWN0aW9uID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxuICAgIHN0ZXBzOiBbXSxcbiAgfTtcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHZhbHVlOiBhbnk7XG4gICAgZXJyb3JzPzogc3RyaW5nW107XG4gIH0+KCk7XG4gIEBJbnB1dCgpIHVwZGF0ZUN1c3RvbUZpZWxkVmFsdWU/OiAoa2V5OiBzdHJpbmcpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyNyZWdpb24gQ3VzdG9tIERlY2xhcmF0aW9uXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHByb3RlY3RlZCBub25Vc2VySW5wdXRGaWVsZDogYW55ID0ge307XG4gIHByb3RlY3RlZCBjdXN0b21LZXlzOiB7IGtleTogc3RyaW5nOyBhczogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyLFxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24odHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hc3NpZ25Gb3JtQnVpbGRlcigpO1xuICAgICAgdGhpcy5oYW5kbGVTdGVwQ29uZmlnRmlsdGVyKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb25maWc/LnN0ZXBzPy5zb21lKFxuICAgICAgICAgIChkKSA9PiBkLm1vZHVsZSA9PT0gTWFudWFsU3RlcE1vZHVsZS5VU0VSX0lOUFVULFxuICAgICAgICApID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXhlY3V0ZUFjdGlvbih0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vI3JlZ2lvbiBoYW5kbGVyc1xuXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKHNraXBWYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoc2tpcFZhbGlkYXRpb24gfHwgdGhpcy5mb3JtLnN0YXR1cyA9PT0gJ1ZBTElEJykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICBsZXQgY3VzdG9tQ29uZmlnOiBhbnkgPSB7fTtcbiAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcbiAgICAgICAgZm9yIChjb25zdCB7IGtleSwgYXMgfSBvZiB0aGlzLmN1c3RvbUtleXMpIHtcbiAgICAgICAgICBjdXN0b21Db25maWdbYXNdID0gdGhpcy51cGRhdGVDdXN0b21GaWVsZFZhbHVlKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxuICAgICAgICAuZXhlY3V0ZUFjdGlvbih7XG4gICAgICAgICAgaW5zdGFuY2VJRDogdGhpcy5pbnN0YW5jZUlELFxuICAgICAgICAgIGFjdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5jb25maWcubmFtZSxcbiAgICAgICAgICAgIHBheWxvYWQ6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5ub25Vc2VySW5wdXRGaWVsZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY3VzdG9tQ29uZmlnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgICAgICAgIHdvcmtmbG93OiB0aGlzLndvcmtmbG93LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgICAgdmFsdWU6IHt9LFxuICAgICAgICAgICAgICBlcnJvcnM6IGUuZXJyb3I/LmVycm9ycyA/PyBbXSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUtleXMgPSBbXTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkV4ZWN1dGVBY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5kYXRhLFxuICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAodGhpcy5vblN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMub25TdWNjZXNzLmVtaXQodGhpcy5jb25maWcubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKHRoaXMuZm9ybSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgbWFya0FsbEFzVG91Y2hlZChmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xuICAgICAgaWYgKGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQpIHtcbiAgICAgICAgY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGVwQ29uZmlnRmlsdGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IGtleUZvckFQSVNldCA9IG5ldyBTZXQoKTtcblxuICAgIHRoaXMuY29uZmlnLnN0ZXBzID0gdGhpcy5jb25maWc/LnN0ZXBzPy5maWx0ZXIoKHN0ZXBDb25maWcpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXAgPSBzdGVwQ29uZmlnIGFzIFVzZXJJbnB1dDtcblxuICAgICAgc3dpdGNoIChzdGVwPy5tb2R1bGUpIHtcbiAgICAgICAgY2FzZSBNYW51YWxTdGVwTW9kdWxlLkNVU1RPTV9GSUVMRDoge1xuICAgICAgICAgIHRoaXMuY3VzdG9tS2V5cy5wdXNoKHN0ZXA/LmNvbnRleHQpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBNYW51YWxTdGVwTW9kdWxlLkNPTlRFWFRfRklFTEQ6XG4gICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPSBzdGVwPy5jb250ZXh0Py52YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xuICAgICAgICAgIGtleUZvckFQSVNldC5hZGQoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XG4gICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID09PSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pIGFzIFVzZXJJbnB1dFtdO1xuICB9O1xuXG4gIHByaXZhdGUgYXNzaWduRm9ybUJ1aWxkZXIoKSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcbiAgICAgIChhY2MsIGRhdGEpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgYWNjLFxuICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNTdGVwKGRhdGEpID09PSBmYWxzZSAmJlxuICAgICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc0hhbmRsZWRTdGVwKGRhdGEuZmllbGRUeXBlKVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgW2RhdGE/LmZpZWxkPy5rZXlGb3JBUEldOiBbXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZC5tdWx0aXBsZSA/IFtdIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgIGRhdGE/LmZpZWxkPy5pc1JlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICB7fSxcbiAgICApO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXY+XG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cbiAgICB7eyBjb25maWcubWV0YT8udGl0bGUgPz8gY29uZmlnLm5hbWUgfX1cbiAgPC9wPlxuXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKClcIj5cbiAgICBAZm9yIChzdGVwIG9mIGNvbmZpZy5zdGVwczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJmb3JtXCIgLz5cbiAgICB9XG5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxuICAgICAgPG1vYmktb2ZmaWNlLWJ1dHRvbiB0eXBlPVwic3VibWl0XCI+XG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAyNXB4XCI+XG4gICAgICAgICAgICA8bW9iaS1vZmZpY2UtbG9hZGVyPjwvbW9iaS1vZmZpY2UtbG9hZGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBTdWJtaXRcbiAgICAgICAgfVxuICAgICAgPC9tb2JpLW9mZmljZS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
@@ -10,15 +10,15 @@ export class ActionCardComponent {
|
|
10
10
|
this.executeAction.emit(this.config);
|
11
11
|
}
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n", styles: [".card{width:240px;height:254px;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.card-image{width:auto;margin:5px;height:150px;display:block;margin-inline:auto;border-radius:50%}.card-content{padding:15px}.card-title{margin:0 0 10px;font-size:18px;font-weight:700;color:#333}.card-description{margin:0;font-size:14px;color:#666;line-height:1.5}.card-footer{padding:10px 15px;background-color:#f9f9f9;text-align:right}.card-button{background-color:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .2s}.card-button:hover{background-color:#0056b3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
14
14
|
}
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
|
16
16
|
type: Component,
|
17
|
-
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://
|
17
|
+
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n", styles: [".card{width:240px;height:254px;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.card-image{width:auto;margin:5px;height:150px;display:block;margin-inline:auto;border-radius:50%}.card-content{padding:15px}.card-title{margin:0 0 10px;font-size:18px;font-weight:700;color:#333}.card-description{margin:0;font-size:14px;color:#666;line-height:1.5}.card-footer{padding:10px 15px;background-color:#f9f9f9;text-align:right}.card-button{background-color:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .2s}.card-button:hover{background-color:#0056b3}\n"] }]
|
18
18
|
}], propDecorators: { config: [{
|
19
19
|
type: Input,
|
20
20
|
args: [{ required: true }]
|
21
21
|
}], executeAction: [{
|
22
22
|
type: Output
|
23
23
|
}] } });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFTWSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0tBSzlFO0lBSEMsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQU5VLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhKQ2JoQyw4Z0JBZUEsdTBCRE5ZLFlBQVk7OzRGQUlYLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzs4QkFLYixNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdmFsdWF0ZWRBY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1hY3Rpb24tY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNhcmRDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc/OiBFdmFsdWF0ZWRBY3Rpb24gfCBBY3Rpb25Db25maWc7XG4gIEBPdXRwdXQoKSBleGVjdXRlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxFdmFsdWF0ZWRBY3Rpb24gfCBBY3Rpb25Db25maWc+KCk7XG5cbiAgdHJpZ2dlckV4ZWN1dGVBY3Rpb24oKSB7XG4gICAgdGhpcy5leGVjdXRlQWN0aW9uLmVtaXQodGhpcy5jb25maWcpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiIChjbGljayk9XCJ0cmlnZ2VyRXhlY3V0ZUFjdGlvbigpXCI+XG4gIDxpbWdcbiAgICBzcmM9XCJodHRwczovL2ZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbS92MC9iL21vYmlvZmZpY2UtZGV2LmFwcHNwb3QuY29tL28vY29tcGFuaWVzX2xvZ28lMkZNb2JpT2ZmaWNlJTIwTG9nby5wbmc/YWx0PW1lZGlhJnRva2VuPTU3NWI5NTY4LTBiNGMtNDY4Zi1iYTk5LTRiNjEzYmQ0ZTQwYlwiXG4gICAgYWx0PVwiQ2FyZCBJbWFnZVwiXG4gICAgY2xhc3M9XCJjYXJkLWltYWdlXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImNhcmQtY29udGVudFwiPlxuICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPlxuICAgICAge3sgY29uZmlnPy5uYW1lIH19XG4gICAgPC9oMz5cbiAgICA8cCBjbGFzcz1cImNhcmQtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7IGNvbmZpZz8ubWV0YT8uZGVzYyB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -9,15 +9,15 @@ export class ErrorCardComponent {
|
|
9
9
|
this.retry.emit();
|
10
10
|
}
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
|
13
13
|
}
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
|
15
15
|
type: Component,
|
16
|
-
args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">
|
16
|
+
args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n" }]
|
17
17
|
}], propDecorators: { errors: [{
|
18
18
|
type: Input,
|
19
19
|
args: [{ required: true }]
|
20
20
|
}], retry: [{
|
21
21
|
type: Output
|
22
22
|
}] } });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFTWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUtqRDtJQUhXLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUlDVi9CLHNVQVVBLDBEREpZLGVBQWU7OzRGQUlkLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUM7OEJBS0MsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVycm9yLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZXJyb3ItY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGVycm9ycyE6IHN0cmluZ1tdO1xuICBAT3V0cHV0KCkgcmV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlUmV0cnlFcnJvcigpIHtcbiAgICB0aGlzLnJldHJ5LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5FcnJvcjwvcD5cblxuICBAZm9yIChtZXNzYWdlIG9mIGVycm9yczsgdHJhY2sgbWVzc2FnZSkge1xuICAgIDxwIHN0eWxlPVwiY29sb3I6IHJlZDsgZm9udC1zaXplOiAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cbiAgICAgIHt7IG1lc3NhZ2UgfX1cbiAgICA8L3A+XG4gIH1cbiAgPG1vYmktb2ZmaWNlLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV0cnlFcnJvcigpXCI+UmV0cnk8L21vYmktb2ZmaWNlLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|
@@ -75,7 +75,7 @@ export class MstateAngularComponent {
|
|
75
75
|
this.isLoading = false;
|
76
76
|
}))
|
77
77
|
.subscribe((data) => {
|
78
|
-
this.allowedActions = Object.values(data.data);
|
78
|
+
this.allowedActions = this.filterActionList(Object.values(data.data));
|
79
79
|
});
|
80
80
|
}
|
81
81
|
else {
|
@@ -91,17 +91,22 @@ export class MstateAngularComponent {
|
|
91
91
|
this.isLoading = false;
|
92
92
|
}))
|
93
93
|
.subscribe((data) => {
|
94
|
-
this.allowedActions = Object.values(data.data);
|
94
|
+
this.allowedActions = this.filterActionList(Object.values(data.data));
|
95
95
|
});
|
96
96
|
}
|
97
97
|
}
|
98
|
+
filterActionList(actions) {
|
99
|
+
return actions
|
100
|
+
.sort((a, b) => a?.meta?.order - b?.meta?.order)
|
101
|
+
.filter((a) => !a?.meta?.hide);
|
102
|
+
}
|
98
103
|
handleExecuteAction(response) {
|
99
104
|
const { value, errors = [] } = response;
|
100
105
|
if (errors?.length) {
|
101
106
|
this.handleError(value, errors);
|
102
107
|
}
|
103
108
|
else {
|
104
|
-
this.allowedActions = value.actions;
|
109
|
+
this.allowedActions = this.filterActionList(value.actions);
|
105
110
|
}
|
106
111
|
if (value?.instanceID &&
|
107
112
|
value?.instanceID !== this.instanceID &&
|
@@ -111,7 +116,7 @@ export class MstateAngularComponent {
|
|
111
116
|
}
|
112
117
|
}
|
113
118
|
handleActionExecution(config) {
|
114
|
-
this.allowedActions = [config];
|
119
|
+
this.allowedActions = this.filterActionList([config]);
|
115
120
|
}
|
116
121
|
handleRetryAction() {
|
117
122
|
if (this.allowedActions.length === 0) {
|
@@ -135,7 +140,7 @@ export class MstateAngularComponent {
|
|
135
140
|
}
|
136
141
|
}
|
137
142
|
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 }); }
|
138
|
-
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", handleCustomField: "handleCustomField" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\n <img\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\"\n alt=\"logo\" width=\"100%\" class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form [workflow]=\"workflow\" [token]=\"token\" [instanceID]=\"instanceID\" [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\" [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card [config]=\"item\" (executeAction)=\"handleActionExecution($event)\" />\n }\n </div>\n }\n }\n }\n</div>", 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:49px;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 [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:.65em}.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"], outputs: ["onExecuteAction", "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" }] }); }
|
143
|
+
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", handleCustomField: "handleCustomField" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\n <!-- <img\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\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\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:49px;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 [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:.65em}.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"], outputs: ["onExecuteAction", "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" }] }); }
|
139
144
|
}
|
140
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
|
141
146
|
type: Component,
|
@@ -146,7 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
146
151
|
LoaderComponent,
|
147
152
|
ErrorCardComponent,
|
148
153
|
WorkflowEndCardComponent,
|
149
|
-
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\n <img\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\"\n alt=\"logo\" width=\"100%\" class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form [workflow]=\"workflow\" [token]=\"token\" [instanceID]=\"instanceID\" [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\" [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card [config]=\"item\" (executeAction)=\"handleActionExecution($event)\" />\n }\n </div>\n }\n }\n }\n</div>", 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:49px;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 [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:.65em}.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"] }]
|
154
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\n <!-- <img\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\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\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:49px;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 [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:.65em}.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"] }]
|
150
155
|
}], ctorParameters: () => [{ type: i1.MstateAngularHelper }, { type: i2.MstateAngularService }], propDecorators: { token: [{
|
151
156
|
type: Input,
|
152
157
|
args: [{ required: true }]
|
@@ -168,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
168
173
|
}], handleCustomField: [{
|
169
174
|
type: Input
|
170
175
|
}] } });
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9tc3RhdGUtYW5ndWxhci9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL21zdGF0ZS1hbmd1bGFyL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkRBQTZELENBQUM7Ozs7QUFpQnZHLE1BQU0sT0FBTyxzQkFBc0I7SUErQ2pDLFlBQ1UsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUQxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FB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QU1JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFNRyxTQUFTO3NCQUFsQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBTUUsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBWYXJpYWJsZSB9IGZyb20gJy4uL2NvbW1vbi9lbnVtJztcbmltcG9ydCB7IEFjdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvckNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Vycm9yLWNhcmQvZXJyb3ItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dFbmRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy93b3JrZmxvdy1lbmQtY2FyZC93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtc3RhdGUtYW5ndWxhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQWN0aW9uRm9ybUNvbXBvbmVudCxcbiAgICBBY3Rpb25DYXJkQ29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBFcnJvckNhcmRDb21wb25lbnQsXG4gICAgV29ya2Zsb3dFbmRDYXJkQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFySGVscGVyLCBNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1zdGF0ZUFuZ3VsYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRva2VuOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgd29ya2Zsb3c6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpbnN0YW5jZUlEPzogc3RyaW5nO1xuICAvKipcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGRlc2NyaXB0aW9uIFRyaWdnZXIgaWYgdG8gc3RhcnQgd29ya2Zsb3cuXG4gICAqL1xuICBASW5wdXQoKSBzdGFydDogYm9vbGVhbiA9IHRydWU7XG4gIC8qKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVzY3JpcHRpb24gVG8gVmFsaWRhdGUgd2hvIGFyZSBhbGxvd2VkIHRvIHBlcmZvcm0gb3Igc2VlIGFjdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHdobz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIHlvdXIgY3VycmVudCB3b3JrZmxvdyBtb3ZlZCB0byBvdGhlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5ld0luc3RhbmNlSUQgLSBUaGUgbmV3IGluc3RhbmNlIElEIG9uIHdoaWNoIHlvdXIgY3VycmVudCB3b3JrZmxvdyBtb3ZlZC5cbiAgICogQHJldHVybnMge3ZvaWR9LlxuICAgKi9cbiAgQE91dHB1dCgpIG9uSW5zdGFuY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW4gVGhlIEFjdGlvbiBleGVjdXRpb24gaXMgY29tcGxldGVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uTmFtZSAtIGFjdGlvbiBuYW1lIHdoaWNoIHlvdSBoYXZlIGV4ZWN1dGVkIGF0IHRoaXMgbW9tZW50LlxuICAgKiBAcmV0dXJucyB7dm9pZH0uXG4gICAqL1xuICBAT3V0cHV0KCkgb25TdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuIEVycm9yIG9jY3VycyB3aGlsZSBwZXJmb3JtaW5nIGFueSBhY3Rpb24uXG4gICAqIEBwYXJhbSB7dW5rbm93bltdfSBlcnJvcnMgLSBFcnJvciByZXNwb25zZSBmcm9tIHRoZSBhcGkgY2FsbCBkb25lIGJ5IG1zdGF0ZS5cbiAgICogQHJldHVybnMge3ZvaWR9LlxuICAgKi9cbiAgQE91dHB1dCgpIG9uRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd25bXT4oKTtcbiAgLyoqXG4gICAqIEhhbmRsZXMgeW91ciBzdGVwcyB3aGljaCBjb250YWluIEN1c3RvbSBmaWVsZCBtb2R1bGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBXaGljaCBrZXkgeW91IGV4cGVjdCBmb3IgZ2V0dGluZyB0aGUgdmFsdWUuXG4gICAqIEByZXR1cm5zIHthbnl9IC0gd2hhdGV2ZXIgdmFsdWUgeW91IHdhbnQgdG8gc2F2ZSBpbiB0aGF0IGN1c3RvbSBmaWVsZC5cbiAgICovXG4gIEBJbnB1dCgpIGhhbmRsZUN1c3RvbUZpZWxkPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XG5cbiAgLy8jcmVnaW9uIFZhcmlhYmxlcyAmIEV2ZW50c1xuXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSB0cnVlO1xuICBwcm90ZWN0ZWQgZXJyb3JzOiBhbnlbXSA9IFtdO1xuICBwcm90ZWN0ZWQgZXJyb3JNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIGFsbG93ZWRBY3Rpb25zOiAoRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnKVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFySGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyLFxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhcnQpIHRoaXMuc2V0QWxsb3dlZEFjdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tc3RhdGVBbmd1bGFySGVscGVyLmRldGVjdENoYW5nZShjaGFuZ2VzLCBbVmFyaWFibGUuU1RBUlRdKSkge1xuICAgICAgaWYgKHRoaXMuc3RhcnQpIHRoaXMuc2V0QWxsb3dlZEFjdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gSGFuZGxlcnNcblxuICBwcml2YXRlIHNldEFsbG93ZWRBY3Rpb25zKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmluc3RhbmNlSUQpIHtcbiAgICAgIHRoaXMubXN0YXRlQW5ndWxhclNlcnZpY2VcbiAgICAgICAgLmdldEN1cnJlbnRBY3Rpb25zV2l0aEluc3RhbmNlSUQoe1xuICAgICAgICAgIGluc3RhbmNlSUQ6IHRoaXMuaW5zdGFuY2VJRCxcbiAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3Ioe30sIGVyci5lcnJvcj8uZXJyb3JzKTtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmFsbG93ZWRBY3Rpb25zID0gT2JqZWN0LnZhbHVlcyhkYXRhLmRhdGEpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxuICAgICAgICAuZ2V0Q3VycmVudEFjdGlvbnNXaXRob3V0SW5zdGFuY2VJRCh7XG4gICAgICAgICAgd29ya2Zsb3c6IHRoaXMud29ya2Zsb3csXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHt9LCBlcnIuZXJyb3I/LmVycm9ycyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IE9iamVjdC52YWx1ZXMoZGF0YS5kYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUV4ZWN1dGVBY3Rpb24ocmVzcG9uc2U6IHsgdmFsdWU6IGFueTsgZXJyb3JzPzogc3RyaW5nW10gfSkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGVycm9ycyA9IFtdIH0gPSByZXNwb25zZTtcblxuICAgIGlmIChlcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcih2YWx1ZSwgZXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IHZhbHVlLmFjdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdmFsdWU/Lmluc3RhbmNlSUQgJiZcbiAgICAgIHZhbHVlPy5pbnN0YW5jZUlEICE9PSB0aGlzLmluc3RhbmNlSUQgJiZcbiAgICAgICFlcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgdGhpcy5pbnN0YW5jZUlEID0gdmFsdWU/Lmluc3RhbmNlSUQ7XG5cbiAgICAgIHRoaXMub25JbnN0YW5jZUNoYW5nZS5lbWl0KHZhbHVlPy5pbnN0YW5jZUlEKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aW9uRXhlY3V0aW9uKGNvbmZpZzogRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnKSB7XG4gICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IFtjb25maWddO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5QWN0aW9uKCkge1xuICAgIGlmICh0aGlzLmFsbG93ZWRBY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaWYgKHRoaXMuc3RhcnQpIHRoaXMuc2V0QWxsb3dlZEFjdGlvbnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcih2YWx1ZTogYW55LCBlcnJvcnM6IGFueVtdKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gICAgdmFsdWUuaW5zdGFuY2VJRCA9IGVycm9yc1swXVxuICAgICAgPy5zcGxpdChcImluc3RhbmNlSUQ9J1wiKVxuICAgICAgPy5wb3AoKVxuICAgICAgPy5yZXBsYWNlKFwiJ1wiLCAnJyk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvcnNcbiAgICAgIC5maWx0ZXIoKGU6IHN0cmluZykgPT4gdHlwZW9mIGUgPT09ICdzdHJpbmcnKVxuICAgICAgLm1hcCgobXNnKSA9PiBtc2cucmVwbGFjZSgvIGluc3RhbmNlSUQ9JyguKiknL2ksICcnKSk7XG5cbiAgICBpZiAodGhpcy5vbkVycm9yKSB7XG4gICAgICB0aGlzLm9uRXJyb3IuZW1pdCh0aGlzLmVycm9ycyk7XG4gICAgfVxuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBjbGFzcz1cIm1zdGF0ZS1hbmd1bGFyXCI+XG4gIDxpbWdcbiAgICBzcmM9XCJodHRwczovL2ZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbS92MC9iL21vYmlvZmZpY2UtZGV2LmFwcHNwb3QuY29tL28vY29tcGFuaWVzX2xvZ28lMkZsb2dvLnBuZz9hbHQ9bWVkaWEmdG9rZW49ZTVmMjM4ZjAtYzM3My00Yzc2LTkxNjgtMzdmYmU3ZGExZGUwXCJcbiAgICBhbHQ9XCJsb2dvXCIgd2lkdGg9XCIxMDAlXCIgY2xhc3M9XCJsb2dvXCIgLz5cblxuICBAaWYgKGlzTG9hZGluZykge1xuICA8bW9iaS1vZmZpY2UtbG9hZGVyIGNsYXNzPVwiZmxleC1jb250YWluZXJcIiAvPlxuICB9IEBlbHNlIGlmIChlcnJvck1lc3NhZ2VzLmxlbmd0aCkge1xuICA8bGliLWVycm9yLWNhcmQgW2Vycm9yc109XCJlcnJvck1lc3NhZ2VzXCIgKHJldHJ5KT1cImhhbmRsZVJldHJ5QWN0aW9uKClcIiAvPlxuICB9IEBlbHNlIHtcbiAgQHN3aXRjaCAoYWxsb3dlZEFjdGlvbnMubGVuZ3RoKSB7XG4gIEBjYXNlICgwKSB7XG4gIDxsaWItd29ya2Zsb3ctZW5kLWNhcmQgLz5cbiAgfVxuICBAY2FzZSAoMSkge1xuICA8bGliLWFjdGlvbi1mb3JtIFt3b3JrZmxvd109XCJ3b3JrZmxvd1wiIFt0b2tlbl09XCJ0b2tlblwiIFtpbnN0YW5jZUlEXT1cImluc3RhbmNlSURcIiBbY29uZmlnXT1cImFsbG93ZWRBY3Rpb25zWzBdXCJcbiAgICAob25FeGVjdXRlQWN0aW9uKT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oJGV2ZW50KVwiIFt1cGRhdGVDdXN0b21GaWVsZFZhbHVlXT1cImhhbmRsZUN1c3RvbUZpZWxkXCJcbiAgICAob25TdWNjZXNzKT1cIm9uU3VjY2Vzcy5lbWl0KCRldmVudClcIj48L2xpYi1hY3Rpb24tZm9ybT5cbiAgfVxuICBAZGVmYXVsdCB7XG4gIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgYWxsb3dlZEFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgIDxtb2JpLW9mZmljZS1hY3Rpb24tY2FyZCBbY29uZmlnXT1cIml0ZW1cIiAoZXhlY3V0ZUFjdGlvbik9XCJoYW5kbGVBY3Rpb25FeGVjdXRpb24oJGV2ZW50KVwiIC8+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuICB9XG4gIH1cbjwvZGl2PiJdfQ==
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9tc3RhdGUtYW5ndWxhci9tc3RhdGUtYW5ndWxhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL21zdGF0ZS1hbmd1bGFyL21zdGF0ZS1hbmd1bGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkRBQTZELENBQUM7Ozs7QUFpQnZHLE1BQU0sT0FBTyxzQkFBc0I7SUErQ2pDLFlBQ1UsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUQxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FB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RkFNZixzQkFBc0I7a0JBZmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQix3QkFBd0I7cUJBQ3pCLGFBQ1UsQ0FBQyxtQkFBbUIsRUFBRSxvQkFBb0IsQ0FBQzsySEFLM0IsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQUtHLEdBQUc7c0JBQVgsS0FBSztnQkFNSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTTtnQkFNRyxPQUFPO3NCQUFoQixNQUFNO2dCQU1FLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVmFyaWFibGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XG5pbXBvcnQgeyBBY3Rpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLWZvcm0vYWN0aW9uLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdmFsdWF0ZWRBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWN0aW9uQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93RW5kQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvd29ya2Zsb3ctZW5kLWNhcmQvd29ya2Zsb3ctZW5kLWNhcmQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXN0YXRlLWFuZ3VsYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFjdGlvbkZvcm1Db21wb25lbnQsXG4gICAgQWN0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gICAgRXJyb3JDYXJkQ29tcG9uZW50LFxuICAgIFdvcmtmbG93RW5kQ2FyZENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhckhlbHBlciwgTXN0YXRlQW5ndWxhclNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vbXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXN0YXRlLWFuZ3VsYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNc3RhdGVBbmd1bGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0b2tlbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaW5zdGFuY2VJRD86IHN0cmluZztcbiAgLyoqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXNjcmlwdGlvbiBUcmlnZ2VyIGlmIHRvIHN0YXJ0IHdvcmtmbG93LlxuICAgKi9cbiAgQElucHV0KCkgc3RhcnQ6IGJvb2xlYW4gPSB0cnVlO1xuICAvKipcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlc2NyaXB0aW9uIFRvIFZhbGlkYXRlIHdobyBhcmUgYWxsb3dlZCB0byBwZXJmb3JtIG9yIHNlZSBhY3Rpb24uXG4gICAqL1xuICBASW5wdXQoKSB3aG8/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciB5b3VyIGN1cnJlbnQgd29ya2Zsb3cgbW92ZWQgdG8gb3RoZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdJbnN0YW5jZUlEIC0gVGhlIG5ldyBpbnN0YW5jZSBJRCBvbiB3aGljaCB5b3VyIGN1cnJlbnQgd29ya2Zsb3cgbW92ZWQuXG4gICAqIEByZXR1cm5zIHt2b2lkfS5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkluc3RhbmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuIFRoZSBBY3Rpb24gZXhlY3V0aW9uIGlzIGNvbXBsZXRlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBhY3Rpb24gbmFtZSB3aGljaCB5b3UgaGF2ZSBleGVjdXRlZCBhdCB0aGlzIG1vbWVudC5cbiAgICogQHJldHVybnMge3ZvaWR9LlxuICAgKi9cbiAgQE91dHB1dCgpIG9uU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbiBFcnJvciBvY2N1cnMgd2hpbGUgcGVyZm9ybWluZyBhbnkgYWN0aW9uLlxuICAgKiBAcGFyYW0ge3Vua25vd25bXX0gZXJyb3JzIC0gRXJyb3IgcmVzcG9uc2UgZnJvbSB0aGUgYXBpIGNhbGwgZG9uZSBieSBtc3RhdGUuXG4gICAqIEByZXR1cm5zIHt2b2lkfS5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duW10+KCk7XG4gIC8qKlxuICAgKiBIYW5kbGVzIHlvdXIgc3RlcHMgd2hpY2ggY29udGFpbiBDdXN0b20gZmllbGQgbW9kdWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gV2hpY2gga2V5IHlvdSBleHBlY3QgZm9yIGdldHRpbmcgdGhlIHZhbHVlLlxuICAgKiBAcmV0dXJucyB7YW55fSAtIHdoYXRldmVyIHZhbHVlIHlvdSB3YW50IHRvIHNhdmUgaW4gdGhhdCBjdXN0b20gZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBoYW5kbGVDdXN0b21GaWVsZD86IChrZXk6IHN0cmluZykgPT4gYW55O1xuXG4gIC8vI3JlZ2lvbiBWYXJpYWJsZXMgJiBFdmVudHNcblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGVycm9yczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBhbGxvd2VkQWN0aW9uczogKEV2YWx1YXRlZEFjdGlvbiB8IEFjdGlvbkNvbmZpZylbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhckhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcixcbiAgICBwcml2YXRlIG1zdGF0ZUFuZ3VsYXJTZXJ2aWNlOiBNc3RhdGVBbmd1bGFyU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXN0YXRlQW5ndWxhckhlbHBlci5kZXRlY3RDaGFuZ2UoY2hhbmdlcywgW1ZhcmlhYmxlLlNUQVJUXSkpIHtcbiAgICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIEhhbmRsZXJzXG5cbiAgcHJpdmF0ZSBzZXRBbGxvd2VkQWN0aW9ucygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5pbnN0YW5jZUlEKSB7XG4gICAgICB0aGlzLm1zdGF0ZUFuZ3VsYXJTZXJ2aWNlXG4gICAgICAgIC5nZXRDdXJyZW50QWN0aW9uc1dpdGhJbnN0YW5jZUlEKHtcbiAgICAgICAgICBpbnN0YW5jZUlEOiB0aGlzLmluc3RhbmNlSUQsXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHt9LCBlcnIuZXJyb3I/LmVycm9ycyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IHRoaXMuZmlsdGVyQWN0aW9uTGlzdChPYmplY3QudmFsdWVzKGRhdGEuZGF0YSkpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxuICAgICAgICAuZ2V0Q3VycmVudEFjdGlvbnNXaXRob3V0SW5zdGFuY2VJRCh7XG4gICAgICAgICAgd29ya2Zsb3c6IHRoaXMud29ya2Zsb3csXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHt9LCBlcnIuZXJyb3I/LmVycm9ycyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IHRoaXMuZmlsdGVyQWN0aW9uTGlzdChPYmplY3QudmFsdWVzKGRhdGEuZGF0YSkpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyQWN0aW9uTGlzdChhY3Rpb25zOiAoRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnKVtdKSB7XG4gICAgcmV0dXJuIGFjdGlvbnNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhPy5tZXRhPy5vcmRlciAtIGI/Lm1ldGE/Lm9yZGVyKVxuICAgICAgLmZpbHRlcigoYSkgPT4gIWE/Lm1ldGE/LmhpZGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUV4ZWN1dGVBY3Rpb24ocmVzcG9uc2U6IHsgdmFsdWU6IGFueTsgZXJyb3JzPzogc3RyaW5nW10gfSkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGVycm9ycyA9IFtdIH0gPSByZXNwb25zZTtcblxuICAgIGlmIChlcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcih2YWx1ZSwgZXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbGxvd2VkQWN0aW9ucyA9IHRoaXMuZmlsdGVyQWN0aW9uTGlzdCh2YWx1ZS5hY3Rpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB2YWx1ZT8uaW5zdGFuY2VJRCAmJlxuICAgICAgdmFsdWU/Lmluc3RhbmNlSUQgIT09IHRoaXMuaW5zdGFuY2VJRCAmJlxuICAgICAgIWVycm9ycz8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICB0aGlzLmluc3RhbmNlSUQgPSB2YWx1ZT8uaW5zdGFuY2VJRDtcblxuICAgICAgdGhpcy5vbkluc3RhbmNlQ2hhbmdlLmVtaXQodmFsdWU/Lmluc3RhbmNlSUQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY3Rpb25FeGVjdXRpb24oY29uZmlnOiBFdmFsdWF0ZWRBY3Rpb24gfCBBY3Rpb25Db25maWcpIHtcbiAgICB0aGlzLmFsbG93ZWRBY3Rpb25zID0gdGhpcy5maWx0ZXJBY3Rpb25MaXN0KFtjb25maWddKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZXRyeUFjdGlvbigpIHtcbiAgICBpZiAodGhpcy5hbGxvd2VkQWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmICh0aGlzLnN0YXJ0KSB0aGlzLnNldEFsbG93ZWRBY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IodmFsdWU6IGFueSwgZXJyb3JzOiBhbnlbXSkge1xuICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIHZhbHVlLmluc3RhbmNlSUQgPSBlcnJvcnNbMF1cbiAgICAgID8uc3BsaXQoXCJpbnN0YW5jZUlEPSdcIilcbiAgICAgID8ucG9wKClcbiAgICAgID8ucmVwbGFjZShcIidcIiwgJycpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMuZXJyb3JzXG4gICAgICAuZmlsdGVyKChlOiBzdHJpbmcpID0+IHR5cGVvZiBlID09PSAnc3RyaW5nJylcbiAgICAgIC5tYXAoKG1zZykgPT4gbXNnLnJlcGxhY2UoLyBpbnN0YW5jZUlEPScoLiopJy9pLCAnJykpO1xuXG4gICAgaWYgKHRoaXMub25FcnJvcikge1xuICAgICAgdGhpcy5vbkVycm9yLmVtaXQodGhpcy5lcnJvcnMpO1xuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJtc3RhdGUtYW5ndWxhclwiPlxuICA8IS0tIDxpbWdcbiAgICBzcmM9XCJodHRwczovL2ZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbS92MC9iL21vYmlvZmZpY2UtZGV2LmFwcHNwb3QuY29tL28vY29tcGFuaWVzX2xvZ28lMkZsb2dvLnBuZz9hbHQ9bWVkaWEmdG9rZW49ZTVmMjM4ZjAtYzM3My00Yzc2LTkxNjgtMzdmYmU3ZGExZGUwXCJcbiAgICBhbHQ9XCJsb2dvXCJcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIGNsYXNzPVwibG9nb1wiXG4gIC8+IC0tPlxuXG4gIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgPG1vYmktb2ZmaWNlLWxvYWRlciBjbGFzcz1cImZsZXgtY29udGFpbmVyXCIgLz5cbiAgfSBAZWxzZSBpZiAoZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICA8bGliLWVycm9yLWNhcmQgW2Vycm9yc109XCJlcnJvck1lc3NhZ2VzXCIgKHJldHJ5KT1cImhhbmRsZVJldHJ5QWN0aW9uKClcIiAvPlxuICB9IEBlbHNlIHtcbiAgICBAc3dpdGNoIChhbGxvd2VkQWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIEBjYXNlICgwKSB7XG4gICAgICAgIDxsaWItd29ya2Zsb3ctZW5kLWNhcmQgLz5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgxKSB7XG4gICAgICAgIDxsaWItYWN0aW9uLWZvcm1cbiAgICAgICAgICBbd29ya2Zsb3ddPVwid29ya2Zsb3dcIlxuICAgICAgICAgIFt0b2tlbl09XCJ0b2tlblwiXG4gICAgICAgICAgW2luc3RhbmNlSURdPVwiaW5zdGFuY2VJRFwiXG4gICAgICAgICAgW2NvbmZpZ109XCJhbGxvd2VkQWN0aW9uc1swXVwiXG4gICAgICAgICAgKG9uRXhlY3V0ZUFjdGlvbik9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKCRldmVudClcIlxuICAgICAgICAgIFt1cGRhdGVDdXN0b21GaWVsZFZhbHVlXT1cImhhbmRsZUN1c3RvbUZpZWxkXCJcbiAgICAgICAgICAob25TdWNjZXNzKT1cIm9uU3VjY2Vzcy5lbWl0KCRldmVudClcIlxuICAgICAgICA+PC9saWItYWN0aW9uLWZvcm0+XG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgYWxsb3dlZEFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPG1vYmktb2ZmaWNlLWFjdGlvbi1jYXJkXG4gICAgICAgICAgICAgIFtjb25maWddPVwiaXRlbVwiXG4gICAgICAgICAgICAgIChleGVjdXRlQWN0aW9uKT1cImhhbmRsZUFjdGlvbkV4ZWN1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
|
@@ -385,13 +385,18 @@ class ActionFormComponent {
|
|
385
385
|
});
|
386
386
|
};
|
387
387
|
}
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
388
|
+
ngOnChanges(changes) {
|
389
|
+
if (changes['config']) {
|
390
|
+
if (Boolean(this.config?.steps?.length) === false) {
|
391
|
+
this.handleExecuteAction(true);
|
392
|
+
return;
|
393
|
+
}
|
394
|
+
this.assignFormBuilder();
|
395
|
+
this.handleStepConfigFilter();
|
396
|
+
if (this.config?.steps?.some((d) => d.module === ManualStepModule.USER_INPUT) === false) {
|
397
|
+
this.handleExecuteAction(true);
|
398
|
+
return;
|
399
|
+
}
|
395
400
|
}
|
396
401
|
}
|
397
402
|
//#region handlers
|
@@ -462,7 +467,7 @@ class ActionFormComponent {
|
|
462
467
|
this.form = this.fb.group(validators);
|
463
468
|
}
|
464
469
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i2.FormBuilder }, { token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
465
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
|
470
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
|
466
471
|
}
|
467
472
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
468
473
|
type: Component,
|
@@ -499,11 +504,11 @@ class ActionCardComponent {
|
|
499
504
|
this.executeAction.emit(this.config);
|
500
505
|
}
|
501
506
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
502
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://
|
507
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n", styles: [".card{width:240px;height:254px;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.card-image{width:auto;margin:5px;height:150px;display:block;margin-inline:auto;border-radius:50%}.card-content{padding:15px}.card-title{margin:0 0 10px;font-size:18px;font-weight:700;color:#333}.card-description{margin:0;font-size:14px;color:#666;line-height:1.5}.card-footer{padding:10px 15px;background-color:#f9f9f9;text-align:right}.card-button{background-color:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .2s}.card-button:hover{background-color:#0056b3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
503
508
|
}
|
504
509
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
|
505
510
|
type: Component,
|
506
|
-
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://
|
511
|
+
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n", styles: [".card{width:240px;height:254px;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.card-image{width:auto;margin:5px;height:150px;display:block;margin-inline:auto;border-radius:50%}.card-content{padding:15px}.card-title{margin:0 0 10px;font-size:18px;font-weight:700;color:#333}.card-description{margin:0;font-size:14px;color:#666;line-height:1.5}.card-footer{padding:10px 15px;background-color:#f9f9f9;text-align:right}.card-button{background-color:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .2s}.card-button:hover{background-color:#0056b3}\n"] }]
|
507
512
|
}], propDecorators: { config: [{
|
508
513
|
type: Input,
|
509
514
|
args: [{ required: true }]
|
@@ -519,11 +524,11 @@ class ErrorCardComponent {
|
|
519
524
|
this.retry.emit();
|
520
525
|
}
|
521
526
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
522
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">
|
527
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
|
523
528
|
}
|
524
529
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
|
525
530
|
type: Component,
|
526
|
-
args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">
|
531
|
+
args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n" }]
|
527
532
|
}], propDecorators: { errors: [{
|
528
533
|
type: Input,
|
529
534
|
args: [{ required: true }]
|
@@ -603,7 +608,7 @@ class MstateAngularComponent {
|
|
603
608
|
this.isLoading = false;
|
604
609
|
}))
|
605
610
|
.subscribe((data) => {
|
606
|
-
this.allowedActions = Object.values(data.data);
|
611
|
+
this.allowedActions = this.filterActionList(Object.values(data.data));
|
607
612
|
});
|
608
613
|
}
|
609
614
|
else {
|
@@ -619,17 +624,22 @@ class MstateAngularComponent {
|
|
619
624
|
this.isLoading = false;
|
620
625
|
}))
|
621
626
|
.subscribe((data) => {
|
622
|
-
this.allowedActions = Object.values(data.data);
|
627
|
+
this.allowedActions = this.filterActionList(Object.values(data.data));
|
623
628
|
});
|
624
629
|
}
|
625
630
|
}
|
631
|
+
filterActionList(actions) {
|
632
|
+
return actions
|
633
|
+
.sort((a, b) => a?.meta?.order - b?.meta?.order)
|
634
|
+
.filter((a) => !a?.meta?.hide);
|
635
|
+
}
|
626
636
|
handleExecuteAction(response) {
|
627
637
|
const { value, errors = [] } = response;
|
628
638
|
if (errors?.length) {
|
629
639
|
this.handleError(value, errors);
|
630
640
|
}
|
631
641
|
else {
|
632
|
-
this.allowedActions = value.actions;
|
642
|
+
this.allowedActions = this.filterActionList(value.actions);
|
633
643
|
}
|
634
644
|
if (value?.instanceID &&
|
635
645
|
value?.instanceID !== this.instanceID &&
|
@@ -639,7 +649,7 @@ class MstateAngularComponent {
|
|
639
649
|
}
|
640
650
|
}
|
641
651
|
handleActionExecution(config) {
|
642
|
-
this.allowedActions = [config];
|
652
|
+
this.allowedActions = this.filterActionList([config]);
|
643
653
|
}
|
644
654
|
handleRetryAction() {
|
645
655
|
if (this.allowedActions.length === 0) {
|
@@ -663,7 +673,7 @@ class MstateAngularComponent {
|
|
663
673
|
}
|
664
674
|
}
|
665
675
|
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 }); }
|
666
|
-
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", handleCustomField: "handleCustomField" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\n <img\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\"\n alt=\"logo\" width=\"100%\" class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form [workflow]=\"workflow\" [token]=\"token\" [instanceID]=\"instanceID\" [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\" [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card [config]=\"item\" (executeAction)=\"handleActionExecution($event)\" />\n }\n </div>\n }\n }\n }\n</div>", 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:49px;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 [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:.65em}.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"], outputs: ["onExecuteAction", "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" }] }); }
|
676
|
+
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", handleCustomField: "handleCustomField" }, outputs: { onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<div class=\"mstate-angular\">\n <!-- <img\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\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\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:49px;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 [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:.65em}.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"], outputs: ["onExecuteAction", "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" }] }); }
|
667
677
|
}
|
668
678
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
|
669
679
|
type: Component,
|
@@ -674,7 +684,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
674
684
|
LoaderComponent,
|
675
685
|
ErrorCardComponent,
|
676
686
|
WorkflowEndCardComponent,
|
677
|
-
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\n <img\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\"\n alt=\"logo\" width=\"100%\" class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form [workflow]=\"workflow\" [token]=\"token\" [instanceID]=\"instanceID\" [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\" [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card [config]=\"item\" (executeAction)=\"handleActionExecution($event)\" />\n }\n </div>\n }\n }\n }\n</div>", 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:49px;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 [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:.65em}.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"] }]
|
687
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "<div class=\"mstate-angular\">\n <!-- <img\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\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\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:49px;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 [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:.65em}.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"] }]
|
678
688
|
}], ctorParameters: () => [{ type: MstateAngularHelper }, { type: MstateAngularService }], propDecorators: { token: [{
|
679
689
|
type: Input,
|
680
690
|
args: [{ required: true }]
|
@@ -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/components/text-area/text-area.component.ts","../../../projects/mstate-angular/src/lib/components/text-area/text-area.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 {\n EXECUTE_ACTION = 'workflow/v2/execute',\n GET_WORKFLOW_CONFIG = 'workflow/config',\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\n}\n\nexport enum FieldType {\n DATE_PICKER = 'datePicker',\n TIME_PICKER = 'timePicker',\n INPUT_FIELD = 'inputField',\n TEXT_AREA = 'textArea',\n CHECKBOX = 'checkBox',\n RADIO_LIST = 'radioList',\n DROP_DOWN = 'dropDown',\n SUMMARY = 'summary',\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n}\n\nexport enum ManualStepModule {\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n USER_INPUT = 'USER_INPUT',\n}\n\nexport enum Theme {\n DARK = 'dark',\n LIGHT = 'light',\n SYSTEM = 'system',\n}\n\nexport enum Variable {\n WORKFLOW = 'workflow',\n TOKEN = 'token',\n INSTANCE_ID = 'instanceID',\n START = 'start',\n TRIGGER_AGAIN = 'triggerAgain',\n ERRORS = 'errors',\n}\n\nexport enum ActionType {\n MANUAL = 'MANUAL',\n AUTO = 'AUTO',\n CHAINED = 'CHAINED',\n}\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\n// export const MSTATE_URL = 'http://localhost:3000/api';\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\nexport const TOKEN_KEY: string = 'secret-key';\n","import { Injectable, SimpleChanges } from '@angular/core';\nimport { Step, UserInput } from './interfaces/interface';\nimport { FieldType } from './common/enum';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularHelper {\n detectChange(change: SimpleChanges, keys: string[]) {\n for (const key of keys) {\n if (change[key] && change[key].currentValue !== change[key].previousValue)\n return true;\n }\n\n return false;\n }\n\n formatString(str: string = '') {\n return str.toUpperCase().replace(/_/gi, ' ');\n }\n\n getObjectValue<T>(obj: any, target: string) {\n const keys = target ? target.split('.') : [];\n\n let cur: any = obj;\n for (const key of keys) {\n cur = cur?.[key];\n }\n\n return cur as T | undefined;\n }\n\n checkIsStep(step: Step | UserInput): step is Step {\n return (step as Step)?.config !== undefined;\n }\n\n checkIsHandledStep(module: FieldType) {\n switch (module) {\n case FieldType.CHECKBOX:\n case FieldType.DROP_DOWN:\n case FieldType.INPUT_FIELD:\n case FieldType.TEXT_AREA:\n case FieldType.RADIO_LIST:\n return true;\n\n default:\n return false;\n }\n }\n\n checkInputError(form: FormGroup, key: string) {\n const formData = form.controls[key] ?? {};\n\n switch (\n (formData.status === 'INVALID' && formData.touched) ||\n (formData.status === 'INVALID' && formData.dirty)\n ) {\n case true:\n return {\n isError: true,\n message: `${key} is required`,\n };\n default:\n return {\n isError: false,\n message: '',\n };\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\nimport { Route } from './common/enum';\n\nimport {\n GetCurrentActionsWithInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDResponse,\n MstateResponse,\n PostExecuteActionRequest,\n PostExecuteActionResponse,\n} from './interfaces/api.interface';\nimport axios, { AxiosRequestConfig } from 'axios';\nimport { MstateAngularHelper } from './mstate-angular.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularService {\n private getHeaders(token: string) {\n return new HttpHeaders({\n 'Content-Type': 'application/json',\n [TOKEN_KEY]: token,\n });\n }\n\n constructor(\n private http: HttpClient,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\n {\n instanceID: payload.instanceID ?? '',\n name: payload.workflow,\n action: payload.action,\n },\n { headers: this.getHeaders(payload.token) }\n );\n }\n\n getCurrentActionsWithInstanceID(\n payload: GetCurrentActionsWithInstanceIDRequest\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\n {\n headers: this.getHeaders(payload.token),\n }\n );\n }\n\n getCurrentActionsWithoutInstanceID(\n payload: GetCurrentActionsWithoutInstanceIDRequest\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\n {\n headers: this.getHeaders(payload.token),\n }\n );\n }\n\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\n const response = await axios(request);\n\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'mobi-office-input-field',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './input-field.component.html',\n styleUrl: './input-field.component.scss',\n})\nexport class InputFieldComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-select',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n})\nexport class SelectComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-dropdown',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n})\nexport class DropdownComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'lib-text-area',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n styleUrl: './text-area.component.scss',\n})\nexport class TextAreaComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <textarea\n style=\"flex: 1\"\n rows=\"3\"\n [required]=\"config.field.isRequired || false\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n ></textarea>\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Step, UserInput } from '../interfaces/interface';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { FieldType } from '../common/enum';\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\nimport { SelectComponent } from '../components/select/select.component';\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\nimport { FormGroup } from '@angular/forms';\nimport { TextAreaComponent } from '../components/text-area/text-area.component';\n\n@Component({\n selector: 'mobi-office-input-selector',\n standalone: true,\n imports: [\n CommonModule,\n InputFieldComponent,\n SelectComponent,\n DropdownComponent,\n TextAreaComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './input-selector.component.html',\n styleUrl: './input-selector.component.scss',\n})\nexport class InputSelectorComponent implements OnInit {\n @Input({ required: true }) step!: UserInput | Step;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n protected config!: UserInput;\n protected FieldType = FieldType;\n\n ngOnInit(): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <lib-text-area [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DROP_DOWN) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.RADIO_LIST) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @default {}\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ButtonComponent {\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\n @Input() onClick: () => void = () => {};\n}\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n})\nexport class LoaderComponent {}\n","<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { ActionConfig, UserInput } from '../interfaces/interface';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionType, ManualStepModule } from '../common/enum';\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\nimport { ButtonComponent } from '../components/button/button.component';\nimport {\n FormBuilder,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Component({\n selector: 'lib-action-form',\n standalone: true,\n imports: [\n InputSelectorComponent,\n ButtonComponent,\n ReactiveFormsModule,\n LoaderComponent,\n ],\n providers: [MstateAngularService, MstateAngularHelper],\n templateUrl: './action-form.component.html',\n styleUrl: './action-form.component.scss',\n})\nexport class ActionFormComponent implements OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\n name: '',\n type: ActionType.MANUAL,\n steps: [],\n };\n @Output() onExecuteAction = new EventEmitter<{\n value: any;\n errors?: string[];\n }>();\n @Input() updateCustomFieldValue?: (key: string) => any = () => {};\n\n @Input() instanceID?: string;\n @Output() onSuccess = new EventEmitter<string>();\n\n //#region Custom Declaration\n protected form!: FormGroup;\n protected isLoading = false;\n protected nonUserInputField: any = {};\n protected customKeys: { key: string; as: string }[] = [];\n\n constructor(\n private fb: FormBuilder,\n private mstateAngularService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n ngOnInit(): void {\n this.assignFormBuilder();\n this.handleStepConfigFilter();\n\n if (\n Boolean(this.config?.steps?.length) === false ||\n this.config?.steps?.some(\n ({ module }) => module === ManualStepModule.USER_INPUT,\n ) === false\n ) {\n this.handleExecuteAction(true);\n return;\n }\n }\n\n //#region handlers\n\n protected handleExecuteAction(skipValidation: boolean = false) {\n if (skipValidation || this.form.status === 'VALID') {\n this.isLoading = true;\n\n let customConfig: any = {};\n if (this.updateCustomFieldValue) {\n for (const { key, as } of this.customKeys) {\n customConfig[as] = this.updateCustomFieldValue(key);\n }\n }\n\n this.mstateAngularService\n .executeAction({\n instanceID: this.instanceID,\n action: {\n name: this.config.name,\n payload: Object.assign(\n {\n ...this.form.value,\n ...this.nonUserInputField,\n },\n customConfig,\n ),\n },\n token: this.token,\n workflow: this.workflow,\n })\n .pipe(\n catchError((e) => {\n this.onExecuteAction.emit({\n value: {},\n errors: e.error?.errors ?? [],\n });\n\n throw e;\n }),\n finalize(() => {\n this.isLoading = false;\n this.customKeys = [];\n }),\n )\n .subscribe((data) => {\n this.onExecuteAction.emit({\n value: data.data,\n errors: [],\n });\n if (this.onSuccess) {\n this.onSuccess.emit(this.config.name);\n }\n });\n } else {\n this.markAllAsTouched(this.form);\n }\n }\n private markAllAsTouched(formGroup: FormGroup): void {\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.markAsTouched) {\n control?.markAsTouched();\n }\n });\n }\n\n private handleStepConfigFilter = () => {\n const keyForAPISet = new Set();\n\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\n const step = stepConfig as UserInput;\n\n switch (step?.module) {\n case ManualStepModule.CUSTOM_FIELD: {\n this.customKeys.push(step?.context);\n return true;\n }\n\n case ManualStepModule.CONTEXT_FIELD:\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\n return true;\n\n default: {\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\n keyForAPISet.add(step?.field?.keyForAPI);\n return isDuplicate === false;\n }\n }\n }) as UserInput[];\n };\n\n private assignFormBuilder() {\n const validators = this.config.steps.reduce(\n (acc, data) =>\n Object.assign(\n acc,\n this.mstateHelper.checkIsStep(data) === false &&\n this.mstateHelper.checkIsHandledStep(data.fieldType)\n ? {\n [data?.field?.keyForAPI]: [\n data?.field.multiple ? [] : null,\n data?.field?.isRequired ? [Validators.required] : undefined,\n ],\n }\n : {},\n ),\n {},\n );\n this.form = this.fb.group(validators);\n }\n\n //#endregion\n}\n","<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvaluatedAction } from '../../interfaces/api.interface';\nimport { ActionConfig } from '../../interfaces/interface';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'mobi-office-action-card',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './action-card.component.html',\n styleUrl: './action-card.component.scss',\n})\nexport class ActionCardComponent {\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\n\n triggerExecuteAction() {\n this.executeAction.emit(this.config);\n }\n}\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://docs.mstate.ai/img/mymobioffice_logo.png\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc ?? 'Click card to execute' }}\n </p>\n </div>\n <div class=\"card-footer\">\n <button class=\"card-button\">Execute</button>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'lib-error-card',\n standalone: true,\n imports: [ButtonComponent],\n templateUrl: './error-card.component.html',\n styleUrl: './error-card.component.scss',\n})\nexport class ErrorCardComponent {\n @Input({ required: true }) errors!: string[];\n @Output() retry = new EventEmitter<undefined>();\n\n protected handleRetryError() {\n this.retry.emit();\n }\n}\n","<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Erro</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-workflow-end-card',\n standalone: true,\n imports: [],\n templateUrl: './workflow-end-card.component.html',\n styleUrl: './workflow-end-card.component.scss',\n})\nexport class WorkflowEndCardComponent {}\n","<p>Workflow Ended</p>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Variable } from '../common/enum';\nimport { ActionFormComponent } from '../action-form/action-form.component';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionConfig } from '../interfaces/interface';\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\nimport { LoaderComponent } from '../components/loader/loader.component';\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\n\n@Component({\n selector: 'mstate-angular',\n standalone: true,\n imports: [\n CommonModule,\n ActionFormComponent,\n ActionCardComponent,\n LoaderComponent,\n ErrorCardComponent,\n WorkflowEndCardComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './mstate-angular.component.html',\n styleUrl: './mstate-angular.component.scss',\n})\nexport class MstateAngularComponent implements OnChanges, OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input() instanceID?: string;\n /**\n * @type {boolean}\n * @default true\n * @description Trigger if to start workflow.\n */\n @Input() start: boolean = true;\n /**\n * @type {string}\n * @description To Validate who are allowed to perform or see action.\n */\n @Input() who?: string;\n /**\n * Triggers whenever your current workflow moved to other.\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\n * @returns {void}.\n */\n @Output() onInstanceChange = new EventEmitter<string>();\n /**\n * Triggers when The Action execution is completed.\n * @param {string} actionName - action name which you have executed at this moment.\n * @returns {void}.\n */\n @Output() onSuccess = new EventEmitter<string>();\n /**\n * Triggers when Error occurs while performing any action.\n * @param {unknown[]} errors - Error response from the api call done by mstate.\n * @returns {void}.\n */\n @Output() onError = new EventEmitter<unknown[]>();\n /**\n * Handles your steps which contain Custom field module.\n * @param {string} key - Which key you expect for getting the value.\n * @returns {any} - whatever value you want to save in that custom field.\n */\n @Input() handleCustomField?: (key: string) => any;\n\n //#region Variables & Events\n\n protected isLoading = true;\n protected errors: any[] = [];\n protected errorMessages: string[] = [];\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\n\n constructor(\n private mstateAngularHelper: MstateAngularHelper,\n private mstateAngularService: MstateAngularService,\n ) {}\n\n ngOnInit(): void {\n if (this.start) this.setAllowedActions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\n if (this.start) this.setAllowedActions();\n }\n }\n\n //#endregion\n\n //#region Handlers\n\n private setAllowedActions() {\n this.isLoading = true;\n\n if (this.instanceID) {\n this.mstateAngularService\n .getCurrentActionsWithInstanceID({\n instanceID: this.instanceID,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n }),\n )\n .subscribe((data) => {\n this.allowedActions = Object.values(data.data);\n });\n } else {\n this.mstateAngularService\n .getCurrentActionsWithoutInstanceID({\n workflow: this.workflow,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n }),\n )\n .subscribe((data) => {\n this.allowedActions = Object.values(data.data);\n });\n }\n }\n\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\n const { value, errors = [] } = response;\n\n if (errors?.length) {\n this.handleError(value, errors);\n } else {\n this.allowedActions = value.actions;\n }\n\n if (\n value?.instanceID &&\n value?.instanceID !== this.instanceID &&\n !errors?.length\n ) {\n this.instanceID = value?.instanceID;\n\n this.onInstanceChange.emit(value?.instanceID);\n }\n }\n\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\n this.allowedActions = [config];\n }\n\n protected handleRetryAction() {\n if (this.allowedActions.length === 0) {\n if (this.start) this.setAllowedActions();\n }\n\n this.errors = [];\n this.errorMessages = [];\n }\n\n private handleError(value: any, errors: any[]) {\n this.errors = errors;\n value.instanceID = errors[0]\n ?.split(\"instanceID='\")\n ?.pop()\n ?.replace(\"'\", '');\n this.errorMessages = this.errors\n .filter((e: string) => typeof e === 'string')\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\n\n if (this.onError) {\n this.onError.emit(this.errors);\n }\n }\n //#endregion\n}\n","<div class=\"mstate-angular\">\n <img\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\"\n alt=\"logo\" width=\"100%\" class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form [workflow]=\"workflow\" [token]=\"token\" [instanceID]=\"instanceID\" [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\" [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card [config]=\"item\" (executeAction)=\"handleActionExecution($event)\" />\n }\n </div>\n }\n }\n }\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\n})\nexport class MstateAngularModule {}\n","/*\n * Public API Surface of mstate-angular\n */\n\nexport * from './lib/mstate-angular/mstate-angular.component';\nexport * from './lib/mstate-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i1.MstateAngularService","i3","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/components/text-area/text-area.component.ts","../../../projects/mstate-angular/src/lib/components/text-area/text-area.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 {\n EXECUTE_ACTION = 'workflow/v2/execute',\n GET_WORKFLOW_CONFIG = 'workflow/config',\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\n}\n\nexport enum FieldType {\n DATE_PICKER = 'datePicker',\n TIME_PICKER = 'timePicker',\n INPUT_FIELD = 'inputField',\n TEXT_AREA = 'textArea',\n CHECKBOX = 'checkBox',\n RADIO_LIST = 'radioList',\n DROP_DOWN = 'dropDown',\n SUMMARY = 'summary',\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n}\n\nexport enum ManualStepModule {\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n USER_INPUT = 'USER_INPUT',\n}\n\nexport enum Theme {\n DARK = 'dark',\n LIGHT = 'light',\n SYSTEM = 'system',\n}\n\nexport enum Variable {\n WORKFLOW = 'workflow',\n TOKEN = 'token',\n INSTANCE_ID = 'instanceID',\n START = 'start',\n TRIGGER_AGAIN = 'triggerAgain',\n ERRORS = 'errors',\n}\n\nexport enum ActionType {\n MANUAL = 'MANUAL',\n AUTO = 'AUTO',\n CHAINED = 'CHAINED',\n}\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\n// export const MSTATE_URL = 'http://localhost:3000/api';\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\nexport const TOKEN_KEY: string = 'secret-key';\n","import { Injectable, SimpleChanges } from '@angular/core';\nimport { Step, UserInput } from './interfaces/interface';\nimport { FieldType } from './common/enum';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularHelper {\n detectChange(change: SimpleChanges, keys: string[]) {\n for (const key of keys) {\n if (change[key] && change[key].currentValue !== change[key].previousValue)\n return true;\n }\n\n return false;\n }\n\n formatString(str: string = '') {\n return str.toUpperCase().replace(/_/gi, ' ');\n }\n\n getObjectValue<T>(obj: any, target: string) {\n const keys = target ? target.split('.') : [];\n\n let cur: any = obj;\n for (const key of keys) {\n cur = cur?.[key];\n }\n\n return cur as T | undefined;\n }\n\n checkIsStep(step: Step | UserInput): step is Step {\n return (step as Step)?.config !== undefined;\n }\n\n checkIsHandledStep(module: FieldType) {\n switch (module) {\n case FieldType.CHECKBOX:\n case FieldType.DROP_DOWN:\n case FieldType.INPUT_FIELD:\n case FieldType.TEXT_AREA:\n case FieldType.RADIO_LIST:\n return true;\n\n default:\n return false;\n }\n }\n\n checkInputError(form: FormGroup, key: string) {\n const formData = form.controls[key] ?? {};\n\n switch (\n (formData.status === 'INVALID' && formData.touched) ||\n (formData.status === 'INVALID' && formData.dirty)\n ) {\n case true:\n return {\n isError: true,\n message: `${key} is required`,\n };\n default:\n return {\n isError: false,\n message: '',\n };\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\nimport { Route } from './common/enum';\n\nimport {\n GetCurrentActionsWithInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDResponse,\n MstateResponse,\n PostExecuteActionRequest,\n PostExecuteActionResponse,\n} from './interfaces/api.interface';\nimport axios, { AxiosRequestConfig } from 'axios';\nimport { MstateAngularHelper } from './mstate-angular.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularService {\n private getHeaders(token: string) {\n return new HttpHeaders({\n 'Content-Type': 'application/json',\n [TOKEN_KEY]: token,\n });\n }\n\n constructor(\n private http: HttpClient,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\n {\n instanceID: payload.instanceID ?? '',\n name: payload.workflow,\n action: payload.action,\n },\n { headers: this.getHeaders(payload.token) }\n );\n }\n\n getCurrentActionsWithInstanceID(\n payload: GetCurrentActionsWithInstanceIDRequest\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\n {\n headers: this.getHeaders(payload.token),\n }\n );\n }\n\n getCurrentActionsWithoutInstanceID(\n payload: GetCurrentActionsWithoutInstanceIDRequest\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\n {\n headers: this.getHeaders(payload.token),\n }\n );\n }\n\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\n const response = await axios(request);\n\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'mobi-office-input-field',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './input-field.component.html',\n styleUrl: './input-field.component.scss',\n})\nexport class InputFieldComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-select',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n})\nexport class SelectComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-dropdown',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n})\nexport class DropdownComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'lib-text-area',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n styleUrl: './text-area.component.scss',\n})\nexport class TextAreaComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <textarea\n style=\"flex: 1\"\n rows=\"3\"\n [required]=\"config.field.isRequired || false\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n ></textarea>\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Step, UserInput } from '../interfaces/interface';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { FieldType } from '../common/enum';\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\nimport { SelectComponent } from '../components/select/select.component';\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\nimport { FormGroup } from '@angular/forms';\nimport { TextAreaComponent } from '../components/text-area/text-area.component';\n\n@Component({\n selector: 'mobi-office-input-selector',\n standalone: true,\n imports: [\n CommonModule,\n InputFieldComponent,\n SelectComponent,\n DropdownComponent,\n TextAreaComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './input-selector.component.html',\n styleUrl: './input-selector.component.scss',\n})\nexport class InputSelectorComponent implements OnInit {\n @Input({ required: true }) step!: UserInput | Step;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n protected config!: UserInput;\n protected FieldType = FieldType;\n\n ngOnInit(): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <lib-text-area [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DROP_DOWN) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.RADIO_LIST) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @default {}\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ButtonComponent {\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\n @Input() onClick: () => void = () => {};\n}\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n})\nexport class LoaderComponent {}\n","<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { ActionConfig, UserInput } from '../interfaces/interface';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionType, ManualStepModule } from '../common/enum';\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\nimport { ButtonComponent } from '../components/button/button.component';\nimport {\n FormBuilder,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Component({\n selector: 'lib-action-form',\n standalone: true,\n imports: [\n InputSelectorComponent,\n ButtonComponent,\n ReactiveFormsModule,\n LoaderComponent,\n ],\n providers: [MstateAngularService, MstateAngularHelper],\n templateUrl: './action-form.component.html',\n styleUrl: './action-form.component.scss',\n})\nexport class ActionFormComponent implements OnChanges {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\n name: '',\n type: ActionType.MANUAL,\n steps: [],\n };\n @Output() onExecuteAction = new EventEmitter<{\n value: any;\n errors?: string[];\n }>();\n @Input() updateCustomFieldValue?: (key: string) => any = () => {};\n\n @Input() instanceID?: string;\n @Output() onSuccess = new EventEmitter<string>();\n\n //#region Custom Declaration\n protected form!: FormGroup;\n protected isLoading = false;\n protected nonUserInputField: any = {};\n protected customKeys: { key: string; as: string }[] = [];\n\n constructor(\n private fb: FormBuilder,\n private mstateAngularService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['config']) {\n if (Boolean(this.config?.steps?.length) === false) {\n this.handleExecuteAction(true);\n return;\n }\n\n this.assignFormBuilder();\n this.handleStepConfigFilter();\n\n if (\n this.config?.steps?.some(\n (d) => d.module === ManualStepModule.USER_INPUT,\n ) === false\n ) {\n this.handleExecuteAction(true);\n return;\n }\n }\n }\n\n //#region handlers\n\n protected handleExecuteAction(skipValidation: boolean = false) {\n if (skipValidation || this.form.status === 'VALID') {\n this.isLoading = true;\n\n let customConfig: any = {};\n if (this.updateCustomFieldValue) {\n for (const { key, as } of this.customKeys) {\n customConfig[as] = this.updateCustomFieldValue(key);\n }\n }\n\n this.mstateAngularService\n .executeAction({\n instanceID: this.instanceID,\n action: {\n name: this.config.name,\n payload: Object.assign(\n {\n ...this.form.value,\n ...this.nonUserInputField,\n },\n customConfig,\n ),\n },\n token: this.token,\n workflow: this.workflow,\n })\n .pipe(\n catchError((e) => {\n this.onExecuteAction.emit({\n value: {},\n errors: e.error?.errors ?? [],\n });\n\n throw e;\n }),\n finalize(() => {\n this.isLoading = false;\n this.customKeys = [];\n }),\n )\n .subscribe((data) => {\n this.onExecuteAction.emit({\n value: data.data,\n errors: [],\n });\n if (this.onSuccess) {\n this.onSuccess.emit(this.config.name);\n }\n });\n } else {\n this.markAllAsTouched(this.form);\n }\n }\n private markAllAsTouched(formGroup: FormGroup): void {\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.markAsTouched) {\n control?.markAsTouched();\n }\n });\n }\n\n private handleStepConfigFilter = () => {\n const keyForAPISet = new Set();\n\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\n const step = stepConfig as UserInput;\n\n switch (step?.module) {\n case ManualStepModule.CUSTOM_FIELD: {\n this.customKeys.push(step?.context);\n return true;\n }\n\n case ManualStepModule.CONTEXT_FIELD:\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\n return true;\n\n default: {\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\n keyForAPISet.add(step?.field?.keyForAPI);\n return isDuplicate === false;\n }\n }\n }) as UserInput[];\n };\n\n private assignFormBuilder() {\n const validators = this.config.steps.reduce(\n (acc, data) =>\n Object.assign(\n acc,\n this.mstateHelper.checkIsStep(data) === false &&\n this.mstateHelper.checkIsHandledStep(data.fieldType)\n ? {\n [data?.field?.keyForAPI]: [\n data?.field.multiple ? [] : null,\n data?.field?.isRequired ? [Validators.required] : undefined,\n ],\n }\n : {},\n ),\n {},\n );\n this.form = this.fb.group(validators);\n }\n\n //#endregion\n}\n","<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvaluatedAction } from '../../interfaces/api.interface';\nimport { ActionConfig } from '../../interfaces/interface';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'mobi-office-action-card',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './action-card.component.html',\n styleUrl: './action-card.component.scss',\n})\nexport class ActionCardComponent {\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\n\n triggerExecuteAction() {\n this.executeAction.emit(this.config);\n }\n}\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b\"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'lib-error-card',\n standalone: true,\n imports: [ButtonComponent],\n templateUrl: './error-card.component.html',\n styleUrl: './error-card.component.scss',\n})\nexport class ErrorCardComponent {\n @Input({ required: true }) errors!: string[];\n @Output() retry = new EventEmitter<undefined>();\n\n protected handleRetryError() {\n this.retry.emit();\n }\n}\n","<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-workflow-end-card',\n standalone: true,\n imports: [],\n templateUrl: './workflow-end-card.component.html',\n styleUrl: './workflow-end-card.component.scss',\n})\nexport class WorkflowEndCardComponent {}\n","<p>Workflow Ended</p>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Variable } from '../common/enum';\nimport { ActionFormComponent } from '../action-form/action-form.component';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionConfig } from '../interfaces/interface';\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\nimport { LoaderComponent } from '../components/loader/loader.component';\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\n\n@Component({\n selector: 'mstate-angular',\n standalone: true,\n imports: [\n CommonModule,\n ActionFormComponent,\n ActionCardComponent,\n LoaderComponent,\n ErrorCardComponent,\n WorkflowEndCardComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './mstate-angular.component.html',\n styleUrl: './mstate-angular.component.scss',\n})\nexport class MstateAngularComponent implements OnChanges, OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input() instanceID?: string;\n /**\n * @type {boolean}\n * @default true\n * @description Trigger if to start workflow.\n */\n @Input() start: boolean = true;\n /**\n * @type {string}\n * @description To Validate who are allowed to perform or see action.\n */\n @Input() who?: string;\n /**\n * Triggers whenever your current workflow moved to other.\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\n * @returns {void}.\n */\n @Output() onInstanceChange = new EventEmitter<string>();\n /**\n * Triggers when The Action execution is completed.\n * @param {string} actionName - action name which you have executed at this moment.\n * @returns {void}.\n */\n @Output() onSuccess = new EventEmitter<string>();\n /**\n * Triggers when Error occurs while performing any action.\n * @param {unknown[]} errors - Error response from the api call done by mstate.\n * @returns {void}.\n */\n @Output() onError = new EventEmitter<unknown[]>();\n /**\n * Handles your steps which contain Custom field module.\n * @param {string} key - Which key you expect for getting the value.\n * @returns {any} - whatever value you want to save in that custom field.\n */\n @Input() handleCustomField?: (key: string) => any;\n\n //#region Variables & Events\n\n protected isLoading = true;\n protected errors: any[] = [];\n protected errorMessages: string[] = [];\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\n\n constructor(\n private mstateAngularHelper: MstateAngularHelper,\n private mstateAngularService: MstateAngularService,\n ) {}\n\n ngOnInit(): void {\n if (this.start) this.setAllowedActions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\n if (this.start) this.setAllowedActions();\n }\n }\n\n //#endregion\n\n //#region Handlers\n\n private setAllowedActions() {\n this.isLoading = true;\n\n if (this.instanceID) {\n this.mstateAngularService\n .getCurrentActionsWithInstanceID({\n instanceID: this.instanceID,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n }),\n )\n .subscribe((data) => {\n this.allowedActions = this.filterActionList(Object.values(data.data));\n });\n } else {\n this.mstateAngularService\n .getCurrentActionsWithoutInstanceID({\n workflow: this.workflow,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n }),\n )\n .subscribe((data) => {\n this.allowedActions = this.filterActionList(Object.values(data.data));\n });\n }\n }\n\n protected filterActionList(actions: (EvaluatedAction | ActionConfig)[]) {\n return actions\n .sort((a, b) => a?.meta?.order - b?.meta?.order)\n .filter((a) => !a?.meta?.hide);\n }\n\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\n const { value, errors = [] } = response;\n\n if (errors?.length) {\n this.handleError(value, errors);\n } else {\n this.allowedActions = this.filterActionList(value.actions);\n }\n\n if (\n value?.instanceID &&\n value?.instanceID !== this.instanceID &&\n !errors?.length\n ) {\n this.instanceID = value?.instanceID;\n\n this.onInstanceChange.emit(value?.instanceID);\n }\n }\n\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\n this.allowedActions = this.filterActionList([config]);\n }\n\n protected handleRetryAction() {\n if (this.allowedActions.length === 0) {\n if (this.start) this.setAllowedActions();\n }\n\n this.errors = [];\n this.errorMessages = [];\n }\n\n private handleError(value: any, errors: any[]) {\n this.errors = errors;\n value.instanceID = errors[0]\n ?.split(\"instanceID='\")\n ?.pop()\n ?.replace(\"'\", '');\n this.errorMessages = this.errors\n .filter((e: string) => typeof e === 'string')\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\n\n if (this.onError) {\n this.onError.emit(this.errors);\n }\n }\n //#endregion\n}\n","<div class=\"mstate-angular\">\n <!-- <img\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\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\n})\nexport class MstateAngularModule {}\n","/*\n * Public API Surface of mstate-angular\n */\n\nexport * from './lib/mstate-angular/mstate-angular.component';\nexport * from './lib/mstate-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i1.MstateAngularService","i3","i1","i2.MstateAngularService","i3.MstateAngularHelper"],"mappings":"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"}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
2
2
|
import { MstateAngularService } from '../mstate-angular.service';
|
3
3
|
import { ActionConfig } from '../interfaces/interface';
|
4
4
|
import { EvaluatedAction } from '../interfaces/api.interface';
|
5
5
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
6
6
|
import { MstateAngularHelper } from '../mstate-angular.helper';
|
7
7
|
import * as i0 from "@angular/core";
|
8
|
-
export declare class ActionFormComponent implements
|
8
|
+
export declare class ActionFormComponent implements OnChanges {
|
9
9
|
private fb;
|
10
10
|
private mstateAngularService;
|
11
11
|
private mstateHelper;
|
@@ -27,7 +27,7 @@ export declare class ActionFormComponent implements OnInit {
|
|
27
27
|
as: string;
|
28
28
|
}[];
|
29
29
|
constructor(fb: FormBuilder, mstateAngularService: MstateAngularService, mstateHelper: MstateAngularHelper);
|
30
|
-
|
30
|
+
ngOnChanges(changes: SimpleChanges): void;
|
31
31
|
protected handleExecuteAction(skipValidation?: boolean): void;
|
32
32
|
private markAllAsTouched;
|
33
33
|
private handleStepConfigFilter;
|
@@ -53,6 +53,7 @@ export declare class MstateAngularComponent implements OnChanges, OnInit {
|
|
53
53
|
ngOnInit(): void;
|
54
54
|
ngOnChanges(changes: SimpleChanges): void;
|
55
55
|
private setAllowedActions;
|
56
|
+
protected filterActionList(actions: (EvaluatedAction | ActionConfig)[]): (ActionConfig | EvaluatedAction)[];
|
56
57
|
protected handleExecuteAction(response: {
|
57
58
|
value: any;
|
58
59
|
errors?: string[];
|