@veloceapps/sdk 4.0.20 → 4.0.21
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 +13 -1
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +601 -154
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/cms.actions.d.ts +5 -1
- package/cms/vendor-map.d.ts +2 -0
- package/esm2015/cms/cms.actions.js +9 -1
- package/esm2015/src/flow-routing.module.js +13 -1
- package/esm2015/src/guards/context.guard.js +14 -5
- package/esm2015/src/pages/remote/remote.component.js +353 -0
- package/esm2015/src/pages/remote/remote.module.js +20 -0
- package/esm2015/src/pages/remote/remote.types.js +2 -0
- package/esm2015/src/resolvers/flow.resolver.js +3 -3
- package/esm2015/src/utils/flow.utils.js +10 -2
- package/fesm2015/veloce-sdk-cms.js +12 -2
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk.js +464 -83
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +2 -2
- package/src/flow-routing.module.d.ts +3 -2
- package/src/guards/context.guard.d.ts +1 -0
- package/src/pages/remote/remote.component.d.ts +47 -0
- package/src/pages/remote/remote.module.d.ts +10 -0
- package/src/pages/remote/remote.types.d.ts +4 -0
- package/src/utils/flow.utils.d.ts +7 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
(function (global, factory) {
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@veloce/api'), require('@veloce/components'), require('@veloce/sdk/cms'), require('@veloce/sdk/core'), require('primeng/button'), require('primeng/dynamicdialog'), require('@veloce/core'), require('rxjs'), require('primeng/overlaypanel'), require('primeng/splitbutton'), require('primeng/tooltip'), require('@angular/forms'), require('primeng/inputnumber'), require('primeng/virtualscroller'), require('@angular/router'), require('primeng/api'), require('@angular/common/http'), require('primeng/dropdown'), require('primeng/inputtext'), require('primeng/radiobutton'), require('rxjs/operators'), require('@veloce/sdk/runtime'), require('ngx-bootstrap/tooltip')) :
|
3
3
|
typeof define === 'function' && define.amd ? define('@veloce/sdk', ['exports', '@angular/common', '@angular/core', '@veloce/api', '@veloce/components', '@veloce/sdk/cms', '@veloce/sdk/core', 'primeng/button', 'primeng/dynamicdialog', '@veloce/core', 'rxjs', 'primeng/overlaypanel', 'primeng/splitbutton', 'primeng/tooltip', '@angular/forms', 'primeng/inputnumber', 'primeng/virtualscroller', '@angular/router', 'primeng/api', '@angular/common/http', 'primeng/dropdown', 'primeng/inputtext', 'primeng/radiobutton', 'rxjs/operators', '@veloce/sdk/runtime', 'ngx-bootstrap/tooltip'], factory) :
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloce = global.veloce || {}, global.veloce.sdk = {}), global.ng.common, global.ng.core, global["@veloce/api"], global["@veloce/components"], global.veloce.sdk.cms, global.veloce.sdk.core, global["primeng/button"], global["primeng/dynamicdialog"], global["@veloce/core"], global.rxjs, global["primeng/overlaypanel"], global.i9, global["primeng/tooltip"], global.ng.forms, global["primeng/inputnumber"], global.i4, global.ng.router, global["primeng/api"], global.ng.common.http, global["primeng/dropdown"], global["primeng/inputtext"], global["primeng/radiobutton"], global.rxjs.operators, global.veloce.sdk.runtime, global["ngx-bootstrap/tooltip"]));
|
5
|
-
})(this, (function (exports,
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloce = global.veloce || {}, global.veloce.sdk = {}), global.ng.common, global.ng.core, global["@veloce/api"], global["@veloce/components"], global.veloce.sdk.cms, global.veloce.sdk.core, global["primeng/button"], global["primeng/dynamicdialog"], global["@veloce/core"], global.rxjs, global["primeng/overlaypanel"], global.i9, global["primeng/tooltip"], global.ng.forms, global["primeng/inputnumber"], global.i4$1, global.ng.router, global["primeng/api"], global.ng.common.http, global["primeng/dropdown"], global["primeng/inputtext"], global["primeng/radiobutton"], global.rxjs.operators, global.veloce.sdk.runtime, global["ngx-bootstrap/tooltip"]));
|
5
|
+
})(this, (function (exports, i5, i0, i2$1, i3, i4, i1$1, i2, i1, core, rxjs, i3$1, i9, i12, i6, i6$1, i4$1, i1$2, i2$2, http, dropdown, i7, i5$1, operators, i4$2, i1$3) { 'use strict';
|
6
6
|
|
7
7
|
function _interopNamespace(e) {
|
8
8
|
if (e && e.__esModule) return e;
|
@@ -22,12 +22,12 @@
|
|
22
22
|
return Object.freeze(n);
|
23
23
|
}
|
24
24
|
|
25
|
-
var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
|
26
|
-
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
27
|
-
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
|
28
|
-
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
29
25
|
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
26
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
30
27
|
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
28
|
+
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
29
|
+
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
30
|
+
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
31
31
|
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
32
32
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
33
33
|
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
@@ -35,13 +35,13 @@
|
|
35
35
|
var i12__namespace = /*#__PURE__*/_interopNamespace(i12);
|
36
36
|
var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6);
|
37
37
|
var i6__namespace = /*#__PURE__*/_interopNamespace(i6$1);
|
38
|
-
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
39
|
-
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
40
|
-
var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
|
41
|
-
var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
|
42
|
-
var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
|
43
38
|
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
44
39
|
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
|
40
|
+
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
|
41
|
+
var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
|
42
|
+
var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
|
43
|
+
var i4__namespace$2 = /*#__PURE__*/_interopNamespace(i4$2);
|
44
|
+
var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
|
45
45
|
|
46
46
|
var VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';
|
47
47
|
|
@@ -60,7 +60,7 @@
|
|
60
60
|
return FlowDialogComponent;
|
61
61
|
}());
|
62
62
|
FlowDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogComponent, deps: [{ token: i1__namespace.DynamicDialogConfig }, { token: i1__namespace.DynamicDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
63
|
-
FlowDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowDialogComponent, selector: "vl-flow-dialog", ngImport: i0__namespace, template: "<div *ngIf=\"config.description\" class=\"description\">\n {{ config.description }}\n</div>\n\n<div class=\"form-actions\">\n <p-button\n *ngIf=\"config.secondaryButton\"\n styleClass=\"p-button-outlined button-text-bold\"\n [label]=\"config.secondaryButton!\"\n (onClick)=\"cancelHandler()\"\n ></p-button>\n <p-button\n styleClass=\"p-button p-button-filled\"\n [label]=\"config.primaryButton\"\n (onClick)=\"confirmHandler()\"\n ></p-button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .description{flex:1;padding:0 24px 24px;font-weight:400;font-size:12px;line-height:16px;color:var(--vl-text-color-deep-accent)}:host .form-actions{border-top:1px solid var(--vl-border-color);padding:1.5rem 2.2rem;display:flex;justify-content:flex-end;width:100%;grid-gap:10px;gap:10px}\n"], components: [{ type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type:
|
63
|
+
FlowDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowDialogComponent, selector: "vl-flow-dialog", ngImport: i0__namespace, template: "<div *ngIf=\"config.description\" class=\"description\">\n {{ config.description }}\n</div>\n\n<div class=\"form-actions\">\n <p-button\n *ngIf=\"config.secondaryButton\"\n styleClass=\"p-button-outlined button-text-bold\"\n [label]=\"config.secondaryButton!\"\n (onClick)=\"cancelHandler()\"\n ></p-button>\n <p-button\n styleClass=\"p-button p-button-filled\"\n [label]=\"config.primaryButton\"\n (onClick)=\"confirmHandler()\"\n ></p-button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .description{flex:1;padding:0 24px 24px;font-weight:400;font-size:12px;line-height:16px;color:var(--vl-text-color-deep-accent)}:host .form-actions{border-top:1px solid var(--vl-border-color);padding:1.5rem 2.2rem;display:flex;justify-content:flex-end;width:100%;grid-gap:10px;gap:10px}\n"], components: [{ type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
64
64
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogComponent, decorators: [{
|
65
65
|
type: i0.Component,
|
66
66
|
args: [{
|
@@ -77,13 +77,13 @@
|
|
77
77
|
return FlowDialogModule;
|
78
78
|
}());
|
79
79
|
FlowDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
80
|
-
FlowDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, declarations: [FlowDialogComponent], imports: [
|
81
|
-
FlowDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, imports: [[
|
80
|
+
FlowDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, declarations: [FlowDialogComponent], imports: [i5.CommonModule, i2.ButtonModule], exports: [FlowDialogComponent] });
|
81
|
+
FlowDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, imports: [[i5.CommonModule, i2.ButtonModule]] });
|
82
82
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, decorators: [{
|
83
83
|
type: i0.NgModule,
|
84
84
|
args: [{
|
85
85
|
declarations: [FlowDialogComponent],
|
86
|
-
imports: [
|
86
|
+
imports: [i5.CommonModule, i2.ButtonModule],
|
87
87
|
exports: [FlowDialogComponent],
|
88
88
|
}]
|
89
89
|
}] });
|
@@ -102,21 +102,21 @@
|
|
102
102
|
FlowDocGenService.prototype.initSubscriptions = function () {
|
103
103
|
var _this = this;
|
104
104
|
this.integrationState
|
105
|
-
.listen$(
|
105
|
+
.listen$(i4.FlowAction.FLOW_OPEN_DOC_GEN)
|
106
106
|
.pipe(rxjs.tap(function () { return _this.isVisibleSubj$.next(true); }), rxjs.takeUntil(this.cleanup$))
|
107
107
|
.subscribe();
|
108
108
|
this.integrationState
|
109
|
-
.listen$(
|
109
|
+
.listen$(i4.FlowAction.FLOW_CLOSE_DOC_GEN)
|
110
110
|
.pipe(rxjs.tap(function () { return _this.isVisibleSubj$.next(false); }), rxjs.takeUntil(this.cleanup$))
|
111
111
|
.subscribe();
|
112
112
|
};
|
113
113
|
return FlowDocGenService;
|
114
114
|
}());
|
115
|
-
FlowDocGenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService, deps: [{ token:
|
115
|
+
FlowDocGenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService, deps: [{ token: i4__namespace.IntegrationState }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
116
116
|
FlowDocGenService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService });
|
117
117
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService, decorators: [{
|
118
118
|
type: i0.Injectable
|
119
|
-
}], ctorParameters: function () { return [{ type:
|
119
|
+
}], ctorParameters: function () { return [{ type: i4__namespace.IntegrationState }]; } });
|
120
120
|
|
121
121
|
var DocGenComponent = /** @class */ (function () {
|
122
122
|
function DocGenComponent(quoteDraftService, contextService, templatesApi, docGenService, toastService) {
|
@@ -183,8 +183,8 @@
|
|
183
183
|
var headerId = (_a = _this.contextService.resolve().properties.Id) !== null && _a !== void 0 ? _a : null;
|
184
184
|
var script = meta.js;
|
185
185
|
if (script) {
|
186
|
-
var metadata =
|
187
|
-
script =
|
186
|
+
var metadata = i4.extractElementMetadata(script);
|
187
|
+
script = i4.extendElementMetadata(script, {
|
188
188
|
inputs: Object.assign(Object.assign({}, metadata.inputs), { Id: headerId ? "\"" + headerId + "\"" : null }),
|
189
189
|
});
|
190
190
|
}
|
@@ -208,8 +208,8 @@
|
|
208
208
|
};
|
209
209
|
return DocGenComponent;
|
210
210
|
}());
|
211
|
-
DocGenComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenComponent, deps: [{ token:
|
212
|
-
DocGenComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DocGenComponent, selector: "vl-flow-doc-gen", ngImport: i0__namespace, template: "<ng-container *ngIf=\"isVisible$ | async\">\n <ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n</ng-container>\n", styles: [":host,vl-cms-preview{display:contents}\n"], components: [{ type:
|
211
|
+
DocGenComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenComponent, deps: [{ token: i1__namespace$1.QuoteDraftService }, { token: i1__namespace$1.ContextService }, { token: i2__namespace$1.UITemplatesApiService }, { token: FlowDocGenService }, { token: i3__namespace.ToastService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
212
|
+
DocGenComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DocGenComponent, selector: "vl-flow-doc-gen", ngImport: i0__namespace, template: "<ng-container *ngIf=\"isVisible$ | async\">\n <ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n</ng-container>\n", styles: [":host,vl-cms-preview{display:contents}\n"], components: [{ type: i4__namespace.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
213
213
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenComponent, decorators: [{
|
214
214
|
type: i0.Component,
|
215
215
|
args: [{
|
@@ -218,7 +218,7 @@
|
|
218
218
|
styleUrls: ['./doc-gen.component.scss'],
|
219
219
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
220
220
|
}]
|
221
|
-
}], ctorParameters: function () { return [{ type:
|
221
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.QuoteDraftService }, { type: i1__namespace$1.ContextService }, { type: i2__namespace$1.UITemplatesApiService }, { type: FlowDocGenService }, { type: i3__namespace.ToastService }]; } });
|
222
222
|
|
223
223
|
var DocGenModule = /** @class */ (function () {
|
224
224
|
function DocGenModule() {
|
@@ -226,13 +226,13 @@
|
|
226
226
|
return DocGenModule;
|
227
227
|
}());
|
228
228
|
DocGenModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
229
|
-
DocGenModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, declarations: [DocGenComponent], imports: [
|
230
|
-
DocGenModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, imports: [[
|
229
|
+
DocGenModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, declarations: [DocGenComponent], imports: [i5.CommonModule, i4.PreviewModule], exports: [DocGenComponent] });
|
230
|
+
DocGenModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, imports: [[i5.CommonModule, i4.PreviewModule]] });
|
231
231
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, decorators: [{
|
232
232
|
type: i0.NgModule,
|
233
233
|
args: [{
|
234
234
|
declarations: [DocGenComponent],
|
235
|
-
imports: [
|
235
|
+
imports: [i5.CommonModule, i4.PreviewModule],
|
236
236
|
exports: [DocGenComponent],
|
237
237
|
}]
|
238
238
|
}] });
|
@@ -590,14 +590,14 @@
|
|
590
590
|
return url.replace(flowRootUrl, '');
|
591
591
|
}));
|
592
592
|
};
|
593
|
-
this.routeChange$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
593
|
+
this.routeChange$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationEnd; }), rxjs.shareReplay());
|
594
594
|
this.lastChildParams$ = this.watchLastChildParams$(this.route).pipe(rxjs.startWith(this.getLastChildParams(this.route.snapshot)), rxjs.shareReplay());
|
595
595
|
this.lastChildRoute$ = this.watchLastChildRoute$(this.route).pipe(rxjs.startWith(this.getLastChildRouteSnapshot(this.route.snapshot)), rxjs.shareReplay());
|
596
|
-
this.loading$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
597
|
-
e instanceof i1$
|
598
|
-
e instanceof i1$
|
599
|
-
e instanceof i1$
|
600
|
-
this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
596
|
+
this.loading$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationStart ||
|
597
|
+
e instanceof i1$2.NavigationCancel ||
|
598
|
+
e instanceof i1$2.NavigationEnd ||
|
599
|
+
e instanceof i1$2.NavigationError; }), rxjs.map(function (e) { return e instanceof i1$2.NavigationStart; }), rxjs.startWith(false), rxjs.distinctUntilChanged());
|
600
|
+
this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationEnd; })).subscribe(function () {
|
601
601
|
_this.urlHistory.push(_this.router.url);
|
602
602
|
});
|
603
603
|
}
|
@@ -675,12 +675,12 @@
|
|
675
675
|
};
|
676
676
|
return FlowRouterService;
|
677
677
|
}());
|
678
|
-
FlowRouterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, deps: [{ token: i1__namespace$
|
678
|
+
FlowRouterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }, { token: i1__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
679
679
|
FlowRouterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, providedIn: 'root' });
|
680
680
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, decorators: [{
|
681
681
|
type: i0.Injectable,
|
682
682
|
args: [{ providedIn: 'root' }]
|
683
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
683
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }, { type: i1__namespace$1.ContextService }]; } });
|
684
684
|
|
685
685
|
var CartPreviewComponent = /** @class */ (function () {
|
686
686
|
function CartPreviewComponent(flowConfiguration, routerService, productImagesService, quoteDraftService) {
|
@@ -779,8 +779,8 @@
|
|
779
779
|
};
|
780
780
|
return CartPreviewComponent;
|
781
781
|
}());
|
782
|
-
CartPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewComponent, deps: [{ token:
|
783
|
-
CartPreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: CartPreviewComponent, selector: "vl-cart-preview", inputs: { products: "products" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: i3$1.OverlayPanel, descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<p-overlayPanel\n styleClass=\"navigation-settings-overlay flow-header-overlay center no-padding\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"lockedProductId$ | async as lockedProductId\">\n <ng-container *vlLet=\"isEditMode$ | async as isEditMode\">\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 <p-virtualScroller [value]=\"products\" scrollHeight=\"{{ scrollHeight }}px\" [itemSize]=\"productRowHeight\">\n <ng-template pTemplate=\"header\">\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 </ng-template>\n\n <ng-template pTemplate=\"item\" let-product>\n <div\n class=\"product item\"\n *vlLet=\"!isEditMode || product.deleted as isReadonlyProduct\"\n [class.readonly]=\"isReadonlyProduct\"\n [class.deleted]=\"product.deleted\"\n >\n <ng-container *vlLet=\"lockedProductId === product.productId as isLockedProduct\">\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\" [class.line-through]=\"product.deleted\">{{ product.name }}</div>\n <div *ngIf=\"!isReadonlyProduct\">\n <p-button\n label=\"Configure\"\n [disabled]=\"isLockedProduct || !product.configurable || product.hasTerm\"\n styleClass=\"p-button-link p-button-sm p-2 pl-0\"\n (onClick)=\"navigateToProductConfiguration(product.productId, product.id)\"\n ></p-button>\n <p-button\n label=\"Delete\"\n [disabled]=\"isLockedProduct || product.hasTerm\"\n styleClass=\"p-button-link p-button-sm p-button-danger p-2 pr-0\"\n (onClick)=\"deleteHandler(product)\"\n ></p-button>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"form.controls[product.id] as control\">\n <span class=\"pt-2\" *ngIf=\"!isReadonlyProduct; else readonlyQty\">\n <p-inputNumber\n class=\"qty-control\"\n [formControl]=\"$any(control)\"\n [min]=\"1\"\n [required]=\"true\"\n (onBlur)=\"controlBlurHandler(product)\"\n ></p-inputNumber>\n </span>\n <ng-template #readonlyQty\n ><span class=\"text-right\">{{ control.value }}</span></ng-template\n >\n </ng-container>\n\n <span class=\"text-right\" [class.pt-3]=\"!isReadonlyProduct\">${{ product.mrr }}</span>\n <span class=\"text-right\" [class.pt-3]=\"!isReadonlyProduct\">${{ product.nrr }}</span>\n </ng-container>\n </div>\n </ng-template>\n </p-virtualScroller>\n\n <ng-template #noImage>\n <i class=\"vl-icon vl-icon-no-image no-image-icon\"></i>\n </ng-template>\n\n <div class=\"flex justify-content-end footer\">\n <p-button\n label=\"Clear cart\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n [disabled]=\"!isEditMode || !!lockedProductId || hasTermInProducts\"\n (onClick)=\"deleteAllHandler()\"\n ></p-button>\n </div>\n </ng-container>\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: ["p-virtualscroller ::ng-deep .p-virtualscroller-header{background:none;padding:0;border:none;font-weight:unset}p-virtualscroller ::ng-deep cdk-virtual-scroll-viewport{overflow-y:scroll}.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;padding:16px}.empty-state{color:var(--vl-text-color-deep-accent);padding:0 16px 16px}.product{display:grid;grid-template-columns:auto 60px 70px 70px;padding:16px;border-bottom:1px solid var(--vl-border-color)}.product.readonly{align-items:center}.product.deleted{opacity:.5}.product.header{position:-webkit-sticky;position:sticky;top:0;background-color:var(--surface-card);z-index:1;color:var(--vl-text-color-deep-accent);padding-bottom:0;border-bottom:none;overflow-y:scroll}.product .item{height:97px;overflow:hidden}.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)}.product .qty-control ::ng-deep .p-inputnumber-input{align-self:flex-start;text-align:right;height:24px;width:100%}.footer{padding:12px 16px}.word-break{word-break:break-word}.no-image-icon{color:#b4d1ef;height:18px;width:18px}:host ::ng-deep .p-overlaypanel.navigation-settings-overlay{margin-top:20px}\n"], components: [{ type: i3__namespace$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i4__namespace.VirtualScroller, selector: "p-virtualScroller", inputs: ["value", "itemSize", "style", "styleClass", "scrollHeight", "lazy", "rows", "minBufferPx", "maxBufferPx", "delay", "trackBy", "totalRecords", "first", "cache"], outputs: ["onLazyLoad"] }, { type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i6__namespace.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2__namespace$
|
782
|
+
CartPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewComponent, deps: [{ token: i1__namespace$1.FlowConfigurationService }, { token: FlowRouterService }, { token: i1__namespace$1.ProductImagesService }, { token: i1__namespace$1.QuoteDraftService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
783
|
+
CartPreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: CartPreviewComponent, selector: "vl-cart-preview", inputs: { products: "products" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: i3$1.OverlayPanel, descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<p-overlayPanel\n styleClass=\"navigation-settings-overlay flow-header-overlay center no-padding\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"lockedProductId$ | async as lockedProductId\">\n <ng-container *vlLet=\"isEditMode$ | async as isEditMode\">\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 <p-virtualScroller [value]=\"products\" scrollHeight=\"{{ scrollHeight }}px\" [itemSize]=\"productRowHeight\">\n <ng-template pTemplate=\"header\">\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 </ng-template>\n\n <ng-template pTemplate=\"item\" let-product>\n <div\n class=\"product item\"\n *vlLet=\"!isEditMode || product.deleted as isReadonlyProduct\"\n [class.readonly]=\"isReadonlyProduct\"\n [class.deleted]=\"product.deleted\"\n >\n <ng-container *vlLet=\"lockedProductId === product.productId as isLockedProduct\">\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\" [class.line-through]=\"product.deleted\">{{ product.name }}</div>\n <div *ngIf=\"!isReadonlyProduct\">\n <p-button\n label=\"Configure\"\n [disabled]=\"isLockedProduct || !product.configurable || product.hasTerm\"\n styleClass=\"p-button-link p-button-sm p-2 pl-0\"\n (onClick)=\"navigateToProductConfiguration(product.productId, product.id)\"\n ></p-button>\n <p-button\n label=\"Delete\"\n [disabled]=\"isLockedProduct || product.hasTerm\"\n styleClass=\"p-button-link p-button-sm p-button-danger p-2 pr-0\"\n (onClick)=\"deleteHandler(product)\"\n ></p-button>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"form.controls[product.id] as control\">\n <span class=\"pt-2\" *ngIf=\"!isReadonlyProduct; else readonlyQty\">\n <p-inputNumber\n class=\"qty-control\"\n [formControl]=\"$any(control)\"\n [min]=\"1\"\n [required]=\"true\"\n (onBlur)=\"controlBlurHandler(product)\"\n ></p-inputNumber>\n </span>\n <ng-template #readonlyQty\n ><span class=\"text-right\">{{ control.value }}</span></ng-template\n >\n </ng-container>\n\n <span class=\"text-right\" [class.pt-3]=\"!isReadonlyProduct\">${{ product.mrr }}</span>\n <span class=\"text-right\" [class.pt-3]=\"!isReadonlyProduct\">${{ product.nrr }}</span>\n </ng-container>\n </div>\n </ng-template>\n </p-virtualScroller>\n\n <ng-template #noImage>\n <i class=\"vl-icon vl-icon-no-image no-image-icon\"></i>\n </ng-template>\n\n <div class=\"flex justify-content-end footer\">\n <p-button\n label=\"Clear cart\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n [disabled]=\"!isEditMode || !!lockedProductId || hasTermInProducts\"\n (onClick)=\"deleteAllHandler()\"\n ></p-button>\n </div>\n </ng-container>\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: ["p-virtualscroller ::ng-deep .p-virtualscroller-header{background:none;padding:0;border:none;font-weight:unset}p-virtualscroller ::ng-deep cdk-virtual-scroll-viewport{overflow-y:scroll}.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;padding:16px}.empty-state{color:var(--vl-text-color-deep-accent);padding:0 16px 16px}.product{display:grid;grid-template-columns:auto 60px 70px 70px;padding:16px;border-bottom:1px solid var(--vl-border-color)}.product.readonly{align-items:center}.product.deleted{opacity:.5}.product.header{position:-webkit-sticky;position:sticky;top:0;background-color:var(--surface-card);z-index:1;color:var(--vl-text-color-deep-accent);padding-bottom:0;border-bottom:none;overflow-y:scroll}.product .item{height:97px;overflow:hidden}.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)}.product .qty-control ::ng-deep .p-inputnumber-input{align-self:flex-start;text-align:right;height:24px;width:100%}.footer{padding:12px 16px}.word-break{word-break:break-word}.no-image-icon{color:#b4d1ef;height:18px;width:18px}:host ::ng-deep .p-overlaypanel.navigation-settings-overlay{margin-top:20px}\n"], components: [{ type: i3__namespace$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i4__namespace$1.VirtualScroller, selector: "p-virtualScroller", inputs: ["value", "itemSize", "style", "styleClass", "scrollHeight", "lazy", "rows", "minBufferPx", "maxBufferPx", "delay", "trackBy", "totalRecords", "first", "cache"], outputs: ["onLazyLoad"] }, { type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i6__namespace.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2__namespace$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
784
784
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewComponent, decorators: [{
|
785
785
|
type: i0.Component,
|
786
786
|
args: [{
|
@@ -789,7 +789,7 @@
|
|
789
789
|
styleUrls: ['./cart-preview.component.scss'],
|
790
790
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
791
791
|
}]
|
792
|
-
}], ctorParameters: function () { return [{ type:
|
792
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.FlowConfigurationService }, { type: FlowRouterService }, { type: i1__namespace$1.ProductImagesService }, { type: i1__namespace$1.QuoteDraftService }]; }, propDecorators: { overlayPanel: [{
|
793
793
|
type: i0.ViewChild,
|
794
794
|
args: [i3$1.OverlayPanel]
|
795
795
|
}], products: [{
|
@@ -802,34 +802,34 @@
|
|
802
802
|
return CartPreviewModule;
|
803
803
|
}());
|
804
804
|
CartPreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
805
|
-
CartPreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, declarations: [CartPreviewComponent], imports: [
|
805
|
+
CartPreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, declarations: [CartPreviewComponent], imports: [i5.CommonModule,
|
806
806
|
i6.ReactiveFormsModule,
|
807
807
|
i2.ButtonModule,
|
808
808
|
i3$1.OverlayPanelModule,
|
809
809
|
i3.LetDirectiveModule,
|
810
810
|
i6$1.InputNumberModule,
|
811
|
-
i4.VirtualScrollerModule], exports: [CartPreviewComponent] });
|
811
|
+
i4$1.VirtualScrollerModule], exports: [CartPreviewComponent] });
|
812
812
|
CartPreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, imports: [[
|
813
|
-
|
813
|
+
i5.CommonModule,
|
814
814
|
i6.ReactiveFormsModule,
|
815
815
|
i2.ButtonModule,
|
816
816
|
i3$1.OverlayPanelModule,
|
817
817
|
i3.LetDirectiveModule,
|
818
818
|
i6$1.InputNumberModule,
|
819
|
-
i4.VirtualScrollerModule,
|
819
|
+
i4$1.VirtualScrollerModule,
|
820
820
|
]] });
|
821
821
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, decorators: [{
|
822
822
|
type: i0.NgModule,
|
823
823
|
args: [{
|
824
824
|
declarations: [CartPreviewComponent],
|
825
825
|
imports: [
|
826
|
-
|
826
|
+
i5.CommonModule,
|
827
827
|
i6.ReactiveFormsModule,
|
828
828
|
i2.ButtonModule,
|
829
829
|
i3$1.OverlayPanelModule,
|
830
830
|
i3.LetDirectiveModule,
|
831
831
|
i6$1.InputNumberModule,
|
832
|
-
i4.VirtualScrollerModule,
|
832
|
+
i4$1.VirtualScrollerModule,
|
833
833
|
],
|
834
834
|
exports: [CartPreviewComponent],
|
835
835
|
}]
|
@@ -948,11 +948,11 @@
|
|
948
948
|
};
|
949
949
|
return FlowDialogService;
|
950
950
|
}());
|
951
|
-
FlowDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogService, deps: [{ token: i1__namespace.DialogService }, { token:
|
951
|
+
FlowDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogService, deps: [{ token: i1__namespace.DialogService }, { token: i1__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
952
952
|
FlowDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogService });
|
953
953
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogService, decorators: [{
|
954
954
|
type: i0.Injectable
|
955
|
-
}], ctorParameters: function () { return [{ type: i1__namespace.DialogService }, { type:
|
955
|
+
}], ctorParameters: function () { return [{ type: i1__namespace.DialogService }, { type: i1__namespace$1.ContextService }]; } });
|
956
956
|
|
957
957
|
var FlowHeaderComponent = /** @class */ (function () {
|
958
958
|
function FlowHeaderComponent(contextService, quoteDraftService, quoteApiService, sfApiService, flowConfiguration, routerService, dialogService, integrationState) {
|
@@ -1075,7 +1075,7 @@
|
|
1075
1075
|
}));
|
1076
1076
|
}
|
1077
1077
|
shouldOpen$
|
1078
|
-
.pipe(rxjs.first(), rxjs.tap(function (shouldOpen) { return shouldOpen && _this.integrationState.dispatch(
|
1078
|
+
.pipe(rxjs.first(), rxjs.tap(function (shouldOpen) { return shouldOpen && _this.integrationState.dispatch(i4.OpenDocGenAction()); }))
|
1079
1079
|
.subscribe();
|
1080
1080
|
};
|
1081
1081
|
FlowHeaderComponent.prototype.saveButtonClickHandler = function (isCartRoute) {
|
@@ -1222,8 +1222,8 @@
|
|
1222
1222
|
};
|
1223
1223
|
return FlowHeaderComponent;
|
1224
1224
|
}());
|
1225
|
-
FlowHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, deps: [{ token:
|
1226
|
-
FlowHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0__namespace, template: "<div class=\"flow-info\" *vlLet=\"objectDetails$ | async as details\">\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 to {{ objectName | titlecase }}</span>\n </nav>\n\n <ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></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 #{{ details.quoteNumber }}</span>\n\n <span class=\"dot-separator\"></span>\n\n <nav class=\"nav-item\" (click)=\"quoteDetails.toggle($event)\">\n <span>{{ status$ | async }}</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\">\n <li class=\"info-list__row\">\n <span>Account Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.accountId)\">\n <span>{{ details.accountName }}</span>\n </a>\n </li>\n <li class=\"info-list__row\">\n <span>Opportunity Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.opportunityId)\">\n <span>{{ details.opportunityName }}</span>\n </a>\n </li>\n <li class=\"info-list__row\">\n <span>Quote Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.quoteId)\">\n <span>{{ details.quoteName }}</span>\n </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 <ng-container *vlLet=\"isReadonlyMode$ | async as isReadonlyMode\">\n <nav\n class=\"nav-item\"\n [ngClass]=\"{ active: (isCatalogRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"navigateToCatalog()\"\n >\n Catalog\n </nav>\n <nav class=\"nav-item disabled\" [ngClass]=\"{ active: isConfigurationRoute$ | async }\">Configurator</nav>\n <ng-container *vlLet=\"products$ | async as products\">\n <nav\n class=\"nav-item\"\n [ngClass]=\"{ active: (isCartRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"navigateToShoppingCart()\"\n >\n Shopping Cart ({{ products.length }})\n </nav>\n\n <nav\n class=\"nav-popover-toggle\"\n [ngClass]=\"{ active: (isCartRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"toggleCartOverlay(cart, $event)\"\n >\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-cart-preview #cart [products]=\"products\"></vl-cart-preview>\n </ng-container>\n </ng-container>\n</div>\n\n<div class=\"flow-controls\" *vlLet=\"objectDetails$ | async as details\">\n <ng-container *vlLet=\"activePriceList$ | async as priceList\">\n <div>\n <ng-container *ngIf=\"isAccountMode && assetPriceLists.length > 1; else singlePriceList\">\n <nav class=\"nav-item\" (click)=\"priceListsOverlay?.toggle($event)\">\n <span>{{ priceList?.name }}</span>\n <i *ngIf=\"!priceListsOverlay?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"priceListsOverlay?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <p-overlayPanel styleClass=\"price-list-overlay\" #priceListsOverlay>\n <ng-template pTemplate>\n <span\n *ngFor=\"let option of assetPriceLists\"\n class=\"price-list-option\"\n [class.active]=\"priceList?.id === option.id\"\n (click)=\"selectPriceList(option.id); priceListsOverlay.hide()\"\n >{{ option.name }}</span\n >\n </ng-template>\n </p-overlayPanel>\n </ng-container>\n\n <ng-template #singlePriceList>\n <div>{{ priceList?.name }}</div>\n </ng-template>\n\n <div *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</div>\n </div>\n </ng-container>\n\n <span class=\"metrics\">\n <div class=\"metrics__row\">\n <span>MRR:</span>\n <span class=\"font-semibold\">${{ totalMRR$ | async }}</span>\n </div>\n <div class=\"metrics__row\">\n <span>NRR:</span>\n <span class=\"font-semibold\">${{ totalNRR$ | async }}</span>\n </div>\n </span>\n\n <ng-container *vlLet=\"isCartRoute$ | async as isCartRoute\">\n <ng-container *vlLet=\"isReadonlyMode$ | async as isReadonlyMode\">\n <p-button\n class=\"doc-gen-button\"\n icon=\"vl-icon vl-icon-doc-gen\"\n [disabled]=\"isReadonlyMode\"\n (onClick)=\"docGenButtonClickHandler(isCartRoute)\"\n ></p-button>\n\n <ng-container *vlLet=\"isSaveInProgress$ | async as isSaveInProgress\">\n <ng-container *vlLet=\"isSubmitInProgress$ | async as isSubmitInProgress\">\n <p-splitButton\n *ngIf=\"!isSaveInProgress && !isSubmitInProgress\"\n label=\"Save to Quote\"\n (onClick)=\"saveButtonClickHandler(isCartRoute)\"\n [model]=\"getSplitButtonActions(isCartRoute)\"\n [disabled]=\"isReadonlyMode\"\n styleClass=\"p-button-outlined\"\n >\n </p-splitButton>\n\n <p-button\n *ngIf=\"isSaveInProgress\"\n class=\"save-button\"\n styleClass=\"p-button\"\n label=\"Saving\"\n [loading]=\"true\"\n ></p-button>\n\n <p-button\n *ngIf=\"isSubmitInProgress\"\n class=\"submit-button\"\n styleClass=\"p-button\"\n label=\"Submitting\"\n [loading]=\"true\"\n ></p-button>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\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.no-padding .p-overlaypanel-content{padding:0}::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}::ng-deep .p-overlaypanel.price-list-overlay .p-overlaypanel-content{border-radius:5px;border-color:var(--vl-border-color);padding:0;display:flex;flex-direction:column;max-height:140px;overflow:auto}:host ::ng-deep p-splitButton{height:32px;width:146px;display:flex}:host ::ng-deep p-splitButton .p-splitbutton{display:flex;font-size:12px;border-radius:2px;height:100%;width:100%;-webkit-backface-visibility:hidden}:host ::ng-deep p-splitButton .p-splitbutton .p-button:focus{box-shadow:none}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-defaultbutton{padding:7px 12px 7px 10px}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-defaultbutton:disabled{opacity:.2}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-menubutton:disabled{opacity:.3}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button{background-color:#fff;color:var(--vl-primary-color);border:1px solid #fff}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button:enabled:hover{background-color:var(--vl-secondary-nav-bg);color:var(--vl-primary-color);border:1px solid var(--vl-secondary-nav-bg);outline:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-menubutton{background-color:var(--vl-secondary-nav-bg);border-radius:0 2px 2px 0;border:1px solid var(--vl-secondary-nav-bg);border-left:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-menubutton:hover{background-color:var(--vl-secondary-nav-bg);border:1px solid var(--vl-secondary-nav-bg);border-left:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-defaultbutton{border-radius:2px 0 0 2px}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-defaultbutton .p-button-label{font-size:12px;line-height:16px;letter-spacing:.3px;white-space:nowrap}:host ::ng-deep p-splitButton .p-splitbutton .p-menu{display:flex;width:auto;margin-top:2px;border-radius:4px;border:1px solid var(--vl-border-color);box-shadow:0 4px 20px #2767c11a}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list{display:flex;flex-direction:column}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem{display:flex;width:100%;height:32px}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link{padding:8px;width:100%;height:100%}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link:not(.p-disabled):hover{background-color:var(--vl-secondary-nav-bg)}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text{color:var(--vl-primary-color)}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link .p-menuitem-text{line-height:16px;font-size:12px;letter-spacing:.3px;white-space:nowrap}:host ::ng-deep .doc-gen-button{height:32px;width:32px;display:inline-flex}:host ::ng-deep .doc-gen-button .p-button{border:1px solid #fff;border-radius:2px;width:100%;height:100%}:host ::ng-deep .doc-gen-button .p-button.p-component:disabled{opacity:.3}:host ::ng-deep .save-button,:host ::ng-deep .submit-button{height:32px;width:146px;display:flex}:host ::ng-deep .save-button .p-button,:host ::ng-deep .submit-button .p-button{border-radius:3px;width:100%;height:100%;background:rgba(255,255,255,.3);opacity:1;border:none}:host ::ng-deep .save-button .p-button .p-button-label,:host ::ng-deep .submit-button .p-button .p-button-label{font-size:12px;line-height:16px;letter-spacing:.3px;white-space:nowrap}.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 .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;height:14px}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}.metrics__row{display:flex;justify-content:space-between;grid-gap:2px;gap:2px}.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__wrapper .info-list__row a{text-align:right}.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:not(.disabled),.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active:not(.disabled),.flow-navigation .nav-popover-toggle:not(.disabled):hover{opacity:1}.price-list-option{padding:8px;color:var(--vl-primary-color);cursor:pointer}.price-list-option.active,.price-list-option:hover{background:var(--vl-secondary-nav-bg)}.flow-controls{flex-shrink:0;display:flex;align-items:center;grid-gap:16px;gap:16px}\n"], components: [{ type: i3__namespace$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: CartPreviewComponent, selector: "vl-cart-preview", inputs: ["products"] }, { type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i9__namespace.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }], directives: [{ type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i11__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12__namespace.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2__namespace$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i11__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i11__namespace.AsyncPipe, "titlecase": i11__namespace.TitleCasePipe, "date": i11__namespace.DatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1225
|
+
FlowHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, deps: [{ token: i1__namespace$1.ContextService }, { token: i1__namespace$1.QuoteDraftService }, { token: i2__namespace$1.QuoteApiService }, { token: i2__namespace$1.SalesforceApiService }, { token: i1__namespace$1.FlowConfigurationService }, { token: FlowRouterService }, { token: FlowDialogService }, { token: i4__namespace.IntegrationState }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1226
|
+
FlowHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0__namespace, template: "<div class=\"flow-info\" *vlLet=\"objectDetails$ | async as details\">\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 to {{ objectName | titlecase }}</span>\n </nav>\n\n <ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></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 #{{ details.quoteNumber }}</span>\n\n <span class=\"dot-separator\"></span>\n\n <nav class=\"nav-item\" (click)=\"quoteDetails.toggle($event)\">\n <span>{{ status$ | async }}</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\">\n <li class=\"info-list__row\">\n <span>Account Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.accountId)\">\n <span>{{ details.accountName }}</span>\n </a>\n </li>\n <li class=\"info-list__row\">\n <span>Opportunity Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.opportunityId)\">\n <span>{{ details.opportunityName }}</span>\n </a>\n </li>\n <li class=\"info-list__row\">\n <span>Quote Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.quoteId)\">\n <span>{{ details.quoteName }}</span>\n </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 <ng-container *vlLet=\"isReadonlyMode$ | async as isReadonlyMode\">\n <nav\n class=\"nav-item\"\n [ngClass]=\"{ active: (isCatalogRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"navigateToCatalog()\"\n >\n Catalog\n </nav>\n <nav class=\"nav-item disabled\" [ngClass]=\"{ active: isConfigurationRoute$ | async }\">Configurator</nav>\n <ng-container *vlLet=\"products$ | async as products\">\n <nav\n class=\"nav-item\"\n [ngClass]=\"{ active: (isCartRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"navigateToShoppingCart()\"\n >\n Shopping Cart ({{ products.length }})\n </nav>\n\n <nav\n class=\"nav-popover-toggle\"\n [ngClass]=\"{ active: (isCartRoute$ | async), disabled: isReadonlyMode }\"\n (click)=\"toggleCartOverlay(cart, $event)\"\n >\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-cart-preview #cart [products]=\"products\"></vl-cart-preview>\n </ng-container>\n </ng-container>\n</div>\n\n<div class=\"flow-controls\" *vlLet=\"objectDetails$ | async as details\">\n <ng-container *vlLet=\"activePriceList$ | async as priceList\">\n <div>\n <ng-container *ngIf=\"isAccountMode && assetPriceLists.length > 1; else singlePriceList\">\n <nav class=\"nav-item\" (click)=\"priceListsOverlay?.toggle($event)\">\n <span>{{ priceList?.name }}</span>\n <i *ngIf=\"!priceListsOverlay?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"priceListsOverlay?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <p-overlayPanel styleClass=\"price-list-overlay\" #priceListsOverlay>\n <ng-template pTemplate>\n <span\n *ngFor=\"let option of assetPriceLists\"\n class=\"price-list-option\"\n [class.active]=\"priceList?.id === option.id\"\n (click)=\"selectPriceList(option.id); priceListsOverlay.hide()\"\n >{{ option.name }}</span\n >\n </ng-template>\n </p-overlayPanel>\n </ng-container>\n\n <ng-template #singlePriceList>\n <div>{{ priceList?.name }}</div>\n </ng-template>\n\n <div *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</div>\n </div>\n </ng-container>\n\n <span class=\"metrics\">\n <div class=\"metrics__row\">\n <span>MRR:</span>\n <span class=\"font-semibold\">${{ totalMRR$ | async }}</span>\n </div>\n <div class=\"metrics__row\">\n <span>NRR:</span>\n <span class=\"font-semibold\">${{ totalNRR$ | async }}</span>\n </div>\n </span>\n\n <ng-container *vlLet=\"isCartRoute$ | async as isCartRoute\">\n <ng-container *vlLet=\"isReadonlyMode$ | async as isReadonlyMode\">\n <p-button\n class=\"doc-gen-button\"\n icon=\"vl-icon vl-icon-doc-gen\"\n [disabled]=\"isReadonlyMode\"\n (onClick)=\"docGenButtonClickHandler(isCartRoute)\"\n ></p-button>\n\n <ng-container *vlLet=\"isSaveInProgress$ | async as isSaveInProgress\">\n <ng-container *vlLet=\"isSubmitInProgress$ | async as isSubmitInProgress\">\n <p-splitButton\n *ngIf=\"!isSaveInProgress && !isSubmitInProgress\"\n label=\"Save to Quote\"\n (onClick)=\"saveButtonClickHandler(isCartRoute)\"\n [model]=\"getSplitButtonActions(isCartRoute)\"\n [disabled]=\"isReadonlyMode\"\n styleClass=\"p-button-outlined\"\n >\n </p-splitButton>\n\n <p-button\n *ngIf=\"isSaveInProgress\"\n class=\"save-button\"\n styleClass=\"p-button\"\n label=\"Saving\"\n [loading]=\"true\"\n ></p-button>\n\n <p-button\n *ngIf=\"isSubmitInProgress\"\n class=\"submit-button\"\n styleClass=\"p-button\"\n label=\"Submitting\"\n [loading]=\"true\"\n ></p-button>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\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.no-padding .p-overlaypanel-content{padding:0}::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}::ng-deep .p-overlaypanel.price-list-overlay .p-overlaypanel-content{border-radius:5px;border-color:var(--vl-border-color);padding:0;display:flex;flex-direction:column;max-height:140px;overflow:auto}:host ::ng-deep p-splitButton{height:32px;width:146px;display:flex}:host ::ng-deep p-splitButton .p-splitbutton{display:flex;font-size:12px;border-radius:2px;height:100%;width:100%;-webkit-backface-visibility:hidden}:host ::ng-deep p-splitButton .p-splitbutton .p-button:focus{box-shadow:none}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-defaultbutton{padding:7px 12px 7px 10px}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-defaultbutton:disabled{opacity:.2}:host ::ng-deep p-splitButton .p-splitbutton .p-splitbutton-menubutton:disabled{opacity:.3}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button{background-color:#fff;color:var(--vl-primary-color);border:1px solid #fff}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button:enabled:hover{background-color:var(--vl-secondary-nav-bg);color:var(--vl-primary-color);border:1px solid var(--vl-secondary-nav-bg);outline:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-menubutton{background-color:var(--vl-secondary-nav-bg);border-radius:0 2px 2px 0;border:1px solid var(--vl-secondary-nav-bg);border-left:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-menubutton:hover{background-color:var(--vl-secondary-nav-bg);border:1px solid var(--vl-secondary-nav-bg);border-left:none}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-defaultbutton{border-radius:2px 0 0 2px}:host ::ng-deep p-splitButton .p-splitbutton.p-button-outlined .p-button.p-splitbutton-defaultbutton .p-button-label{font-size:12px;line-height:16px;letter-spacing:.3px;white-space:nowrap}:host ::ng-deep p-splitButton .p-splitbutton .p-menu{display:flex;width:auto;margin-top:2px;border-radius:4px;border:1px solid var(--vl-border-color);box-shadow:0 4px 20px #2767c11a}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list{display:flex;flex-direction:column}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem{display:flex;width:100%;height:32px}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link{padding:8px;width:100%;height:100%}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link:not(.p-disabled):hover{background-color:var(--vl-secondary-nav-bg)}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text{color:var(--vl-primary-color)}:host ::ng-deep p-splitButton .p-splitbutton .p-menu .p-menu-list .p-menuitem .p-menuitem-link .p-menuitem-text{line-height:16px;font-size:12px;letter-spacing:.3px;white-space:nowrap}:host ::ng-deep .doc-gen-button{height:32px;width:32px;display:inline-flex}:host ::ng-deep .doc-gen-button .p-button{border:1px solid #fff;border-radius:2px;width:100%;height:100%}:host ::ng-deep .doc-gen-button .p-button.p-component:disabled{opacity:.3}:host ::ng-deep .save-button,:host ::ng-deep .submit-button{height:32px;width:146px;display:flex}:host ::ng-deep .save-button .p-button,:host ::ng-deep .submit-button .p-button{border-radius:3px;width:100%;height:100%;background:rgba(255,255,255,.3);opacity:1;border:none}:host ::ng-deep .save-button .p-button .p-button-label,:host ::ng-deep .submit-button .p-button .p-button-label{font-size:12px;line-height:16px;letter-spacing:.3px;white-space:nowrap}.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 .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;height:14px}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}.metrics__row{display:flex;justify-content:space-between;grid-gap:2px;gap:2px}.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__wrapper .info-list__row a{text-align:right}.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:not(.disabled),.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active:not(.disabled),.flow-navigation .nav-popover-toggle:not(.disabled):hover{opacity:1}.price-list-option{padding:8px;color:var(--vl-primary-color);cursor:pointer}.price-list-option.active,.price-list-option:hover{background:var(--vl-secondary-nav-bg)}.flow-controls{flex-shrink:0;display:flex;align-items:center;grid-gap:16px;gap:16px}\n"], components: [{ type: i3__namespace$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: CartPreviewComponent, selector: "vl-cart-preview", inputs: ["products"] }, { type: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i9__namespace.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }], directives: [{ type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12__namespace.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2__namespace$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5__namespace.AsyncPipe, "titlecase": i5__namespace.TitleCasePipe, "date": i5__namespace.DatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1227
1227
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, decorators: [{
|
1228
1228
|
type: i0.Component,
|
1229
1229
|
args: [{
|
@@ -1232,7 +1232,7 @@
|
|
1232
1232
|
styleUrls: ['./header.component.scss'],
|
1233
1233
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1234
1234
|
}]
|
1235
|
-
}], ctorParameters: function () { return [{ type:
|
1235
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.ContextService }, { type: i1__namespace$1.QuoteDraftService }, { type: i2__namespace$1.QuoteApiService }, { type: i2__namespace$1.SalesforceApiService }, { type: i1__namespace$1.FlowConfigurationService }, { type: FlowRouterService }, { type: FlowDialogService }, { type: i4__namespace.IntegrationState }]; } });
|
1236
1236
|
|
1237
1237
|
var FlowHeaderModule = /** @class */ (function () {
|
1238
1238
|
function FlowHeaderModule() {
|
@@ -1240,7 +1240,7 @@
|
|
1240
1240
|
return FlowHeaderModule;
|
1241
1241
|
}());
|
1242
1242
|
FlowHeaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1243
|
-
FlowHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [
|
1243
|
+
FlowHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [i5.CommonModule,
|
1244
1244
|
i3$1.OverlayPanelModule,
|
1245
1245
|
i3.LetDirectiveModule,
|
1246
1246
|
i12.TooltipModule,
|
@@ -1248,7 +1248,7 @@
|
|
1248
1248
|
CartPreviewModule,
|
1249
1249
|
i9.SplitButtonModule], exports: [FlowHeaderComponent] });
|
1250
1250
|
FlowHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, imports: [[
|
1251
|
-
|
1251
|
+
i5.CommonModule,
|
1252
1252
|
i3$1.OverlayPanelModule,
|
1253
1253
|
i3.LetDirectiveModule,
|
1254
1254
|
i12.TooltipModule,
|
@@ -1261,7 +1261,7 @@
|
|
1261
1261
|
args: [{
|
1262
1262
|
declarations: [FlowHeaderComponent],
|
1263
1263
|
imports: [
|
1264
|
-
|
1264
|
+
i5.CommonModule,
|
1265
1265
|
i3$1.OverlayPanelModule,
|
1266
1266
|
i3.LetDirectiveModule,
|
1267
1267
|
i12.TooltipModule,
|
@@ -1285,7 +1285,7 @@
|
|
1285
1285
|
FlowService.prototype.initSubscriptions = function () {
|
1286
1286
|
var _this = this;
|
1287
1287
|
this.integrationState
|
1288
|
-
.listen$(
|
1288
|
+
.listen$(i4.FlowAction.FLOW_CONFIGURE_PRODUCT)
|
1289
1289
|
.pipe(rxjs.tap(function (payload) {
|
1290
1290
|
var _a, _b;
|
1291
1291
|
var productId = (_a = payload.productId) !== null && _a !== void 0 ? _a : (_b = _this.quoteDraftService.currentState.find(function (li) { return li.id === payload.lineItemId; })) === null || _b === void 0 ? void 0 : _b.productId;
|
@@ -1298,15 +1298,15 @@
|
|
1298
1298
|
}), rxjs.takeUntil(this.cleanup$))
|
1299
1299
|
.subscribe();
|
1300
1300
|
this.integrationState
|
1301
|
-
.listen$(
|
1301
|
+
.listen$(i4.FlowAction.FLOW_NAVIGATE_BACK)
|
1302
1302
|
.pipe(rxjs.tap(function () { return _this.flowRouterService.navigateBack(); }), rxjs.takeUntil(this.cleanup$))
|
1303
1303
|
.subscribe();
|
1304
1304
|
this.integrationState
|
1305
|
-
.listen$(
|
1305
|
+
.listen$(i4.FlowAction.FLOW_NAVIGATE_TO_CATALOG)
|
1306
1306
|
.pipe(rxjs.tap(function () { return _this.flowRouterService.navigateToCatalog(); }), rxjs.takeUntil(this.cleanup$))
|
1307
1307
|
.subscribe();
|
1308
1308
|
this.integrationState
|
1309
|
-
.listen$(
|
1309
|
+
.listen$(i4.FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION)
|
1310
1310
|
.pipe(rxjs.switchMap(function () {
|
1311
1311
|
var quoteDraft = _this.quoteDraftService.quoteDraft;
|
1312
1312
|
var lineItem = _this.configurationService.getSnapshot();
|
@@ -1333,11 +1333,11 @@
|
|
1333
1333
|
};
|
1334
1334
|
return FlowService;
|
1335
1335
|
}());
|
1336
|
-
FlowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, deps: [{ token:
|
1336
|
+
FlowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, deps: [{ token: i4__namespace.IntegrationState }, { token: FlowRouterService }, { token: i1__namespace$1.QuoteDraftService }, { token: i1__namespace$1.ConfigurationService }, { token: i1__namespace$1.FlowConfigurationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1337
1337
|
FlowService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService });
|
1338
1338
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, decorators: [{
|
1339
1339
|
type: i0.Injectable
|
1340
|
-
}], ctorParameters: function () { return [{ type:
|
1340
|
+
}], ctorParameters: function () { return [{ type: i4__namespace.IntegrationState }, { type: FlowRouterService }, { type: i1__namespace$1.QuoteDraftService }, { type: i1__namespace$1.ConfigurationService }, { type: i1__namespace$1.FlowConfigurationService }]; } });
|
1341
1341
|
|
1342
1342
|
var FlowComponent = /** @class */ (function () {
|
1343
1343
|
function FlowComponent(routerService, quoteDraftService, flowService, docGenService, integrationState) {
|
@@ -1361,8 +1361,8 @@
|
|
1361
1361
|
};
|
1362
1362
|
return FlowComponent;
|
1363
1363
|
}());
|
1364
|
-
FlowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, deps: [{ token: FlowRouterService }, { token:
|
1365
|
-
FlowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowComponent, selector: "vl-flow", ngImport: i0__namespace, 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\n<ng-container *vlLet=\"isStandalone$ | async as isStandalone\">\n <vl-flow-doc-gen *ngIf=\"!isStandalone\"></vl-flow-doc-gen>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.flow-content{flex-grow:1;position:relative;overflow:hidden}.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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: DocGenComponent, selector: "vl-flow-doc-gen" }], directives: [{ type:
|
1364
|
+
FlowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, deps: [{ token: FlowRouterService }, { token: i1__namespace$1.QuoteDraftService }, { token: FlowService }, { token: FlowDocGenService }, { token: i4__namespace.IntegrationState }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1365
|
+
FlowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowComponent, selector: "vl-flow", ngImport: i0__namespace, 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\n<ng-container *vlLet=\"isStandalone$ | async as isStandalone\">\n <vl-flow-doc-gen *ngIf=\"!isStandalone\"></vl-flow-doc-gen>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.flow-content{flex-grow:1;position:relative;overflow:hidden}.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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: DocGenComponent, selector: "vl-flow-doc-gen" }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1366
1366
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, decorators: [{
|
1367
1367
|
type: i0.Component,
|
1368
1368
|
args: [{
|
@@ -1371,7 +1371,28 @@
|
|
1371
1371
|
styleUrls: ['./flow.component.scss'],
|
1372
1372
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1373
1373
|
}]
|
1374
|
-
}], ctorParameters: function () { return [{ type: FlowRouterService }, { type:
|
1374
|
+
}], ctorParameters: function () { return [{ type: FlowRouterService }, { type: i1__namespace$1.QuoteDraftService }, { type: FlowService }, { type: FlowDocGenService }, { type: i4__namespace.IntegrationState }]; } });
|
1375
|
+
|
1376
|
+
var getFlowObjectIdPropertyName = function (id) {
|
1377
|
+
var objectName = core.SalesforceIdUtils.getSfObjectNameById(id);
|
1378
|
+
switch (objectName) {
|
1379
|
+
case 'Account':
|
1380
|
+
return 'accountId';
|
1381
|
+
case 'Order':
|
1382
|
+
return 'orderId';
|
1383
|
+
case 'Quote':
|
1384
|
+
default:
|
1385
|
+
return 'quoteId';
|
1386
|
+
}
|
1387
|
+
};
|
1388
|
+
var getDefaultProperties = function (params) {
|
1389
|
+
var _a;
|
1390
|
+
var properties = {};
|
1391
|
+
if (((_a = params.flowParams) === null || _a === void 0 ? void 0 : _a.entryPath.includes('/product')) || params.mode === core.ConfigurationContextMode.REMOTE) {
|
1392
|
+
properties.standalone = 'true';
|
1393
|
+
}
|
1394
|
+
return properties;
|
1395
|
+
};
|
1375
1396
|
|
1376
1397
|
var ContextGuard = /** @class */ (function () {
|
1377
1398
|
function ContextGuard(router, routerService, contextService) {
|
@@ -1381,7 +1402,6 @@
|
|
1381
1402
|
}
|
1382
1403
|
ContextGuard.prototype.checkActivation = function (route) {
|
1383
1404
|
var _this = this;
|
1384
|
-
var _a, _b;
|
1385
1405
|
var queryParams = route.queryParams;
|
1386
1406
|
var accountId = queryParams.accountId, quoteId = queryParams.quoteId, orderId = queryParams.orderId;
|
1387
1407
|
var rpcMessage = window.RPC_MESSAGE;
|
@@ -1390,8 +1410,7 @@
|
|
1390
1410
|
if (mode == null) {
|
1391
1411
|
return this.handleError(route, 'Mode is undefined');
|
1392
1412
|
}
|
1393
|
-
var
|
1394
|
-
var headerId = accountId || quoteId || orderId || rpcMessageId || 'empty-for-test-mode';
|
1413
|
+
var headerId = accountId || quoteId || orderId || this.rpcMessageId || 'empty-for-test-mode';
|
1395
1414
|
// Allow if context is already initialized with the same headerId
|
1396
1415
|
if (this.contextService.isInitialized) {
|
1397
1416
|
var currentContext = this.contextService.resolve();
|
@@ -1402,7 +1421,7 @@
|
|
1402
1421
|
// Initialize context
|
1403
1422
|
return this.contextService.create(headerId, mode).pipe(rxjs.tap(function (context) {
|
1404
1423
|
// Update context with queryParams
|
1405
|
-
_this.contextService.update(Object.assign(Object.assign({}, context), { properties: Object.assign(Object.assign({}, context.properties), (queryParams !== null && queryParams !== void 0 ? queryParams : {})) }));
|
1424
|
+
_this.contextService.update(Object.assign(Object.assign({}, context), { properties: Object.assign(Object.assign(Object.assign({}, context.properties), (queryParams !== null && queryParams !== void 0 ? queryParams : {})), getDefaultProperties({ mode: mode })) }));
|
1406
1425
|
}), rxjs.map(function () { return true; }), rxjs.catchError(function (e) {
|
1407
1426
|
var message = e instanceof http.HttpErrorResponse ? e.error.message : e;
|
1408
1427
|
return _this.handleError(route, message);
|
@@ -1414,6 +1433,20 @@
|
|
1414
1433
|
ContextGuard.prototype.canActivateChild = function (childRoute) {
|
1415
1434
|
return this.checkActivation(childRoute);
|
1416
1435
|
};
|
1436
|
+
Object.defineProperty(ContextGuard.prototype, "rpcMessageId", {
|
1437
|
+
get: function () {
|
1438
|
+
var _a, _b;
|
1439
|
+
if (!window.RPC_MESSAGE) {
|
1440
|
+
return;
|
1441
|
+
}
|
1442
|
+
var rpcMessage = JSON.parse(window.RPC_MESSAGE);
|
1443
|
+
var veloceReferenceId = (_a = rpcMessage.configuration) === null || _a === void 0 ? void 0 : _a.VeloceReferenceId;
|
1444
|
+
var quoteId = (_b = rpcMessage.quote) === null || _b === void 0 ? void 0 : _b.Id;
|
1445
|
+
return veloceReferenceId || quoteId;
|
1446
|
+
},
|
1447
|
+
enumerable: false,
|
1448
|
+
configurable: true
|
1449
|
+
});
|
1417
1450
|
ContextGuard.prototype.getConfigurationContextMode = function (accountId, quoteId, orderId, rpcMessage) {
|
1418
1451
|
if (accountId) {
|
1419
1452
|
return core.ConfigurationContextMode.ACCOUNT;
|
@@ -1436,11 +1469,11 @@
|
|
1436
1469
|
};
|
1437
1470
|
return ContextGuard;
|
1438
1471
|
}());
|
1439
|
-
ContextGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard, deps: [{ token: i1__namespace$
|
1472
|
+
ContextGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard, deps: [{ token: i1__namespace$2.Router }, { token: FlowRouterService }, { token: i1__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1440
1473
|
ContextGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard });
|
1441
1474
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard, decorators: [{
|
1442
1475
|
type: i0.Injectable
|
1443
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1476
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: FlowRouterService }, { type: i1__namespace$1.ContextService }]; } });
|
1444
1477
|
|
1445
1478
|
var ProductUnloadGuard = /** @class */ (function () {
|
1446
1479
|
function ProductUnloadGuard(router, contextService, quoteDraftService, configurationService, flowDialogService) {
|
@@ -1475,11 +1508,11 @@
|
|
1475
1508
|
};
|
1476
1509
|
return ProductUnloadGuard;
|
1477
1510
|
}());
|
1478
|
-
ProductUnloadGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard, deps: [{ token: i1__namespace$
|
1511
|
+
ProductUnloadGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$1.ContextService }, { token: i1__namespace$1.QuoteDraftService }, { token: i1__namespace$1.ConfigurationService }, { token: FlowDialogService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1479
1512
|
ProductUnloadGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard });
|
1480
1513
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard, decorators: [{
|
1481
1514
|
type: i0.Injectable
|
1482
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1515
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$1.ContextService }, { type: i1__namespace$1.QuoteDraftService }, { type: i1__namespace$1.ConfigurationService }, { type: FlowDialogService }]; } });
|
1483
1516
|
|
1484
1517
|
var RootGuard = /** @class */ (function () {
|
1485
1518
|
function RootGuard(router, routerService) {
|
@@ -1513,12 +1546,12 @@
|
|
1513
1546
|
};
|
1514
1547
|
return RootGuard;
|
1515
1548
|
}());
|
1516
|
-
RootGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, deps: [{ token: i1__namespace$
|
1549
|
+
RootGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, deps: [{ token: i1__namespace$2.Router }, { token: FlowRouterService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1517
1550
|
RootGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, providedIn: 'root' });
|
1518
1551
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, decorators: [{
|
1519
1552
|
type: i0.Injectable,
|
1520
1553
|
args: [{ providedIn: 'root' }]
|
1521
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1554
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: FlowRouterService }]; } });
|
1522
1555
|
|
1523
1556
|
var FLOW_CUSTOMIZATION = new i0.InjectionToken('FLOW_CUSTOMIZATION');
|
1524
1557
|
|
@@ -1615,8 +1648,8 @@
|
|
1615
1648
|
};
|
1616
1649
|
return CatalogComponent;
|
1617
1650
|
}());
|
1618
|
-
CatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, deps: [{ token: i2__namespace$
|
1619
|
-
CatalogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: CatalogComponent, selector: "vl-flow-catalog", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type:
|
1651
|
+
CatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, deps: [{ token: i2__namespace$1.UITemplatesApiService }, { token: i1__namespace$1.ContextService }, { token: i0__namespace.ChangeDetectorRef }, { token: i3__namespace.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1652
|
+
CatalogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: CatalogComponent, selector: "vl-flow-catalog", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4__namespace.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1620
1653
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, decorators: [{
|
1621
1654
|
type: i0.Component,
|
1622
1655
|
args: [{
|
@@ -1626,7 +1659,7 @@
|
|
1626
1659
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1627
1660
|
}]
|
1628
1661
|
}], ctorParameters: function () {
|
1629
|
-
return [{ type: i2__namespace$
|
1662
|
+
return [{ type: i2__namespace$1.UITemplatesApiService }, { type: i1__namespace$1.ContextService }, { type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.ToastService }, { type: undefined, decorators: [{
|
1630
1663
|
type: i0.Optional
|
1631
1664
|
}, {
|
1632
1665
|
type: i0.Inject,
|
@@ -1640,30 +1673,17 @@
|
|
1640
1673
|
return CatalogModule;
|
1641
1674
|
}());
|
1642
1675
|
CatalogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1643
|
-
CatalogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, declarations: [CatalogComponent], imports: [
|
1644
|
-
CatalogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, imports: [[
|
1676
|
+
CatalogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, declarations: [CatalogComponent], imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule], exports: [CatalogComponent] });
|
1677
|
+
CatalogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, imports: [[i5.CommonModule, i4.PreviewModule, i3.LoaderModule]] });
|
1645
1678
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, decorators: [{
|
1646
1679
|
type: i0.NgModule,
|
1647
1680
|
args: [{
|
1648
1681
|
declarations: [CatalogComponent],
|
1649
|
-
imports: [
|
1682
|
+
imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule],
|
1650
1683
|
exports: [CatalogComponent],
|
1651
1684
|
}]
|
1652
1685
|
}] });
|
1653
1686
|
|
1654
|
-
var getFlowObjectIdPropertyName = function (id) {
|
1655
|
-
var objectName = core.SalesforceIdUtils.getSfObjectNameById(id);
|
1656
|
-
switch (objectName) {
|
1657
|
-
case 'Account':
|
1658
|
-
return 'accountId';
|
1659
|
-
case 'Order':
|
1660
|
-
return 'orderId';
|
1661
|
-
case 'Quote':
|
1662
|
-
default:
|
1663
|
-
return 'quoteId';
|
1664
|
-
}
|
1665
|
-
};
|
1666
|
-
|
1667
1687
|
var DebugComponent = /** @class */ (function () {
|
1668
1688
|
function DebugComponent(flowsApiService, router, activatedRoute, context, quoteDraftService) {
|
1669
1689
|
this.flowsApiService = flowsApiService;
|
@@ -1702,8 +1722,8 @@
|
|
1702
1722
|
};
|
1703
1723
|
return DebugComponent;
|
1704
1724
|
}());
|
1705
|
-
DebugComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, deps: [{ token: i2__namespace$
|
1706
|
-
DebugComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DebugComponent, selector: "vl-flow-debug", ngImport: i0__namespace, 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 </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: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5__namespace$1.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i6__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace$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: i6__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7__namespace.InputText, selector: "[pInputText]" }, { type:
|
1725
|
+
DebugComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, deps: [{ token: i2__namespace$1.FlowsApiService }, { token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }, { token: i1__namespace$1.ContextService }, { token: i1__namespace$1.QuoteDraftService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1726
|
+
DebugComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: DebugComponent, selector: "vl-flow-debug", ngImport: i0__namespace, 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 </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: i2__namespace.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5__namespace$1.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i6__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace$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: i6__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7__namespace.InputText, selector: "[pInputText]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1707
1727
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, decorators: [{
|
1708
1728
|
type: i0.Component,
|
1709
1729
|
args: [{
|
@@ -1712,7 +1732,7 @@
|
|
1712
1732
|
styleUrls: ['./debug.component.scss'],
|
1713
1733
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1714
1734
|
}]
|
1715
|
-
}], ctorParameters: function () { return [{ type: i2__namespace$
|
1735
|
+
}], ctorParameters: function () { return [{ type: i2__namespace$1.FlowsApiService }, { type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }, { type: i1__namespace$1.ContextService }, { type: i1__namespace$1.QuoteDraftService }]; } });
|
1716
1736
|
|
1717
1737
|
var routes$1 = [{ path: '', component: DebugComponent }];
|
1718
1738
|
var DebugModule = /** @class */ (function () {
|
@@ -1721,17 +1741,17 @@
|
|
1721
1741
|
return DebugModule;
|
1722
1742
|
}());
|
1723
1743
|
DebugModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1724
|
-
DebugModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, declarations: [DebugComponent], imports: [
|
1744
|
+
DebugModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, declarations: [DebugComponent], imports: [i5.CommonModule,
|
1725
1745
|
i6.FormsModule,
|
1726
|
-
i6.ReactiveFormsModule, i1__namespace$
|
1746
|
+
i6.ReactiveFormsModule, i1__namespace$2.RouterModule, i5$1.RadioButtonModule,
|
1727
1747
|
i2.ButtonModule,
|
1728
1748
|
i7.InputTextModule,
|
1729
1749
|
dropdown.DropdownModule] });
|
1730
1750
|
DebugModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, imports: [[
|
1731
|
-
|
1751
|
+
i5.CommonModule,
|
1732
1752
|
i6.FormsModule,
|
1733
1753
|
i6.ReactiveFormsModule,
|
1734
|
-
i1$
|
1754
|
+
i1$2.RouterModule.forChild(routes$1),
|
1735
1755
|
i5$1.RadioButtonModule,
|
1736
1756
|
i2.ButtonModule,
|
1737
1757
|
i7.InputTextModule,
|
@@ -1742,10 +1762,10 @@
|
|
1742
1762
|
args: [{
|
1743
1763
|
declarations: [DebugComponent],
|
1744
1764
|
imports: [
|
1745
|
-
|
1765
|
+
i5.CommonModule,
|
1746
1766
|
i6.FormsModule,
|
1747
1767
|
i6.ReactiveFormsModule,
|
1748
|
-
i1$
|
1768
|
+
i1$2.RouterModule.forChild(routes$1),
|
1749
1769
|
i5$1.RadioButtonModule,
|
1750
1770
|
i2.ButtonModule,
|
1751
1771
|
i7.InputTextModule,
|
@@ -1777,13 +1797,13 @@
|
|
1777
1797
|
return EmptyAccountModule;
|
1778
1798
|
}());
|
1779
1799
|
EmptyAccountModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1780
|
-
EmptyAccountModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, declarations: [EmptyAccountComponent], imports: [
|
1781
|
-
EmptyAccountModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, imports: [[
|
1800
|
+
EmptyAccountModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, declarations: [EmptyAccountComponent], imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule, i3.EmptyStateModule], exports: [EmptyAccountComponent] });
|
1801
|
+
EmptyAccountModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, imports: [[i5.CommonModule, i4.PreviewModule, i3.LoaderModule, i3.EmptyStateModule]] });
|
1782
1802
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmptyAccountModule, decorators: [{
|
1783
1803
|
type: i0.NgModule,
|
1784
1804
|
args: [{
|
1785
1805
|
declarations: [EmptyAccountComponent],
|
1786
|
-
imports: [
|
1806
|
+
imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule, i3.EmptyStateModule],
|
1787
1807
|
exports: [EmptyAccountComponent],
|
1788
1808
|
}]
|
1789
1809
|
}] });
|
@@ -1858,12 +1878,12 @@
|
|
1858
1878
|
.find(function (id) { return id; });
|
1859
1879
|
};
|
1860
1880
|
LegacyProductComponent.prototype.configure = function (productId) {
|
1861
|
-
var runtimeContext = this.getRuntimeContext(productId, '',
|
1881
|
+
var runtimeContext = this.getRuntimeContext(productId, '', i1$1.RuntimeOperation.INIT);
|
1862
1882
|
this.startRuntime({}, runtimeContext);
|
1863
1883
|
};
|
1864
1884
|
LegacyProductComponent.prototype.reConfigure = function (lineItemId, currentState) {
|
1865
1885
|
var currentStateItem = core.EntityUtil.findById(lineItemId, currentState);
|
1866
|
-
var runtimeContext = this.getRuntimeContext(currentStateItem.productId, currentStateItem.offeringId,
|
1886
|
+
var runtimeContext = this.getRuntimeContext(currentStateItem.productId, currentStateItem.offeringId, i1$1.RuntimeOperation.UPDATE);
|
1867
1887
|
var states = {
|
1868
1888
|
configurableRamp: currentStateItem,
|
1869
1889
|
currentState: currentState,
|
@@ -1893,14 +1913,14 @@
|
|
1893
1913
|
LegacyProductComponent.prototype.getRuntimeContext = function (productId, offeringId, runtimeOperation) {
|
1894
1914
|
var _this = this;
|
1895
1915
|
return this.runtimeContextService.getRuntimeContext(productId, offeringId).pipe(operators.map(function (runtimeContext) {
|
1896
|
-
runtimeContext.invocationContext = { runtimeOperation:
|
1916
|
+
runtimeContext.invocationContext = { runtimeOperation: i1$1.RuntimeOperation[runtimeOperation] };
|
1897
1917
|
return runtimeContext;
|
1898
1918
|
}), operators.switchMap(function (runtimeContext) { return _this.customizeContext(productId, runtimeContext); }));
|
1899
1919
|
};
|
1900
1920
|
return LegacyProductComponent;
|
1901
1921
|
}());
|
1902
|
-
LegacyProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductComponent, deps: [{ token: i1__namespace$
|
1903
|
-
LegacyProductComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: LegacyProductComponent, selector: "ng-component", ngImport: i0__namespace, template: "<vl-runtime #runtimeView (solutionUpdated)=\"onSolutionUpdated($event)\"></vl-runtime>\n", styles: [":host{display:block;height:100%}\n"], components: [{ type: i4__namespace$
|
1922
|
+
LegacyProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductComponent, deps: [{ token: i1__namespace$2.ActivatedRoute }, { token: i1__namespace$1.QuoteDraftService }, { token: i2__namespace$1.QuoteApiService }, { token: i1__namespace$1.ContextService }, { token: i4__namespace$2.RuntimeContextService }, { token: i4__namespace$2.RuntimeService }, { token: i4__namespace$2.CurrentStateService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1923
|
+
LegacyProductComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: LegacyProductComponent, selector: "ng-component", ngImport: i0__namespace, template: "<vl-runtime #runtimeView (solutionUpdated)=\"onSolutionUpdated($event)\"></vl-runtime>\n", styles: [":host{display:block;height:100%}\n"], components: [{ type: i4__namespace$2.RuntimeComponent, selector: "vl-runtime", outputs: ["solutionUpdated"] }] });
|
1904
1924
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductComponent, decorators: [{
|
1905
1925
|
type: i0.Component,
|
1906
1926
|
args: [{
|
@@ -1908,7 +1928,7 @@
|
|
1908
1928
|
styleUrls: ['./legacy-product.component.scss'],
|
1909
1929
|
}]
|
1910
1930
|
}], ctorParameters: function () {
|
1911
|
-
return [{ type: i1__namespace$
|
1931
|
+
return [{ type: i1__namespace$2.ActivatedRoute }, { type: i1__namespace$1.QuoteDraftService }, { type: i2__namespace$1.QuoteApiService }, { type: i1__namespace$1.ContextService }, { type: i4__namespace$2.RuntimeContextService }, { type: i4__namespace$2.RuntimeService }, { type: i4__namespace$2.CurrentStateService }, { type: undefined, decorators: [{
|
1912
1932
|
type: i0.Optional
|
1913
1933
|
}, {
|
1914
1934
|
type: i0.Inject,
|
@@ -1922,13 +1942,13 @@
|
|
1922
1942
|
return LegacyProductModule;
|
1923
1943
|
}());
|
1924
1944
|
LegacyProductModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1925
|
-
LegacyProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [
|
1926
|
-
LegacyProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, imports: [[
|
1945
|
+
LegacyProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [i5.CommonModule, i4$2.RuntimeModule, i1__namespace$3.TooltipModule], exports: [LegacyProductComponent] });
|
1946
|
+
LegacyProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, imports: [[i5.CommonModule, i4$2.RuntimeModule, i1$3.TooltipModule.forRoot()]] });
|
1927
1947
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, decorators: [{
|
1928
1948
|
type: i0.NgModule,
|
1929
1949
|
args: [{
|
1930
1950
|
declarations: [LegacyProductComponent],
|
1931
|
-
imports: [
|
1951
|
+
imports: [i5.CommonModule, i4$2.RuntimeModule, i1$3.TooltipModule.forRoot()],
|
1932
1952
|
exports: [LegacyProductComponent],
|
1933
1953
|
}]
|
1934
1954
|
}] });
|
@@ -2023,8 +2043,8 @@
|
|
2023
2043
|
};
|
2024
2044
|
return ProductComponent;
|
2025
2045
|
}());
|
2026
|
-
ProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, deps: [{ token:
|
2027
|
-
ProductComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ProductComponent, selector: "vl-flow-product", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type:
|
2046
|
+
ProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, deps: [{ token: i1__namespace$1.ContextService }, { token: i1__namespace$1.ConfigurationRuntimeService }, { token: i1__namespace$1.ConfigurationService }, { token: i1__namespace$1.QuoteDraftService }, { token: i2__namespace$2.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
2047
|
+
ProductComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ProductComponent, selector: "vl-flow-product", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4__namespace.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
2028
2048
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, decorators: [{
|
2029
2049
|
type: i0.Component,
|
2030
2050
|
args: [{
|
@@ -2034,7 +2054,7 @@
|
|
2034
2054
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
2035
2055
|
}]
|
2036
2056
|
}], ctorParameters: function () {
|
2037
|
-
return [{ type:
|
2057
|
+
return [{ type: i1__namespace$1.ContextService }, { type: i1__namespace$1.ConfigurationRuntimeService }, { type: i1__namespace$1.ConfigurationService }, { type: i1__namespace$1.QuoteDraftService }, { type: i2__namespace$2.MessageService }, { type: undefined, decorators: [{
|
2038
2058
|
type: i0.Optional
|
2039
2059
|
}, {
|
2040
2060
|
type: i0.Inject,
|
@@ -2048,13 +2068,13 @@
|
|
2048
2068
|
return ProductModule;
|
2049
2069
|
}());
|
2050
2070
|
ProductModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2051
|
-
ProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, declarations: [ProductComponent], imports: [
|
2052
|
-
ProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, imports: [[
|
2071
|
+
ProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, declarations: [ProductComponent], imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule], exports: [ProductComponent] });
|
2072
|
+
ProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, imports: [[i5.CommonModule, i4.PreviewModule, i3.LoaderModule]] });
|
2053
2073
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, decorators: [{
|
2054
2074
|
type: i0.NgModule,
|
2055
2075
|
args: [{
|
2056
2076
|
declarations: [ProductComponent],
|
2057
|
-
imports: [
|
2077
|
+
imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule],
|
2058
2078
|
exports: [ProductComponent],
|
2059
2079
|
}]
|
2060
2080
|
}] });
|
@@ -2073,8 +2093,8 @@
|
|
2073
2093
|
}
|
2074
2094
|
return RecordNotFoundComponent;
|
2075
2095
|
}());
|
2076
|
-
RecordNotFoundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundComponent, deps: [{ token: i1__namespace$
|
2077
|
-
RecordNotFoundComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0__namespace, 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", styles: [":host{display:block;padding:24px 54px}\n"], directives: [{ type:
|
2096
|
+
RecordNotFoundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundComponent, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
2097
|
+
RecordNotFoundComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0__namespace, 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", styles: [":host{display:block;padding:24px 54px}\n"], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
2078
2098
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundComponent, decorators: [{
|
2079
2099
|
type: i0.Component,
|
2080
2100
|
args: [{
|
@@ -2083,7 +2103,7 @@
|
|
2083
2103
|
styleUrls: ['./record-not-found.component.scss'],
|
2084
2104
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
2085
2105
|
}]
|
2086
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
2106
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }]; } });
|
2087
2107
|
|
2088
2108
|
var routes = [{ path: '', component: RecordNotFoundComponent }];
|
2089
2109
|
var RecordNotFoundModule = /** @class */ (function () {
|
@@ -2092,13 +2112,430 @@
|
|
2092
2112
|
return RecordNotFoundModule;
|
2093
2113
|
}());
|
2094
2114
|
RecordNotFoundModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2095
|
-
RecordNotFoundModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [
|
2096
|
-
RecordNotFoundModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, imports: [[
|
2115
|
+
RecordNotFoundModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [i5.CommonModule, i1__namespace$2.RouterModule] });
|
2116
|
+
RecordNotFoundModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, imports: [[i5.CommonModule, i1$2.RouterModule.forChild(routes)]] });
|
2097
2117
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, decorators: [{
|
2098
2118
|
type: i0.NgModule,
|
2099
2119
|
args: [{
|
2100
2120
|
declarations: [RecordNotFoundComponent],
|
2101
|
-
imports: [
|
2121
|
+
imports: [i5.CommonModule, i1$2.RouterModule.forChild(routes)],
|
2122
|
+
}]
|
2123
|
+
}] });
|
2124
|
+
|
2125
|
+
var RemoteComponent = /** @class */ (function () {
|
2126
|
+
function RemoteComponent(contextService, quoteDraftService, quoteApiService, runtimeService, configurationService, messageService, integrationState, location) {
|
2127
|
+
this.contextService = contextService;
|
2128
|
+
this.quoteDraftService = quoteDraftService;
|
2129
|
+
this.quoteApiService = quoteApiService;
|
2130
|
+
this.runtimeService = runtimeService;
|
2131
|
+
this.configurationService = configurationService;
|
2132
|
+
this.messageService = messageService;
|
2133
|
+
this.integrationState = integrationState;
|
2134
|
+
this.location = location;
|
2135
|
+
this.state$ = new rxjs.BehaviorSubject({ loading: true, failure: false });
|
2136
|
+
this.DYNAMIC_OPTION_PRODUCTS_KEY = 'Dynamic';
|
2137
|
+
this.destroyed$ = new rxjs.Subject();
|
2138
|
+
this.rpcMessage = JSON.parse(window.RPC_MESSAGE);
|
2139
|
+
this.rpcMessage.options.sort(function (a, b) { var _a, _b; return ((_a = a.featureNumber) !== null && _a !== void 0 ? _a : 99999) - ((_b = b.featureNumber) !== null && _b !== void 0 ? _b : 99999); });
|
2140
|
+
this.updateHasChildrenFlag(this.rpcMessage.product.configuredProductId);
|
2141
|
+
// update context properties
|
2142
|
+
if (this.rpcMessage.quote) {
|
2143
|
+
var properties_1 = {};
|
2144
|
+
if (this.rpcMessage.quote.SBQQ__Opportunity2__c) {
|
2145
|
+
properties_1.OpportunityId = this.rpcMessage.quote.SBQQ__Opportunity2__c;
|
2146
|
+
}
|
2147
|
+
Object.entries(this.rpcMessage.quote).forEach(function (_f) {
|
2148
|
+
var _g = __read(_f, 2), key = _g[0], value = _g[1];
|
2149
|
+
if (value !== undefined && !(value instanceof Object)) {
|
2150
|
+
properties_1[key] = value;
|
2151
|
+
}
|
2152
|
+
});
|
2153
|
+
this.contextService.update({ properties: properties_1 });
|
2154
|
+
}
|
2155
|
+
this.initSubscriptions();
|
2156
|
+
this.initConfiguration();
|
2157
|
+
}
|
2158
|
+
RemoteComponent.prototype.ngOnDestroy = function () {
|
2159
|
+
this.destroyed$.next();
|
2160
|
+
this.destroyed$.complete();
|
2161
|
+
};
|
2162
|
+
RemoteComponent.prototype.initConfiguration = function () {
|
2163
|
+
var _this = this;
|
2164
|
+
var productId = this.rpcMessage.product.configuredProductId;
|
2165
|
+
var quote = this.quoteDraftService.quoteDraft;
|
2166
|
+
if (!productId || !quote) {
|
2167
|
+
return;
|
2168
|
+
}
|
2169
|
+
this.runtimeService
|
2170
|
+
.init({ productId: productId })
|
2171
|
+
.pipe(rxjs.first(), rxjs.tap(function (context) {
|
2172
|
+
var _a, _b, _c, _d, _e;
|
2173
|
+
var pricingEnabled = ((_b = (_a = context === null || context === void 0 ? void 0 : context.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.pricingEnabled) ? 'true' : 'false';
|
2174
|
+
var priceListId = (_d = (_c = context === null || context === void 0 ? void 0 : context.uiDefinition) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.priceList;
|
2175
|
+
var runtimeContextProperties = (_e = _this.runtimeService.runtimeContext) === null || _e === void 0 ? void 0 : _e.properties;
|
2176
|
+
if (runtimeContextProperties) {
|
2177
|
+
runtimeContextProperties.PriceListId = priceListId;
|
2178
|
+
runtimeContextProperties.PricingEnabled = pricingEnabled;
|
2179
|
+
}
|
2180
|
+
_this.contextService.update({
|
2181
|
+
properties: {
|
2182
|
+
ModelId: context === null || context === void 0 ? void 0 : context.modelId,
|
2183
|
+
RuntimeMode: 'TEST',
|
2184
|
+
PricingEnabled: pricingEnabled,
|
2185
|
+
PriceListId: priceListId,
|
2186
|
+
},
|
2187
|
+
});
|
2188
|
+
_this.uiDefinition = context === null || context === void 0 ? void 0 : context.uiDefinition;
|
2189
|
+
_this.configurationService.updateCurrentStates({
|
2190
|
+
configurableRamp: _this.createLineItem(),
|
2191
|
+
currentState: quote.currentState,
|
2192
|
+
});
|
2193
|
+
}), this.throwIfNoUIDefinition(), rxjs.switchMap(function () { return _this.configurationService.configure(); }), rxjs.tap(function () { return _this.state$.next({ loading: false, failure: false }); }), rxjs.catchError(function (error) {
|
2194
|
+
var _a, _b;
|
2195
|
+
if (!((_b = (_a = _this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
|
2196
|
+
_this.messageService.add({ severity: 'error', summary: error });
|
2197
|
+
}
|
2198
|
+
_this.state$.next({ loading: false, failure: true });
|
2199
|
+
return rxjs.of();
|
2200
|
+
}), rxjs.takeUntil(this.destroyed$))
|
2201
|
+
.subscribe();
|
2202
|
+
};
|
2203
|
+
RemoteComponent.prototype.throwIfNoUIDefinition = function () {
|
2204
|
+
var _this = this;
|
2205
|
+
return function (source$) {
|
2206
|
+
return source$.pipe(rxjs.switchMap(function () {
|
2207
|
+
if (!_this.uiDefinition) {
|
2208
|
+
return rxjs.throwError(function () { return 'Product does not have Configuration UI'; });
|
2209
|
+
}
|
2210
|
+
return source$;
|
2211
|
+
}));
|
2212
|
+
};
|
2213
|
+
};
|
2214
|
+
RemoteComponent.prototype.initSubscriptions = function () {
|
2215
|
+
var _this = this;
|
2216
|
+
this.integrationState
|
2217
|
+
.listen$(i4.FlowAction.REMOTE_CANCEL)
|
2218
|
+
.pipe(rxjs.tap(function () { return _this.location.back(); }), rxjs.takeUntil(this.destroyed$))
|
2219
|
+
.subscribe();
|
2220
|
+
this.integrationState
|
2221
|
+
.listen$(i4.FlowAction.REMOTE_APPLY)
|
2222
|
+
.pipe(rxjs.tap(function () { return _this.saveRpcMessage(); }), rxjs.takeUntil(this.destroyed$))
|
2223
|
+
.subscribe();
|
2224
|
+
};
|
2225
|
+
RemoteComponent.prototype.createLineItem = function () {
|
2226
|
+
var _a, _b;
|
2227
|
+
var _f = __read((_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) !== null && _b !== void 0 ? _b : [], 1), quoteDraftLineItem = _f[0];
|
2228
|
+
if (quoteDraftLineItem && (quoteDraftLineItem.attributes.length > 0 || quoteDraftLineItem.lineItems.length > 0)) {
|
2229
|
+
return quoteDraftLineItem;
|
2230
|
+
}
|
2231
|
+
var lineItem = this.createRootLineItem();
|
2232
|
+
var dynamicOptionProducts = this.rpcMessage.product.optionConfigurations[this.DYNAMIC_OPTION_PRODUCTS_KEY];
|
2233
|
+
if (dynamicOptionProducts) {
|
2234
|
+
var options = this.toParentChildMap(dynamicOptionProducts);
|
2235
|
+
var items = [lineItem];
|
2236
|
+
for (var i = 0; i < items.length; i++) {
|
2237
|
+
var item = items[i];
|
2238
|
+
var children = options.get(item.id);
|
2239
|
+
if (children) {
|
2240
|
+
item.lineItems = children;
|
2241
|
+
items = items.concat(children);
|
2242
|
+
}
|
2243
|
+
}
|
2244
|
+
}
|
2245
|
+
return lineItem;
|
2246
|
+
};
|
2247
|
+
RemoteComponent.prototype.createRootLineItem = function () {
|
2248
|
+
var _a, _b, _c, _d;
|
2249
|
+
var product = this.rpcMessage.product;
|
2250
|
+
var runtimeContext = this.runtimeService.runtimeContext;
|
2251
|
+
var veloceInstanceId = product.configurationAttributes.VeloceInstanceId__c;
|
2252
|
+
var quoteId = (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState[0]) === null || _b === void 0 ? void 0 : _b.id;
|
2253
|
+
return {
|
2254
|
+
id: quoteId || veloceInstanceId || core.UUID.UUID(),
|
2255
|
+
type: (_c = runtimeContext.productType) !== null && _c !== void 0 ? _c : '',
|
2256
|
+
name: ((_d = runtimeContext.properties) === null || _d === void 0 ? void 0 : _d.displayName) || runtimeContext.productName,
|
2257
|
+
productName: runtimeContext.productName,
|
2258
|
+
productId: runtimeContext.productId,
|
2259
|
+
cfgStatus: 'Default',
|
2260
|
+
actionCode: 'ADD',
|
2261
|
+
qty: 1,
|
2262
|
+
};
|
2263
|
+
};
|
2264
|
+
RemoteComponent.prototype.toParentChildMap = function (remoteOptionProducts) {
|
2265
|
+
var e_1, _f;
|
2266
|
+
var _a;
|
2267
|
+
var result = new Map();
|
2268
|
+
try {
|
2269
|
+
for (var remoteOptionProducts_1 = __values(remoteOptionProducts), remoteOptionProducts_1_1 = remoteOptionProducts_1.next(); !remoteOptionProducts_1_1.done; remoteOptionProducts_1_1 = remoteOptionProducts_1.next()) {
|
2270
|
+
var option = remoteOptionProducts_1_1.value;
|
2271
|
+
var configurationData = (_a = option === null || option === void 0 ? void 0 : option.readOnly) === null || _a === void 0 ? void 0 : _a.line;
|
2272
|
+
var id = configurationData === null || configurationData === void 0 ? void 0 : configurationData.VeloceInstanceId__c;
|
2273
|
+
var parentId = configurationData === null || configurationData === void 0 ? void 0 : configurationData.VeloceParentInstanceId__c;
|
2274
|
+
if (!option.selected || !configurationData || !id || !parentId) {
|
2275
|
+
continue;
|
2276
|
+
}
|
2277
|
+
var productId = option.productId;
|
2278
|
+
var lineItem = {
|
2279
|
+
id: id,
|
2280
|
+
productId: productId,
|
2281
|
+
parentId: parentId,
|
2282
|
+
type: configurationData.ModelType__c,
|
2283
|
+
port: configurationData.ModelPort__c,
|
2284
|
+
cfgStatus: configurationData.ConfigurationStatus__c,
|
2285
|
+
actionCode: configurationData.ActionCode__c,
|
2286
|
+
qty: option.Quantity,
|
2287
|
+
};
|
2288
|
+
var siblings = result.get(productId);
|
2289
|
+
if (!siblings) {
|
2290
|
+
result.set(parentId, (siblings = []));
|
2291
|
+
}
|
2292
|
+
siblings.push(lineItem);
|
2293
|
+
}
|
2294
|
+
}
|
2295
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
2296
|
+
finally {
|
2297
|
+
try {
|
2298
|
+
if (remoteOptionProducts_1_1 && !remoteOptionProducts_1_1.done && (_f = remoteOptionProducts_1.return)) _f.call(remoteOptionProducts_1);
|
2299
|
+
}
|
2300
|
+
finally { if (e_1) throw e_1.error; }
|
2301
|
+
}
|
2302
|
+
return result;
|
2303
|
+
};
|
2304
|
+
RemoteComponent.prototype.saveRpcMessage = function () {
|
2305
|
+
var _this = this;
|
2306
|
+
var _a;
|
2307
|
+
var quote = this.quoteDraftService.quoteDraft;
|
2308
|
+
var lineItem = this.configurationService.getSnapshot();
|
2309
|
+
if (!quote || !lineItem) {
|
2310
|
+
return;
|
2311
|
+
}
|
2312
|
+
this.rpcMessage.VeloceReferenceId = quote.quoteId;
|
2313
|
+
this.rpcMessage.product.configurationData.VeloceInstanceId__c = lineItem.id;
|
2314
|
+
var childItems = this.flattenChildLineItems(lineItem);
|
2315
|
+
var savingMode = window.SavingMode;
|
2316
|
+
this.updateContentData(this.rpcMessage.product, lineItem);
|
2317
|
+
this.rpcMessage.quote = this.mapAttributesTo('Quote', lineItem);
|
2318
|
+
if (savingMode === 'ALL') {
|
2319
|
+
var optionConfigurations_1 = this.getOptionConfigurations(this.rpcMessage.product);
|
2320
|
+
var rootProductOptions_1 = this.rpcMessage.options.filter(function (po) { return po.configuredProductId === lineItem.productId; });
|
2321
|
+
childItems.forEach(function (lineItem) {
|
2322
|
+
var _a, _b, _c;
|
2323
|
+
var rootOption = rootProductOptions_1.find(function (po) { return po.optionalProductId === lineItem.productId; });
|
2324
|
+
if (rootOption) {
|
2325
|
+
var featureOptions = (_a = optionConfigurations_1[rootOption.featureName]) !== null && _a !== void 0 ? _a : (optionConfigurations_1[rootOption.featureName] = []);
|
2326
|
+
var originOption = !rootOption.hasChildren
|
2327
|
+
? optionConfigurations_1[rootOption.featureName].find(function (_f) {
|
2328
|
+
var optionId = _f.optionId;
|
2329
|
+
return optionId === rootOption.optionId;
|
2330
|
+
})
|
2331
|
+
: undefined;
|
2332
|
+
var option = originOption !== null && originOption !== void 0 ? originOption : {};
|
2333
|
+
option.optionId = (_b = option.optionId) !== null && _b !== void 0 ? _b : rootOption.optionId;
|
2334
|
+
_this.updateContentData(option, lineItem);
|
2335
|
+
option.index = (_c = option.index) !== null && _c !== void 0 ? _c : featureOptions.length;
|
2336
|
+
option.selected = true;
|
2337
|
+
if (!originOption) {
|
2338
|
+
featureOptions.push(option);
|
2339
|
+
}
|
2340
|
+
if (lineItem.parentLineItem) {
|
2341
|
+
var nestedProductOption = _this.rpcMessage.options.find(function (po) {
|
2342
|
+
var _a;
|
2343
|
+
return po.configuredProductId === ((_a = lineItem.parentLineItem) === null || _a === void 0 ? void 0 : _a.productId) &&
|
2344
|
+
po.optionalProductId === lineItem.productId;
|
2345
|
+
});
|
2346
|
+
if (nestedProductOption) {
|
2347
|
+
option.configurationData = Object.assign(Object.assign({}, option.configurationData), { VeloceParentInstanceId__c: lineItem.parentLineItem.id, VeloceNestedOptionId__c: nestedProductOption.optionId, VeloceNestedFeatureId__c: nestedProductOption.featureId });
|
2348
|
+
}
|
2349
|
+
}
|
2350
|
+
}
|
2351
|
+
else {
|
2352
|
+
_this.rpcMessage.dynamicFeatures.forEach(function (feature) {
|
2353
|
+
var _a, _b;
|
2354
|
+
var featureOptions = (_a = optionConfigurations_1[feature.name]) !== null && _a !== void 0 ? _a : (optionConfigurations_1[feature.name] = []);
|
2355
|
+
var originOption = featureOptions.find(function (_f) {
|
2356
|
+
var productId = _f.productId;
|
2357
|
+
return productId === lineItem.productId;
|
2358
|
+
});
|
2359
|
+
var option = originOption !== null && originOption !== void 0 ? originOption : {};
|
2360
|
+
_this.updateContentData(option, lineItem);
|
2361
|
+
option.index = (_b = option.index) !== null && _b !== void 0 ? _b : featureOptions.length;
|
2362
|
+
option.selected = true;
|
2363
|
+
if (!originOption) {
|
2364
|
+
featureOptions.push(option);
|
2365
|
+
}
|
2366
|
+
});
|
2367
|
+
}
|
2368
|
+
});
|
2369
|
+
this.rpcMessage.product = Object.assign(Object.assign({}, this.rpcMessage.product), { optionConfigurations: optionConfigurations_1 });
|
2370
|
+
}
|
2371
|
+
(_a = window.RPC_BROADCAST) === null || _a === void 0 ? void 0 : _a.apply(null, [this.rpcMessage]);
|
2372
|
+
};
|
2373
|
+
RemoteComponent.prototype.updateHasChildrenFlag = function (bundleProductId) {
|
2374
|
+
var e_2, _f, e_3, _g;
|
2375
|
+
var bundleOptionsByOptionId = {};
|
2376
|
+
var notBundleOptions = [];
|
2377
|
+
try {
|
2378
|
+
for (var _h = __values(this.rpcMessage.options), _j = _h.next(); !_j.done; _j = _h.next()) {
|
2379
|
+
var productOption = _j.value;
|
2380
|
+
if (productOption.configuredProductId === bundleProductId) {
|
2381
|
+
bundleOptionsByOptionId[productOption.optionalProductId] = productOption;
|
2382
|
+
}
|
2383
|
+
else {
|
2384
|
+
notBundleOptions.push(productOption);
|
2385
|
+
}
|
2386
|
+
}
|
2387
|
+
}
|
2388
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
2389
|
+
finally {
|
2390
|
+
try {
|
2391
|
+
if (_j && !_j.done && (_f = _h.return)) _f.call(_h);
|
2392
|
+
}
|
2393
|
+
finally { if (e_2) throw e_2.error; }
|
2394
|
+
}
|
2395
|
+
try {
|
2396
|
+
for (var notBundleOptions_1 = __values(notBundleOptions), notBundleOptions_1_1 = notBundleOptions_1.next(); !notBundleOptions_1_1.done; notBundleOptions_1_1 = notBundleOptions_1.next()) {
|
2397
|
+
var option = notBundleOptions_1_1.value;
|
2398
|
+
if (bundleOptionsByOptionId[option.configuredProductId]) {
|
2399
|
+
bundleOptionsByOptionId[option.configuredProductId].hasChildren = true;
|
2400
|
+
}
|
2401
|
+
}
|
2402
|
+
}
|
2403
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
2404
|
+
finally {
|
2405
|
+
try {
|
2406
|
+
if (notBundleOptions_1_1 && !notBundleOptions_1_1.done && (_g = notBundleOptions_1.return)) _g.call(notBundleOptions_1);
|
2407
|
+
}
|
2408
|
+
finally { if (e_3) throw e_3.error; }
|
2409
|
+
}
|
2410
|
+
};
|
2411
|
+
RemoteComponent.prototype.flattenChildLineItems = function (lineItem) {
|
2412
|
+
var _a;
|
2413
|
+
var items = (_a = lineItem.lineItems) !== null && _a !== void 0 ? _a : [];
|
2414
|
+
var _loop_1 = function (i) {
|
2415
|
+
var item = items[i];
|
2416
|
+
if (item.lineItems) {
|
2417
|
+
items = items.concat(item.lineItems.map(function (li) { return (Object.assign(Object.assign({}, li), { parentLineItem: item })); }));
|
2418
|
+
}
|
2419
|
+
};
|
2420
|
+
for (var i = 0; i < items.length; i++) {
|
2421
|
+
_loop_1(i);
|
2422
|
+
}
|
2423
|
+
return items;
|
2424
|
+
};
|
2425
|
+
RemoteComponent.prototype.updateContentData = function (entity, lineItem) {
|
2426
|
+
var _a, _b;
|
2427
|
+
if (lineItem.productId) {
|
2428
|
+
entity.productId = lineItem.productId;
|
2429
|
+
}
|
2430
|
+
var quantityAttribute = lineItem.properties.quantityAttribute;
|
2431
|
+
entity.Quantity = quantityAttribute
|
2432
|
+
? (_b = (_a = lineItem.attributes.find(function (attribute) { return attribute.name === quantityAttribute; })) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1
|
2433
|
+
: lineItem.qty;
|
2434
|
+
var totalPrice = this.computeNetPrice(lineItem);
|
2435
|
+
var targetTotalPriceField = lineItem.properties.TargetTotalPriceField || 'TotalPrice__c';
|
2436
|
+
entity.configurationData[targetTotalPriceField] = entity.configurationData[targetTotalPriceField]
|
2437
|
+
? entity.configurationData[targetTotalPriceField] + totalPrice
|
2438
|
+
: totalPrice;
|
2439
|
+
var targetPriceField = lineItem.properties.TargetPriceField || 'SBQQ__ListPrice__c';
|
2440
|
+
var price = entity.Quantity != null ? entity.configurationData[targetTotalPriceField] / entity.Quantity || 0 : 0;
|
2441
|
+
var targetPriceValue = Number(entity.configurationData[targetPriceField]) || 0;
|
2442
|
+
entity.configurationData[targetPriceField] = targetPriceValue
|
2443
|
+
? (targetPriceValue + price).toFixed(2)
|
2444
|
+
: price.toFixed(2);
|
2445
|
+
entity.configurationAttributes = this.mapAttributesTo('Attribute', lineItem);
|
2446
|
+
entity.configurationData = Object.assign(Object.assign(Object.assign(Object.assign({}, entity.configurationData), this.mapAttributesTo('Field', lineItem)), this.mapAttributesTo('', lineItem)), { VeloceInstanceId__c: lineItem.id });
|
2447
|
+
};
|
2448
|
+
RemoteComponent.prototype.computeNetPrice = function (lineItem) {
|
2449
|
+
if (lineItem.properties.GroupCharges) {
|
2450
|
+
return this.sumNetPrice(lineItem.chargeGroupItems, this.getChargeNameSet(lineItem.properties.GroupCharges));
|
2451
|
+
}
|
2452
|
+
return this.sumNetPrice(lineItem.chargeItems, this.getChargeNameSet(lineItem.properties.Charges));
|
2453
|
+
};
|
2454
|
+
RemoteComponent.prototype.getChargeNameSet = function (property) {
|
2455
|
+
if (property && property.length > 0) {
|
2456
|
+
return new Set(property.split(','));
|
2457
|
+
}
|
2458
|
+
return new Set();
|
2459
|
+
};
|
2460
|
+
RemoteComponent.prototype.sumNetPrice = function (chargeItems, charges) {
|
2461
|
+
var e_4, _f;
|
2462
|
+
var _a;
|
2463
|
+
var netPrice = 0;
|
2464
|
+
try {
|
2465
|
+
for (var chargeItems_1 = __values(chargeItems), chargeItems_1_1 = chargeItems_1.next(); !chargeItems_1_1.done; chargeItems_1_1 = chargeItems_1.next()) {
|
2466
|
+
var chargeItem = chargeItems_1_1.value;
|
2467
|
+
if (!charges || charges.has(chargeItem.chargeType)) {
|
2468
|
+
netPrice += (_a = chargeItem.netPrice) !== null && _a !== void 0 ? _a : 0;
|
2469
|
+
}
|
2470
|
+
}
|
2471
|
+
}
|
2472
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
2473
|
+
finally {
|
2474
|
+
try {
|
2475
|
+
if (chargeItems_1_1 && !chargeItems_1_1.done && (_f = chargeItems_1.return)) _f.call(chargeItems_1);
|
2476
|
+
}
|
2477
|
+
finally { if (e_4) throw e_4.error; }
|
2478
|
+
}
|
2479
|
+
return netPrice;
|
2480
|
+
};
|
2481
|
+
RemoteComponent.prototype.mapAttributesTo = function (target, lineItem) {
|
2482
|
+
var _a;
|
2483
|
+
var result = {};
|
2484
|
+
var component = (_a = this.runtimeService.runtimeModel) === null || _a === void 0 ? void 0 : _a.components.get(lineItem.type);
|
2485
|
+
if (!component) {
|
2486
|
+
return result;
|
2487
|
+
}
|
2488
|
+
var propertyName = 'mapTo' + target;
|
2489
|
+
component.attributes
|
2490
|
+
.filter(function (a) { return a.properties && a.properties[propertyName]; })
|
2491
|
+
.forEach(function (mapping) {
|
2492
|
+
var attribute = lineItem.attributes.find(function (a) { return a.name === mapping.name; });
|
2493
|
+
if (attribute) {
|
2494
|
+
new Set(mapping.properties[propertyName].split(',')).forEach(function (k) { return (result[k] = attribute.value); });
|
2495
|
+
}
|
2496
|
+
});
|
2497
|
+
return result;
|
2498
|
+
};
|
2499
|
+
RemoteComponent.prototype.getOptionConfigurations = function (product) {
|
2500
|
+
var _a;
|
2501
|
+
var optionConfigurations = {};
|
2502
|
+
var requestOptionConfigurations = (_a = product.optionConfigurations) !== null && _a !== void 0 ? _a : {};
|
2503
|
+
Object.keys(requestOptionConfigurations).forEach(function (k) {
|
2504
|
+
var _a;
|
2505
|
+
optionConfigurations[k] = ((_a = requestOptionConfigurations[k]) !== null && _a !== void 0 ? _a : []).map(function (opt) {
|
2506
|
+
return Object.assign(Object.assign({}, opt), { selected: false });
|
2507
|
+
});
|
2508
|
+
});
|
2509
|
+
return optionConfigurations;
|
2510
|
+
};
|
2511
|
+
return RemoteComponent;
|
2512
|
+
}());
|
2513
|
+
RemoteComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteComponent, deps: [{ token: i1__namespace$1.ContextService }, { token: i1__namespace$1.QuoteDraftService }, { token: i2__namespace$1.QuoteApiService }, { token: i1__namespace$1.ConfigurationRuntimeService }, { token: i1__namespace$1.ConfigurationService }, { token: i2__namespace$2.MessageService }, { token: i4__namespace.IntegrationState }, { token: i5__namespace.Location }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
2514
|
+
RemoteComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: RemoteComponent, selector: "vl-flow-remote", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4__namespace.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
2515
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteComponent, decorators: [{
|
2516
|
+
type: i0.Component,
|
2517
|
+
args: [{
|
2518
|
+
selector: 'vl-flow-remote',
|
2519
|
+
templateUrl: './remote.component.html',
|
2520
|
+
styleUrls: ['./remote.component.scss'],
|
2521
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
2522
|
+
}]
|
2523
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.ContextService }, { type: i1__namespace$1.QuoteDraftService }, { type: i2__namespace$1.QuoteApiService }, { type: i1__namespace$1.ConfigurationRuntimeService }, { type: i1__namespace$1.ConfigurationService }, { type: i2__namespace$2.MessageService }, { type: i4__namespace.IntegrationState }, { type: i5__namespace.Location }]; } });
|
2524
|
+
|
2525
|
+
var RemoteModule = /** @class */ (function () {
|
2526
|
+
function RemoteModule() {
|
2527
|
+
}
|
2528
|
+
return RemoteModule;
|
2529
|
+
}());
|
2530
|
+
RemoteModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2531
|
+
RemoteModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteModule, declarations: [RemoteComponent], imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule], exports: [RemoteComponent] });
|
2532
|
+
RemoteModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteModule, imports: [[i5.CommonModule, i4.PreviewModule, i3.LoaderModule]] });
|
2533
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RemoteModule, decorators: [{
|
2534
|
+
type: i0.NgModule,
|
2535
|
+
args: [{
|
2536
|
+
declarations: [RemoteComponent],
|
2537
|
+
imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule],
|
2538
|
+
exports: [RemoteComponent],
|
2102
2539
|
}]
|
2103
2540
|
}] });
|
2104
2541
|
|
@@ -2195,8 +2632,8 @@
|
|
2195
2632
|
};
|
2196
2633
|
return ShoppingCartComponent;
|
2197
2634
|
}());
|
2198
|
-
ShoppingCartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, deps: [{ token: i2__namespace$
|
2199
|
-
ShoppingCartComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ShoppingCartComponent, selector: "vl-flow-shopping-cart", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type:
|
2635
|
+
ShoppingCartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, deps: [{ token: i2__namespace$1.UITemplatesApiService }, { token: i1__namespace$1.ContextService }, { token: i0__namespace.ChangeDetectorRef }, { token: i3__namespace.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
2636
|
+
ShoppingCartComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ShoppingCartComponent, selector: "vl-flow-shopping-cart", ngImport: i0__namespace, 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: i3__namespace.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4__namespace.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
2200
2637
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, decorators: [{
|
2201
2638
|
type: i0.Component,
|
2202
2639
|
args: [{
|
@@ -2206,7 +2643,7 @@
|
|
2206
2643
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
2207
2644
|
}]
|
2208
2645
|
}], ctorParameters: function () {
|
2209
|
-
return [{ type: i2__namespace$
|
2646
|
+
return [{ type: i2__namespace$1.UITemplatesApiService }, { type: i1__namespace$1.ContextService }, { type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.ToastService }, { type: undefined, decorators: [{
|
2210
2647
|
type: i0.Optional
|
2211
2648
|
}, {
|
2212
2649
|
type: i0.Inject,
|
@@ -2220,13 +2657,13 @@
|
|
2220
2657
|
return ShoppingCartModule;
|
2221
2658
|
}());
|
2222
2659
|
ShoppingCartModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2223
|
-
ShoppingCartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, declarations: [ShoppingCartComponent], imports: [
|
2224
|
-
ShoppingCartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, imports: [[
|
2660
|
+
ShoppingCartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, declarations: [ShoppingCartComponent], imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule], exports: [ShoppingCartComponent] });
|
2661
|
+
ShoppingCartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, imports: [[i5.CommonModule, i4.PreviewModule, i3.LoaderModule]] });
|
2225
2662
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, decorators: [{
|
2226
2663
|
type: i0.NgModule,
|
2227
2664
|
args: [{
|
2228
2665
|
declarations: [ShoppingCartComponent],
|
2229
|
-
imports: [
|
2666
|
+
imports: [i5.CommonModule, i4.PreviewModule, i3.LoaderModule],
|
2230
2667
|
exports: [ShoppingCartComponent],
|
2231
2668
|
}]
|
2232
2669
|
}] });
|
@@ -2260,8 +2697,7 @@
|
|
2260
2697
|
}
|
2261
2698
|
var properties = flow.properties;
|
2262
2699
|
var flowQueryParams = properties.queryParams, entryPath = properties.entryPath;
|
2263
|
-
var
|
2264
|
-
var mergedParams = Object.assign(Object.assign(Object.assign({}, queryParams), flowQueryParams), Object.assign({}, (isProductFlow && { standalone: true })));
|
2700
|
+
var mergedParams = Object.assign(Object.assign(Object.assign({}, queryParams), flowQueryParams), getDefaultProperties({ flowParams: properties }));
|
2265
2701
|
var contextProperties = Object.entries(mergedParams).reduce(function (trunk, _a) {
|
2266
2702
|
var _b;
|
2267
2703
|
var _c = __read(_a, 2), key = _c[0], value = _c[1];
|
@@ -2285,11 +2721,11 @@
|
|
2285
2721
|
};
|
2286
2722
|
return FlowResolver;
|
2287
2723
|
}());
|
2288
|
-
FlowResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver, deps: [{ token: i1__namespace$
|
2724
|
+
FlowResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver, deps: [{ token: i1__namespace$2.Router }, { token: i2__namespace$1.FlowsApiService }, { token: FlowRouterService }, { token: i1__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
2289
2725
|
FlowResolver.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver });
|
2290
2726
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver, decorators: [{
|
2291
2727
|
type: i0.Injectable
|
2292
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
2728
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i2__namespace$1.FlowsApiService }, { type: FlowRouterService }, { type: i1__namespace$1.ContextService }]; } });
|
2293
2729
|
|
2294
2730
|
var QuoteResolver = /** @class */ (function () {
|
2295
2731
|
function QuoteResolver(router, quoteDraftService, routerService, contextService, flowConfiguration) {
|
@@ -2354,11 +2790,11 @@
|
|
2354
2790
|
};
|
2355
2791
|
return QuoteResolver;
|
2356
2792
|
}());
|
2357
|
-
QuoteResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver, deps: [{ token: i1__namespace$
|
2793
|
+
QuoteResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$1.QuoteDraftService }, { token: FlowRouterService }, { token: i1__namespace$1.ContextService }, { token: i1__namespace$1.FlowConfigurationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
2358
2794
|
QuoteResolver.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver });
|
2359
2795
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver, decorators: [{
|
2360
2796
|
type: i0.Injectable
|
2361
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
2797
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$1.QuoteDraftService }, { type: FlowRouterService }, { type: i1__namespace$1.ContextService }, { type: i1__namespace$1.FlowConfigurationService }]; } });
|
2362
2798
|
|
2363
2799
|
var rootRoute = {
|
2364
2800
|
id: VELOCE_FLOW_ROOT_ROUTE,
|
@@ -2419,6 +2855,13 @@
|
|
2419
2855
|
canActivate: [ContextGuard],
|
2420
2856
|
data: { showHeader: true },
|
2421
2857
|
},
|
2858
|
+
{
|
2859
|
+
path: 'remote',
|
2860
|
+
component: RemoteComponent,
|
2861
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
2862
|
+
resolve: { quote: QuoteResolver },
|
2863
|
+
canActivate: [ContextGuard],
|
2864
|
+
},
|
2422
2865
|
{
|
2423
2866
|
path: 'debug',
|
2424
2867
|
loadChildren: function () { return DebugModule; },
|
@@ -2435,31 +2878,34 @@
|
|
2435
2878
|
return FlowRoutingModule;
|
2436
2879
|
}());
|
2437
2880
|
FlowRoutingModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2438
|
-
FlowRoutingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, imports: [i1__namespace$
|
2881
|
+
FlowRoutingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, imports: [i1__namespace$2.RouterModule, ProductModule,
|
2439
2882
|
LegacyProductModule,
|
2440
2883
|
ShoppingCartModule,
|
2441
2884
|
CatalogModule,
|
2442
|
-
|
2885
|
+
RemoteModule,
|
2886
|
+
EmptyAccountModule], exports: [i1$2.RouterModule] });
|
2443
2887
|
FlowRoutingModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, providers: [FlowRouterService, RootGuard, ContextGuard, ProductUnloadGuard, FlowResolver, QuoteResolver], imports: [[
|
2444
|
-
i1$
|
2888
|
+
i1$2.RouterModule.forChild([rootRoute]),
|
2445
2889
|
ProductModule,
|
2446
2890
|
LegacyProductModule,
|
2447
2891
|
ShoppingCartModule,
|
2448
2892
|
CatalogModule,
|
2893
|
+
RemoteModule,
|
2449
2894
|
EmptyAccountModule,
|
2450
|
-
], i1$
|
2895
|
+
], i1$2.RouterModule] });
|
2451
2896
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, decorators: [{
|
2452
2897
|
type: i0.NgModule,
|
2453
2898
|
args: [{
|
2454
2899
|
imports: [
|
2455
|
-
i1$
|
2900
|
+
i1$2.RouterModule.forChild([rootRoute]),
|
2456
2901
|
ProductModule,
|
2457
2902
|
LegacyProductModule,
|
2458
2903
|
ShoppingCartModule,
|
2459
2904
|
CatalogModule,
|
2905
|
+
RemoteModule,
|
2460
2906
|
EmptyAccountModule,
|
2461
2907
|
],
|
2462
|
-
exports: [i1$
|
2908
|
+
exports: [i1$2.RouterModule],
|
2463
2909
|
providers: [FlowRouterService, RootGuard, ContextGuard, ProductUnloadGuard, FlowResolver, QuoteResolver],
|
2464
2910
|
}]
|
2465
2911
|
}] });
|
@@ -2470,25 +2916,25 @@
|
|
2470
2916
|
return FlowModule;
|
2471
2917
|
}());
|
2472
2918
|
FlowModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2473
|
-
FlowModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, declarations: [FlowComponent], imports: [
|
2919
|
+
FlowModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, declarations: [FlowComponent], imports: [i5.CommonModule,
|
2474
2920
|
FlowRoutingModule,
|
2475
|
-
i2$
|
2476
|
-
|
2921
|
+
i2$1.ApiModule,
|
2922
|
+
i4.LauncherModule,
|
2477
2923
|
i3.LoaderModule,
|
2478
2924
|
FlowHeaderModule,
|
2479
2925
|
FlowDialogModule,
|
2480
|
-
|
2926
|
+
i1$1.SdkCoreModule,
|
2481
2927
|
DocGenModule,
|
2482
2928
|
i3.LetDirectiveModule] });
|
2483
2929
|
FlowModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, providers: [FlowService, FlowDialogService, FlowDocGenService], imports: [[
|
2484
|
-
|
2930
|
+
i5.CommonModule,
|
2485
2931
|
FlowRoutingModule,
|
2486
|
-
i2$
|
2487
|
-
|
2932
|
+
i2$1.ApiModule,
|
2933
|
+
i4.LauncherModule,
|
2488
2934
|
i3.LoaderModule,
|
2489
2935
|
FlowHeaderModule,
|
2490
2936
|
FlowDialogModule,
|
2491
|
-
|
2937
|
+
i1$1.SdkCoreModule,
|
2492
2938
|
DocGenModule,
|
2493
2939
|
i3.LetDirectiveModule,
|
2494
2940
|
]] });
|
@@ -2497,14 +2943,14 @@
|
|
2497
2943
|
args: [{
|
2498
2944
|
declarations: [FlowComponent],
|
2499
2945
|
imports: [
|
2500
|
-
|
2946
|
+
i5.CommonModule,
|
2501
2947
|
FlowRoutingModule,
|
2502
|
-
i2$
|
2503
|
-
|
2948
|
+
i2$1.ApiModule,
|
2949
|
+
i4.LauncherModule,
|
2504
2950
|
i3.LoaderModule,
|
2505
2951
|
FlowHeaderModule,
|
2506
2952
|
FlowDialogModule,
|
2507
|
-
|
2953
|
+
i1$1.SdkCoreModule,
|
2508
2954
|
DocGenModule,
|
2509
2955
|
i3.LetDirectiveModule,
|
2510
2956
|
],
|
@@ -2521,6 +2967,7 @@
|
|
2521
2967
|
exports.FlowModule = FlowModule;
|
2522
2968
|
exports.FlowService = FlowService;
|
2523
2969
|
exports.VELOCE_FLOW_ROOT_ROUTE = VELOCE_FLOW_ROOT_ROUTE;
|
2970
|
+
exports.getDefaultProperties = getDefaultProperties;
|
2524
2971
|
exports.getFlowObjectIdPropertyName = getFlowObjectIdPropertyName;
|
2525
2972
|
|
2526
2973
|
Object.defineProperty(exports, '__esModule', { value: true });
|