@veloceapps/sdk 8.0.0-144 → 8.0.0-146
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/services/flow-state.service.d.ts +5 -0
- package/esm2020/core/services/flow-state.service.mjs +30 -11
- package/esm2020/src/guards/context.guard.mjs +4 -3
- package/esm2020/src/guards/flow.guard.mjs +8 -2
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +6 -3
- package/esm2020/src/resolvers/flow.resolver.mjs +4 -2
- package/esm2020/src/resolvers/quote.resolver.mjs +4 -3
- package/esm2020/src/services/flow-router.service.mjs +6 -3
- package/fesm2015/veloceapps-sdk-core.mjs +29 -11
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +22 -9
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +29 -10
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +22 -9
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -0
- package/src/services/flow-router.service.d.ts +1 -1
|
@@ -16,7 +16,7 @@ import * as i1 from 'primeng/dynamicdialog';
|
|
|
16
16
|
import { BehaviorSubject, Subject, filter, first, tap, takeUntil, catchError, of, map, switchMap, shareReplay, startWith, distinctUntilChanged, from, take, combineLatest, forkJoin, throwError } from 'rxjs';
|
|
17
17
|
import * as i1$2 from '@angular/router';
|
|
18
18
|
import { NavigationEnd, NavigationStart, NavigationCancel, NavigationError, RouterModule } from '@angular/router';
|
|
19
|
-
import { UITemplateType, SalesforceIdUtils, mapShoppingCartSettings, getMaxRenewalTermsValue, ConfigurationContextMode, UUID } from '@veloceapps/core';
|
|
19
|
+
import { UITemplateType, SalesforceIdUtils, mapShoppingCartSettings, getMaxRenewalTermsValue, ConfigurationContextMode, isVeloceError, extractErrorDetails, UUID } from '@veloceapps/core';
|
|
20
20
|
import { HttpErrorResponse, HttpParams } from '@angular/common/http';
|
|
21
21
|
import * as i5$1 from '@angular/forms';
|
|
22
22
|
import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -585,10 +585,13 @@ class FlowRouterService {
|
|
|
585
585
|
const flowRouteUrl = this.getFlowRootPath(routeSnapshot);
|
|
586
586
|
this.router.navigate([flowRouteUrl, 'assets'], { queryParams: routeSnapshot.queryParams });
|
|
587
587
|
}
|
|
588
|
-
showErrorPage$(message) {
|
|
588
|
+
showErrorPage$(message, details) {
|
|
589
589
|
const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
|
|
590
590
|
const flowRouteUrl = this.getFlowRootPath(routeSnapshot);
|
|
591
|
-
return from(this.router.navigate([flowRouteUrl, '404'], {
|
|
591
|
+
return from(this.router.navigate([flowRouteUrl, '404'], {
|
|
592
|
+
state: Object.assign({ message, type: 'error' }, (details && { details })),
|
|
593
|
+
replaceUrl: true,
|
|
594
|
+
})).pipe(map(() => false));
|
|
592
595
|
}
|
|
593
596
|
switchObject(id) {
|
|
594
597
|
const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
|
|
@@ -968,7 +971,8 @@ class ContextGuard {
|
|
|
968
971
|
this.runtimeSettingsService.initCurrency(context.properties['CurrencyIsoCode']);
|
|
969
972
|
}), map(() => true), catchError(e => {
|
|
970
973
|
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
971
|
-
|
|
974
|
+
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
|
975
|
+
return this.routerService.showErrorPage$(message, errorDetails);
|
|
972
976
|
}));
|
|
973
977
|
}
|
|
974
978
|
canActivate(route) {
|
|
@@ -1033,7 +1037,11 @@ const keepFlowInitialized = (route) => {
|
|
|
1033
1037
|
return true;
|
|
1034
1038
|
}
|
|
1035
1039
|
const params = Object.assign(Object.assign({}, route.queryParams), flow === null || flow === void 0 ? void 0 : flow.properties.queryParams);
|
|
1036
|
-
return flowInfoService.init$(flowId, params).pipe(map(() => true), catchError(e =>
|
|
1040
|
+
return flowInfoService.init$(flowId, params).pipe(map(() => true), catchError(e => {
|
|
1041
|
+
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
1042
|
+
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
|
1043
|
+
return routerService.showErrorPage$(message, errorDetails);
|
|
1044
|
+
}));
|
|
1037
1045
|
};
|
|
1038
1046
|
|
|
1039
1047
|
class ProductUnloadGuard {
|
|
@@ -1551,19 +1559,22 @@ class RecordNotFoundComponent {
|
|
|
1551
1559
|
this.router = router;
|
|
1552
1560
|
this.route = route;
|
|
1553
1561
|
this.subMessage = '';
|
|
1562
|
+
this.type = '';
|
|
1554
1563
|
const navigation = this.router.getCurrentNavigation();
|
|
1555
1564
|
const { state } = (navigation === null || navigation === void 0 ? void 0 : navigation.extras) || {};
|
|
1556
1565
|
this.message = state === null || state === void 0 ? void 0 : state['message'];
|
|
1566
|
+
this.type = (state === null || state === void 0 ? void 0 : state['type']) || '';
|
|
1567
|
+
this.details = state === null || state === void 0 ? void 0 : state['details'];
|
|
1557
1568
|
if (typeof this.message === 'string') {
|
|
1558
1569
|
this.subMessage = this.message.includes('/describe') ? 'A potential problem with permissions' : '';
|
|
1559
1570
|
}
|
|
1560
1571
|
}
|
|
1561
1572
|
}
|
|
1562
1573
|
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
1563
|
-
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div
|
|
1574
|
+
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1564
1575
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
|
|
1565
1576
|
type: Component,
|
|
1566
|
-
args: [{ selector: 'vl-flow-record-not-found', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div
|
|
1577
|
+
args: [{ selector: 'vl-flow-record-not-found', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"] }]
|
|
1567
1578
|
}], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }]; } });
|
|
1568
1579
|
|
|
1569
1580
|
const routes = [{ path: '', component: RecordNotFoundComponent }];
|
|
@@ -2071,7 +2082,8 @@ class FlowResolver {
|
|
|
2071
2082
|
replaceUrl: true,
|
|
2072
2083
|
})).pipe(catchError$1(e => {
|
|
2073
2084
|
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
2074
|
-
|
|
2085
|
+
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
|
2086
|
+
return this.routerService.showErrorPage$(message, errorDetails);
|
|
2075
2087
|
}));
|
|
2076
2088
|
}
|
|
2077
2089
|
}
|
|
@@ -2100,7 +2112,8 @@ class QuoteResolver {
|
|
|
2100
2112
|
}
|
|
2101
2113
|
return this.flowStateService.init$().pipe(switchMap(() => this.checkDynamicNavigation$(route)), catchError(e => {
|
|
2102
2114
|
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
2103
|
-
|
|
2115
|
+
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
|
2116
|
+
return this.routerService.showErrorPage$(message, errorDetails);
|
|
2104
2117
|
}));
|
|
2105
2118
|
}
|
|
2106
2119
|
checkDynamicNavigation$(route) {
|