mstate-angular 0.2.1 → 0.2.2
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 +112 -0
- package/esm2022/lib/common/constant.mjs +5 -0
- package/esm2022/lib/common/enum.mjs +48 -0
- package/esm2022/lib/components/action-card/action-card.component.mjs +23 -0
- package/esm2022/lib/components/button/button.component.mjs +12 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +47 -0
- package/esm2022/lib/components/input-field/input-field.component.mjs +20 -0
- package/esm2022/lib/components/loader/loader.component.mjs +12 -0
- package/esm2022/lib/components/select/select.component.mjs +47 -0
- package/esm2022/lib/input-selector/input-selector.component.mjs +39 -0
- package/esm2022/lib/interfaces/api.interface.mjs +2 -0
- package/esm2022/lib/interfaces/interface.mjs +2 -0
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +143 -0
- package/esm2022/lib/mstate-angular.helper.mjs +34 -0
- package/esm2022/lib/mstate-angular.module.mjs +17 -0
- package/esm2022/lib/mstate-angular.service.mjs +50 -0
- package/esm2022/mstate-angular.mjs +5 -0
- package/esm2022/public-api.mjs +6 -0
- package/fesm2022/mstate-angular.mjs +550 -0
- package/fesm2022/mstate-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-form/action-form.component.d.ts +26 -0
- package/lib/common/constant.d.ts +2 -0
- package/lib/common/enum.d.ts +41 -0
- package/lib/components/action-card/action-card.component.d.ts +11 -0
- package/lib/components/button/button.component.d.ts +5 -0
- package/lib/components/dropdown/dropdown.component.d.ts +17 -0
- package/lib/components/input-field/input-field.component.d.ts +8 -0
- package/lib/components/loader/loader.component.d.ts +5 -0
- package/lib/components/select/select.component.d.ts +17 -0
- package/lib/input-selector/input-selector.component.d.ts +16 -0
- package/{src/lib/interfaces/api.interface.ts → lib/interfaces/api.interface.d.ts} +42 -51
- package/lib/interfaces/interface.d.ts +73 -0
- package/lib/mstate-angular/mstate-angular.component.d.ts +68 -0
- package/lib/mstate-angular.helper.d.ts +11 -0
- package/lib/mstate-angular.module.d.ts +8 -0
- package/lib/mstate-angular.service.d.ts +17 -0
- package/package.json +27 -14
- package/{src/public-api.ts → public-api.d.ts} +2 -6
- package/ng-package.json +0 -7
- package/src/lib/action-form/action-form.component.html +0 -13
- package/src/lib/action-form/action-form.component.scss +0 -0
- package/src/lib/action-form/action-form.component.spec.ts +0 -23
- package/src/lib/action-form/action-form.component.ts +0 -124
- package/src/lib/common/constant.ts +0 -4
- package/src/lib/common/enum.ts +0 -46
- package/src/lib/components/action-card/action-card.component.html +0 -1
- package/src/lib/components/action-card/action-card.component.scss +0 -0
- package/src/lib/components/action-card/action-card.component.spec.ts +0 -21
- package/src/lib/components/action-card/action-card.component.ts +0 -21
- package/src/lib/components/button/button.component.html +0 -3
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +0 -21
- package/src/lib/components/button/button.component.ts +0 -11
- package/src/lib/components/dropdown/dropdown.component.html +0 -10
- package/src/lib/components/dropdown/dropdown.component.scss +0 -0
- package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
- package/src/lib/components/dropdown/dropdown.component.ts +0 -46
- package/src/lib/components/input-field/input-field.component.html +0 -9
- package/src/lib/components/input-field/input-field.component.scss +0 -0
- package/src/lib/components/input-field/input-field.component.spec.ts +0 -21
- package/src/lib/components/input-field/input-field.component.ts +0 -16
- package/src/lib/components/loader/loader.component.html +0 -1
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +0 -21
- package/src/lib/components/loader/loader.component.ts +0 -11
- package/src/lib/components/select/select.component.html +0 -10
- package/src/lib/components/select/select.component.scss +0 -43
- package/src/lib/components/select/select.component.spec.ts +0 -21
- package/src/lib/components/select/select.component.ts +0 -46
- package/src/lib/input-selector/input-selector.component.html +0 -23
- package/src/lib/input-selector/input-selector.component.scss +0 -0
- package/src/lib/input-selector/input-selector.component.spec.ts +0 -21
- package/src/lib/input-selector/input-selector.component.ts +0 -38
- package/src/lib/interfaces/interface.ts +0 -81
- package/src/lib/material.scss +0 -439
- package/src/lib/mstate-angular/mstate-angular.component.html +0 -40
- package/src/lib/mstate-angular/mstate-angular.component.scss +0 -36
- package/src/lib/mstate-angular/mstate-angular.component.spec.ts +0 -21
- package/src/lib/mstate-angular/mstate-angular.component.ts +0 -186
- package/src/lib/mstate-angular.helper.ts +0 -35
- package/src/lib/mstate-angular.module.ts +0 -9
- package/src/lib/mstate-angular.service.ts +0 -77
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
@@ -0,0 +1,550 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { Injectable, Component, Input, EventEmitter, Output, NgModule } from '@angular/core';
|
3
|
+
import { CommonModule } from '@angular/common';
|
4
|
+
import * as i1 from '@angular/common/http';
|
5
|
+
import { HttpHeaders } from '@angular/common/http';
|
6
|
+
import axios from 'axios';
|
7
|
+
import * as i3 from '@angular/forms';
|
8
|
+
import { FormsModule } from '@angular/forms';
|
9
|
+
import * as i4 from '@ng-select/ng-select';
|
10
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
11
|
+
import { catchError, finalize } from 'rxjs';
|
12
|
+
|
13
|
+
var Route;
|
14
|
+
(function (Route) {
|
15
|
+
Route["EXECUTE_ACTION"] = "workflow/v2/execute";
|
16
|
+
Route["GET_WORKFLOW_CONFIG"] = "workflow/config";
|
17
|
+
Route["GET_CURRENT_ACTIONS_WITHOUT_INSTANCE"] = "workflow/v2/actions";
|
18
|
+
Route["GET_CURRENT_ACTIONS_WITH_INSTANCE"] = "workflow/actions";
|
19
|
+
})(Route || (Route = {}));
|
20
|
+
var FieldType;
|
21
|
+
(function (FieldType) {
|
22
|
+
FieldType["DATE_PICKER"] = "datePicker";
|
23
|
+
FieldType["TIME_PICKER"] = "timePicker";
|
24
|
+
FieldType["INPUT_FIELD"] = "inputField";
|
25
|
+
FieldType["TEXT_AREA"] = "textArea";
|
26
|
+
FieldType["CHECKBOX"] = "checkBox";
|
27
|
+
FieldType["RADIO_LIST"] = "radioList";
|
28
|
+
FieldType["DROP_DOWN"] = "dropDown";
|
29
|
+
FieldType["SUMMARY"] = "summary";
|
30
|
+
FieldType["CONTEXT_FIELD"] = "CONTEXT_FIELD";
|
31
|
+
FieldType["CUSTOM_FIELD"] = "CUSTOM_FIELD";
|
32
|
+
})(FieldType || (FieldType = {}));
|
33
|
+
var ManualStepModule;
|
34
|
+
(function (ManualStepModule) {
|
35
|
+
ManualStepModule["CONTEXT_FIELD"] = "CONTEXT_FIELD";
|
36
|
+
ManualStepModule["CUSTOM_FIELD"] = "CUSTOM_FIELD";
|
37
|
+
ManualStepModule["USER_INPUT"] = "USER_INPUT";
|
38
|
+
})(ManualStepModule || (ManualStepModule = {}));
|
39
|
+
var Theme;
|
40
|
+
(function (Theme) {
|
41
|
+
Theme["DARK"] = "dark";
|
42
|
+
Theme["LIGHT"] = "light";
|
43
|
+
Theme["SYSTEM"] = "system";
|
44
|
+
})(Theme || (Theme = {}));
|
45
|
+
var Variable;
|
46
|
+
(function (Variable) {
|
47
|
+
Variable["WORKFLOW"] = "workflow";
|
48
|
+
Variable["TOKEN"] = "token";
|
49
|
+
Variable["INSTANCE_ID"] = "instanceID";
|
50
|
+
Variable["START"] = "start";
|
51
|
+
Variable["TRIGGER_AGAIN"] = "triggerAgain";
|
52
|
+
Variable["ERRORS"] = "errors";
|
53
|
+
})(Variable || (Variable = {}));
|
54
|
+
var ActionType;
|
55
|
+
(function (ActionType) {
|
56
|
+
ActionType["MANUAL"] = "MANUAL";
|
57
|
+
ActionType["AUTO"] = "AUTO";
|
58
|
+
ActionType["CHAINED"] = "CHAINED";
|
59
|
+
})(ActionType || (ActionType = {}));
|
60
|
+
|
61
|
+
// export const MSTATE_URL = 'https://dev.mstate.mobioffice.io/api';
|
62
|
+
// export const MSTATE_URL = 'http://localhost:3000/api';
|
63
|
+
const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';
|
64
|
+
const TOKEN_KEY = 'secret-key';
|
65
|
+
|
66
|
+
class MstateAngularHelper {
|
67
|
+
detectChange(change, keys) {
|
68
|
+
for (const key of keys) {
|
69
|
+
if (change[key] && change[key].currentValue !== change[key].previousValue)
|
70
|
+
return true;
|
71
|
+
}
|
72
|
+
return false;
|
73
|
+
}
|
74
|
+
formatString(str = '') {
|
75
|
+
return str.toUpperCase().replace(/_/gi, ' ');
|
76
|
+
}
|
77
|
+
getObjectValue(obj, target) {
|
78
|
+
const keys = target ? target.split('.') : [];
|
79
|
+
let cur = obj;
|
80
|
+
for (const key of keys) {
|
81
|
+
cur = cur?.[key];
|
82
|
+
}
|
83
|
+
return cur;
|
84
|
+
}
|
85
|
+
checkIsStep(step) {
|
86
|
+
return step?.config !== undefined;
|
87
|
+
}
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
89
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, providedIn: 'root' }); }
|
90
|
+
}
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, decorators: [{
|
92
|
+
type: Injectable,
|
93
|
+
args: [{
|
94
|
+
providedIn: 'root',
|
95
|
+
}]
|
96
|
+
}] });
|
97
|
+
|
98
|
+
class MstateAngularService {
|
99
|
+
getHeaders(token) {
|
100
|
+
return new HttpHeaders({
|
101
|
+
'Content-Type': 'application/json',
|
102
|
+
[TOKEN_KEY]: token,
|
103
|
+
});
|
104
|
+
}
|
105
|
+
constructor(http, mstateHelper) {
|
106
|
+
this.http = http;
|
107
|
+
this.mstateHelper = mstateHelper;
|
108
|
+
}
|
109
|
+
executeAction(payload) {
|
110
|
+
return this.http.post(`${MSTATE_URL}/${Route.EXECUTE_ACTION}`, {
|
111
|
+
instanceID: payload.instanceID ?? '',
|
112
|
+
name: payload.workflow,
|
113
|
+
action: payload.action,
|
114
|
+
}, { headers: this.getHeaders(payload.token) });
|
115
|
+
}
|
116
|
+
getCurrentActionsWithInstanceID(payload) {
|
117
|
+
return this.http.get(`${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`, {
|
118
|
+
headers: this.getHeaders(payload.token),
|
119
|
+
});
|
120
|
+
}
|
121
|
+
getCurrentActionsWithoutInstanceID(payload) {
|
122
|
+
return this.http.get(`${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`, {
|
123
|
+
headers: this.getHeaders(payload.token),
|
124
|
+
});
|
125
|
+
}
|
126
|
+
async handleDropdownAPI(request, target) {
|
127
|
+
const { data } = await axios(request);
|
128
|
+
return this.mstateHelper.getObjectValue(data, target) ?? [];
|
129
|
+
}
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, deps: [{ token: i1.HttpClient }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
131
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, providedIn: 'root' }); }
|
132
|
+
}
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, decorators: [{
|
134
|
+
type: Injectable,
|
135
|
+
args: [{
|
136
|
+
providedIn: 'root',
|
137
|
+
}]
|
138
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: MstateAngularHelper }] });
|
139
|
+
|
140
|
+
class InputFieldComponent {
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFieldComponent, isStandalone: true, selector: "mobi-office-input-field", inputs: { config: "config", mstateModel: "mstateModel" }, ngImport: i0, template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
143
|
+
}
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, decorators: [{
|
145
|
+
type: Component,
|
146
|
+
args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule, FormsModule], template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n" }]
|
147
|
+
}], propDecorators: { config: [{
|
148
|
+
type: Input,
|
149
|
+
args: [{ required: true }]
|
150
|
+
}], mstateModel: [{
|
151
|
+
type: Input,
|
152
|
+
args: [{ required: true }]
|
153
|
+
}] } });
|
154
|
+
|
155
|
+
class SelectComponent {
|
156
|
+
constructor(mstateService, mstateHelper) {
|
157
|
+
this.mstateService = mstateService;
|
158
|
+
this.mstateHelper = mstateHelper;
|
159
|
+
this.list = [];
|
160
|
+
}
|
161
|
+
ngOnInit() {
|
162
|
+
const field = this.config.field ?? {};
|
163
|
+
if (field.request) {
|
164
|
+
this.mstateService
|
165
|
+
.handleDropdownAPI(field.request, field?.mapper?.target ?? '')
|
166
|
+
.then((data) => {
|
167
|
+
this.list = data;
|
168
|
+
})
|
169
|
+
.catch((e) => console.log(e));
|
170
|
+
}
|
171
|
+
else {
|
172
|
+
this.list = field.itemList ?? [];
|
173
|
+
}
|
174
|
+
}
|
175
|
+
getObjectValue(obj, target) {
|
176
|
+
return this.mstateHelper.getObjectValue(obj, target);
|
177
|
+
}
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectComponent, isStandalone: true, selector: "mobi-office-select", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
|
180
|
+
}
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
|
182
|
+
type: Component,
|
183
|
+
args: [{ selector: 'mobi-office-select', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"] }]
|
184
|
+
}], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { config: [{
|
185
|
+
type: Input,
|
186
|
+
args: [{ required: true }]
|
187
|
+
}], mstateModel: [{
|
188
|
+
type: Input,
|
189
|
+
args: [{ required: true }]
|
190
|
+
}] } });
|
191
|
+
|
192
|
+
class DropdownComponent {
|
193
|
+
constructor(mstateService, mstateHelper) {
|
194
|
+
this.mstateService = mstateService;
|
195
|
+
this.mstateHelper = mstateHelper;
|
196
|
+
this.list = [];
|
197
|
+
}
|
198
|
+
ngOnInit() {
|
199
|
+
const field = this.config.field ?? {};
|
200
|
+
if (field.request) {
|
201
|
+
this.mstateService
|
202
|
+
.handleDropdownAPI(field.request, field?.mapper?.target ?? '')
|
203
|
+
.then((data) => {
|
204
|
+
this.list = data;
|
205
|
+
})
|
206
|
+
.catch((e) => console.log(e));
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
this.list = field.itemList ?? [];
|
210
|
+
}
|
211
|
+
}
|
212
|
+
getObjectValue(obj, target) {
|
213
|
+
return this.mstateHelper.getObjectValue(obj, target);
|
214
|
+
}
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "mobi-office-dropdown", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
|
217
|
+
}
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
219
|
+
type: Component,
|
220
|
+
args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n" }]
|
221
|
+
}], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { config: [{
|
222
|
+
type: Input,
|
223
|
+
args: [{ required: true }]
|
224
|
+
}], mstateModel: [{
|
225
|
+
type: Input,
|
226
|
+
args: [{ required: true }]
|
227
|
+
}] } });
|
228
|
+
|
229
|
+
class InputSelectorComponent {
|
230
|
+
constructor(mstateHelper) {
|
231
|
+
this.mstateHelper = mstateHelper;
|
232
|
+
this.FieldType = FieldType;
|
233
|
+
}
|
234
|
+
ngOnInit() {
|
235
|
+
this.config = this.mstateHelper.checkIsStep(this.step)
|
236
|
+
? this.step?.config?.data
|
237
|
+
: this.step;
|
238
|
+
}
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, deps: [{ token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectorComponent, isStandalone: true, selector: "mobi-office-input-selector", inputs: { step: "step", mstateModel: "mstateModel" }, providers: [MstateAngularHelper, MstateAngularService], ngImport: i0, template: "@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\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\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @default {\n <p>Step Left to handle</p>\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: InputFieldComponent, selector: "mobi-office-input-field", inputs: ["config", "mstateModel"] }, { kind: "component", type: SelectComponent, selector: "mobi-office-select", inputs: ["config", "mstateModel"] }, { kind: "component", type: DropdownComponent, selector: "mobi-office-dropdown", inputs: ["config", "mstateModel"] }] }); }
|
241
|
+
}
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, decorators: [{
|
243
|
+
type: Component,
|
244
|
+
args: [{ selector: 'mobi-office-input-selector', standalone: true, imports: [
|
245
|
+
CommonModule,
|
246
|
+
InputFieldComponent,
|
247
|
+
SelectComponent,
|
248
|
+
DropdownComponent,
|
249
|
+
], providers: [MstateAngularHelper, MstateAngularService], template: "@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\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\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @default {\n <p>Step Left to handle</p>\n }\n}\n" }]
|
250
|
+
}], ctorParameters: () => [{ type: MstateAngularHelper }], propDecorators: { step: [{
|
251
|
+
type: Input,
|
252
|
+
args: [{ required: true }]
|
253
|
+
}], mstateModel: [{
|
254
|
+
type: Input,
|
255
|
+
args: [{ required: true }]
|
256
|
+
}] } });
|
257
|
+
|
258
|
+
class ButtonComponent {
|
259
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
260
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", ngImport: i0, template: "<button>\n <ng-content></ng-content>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
261
|
+
}
|
262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
263
|
+
type: Component,
|
264
|
+
args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button>\n <ng-content></ng-content>\n</button>\n" }]
|
265
|
+
}] });
|
266
|
+
|
267
|
+
class ActionFormComponent {
|
268
|
+
constructor(mstateAngularService, mstateAngularHelper) {
|
269
|
+
this.mstateAngularService = mstateAngularService;
|
270
|
+
this.mstateAngularHelper = mstateAngularHelper;
|
271
|
+
this.token = '';
|
272
|
+
this.workflow = '';
|
273
|
+
this.config = {
|
274
|
+
name: '',
|
275
|
+
type: ActionType.MANUAL,
|
276
|
+
steps: [],
|
277
|
+
};
|
278
|
+
this.onExecuteAction = () => { };
|
279
|
+
//#region Custom Declaration
|
280
|
+
this.isLoading = true;
|
281
|
+
this.mstateModel = {};
|
282
|
+
this.handleStepConfigFilter = () => {
|
283
|
+
const keyForAPISet = new Set();
|
284
|
+
this.config.steps = this.config?.steps?.filter(stepConfig => {
|
285
|
+
const step = stepConfig;
|
286
|
+
switch (step?.module) {
|
287
|
+
case ManualStepModule.CUSTOM_FIELD: {
|
288
|
+
if (this.updateCustomFieldValue) {
|
289
|
+
this.mstateModel[step?.context?.as] = this.updateCustomFieldValue(step?.context?.key);
|
290
|
+
}
|
291
|
+
return true;
|
292
|
+
}
|
293
|
+
case ManualStepModule.CONTEXT_FIELD:
|
294
|
+
this.mstateModel[step?.context?.as] = step?.context?.value;
|
295
|
+
return true;
|
296
|
+
default: {
|
297
|
+
const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);
|
298
|
+
keyForAPISet.add(step?.field?.keyForAPI);
|
299
|
+
return isDuplicate === false;
|
300
|
+
}
|
301
|
+
}
|
302
|
+
});
|
303
|
+
};
|
304
|
+
}
|
305
|
+
ngOnInit() {
|
306
|
+
if (Boolean(this.config?.steps?.length) === false) {
|
307
|
+
this.handleExecuteAction();
|
308
|
+
return;
|
309
|
+
}
|
310
|
+
this.handleStepConfigFilter();
|
311
|
+
}
|
312
|
+
ngOnChanges(changes) {
|
313
|
+
console.log({ changes });
|
314
|
+
if (this.mstateAngularHelper.detectChange(changes, ['mstateModel'])) {
|
315
|
+
}
|
316
|
+
}
|
317
|
+
//#region handlers
|
318
|
+
handleExecuteAction() {
|
319
|
+
this.isLoading = true;
|
320
|
+
console.log(this.mstateModel);
|
321
|
+
// this.mstateAngularService
|
322
|
+
// .executeAction({
|
323
|
+
// action: {
|
324
|
+
// name: this.config.name,
|
325
|
+
// payload: this.mstateModel,
|
326
|
+
// },
|
327
|
+
// token: this.token,
|
328
|
+
// workflow: this.workflow,
|
329
|
+
// })
|
330
|
+
// .pipe(
|
331
|
+
// catchError(e => {
|
332
|
+
// throw e;
|
333
|
+
// }),
|
334
|
+
// finalize(() => {
|
335
|
+
// this.isLoading = false;
|
336
|
+
// })
|
337
|
+
// )
|
338
|
+
// .subscribe(data => {
|
339
|
+
// this.onExecuteAction(data.data);
|
340
|
+
// });
|
341
|
+
}
|
342
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
|
343
|
+
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", onExecuteAction: "onExecuteAction", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button" }] }); }
|
344
|
+
}
|
345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
|
346
|
+
type: Component,
|
347
|
+
args: [{ selector: 'lib-action-form', standalone: true, imports: [FormsModule, InputSelectorComponent, ButtonComponent], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n" }]
|
348
|
+
}], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { token: [{
|
349
|
+
type: Input,
|
350
|
+
args: [{ required: true }]
|
351
|
+
}], workflow: [{
|
352
|
+
type: Input,
|
353
|
+
args: [{ required: true }]
|
354
|
+
}], config: [{
|
355
|
+
type: Input,
|
356
|
+
args: [{ required: true }]
|
357
|
+
}], onExecuteAction: [{
|
358
|
+
type: Input,
|
359
|
+
args: [{ required: true }]
|
360
|
+
}], updateCustomFieldValue: [{
|
361
|
+
type: Input
|
362
|
+
}], instanceID: [{
|
363
|
+
type: Input
|
364
|
+
}], onSuccess: [{
|
365
|
+
type: Input
|
366
|
+
}] } });
|
367
|
+
|
368
|
+
class ActionCardComponent {
|
369
|
+
constructor() {
|
370
|
+
this.retryEmitter = new EventEmitter();
|
371
|
+
}
|
372
|
+
handleRetry() {
|
373
|
+
this.retryEmitter.emit(this.error);
|
374
|
+
}
|
375
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
376
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { error: "error" }, outputs: { retryEmitter: "retryEmitter" }, ngImport: i0, template: "<p>action-card works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
377
|
+
}
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
|
379
|
+
type: Component,
|
380
|
+
args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule], template: "<p>action-card works!</p>\n" }]
|
381
|
+
}], propDecorators: { error: [{
|
382
|
+
type: Input,
|
383
|
+
args: [{ required: true }]
|
384
|
+
}], retryEmitter: [{
|
385
|
+
type: Output
|
386
|
+
}] } });
|
387
|
+
|
388
|
+
class LoaderComponent {
|
389
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
390
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<p>Loading...</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
391
|
+
}
|
392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
|
393
|
+
type: Component,
|
394
|
+
args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<p>Loading...</p>\n" }]
|
395
|
+
}] });
|
396
|
+
|
397
|
+
class MstateAngularComponent {
|
398
|
+
constructor(mstateAngularHelper, mstateAngularService) {
|
399
|
+
this.mstateAngularHelper = mstateAngularHelper;
|
400
|
+
this.mstateAngularService = mstateAngularService;
|
401
|
+
this.token = '';
|
402
|
+
this.workflow = '';
|
403
|
+
/**
|
404
|
+
* @type {boolean}
|
405
|
+
* @default true
|
406
|
+
* @description Trigger if to start workflow.
|
407
|
+
*/
|
408
|
+
this.start = true;
|
409
|
+
//#region Variables & Events
|
410
|
+
this.isLoading = true;
|
411
|
+
this.triggerAgain = false;
|
412
|
+
this.errors = [];
|
413
|
+
this.errorMessages = [];
|
414
|
+
this.allowedActions = [];
|
415
|
+
}
|
416
|
+
ngOnInit() {
|
417
|
+
if (this.start)
|
418
|
+
this.setAllowedActions();
|
419
|
+
}
|
420
|
+
ngOnChanges(changes) {
|
421
|
+
if (this.mstateAngularHelper.detectChange(changes, [
|
422
|
+
Variable.START,
|
423
|
+
Variable.TRIGGER_AGAIN,
|
424
|
+
])) {
|
425
|
+
if (this.start)
|
426
|
+
this.setAllowedActions();
|
427
|
+
}
|
428
|
+
if (this.mstateAngularHelper.detectChange(changes, [Variable.ERRORS])) {
|
429
|
+
console.log({ mstateErrors: this.errors });
|
430
|
+
this.errorMessages = this.errors.filter((e) => typeof e === 'string');
|
431
|
+
}
|
432
|
+
}
|
433
|
+
//#endregion
|
434
|
+
//#region Handlers
|
435
|
+
setAllowedActions() {
|
436
|
+
this.isLoading = true;
|
437
|
+
if (this.instanceID) {
|
438
|
+
this.mstateAngularService
|
439
|
+
.getCurrentActionsWithInstanceID({
|
440
|
+
instanceID: this.instanceID,
|
441
|
+
token: this.token,
|
442
|
+
})
|
443
|
+
.pipe(catchError((err) => {
|
444
|
+
console.log(err);
|
445
|
+
throw err;
|
446
|
+
}), finalize(() => {
|
447
|
+
this.isLoading = false;
|
448
|
+
}))
|
449
|
+
.subscribe((data) => {
|
450
|
+
this.allowedActions = Object.values(data.data);
|
451
|
+
});
|
452
|
+
}
|
453
|
+
else {
|
454
|
+
this.mstateAngularService
|
455
|
+
.getCurrentActionsWithoutInstanceID({
|
456
|
+
workflow: this.workflow,
|
457
|
+
token: this.token,
|
458
|
+
})
|
459
|
+
.pipe(catchError((err) => {
|
460
|
+
console.log(err);
|
461
|
+
throw err;
|
462
|
+
}), finalize(() => {
|
463
|
+
this.isLoading = false;
|
464
|
+
}))
|
465
|
+
.subscribe((data) => {
|
466
|
+
this.allowedActions = Object.values(data.data);
|
467
|
+
});
|
468
|
+
}
|
469
|
+
}
|
470
|
+
handleExecuteAction(value, errors) {
|
471
|
+
if (errors?.length) {
|
472
|
+
this.errors = errors;
|
473
|
+
value.instanceID = errors[0]
|
474
|
+
?.split("instanceID='")
|
475
|
+
?.pop()
|
476
|
+
?.replace("'", '');
|
477
|
+
}
|
478
|
+
else {
|
479
|
+
this.allowedActions = value.actions;
|
480
|
+
}
|
481
|
+
if (value?.instanceID &&
|
482
|
+
value?.instanceID !== this.instanceID &&
|
483
|
+
!errors?.length) {
|
484
|
+
this.instanceID = value?.instanceID;
|
485
|
+
if (this.onInstanceChange) {
|
486
|
+
this.onInstanceChange(value?.instanceID);
|
487
|
+
}
|
488
|
+
}
|
489
|
+
}
|
490
|
+
handleError(config) {
|
491
|
+
this.allowedActions = [config];
|
492
|
+
}
|
493
|
+
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 }); }
|
494
|
+
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", theme: "theme", who: "who", onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, 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 @if (isLoading) {\n <mobi-office-loader></mobi-office-loader>\n } @else if (errorMessages.length) {\n @for (message of errorMessages; track message) {\n <p>\n {{ message }}\n </p>\n }\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <h1>Workflow Ended</h1>\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n [onExecuteAction]=\"handleExecuteAction\"\n [updateCustomFieldValue]=\"handleCustomField\"\n [onSuccess]=\"onSuccess\"></lib-action-form>\n }\n @default {\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [error]=\"item\"\n (retryEmitter)=\"handleError($event)\"></mobi-office-action-card>\n }\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 .ng-select{padding-bottom:1.25em}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{border-bottom-color:#0000;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{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);color:#3f51b5}.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{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px)}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:baseline;min-height:51.5px}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{border-bottom:thin solid rgba(0,0,0,.42);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 .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;border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px 5px;margin:0 .4375em .4375em 0}.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:calc(100% - 1.25em);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{border-bottom: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-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}.mstate-angular .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;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 .form-group{margin-bottom:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "onExecuteAction", "updateCustomFieldValue", "instanceID", "onSuccess"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["error"], outputs: ["retryEmitter"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
|
495
|
+
}
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
|
497
|
+
type: Component,
|
498
|
+
args: [{ selector: 'mstate-angular', standalone: true, imports: [
|
499
|
+
CommonModule,
|
500
|
+
ActionFormComponent,
|
501
|
+
ActionCardComponent,
|
502
|
+
LoaderComponent,
|
503
|
+
], 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 @if (isLoading) {\n <mobi-office-loader></mobi-office-loader>\n } @else if (errorMessages.length) {\n @for (message of errorMessages; track message) {\n <p>\n {{ message }}\n </p>\n }\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <h1>Workflow Ended</h1>\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n [onExecuteAction]=\"handleExecuteAction\"\n [updateCustomFieldValue]=\"handleCustomField\"\n [onSuccess]=\"onSuccess\"></lib-action-form>\n }\n @default {\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [error]=\"item\"\n (retryEmitter)=\"handleError($event)\"></mobi-office-action-card>\n }\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 .ng-select{padding-bottom:1.25em}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{border-bottom-color:#0000;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{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);color:#3f51b5}.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{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px)}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:baseline;min-height:51.5px}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{border-bottom:thin solid rgba(0,0,0,.42);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 .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;border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px 5px;margin:0 .4375em .4375em 0}.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:calc(100% - 1.25em);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{border-bottom: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-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}.mstate-angular .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;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 .form-group{margin-bottom:1rem}\n"] }]
|
504
|
+
}], ctorParameters: () => [{ type: MstateAngularHelper }, { type: MstateAngularService }], propDecorators: { token: [{
|
505
|
+
type: Input,
|
506
|
+
args: [{ required: true }]
|
507
|
+
}], workflow: [{
|
508
|
+
type: Input,
|
509
|
+
args: [{ required: true }]
|
510
|
+
}], instanceID: [{
|
511
|
+
type: Input
|
512
|
+
}], start: [{
|
513
|
+
type: Input
|
514
|
+
}], theme: [{
|
515
|
+
type: Input
|
516
|
+
}], who: [{
|
517
|
+
type: Input
|
518
|
+
}], onInstanceChange: [{
|
519
|
+
type: Input
|
520
|
+
}], onSuccess: [{
|
521
|
+
type: Input
|
522
|
+
}], onError: [{
|
523
|
+
type: Input
|
524
|
+
}], handleCustomField: [{
|
525
|
+
type: Input
|
526
|
+
}] } });
|
527
|
+
|
528
|
+
class MstateAngularModule {
|
529
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
530
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, imports: [CommonModule, MstateAngularComponent], exports: [MstateAngularComponent] }); }
|
531
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, imports: [CommonModule, MstateAngularComponent] }); }
|
532
|
+
}
|
533
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, decorators: [{
|
534
|
+
type: NgModule,
|
535
|
+
args: [{
|
536
|
+
imports: [CommonModule, MstateAngularComponent], // Import other necessary modules like CommonModule
|
537
|
+
exports: [MstateAngularComponent], // Export the pipe so it can be used externally
|
538
|
+
}]
|
539
|
+
}] });
|
540
|
+
|
541
|
+
/*
|
542
|
+
* Public API Surface of mstate-angular
|
543
|
+
*/
|
544
|
+
|
545
|
+
/**
|
546
|
+
* Generated bundle index. Do not edit.
|
547
|
+
*/
|
548
|
+
|
549
|
+
export { MstateAngularComponent, MstateAngularModule };
|
550
|
+
//# sourceMappingURL=mstate-angular.mjs.map
|