@acorex-platform/framework-client 0.0.10 → 0.0.14
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/fesm2022/acorex-platform-framework-client-auth.mjs +285 -50
- package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs → acorex-platform-framework-client-common-common-settings.provider-Euotv9l0.mjs} +55 -36
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-Euotv9l0.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-common-settings-dialog.helper-DQNOCRL6.mjs +29 -0
- package/fesm2022/acorex-platform-framework-client-common-settings-dialog.helper-DQNOCRL6.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-common.mjs +1576 -408
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-core.mjs +561 -25
- package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +154 -42
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CjnQ9hAJ.mjs} +7 -7
- package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CjnQ9hAJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-fFen8w8M.mjs +77 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-fFen8w8M.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +2378 -1274
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +92 -84
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-BzUM-JMC.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-BzUM-JMC.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-Ci_CTFtq.mjs} +6 -6
- package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-Ci_CTFtq.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-entity-gallery-page.component-DmiB__JR.mjs +256 -0
- package/fesm2022/acorex-platform-framework-client-layout-entity-gallery-page.component-DmiB__JR.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +17599 -17114
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +120 -70
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +302 -263
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs → acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CIwpAXbL.mjs} +2 -2
- package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CIwpAXbL.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs → acorex-platform-framework-client-layout-widgets-image-preview.popup-CazpERbX.mjs} +3 -3
- package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-CazpERbX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs → acorex-platform-framework-client-layout-widgets-page-widget-designer.component-DKkJi40s.mjs} +5 -5
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs.map → acorex-platform-framework-client-layout-widgets-page-widget-designer.component-DKkJi40s.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DtYZfA79.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DtYZfA79.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-nMUtxAyy.mjs} +10 -10
- package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-nMUtxAyy.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-DvUSZ4hJ.mjs} +5 -5
- package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-DvUSZ4hJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BihIfkZW.mjs +61 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BihIfkZW.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +2218 -1504
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs +227 -0
- package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-runtime.mjs +201 -13
- package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-QIFX11dh.mjs +158 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-QIFX11dh.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BBdellyL.mjs +119 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BBdellyL.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-CIf1VWNW.mjs} +5 -6
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-CIf1VWNW.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-C_czT_JC.mjs +48 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-C_czT_JC.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-C2Wu0YtF.mjs +42 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-C2Wu0YtF.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DRz-kVsT.mjs +19 -0
- package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DRz-kVsT.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +123 -96
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs → acorex-platform-framework-client-themes-shared-icon-chooser-column.component-Ci_oH7NE.mjs} +3 -3
- package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-Ci_oH7NE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs → acorex-platform-framework-client-themes-shared-icon-chooser-view.component-Lb1G2Xz7.mjs} +3 -3
- package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-Lb1G2Xz7.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs → acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs} +11 -2
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs → acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-D4ubvFYf.mjs} +7 -7
- package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-D4ubvFYf.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs → acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-Br8j_BF_.mjs} +7 -7
- package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-Br8j_BF_.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +124 -112
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-workflow.mjs +26 -483
- package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -1
- package/package.json +14 -9
- package/types/acorex-platform-framework-client-auth.d.ts +76 -5
- package/types/acorex-platform-framework-client-common.d.ts +499 -129
- package/types/acorex-platform-framework-client-core.d.ts +291 -10
- package/types/acorex-platform-framework-client-layout-builder.d.ts +81 -31
- package/types/acorex-platform-framework-client-layout-components.d.ts +295 -41
- package/types/acorex-platform-framework-client-layout-entity.d.ts +1895 -1743
- package/types/acorex-platform-framework-client-layout-views.d.ts +8 -18
- package/types/acorex-platform-framework-client-layout-widget-core.d.ts +20 -35
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +167 -33
- package/types/acorex-platform-framework-client-realtime.d.ts +100 -0
- package/types/acorex-platform-framework-client-runtime.d.ts +60 -2
- package/types/acorex-platform-framework-client-themes-default.d.ts +4 -48
- package/types/acorex-platform-framework-client-workflow.d.ts +16 -127
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs +0 -34
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs +0 -160
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs +0 -121
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs +0 -48
- package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs +0 -42
- package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs +0 -19
- package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs.map +0 -1
|
@@ -1,18 +1,17 @@
|
|
|
1
|
+
import { filter, Subject } from 'rxjs';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable,
|
|
3
|
-
import { Subject, filter } from 'rxjs';
|
|
4
|
-
import { cloneDeep, get, set } from 'lodash-es';
|
|
5
|
-
import { setSmart } from '@acorex-platform/framework-shared/core';
|
|
3
|
+
import { Injectable, InjectionToken, inject, NgModule } from '@angular/core';
|
|
6
4
|
import { AXPContextEvalFactory, AXPExpressionEvaluatorService, AXPDebugService, AXPDataGenerator } from '@acorex-platform/framework-client/core';
|
|
7
5
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
8
6
|
import { AXPCommandService } from '@acorex-platform/framework-client/runtime';
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
function createWorkFlowEvent(type) {
|
|
9
|
+
const eventCreator = ((payload) => ({ type, payload }));
|
|
10
|
+
eventCreator.type = type;
|
|
11
|
+
return eventCreator;
|
|
12
|
+
}
|
|
13
|
+
function ofType(...allowedTypes) {
|
|
14
|
+
return filter((event) => allowedTypes.some((creator) => event.type === creator.type) && event.payload !== undefined);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
class AXPWorkflowEventService {
|
|
@@ -35,387 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
35
34
|
}]
|
|
36
35
|
}] });
|
|
37
36
|
|
|
38
|
-
class AXPWorkflowContext {
|
|
39
|
-
constructor(initialData = {}) {
|
|
40
|
-
this.variables = {};
|
|
41
|
-
this.stepOutputs = new Map();
|
|
42
|
-
this.variables = cloneDeep(initialData);
|
|
43
|
-
}
|
|
44
|
-
setVariable(key, value) {
|
|
45
|
-
setSmart(this.variables, key, value);
|
|
46
|
-
}
|
|
47
|
-
setVariables(context = {}) {
|
|
48
|
-
this.variables = { ...this.variables, ...context };
|
|
49
|
-
}
|
|
50
|
-
getVariable(key) {
|
|
51
|
-
return !key ? this.variables : get(this.variables, key);
|
|
52
|
-
}
|
|
53
|
-
setOutput(key, output) {
|
|
54
|
-
this.stepOutputs.set(key, output);
|
|
55
|
-
}
|
|
56
|
-
setOutputs(values) {
|
|
57
|
-
this.stepOutputs = new Map([...this.stepOutputs, ...values]);
|
|
58
|
-
}
|
|
59
|
-
getOutput(key) {
|
|
60
|
-
return this.stepOutputs.get(key);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
class AXPWorkflowAction {
|
|
64
|
-
constructor() {
|
|
65
|
-
this.eventService = inject(AXPWorkflowEventService);
|
|
66
|
-
}
|
|
67
|
-
dispatch(event) {
|
|
68
|
-
this.eventService.dispatch(event);
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowAction }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowAction, decorators: [{
|
|
74
|
-
type: Injectable
|
|
75
|
-
}] });
|
|
76
|
-
class AXPWorkflowFunction {
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowFunction }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowFunction, decorators: [{
|
|
81
|
-
type: Injectable
|
|
82
|
-
}] });
|
|
83
|
-
function createWorkFlowEvent(type) {
|
|
84
|
-
const eventCreator = (payload) => ({ type, payload });
|
|
85
|
-
eventCreator.type = type;
|
|
86
|
-
return eventCreator;
|
|
87
|
-
}
|
|
88
|
-
function ofType(...allowedTypes) {
|
|
89
|
-
return filter((event) => allowedTypes.some((type) => event.type === type.type));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
//#region ---- Contracts barrel ----
|
|
93
|
-
//#endregion
|
|
94
|
-
|
|
95
|
-
class AXPWorkflowRegistryService {
|
|
96
|
-
constructor() {
|
|
97
|
-
this.functionsMap = new Map();
|
|
98
|
-
this.actionsMap = new Map();
|
|
99
|
-
this.workflowsMap = new Map();
|
|
100
|
-
}
|
|
101
|
-
registerWorkflow(name, workflow) {
|
|
102
|
-
this.workflowsMap.set(name, workflow);
|
|
103
|
-
}
|
|
104
|
-
getWorkflow(name) {
|
|
105
|
-
return this.workflowsMap.get(name);
|
|
106
|
-
}
|
|
107
|
-
registerAction(name, action) {
|
|
108
|
-
this.actionsMap.set(name, action);
|
|
109
|
-
}
|
|
110
|
-
getAction(name) {
|
|
111
|
-
return this.actionsMap.get(name);
|
|
112
|
-
}
|
|
113
|
-
registerFunction(name, func) {
|
|
114
|
-
this.functionsMap.set(name, func);
|
|
115
|
-
}
|
|
116
|
-
getFunction(name) {
|
|
117
|
-
return this.functionsMap.get(name);
|
|
118
|
-
}
|
|
119
|
-
getFunctionNames() {
|
|
120
|
-
return Array.from(this.functionsMap.keys());
|
|
121
|
-
}
|
|
122
|
-
getStep(workflowName, stepName) {
|
|
123
|
-
const workflow = this.workflowsMap.get(workflowName);
|
|
124
|
-
if (workflow) {
|
|
125
|
-
const steps = workflow.steps;
|
|
126
|
-
return steps[stepName];
|
|
127
|
-
}
|
|
128
|
-
return undefined;
|
|
129
|
-
}
|
|
130
|
-
updateStepInWorkflow(workflowName, stepName, step) {
|
|
131
|
-
const workflow = this.workflowsMap.get(workflowName);
|
|
132
|
-
if (workflow) {
|
|
133
|
-
const steps = workflow.steps;
|
|
134
|
-
if (steps[stepName]) {
|
|
135
|
-
steps[stepName] = step;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
throw new Error(`Step with name ${stepName} does not exist in workflow ${workflowName}.`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
throw new Error(`Workflow with name ${workflowName} does not exist.`);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
addStepToWorkflow(workflowName, stepName, step) {
|
|
146
|
-
const workflow = this.workflowsMap.get(workflowName);
|
|
147
|
-
if (workflow) {
|
|
148
|
-
const steps = workflow.steps;
|
|
149
|
-
if (!steps[stepName]) {
|
|
150
|
-
steps[stepName] = step;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
throw new Error(`Step with name ${stepName} already exists in workflow ${workflowName}.`);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
throw new Error(`Workflow with name ${workflowName} does not exist.`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
addAfterStep(workflowId, stepId, newStepId, newStepAction, conditionExpression) {
|
|
161
|
-
const step = this.getStep(workflowId, stepId);
|
|
162
|
-
if (step != undefined) {
|
|
163
|
-
this.addStepToWorkflow(workflowId, newStepId, {
|
|
164
|
-
action: newStepAction,
|
|
165
|
-
nextSteps: step.nextSteps,
|
|
166
|
-
});
|
|
167
|
-
this.updateStepInWorkflow(workflowId, stepId, {
|
|
168
|
-
...step,
|
|
169
|
-
nextSteps: [
|
|
170
|
-
{
|
|
171
|
-
conditions: [{ type: 'SINGLE', expression: conditionExpression }],
|
|
172
|
-
nextStepId: newStepId,
|
|
173
|
-
},
|
|
174
|
-
],
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
179
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }
|
|
180
|
-
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{
|
|
182
|
-
type: Injectable,
|
|
183
|
-
args: [{
|
|
184
|
-
providedIn: 'root',
|
|
185
|
-
}]
|
|
186
|
-
}] });
|
|
187
|
-
|
|
188
|
-
class AXPWorkflowDecideAction extends AXPWorkflowAction {
|
|
189
|
-
async execute(context) {
|
|
190
|
-
// its a fake action
|
|
191
|
-
}
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowDecideAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
193
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowDecideAction, providedIn: 'root' }); }
|
|
194
|
-
}
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowDecideAction, decorators: [{
|
|
196
|
-
type: Injectable,
|
|
197
|
-
args: [{
|
|
198
|
-
providedIn: 'root',
|
|
199
|
-
}]
|
|
200
|
-
}] });
|
|
201
|
-
|
|
202
|
-
class AXPWorkflowService {
|
|
203
|
-
get events$() {
|
|
204
|
-
return this.eventService.events$;
|
|
205
|
-
}
|
|
206
|
-
constructor(registryService, injector) {
|
|
207
|
-
this.registryService = registryService;
|
|
208
|
-
this.injector = injector;
|
|
209
|
-
this.eventService = inject(AXPWorkflowEventService);
|
|
210
|
-
}
|
|
211
|
-
exists(name) {
|
|
212
|
-
return !!this.registryService.getWorkflow(name);
|
|
213
|
-
}
|
|
214
|
-
async execute(workflow, initialContext = null) {
|
|
215
|
-
// Instantiate or retrieve the workflow
|
|
216
|
-
const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;
|
|
217
|
-
let currentStepId = wk.startStepId;
|
|
218
|
-
const context = initialContext instanceof AXPWorkflowContext
|
|
219
|
-
? initialContext
|
|
220
|
-
: new AXPWorkflowContext(this.processData(initialContext) ?? {});
|
|
221
|
-
// Initialize context with initial variables
|
|
222
|
-
while (currentStepId) {
|
|
223
|
-
const currentStep = wk.steps[currentStepId];
|
|
224
|
-
if (!currentStep) {
|
|
225
|
-
throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);
|
|
226
|
-
}
|
|
227
|
-
// Instantiate or retrieve the action
|
|
228
|
-
const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;
|
|
229
|
-
//
|
|
230
|
-
if (currentStep.input) {
|
|
231
|
-
let inputs = {};
|
|
232
|
-
await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);
|
|
233
|
-
await new Promise((resolve) => setTimeout(async () => {
|
|
234
|
-
Object.assign(action, inputs);
|
|
235
|
-
resolve(0);
|
|
236
|
-
}));
|
|
237
|
-
}
|
|
238
|
-
try {
|
|
239
|
-
await new Promise((resolve) => setTimeout(async () => {
|
|
240
|
-
await action.execute(context);
|
|
241
|
-
resolve(0);
|
|
242
|
-
}, 0));
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
console.error(error);
|
|
246
|
-
throw new AXPWorkflowError('Workflow Error', error);
|
|
247
|
-
}
|
|
248
|
-
// Determine the next step based on the conditions
|
|
249
|
-
const nextStepInfo = await this.determineNextStep(currentStep, context);
|
|
250
|
-
if (nextStepInfo) {
|
|
251
|
-
currentStepId = nextStepInfo.nextStepId;
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
break; // Exit the loop if no next step is determined
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
return context;
|
|
258
|
-
}
|
|
259
|
-
processData(initialContext) {
|
|
260
|
-
//TODO: update values with expressions and return new object
|
|
261
|
-
return initialContext;
|
|
262
|
-
}
|
|
263
|
-
getActionInstance(actionName) {
|
|
264
|
-
const actionType = this.registryService.getAction(actionName);
|
|
265
|
-
if (!actionType) {
|
|
266
|
-
throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);
|
|
267
|
-
}
|
|
268
|
-
return this.injector.get(actionType);
|
|
269
|
-
}
|
|
270
|
-
getWorkflowInstance(workflowName) {
|
|
271
|
-
const workflowType = this.registryService.getWorkflow(workflowName);
|
|
272
|
-
if (!workflowType) {
|
|
273
|
-
throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);
|
|
274
|
-
}
|
|
275
|
-
return workflowType;
|
|
276
|
-
}
|
|
277
|
-
async determineNextStep(currentStep, context) {
|
|
278
|
-
if (!currentStep.nextSteps) {
|
|
279
|
-
return null;
|
|
280
|
-
}
|
|
281
|
-
for (const nextStep of currentStep.nextSteps) {
|
|
282
|
-
if (await this.evaluateCondition(nextStep.conditions, context)) {
|
|
283
|
-
return nextStep;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
return null;
|
|
287
|
-
}
|
|
288
|
-
async evaluateCondition(conditions, context) {
|
|
289
|
-
if (!conditions || conditions.length === 0) {
|
|
290
|
-
return true; // If no conditions, the step proceeds
|
|
291
|
-
}
|
|
292
|
-
// Map each condition to a promise using evaluateSingleCondition
|
|
293
|
-
const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));
|
|
294
|
-
// Wait for all promises to resolve
|
|
295
|
-
const results = await Promise.all(conditionPromises);
|
|
296
|
-
// Check if every condition is true
|
|
297
|
-
return results.every((result) => result);
|
|
298
|
-
}
|
|
299
|
-
async evaluateSingleCondition(condition, context) {
|
|
300
|
-
switch (condition.type) {
|
|
301
|
-
case 'SINGLE':
|
|
302
|
-
return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));
|
|
303
|
-
case 'AND':
|
|
304
|
-
// Evaluate all conditions with 'AND' logic
|
|
305
|
-
const andConditions = condition.conditions ?? [];
|
|
306
|
-
const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));
|
|
307
|
-
return andResults.every((result) => result);
|
|
308
|
-
case 'OR':
|
|
309
|
-
// Evaluate all conditions with 'OR' logic
|
|
310
|
-
const orConditions = condition.conditions ?? [];
|
|
311
|
-
const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));
|
|
312
|
-
return orResults.some((result) => result);
|
|
313
|
-
default:
|
|
314
|
-
throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
//TODO: return any and recursively update object, update scopes
|
|
318
|
-
async evaluateExpression(templateExpression, context) {
|
|
319
|
-
try {
|
|
320
|
-
let expression = '';
|
|
321
|
-
if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {
|
|
322
|
-
const expressionMatch = templateExpression.match(/\{\{\s*(.*?)\s*\}\}/);
|
|
323
|
-
if (!expressionMatch) {
|
|
324
|
-
throw Error(`No valid expression found in "${templateExpression}"`);
|
|
325
|
-
}
|
|
326
|
-
expression = expressionMatch[1];
|
|
327
|
-
}
|
|
328
|
-
else {
|
|
329
|
-
expression = templateExpression;
|
|
330
|
-
}
|
|
331
|
-
// Create a scope that includes context and registered functions
|
|
332
|
-
const scope = { context, ...this.createFunctionScope() };
|
|
333
|
-
// Evaluating the expression within the created scope
|
|
334
|
-
const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);
|
|
335
|
-
const result = await sandbox(scope);
|
|
336
|
-
return result;
|
|
337
|
-
}
|
|
338
|
-
catch (error) {
|
|
339
|
-
console.error('Error evaluating expression:', error);
|
|
340
|
-
return false;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
async processInputs(obj, inputs, pathPrefix = '', context = {}) {
|
|
344
|
-
if (!obj) {
|
|
345
|
-
return;
|
|
346
|
-
}
|
|
347
|
-
for await (const i of Object.entries(obj)) {
|
|
348
|
-
const key = i[0];
|
|
349
|
-
const value = i[1];
|
|
350
|
-
const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
|
|
351
|
-
if (typeof value === 'string' && value.trim().includes('{{')) {
|
|
352
|
-
const expValue = await this.evaluateExpression(value, context);
|
|
353
|
-
set(inputs, currentPath, expValue);
|
|
354
|
-
}
|
|
355
|
-
else if (typeof value === 'object' &&
|
|
356
|
-
value !== null &&
|
|
357
|
-
(value.constructor === Object || Array.isArray(value))) {
|
|
358
|
-
// Recursively handle nested objects
|
|
359
|
-
this.processInputs(value, inputs, currentPath, context);
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
// Apply static values directly
|
|
363
|
-
set(inputs, currentPath, value);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
createFunctionScope() {
|
|
368
|
-
const scope = {};
|
|
369
|
-
this.registryService.getFunctionNames().forEach((name) => {
|
|
370
|
-
scope[name] = this.getFunctionInstance(name).execute;
|
|
371
|
-
});
|
|
372
|
-
return { methods: { scope } };
|
|
373
|
-
}
|
|
374
|
-
getFunctionInstance(functionName) {
|
|
375
|
-
const functionType = this.registryService.getFunction(functionName);
|
|
376
|
-
if (!functionType) {
|
|
377
|
-
throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);
|
|
378
|
-
}
|
|
379
|
-
return this.injector.get(functionType);
|
|
380
|
-
}
|
|
381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowService, deps: [{ token: AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
382
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }
|
|
383
|
-
}
|
|
384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowService, decorators: [{
|
|
385
|
-
type: Injectable,
|
|
386
|
-
args: [{
|
|
387
|
-
providedIn: 'root',
|
|
388
|
-
}]
|
|
389
|
-
}], ctorParameters: () => [{ type: AXPWorkflowRegistryService }, { type: i0.Injector }] });
|
|
390
|
-
|
|
391
|
-
class AXPStartWorkflowAction extends AXPWorkflowAction {
|
|
392
|
-
constructor() {
|
|
393
|
-
super(...arguments);
|
|
394
|
-
this.workflowService = inject(AXPWorkflowService);
|
|
395
|
-
}
|
|
396
|
-
async execute(context) {
|
|
397
|
-
//console.log("start WK current context", context);
|
|
398
|
-
//console.log("start WK input context", this.context);
|
|
399
|
-
if (this.context)
|
|
400
|
-
context.setVariables(this.context);
|
|
401
|
-
//console.log("start WK merged context", context);
|
|
402
|
-
try {
|
|
403
|
-
await this.workflowService.execute(this.workflow, context);
|
|
404
|
-
}
|
|
405
|
-
catch (e) {
|
|
406
|
-
throw e;
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
410
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }
|
|
411
|
-
}
|
|
412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{
|
|
413
|
-
type: Injectable,
|
|
414
|
-
args: [{
|
|
415
|
-
providedIn: 'root',
|
|
416
|
-
}]
|
|
417
|
-
}] });
|
|
418
|
-
|
|
419
37
|
const AXP_ACTIVITY_PROVIDER = new InjectionToken('AXP_ACTIVITY_PROVIDER', {
|
|
420
38
|
factory: () => [],
|
|
421
39
|
});
|
|
@@ -596,11 +214,21 @@ class AXPActivityDefinitionService {
|
|
|
596
214
|
* Used by activity selector UIs (e.g. automation command configurator).
|
|
597
215
|
*/
|
|
598
216
|
async getAllActivities() {
|
|
599
|
-
const categories = await this.getCategories(undefined);
|
|
600
217
|
const all = [];
|
|
601
|
-
|
|
602
|
-
|
|
218
|
+
const visited = new Set();
|
|
219
|
+
const queue = await this.getCategories(undefined);
|
|
220
|
+
while (queue.length > 0) {
|
|
221
|
+
const category = queue.shift();
|
|
222
|
+
if (visited.has(category.id)) {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
visited.add(category.id);
|
|
226
|
+
const activities = await this.getActivitiesByCategoryId(category.id);
|
|
603
227
|
all.push(...activities);
|
|
228
|
+
if (category.childrenCount > 0) {
|
|
229
|
+
const children = await this.getCategories(category.id);
|
|
230
|
+
queue.push(...children);
|
|
231
|
+
}
|
|
604
232
|
}
|
|
605
233
|
return all;
|
|
606
234
|
}
|
|
@@ -2713,89 +2341,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2713
2341
|
}] });
|
|
2714
2342
|
|
|
2715
2343
|
class AXPWorkflowModule {
|
|
2716
|
-
static forRoot(
|
|
2344
|
+
static forRoot() {
|
|
2717
2345
|
return {
|
|
2718
2346
|
ngModule: AXPWorkflowModule,
|
|
2719
|
-
providers: [
|
|
2720
|
-
{
|
|
2721
|
-
provide: 'AXPWorkflowModuleFactory',
|
|
2722
|
-
useFactory: (registry) => () => {
|
|
2723
|
-
registry.registerAction('start-workflow', AXPStartWorkflowAction);
|
|
2724
|
-
registry.registerAction('decide', AXPWorkflowDecideAction);
|
|
2725
|
-
//
|
|
2726
|
-
if (config?.functions) {
|
|
2727
|
-
for (const [key, type] of Object.entries(config.functions)) {
|
|
2728
|
-
registry.registerFunction(key, type);
|
|
2729
|
-
}
|
|
2730
|
-
}
|
|
2731
|
-
//
|
|
2732
|
-
if (config?.actions) {
|
|
2733
|
-
for (const [key, type] of Object.entries(config.actions)) {
|
|
2734
|
-
registry.registerAction(key, type);
|
|
2735
|
-
}
|
|
2736
|
-
}
|
|
2737
|
-
//
|
|
2738
|
-
if (config?.workflows) {
|
|
2739
|
-
for (const [key, type] of Object.entries(config.workflows)) {
|
|
2740
|
-
registry.registerWorkflow(key, type);
|
|
2741
|
-
}
|
|
2742
|
-
}
|
|
2743
|
-
},
|
|
2744
|
-
deps: [AXPWorkflowRegistryService],
|
|
2745
|
-
multi: true,
|
|
2746
|
-
},
|
|
2747
|
-
...Object.values(config?.actions ?? { AXPStartWorkflowAction }),
|
|
2748
|
-
...Object.values(config?.functions ?? {}),
|
|
2749
|
-
],
|
|
2750
2347
|
};
|
|
2751
2348
|
}
|
|
2752
|
-
static
|
|
2753
|
-
return {
|
|
2754
|
-
ngModule: AXPWorkflowModule,
|
|
2755
|
-
providers: [
|
|
2756
|
-
// Built-in activities are already registered in forRoot via @NgModule providers
|
|
2757
|
-
// No need to register again in forChild
|
|
2758
|
-
{
|
|
2759
|
-
provide: 'AXPWorkflowModuleFactory',
|
|
2760
|
-
useFactory: (registry) => () => {
|
|
2761
|
-
registry.registerAction('start-workflow', AXPStartWorkflowAction);
|
|
2762
|
-
registry.registerAction('decide', AXPWorkflowDecideAction);
|
|
2763
|
-
//
|
|
2764
|
-
if (config?.functions) {
|
|
2765
|
-
for (const [key, type] of Object.entries(config.functions)) {
|
|
2766
|
-
registry.registerFunction(key, type);
|
|
2767
|
-
}
|
|
2768
|
-
}
|
|
2769
|
-
//
|
|
2770
|
-
if (config?.actions) {
|
|
2771
|
-
for (const [key, type] of Object.entries(config.actions)) {
|
|
2772
|
-
registry.registerAction(key, type);
|
|
2773
|
-
}
|
|
2774
|
-
}
|
|
2775
|
-
//
|
|
2776
|
-
if (config?.workflows) {
|
|
2777
|
-
for (const [key, type] of Object.entries(config.workflows)) {
|
|
2778
|
-
registry.registerWorkflow(key, type);
|
|
2779
|
-
}
|
|
2780
|
-
}
|
|
2781
|
-
},
|
|
2782
|
-
deps: [AXPWorkflowRegistryService],
|
|
2783
|
-
multi: true,
|
|
2784
|
-
},
|
|
2785
|
-
...Object.values(config?.actions ?? {}),
|
|
2786
|
-
...Object.values(config?.functions ?? {}),
|
|
2787
|
-
],
|
|
2788
|
-
};
|
|
2789
|
-
}
|
|
2790
|
-
/**
|
|
2791
|
-
* @ignore
|
|
2792
|
-
*/
|
|
2793
|
-
constructor(instances) {
|
|
2794
|
-
instances?.forEach((f) => {
|
|
2795
|
-
f();
|
|
2796
|
-
});
|
|
2797
|
-
}
|
|
2798
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2799
2350
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowModule }); }
|
|
2800
2351
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowModule, providers: [
|
|
2801
2352
|
AXPWorkflowLocalEngine,
|
|
@@ -2809,9 +2360,6 @@ class AXPWorkflowModule {
|
|
|
2809
2360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWorkflowModule, decorators: [{
|
|
2810
2361
|
type: NgModule,
|
|
2811
2362
|
args: [{
|
|
2812
|
-
imports: [],
|
|
2813
|
-
exports: [],
|
|
2814
|
-
declarations: [],
|
|
2815
2363
|
providers: [
|
|
2816
2364
|
AXPWorkflowLocalEngine,
|
|
2817
2365
|
{
|
|
@@ -2821,16 +2369,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2821
2369
|
AXPWorkflowManager,
|
|
2822
2370
|
],
|
|
2823
2371
|
}]
|
|
2824
|
-
}]
|
|
2825
|
-
type: Optional
|
|
2826
|
-
}, {
|
|
2827
|
-
type: Inject,
|
|
2828
|
-
args: ['AXPWorkflowModuleFactory']
|
|
2829
|
-
}] }] });
|
|
2372
|
+
}] });
|
|
2830
2373
|
|
|
2831
2374
|
/**
|
|
2832
2375
|
* Generated bundle index. Do not edit.
|
|
2833
2376
|
*/
|
|
2834
2377
|
|
|
2835
|
-
export { AXPActivityDefinitionService,
|
|
2378
|
+
export { AXPActivityDefinitionService, AXPWorkflowDefinitionService, AXPWorkflowEngineError, AXPWorkflowEventService, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_CONTINUATION_HOOK, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_ERROR_CODES, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowInlineFrontendTask, axpIsWorkflowInteractiveFrontendTask, axpIsWorkflowTaskBoardActivityType, axpResolveWorkflowContinuationBeforeInteractive, axpShouldOfferBeforeInteractiveFlow, axpShouldOfferWorkflowContinuationAfterStep, axpShouldSkipBeforeInteractiveFromMetadata, createWorkFlowEvent, getWorkflowEngineErrorCode, getWorkflowEngineErrorInfo, isWorkflowContinuationSuppressed, ofType };
|
|
2836
2379
|
//# sourceMappingURL=acorex-platform-framework-client-workflow.mjs.map
|