@veloceapps/sdk 3.0.3 → 3.0.5
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/bundles/veloce-sdk-cms.umd.js +112 -23
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk-runtime.umd.js +8 -0
- package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +1343 -1246
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/launcher.module.d.ts +2 -1
- package/cms/modules/configuration/services/configuration-runtime.service.d.ts +2 -2
- package/cms/modules/flow-configuration/flow-configuration.module.d.ts +6 -0
- package/cms/modules/flow-configuration/index.d.ts +2 -0
- package/cms/modules/flow-configuration/services/flow-configuration.service.d.ts +25 -0
- package/cms/modules/index.d.ts +1 -0
- package/cms/types/ui-definition.types.d.ts +2 -0
- package/esm2015/cms/components/preview/preview.component.js +2 -4
- package/esm2015/cms/launcher.module.js +5 -4
- package/esm2015/cms/modules/configuration/helpers.js +2 -2
- package/esm2015/cms/modules/configuration/services/configuration-runtime.service.js +7 -5
- package/esm2015/cms/modules/flow-configuration/flow-configuration.module.js +17 -0
- package/esm2015/cms/modules/flow-configuration/index.js +3 -0
- package/esm2015/cms/modules/flow-configuration/services/flow-configuration.service.js +58 -0
- package/esm2015/cms/modules/index.js +2 -1
- package/esm2015/cms/types/ui-definition.types.js +1 -1
- package/esm2015/runtime/services/context.service.js +5 -1
- package/esm2015/src/components/header/header.component.js +73 -4
- package/esm2015/src/components/header/header.module.js +7 -4
- package/esm2015/src/components/header/header.types.js +2 -0
- package/esm2015/src/flow.component.js +3 -7
- package/esm2015/src/index.js +2 -1
- package/esm2015/src/pages/debug/debug.component.js +14 -9
- package/esm2015/src/pages/debug/debug.module.js +6 -2
- package/esm2015/src/resolvers/quote.resolver.js +21 -6
- package/esm2015/src/types/route.types.js +1 -1
- package/esm2015/src/utils/flow.utils.js +12 -0
- package/esm2015/src/utils/index.js +2 -0
- package/fesm2015/veloce-sdk-cms.js +91 -25
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-runtime.js +4 -0
- package/fesm2015/veloce-sdk-runtime.js.map +1 -1
- package/fesm2015/veloce-sdk.js +164 -70
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
- package/runtime/services/context.service.d.ts +1 -0
- package/src/components/header/header.component.d.ts +23 -1
- package/src/components/header/header.module.d.ts +4 -1
- package/src/components/header/header.types.d.ts +8 -0
- package/src/index.d.ts +1 -0
- package/src/pages/debug/debug.component.d.ts +1 -0
- package/src/pages/debug/debug.module.d.ts +2 -1
- package/src/resolvers/quote.resolver.d.ts +6 -2
- package/src/types/route.types.d.ts +5 -0
- package/src/utils/flow.utils.d.ts +1 -0
- package/src/utils/index.d.ts +1 -0
package/fesm2015/veloce-sdk.js
CHANGED
|
@@ -1,39 +1,105 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i4 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Component, ChangeDetectionStrategy, NgModule, Injectable, InjectionToken, Optional, Inject } from '@angular/core';
|
|
5
|
-
import * as i1
|
|
5
|
+
import * as i1 from '@veloce/api';
|
|
6
6
|
import { ApiModule } from '@veloce/api';
|
|
7
7
|
import * as i2$1 from '@veloce/components';
|
|
8
|
-
import { LoaderModule, ToastType } from '@veloce/components';
|
|
8
|
+
import { LetDirectiveModule, LoaderModule, ToastType } from '@veloce/components';
|
|
9
9
|
import * as i1$3 from '@veloce/sdk/cms';
|
|
10
10
|
import { PreviewModule, LauncherModule } from '@veloce/sdk/cms';
|
|
11
11
|
import * as i2 from '@veloce/sdk/runtime';
|
|
12
12
|
import { RuntimeOperation, RuntimeModule, ContextService } from '@veloce/sdk/runtime';
|
|
13
|
-
import * as
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
13
|
+
import * as i3 from 'primeng/overlaypanel';
|
|
14
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
15
|
+
import * as i5 from 'primeng/tooltip';
|
|
16
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
16
17
|
import { ConfigurationContextMode, EntityUtil, UITemplateComponentType, UITemplateType } from '@veloce/core';
|
|
17
|
-
import
|
|
18
|
+
import { BehaviorSubject, Subject, of, map, takeUntil, filter, shareReplay, startWith, distinctUntilChanged, first as first$1, tap, switchMap as switchMap$1, catchError, from } from 'rxjs';
|
|
19
|
+
import * as i4$1 from 'primeng/api';
|
|
20
|
+
import * as i1$1 from '@angular/router';
|
|
21
|
+
import { NavigationEnd, NavigationStart, NavigationCancel, NavigationError, RouterModule } from '@angular/router';
|
|
22
|
+
import * as i7 from '@angular/forms';
|
|
18
23
|
import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
19
|
-
import * as
|
|
24
|
+
import * as i5$1 from 'primeng/button';
|
|
20
25
|
import { ButtonModule } from 'primeng/button';
|
|
21
|
-
import * as
|
|
26
|
+
import * as i4$2 from 'primeng/dropdown';
|
|
27
|
+
import { DropdownModule } from 'primeng/dropdown';
|
|
28
|
+
import * as i8 from 'primeng/inputtext';
|
|
22
29
|
import { InputTextModule } from 'primeng/inputtext';
|
|
23
|
-
import * as
|
|
30
|
+
import * as i6 from 'primeng/radiobutton';
|
|
24
31
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
25
|
-
import { map as map$1, first, takeUntil, take, switchMap, tap as tap$1, catchError as catchError$1 } from 'rxjs/operators';
|
|
32
|
+
import { map as map$1, first, takeUntil as takeUntil$1, take, switchMap, tap as tap$1, catchError as catchError$1 } from 'rxjs/operators';
|
|
26
33
|
import * as i1$2 from 'ngx-bootstrap/tooltip';
|
|
27
|
-
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
28
|
-
import * as i4$1 from 'primeng/api';
|
|
34
|
+
import { TooltipModule as TooltipModule$1 } from 'ngx-bootstrap/tooltip';
|
|
29
35
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
30
36
|
|
|
31
37
|
const VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';
|
|
32
38
|
|
|
33
39
|
class FlowHeaderComponent {
|
|
40
|
+
constructor(context, sfApiService) {
|
|
41
|
+
var _a, _b, _c;
|
|
42
|
+
this.context = context;
|
|
43
|
+
this.sfApiService = sfApiService;
|
|
44
|
+
this.objectDetails$ = new BehaviorSubject({});
|
|
45
|
+
this.destroyed$ = new Subject();
|
|
46
|
+
const ctx = this.context.resolve();
|
|
47
|
+
this.mode = ctx === null || ctx === void 0 ? void 0 : ctx.mode;
|
|
48
|
+
this.objectName = (_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.mode) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
|
|
49
|
+
this.contextProperties = (_c = ctx === null || ctx === void 0 ? void 0 : ctx.properties) !== null && _c !== void 0 ? _c : {};
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.populateObjectDetails();
|
|
53
|
+
}
|
|
54
|
+
ngOnDestroy() {
|
|
55
|
+
this.destroyed$.next();
|
|
56
|
+
this.destroyed$.complete();
|
|
57
|
+
}
|
|
58
|
+
get isAccountMode() {
|
|
59
|
+
return this.mode === ConfigurationContextMode.ACCOUNT;
|
|
60
|
+
}
|
|
61
|
+
get isQuoteMode() {
|
|
62
|
+
return this.mode === ConfigurationContextMode.QUOTE;
|
|
63
|
+
}
|
|
64
|
+
back() {
|
|
65
|
+
var _a;
|
|
66
|
+
const objectId = (_a = this.context.resolve()) === null || _a === void 0 ? void 0 : _a.headerId;
|
|
67
|
+
if (objectId) {
|
|
68
|
+
window.VELO_BACK_FN.apply(null, [objectId]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
getSalesforceObjectLink(objectId) {
|
|
72
|
+
if (!objectId) {
|
|
73
|
+
return '';
|
|
74
|
+
}
|
|
75
|
+
return `${window.location.origin}/${objectId}`;
|
|
76
|
+
}
|
|
77
|
+
queryName$(objectName, id) {
|
|
78
|
+
if (!id) {
|
|
79
|
+
return of('');
|
|
80
|
+
}
|
|
81
|
+
const searchRequest = {
|
|
82
|
+
count: 1,
|
|
83
|
+
rawCondition: `Id = '${id}'`,
|
|
84
|
+
fields: ['Name'],
|
|
85
|
+
};
|
|
86
|
+
return this.sfApiService.query(searchRequest, objectName).pipe(map(result => { var _a, _b; return (_b = (_a = result[0]) === null || _a === void 0 ? void 0 : _a.Name) !== null && _b !== void 0 ? _b : ''; }), takeUntil(this.destroyed$));
|
|
87
|
+
}
|
|
88
|
+
populateObjectDetails() {
|
|
89
|
+
const accountId = this.isAccountMode ? this.contextProperties.Id : this.contextProperties.AccountId;
|
|
90
|
+
const opportunityId = this.contextProperties.OpportunityId;
|
|
91
|
+
const quoteId = this.isQuoteMode ? this.contextProperties.Id : undefined;
|
|
92
|
+
const quoteName = this.isQuoteMode ? this.contextProperties.Name : undefined;
|
|
93
|
+
this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountId,
|
|
94
|
+
opportunityId,
|
|
95
|
+
quoteId,
|
|
96
|
+
quoteName }));
|
|
97
|
+
this.queryName$('Account', accountId).subscribe(accountName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountName })));
|
|
98
|
+
this.queryName$('Opportunity', opportunityId).subscribe(opportunityName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { opportunityName })));
|
|
99
|
+
}
|
|
34
100
|
}
|
|
35
|
-
FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
FlowHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0, template: "
|
|
101
|
+
FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, deps: [{ token: i2.ContextService }, { token: i1.SalesforceApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
+
FlowHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0, template: "<nav class=\"nav-item nav-back\" (click)=\"back()\">\n <i class=\"nav-icon vl-icon vl-icon-arrow-left\"></i>\n <span> Back </span>\n <span *ngIf=\"objectName\" class=\"object-name\"> To {{ objectName }}</span>\n</nav>\n\n<ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></span>\n Account name\n <nav class=\"account-name\" [pTooltip]=\"contextProperties.Name\" tooltipPosition=\"bottom\" [showDelay]=\"1000\">\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(contextProperties.Id)\">{{ contextProperties.Name }}</a>\n </nav>\n</ng-container>\n\n<ng-container *ngIf=\"isQuoteMode\">\n <span class=\"dot-separator\"></span>\n Quote #{{ contextProperties.QuoteNumber }}\n <span class=\"dot-separator\"></span>\n <nav (click)=\"quoteDetails.toggle($event)\">\n {{ contextProperties.Status }}\n <i *ngIf=\"!quoteDetails.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"quoteDetails.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <p-overlayPanel styleClass=\"navigation-settings-overlay flow-header-overlay left\" #quoteDetails>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\">\n <h2 class=\"flow-header-overlay__title\">\n <span>Quote Information</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"quoteDetails.hide()\"></i>\n </h2>\n\n <ul class=\"info-list\" *vlLet=\"objectDetails$ | async as details\">\n <li class=\"info-list__row\">\n <span>Account Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.accountId)\">{{ details.accountName }}</a>\n </li>\n <li class=\"info-list__row\">\n <span>Opportunity Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.opportunityId)\">{{ details.opportunityName }}</a>\n </li>\n <li class=\"info-list__row\">\n <span>Quote Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.quoteId)\">{{ details.quoteName }}</a>\n </li>\n </ul>\n </div>\n </ng-template>\n </p-overlayPanel>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;height:48px;width:100%;background-color:var(--vl-primary-color);color:#fff;padding:0 32px;flex-shrink:0}::ng-deep .p-overlaypanel.flow-header-overlay .p-overlaypanel-content{background-color:#fff;padding:16px}::ng-deep .p-overlaypanel.flow-header-overlay:before{background-color:#fff}.vl-icon{display:inline-block}.object-name{text-transform:capitalize}.nav-back{font-weight:bold}nav{display:flex;align-items:center;cursor:pointer;padding:4px 0}nav .nav-icon{margin-right:10px}nav .icon-with-margin{margin:0 4px}nav a{color:#fff}nav.account-name{margin-left:4px;display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis}.dot-separator:after{content:\"\";display:block;width:4px;height:4px;border-radius:50%;background:#fff;margin:0 8px}.flow-header-overlay__wrapper{width:360px}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px}.close-icon{cursor:pointer}.info-list{list-style:none;padding:0;font-size:12px}.info-list__row{padding:8px 0;display:flex;justify-content:space-between}\n"], components: [{ type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i4$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2$1.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, decorators: [{
|
|
38
104
|
type: Component,
|
|
39
105
|
args: [{
|
|
@@ -42,18 +108,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
42
108
|
styleUrls: ['./header.component.scss'],
|
|
43
109
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
44
110
|
}]
|
|
45
|
-
}] });
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i2.ContextService }, { type: i1.SalesforceApiService }]; } });
|
|
46
112
|
|
|
47
113
|
class FlowHeaderModule {
|
|
48
114
|
}
|
|
49
115
|
FlowHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
50
|
-
FlowHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [CommonModule], exports: [FlowHeaderComponent] });
|
|
51
|
-
FlowHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, imports: [[CommonModule]] });
|
|
116
|
+
FlowHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule], exports: [FlowHeaderComponent] });
|
|
117
|
+
FlowHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, imports: [[CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule]] });
|
|
52
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, decorators: [{
|
|
53
119
|
type: NgModule,
|
|
54
120
|
args: [{
|
|
55
121
|
declarations: [FlowHeaderComponent],
|
|
56
|
-
imports: [CommonModule],
|
|
122
|
+
imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule],
|
|
57
123
|
exports: [FlowHeaderComponent],
|
|
58
124
|
}]
|
|
59
125
|
}] });
|
|
@@ -123,27 +189,23 @@ class RouterService {
|
|
|
123
189
|
return this.lastChildParams$;
|
|
124
190
|
}
|
|
125
191
|
}
|
|
126
|
-
RouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
192
|
+
RouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
193
|
RouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, providedIn: 'root' });
|
|
128
194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, decorators: [{
|
|
129
195
|
type: Injectable,
|
|
130
196
|
args: [{ providedIn: 'root' }]
|
|
131
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
197
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
132
198
|
|
|
133
199
|
class FlowComponent {
|
|
134
200
|
constructor(routerService, context) {
|
|
135
201
|
this.routerService = routerService;
|
|
136
202
|
this.context = context;
|
|
137
203
|
this.isLoading$ = this.routerService.loading$;
|
|
138
|
-
this.showHeader$ = this.routerService.route$.pipe(map(route =>
|
|
139
|
-
var _a;
|
|
140
|
-
const showHeader = ((_a = this.context.resolve()) === null || _a === void 0 ? void 0 : _a.properties.standalone) !== 'true';
|
|
141
|
-
return route.data.showHeader && showHeader;
|
|
142
|
-
}));
|
|
204
|
+
this.showHeader$ = this.routerService.route$.pipe(map(route => route.data.showHeader && !this.context.isStandalone));
|
|
143
205
|
}
|
|
144
206
|
}
|
|
145
207
|
FlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, deps: [{ token: RouterService }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
-
FlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowComponent, selector: "vl-flow", ngImport: i0, template: "<vl-flow-header *ngIf=\"showHeader$ | async\"></vl-flow-header>\n\n<div class=\"flow-content\">\n <div class=\"loading-overlay\" *ngIf=\"isLoading$ | async\">\n <vl-loader label=\"LOADING\"></vl-loader>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.flow-content{flex-grow:1;position:relative}.loading-overlay{position:absolute;height:100%;width:100%;left:0;right:0;top:0;bottom:0;background-color:#ffffff80;z-index:4}\n"], components: [{ type: FlowHeaderComponent, selector: "vl-flow-header" }, { type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }], directives: [{ type:
|
|
208
|
+
FlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowComponent, selector: "vl-flow", ngImport: i0, template: "<vl-flow-header *ngIf=\"showHeader$ | async\"></vl-flow-header>\n\n<div class=\"flow-content\">\n <div class=\"loading-overlay\" *ngIf=\"isLoading$ | async\">\n <vl-loader label=\"LOADING\"></vl-loader>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.flow-content{flex-grow:1;position:relative;padding:24px 54px;overflow:auto}.loading-overlay{position:absolute;height:100%;width:100%;left:0;right:0;top:0;bottom:0;background-color:#ffffff80;z-index:4}\n"], components: [{ type: FlowHeaderComponent, selector: "vl-flow-header" }, { type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
147
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, decorators: [{
|
|
148
210
|
type: Component,
|
|
149
211
|
args: [{
|
|
@@ -206,11 +268,11 @@ class ContextGuard {
|
|
|
206
268
|
return false;
|
|
207
269
|
}
|
|
208
270
|
}
|
|
209
|
-
ContextGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, deps: [{ token: i1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
271
|
+
ContextGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, deps: [{ token: i1$1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
210
272
|
ContextGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard });
|
|
211
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, decorators: [{
|
|
212
274
|
type: Injectable
|
|
213
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: RouterService }]; } });
|
|
275
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: RouterService }]; } });
|
|
214
276
|
|
|
215
277
|
class RootGuard {
|
|
216
278
|
constructor(router, routerService) {
|
|
@@ -242,12 +304,24 @@ class RootGuard {
|
|
|
242
304
|
return true;
|
|
243
305
|
}
|
|
244
306
|
}
|
|
245
|
-
RootGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, deps: [{ token: i1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
307
|
+
RootGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, deps: [{ token: i1$1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
246
308
|
RootGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, providedIn: 'root' });
|
|
247
309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, decorators: [{
|
|
248
310
|
type: Injectable,
|
|
249
311
|
args: [{ providedIn: 'root' }]
|
|
250
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: RouterService }]; } });
|
|
312
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: RouterService }]; } });
|
|
313
|
+
|
|
314
|
+
const getFlowObjectIdPropertyName = (objectName) => {
|
|
315
|
+
switch (objectName) {
|
|
316
|
+
case 'Account':
|
|
317
|
+
return 'accountId';
|
|
318
|
+
case 'Order':
|
|
319
|
+
return 'orderId';
|
|
320
|
+
case 'Quote':
|
|
321
|
+
default:
|
|
322
|
+
return 'quoteId';
|
|
323
|
+
}
|
|
324
|
+
};
|
|
251
325
|
|
|
252
326
|
class FlowService {
|
|
253
327
|
constructor(configurationSettingsApiService) {
|
|
@@ -263,11 +337,11 @@ class FlowService {
|
|
|
263
337
|
.pipe(map$1(({ value }) => (value ? JSON.parse(value) : [])));
|
|
264
338
|
}
|
|
265
339
|
}
|
|
266
|
-
FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, deps: [{ token: i1
|
|
340
|
+
FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, deps: [{ token: i1.ConfigurationSettingsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
267
341
|
FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService });
|
|
268
342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, decorators: [{
|
|
269
343
|
type: Injectable
|
|
270
|
-
}], ctorParameters: function () { return [{ type: i1
|
|
344
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
|
|
271
345
|
|
|
272
346
|
class DebugComponent {
|
|
273
347
|
constructor(flowService, router, activatedRoute, context) {
|
|
@@ -275,8 +349,10 @@ class DebugComponent {
|
|
|
275
349
|
this.router = router;
|
|
276
350
|
this.activatedRoute = activatedRoute;
|
|
277
351
|
this.context = context;
|
|
352
|
+
this.objectNames = ['Account', 'Quote', 'Order'];
|
|
278
353
|
this.form = new FormGroup({
|
|
279
354
|
id: new FormControl(''),
|
|
355
|
+
name: new FormControl('Quote'),
|
|
280
356
|
});
|
|
281
357
|
this.flows$ = this.flowService.fetchFlows().pipe(map(flows => flows.map(flow => {
|
|
282
358
|
var _a, _b, _c;
|
|
@@ -290,20 +366,21 @@ class DebugComponent {
|
|
|
290
366
|
})), shareReplay());
|
|
291
367
|
}
|
|
292
368
|
runFlow() {
|
|
293
|
-
const { id } = this.form.value;
|
|
369
|
+
const { id, name } = this.form.value;
|
|
370
|
+
const objectPropertyName = getFlowObjectIdPropertyName(name);
|
|
294
371
|
if (!id || !this.selectedFlow) {
|
|
295
372
|
return;
|
|
296
373
|
}
|
|
297
374
|
// Delete context before starting a new flow
|
|
298
375
|
this.context.delete();
|
|
299
376
|
this.router.navigate(['..', 'flows'], {
|
|
300
|
-
queryParams: Object.assign({ flowId: this.selectedFlow.id,
|
|
377
|
+
queryParams: Object.assign({ flowId: this.selectedFlow.id, [objectPropertyName]: id }, this.selectedFlow.queryParams),
|
|
301
378
|
relativeTo: this.activatedRoute,
|
|
302
379
|
});
|
|
303
380
|
}
|
|
304
381
|
}
|
|
305
|
-
DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, deps: [{ token: FlowService }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
-
DebugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DebugComponent, selector: "vl-flow-debug", ngImport: i0, template: "<form [formGroup]=\"form\">\n <div class=\"
|
|
382
|
+
DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, deps: [{ token: FlowService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
383
|
+
DebugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DebugComponent, selector: "vl-flow-debug", ngImport: i0, template: "<form [formGroup]=\"form\">\n <div class=\"fields-container\">\n <div class=\"field\">\n <label>SF Object ID</label>\n <input formControlName=\"id\" pInputText type=\"text\" />\n </div>\n\n <div class=\"field\">\n <label>SF Object Name</label>\n <p-dropdown\n appendTo=\"body\"\n formControlName=\"name\"\n [autoDisplayFirst]=\"false\"\n [options]=\"objectNames\"\n ></p-dropdown>\n </div>\n </div>\n\n <p-button\n styleClass=\"p-button-primary\"\n label=\"Run Flow\"\n [disabled]=\"!form.value.id || !selectedFlow\"\n (onClick)=\"runFlow()\"\n ></p-button>\n</form>\n\n<table>\n <thead>\n <tr>\n <th [width]=\"30\"></th>\n <th [width]=\"160\">ID</th>\n <th [width]=\"160\">Entry Path</th>\n <th>QueryParams</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async\" (click)=\"selectedFlow = flow\">\n <td><p-radioButton [inputId]=\"flow.id\" name=\"flow\" [value]=\"flow\" [(ngModel)]=\"selectedFlow\"></p-radioButton></td>\n <td>{{ flow.id }}</td>\n <td>{{ flow.entryPath }}</td>\n <td>{{ flow.queryParamsStr }}</td>\n </tr>\n </tbody>\n</table>\n", styles: ["form{display:flex;align-items:center;justify-content:space-between}.fields-container{display:flex;grid-gap:24px;gap:24px}.field{display:flex;flex-direction:column;width:200px;flex-shrink:0}:host ::ng-deep .p-dropdown{width:100%}table{width:100%;border-collapse:collapse}tr{cursor:pointer}tr:hover{background-color:#f0f5fa}th{text-align:left;font-weight:600}th,td{padding:0 10px;height:30px;border-bottom:1px solid var(--vl-border-color);margin-right:16px}\n"], components: [{ type: i4$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i5$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i6.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i8.InputText, selector: "[pInputText]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
307
384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, decorators: [{
|
|
308
385
|
type: Component,
|
|
309
386
|
args: [{
|
|
@@ -312,7 +389,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
312
389
|
styleUrls: ['./debug.component.scss'],
|
|
313
390
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
314
391
|
}]
|
|
315
|
-
}], ctorParameters: function () { return [{ type: FlowService }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ContextService }]; } });
|
|
392
|
+
}], ctorParameters: function () { return [{ type: FlowService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: i2.ContextService }]; } });
|
|
316
393
|
|
|
317
394
|
const routes$1 = [{ path: '', component: DebugComponent }];
|
|
318
395
|
class DebugModule {
|
|
@@ -320,9 +397,10 @@ class DebugModule {
|
|
|
320
397
|
DebugModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
321
398
|
DebugModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, declarations: [DebugComponent], imports: [CommonModule,
|
|
322
399
|
FormsModule,
|
|
323
|
-
ReactiveFormsModule, i1.RouterModule, RadioButtonModule,
|
|
400
|
+
ReactiveFormsModule, i1$1.RouterModule, RadioButtonModule,
|
|
324
401
|
ButtonModule,
|
|
325
|
-
InputTextModule
|
|
402
|
+
InputTextModule,
|
|
403
|
+
DropdownModule] });
|
|
326
404
|
DebugModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, imports: [[
|
|
327
405
|
CommonModule,
|
|
328
406
|
FormsModule,
|
|
@@ -331,6 +409,7 @@ DebugModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
|
|
|
331
409
|
RadioButtonModule,
|
|
332
410
|
ButtonModule,
|
|
333
411
|
InputTextModule,
|
|
412
|
+
DropdownModule,
|
|
334
413
|
]] });
|
|
335
414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, decorators: [{
|
|
336
415
|
type: NgModule,
|
|
@@ -344,6 +423,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
344
423
|
RadioButtonModule,
|
|
345
424
|
ButtonModule,
|
|
346
425
|
InputTextModule,
|
|
426
|
+
DropdownModule,
|
|
347
427
|
],
|
|
348
428
|
}]
|
|
349
429
|
}] });
|
|
@@ -364,7 +444,7 @@ class LegacyProductComponent {
|
|
|
364
444
|
}
|
|
365
445
|
ngOnInit() {
|
|
366
446
|
this.quoteService.quote$
|
|
367
|
-
.pipe(first(), takeUntil(this.destroyed$))
|
|
447
|
+
.pipe(first(), takeUntil$1(this.destroyed$))
|
|
368
448
|
.subscribe(quote => this.init(quote, this.route.snapshot.queryParams));
|
|
369
449
|
this.runtimeService.onSolutionStopEvent.pipe(take(1)).subscribe(lineItem => this.onSolutionStop(lineItem));
|
|
370
450
|
this.runtimeService.onSolutionReadyEvent.pipe(take(1)).subscribe(event => this.onSolutionReady(event));
|
|
@@ -379,7 +459,7 @@ class LegacyProductComponent {
|
|
|
379
459
|
lineItem.actionCode = (_a = lineItem.actionCode) !== null && _a !== void 0 ? _a : 'ADD';
|
|
380
460
|
}
|
|
381
461
|
onSolutionCancel() {
|
|
382
|
-
this.quoteService.quote$.pipe(first(), takeUntil(this.destroyed$)).subscribe(quote => {
|
|
462
|
+
this.quoteService.quote$.pipe(first(), takeUntil$1(this.destroyed$)).subscribe(quote => {
|
|
383
463
|
window['VELO_BACK_FN'].apply(null, [quote.quoteId]);
|
|
384
464
|
});
|
|
385
465
|
}
|
|
@@ -392,7 +472,7 @@ class LegacyProductComponent {
|
|
|
392
472
|
this.runtimeService.updateRuntime(states);
|
|
393
473
|
}
|
|
394
474
|
onSolutionStop(lineItem) {
|
|
395
|
-
this.quoteService.quote$.pipe(first(), takeUntil(this.destroyed$)).subscribe(quote => {
|
|
475
|
+
this.quoteService.quote$.pipe(first(), takeUntil$1(this.destroyed$)).subscribe(quote => {
|
|
396
476
|
const quoteToUpsert = Object.assign(Object.assign({}, quote), { context: this.contextService.resolve(), currentState: [...(this.currentStateService.currentState || []).filter(li => li.id !== lineItem.id), lineItem] });
|
|
397
477
|
this.quoteApiService
|
|
398
478
|
.upsertQuote(quoteToUpsert)
|
|
@@ -456,7 +536,7 @@ class LegacyProductComponent {
|
|
|
456
536
|
}), switchMap(runtimeContext => this.customizeContext(productId, runtimeContext)));
|
|
457
537
|
}
|
|
458
538
|
}
|
|
459
|
-
LegacyProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.QuoteService }, { token: i1
|
|
539
|
+
LegacyProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.QuoteService }, { token: i1.QuoteApiService }, { token: i2.ContextService }, { token: i2.RuntimeContextService }, { token: i2.RuntimeService }, { token: i2.CurrentStateService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
460
540
|
LegacyProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: LegacyProductComponent, selector: "ng-component", ngImport: i0, template: "<vl-runtime #runtimeView (solutionUpdated)=\"onSolutionUpdated($event)\"></vl-runtime>\n", styles: [":host{display:block;height:100%}\n"], components: [{ type: i2.RuntimeComponent, selector: "vl-runtime", outputs: ["solutionUpdated"] }] });
|
|
461
541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, decorators: [{
|
|
462
542
|
type: Component,
|
|
@@ -464,7 +544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
464
544
|
templateUrl: './legacy-product.component.html',
|
|
465
545
|
styleUrls: ['./legacy-product.component.scss'],
|
|
466
546
|
}]
|
|
467
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.QuoteService }, { type: i1
|
|
547
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.QuoteService }, { type: i1.QuoteApiService }, { type: i2.ContextService }, { type: i2.RuntimeContextService }, { type: i2.RuntimeService }, { type: i2.CurrentStateService }, { type: undefined, decorators: [{
|
|
468
548
|
type: Optional
|
|
469
549
|
}, {
|
|
470
550
|
type: Inject,
|
|
@@ -475,12 +555,12 @@ class LegacyProductModule {
|
|
|
475
555
|
}
|
|
476
556
|
LegacyProductModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
477
557
|
LegacyProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [CommonModule, RuntimeModule, i1$2.TooltipModule], exports: [LegacyProductComponent] });
|
|
478
|
-
LegacyProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, imports: [[CommonModule, RuntimeModule, TooltipModule.forRoot()]] });
|
|
558
|
+
LegacyProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, imports: [[CommonModule, RuntimeModule, TooltipModule$1.forRoot()]] });
|
|
479
559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, decorators: [{
|
|
480
560
|
type: NgModule,
|
|
481
561
|
args: [{
|
|
482
562
|
declarations: [LegacyProductComponent],
|
|
483
|
-
imports: [CommonModule, RuntimeModule, TooltipModule.forRoot()],
|
|
563
|
+
imports: [CommonModule, RuntimeModule, TooltipModule$1.forRoot()],
|
|
484
564
|
exports: [LegacyProductComponent],
|
|
485
565
|
}]
|
|
486
566
|
}] });
|
|
@@ -498,7 +578,7 @@ class ProductComponent {
|
|
|
498
578
|
}
|
|
499
579
|
ngOnInit() {
|
|
500
580
|
this.quoteService.quote$
|
|
501
|
-
.pipe(first$1(), takeUntil
|
|
581
|
+
.pipe(first$1(), takeUntil(this.destroy$))
|
|
502
582
|
.subscribe(quote => this.init(quote, this.route.snapshot.queryParams));
|
|
503
583
|
}
|
|
504
584
|
ngOnDestroy() {
|
|
@@ -539,7 +619,7 @@ class ProductComponent {
|
|
|
539
619
|
}
|
|
540
620
|
this.state$.next({ loading: false, failure: true });
|
|
541
621
|
return of();
|
|
542
|
-
}), takeUntil
|
|
622
|
+
}), takeUntil(this.destroy$))
|
|
543
623
|
.subscribe();
|
|
544
624
|
}
|
|
545
625
|
getLineItemId(quote, queryParams) {
|
|
@@ -552,8 +632,8 @@ class ProductComponent {
|
|
|
552
632
|
.find(id => id);
|
|
553
633
|
}
|
|
554
634
|
}
|
|
555
|
-
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, deps: [{ token: i1$3.ConfigurationRuntimeService }, { token: i1$3.ConfigurationService }, { token: i2.QuoteService }, { token: i1.ActivatedRoute }, { token: i4$1.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
556
|
-
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], components: [{ type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$3.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type:
|
|
635
|
+
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, deps: [{ token: i1$3.ConfigurationRuntimeService }, { token: i1$3.ConfigurationService }, { token: i2.QuoteService }, { token: i1$1.ActivatedRoute }, { token: i4$1.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
636
|
+
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], components: [{ type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$3.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
557
637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, decorators: [{
|
|
558
638
|
type: Component,
|
|
559
639
|
args: [{
|
|
@@ -562,7 +642,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
562
642
|
styleUrls: ['./product.component.scss'],
|
|
563
643
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
564
644
|
}]
|
|
565
|
-
}], ctorParameters: function () { return [{ type: i1$3.ConfigurationRuntimeService }, { type: i1$3.ConfigurationService }, { type: i2.QuoteService }, { type: i1.ActivatedRoute }, { type: i4$1.MessageService }, { type: undefined, decorators: [{
|
|
645
|
+
}], ctorParameters: function () { return [{ type: i1$3.ConfigurationRuntimeService }, { type: i1$3.ConfigurationService }, { type: i2.QuoteService }, { type: i1$1.ActivatedRoute }, { type: i4$1.MessageService }, { type: undefined, decorators: [{
|
|
566
646
|
type: Optional
|
|
567
647
|
}, {
|
|
568
648
|
type: Inject,
|
|
@@ -596,8 +676,8 @@ class RecordNotFoundComponent {
|
|
|
596
676
|
}
|
|
597
677
|
}
|
|
598
678
|
}
|
|
599
|
-
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
600
|
-
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", 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 class=\"msg\">\n <div *ngIf=\"message; else defaultMessage\" class=\"message-title\">\n <p>{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"message-title\">{{ subMessage }}</p>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n </div>\n</div>\n", directives: [{ type:
|
|
679
|
+
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
680
|
+
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", 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 class=\"msg\">\n <div *ngIf=\"message; else defaultMessage\" class=\"message-title\">\n <p>{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"message-title\">{{ subMessage }}</p>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n </div>\n</div>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
601
681
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
|
|
602
682
|
type: Component,
|
|
603
683
|
args: [{
|
|
@@ -605,13 +685,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
605
685
|
templateUrl: './record-not-found.component.html',
|
|
606
686
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
607
687
|
}]
|
|
608
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
688
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
609
689
|
|
|
610
690
|
const routes = [{ path: '', component: RecordNotFoundComponent }];
|
|
611
691
|
class RecordNotFoundModule {
|
|
612
692
|
}
|
|
613
693
|
RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
614
|
-
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1.RouterModule] });
|
|
694
|
+
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1$1.RouterModule] });
|
|
615
695
|
RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, imports: [[CommonModule, RouterModule.forChild(routes)]] });
|
|
616
696
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, decorators: [{
|
|
617
697
|
type: NgModule,
|
|
@@ -644,7 +724,7 @@ class ShoppingCartComponent {
|
|
|
644
724
|
this.toastService.add({ severity: ToastType.error, summary: 'Failed to resolve Shopping Cart component' });
|
|
645
725
|
this.state$.next({ loading: false, failure: true });
|
|
646
726
|
throw err;
|
|
647
|
-
}), takeUntil
|
|
727
|
+
}), takeUntil(this.destroyed$))
|
|
648
728
|
.subscribe(() => this.cdr.detectChanges());
|
|
649
729
|
}
|
|
650
730
|
ngOnDestroy() {
|
|
@@ -692,8 +772,8 @@ class ShoppingCartComponent {
|
|
|
692
772
|
}));
|
|
693
773
|
}
|
|
694
774
|
}
|
|
695
|
-
ShoppingCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, deps: [{ token: i1
|
|
696
|
-
ShoppingCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ShoppingCartComponent, selector: "vl-flow-shopping-cart", ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], components: [{ type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$3.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type:
|
|
775
|
+
ShoppingCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, deps: [{ token: i1.UITemplatesApiService }, { token: i0.ChangeDetectorRef }, { token: i2$1.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
776
|
+
ShoppingCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ShoppingCartComponent, selector: "vl-flow-shopping-cart", ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], components: [{ type: i2$1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$3.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
697
777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, decorators: [{
|
|
698
778
|
type: Component,
|
|
699
779
|
args: [{
|
|
@@ -702,7 +782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
702
782
|
styleUrls: ['./shopping-cart.component.scss'],
|
|
703
783
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
704
784
|
}]
|
|
705
|
-
}], ctorParameters: function () { return [{ type: i1
|
|
785
|
+
}], ctorParameters: function () { return [{ type: i1.UITemplatesApiService }, { type: i0.ChangeDetectorRef }, { type: i2$1.ToastService }, { type: undefined, decorators: [{
|
|
706
786
|
type: Optional
|
|
707
787
|
}, {
|
|
708
788
|
type: Inject,
|
|
@@ -751,11 +831,11 @@ class ContextResolver {
|
|
|
751
831
|
}));
|
|
752
832
|
}
|
|
753
833
|
}
|
|
754
|
-
ContextResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, deps: [{ token: i2.ContextService }, { token: i1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
834
|
+
ContextResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, deps: [{ token: i2.ContextService }, { token: i1$1.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
755
835
|
ContextResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver });
|
|
756
836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, decorators: [{
|
|
757
837
|
type: Injectable
|
|
758
|
-
}], ctorParameters: function () { return [{ type: i2.ContextService }, { type: i1.Router }, { type: RouterService }]; } });
|
|
838
|
+
}], ctorParameters: function () { return [{ type: i2.ContextService }, { type: i1$1.Router }, { type: RouterService }]; } });
|
|
759
839
|
|
|
760
840
|
class FlowResolver {
|
|
761
841
|
constructor(router, flowService, routerService) {
|
|
@@ -802,22 +882,36 @@ class FlowResolver {
|
|
|
802
882
|
}));
|
|
803
883
|
}
|
|
804
884
|
}
|
|
805
|
-
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, deps: [{ token: i1.Router }, { token: FlowService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
885
|
+
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, deps: [{ token: i1$1.Router }, { token: FlowService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
806
886
|
FlowResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver });
|
|
807
887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, decorators: [{
|
|
808
888
|
type: Injectable
|
|
809
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: FlowService }, { type: RouterService }]; } });
|
|
889
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: FlowService }, { type: RouterService }]; } });
|
|
810
890
|
|
|
811
891
|
class QuoteResolver {
|
|
812
|
-
constructor(router, quoteService, routerService) {
|
|
892
|
+
constructor(router, quoteService, routerService, contextService, flowConfiguration) {
|
|
813
893
|
this.router = router;
|
|
814
894
|
this.quoteService = quoteService;
|
|
815
895
|
this.routerService = routerService;
|
|
896
|
+
this.contextService = contextService;
|
|
897
|
+
this.flowConfiguration = flowConfiguration;
|
|
816
898
|
}
|
|
817
899
|
handleError(route, message) {
|
|
818
900
|
const parentUrl = this.routerService.getFlowRootPath(route);
|
|
819
901
|
return from(this.router.navigate([parentUrl, '404'], { state: { message } }));
|
|
820
902
|
}
|
|
903
|
+
initFlow$() {
|
|
904
|
+
if (this.contextService.isStandalone) {
|
|
905
|
+
return of(undefined);
|
|
906
|
+
}
|
|
907
|
+
const quoteDraft = this.quoteService.getQuote();
|
|
908
|
+
if (quoteDraft) {
|
|
909
|
+
return this.flowConfiguration.calculate$(quoteDraft.currentState);
|
|
910
|
+
}
|
|
911
|
+
else {
|
|
912
|
+
return of(undefined);
|
|
913
|
+
}
|
|
914
|
+
}
|
|
821
915
|
resolve(route) {
|
|
822
916
|
const { headerId } = route.data;
|
|
823
917
|
const quote = this.quoteService.getQuote();
|
|
@@ -825,17 +919,17 @@ class QuoteResolver {
|
|
|
825
919
|
return of(true);
|
|
826
920
|
}
|
|
827
921
|
const { queryParams } = route;
|
|
828
|
-
return this.quoteService.init(headerId, queryParams).pipe(catchError(e => {
|
|
922
|
+
return this.quoteService.init(headerId, queryParams).pipe(switchMap$1(() => this.initFlow$()), catchError(e => {
|
|
829
923
|
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
830
924
|
return this.handleError(route, message);
|
|
831
925
|
}));
|
|
832
926
|
}
|
|
833
927
|
}
|
|
834
|
-
QuoteResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, deps: [{ token: i1.Router }, { token: i2.QuoteService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
928
|
+
QuoteResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, deps: [{ token: i1$1.Router }, { token: i2.QuoteService }, { token: RouterService }, { token: i2.ContextService }, { token: i1$3.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
835
929
|
QuoteResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver });
|
|
836
930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, decorators: [{
|
|
837
931
|
type: Injectable
|
|
838
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.QuoteService }, { type: RouterService }]; } });
|
|
932
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.QuoteService }, { type: RouterService }, { type: i2.ContextService }, { type: i1$3.FlowConfigurationService }]; } });
|
|
839
933
|
|
|
840
934
|
const rootRoute = {
|
|
841
935
|
id: VELOCE_FLOW_ROOT_ROUTE,
|
|
@@ -892,7 +986,7 @@ const rootRoute = {
|
|
|
892
986
|
class FlowRoutingModule {
|
|
893
987
|
}
|
|
894
988
|
FlowRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
895
|
-
FlowRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, imports: [i1.RouterModule, ProductModule, LegacyProductModule, ShoppingCartModule], exports: [RouterModule] });
|
|
989
|
+
FlowRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, imports: [i1$1.RouterModule, ProductModule, LegacyProductModule, ShoppingCartModule], exports: [RouterModule] });
|
|
896
990
|
FlowRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, providers: [RouterService, RootGuard, ContextGuard, ContextResolver, FlowResolver, QuoteResolver], imports: [[RouterModule.forChild([rootRoute]), ProductModule, LegacyProductModule, ShoppingCartModule], RouterModule] });
|
|
897
991
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, decorators: [{
|
|
898
992
|
type: NgModule,
|
|
@@ -921,5 +1015,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
921
1015
|
* Generated bundle index. Do not edit.
|
|
922
1016
|
*/
|
|
923
1017
|
|
|
924
|
-
export { ContextGuard, FLOW_CUSTOMIZATION, FlowModule, FlowService, VELOCE_FLOW_ROOT_ROUTE };
|
|
1018
|
+
export { ContextGuard, FLOW_CUSTOMIZATION, FlowModule, FlowService, VELOCE_FLOW_ROOT_ROUTE, getFlowObjectIdPropertyName };
|
|
925
1019
|
//# sourceMappingURL=veloce-sdk.js.map
|