@veloceapps/sdk 3.0.5 → 3.0.7
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 +176 -38
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk-runtime.umd.js +11 -15
- package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +205 -123
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/modules/configuration/types/configuration.types.d.ts +2 -3
- package/cms/modules/flow-configuration/index.d.ts +2 -0
- package/cms/modules/flow-configuration/services/flow-configuration.service.d.ts +10 -1
- package/cms/modules/flow-configuration/services/flow-update.service.d.ts +13 -0
- package/cms/modules/flow-configuration/types/update.types.d.ts +12 -0
- package/cms/utils/line-item.utils.d.ts +1 -0
- package/esm2015/cms/modules/configuration/services/configuration-runtime.service.js +10 -11
- package/esm2015/cms/modules/configuration/services/configuration.service.js +4 -3
- package/esm2015/cms/modules/configuration/services/runtime-context.service.js +4 -5
- package/esm2015/cms/modules/configuration/types/configuration.types.js +1 -1
- package/esm2015/cms/modules/flow-configuration/flow-configuration.module.js +4 -3
- package/esm2015/cms/modules/flow-configuration/index.js +3 -1
- package/esm2015/cms/modules/flow-configuration/services/flow-configuration.service.js +31 -12
- package/esm2015/cms/modules/flow-configuration/services/flow-update.service.js +97 -0
- package/esm2015/cms/modules/flow-configuration/types/update.types.js +2 -0
- package/esm2015/cms/utils/line-item.utils.js +14 -4
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +2 -10
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +1 -1
- package/esm2015/runtime/services/quote.service.js +10 -6
- package/esm2015/src/components/header/cart-overlay/cart-overlay.component.js +60 -0
- package/esm2015/src/components/header/cart-overlay/cart-overlay.module.js +21 -0
- package/esm2015/src/components/header/header.component.js +20 -11
- package/esm2015/src/components/header/header.module.js +6 -4
- package/esm2015/src/components/header/header.types.js +1 -1
- package/esm2015/src/flow.component.js +1 -1
- package/esm2015/src/pages/debug/debug.component.js +16 -11
- package/fesm2015/veloce-sdk-cms.js +157 -34
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-runtime.js +10 -14
- package/fesm2015/veloce-sdk-runtime.js.map +1 -1
- package/fesm2015/veloce-sdk.js +137 -63
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
- package/runtime/execution/directives/vl-ramp.directive.d.ts +1 -1
- package/runtime/services/quote.service.d.ts +4 -3
- package/src/components/header/cart-overlay/cart-overlay.component.d.ts +21 -0
- package/src/components/header/cart-overlay/cart-overlay.module.d.ts +11 -0
- package/src/components/header/header.component.d.ts +9 -5
- package/src/components/header/header.module.d.ts +3 -1
- package/src/components/header/header.types.d.ts +1 -0
- package/src/pages/debug/debug.component.d.ts +5 -2
package/fesm2015/veloce-sdk.js
CHANGED
|
@@ -1,52 +1,119 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i7 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, ChangeDetectionStrategy, NgModule, Injectable, InjectionToken, Optional, Inject } from '@angular/core';
|
|
5
|
-
import * as i1 from '@veloce/api';
|
|
4
|
+
import { Component, ChangeDetectionStrategy, ViewChild, NgModule, Injectable, InjectionToken, Optional, Inject } from '@angular/core';
|
|
5
|
+
import * as i1$2 from '@veloce/api';
|
|
6
6
|
import { ApiModule } from '@veloce/api';
|
|
7
|
-
import * as i2
|
|
7
|
+
import * as i2 from '@veloce/components';
|
|
8
8
|
import { LetDirectiveModule, LoaderModule, ToastType } from '@veloce/components';
|
|
9
|
-
import * as i1$
|
|
9
|
+
import * as i1$1 from '@veloce/sdk/cms';
|
|
10
10
|
import { PreviewModule, LauncherModule } from '@veloce/sdk/cms';
|
|
11
|
-
import * as i2 from '@veloce/sdk/runtime';
|
|
11
|
+
import * as i2$1 from '@veloce/sdk/runtime';
|
|
12
12
|
import { RuntimeOperation, RuntimeModule, ContextService } from '@veloce/sdk/runtime';
|
|
13
|
+
import * as i6 from 'primeng/button';
|
|
14
|
+
import { ButtonModule } from 'primeng/button';
|
|
13
15
|
import * as i3 from 'primeng/overlaypanel';
|
|
14
|
-
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
15
|
-
import * as
|
|
16
|
+
import { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';
|
|
17
|
+
import * as i8 from 'primeng/tooltip';
|
|
16
18
|
import { TooltipModule } from 'primeng/tooltip';
|
|
19
|
+
import { BehaviorSubject, Subject, map, distinctUntilChanged, noop, catchError, of, tap, takeUntil, filter, shareReplay, startWith, first as first$1, switchMap as switchMap$1, from } from 'rxjs';
|
|
20
|
+
import * as i1 from '@veloce/core';
|
|
17
21
|
import { ConfigurationContextMode, EntityUtil, UITemplateComponentType, UITemplateType } from '@veloce/core';
|
|
18
|
-
import
|
|
19
|
-
import * as
|
|
20
|
-
import * as i1$1 from '@angular/router';
|
|
22
|
+
import * as i4 from 'primeng/api';
|
|
23
|
+
import * as i1$3 from '@angular/router';
|
|
21
24
|
import { NavigationEnd, NavigationStart, NavigationCancel, NavigationError, RouterModule } from '@angular/router';
|
|
22
|
-
import * as
|
|
25
|
+
import * as i8$1 from '@angular/forms';
|
|
23
26
|
import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
24
|
-
import * as i5
|
|
25
|
-
import { ButtonModule } from 'primeng/button';
|
|
26
|
-
import * as i4$2 from 'primeng/dropdown';
|
|
27
|
+
import * as i5 from 'primeng/dropdown';
|
|
27
28
|
import { DropdownModule } from 'primeng/dropdown';
|
|
28
|
-
import * as
|
|
29
|
+
import * as i9 from 'primeng/inputtext';
|
|
29
30
|
import { InputTextModule } from 'primeng/inputtext';
|
|
30
|
-
import * as
|
|
31
|
+
import * as i7$1 from 'primeng/radiobutton';
|
|
31
32
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
32
33
|
import { map as map$1, first, takeUntil as takeUntil$1, take, switchMap, tap as tap$1, catchError as catchError$1 } from 'rxjs/operators';
|
|
33
|
-
import * as i1$
|
|
34
|
+
import * as i1$4 from 'ngx-bootstrap/tooltip';
|
|
34
35
|
import { TooltipModule as TooltipModule$1 } from 'ngx-bootstrap/tooltip';
|
|
35
36
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
36
37
|
|
|
37
38
|
const VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';
|
|
38
39
|
|
|
40
|
+
class HeaderCartOverlayComponent {
|
|
41
|
+
constructor(baseHttpService, flowConfiguration) {
|
|
42
|
+
this.baseHttpService = baseHttpService;
|
|
43
|
+
this.flowConfiguration = flowConfiguration;
|
|
44
|
+
this.imagesMap$ = new BehaviorSubject({});
|
|
45
|
+
this.destroyed$ = new Subject();
|
|
46
|
+
this.products$ = this.flowConfiguration.get();
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
this.destroyed$.next();
|
|
50
|
+
this.destroyed$.complete();
|
|
51
|
+
}
|
|
52
|
+
getImageUrl(productId) {
|
|
53
|
+
if (this.imagesMap$.value[productId] == null) {
|
|
54
|
+
this.imagesMap$.next(Object.assign(Object.assign({}, this.imagesMap$.value), { [productId]: '' }));
|
|
55
|
+
this.fetchProductImage(productId);
|
|
56
|
+
}
|
|
57
|
+
return this.imagesMap$.pipe(map(imagesMap => imagesMap[productId]), distinctUntilChanged());
|
|
58
|
+
}
|
|
59
|
+
isConfigurable(lineItem) {
|
|
60
|
+
return lineItem.properties['#configurable'] === 'true';
|
|
61
|
+
}
|
|
62
|
+
fetchProductImage(productId) {
|
|
63
|
+
this.baseHttpService
|
|
64
|
+
.api({
|
|
65
|
+
url: `/products/${productId}/image`,
|
|
66
|
+
method: 'get',
|
|
67
|
+
responseType: 'blob',
|
|
68
|
+
errorHandler: noop,
|
|
69
|
+
})
|
|
70
|
+
.pipe(map(file => URL.createObjectURL(file)), catchError(() => of('')), tap(url => this.imagesMap$.next(Object.assign(Object.assign({}, this.imagesMap$.value), { [productId]: url }))), takeUntil(this.destroyed$))
|
|
71
|
+
.subscribe();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
HeaderCartOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayComponent, deps: [{ token: i1.BaseHttpService }, { token: i1$1.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
HeaderCartOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: HeaderCartOverlayComponent, selector: "vl-header-cart-overlay", viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<p-overlayPanel\n styleClass=\"navigation-settings-overlay flow-header-overlay center\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"products$ | async as products\">\n <ng-container *ngIf=\"products.length > 0; else empty\">\n <h2 class=\"flow-header-overlay__title\">\n <span>Products ({{ products.length }})</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"overlayPanel.hide()\"></i>\n </h2>\n\n <div class=\"product header\">\n <span>Product</span>\n <span class=\"text-right\">Qty</span>\n <span class=\"text-right\">MRR</span>\n <span class=\"text-right\">NRR</span>\n </div>\n\n <div class=\"scrollable-wrapper\">\n <div class=\"product\" *ngFor=\"let product of products\">\n <div class=\"product__info\">\n <div class=\"product__image-wrapper\">\n <div\n *ngIf=\"getImageUrl(product.productId) | async as imageUrl; else noImage\"\n class=\"product__image\"\n [ngStyle]=\"{ 'background-image': 'url(' + imageUrl + ')' }\"\n ></div>\n </div>\n <div class=\"flex flex-column justify-content-center\">\n <div class=\"word-break\">{{ product.name }}</div>\n <div>\n <p-button\n [disabled]=\"!isConfigurable(product)\"\n label=\"Configure\"\n styleClass=\"p-button-link p-button-sm pl-0\"\n ></p-button>\n <p-button label=\"Delete\" styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"></p-button>\n </div>\n </div>\n </div>\n\n <span class=\"text-right pt-3\">{{ product.qty }}</span>\n <span class=\"text-right pt-3\">$0.00</span>\n <span class=\"text-right pt-3\">$0.00</span>\n </div>\n\n <ng-template #noImage>\n <i class=\"vl-icon vl-icon-no-image no-image-icon\"></i>\n </ng-template>\n </div>\n\n <div class=\"flex justify-content-end mt-3\">\n <p-button label=\"Clear cart\" styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"></p-button>\n </div>\n </ng-container>\n\n <ng-template #empty>\n <h2 class=\"flow-header-overlay__title\">\n <span>Empty Cart</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"overlayPanel.hide()\"></i>\n </h2>\n\n <span class=\"empty-state\">There are no products added to the Shopping Cart yet.</span>\n </ng-template>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".flow-header-overlay__wrapper{display:flex;flex-direction:column;width:460px;max-height:600px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.empty-state{color:var(--vl-text-color-deep-accent)}.scrollable-wrapper{overflow:auto}.product{display:grid;grid-template-columns:auto 60px 80px 80px;padding:16px 0}.product:not(.header){border-bottom:1px solid var(--vl-border-color)}.product.header{color:var(--vl-text-color-deep-accent)}.product__info{display:flex;grid-gap:16px;gap:16px}.product__image-wrapper{flex-shrink:0;height:64px;width:64px;display:flex;justify-content:center;align-items:center;background:var(--vl-primary-nav-overlay-bg);border-radius:4px}.product__image{background-size:contain;background-repeat:no-repeat;background-position:center;height:calc(100% - 12px);width:calc(100% - 12px)}.word-break{word-break:break-word}.no-image-icon{color:#b4d1ef;height:18px;width:18px}\n"], components: [{ type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{
|
|
79
|
+
selector: 'vl-header-cart-overlay',
|
|
80
|
+
templateUrl: './cart-overlay.component.html',
|
|
81
|
+
styleUrls: ['./cart-overlay.component.scss'],
|
|
82
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }, { type: i1$1.FlowConfigurationService }]; }, propDecorators: { overlayPanel: [{
|
|
85
|
+
type: ViewChild,
|
|
86
|
+
args: [OverlayPanel]
|
|
87
|
+
}] } });
|
|
88
|
+
|
|
89
|
+
class HeaderCartOverlayModule {
|
|
90
|
+
}
|
|
91
|
+
HeaderCartOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
92
|
+
HeaderCartOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayModule, declarations: [HeaderCartOverlayComponent], imports: [CommonModule, ButtonModule, OverlayPanelModule, LetDirectiveModule], exports: [HeaderCartOverlayComponent] });
|
|
93
|
+
HeaderCartOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayModule, imports: [[CommonModule, ButtonModule, OverlayPanelModule, LetDirectiveModule]] });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderCartOverlayModule, decorators: [{
|
|
95
|
+
type: NgModule,
|
|
96
|
+
args: [{
|
|
97
|
+
declarations: [HeaderCartOverlayComponent],
|
|
98
|
+
imports: [CommonModule, ButtonModule, OverlayPanelModule, LetDirectiveModule],
|
|
99
|
+
exports: [HeaderCartOverlayComponent],
|
|
100
|
+
}]
|
|
101
|
+
}] });
|
|
102
|
+
|
|
39
103
|
class FlowHeaderComponent {
|
|
40
|
-
constructor(context, sfApiService) {
|
|
104
|
+
constructor(context, quoteService, sfApiService, flowConfiguration) {
|
|
41
105
|
var _a, _b, _c;
|
|
42
106
|
this.context = context;
|
|
107
|
+
this.quoteService = quoteService;
|
|
43
108
|
this.sfApiService = sfApiService;
|
|
109
|
+
this.flowConfiguration = flowConfiguration;
|
|
44
110
|
this.objectDetails$ = new BehaviorSubject({});
|
|
45
111
|
this.destroyed$ = new Subject();
|
|
46
112
|
const ctx = this.context.resolve();
|
|
47
113
|
this.mode = ctx === null || ctx === void 0 ? void 0 : ctx.mode;
|
|
48
114
|
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
115
|
this.contextProperties = (_c = ctx === null || ctx === void 0 ? void 0 : ctx.properties) !== null && _c !== void 0 ? _c : {};
|
|
116
|
+
this.selectedProductsNumber$ = this.flowConfiguration.get().pipe(map(lineItems => lineItems.length));
|
|
50
117
|
}
|
|
51
118
|
ngOnInit() {
|
|
52
119
|
this.populateObjectDetails();
|
|
@@ -86,20 +153,23 @@ class FlowHeaderComponent {
|
|
|
86
153
|
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
154
|
}
|
|
88
155
|
populateObjectDetails() {
|
|
156
|
+
var _a;
|
|
89
157
|
const accountId = this.isAccountMode ? this.contextProperties.Id : this.contextProperties.AccountId;
|
|
90
158
|
const opportunityId = this.contextProperties.OpportunityId;
|
|
91
159
|
const quoteId = this.isQuoteMode ? this.contextProperties.Id : undefined;
|
|
92
160
|
const quoteName = this.isQuoteMode ? this.contextProperties.Name : undefined;
|
|
161
|
+
const priceListName = (_a = this.quoteService.quotePriceList) === null || _a === void 0 ? void 0 : _a.name;
|
|
93
162
|
this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountId,
|
|
94
163
|
opportunityId,
|
|
95
164
|
quoteId,
|
|
96
|
-
quoteName
|
|
165
|
+
quoteName,
|
|
166
|
+
priceListName }));
|
|
97
167
|
this.queryName$('Account', accountId).subscribe(accountName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountName })));
|
|
98
168
|
this.queryName$('Opportunity', opportunityId).subscribe(opportunityName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { opportunityName })));
|
|
99
169
|
}
|
|
100
170
|
}
|
|
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
|
|
171
|
+
FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, deps: [{ token: i2$1.ContextService }, { token: i2$1.QuoteService }, { token: i1$2.SalesforceApiService }, { token: i1$1.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
172
|
+
FlowHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0, template: "<div class=\"flow-info\">\n <nav class=\"nav-item nav-back\" (click)=\"back()\">\n <i class=\"nav-icon vl-icon vl-icon-arrow-left\"></i>\n\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\n <span>Account name</span>\n\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\n <span>Quote #{{ contextProperties.QuoteNumber }}</span>\n\n <span class=\"dot-separator\"></span>\n\n <nav class=\"nav-item\" (click)=\"quoteDetails.toggle($event)\">\n <span>{{ contextProperties.Status }}</span>\n\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 center\" #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)\">{{\n details.opportunityName\n }}</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</div>\n\n<div class=\"flow-navigation\">\n <nav class=\"nav-item disabled\">Catalog</nav>\n <nav class=\"nav-item disabled\">Configurator</nav>\n <ng-container *vlLet=\"selectedProductsNumber$ | async as selectedProductsNumber\">\n <nav class=\"nav-item active\">Shopping Cart ({{ selectedProductsNumber }})</nav>\n\n <nav class=\"nav-popover-toggle active\" (click)=\"cart?.overlayPanel?.toggle($event)\">\n <i *ngIf=\"!cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <vl-header-cart-overlay #cart></vl-header-cart-overlay>\n </ng-container>\n</div>\n\n<div class=\"flow-controls\" *vlLet=\"objectDetails$ | async as details\">\n <span *ngIf=\"details.priceListName\">{{ details.priceListName }}</span>\n <span *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</span>\n\n <p-button label=\"Generate Doc\" styleClass=\"p-button-outlined\"></p-button>\n <p-button label=\"Save\" styleClass=\"p-button-outlined\"></p-button>\n <p-button label=\"Submit For Approval\" styleClass=\"p-button\"></p-button>\n</div>\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.left:before{left:6px!important}::ng-deep .p-overlaypanel.flow-header-overlay.right:before{right:6px!important}::ng-deep .p-overlaypanel.flow-header-overlay.left .p-overlaypanel-content{margin-left:-16px}::ng-deep .p-overlaypanel.flow-header-overlay.right .p-overlaypanel-content{margin-right:-16px}::ng-deep .p-overlaypanel.flow-header-overlay:before{background-color:#fff}:host ::ng-deep .p-button{padding:5px 15px;font-size:12px}:host ::ng-deep .p-button{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button:enabled:hover{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined:enabled:hover{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}.vl-icon{display:inline-block}.flow-info{flex-shrink:0;display:flex;grid-gap:8px;gap:8px;align-items:center}.flow-info .nav-popover-toggle{margin-left:-8px}.flow-info .object-name{text-transform:capitalize}.flow-info .nav-back{font-weight:bold}.flow-info .nav-item:not(.disabled):hover,.flow-info .nav-popover-toggle:not(.disabled):hover{opacity:.6}nav{display:flex;align-items:center;cursor:pointer;padding:4px 0}nav.disabled{opacity:.6;cursor:default}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:200px;overflow:hidden;text-overflow:ellipsis}nav.nav-popover-toggle{width:24px;display:flex;justify-content:center}nav.nav-popover-toggle i{pointer-events:none;margin:0}nav i{pointer-events:none}.dot-separator:after{content:\"\";display:block;width:4px;height:4px;border-radius:50%;background:#fff}.slash-separator:after{content:\"\";display:block;background:#fff;width:1px;height:16px}.flow-header-overlay__wrapper{width:360px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__wrapper .info-list{list-style:none;padding:0;font-size:12px}.flow-header-overlay__wrapper .info-list__row{padding:8px 0;display:flex;justify-content:space-between}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px}.flow-navigation{flex-grow:1;display:flex;grid-gap:16px;gap:16px;justify-content:center;font-weight:600}.flow-navigation .cart-nav-container{display:flex}.flow-navigation .nav-popover-toggle{margin-left:-14px}.flow-navigation .nav-item,.flow-navigation .nav-popover-toggle{opacity:.6}.flow-navigation .nav-item.active,.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active,.flow-navigation .nav-popover-toggle:not(.disabled):hover{opacity:1}.flow-controls{flex-shrink:0;display:flex;align-items:center;grid-gap:8px;gap:8px}\n"], components: [{ type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: HeaderCartOverlayComponent, selector: "vl-header-cart-overlay" }, { type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }], pipes: { "async": i7.AsyncPipe, "date": i7.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
103
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, decorators: [{
|
|
104
174
|
type: Component,
|
|
105
175
|
args: [{
|
|
@@ -108,18 +178,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
108
178
|
styleUrls: ['./header.component.scss'],
|
|
109
179
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
110
180
|
}]
|
|
111
|
-
}], ctorParameters: function () { return [{ type: i2.ContextService }, { type: i1.SalesforceApiService }]; } });
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i2$1.ContextService }, { type: i2$1.QuoteService }, { type: i1$2.SalesforceApiService }, { type: i1$1.FlowConfigurationService }]; } });
|
|
112
182
|
|
|
113
183
|
class FlowHeaderModule {
|
|
114
184
|
}
|
|
115
185
|
FlowHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
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]] });
|
|
186
|
+
FlowHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, HeaderCartOverlayModule], exports: [FlowHeaderComponent] });
|
|
187
|
+
FlowHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, imports: [[CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, HeaderCartOverlayModule]] });
|
|
118
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, decorators: [{
|
|
119
189
|
type: NgModule,
|
|
120
190
|
args: [{
|
|
121
191
|
declarations: [FlowHeaderComponent],
|
|
122
|
-
imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule],
|
|
192
|
+
imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, HeaderCartOverlayModule],
|
|
123
193
|
exports: [FlowHeaderComponent],
|
|
124
194
|
}]
|
|
125
195
|
}] });
|
|
@@ -189,12 +259,12 @@ class RouterService {
|
|
|
189
259
|
return this.lastChildParams$;
|
|
190
260
|
}
|
|
191
261
|
}
|
|
192
|
-
RouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, deps: [{ token: i1$
|
|
262
|
+
RouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, deps: [{ token: i1$3.Router }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
193
263
|
RouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, providedIn: 'root' });
|
|
194
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RouterService, decorators: [{
|
|
195
265
|
type: Injectable,
|
|
196
266
|
args: [{ providedIn: 'root' }]
|
|
197
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
267
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }]; } });
|
|
198
268
|
|
|
199
269
|
class FlowComponent {
|
|
200
270
|
constructor(routerService, context) {
|
|
@@ -204,8 +274,8 @@ class FlowComponent {
|
|
|
204
274
|
this.showHeader$ = this.routerService.route$.pipe(map(route => route.data.showHeader && !this.context.isStandalone));
|
|
205
275
|
}
|
|
206
276
|
}
|
|
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 });
|
|
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;
|
|
277
|
+
FlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, deps: [{ token: RouterService }, { token: i2$1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
278
|
+
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;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.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
209
279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, decorators: [{
|
|
210
280
|
type: Component,
|
|
211
281
|
args: [{
|
|
@@ -214,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
214
284
|
styleUrls: ['./flow.component.scss'],
|
|
215
285
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
216
286
|
}]
|
|
217
|
-
}], ctorParameters: function () { return [{ type: RouterService }, { type: i2.ContextService }]; } });
|
|
287
|
+
}], ctorParameters: function () { return [{ type: RouterService }, { type: i2$1.ContextService }]; } });
|
|
218
288
|
|
|
219
289
|
class ContextGuard {
|
|
220
290
|
constructor(router, routerService) {
|
|
@@ -268,11 +338,11 @@ class ContextGuard {
|
|
|
268
338
|
return false;
|
|
269
339
|
}
|
|
270
340
|
}
|
|
271
|
-
ContextGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, deps: [{ token: i1$
|
|
341
|
+
ContextGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, deps: [{ token: i1$3.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
272
342
|
ContextGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard });
|
|
273
343
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, decorators: [{
|
|
274
344
|
type: Injectable
|
|
275
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
345
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: RouterService }]; } });
|
|
276
346
|
|
|
277
347
|
class RootGuard {
|
|
278
348
|
constructor(router, routerService) {
|
|
@@ -304,12 +374,12 @@ class RootGuard {
|
|
|
304
374
|
return true;
|
|
305
375
|
}
|
|
306
376
|
}
|
|
307
|
-
RootGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, deps: [{ token: i1$
|
|
377
|
+
RootGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, deps: [{ token: i1$3.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
308
378
|
RootGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, providedIn: 'root' });
|
|
309
379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RootGuard, decorators: [{
|
|
310
380
|
type: Injectable,
|
|
311
381
|
args: [{ providedIn: 'root' }]
|
|
312
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
382
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: RouterService }]; } });
|
|
313
383
|
|
|
314
384
|
const getFlowObjectIdPropertyName = (objectName) => {
|
|
315
385
|
switch (objectName) {
|
|
@@ -337,18 +407,20 @@ class FlowService {
|
|
|
337
407
|
.pipe(map$1(({ value }) => (value ? JSON.parse(value) : [])));
|
|
338
408
|
}
|
|
339
409
|
}
|
|
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 });
|
|
410
|
+
FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, deps: [{ token: i1$2.ConfigurationSettingsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
341
411
|
FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService });
|
|
342
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, decorators: [{
|
|
343
413
|
type: Injectable
|
|
344
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
|
|
414
|
+
}], ctorParameters: function () { return [{ type: i1$2.ConfigurationSettingsApiService }]; } });
|
|
345
415
|
|
|
346
416
|
class DebugComponent {
|
|
347
|
-
constructor(flowService, router, activatedRoute, context) {
|
|
417
|
+
constructor(flowService, router, activatedRoute, context, flowConfiguration, quoteService) {
|
|
348
418
|
this.flowService = flowService;
|
|
349
419
|
this.router = router;
|
|
350
420
|
this.activatedRoute = activatedRoute;
|
|
351
421
|
this.context = context;
|
|
422
|
+
this.flowConfiguration = flowConfiguration;
|
|
423
|
+
this.quoteService = quoteService;
|
|
352
424
|
this.objectNames = ['Account', 'Quote', 'Order'];
|
|
353
425
|
this.form = new FormGroup({
|
|
354
426
|
id: new FormControl(''),
|
|
@@ -373,14 +445,16 @@ class DebugComponent {
|
|
|
373
445
|
}
|
|
374
446
|
// Delete context before starting a new flow
|
|
375
447
|
this.context.delete();
|
|
448
|
+
this.flowConfiguration.reset();
|
|
449
|
+
this.quoteService.reset();
|
|
376
450
|
this.router.navigate(['..', 'flows'], {
|
|
377
451
|
queryParams: Object.assign({ flowId: this.selectedFlow.id, [objectPropertyName]: id }, this.selectedFlow.queryParams),
|
|
378
452
|
relativeTo: this.activatedRoute,
|
|
379
453
|
});
|
|
380
454
|
}
|
|
381
455
|
}
|
|
382
|
-
DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, deps: [{ token: FlowService }, { token: i1$
|
|
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:
|
|
456
|
+
DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, deps: [{ token: FlowService }, { token: i1$3.Router }, { token: i1$3.ActivatedRoute }, { token: i2$1.ContextService }, { token: i1$1.FlowConfigurationService }, { token: i2$1.QuoteService }], target: i0.ɵɵFactoryTarget.Component });
|
|
457
|
+
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: [":host{display:block;padding:24px 54px}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: i5.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: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i7$1.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i8$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8$1.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: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i9.InputText, selector: "[pInputText]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
384
458
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugComponent, decorators: [{
|
|
385
459
|
type: Component,
|
|
386
460
|
args: [{
|
|
@@ -389,7 +463,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
389
463
|
styleUrls: ['./debug.component.scss'],
|
|
390
464
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
391
465
|
}]
|
|
392
|
-
}], ctorParameters: function () { return [{ type: FlowService }, { type: i1$
|
|
466
|
+
}], ctorParameters: function () { return [{ type: FlowService }, { type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: i2$1.ContextService }, { type: i1$1.FlowConfigurationService }, { type: i2$1.QuoteService }]; } });
|
|
393
467
|
|
|
394
468
|
const routes$1 = [{ path: '', component: DebugComponent }];
|
|
395
469
|
class DebugModule {
|
|
@@ -397,7 +471,7 @@ class DebugModule {
|
|
|
397
471
|
DebugModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
398
472
|
DebugModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DebugModule, declarations: [DebugComponent], imports: [CommonModule,
|
|
399
473
|
FormsModule,
|
|
400
|
-
ReactiveFormsModule, i1$
|
|
474
|
+
ReactiveFormsModule, i1$3.RouterModule, RadioButtonModule,
|
|
401
475
|
ButtonModule,
|
|
402
476
|
InputTextModule,
|
|
403
477
|
DropdownModule] });
|
|
@@ -536,15 +610,15 @@ class LegacyProductComponent {
|
|
|
536
610
|
}), switchMap(runtimeContext => this.customizeContext(productId, runtimeContext)));
|
|
537
611
|
}
|
|
538
612
|
}
|
|
539
|
-
LegacyProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, deps: [{ token: i1$
|
|
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"] }] });
|
|
613
|
+
LegacyProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i2$1.QuoteService }, { token: i1$2.QuoteApiService }, { token: i2$1.ContextService }, { token: i2$1.RuntimeContextService }, { token: i2$1.RuntimeService }, { token: i2$1.CurrentStateService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
614
|
+
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$1.RuntimeComponent, selector: "vl-runtime", outputs: ["solutionUpdated"] }] });
|
|
541
615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductComponent, decorators: [{
|
|
542
616
|
type: Component,
|
|
543
617
|
args: [{
|
|
544
618
|
templateUrl: './legacy-product.component.html',
|
|
545
619
|
styleUrls: ['./legacy-product.component.scss'],
|
|
546
620
|
}]
|
|
547
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
621
|
+
}], ctorParameters: function () { return [{ type: i1$3.ActivatedRoute }, { type: i2$1.QuoteService }, { type: i1$2.QuoteApiService }, { type: i2$1.ContextService }, { type: i2$1.RuntimeContextService }, { type: i2$1.RuntimeService }, { type: i2$1.CurrentStateService }, { type: undefined, decorators: [{
|
|
548
622
|
type: Optional
|
|
549
623
|
}, {
|
|
550
624
|
type: Inject,
|
|
@@ -554,7 +628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
554
628
|
class LegacyProductModule {
|
|
555
629
|
}
|
|
556
630
|
LegacyProductModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
557
|
-
LegacyProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [CommonModule, RuntimeModule, i1$
|
|
631
|
+
LegacyProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [CommonModule, RuntimeModule, i1$4.TooltipModule], exports: [LegacyProductComponent] });
|
|
558
632
|
LegacyProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, imports: [[CommonModule, RuntimeModule, TooltipModule$1.forRoot()]] });
|
|
559
633
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LegacyProductModule, decorators: [{
|
|
560
634
|
type: NgModule,
|
|
@@ -632,8 +706,8 @@ class ProductComponent {
|
|
|
632
706
|
.find(id => id);
|
|
633
707
|
}
|
|
634
708
|
}
|
|
635
|
-
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, deps: [{ token: i1$
|
|
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
|
|
709
|
+
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, deps: [{ token: i1$1.ConfigurationRuntimeService }, { token: i1$1.ConfigurationService }, { token: i2$1.QuoteService }, { token: i1$3.ActivatedRoute }, { token: i4.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
710
|
+
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.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
637
711
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, decorators: [{
|
|
638
712
|
type: Component,
|
|
639
713
|
args: [{
|
|
@@ -642,7 +716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
642
716
|
styleUrls: ['./product.component.scss'],
|
|
643
717
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
644
718
|
}]
|
|
645
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
719
|
+
}], ctorParameters: function () { return [{ type: i1$1.ConfigurationRuntimeService }, { type: i1$1.ConfigurationService }, { type: i2$1.QuoteService }, { type: i1$3.ActivatedRoute }, { type: i4.MessageService }, { type: undefined, decorators: [{
|
|
646
720
|
type: Optional
|
|
647
721
|
}, {
|
|
648
722
|
type: Inject,
|
|
@@ -676,8 +750,8 @@ class RecordNotFoundComponent {
|
|
|
676
750
|
}
|
|
677
751
|
}
|
|
678
752
|
}
|
|
679
|
-
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1$
|
|
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:
|
|
753
|
+
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1$3.Router }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
754
|
+
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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
681
755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
|
|
682
756
|
type: Component,
|
|
683
757
|
args: [{
|
|
@@ -685,13 +759,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
685
759
|
templateUrl: './record-not-found.component.html',
|
|
686
760
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
687
761
|
}]
|
|
688
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
762
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }]; } });
|
|
689
763
|
|
|
690
764
|
const routes = [{ path: '', component: RecordNotFoundComponent }];
|
|
691
765
|
class RecordNotFoundModule {
|
|
692
766
|
}
|
|
693
767
|
RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
694
|
-
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1$
|
|
768
|
+
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1$3.RouterModule] });
|
|
695
769
|
RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, imports: [[CommonModule, RouterModule.forChild(routes)]] });
|
|
696
770
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, decorators: [{
|
|
697
771
|
type: NgModule,
|
|
@@ -772,8 +846,8 @@ class ShoppingCartComponent {
|
|
|
772
846
|
}));
|
|
773
847
|
}
|
|
774
848
|
}
|
|
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
|
|
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
|
|
849
|
+
ShoppingCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, deps: [{ token: i1$2.UITemplatesApiService }, { token: i0.ChangeDetectorRef }, { token: i2.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
850
|
+
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.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i1$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
777
851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, decorators: [{
|
|
778
852
|
type: Component,
|
|
779
853
|
args: [{
|
|
@@ -782,7 +856,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
782
856
|
styleUrls: ['./shopping-cart.component.scss'],
|
|
783
857
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
784
858
|
}]
|
|
785
|
-
}], ctorParameters: function () { return [{ type: i1.UITemplatesApiService }, { type: i0.ChangeDetectorRef }, { type: i2
|
|
859
|
+
}], ctorParameters: function () { return [{ type: i1$2.UITemplatesApiService }, { type: i0.ChangeDetectorRef }, { type: i2.ToastService }, { type: undefined, decorators: [{
|
|
786
860
|
type: Optional
|
|
787
861
|
}, {
|
|
788
862
|
type: Inject,
|
|
@@ -831,11 +905,11 @@ class ContextResolver {
|
|
|
831
905
|
}));
|
|
832
906
|
}
|
|
833
907
|
}
|
|
834
|
-
ContextResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, deps: [{ token: i2.ContextService }, { token: i1$
|
|
908
|
+
ContextResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, deps: [{ token: i2$1.ContextService }, { token: i1$3.Router }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
835
909
|
ContextResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver });
|
|
836
910
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextResolver, decorators: [{
|
|
837
911
|
type: Injectable
|
|
838
|
-
}], ctorParameters: function () { return [{ type: i2.ContextService }, { type: i1$
|
|
912
|
+
}], ctorParameters: function () { return [{ type: i2$1.ContextService }, { type: i1$3.Router }, { type: RouterService }]; } });
|
|
839
913
|
|
|
840
914
|
class FlowResolver {
|
|
841
915
|
constructor(router, flowService, routerService) {
|
|
@@ -882,11 +956,11 @@ class FlowResolver {
|
|
|
882
956
|
}));
|
|
883
957
|
}
|
|
884
958
|
}
|
|
885
|
-
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, deps: [{ token: i1$
|
|
959
|
+
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, deps: [{ token: i1$3.Router }, { token: FlowService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
886
960
|
FlowResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver });
|
|
887
961
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, decorators: [{
|
|
888
962
|
type: Injectable
|
|
889
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
963
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: FlowService }, { type: RouterService }]; } });
|
|
890
964
|
|
|
891
965
|
class QuoteResolver {
|
|
892
966
|
constructor(router, quoteService, routerService, contextService, flowConfiguration) {
|
|
@@ -925,11 +999,11 @@ class QuoteResolver {
|
|
|
925
999
|
}));
|
|
926
1000
|
}
|
|
927
1001
|
}
|
|
928
|
-
QuoteResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, deps: [{ token: i1$
|
|
1002
|
+
QuoteResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, deps: [{ token: i1$3.Router }, { token: i2$1.QuoteService }, { token: RouterService }, { token: i2$1.ContextService }, { token: i1$1.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
929
1003
|
QuoteResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver });
|
|
930
1004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, decorators: [{
|
|
931
1005
|
type: Injectable
|
|
932
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
1006
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: i2$1.QuoteService }, { type: RouterService }, { type: i2$1.ContextService }, { type: i1$1.FlowConfigurationService }]; } });
|
|
933
1007
|
|
|
934
1008
|
const rootRoute = {
|
|
935
1009
|
id: VELOCE_FLOW_ROOT_ROUTE,
|
|
@@ -986,7 +1060,7 @@ const rootRoute = {
|
|
|
986
1060
|
class FlowRoutingModule {
|
|
987
1061
|
}
|
|
988
1062
|
FlowRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
989
|
-
FlowRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, imports: [i1$
|
|
1063
|
+
FlowRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, imports: [i1$3.RouterModule, ProductModule, LegacyProductModule, ShoppingCartModule], exports: [RouterModule] });
|
|
990
1064
|
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] });
|
|
991
1065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, decorators: [{
|
|
992
1066
|
type: NgModule,
|