@veloceapps/sdk 10.0.0-9 → 11.0.0-1
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/cms.actions.d.ts +0 -12
- package/cms/vendor-map.d.ts +4 -6
- package/core/modules/configuration/services/configuration-state.service.d.ts +1 -0
- package/core/modules/configuration/services/configuration.service.d.ts +2 -0
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +4 -1
- package/esm2020/cms/cms.actions.mjs +1 -17
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
- package/esm2020/cms/vendor-map.mjs +6 -6
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +29 -22
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +13 -2
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +16 -5
- package/esm2020/core/services/flow-info.service.mjs +1 -3
- package/esm2020/core/services/flow-state.service.mjs +5 -5
- package/esm2020/src/flow.component.mjs +4 -5
- package/esm2020/src/flow.module.mjs +5 -10
- package/esm2020/src/services/flow-dialog.service.mjs +1 -30
- package/fesm2015/veloceapps-sdk-cms.mjs +6 -24
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +57 -31
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +57 -248
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +6 -24
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +55 -30
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +57 -248
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +4 -4
- package/src/flow.module.d.ts +2 -3
- package/src/services/flow-dialog.service.d.ts +0 -4
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +0 -129
- package/esm2020/src/components/doc-gen/doc-gen.module.mjs +0 -19
- package/esm2020/src/services/doc-gen.service.mjs +0 -34
- package/src/components/doc-gen/doc-gen.component.d.ts +0 -26
- package/src/components/doc-gen/doc-gen.module.d.ts +0 -9
- package/src/services/doc-gen.service.d.ts +0 -13
@@ -260,8 +260,6 @@ class FlowInfoService {
|
|
260
260
|
return UITemplateType.SHOPPING_CART;
|
261
261
|
case 'catalog':
|
262
262
|
return UITemplateType.CATALOG;
|
263
|
-
case 'docGen':
|
264
|
-
return UITemplateType.DOCGEN;
|
265
263
|
case 'guidedSelling':
|
266
264
|
return UITemplateType.GUIDED_SELLING;
|
267
265
|
case 'flowHeader':
|
@@ -652,8 +650,8 @@ class FlowStateService {
|
|
652
650
|
else {
|
653
651
|
const quoteDraft = this.quoteDraftService.quoteDraft;
|
654
652
|
if (quoteDraft) {
|
655
|
-
return this.quoteApiService.upsertQuote(quoteDraft).pipe(tap$1(({
|
656
|
-
this.contextService.update({ properties: {
|
653
|
+
return this.quoteApiService.upsertQuote(quoteDraft).pipe(tap$1(({ versionId }) => {
|
654
|
+
this.contextService.update({ properties: { VELOCE_PRISM__VersionId__c: versionId } });
|
657
655
|
}));
|
658
656
|
}
|
659
657
|
}
|
@@ -668,8 +666,8 @@ class FlowStateService {
|
|
668
666
|
else {
|
669
667
|
const quoteDraft = this.quoteDraftService.quoteDraft;
|
670
668
|
if (quoteDraft) {
|
671
|
-
return this.quoteApiService.submitQuote(quoteDraft).pipe(tap$1(({
|
672
|
-
this.contextService.update({ properties: {
|
669
|
+
return this.quoteApiService.submitQuote(quoteDraft).pipe(tap$1(({ versionId }) => {
|
670
|
+
this.contextService.update({ properties: { VELOCE_PRISM__VersionId__c: versionId } });
|
673
671
|
}));
|
674
672
|
}
|
675
673
|
}
|
@@ -1333,6 +1331,7 @@ class ConfigurationService {
|
|
1333
1331
|
this.runtimeSettings = runtimeSettings;
|
1334
1332
|
this.mode = ConfigurationMode.SEARCH;
|
1335
1333
|
this.configurationState = new BehaviorSubject(null);
|
1334
|
+
this.previousConfigurationState = new BehaviorSubject(null);
|
1336
1335
|
this.isLoadingSubj$ = new BehaviorSubject(false);
|
1337
1336
|
this.isLoading$ = this.isLoadingSubj$.asObservable();
|
1338
1337
|
this.hasUnsavedChanges = false;
|
@@ -1342,6 +1341,7 @@ class ConfigurationService {
|
|
1342
1341
|
this.runtimeService.reset();
|
1343
1342
|
this.configurableRamp = undefined;
|
1344
1343
|
this.configurationState.next(null);
|
1344
|
+
this.previousConfigurationState.next(null);
|
1345
1345
|
}
|
1346
1346
|
patch$(lineItem, options) {
|
1347
1347
|
const source = this.getSnapshot();
|
@@ -1397,6 +1397,9 @@ class ConfigurationService {
|
|
1397
1397
|
get stateSnapshot() {
|
1398
1398
|
return this.configurationState.value;
|
1399
1399
|
}
|
1400
|
+
get previousStateSnapshot() {
|
1401
|
+
return this.previousConfigurationState.value;
|
1402
|
+
}
|
1400
1403
|
get contextSnapshot() {
|
1401
1404
|
return this.contextService.resolve();
|
1402
1405
|
}
|
@@ -1442,11 +1445,17 @@ class ConfigurationService {
|
|
1442
1445
|
return configure$.pipe(tap(result => {
|
1443
1446
|
this.contextService.update(result.context);
|
1444
1447
|
this.configurationState.next(result);
|
1448
|
+
this.previousConfigurationState.next(cloneDeep(result));
|
1445
1449
|
if (result.deletedLineItems?.length) {
|
1446
1450
|
this.showInactiveProductsConfirmation();
|
1447
1451
|
}
|
1448
1452
|
this.configurableRamp = result.lineItem;
|
1449
1453
|
}), map(({ lineItem }) => lineItem), catchError$1(error => throwError(() => {
|
1454
|
+
const resetState = this.previousConfigurationState.value;
|
1455
|
+
if (resetState) {
|
1456
|
+
this.previousConfigurationState.next(cloneDeep(resetState));
|
1457
|
+
this.configurationState.next(resetState);
|
1458
|
+
}
|
1450
1459
|
if (error.error) {
|
1451
1460
|
return extractErrorDetails(error.error).join('. ');
|
1452
1461
|
}
|
@@ -1492,7 +1501,7 @@ class ConfigurationService {
|
|
1492
1501
|
generateLineItem() {
|
1493
1502
|
const runtimeContext = this.getRuntimeContext();
|
1494
1503
|
const uiDefinitionProperties = this.getUIDefinitionProperties();
|
1495
|
-
let lineItem =
|
1504
|
+
let lineItem = this.configurableRamp;
|
1496
1505
|
if (!lineItem) {
|
1497
1506
|
const { initializationProps } = this.runtimeService ?? {};
|
1498
1507
|
lineItem = getDefaultLineItem(runtimeContext, uiDefinitionProperties, initializationProps?.defaultQty);
|
@@ -1682,17 +1691,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
1682
1691
|
}] });
|
1683
1692
|
|
1684
1693
|
class FlowConfigurationService {
|
1685
|
-
constructor(proceduresApiService, contextService, quoteDraftService, updateService, configurationService) {
|
1694
|
+
constructor(proceduresApiService, contextService, quoteDraftService, updateService, configurationService, flowInfoService) {
|
1686
1695
|
this.proceduresApiService = proceduresApiService;
|
1687
1696
|
this.contextService = contextService;
|
1688
1697
|
this.quoteDraftService = quoteDraftService;
|
1689
1698
|
this.updateService = updateService;
|
1690
1699
|
this.configurationService = configurationService;
|
1700
|
+
this.flowInfoService = flowInfoService;
|
1691
1701
|
this.updatedSubj$ = new Subject();
|
1692
1702
|
this.updated$ = this.updatedSubj$.asObservable();
|
1693
1703
|
}
|
1694
1704
|
calculate$(quoteDraft) {
|
1695
|
-
return this.
|
1705
|
+
return this.extendedApply$(quoteDraft).pipe(tap$1(result => {
|
1696
1706
|
// sort the result current state based on the quote draft initial state
|
1697
1707
|
const initialStateIds = quoteDraft.initialState.map(lineItem => lineItem.integrationId);
|
1698
1708
|
result.currentState = result.currentState
|
@@ -1812,12 +1822,20 @@ class FlowConfigurationService {
|
|
1812
1822
|
}));
|
1813
1823
|
};
|
1814
1824
|
}
|
1825
|
+
extendedApply$(quoteDraft) {
|
1826
|
+
const request = { ...quoteDraft };
|
1827
|
+
const procedureName = this.flowInfoService.flow?.properties.procedureName;
|
1828
|
+
if (procedureName) {
|
1829
|
+
request.procedureName = procedureName;
|
1830
|
+
}
|
1831
|
+
return this.proceduresApiService.apply$(request);
|
1832
|
+
}
|
1815
1833
|
}
|
1816
|
-
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.ProceduresApiService }, { token: ContextService }, { token: QuoteDraftService }, { token: FlowUpdateService }, { token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
1834
|
+
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.ProceduresApiService }, { token: ContextService }, { token: QuoteDraftService }, { token: FlowUpdateService }, { token: ConfigurationService }, { token: FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
1817
1835
|
FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService });
|
1818
1836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
1819
1837
|
type: Injectable
|
1820
|
-
}], ctorParameters: function () { return [{ type: i1.ProceduresApiService }, { type: ContextService }, { type: QuoteDraftService }, { type: FlowUpdateService }, { type: ConfigurationService }]; } });
|
1838
|
+
}], ctorParameters: function () { return [{ type: i1.ProceduresApiService }, { type: ContextService }, { type: QuoteDraftService }, { type: FlowUpdateService }, { type: ConfigurationService }, { type: FlowInfoService }]; } });
|
1821
1839
|
|
1822
1840
|
class FlowConfigurationModule {
|
1823
1841
|
}
|
@@ -2327,7 +2345,7 @@ class ConfigurationStateService {
|
|
2327
2345
|
if (!request.actions?.length) {
|
2328
2346
|
return of(undefined);
|
2329
2347
|
}
|
2330
|
-
let configurationRequest = this.configurationService.generateRequest();
|
2348
|
+
let configurationRequest = this.configurationService.generateRequest(false);
|
2331
2349
|
request.actions.forEach(action => {
|
2332
2350
|
configurationRequest = this.executeActionScript(configurationRequest, action) ?? configurationRequest;
|
2333
2351
|
});
|
@@ -2335,28 +2353,17 @@ class ConfigurationStateService {
|
|
2335
2353
|
return this.configurationService.configureRequest$(configurationRequest);
|
2336
2354
|
}), map$1(() => {
|
2337
2355
|
// Run selectors and apply them to the state
|
2338
|
-
const configurationState =
|
2356
|
+
const configurationState = this.configurationService.stateSnapshot;
|
2339
2357
|
if (!configurationState) {
|
2340
2358
|
return { stateId: '', selectors: {} };
|
2341
2359
|
}
|
2342
|
-
|
2343
|
-
try {
|
2344
|
-
result.selectors[key] = {
|
2345
|
-
success: true,
|
2346
|
-
result: this.executeSelectorScript(configurationState, selector),
|
2347
|
-
};
|
2348
|
-
}
|
2349
|
-
catch (e) {
|
2350
|
-
console.error(e);
|
2351
|
-
result.selectors[key] = {
|
2352
|
-
success: false,
|
2353
|
-
errorMessage: String(e),
|
2354
|
-
};
|
2355
|
-
}
|
2356
|
-
return result;
|
2357
|
-
}, { stateId: '', selectors: {} });
|
2358
|
-
return selectorsResult;
|
2360
|
+
return this.runStatelessSelectors(request, configurationState);
|
2359
2361
|
}), tap$1(() => this.executionInProgress$.next(false)), catchError(error => {
|
2362
|
+
const configurationState = this.configurationService.previousStateSnapshot;
|
2363
|
+
if (configurationState) {
|
2364
|
+
const selectorsResult = this.runStatelessSelectors(request, configurationState);
|
2365
|
+
this.handleSelectorsResponse(selectorsResult.selectors);
|
2366
|
+
}
|
2360
2367
|
this.executionInProgress$.next(false);
|
2361
2368
|
if (!this.configurationRuntimeService.uiDefinitionProperties.suppressToastMessages) {
|
2362
2369
|
this.toastService.add({ severity: ToastType.error, summary: String(error) });
|
@@ -2423,6 +2430,24 @@ class ConfigurationStateService {
|
|
2423
2430
|
configurationStore: this.configurationStore,
|
2424
2431
|
});
|
2425
2432
|
}
|
2433
|
+
runStatelessSelectors(request, configurationState) {
|
2434
|
+
return EntityUtil.entries(request.selectors ?? {}).reduce((result, [key, selector]) => {
|
2435
|
+
try {
|
2436
|
+
result.selectors[key] = {
|
2437
|
+
success: true,
|
2438
|
+
result: this.executeSelectorScript(configurationState, selector),
|
2439
|
+
};
|
2440
|
+
}
|
2441
|
+
catch (e) {
|
2442
|
+
console.error(e);
|
2443
|
+
result.selectors[key] = {
|
2444
|
+
success: false,
|
2445
|
+
errorMessage: String(e),
|
2446
|
+
};
|
2447
|
+
}
|
2448
|
+
return result;
|
2449
|
+
}, { stateId: '', selectors: {} });
|
2450
|
+
}
|
2426
2451
|
}
|
2427
2452
|
ConfigurationStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationStateService, deps: [{ token: ConfigurationRuntimeService }, { token: ConfigurationService }, { token: QuoteDraftService }, { token: i6.ToastService }, { token: FlowStateService }, { token: FlowInfoService }, { token: FlowConfigurationService }, { token: i1.FlowStateApiService }, { token: i1.QuoteApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
2428
2453
|
ConfigurationStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationStateService });
|