@veloceapps/sdk 8.0.0-135 → 8.0.0-137
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/core/modules/configuration/services/configuration-state.service.d.ts +3 -1
- package/core/services/flow-info.service.d.ts +1 -0
- package/core/services/flow-state.service.d.ts +1 -0
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +29 -13
- package/esm2020/core/services/flow-info.service.mjs +4 -1
- package/esm2020/core/services/flow-state.service.mjs +16 -10
- package/esm2020/src/pages/product/product.component.mjs +2 -2
- package/esm2020/src/services/flow-router.service.mjs +3 -3
- package/esm2020/src/services/flow.service.mjs +7 -6
- package/fesm2015/veloceapps-sdk-core.mjs +50 -24
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +9 -8
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +45 -20
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +9 -8
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/services/flow.service.d.ts +1 -1
|
@@ -171,6 +171,10 @@ class FlowInfoService {
|
|
|
171
171
|
var _a;
|
|
172
172
|
return !!this.flow && ((_a = this.flow) === null || _a === void 0 ? void 0 : _a.properties.stateful) == null;
|
|
173
173
|
}
|
|
174
|
+
get isStateful() {
|
|
175
|
+
var _a;
|
|
176
|
+
return !!((_a = this.flow) === null || _a === void 0 ? void 0 : _a.properties.stateful);
|
|
177
|
+
}
|
|
174
178
|
constructor(flowsApiService, templatesApiService, customizationService) {
|
|
175
179
|
this.flowsApiService = flowsApiService;
|
|
176
180
|
this.templatesApiService = templatesApiService;
|
|
@@ -743,6 +747,7 @@ class FlowStateService {
|
|
|
743
747
|
this.toastService = toastService;
|
|
744
748
|
this.customizationService = customizationService;
|
|
745
749
|
this.NOT_INITIALIZED = Symbol();
|
|
750
|
+
this.executedFunctions = {};
|
|
746
751
|
this._hasStatefulUnsavedChanges = false;
|
|
747
752
|
this.stateId$ = new BehaviorSubject(null);
|
|
748
753
|
this.processors = {};
|
|
@@ -1115,29 +1120,34 @@ class FlowStateService {
|
|
|
1115
1120
|
return forkJoin(owners$).pipe(map$1(noop));
|
|
1116
1121
|
}
|
|
1117
1122
|
executeActionScript(request, executable) {
|
|
1118
|
-
var _a
|
|
1119
|
-
const
|
|
1120
|
-
if (!script) {
|
|
1123
|
+
var _a;
|
|
1124
|
+
const configurationProcessor = (_a = this.processors[executable.ownerId]) === null || _a === void 0 ? void 0 : _a[executable.apiName];
|
|
1125
|
+
if (!(configurationProcessor === null || configurationProcessor === void 0 ? void 0 : configurationProcessor.script)) {
|
|
1121
1126
|
const scope = this.getScopeByOwnerId(executable.ownerId);
|
|
1122
1127
|
const scopeText = scope ? ` in ${scope}` : '';
|
|
1123
1128
|
throw `ConfigurationProcessor ${executable.apiName}${scopeText} not found`;
|
|
1124
1129
|
}
|
|
1125
|
-
return this.executeProcessorScript(request,
|
|
1130
|
+
return this.executeProcessorScript(request, configurationProcessor, executable.inputData);
|
|
1126
1131
|
}
|
|
1127
1132
|
executeSelectorScript(request, executable) {
|
|
1128
|
-
var _a
|
|
1129
|
-
const
|
|
1130
|
-
if (!script) {
|
|
1133
|
+
var _a;
|
|
1134
|
+
const configurationProcessor = (_a = this.processors[executable.ownerId]) === null || _a === void 0 ? void 0 : _a[executable.apiName];
|
|
1135
|
+
if (!(configurationProcessor === null || configurationProcessor === void 0 ? void 0 : configurationProcessor.script)) {
|
|
1131
1136
|
const scope = this.getScopeByOwnerId(executable.ownerId);
|
|
1132
1137
|
const scopeText = scope ? ` in ${scope}` : '';
|
|
1133
1138
|
throw `ConfigurationProcessor ${executable.apiName}${scopeText} not found`;
|
|
1134
1139
|
}
|
|
1135
|
-
return this.executeProcessorScript(request,
|
|
1140
|
+
return this.executeProcessorScript(request, configurationProcessor, executable.inputData);
|
|
1136
1141
|
}
|
|
1137
|
-
executeProcessorScript(request,
|
|
1138
|
-
|
|
1142
|
+
executeProcessorScript(request, configurationProcessor, inputData) {
|
|
1143
|
+
let functionToExecute = this.executedFunctions[configurationProcessor.apiName];
|
|
1144
|
+
if (!functionToExecute) {
|
|
1145
|
+
functionToExecute = new Function(`${configurationProcessor.script}\nreturn transform;`)();
|
|
1146
|
+
this.executedFunctions[configurationProcessor.apiName] = functionToExecute;
|
|
1147
|
+
}
|
|
1148
|
+
return functionToExecute({
|
|
1139
1149
|
request,
|
|
1140
|
-
inputData
|
|
1150
|
+
inputData,
|
|
1141
1151
|
});
|
|
1142
1152
|
}
|
|
1143
1153
|
generateRequestId(scope, selectorName, inputData) {
|
|
@@ -2122,10 +2132,12 @@ class ConfigurationStateService {
|
|
|
2122
2132
|
this.flowStateApiService = flowStateApiService;
|
|
2123
2133
|
this.quoteApiService = quoteApiService;
|
|
2124
2134
|
this.NOT_INITIALIZED = Symbol();
|
|
2135
|
+
this.executedFunctions = {};
|
|
2125
2136
|
this.stateId = null;
|
|
2126
2137
|
this.ownerId = '';
|
|
2127
2138
|
this.subscriptions = {};
|
|
2128
2139
|
this.isInitialized$ = new BehaviorSubject(false);
|
|
2140
|
+
this.canceledConfiguration$ = new Subject();
|
|
2129
2141
|
}
|
|
2130
2142
|
init$() {
|
|
2131
2143
|
let request$;
|
|
@@ -2135,7 +2147,10 @@ class ConfigurationStateService {
|
|
|
2135
2147
|
else {
|
|
2136
2148
|
request$ = this.initStateless$();
|
|
2137
2149
|
}
|
|
2138
|
-
return request$.pipe(finalize(() =>
|
|
2150
|
+
return request$.pipe(finalize(() => {
|
|
2151
|
+
this.isInitialized$.next(true);
|
|
2152
|
+
this.canceledConfiguration$ = new Subject();
|
|
2153
|
+
}));
|
|
2139
2154
|
}
|
|
2140
2155
|
cleanup() {
|
|
2141
2156
|
this.stateId = null;
|
|
@@ -2206,10 +2221,13 @@ class ConfigurationStateService {
|
|
|
2206
2221
|
}
|
|
2207
2222
|
}
|
|
2208
2223
|
return this.subscriptions[requestId].data$.pipe(filter$1(data => data != this.NOT_INITIALIZED), map$1(data => data), finalize(() => {
|
|
2224
|
+
if (!this.subscriptions[requestId]) {
|
|
2225
|
+
return;
|
|
2226
|
+
}
|
|
2209
2227
|
if (!this.subscriptions[requestId].data$.observed) {
|
|
2210
2228
|
delete this.subscriptions[requestId];
|
|
2211
2229
|
}
|
|
2212
|
-
}));
|
|
2230
|
+
}), takeUntil(this.canceledConfiguration$));
|
|
2213
2231
|
}
|
|
2214
2232
|
saveConfiguration(quoteId, flow) {
|
|
2215
2233
|
var _a, _b;
|
|
@@ -2254,6 +2272,9 @@ class ConfigurationStateService {
|
|
|
2254
2272
|
if (!this.isInitialized$.value) {
|
|
2255
2273
|
return of(undefined);
|
|
2256
2274
|
}
|
|
2275
|
+
this.canceledConfiguration$.next();
|
|
2276
|
+
this.canceledConfiguration$.complete();
|
|
2277
|
+
this.subscriptions = {};
|
|
2257
2278
|
this.isInitialized$.next(false);
|
|
2258
2279
|
if (!this.isInitialized$.value || !this.isStatefulConfiguration) {
|
|
2259
2280
|
return of(undefined);
|
|
@@ -2341,27 +2362,32 @@ class ConfigurationStateService {
|
|
|
2341
2362
|
}));
|
|
2342
2363
|
}
|
|
2343
2364
|
executeActionScript(request, processor) {
|
|
2344
|
-
var _a, _b
|
|
2365
|
+
var _a, _b;
|
|
2345
2366
|
const { actions } = (_b = (_a = this.configurationRuntimeService.runtimeContext) === null || _a === void 0 ? void 0 : _a.uiDefinitionContainer) !== null && _b !== void 0 ? _b : {};
|
|
2346
|
-
const
|
|
2347
|
-
if (!script) {
|
|
2367
|
+
const configurationProcessor = actions === null || actions === void 0 ? void 0 : actions.find(action => action.apiName === processor.apiName);
|
|
2368
|
+
if (!(configurationProcessor === null || configurationProcessor === void 0 ? void 0 : configurationProcessor.script)) {
|
|
2348
2369
|
return request;
|
|
2349
2370
|
}
|
|
2350
|
-
return this.executeProcessorScript(request,
|
|
2371
|
+
return this.executeProcessorScript(request, configurationProcessor, processor.inputData);
|
|
2351
2372
|
}
|
|
2352
2373
|
executeSelectorScript(request, processor) {
|
|
2353
|
-
var _a, _b
|
|
2374
|
+
var _a, _b;
|
|
2354
2375
|
const { selectors } = (_b = (_a = this.configurationRuntimeService.runtimeContext) === null || _a === void 0 ? void 0 : _a.uiDefinitionContainer) !== null && _b !== void 0 ? _b : {};
|
|
2355
|
-
const
|
|
2356
|
-
if (!script) {
|
|
2376
|
+
const configurationProcessor = selectors === null || selectors === void 0 ? void 0 : selectors.find(selector => selector.apiName === processor.apiName);
|
|
2377
|
+
if (!(configurationProcessor === null || configurationProcessor === void 0 ? void 0 : configurationProcessor.script)) {
|
|
2357
2378
|
return null;
|
|
2358
2379
|
}
|
|
2359
|
-
return this.executeProcessorScript(request,
|
|
2380
|
+
return this.executeProcessorScript(request, configurationProcessor, processor.inputData);
|
|
2360
2381
|
}
|
|
2361
|
-
executeProcessorScript(request,
|
|
2362
|
-
|
|
2382
|
+
executeProcessorScript(request, configurationProcessor, inputData) {
|
|
2383
|
+
let functionToExecute = this.executedFunctions[configurationProcessor.apiName];
|
|
2384
|
+
if (!functionToExecute) {
|
|
2385
|
+
functionToExecute = new Function(`${configurationProcessor.script}\nreturn transform;`)();
|
|
2386
|
+
this.executedFunctions[configurationProcessor.apiName] = functionToExecute;
|
|
2387
|
+
}
|
|
2388
|
+
return functionToExecute({
|
|
2363
2389
|
request,
|
|
2364
|
-
inputData
|
|
2390
|
+
inputData,
|
|
2365
2391
|
});
|
|
2366
2392
|
}
|
|
2367
2393
|
}
|