@veloceapps/sdk 3.1.24 → 3.1.26
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-core.umd.js +6 -11
- package/bundles/veloce-sdk-core.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +356 -148
- 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/core/services/quote-draft.service.d.ts +4 -5
- package/esm2015/cms/cms.actions.js +9 -1
- package/esm2015/core/services/quote-draft.service.js +7 -12
- package/esm2015/src/components/doc-gen/doc-gen.component.js +109 -0
- package/esm2015/src/components/doc-gen/doc-gen.module.js +19 -0
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -4
- package/esm2015/src/components/header/header.component.js +59 -27
- package/esm2015/src/components/header/header.types.js +1 -1
- package/esm2015/src/flow.component.js +13 -9
- package/esm2015/src/flow.module.js +9 -4
- package/esm2015/src/resolvers/quote.resolver.js +3 -3
- package/esm2015/src/services/doc-gen.service.js +33 -0
- package/esm2015/src/services/flow-dialog.service.js +23 -1
- package/esm2015/src/services/flow.service.js +6 -6
- package/fesm2015/veloce-sdk-cms.js +12 -2
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-core.js +6 -11
- package/fesm2015/veloce-sdk-core.js.map +1 -1
- package/fesm2015/veloce-sdk.js +285 -90
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/components/doc-gen/doc-gen.component.d.ts +26 -0
- package/src/components/doc-gen/doc-gen.module.d.ts +9 -0
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
- package/src/components/header/header.component.d.ts +8 -1
- package/src/components/header/header.types.d.ts +2 -2
- package/src/flow.component.d.ts +3 -1
- package/src/flow.module.d.ts +2 -1
- package/src/services/doc-gen.service.d.ts +13 -0
- package/src/services/flow-dialog.service.d.ts +3 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
(function (global, factory) {
|
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('
|
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', 'primeng/overlaypanel', 'primeng/tooltip', '@angular/forms', 'primeng/inputnumber', '
|
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["primeng/overlaypanel"], global["primeng/tooltip"], global.ng.forms, global["primeng/inputnumber"], global.
|
5
|
-
})(this, (function (exports,
|
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/tooltip'), require('@angular/forms'), require('primeng/inputnumber'), 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
|
+
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/tooltip', '@angular/forms', 'primeng/inputnumber', '@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["primeng/tooltip"], global.ng.forms, global["primeng/inputnumber"], 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, i8, i0, i2$2, i3, i1$1, i2$1, i2, i1, core, rxjs, i3$1, i11, i7, i5, i1$2, i2$3, http, i4, i8$1, i6, operators, i4$1, i1$3) { 'use strict';
|
6
6
|
|
7
7
|
function _interopNamespace(e) {
|
8
8
|
if (e && e.__esModule) return e;
|
@@ -22,24 +22,24 @@
|
|
22
22
|
return Object.freeze(n);
|
23
23
|
}
|
24
24
|
|
25
|
-
var
|
25
|
+
var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
|
26
26
|
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
27
|
-
var
|
28
|
-
var i3__namespace
|
29
|
-
var
|
27
|
+
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
|
28
|
+
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
29
|
+
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
30
30
|
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
31
31
|
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
32
32
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
33
|
-
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
34
|
-
var
|
33
|
+
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
34
|
+
var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
|
35
35
|
var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
|
36
36
|
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
37
|
-
var i1__namespace$
|
38
|
-
var i2__namespace$
|
39
|
-
var i4__namespace
|
40
|
-
var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
|
37
|
+
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
|
38
|
+
var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
|
39
|
+
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
40
|
+
var i8__namespace$1 = /*#__PURE__*/_interopNamespace(i8$1);
|
41
41
|
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
42
|
-
var i4__namespace$
|
42
|
+
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
43
43
|
var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
|
44
44
|
|
45
45
|
var VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';
|
@@ -59,7 +59,7 @@
|
|
59
59
|
return FlowDialogComponent;
|
60
60
|
}());
|
61
61
|
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 });
|
62
|
-
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:
|
62
|
+
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: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
63
63
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogComponent, decorators: [{
|
64
64
|
type: i0.Component,
|
65
65
|
args: [{
|
@@ -76,17 +76,166 @@
|
|
76
76
|
return FlowDialogModule;
|
77
77
|
}());
|
78
78
|
FlowDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
79
|
-
FlowDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, declarations: [FlowDialogComponent], imports: [
|
80
|
-
FlowDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, imports: [[
|
79
|
+
FlowDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, declarations: [FlowDialogComponent], imports: [i8.CommonModule, i2.ButtonModule], exports: [FlowDialogComponent] });
|
80
|
+
FlowDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, imports: [[i8.CommonModule, i2.ButtonModule]] });
|
81
81
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogModule, decorators: [{
|
82
82
|
type: i0.NgModule,
|
83
83
|
args: [{
|
84
84
|
declarations: [FlowDialogComponent],
|
85
|
-
imports: [
|
85
|
+
imports: [i8.CommonModule, i2.ButtonModule],
|
86
86
|
exports: [FlowDialogComponent],
|
87
87
|
}]
|
88
88
|
}] });
|
89
89
|
|
90
|
+
var FlowDocGenService = /** @class */ (function () {
|
91
|
+
function FlowDocGenService(integrationState) {
|
92
|
+
this.integrationState = integrationState;
|
93
|
+
this.cleanup$ = new rxjs.Subject();
|
94
|
+
this.isVisibleSubj$ = new rxjs.BehaviorSubject(false);
|
95
|
+
this.isVisible$ = this.isVisibleSubj$.asObservable();
|
96
|
+
this.initSubscriptions();
|
97
|
+
}
|
98
|
+
FlowDocGenService.prototype.cleanup = function () {
|
99
|
+
this.cleanup$.next();
|
100
|
+
};
|
101
|
+
FlowDocGenService.prototype.initSubscriptions = function () {
|
102
|
+
var _this = this;
|
103
|
+
this.integrationState
|
104
|
+
.listen$(i1$1.FlowAction.FLOW_OPEN_DOC_GEN)
|
105
|
+
.pipe(rxjs.tap(function () { return _this.isVisibleSubj$.next(true); }), rxjs.takeUntil(this.cleanup$))
|
106
|
+
.subscribe();
|
107
|
+
this.integrationState
|
108
|
+
.listen$(i1$1.FlowAction.FLOW_CLOSE_DOC_GEN)
|
109
|
+
.pipe(rxjs.tap(function () { return _this.isVisibleSubj$.next(false); }), rxjs.takeUntil(this.cleanup$))
|
110
|
+
.subscribe();
|
111
|
+
};
|
112
|
+
return FlowDocGenService;
|
113
|
+
}());
|
114
|
+
FlowDocGenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService, deps: [{ token: i1__namespace$1.IntegrationState }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
115
|
+
FlowDocGenService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService });
|
116
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDocGenService, decorators: [{
|
117
|
+
type: i0.Injectable
|
118
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.IntegrationState }]; } });
|
119
|
+
|
120
|
+
var DocGenComponent = /** @class */ (function () {
|
121
|
+
function DocGenComponent(quoteDraftService, contextService, templatesApi, docGenService, toastService) {
|
122
|
+
var _this = this;
|
123
|
+
this.quoteDraftService = quoteDraftService;
|
124
|
+
this.contextService = contextService;
|
125
|
+
this.templatesApi = templatesApi;
|
126
|
+
this.docGenService = docGenService;
|
127
|
+
this.toastService = toastService;
|
128
|
+
this.uiDefinition$ = new rxjs.BehaviorSubject(null);
|
129
|
+
this.templateApiName = '';
|
130
|
+
this.destroy$ = new rxjs.Subject();
|
131
|
+
this.isVisible$ = this.docGenService.isVisible$;
|
132
|
+
// initialize when quote draft requested
|
133
|
+
this.quoteDraftService.quoteDraft$
|
134
|
+
.pipe(rxjs.first(), rxjs.tap(function () { return _this.initialize(); }), rxjs.takeUntil(this.destroy$))
|
135
|
+
.subscribe();
|
136
|
+
}
|
137
|
+
DocGenComponent.prototype.ngOnDestroy = function () {
|
138
|
+
this.destroy$.next();
|
139
|
+
this.destroy$.complete();
|
140
|
+
};
|
141
|
+
DocGenComponent.prototype.initialize = function () {
|
142
|
+
var _this = this;
|
143
|
+
var _a;
|
144
|
+
this.templateApiName = (_a = this.contextService.resolve().properties.docGenTemplateApiName) !== null && _a !== void 0 ? _a : '';
|
145
|
+
this.generateUIDefinition$()
|
146
|
+
.pipe(rxjs.tap(function (uiDef) {
|
147
|
+
if (!uiDef) {
|
148
|
+
throw new Error("Component with name '" + _this.templateApiName + "' not found.");
|
149
|
+
}
|
150
|
+
_this.uiDefinition$.next(uiDef);
|
151
|
+
}), rxjs.catchError(function (err) {
|
152
|
+
var _a;
|
153
|
+
var message = 'Failed to resolve DocGen component. ' + ((_a = err.message) !== null && _a !== void 0 ? _a : '');
|
154
|
+
_this.toastService.add({ severity: i3.ToastType.error, summary: message, sticky: true });
|
155
|
+
return rxjs.of();
|
156
|
+
}), rxjs.takeUntil(this.destroy$))
|
157
|
+
.subscribe();
|
158
|
+
};
|
159
|
+
DocGenComponent.prototype.getTemplateRootComponent$ = function (template) {
|
160
|
+
return this.templatesApi
|
161
|
+
.fetchComponents$(template.id)
|
162
|
+
.pipe(rxjs.map(function (components) { var _a; return (_a = components.find(function (c) { return c.type === core.UITemplateComponentType.ROOT; })) !== null && _a !== void 0 ? _a : undefined; }));
|
163
|
+
};
|
164
|
+
DocGenComponent.prototype.getDocGenComponentMeta$ = function () {
|
165
|
+
var _this = this;
|
166
|
+
return this.templatesApi.fetchTemplates$().pipe(rxjs.map(function (templates) {
|
167
|
+
var template = templates.find(function (template) { return template.type === core.UITemplateType.DOCGEN && template.name === _this.templateApiName; });
|
168
|
+
return template !== null && template !== void 0 ? template : templates[0];
|
169
|
+
}), rxjs.switchMap(function (template) { return (template ? _this.getTemplateRootComponent$(template) : rxjs.of(undefined)); }), rxjs.switchMap(function (component) { return component ? _this.templatesApi.fetchComponentAttachments$(component.uiTemplateId, component) : rxjs.of(undefined); }));
|
170
|
+
};
|
171
|
+
DocGenComponent.prototype.generateUIDefinition$ = function () {
|
172
|
+
var _this = this;
|
173
|
+
return rxjs.of(undefined).pipe(rxjs.tap(function () {
|
174
|
+
if (!_this.templateApiName) {
|
175
|
+
throw new Error("Flow Query parameter 'docGenTemplateApiName' is missing.");
|
176
|
+
}
|
177
|
+
}), rxjs.switchMap(function (meta) { return (meta ? rxjs.of(meta) : _this.getDocGenComponentMeta$()); }), rxjs.map(function (meta) {
|
178
|
+
var _a;
|
179
|
+
if (!meta) {
|
180
|
+
return;
|
181
|
+
}
|
182
|
+
var headerId = (_a = _this.contextService.resolve().properties.Id) !== null && _a !== void 0 ? _a : null;
|
183
|
+
var script = meta.js;
|
184
|
+
if (script) {
|
185
|
+
var metadata = i1$1.extractElementMetadata(script);
|
186
|
+
script = i1$1.extendElementMetadata(script, {
|
187
|
+
inputs: Object.assign(Object.assign({}, metadata.inputs), { Id: headerId ? "\"" + headerId + "\"" : null }),
|
188
|
+
});
|
189
|
+
}
|
190
|
+
var uiDef = {
|
191
|
+
name: '',
|
192
|
+
createdTimestamp: 0,
|
193
|
+
primary: true,
|
194
|
+
type: 'DEFAULT',
|
195
|
+
version: 2,
|
196
|
+
children: [
|
197
|
+
{
|
198
|
+
children: [],
|
199
|
+
template: meta.html && btoa(meta.html),
|
200
|
+
script: script && btoa(script),
|
201
|
+
styles: meta.css && btoa(meta.css),
|
202
|
+
},
|
203
|
+
],
|
204
|
+
};
|
205
|
+
return uiDef;
|
206
|
+
}));
|
207
|
+
};
|
208
|
+
return DocGenComponent;
|
209
|
+
}());
|
210
|
+
DocGenComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenComponent, deps: [{ token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$1.ContextService }, { token: i2__namespace$2.UITemplatesApiService }, { token: FlowDocGenService }, { token: i3__namespace.ToastService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
211
|
+
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: i1__namespace$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
212
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenComponent, decorators: [{
|
213
|
+
type: i0.Component,
|
214
|
+
args: [{
|
215
|
+
selector: 'vl-flow-doc-gen',
|
216
|
+
templateUrl: './doc-gen.component.html',
|
217
|
+
styleUrls: ['./doc-gen.component.scss'],
|
218
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
219
|
+
}]
|
220
|
+
}], ctorParameters: function () { return [{ type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$1.ContextService }, { type: i2__namespace$2.UITemplatesApiService }, { type: FlowDocGenService }, { type: i3__namespace.ToastService }]; } });
|
221
|
+
|
222
|
+
var DocGenModule = /** @class */ (function () {
|
223
|
+
function DocGenModule() {
|
224
|
+
}
|
225
|
+
return DocGenModule;
|
226
|
+
}());
|
227
|
+
DocGenModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
228
|
+
DocGenModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, declarations: [DocGenComponent], imports: [i8.CommonModule, i1$1.PreviewModule], exports: [DocGenComponent] });
|
229
|
+
DocGenModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, imports: [[i8.CommonModule, i1$1.PreviewModule]] });
|
230
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocGenModule, decorators: [{
|
231
|
+
type: i0.NgModule,
|
232
|
+
args: [{
|
233
|
+
declarations: [DocGenComponent],
|
234
|
+
imports: [i8.CommonModule, i1$1.PreviewModule],
|
235
|
+
exports: [DocGenComponent],
|
236
|
+
}]
|
237
|
+
}] });
|
238
|
+
|
90
239
|
/*! *****************************************************************************
|
91
240
|
Copyright (c) Microsoft Corporation.
|
92
241
|
|
@@ -440,14 +589,14 @@
|
|
440
589
|
return url.replace(flowRootUrl, '');
|
441
590
|
}));
|
442
591
|
};
|
443
|
-
this.routeChange$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
592
|
+
this.routeChange$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationEnd; }), rxjs.shareReplay());
|
444
593
|
this.lastChildParams$ = this.watchLastChildParams$(this.route).pipe(rxjs.startWith(this.getLastChildParams(this.route.snapshot)), rxjs.shareReplay());
|
445
594
|
this.lastChildRoute$ = this.watchLastChildRoute$(this.route).pipe(rxjs.startWith(this.getLastChildRouteSnapshot(this.route.snapshot)), rxjs.shareReplay());
|
446
|
-
this.loading$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
447
|
-
e instanceof i1$
|
448
|
-
e instanceof i1$
|
449
|
-
e instanceof i1$
|
450
|
-
this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$
|
595
|
+
this.loading$ = this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationStart ||
|
596
|
+
e instanceof i1$2.NavigationCancel ||
|
597
|
+
e instanceof i1$2.NavigationEnd ||
|
598
|
+
e instanceof i1$2.NavigationError; }), rxjs.map(function (e) { return e instanceof i1$2.NavigationStart; }), rxjs.startWith(false), rxjs.distinctUntilChanged());
|
599
|
+
this.router.events.pipe(rxjs.filter(function (e) { return e instanceof i1$2.NavigationEnd; })).subscribe(function () {
|
451
600
|
_this.urlHistory.push(_this.router.url);
|
452
601
|
});
|
453
602
|
}
|
@@ -525,12 +674,12 @@
|
|
525
674
|
};
|
526
675
|
return FlowRouterService;
|
527
676
|
}());
|
528
|
-
FlowRouterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, deps: [{ token: i1__namespace$
|
677
|
+
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: i2__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
529
678
|
FlowRouterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, providedIn: 'root' });
|
530
679
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRouterService, decorators: [{
|
531
680
|
type: i0.Injectable,
|
532
681
|
args: [{ providedIn: 'root' }]
|
533
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
682
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }, { type: i2__namespace$1.ContextService }]; } });
|
534
683
|
|
535
684
|
var CartPreviewComponent = /** @class */ (function () {
|
536
685
|
function CartPreviewComponent(flowConfiguration, routerService, productImagesService, quoteDraftService) {
|
@@ -541,7 +690,6 @@
|
|
541
690
|
this.form = new i7.FormGroup({});
|
542
691
|
this.shouldUpdate$ = new rxjs.BehaviorSubject(true);
|
543
692
|
this.destroyed$ = new rxjs.Subject();
|
544
|
-
this.isEditMode = true;
|
545
693
|
this.readonlyProductId$ = rxjs.combineLatest([
|
546
694
|
this.routerService.route$,
|
547
695
|
this.routerService.isConfigurationRoute$(),
|
@@ -552,7 +700,7 @@
|
|
552
700
|
}
|
553
701
|
return route.queryParams.productId;
|
554
702
|
}));
|
555
|
-
this.isEditMode = this.quoteDraftService.isEditMode();
|
703
|
+
this.isEditMode$ = this.quoteDraftService.isEditMode$();
|
556
704
|
}
|
557
705
|
CartPreviewComponent.prototype.ngOnChanges = function (changes) {
|
558
706
|
if (changes.products) {
|
@@ -628,7 +776,7 @@
|
|
628
776
|
return CartPreviewComponent;
|
629
777
|
}());
|
630
778
|
CartPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewComponent, deps: [{ token: i2__namespace$1.FlowConfigurationService }, { token: FlowRouterService }, { token: i2__namespace$1.ProductImagesService }, { token: i2__namespace$1.QuoteDraftService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
631
|
-
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.OverlayPanel, descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<p-overlayPanel\n styleClass=\"navigation-settings-overlay flow-header-overlay center\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"readonlyProductId$ | async as readonlyProductId\">\n <ng-container *ngIf=\"products.length > 0; else empty\">\n
|
779
|
+
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\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"readonlyProductId$ | async as readonlyProductId\">\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 <div class=\"product header\">\n <span>Product</span>\n <span class=\"text-right\">Qty</span>\n <span class=\"text-right\">MRR</span>\n <span class=\"text-right\">NRR</span>\n </div>\n\n <div class=\"scrollable-wrapper\">\n <div class=\"product\" *ngFor=\"let product of products\">\n <div class=\"product__info\">\n <div class=\"product__image-wrapper\">\n <div\n *ngIf=\"getImageUrl(product.productId) | async as imageUrl; else noImage\"\n class=\"product__image\"\n [ngStyle]=\"{ 'background-image': 'url(' + imageUrl + ')' }\"\n ></div>\n </div>\n <div class=\"flex flex-column justify-content-center\">\n <div class=\"word-break\">{{ product.name }}</div>\n <div>\n <p-button\n label=\"Configure\"\n [disabled]=\"!isEditMode || !product.configurable || readonlyProductId === product.productId\"\n styleClass=\"p-button-link p-button-sm pl-0\"\n (onClick)=\"navigateToProductConfiguration(product.productId, product.id)\"\n ></p-button>\n <p-button\n label=\"Delete\"\n [disabled]=\"!isEditMode || readonlyProductId === product.productId\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n (onClick)=\"deleteHandler(product)\"\n ></p-button>\n </div>\n </div>\n </div>\n\n <span>\n <p-inputNumber\n *ngIf=\"form.controls[product.id] as control\"\n class=\"qty-control\"\n [formControl]=\"$any(control)\"\n [min]=\"1\"\n [required]=\"true\"\n [disabled]=\"!isEditMode\"\n (onBlur)=\"controlBlurHandler(product)\"\n ></p-inputNumber>\n </span>\n <span class=\"text-right pt-3\">${{ product.mrr }}</span>\n <span class=\"text-right pt-3\">${{ product.nrr }}</span>\n </div>\n\n <ng-template #noImage>\n <i class=\"vl-icon vl-icon-no-image no-image-icon\"></i>\n </ng-template>\n </div>\n\n <div class=\"flex justify-content-end mt-3\">\n <p-button\n label=\"Clear cart\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n [disabled]=\"!isEditMode || readonlyProductId\"\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: [".flow-header-overlay__wrapper{display:flex;flex-direction:column;width:460px;max-height:600px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.empty-state{color:var(--vl-text-color-deep-accent)}.scrollable-wrapper{overflow:auto}.product{display:grid;grid-template-columns:auto 60px 80px 80px;padding:16px 0}.product:not(.header){border-bottom:1px solid var(--vl-border-color)}.product.header{color:var(--vl-text-color-deep-accent)}.product__info{display:flex;grid-gap:16px;gap:16px}.product__image-wrapper{flex-shrink:0;height:64px;width:64px;display:flex;justify-content:center;align-items:center;background:var(--vl-primary-nav-overlay-bg);border-radius:4px}.product__image{background-size:contain;background-repeat:no-repeat;background-position:center;height:calc(100% - 12px);width:calc(100% - 12px)}.product .qty-control ::ng-deep .p-inputnumber-input{align-self:flex-start;text-align:right;width:100%}.word-break{word-break:break-word}.no-image-icon{color:#b4d1ef;height:18px;width:18px}\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: 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.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$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
632
780
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewComponent, decorators: [{
|
633
781
|
type: i0.Component,
|
634
782
|
args: [{
|
@@ -639,7 +787,7 @@
|
|
639
787
|
}]
|
640
788
|
}], ctorParameters: function () { return [{ type: i2__namespace$1.FlowConfigurationService }, { type: FlowRouterService }, { type: i2__namespace$1.ProductImagesService }, { type: i2__namespace$1.QuoteDraftService }]; }, propDecorators: { overlayPanel: [{
|
641
789
|
type: i0.ViewChild,
|
642
|
-
args: [i3.OverlayPanel]
|
790
|
+
args: [i3$1.OverlayPanel]
|
643
791
|
}], products: [{
|
644
792
|
type: i0.Input
|
645
793
|
}] } });
|
@@ -650,13 +798,13 @@
|
|
650
798
|
return CartPreviewModule;
|
651
799
|
}());
|
652
800
|
CartPreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
653
|
-
CartPreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, declarations: [CartPreviewComponent], imports: [
|
654
|
-
CartPreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, imports: [[
|
801
|
+
CartPreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, declarations: [CartPreviewComponent], imports: [i8.CommonModule, i7.ReactiveFormsModule, i2.ButtonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i5.InputNumberModule], exports: [CartPreviewComponent] });
|
802
|
+
CartPreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, imports: [[i8.CommonModule, i7.ReactiveFormsModule, i2.ButtonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i5.InputNumberModule]] });
|
655
803
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CartPreviewModule, decorators: [{
|
656
804
|
type: i0.NgModule,
|
657
805
|
args: [{
|
658
806
|
declarations: [CartPreviewComponent],
|
659
|
-
imports: [
|
807
|
+
imports: [i8.CommonModule, i7.ReactiveFormsModule, i2.ButtonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i5.InputNumberModule],
|
660
808
|
exports: [CartPreviewComponent],
|
661
809
|
}]
|
662
810
|
}] });
|
@@ -729,6 +877,28 @@
|
|
729
877
|
primaryButton: 'OK',
|
730
878
|
});
|
731
879
|
};
|
880
|
+
FlowDialogService.prototype.showDocgenAccountUnsavedChangesDialog = function () {
|
881
|
+
return this.show({
|
882
|
+
title: 'Save Quote',
|
883
|
+
description: 'To generate a document, save the quote first, and then generate the document from the Shopping Cart.',
|
884
|
+
primaryButton: 'OK',
|
885
|
+
});
|
886
|
+
};
|
887
|
+
FlowDialogService.prototype.showDocgenReadonlyDialog = function () {
|
888
|
+
return this.show({
|
889
|
+
title: 'Document Generation is not Available',
|
890
|
+
description: 'It is only possible to generate documents for quotes with the “Draft” status. Please create a new quote to generate a document.',
|
891
|
+
primaryButton: 'OK',
|
892
|
+
});
|
893
|
+
};
|
894
|
+
FlowDialogService.prototype.showDocgenUnsavedChangesDialog = function () {
|
895
|
+
return this.show({
|
896
|
+
title: 'Unsaved Changes',
|
897
|
+
description: 'To generate a document, save the quote first.',
|
898
|
+
primaryButton: 'Save and proceed',
|
899
|
+
secondaryButton: 'Cancel',
|
900
|
+
});
|
901
|
+
};
|
732
902
|
return FlowDialogService;
|
733
903
|
}());
|
734
904
|
FlowDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowDialogService, deps: [{ token: i1__namespace.DialogService }, { token: i2__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
@@ -738,7 +908,7 @@
|
|
738
908
|
}], ctorParameters: function () { return [{ type: i1__namespace.DialogService }, { type: i2__namespace$1.ContextService }]; } });
|
739
909
|
|
740
910
|
var FlowHeaderComponent = /** @class */ (function () {
|
741
|
-
function FlowHeaderComponent(contextService, quoteDraftService, quoteApiService, sfApiService, flowConfiguration, routerService, dialogService) {
|
911
|
+
function FlowHeaderComponent(contextService, quoteDraftService, quoteApiService, sfApiService, flowConfiguration, routerService, dialogService, integrationState) {
|
742
912
|
var _this = this;
|
743
913
|
this.contextService = contextService;
|
744
914
|
this.quoteDraftService = quoteDraftService;
|
@@ -747,6 +917,7 @@
|
|
747
917
|
this.flowConfiguration = flowConfiguration;
|
748
918
|
this.routerService = routerService;
|
749
919
|
this.dialogService = dialogService;
|
920
|
+
this.integrationState = integrationState;
|
750
921
|
this.disabledActionButtonTooltip = 'Available from the Shopping Cart';
|
751
922
|
this.objectDetails$ = new rxjs.BehaviorSubject({});
|
752
923
|
this.isSaveInProgress$ = new rxjs.BehaviorSubject(false);
|
@@ -764,6 +935,8 @@
|
|
764
935
|
this.isConfigurationRoute$ = this.routerService.isConfigurationRoute$();
|
765
936
|
this.isCartRoute$ = this.routerService.isCartRoute$();
|
766
937
|
this.isCatalogRoute$ = this.routerService.isCatalogRoute$();
|
938
|
+
this.totalMRR$ = this.contextService.resolve$().pipe(rxjs.map(function (ctx) { return ctx.properties.VDM_Total_MRR; }), rxjs.distinctUntilChanged(), rxjs.map(function (mrr) { return _this.formatMetric(mrr); }));
|
939
|
+
this.totalNRR$ = this.contextService.resolve$().pipe(rxjs.map(function (ctx) { return ctx.properties.VDM_Total_NRR; }), rxjs.distinctUntilChanged(), rxjs.map(function (nrr) { return _this.formatMetric(nrr); }));
|
767
940
|
}
|
768
941
|
FlowHeaderComponent.prototype.ngOnInit = function () {
|
769
942
|
this.populateObjectDetails();
|
@@ -804,8 +977,30 @@
|
|
804
977
|
FlowHeaderComponent.prototype.navigateToCatalog = function () {
|
805
978
|
this.routerService.navigateToCatalog();
|
806
979
|
};
|
807
|
-
FlowHeaderComponent.prototype.
|
980
|
+
FlowHeaderComponent.prototype.docGenButtonClickHandler = function () {
|
808
981
|
var _this = this;
|
982
|
+
if (this.mode === core.ConfigurationContextMode.ACCOUNT) {
|
983
|
+
if (!this.quoteDraftService.hasUnsavedChanges) {
|
984
|
+
this.dialogService.showAccountNoChangesDialog().subscribe();
|
985
|
+
}
|
986
|
+
else {
|
987
|
+
this.dialogService.showDocgenAccountUnsavedChangesDialog().subscribe();
|
988
|
+
}
|
989
|
+
return;
|
990
|
+
}
|
991
|
+
if (!this.quoteDraftService.isEditMode()) {
|
992
|
+
this.dialogService.showDocgenReadonlyDialog().subscribe();
|
993
|
+
return;
|
994
|
+
}
|
995
|
+
var observable = rxjs.of(true);
|
996
|
+
if (this.quoteDraftService.hasUnsavedChanges) {
|
997
|
+
observable = this.dialogService.showDocgenUnsavedChangesDialog().pipe(rxjs.switchMap(function (confirmed) { return (confirmed ? _this.saveQuote$(true) : rxjs.of(true)); }), rxjs.map(function () { return true; }));
|
998
|
+
}
|
999
|
+
observable
|
1000
|
+
.pipe(rxjs.first(), rxjs.tap(function () { return _this.integrationState.dispatch(i1$1.OpenDocGenAction()); }))
|
1001
|
+
.subscribe();
|
1002
|
+
};
|
1003
|
+
FlowHeaderComponent.prototype.saveButtonClickHandler = function () {
|
809
1004
|
if (!this.quoteDraftService.isEditMode()) {
|
810
1005
|
if (this.mode === core.ConfigurationContextMode.QUOTE) {
|
811
1006
|
this.dialogService.showQuoteReadonlyModeDialog().subscribe();
|
@@ -824,19 +1019,7 @@
|
|
824
1019
|
this.dialogService.showEmptyCartDialog().subscribe();
|
825
1020
|
return;
|
826
1021
|
}
|
827
|
-
|
828
|
-
if (!quoteDraft) {
|
829
|
-
return;
|
830
|
-
}
|
831
|
-
this.isSaveInProgress$.next(true);
|
832
|
-
this.quoteApiService
|
833
|
-
.upsertQuote(quoteDraft)
|
834
|
-
.pipe(rxjs.tap(function (_c) {
|
835
|
-
var quoteId = _c.quoteId;
|
836
|
-
_this.quoteDraftService.hasUnsavedChanges = false;
|
837
|
-
_this.back(quoteId);
|
838
|
-
}), rxjs.finalize(function () { return _this.isSaveInProgress$.next(false); }), rxjs.takeUntil(this.destroyed$))
|
839
|
-
.subscribe();
|
1022
|
+
this.saveQuote$().subscribe();
|
840
1023
|
};
|
841
1024
|
FlowHeaderComponent.prototype.submitButtonClickHandler = function () {
|
842
1025
|
var _this = this;
|
@@ -865,6 +1048,22 @@
|
|
865
1048
|
FlowHeaderComponent.prototype.selectPriceList = function (priceListId) {
|
866
1049
|
this.quoteDraftService.updateActivePriceList(priceListId);
|
867
1050
|
};
|
1051
|
+
FlowHeaderComponent.prototype.saveQuote$ = function (stayOnPage) {
|
1052
|
+
var _this = this;
|
1053
|
+
if (stayOnPage === void 0) { stayOnPage = false; }
|
1054
|
+
var quoteDraft = this.quoteDraftService.quoteDraft;
|
1055
|
+
if (!quoteDraft) {
|
1056
|
+
return rxjs.of(undefined);
|
1057
|
+
}
|
1058
|
+
this.isSaveInProgress$.next(true);
|
1059
|
+
return this.quoteApiService.upsertQuote(quoteDraft).pipe(rxjs.tap(function (_c) {
|
1060
|
+
var quoteId = _c.quoteId;
|
1061
|
+
_this.quoteDraftService.hasUnsavedChanges = false;
|
1062
|
+
if (!stayOnPage) {
|
1063
|
+
_this.back(quoteId);
|
1064
|
+
}
|
1065
|
+
}), rxjs.finalize(function () { return _this.isSaveInProgress$.next(false); }), rxjs.map(rxjs.noop), rxjs.takeUntil(this.destroyed$));
|
1066
|
+
};
|
868
1067
|
FlowHeaderComponent.prototype.queryName$ = function (objectName, id) {
|
869
1068
|
if (!id) {
|
870
1069
|
return rxjs.of('');
|
@@ -888,7 +1087,11 @@
|
|
888
1087
|
this.queryName$('Account', accountId).subscribe(function (accountName) { return _this.objectDetails$.next(Object.assign(Object.assign({}, _this.objectDetails$.value), { accountName: accountName })); });
|
889
1088
|
this.queryName$('Opportunity', opportunityId).subscribe(function (opportunityName) { return _this.objectDetails$.next(Object.assign(Object.assign({}, _this.objectDetails$.value), { opportunityName: opportunityName })); });
|
890
1089
|
};
|
1090
|
+
FlowHeaderComponent.prototype.formatMetric = function (value) {
|
1091
|
+
return (value ? Number(value) : 0).toFixed(2);
|
1092
|
+
};
|
891
1093
|
FlowHeaderComponent.prototype.generateProducts = function (lineItems) {
|
1094
|
+
var _this = this;
|
892
1095
|
var date = new Date();
|
893
1096
|
date.setHours(0, 0, 0, 0);
|
894
1097
|
var now = date.getTime();
|
@@ -910,8 +1113,8 @@
|
|
910
1113
|
name: target.name,
|
911
1114
|
configurable: target.properties['#configurable'] === 'true',
|
912
1115
|
qty: target.qty,
|
913
|
-
mrr:
|
914
|
-
nrr:
|
1116
|
+
mrr: _this.formatMetric(target.properties.VDM_Total_MRR),
|
1117
|
+
nrr: _this.formatMetric(target.properties.VDM_Total_NRR),
|
915
1118
|
},
|
916
1119
|
]);
|
917
1120
|
}
|
@@ -920,8 +1123,8 @@
|
|
920
1123
|
};
|
921
1124
|
return FlowHeaderComponent;
|
922
1125
|
}());
|
923
|
-
FlowHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, deps: [{ token: i2__namespace$1.ContextService }, { token: i2__namespace$1.QuoteDraftService }, { token:
|
924
|
-
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 </span>\n <span *ngIf=\"objectName\" class=\"object-name\"> To {{ objectName }}</span>\n </nav>\n\n <ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Account name</span>\n\n <nav class=\"account-name\" [pTooltip]=\"contextProperties.Name ?? ''\" tooltipPosition=\"bottom\" [showDelay]=\"1000\">\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(contextProperties.Id)\">{{ contextProperties.Name }}</a>\n </nav>\n </ng-container>\n\n <ng-container *ngIf=\"isQuoteMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Quote #{{ 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 <nav class=\"nav-item\" [ngClass]=\"{ active: isCatalogRoute$ | async }\" (click)=\"navigateToCatalog()\">Catalog</nav>\n <nav class=\"nav-item disabled\" [ngClass]=\"{ active: isConfigurationRoute$ | async }\">Configurator</nav>\n <ng-container *vlLet=\"products$ | async as products\">\n <nav class=\"nav-item\" [ngClass]=\"{ active: isCartRoute$ | async }\" (click)=\"navigateToShoppingCart()\">\n Shopping Cart ({{ products.length }})\n </nav>\n\n <nav class=\"nav-popover-toggle active\" (click)=\"cart?.overlayPanel?.toggle($event)\">\n <i *ngIf=\"!cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <vl-cart-preview #cart [products]=\"products\"></vl-cart-preview>\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 <ng-container *ngIf=\"isAccountMode ?? assetPriceLists.length > 1\">\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-container *ngIf=\"isQuoteMode\">\n <span>{{ priceList.name }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isQuoteMode\">\n <span *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</span>\n\n <span class=\"slash-separator\"></span>\n\n <span>MRR: <span class=\"font-semibold\">$0.00</span></span>\n <span>NRR: <span class=\"font-semibold\">$0.00</span></span>\n </ng-container>\n\n <ng-container *vlLet=\"isCartRoute$ | async as isCartRoute\">\n <p-button\n styleClass=\"p-button-outlined\"\n label=\"Generate Doc\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSaveInProgress$ | async as isSaveInProgress\"\n class=\"save-button\"\n styleClass=\"p-button-outlined\"\n [label]=\"isSaveInProgress ? 'Saving' : 'Save to Quote'\"\n (onClick)=\"saveButtonClickHandler()\"\n [loading]=\"isSaveInProgress\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSubmitInProgress$ | async as isSubmitInProgress\"\n class=\"submit-button\"\n styleClass=\"p-button\"\n [label]=\"isSubmitInProgress ? 'Submitting' : 'Submit For Approval'\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n (onClick)=\"submitButtonClickHandler()\"\n [loading]=\"isSubmitInProgress\"\n ></p-button>\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.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-button{padding:5px 15px;font-size:12px}:host ::ng-deep .p-button{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button:enabled:hover{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined:enabled:hover{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button .p-button-label{white-space:nowrap}:host ::ng-deep .save-button .p-button{width:120px}:host ::ng-deep .submit-button .p-button{width:160px}.vl-icon{display:inline-block}.flow-info{flex-shrink:0;display:flex;grid-gap:8px;gap:8px;align-items:center}.flow-info .nav-popover-toggle{margin-left:-8px}.flow-info .object-name{text-transform:capitalize}.flow-info .nav-back{font-weight:bold}.flow-info .nav-item:not(.disabled):hover,.flow-info .nav-popover-toggle:not(.disabled):hover{opacity:.6}nav{display:flex;align-items:center;cursor:pointer;padding:4px 0}nav.disabled{opacity:.6;cursor:default}nav .nav-icon{margin-right:10px}nav .icon-with-margin{margin:0 4px}nav a{color:#fff}nav.account-name{margin-left:4px;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}nav.nav-popover-toggle{width:24px;display:flex;justify-content:center}nav.nav-popover-toggle i{pointer-events:none;margin:0}nav i{pointer-events:none}.dot-separator:after{content:\"\";display:block;width:4px;height:4px;border-radius:50%;background:#fff}.slash-separator:after{content:\"\";display:block;background:#fff;width:1px;height:16px}.flow-header-overlay__wrapper{width:360px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__wrapper .info-list{list-style:none;padding:0;font-size:12px}.flow-header-overlay__wrapper .info-list__row{padding:8px 0;display:flex;justify-content:space-between}.flow-header-overlay__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,.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active,.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:8px;gap:8px}\n"], components: [{ type: i3__namespace.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"] }], directives: [{ type: i3__namespace$1.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i9__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__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: i9__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i9__namespace.AsyncPipe, "date": i9__namespace.DatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1126
|
+
FlowHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, deps: [{ token: i2__namespace$1.ContextService }, { token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$2.QuoteApiService }, { token: i2__namespace$2.SalesforceApiService }, { token: i2__namespace$1.FlowConfigurationService }, { token: FlowRouterService }, { token: FlowDialogService }, { token: i1__namespace$1.IntegrationState }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1127
|
+
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 </span>\n <span *ngIf=\"objectName\" class=\"object-name\"> To {{ objectName }}</span>\n </nav>\n\n <ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Account name</span>\n\n <nav class=\"account-name\" [pTooltip]=\"contextProperties.Name ?? ''\" tooltipPosition=\"bottom\" [showDelay]=\"1000\">\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(contextProperties.Id)\">{{ contextProperties.Name }}</a>\n </nav>\n </ng-container>\n\n <ng-container *ngIf=\"isQuoteMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Quote #{{ 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 <nav class=\"nav-item\" [ngClass]=\"{ active: isCatalogRoute$ | async }\" (click)=\"navigateToCatalog()\">Catalog</nav>\n <nav class=\"nav-item disabled\" [ngClass]=\"{ active: isConfigurationRoute$ | async }\">Configurator</nav>\n <ng-container *vlLet=\"products$ | async as products\">\n <nav class=\"nav-item\" [ngClass]=\"{ active: isCartRoute$ | async }\" (click)=\"navigateToShoppingCart()\">\n Shopping Cart ({{ products.length }})\n </nav>\n\n <nav class=\"nav-popover-toggle active\" (click)=\"cart?.overlayPanel?.toggle($event)\">\n <i *ngIf=\"!cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <vl-cart-preview #cart [products]=\"products\"></vl-cart-preview>\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 <ng-container *ngIf=\"isAccountMode && assetPriceLists.length > 1\">\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-container *ngIf=\"isQuoteMode\">\n <span>{{ priceList?.name }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isQuoteMode\">\n <span *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</span>\n\n <span class=\"slash-separator\"></span>\n\n <span class=\"metrics\">\n <div class=\"metrics__row\">\n MRR: <span class=\"font-semibold\">${{ totalMRR$ | async }}</span>\n </div>\n <div class=\"metrics__row\">\n NRR: <span class=\"font-semibold\">${{ totalNRR$ | async }}</span>\n </div>\n </span>\n </ng-container>\n\n <ng-container *vlLet=\"isCartRoute$ | async as isCartRoute\">\n <p-button\n styleClass=\"p-button-outlined\"\n label=\"Generate Doc\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n (onClick)=\"docGenButtonClickHandler()\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSaveInProgress$ | async as isSaveInProgress\"\n class=\"save-button\"\n styleClass=\"p-button-outlined\"\n [label]=\"isSaveInProgress ? 'Saving' : 'Save to Quote'\"\n (onClick)=\"saveButtonClickHandler()\"\n [loading]=\"isSaveInProgress\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSubmitInProgress$ | async as isSubmitInProgress\"\n class=\"submit-button\"\n styleClass=\"p-button\"\n [label]=\"isSubmitInProgress ? 'Submitting' : 'Submit For Approval'\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n (onClick)=\"submitButtonClickHandler()\"\n [loading]=\"isSubmitInProgress\"\n ></p-button>\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.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-button{padding:5px 15px;font-size:12px}:host ::ng-deep .p-button{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button:enabled:hover{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined:enabled:hover{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button .p-button-label{white-space:nowrap}:host ::ng-deep .save-button .p-button{width:120px}:host ::ng-deep .submit-button .p-button{width:160px}.vl-icon{display:inline-block}.flow-info{flex-shrink:0;display:flex;grid-gap:8px;gap:8px;align-items:center}.flow-info .nav-popover-toggle{margin-left:-8px}.flow-info .object-name{text-transform:capitalize}.flow-info .nav-back{font-weight:bold}.flow-info .nav-item:not(.disabled):hover,.flow-info .nav-popover-toggle:not(.disabled):hover{opacity:.6}nav{display:flex;align-items:center;cursor:pointer;padding:4px 0}nav.disabled{opacity:.6;cursor:default}nav .nav-icon{margin-right:10px}nav .icon-with-margin{margin:0 4px}nav a{color:#fff}nav.account-name{margin-left:4px;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}nav.nav-popover-toggle{width:24px;display:flex;justify-content:center}nav.nav-popover-toggle i{pointer-events:none;margin:0}nav i{pointer-events:none}.dot-separator:after{content:\"\";display:block;width:4px;height:4px;border-radius:50%;background:#fff}.slash-separator:after{content:\"\";display:block;background:#fff;width:1px;height:16px}.flow-header-overlay__wrapper{width:360px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__wrapper .info-list{list-style:none;padding:0;font-size:12px}.flow-header-overlay__wrapper .info-list__row{padding:8px 0;display:flex;justify-content:space-between}.flow-header-overlay__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,.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active,.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:8px;gap:8px}\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"] }], directives: [{ type: i3__namespace.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11__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: i8__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i8__namespace.AsyncPipe, "date": i8__namespace.DatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
925
1128
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderComponent, decorators: [{
|
926
1129
|
type: i0.Component,
|
927
1130
|
args: [{
|
@@ -930,7 +1133,7 @@
|
|
930
1133
|
styleUrls: ['./header.component.scss'],
|
931
1134
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
932
1135
|
}]
|
933
|
-
}], ctorParameters: function () { return [{ type: i2__namespace$1.ContextService }, { type: i2__namespace$1.QuoteDraftService }, { type:
|
1136
|
+
}], ctorParameters: function () { return [{ type: i2__namespace$1.ContextService }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$2.QuoteApiService }, { type: i2__namespace$2.SalesforceApiService }, { type: i2__namespace$1.FlowConfigurationService }, { type: FlowRouterService }, { type: FlowDialogService }, { type: i1__namespace$1.IntegrationState }]; } });
|
934
1137
|
|
935
1138
|
var FlowHeaderModule = /** @class */ (function () {
|
936
1139
|
function FlowHeaderModule() {
|
@@ -938,13 +1141,13 @@
|
|
938
1141
|
return FlowHeaderModule;
|
939
1142
|
}());
|
940
1143
|
FlowHeaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
941
|
-
FlowHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [
|
942
|
-
FlowHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, imports: [[
|
1144
|
+
FlowHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [i8.CommonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i11.TooltipModule, i2.ButtonModule, CartPreviewModule], exports: [FlowHeaderComponent] });
|
1145
|
+
FlowHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, imports: [[i8.CommonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i11.TooltipModule, i2.ButtonModule, CartPreviewModule]] });
|
943
1146
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowHeaderModule, decorators: [{
|
944
1147
|
type: i0.NgModule,
|
945
1148
|
args: [{
|
946
1149
|
declarations: [FlowHeaderComponent],
|
947
|
-
imports: [
|
1150
|
+
imports: [i8.CommonModule, i3$1.OverlayPanelModule, i3.LetDirectiveModule, i11.TooltipModule, i2.ButtonModule, CartPreviewModule],
|
948
1151
|
exports: [FlowHeaderComponent],
|
949
1152
|
}]
|
950
1153
|
}] });
|
@@ -961,8 +1164,8 @@
|
|
961
1164
|
FlowService.prototype.initSubscriptions = function () {
|
962
1165
|
var _this = this;
|
963
1166
|
this.integrationState
|
964
|
-
.listen$(
|
965
|
-
.pipe(rxjs.
|
1167
|
+
.listen$(i1$1.FlowAction.FLOW_CONFIGURE_PRODUCT)
|
1168
|
+
.pipe(rxjs.tap(function (payload) {
|
966
1169
|
var _a, _b;
|
967
1170
|
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;
|
968
1171
|
if (productId) {
|
@@ -971,15 +1174,15 @@
|
|
971
1174
|
else {
|
972
1175
|
console.warn("Parameter 'productId' is needed to start configuration");
|
973
1176
|
}
|
974
|
-
}))
|
1177
|
+
}), rxjs.takeUntil(this.cleanup$))
|
975
1178
|
.subscribe();
|
976
1179
|
this.integrationState
|
977
|
-
.listen$(
|
978
|
-
.pipe(rxjs.
|
1180
|
+
.listen$(i1$1.FlowAction.FLOW_NAVIGATE_BACK)
|
1181
|
+
.pipe(rxjs.tap(function () { return _this.flowRouterService.navigateBack(); }), rxjs.takeUntil(this.cleanup$))
|
979
1182
|
.subscribe();
|
980
1183
|
this.integrationState
|
981
|
-
.listen$(
|
982
|
-
.pipe(rxjs.
|
1184
|
+
.listen$(i1$1.FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION)
|
1185
|
+
.pipe(rxjs.switchMap(function () {
|
983
1186
|
var lineItem = _this.configurationService.getSnapshot();
|
984
1187
|
if (!lineItem) {
|
985
1188
|
return rxjs.of(undefined);
|
@@ -998,7 +1201,7 @@
|
|
998
1201
|
}), rxjs.tap(function () {
|
999
1202
|
_this.configurationService.hasUnsavedChanges = false;
|
1000
1203
|
_this.flowRouterService.navigateToShoppingCart();
|
1001
|
-
}))
|
1204
|
+
}), rxjs.takeUntil(this.cleanup$))
|
1002
1205
|
.subscribe();
|
1003
1206
|
};
|
1004
1207
|
FlowService.prototype.cleanup = function () {
|
@@ -1006,29 +1209,31 @@
|
|
1006
1209
|
};
|
1007
1210
|
return FlowService;
|
1008
1211
|
}());
|
1009
|
-
FlowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, deps: [{ token:
|
1212
|
+
FlowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, deps: [{ token: i1__namespace$1.IntegrationState }, { token: FlowRouterService }, { token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$1.ConfigurationService }, { token: i2__namespace$1.FlowConfigurationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1010
1213
|
FlowService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService });
|
1011
1214
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowService, decorators: [{
|
1012
1215
|
type: i0.Injectable
|
1013
|
-
}], ctorParameters: function () { return [{ type:
|
1216
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$1.IntegrationState }, { type: FlowRouterService }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$1.ConfigurationService }, { type: i2__namespace$1.FlowConfigurationService }]; } });
|
1014
1217
|
|
1015
1218
|
var FlowComponent = /** @class */ (function () {
|
1016
|
-
function FlowComponent(routerService, quoteDraftService, flowService) {
|
1219
|
+
function FlowComponent(routerService, quoteDraftService, flowService, docGenService) {
|
1017
1220
|
var _this = this;
|
1018
1221
|
this.routerService = routerService;
|
1019
1222
|
this.quoteDraftService = quoteDraftService;
|
1020
1223
|
this.flowService = flowService;
|
1224
|
+
this.docGenService = docGenService;
|
1021
1225
|
this.isLoading$ = this.routerService.loading$;
|
1022
1226
|
this.showHeader$ = this.routerService.route$.pipe(rxjs.map(function (route) { return route.data.showHeader && !_this.quoteDraftService.isStandalone; }));
|
1023
1227
|
this.flowService.initSubscriptions();
|
1024
1228
|
}
|
1025
1229
|
FlowComponent.prototype.ngOnDestroy = function () {
|
1026
1230
|
this.flowService.cleanup();
|
1231
|
+
this.docGenService.cleanup();
|
1027
1232
|
};
|
1028
1233
|
return FlowComponent;
|
1029
1234
|
}());
|
1030
|
-
FlowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, deps: [{ token: FlowRouterService }, { token: i2__namespace$1.QuoteDraftService }, { token: FlowService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1031
|
-
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", 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
|
1235
|
+
FlowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, deps: [{ token: FlowRouterService }, { token: i2__namespace$1.QuoteDraftService }, { token: FlowService }, { token: FlowDocGenService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1236
|
+
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<vl-flow-doc-gen></vl-flow-doc-gen>\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: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1032
1237
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowComponent, decorators: [{
|
1033
1238
|
type: i0.Component,
|
1034
1239
|
args: [{
|
@@ -1037,7 +1242,7 @@
|
|
1037
1242
|
styleUrls: ['./flow.component.scss'],
|
1038
1243
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1039
1244
|
}]
|
1040
|
-
}], ctorParameters: function () { return [{ type: FlowRouterService }, { type: i2__namespace$1.QuoteDraftService }, { type: FlowService }]; } });
|
1245
|
+
}], ctorParameters: function () { return [{ type: FlowRouterService }, { type: i2__namespace$1.QuoteDraftService }, { type: FlowService }, { type: FlowDocGenService }]; } });
|
1041
1246
|
|
1042
1247
|
var ContextGuard = /** @class */ (function () {
|
1043
1248
|
function ContextGuard(router, routerService, contextService) {
|
@@ -1102,11 +1307,11 @@
|
|
1102
1307
|
};
|
1103
1308
|
return ContextGuard;
|
1104
1309
|
}());
|
1105
|
-
ContextGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard, deps: [{ token: i1__namespace$
|
1310
|
+
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: i2__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1106
1311
|
ContextGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard });
|
1107
1312
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ContextGuard, decorators: [{
|
1108
1313
|
type: i0.Injectable
|
1109
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1314
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: FlowRouterService }, { type: i2__namespace$1.ContextService }]; } });
|
1110
1315
|
|
1111
1316
|
var ProductUnloadGuard = /** @class */ (function () {
|
1112
1317
|
function ProductUnloadGuard(router, contextService, quoteDraftService, configurationService, flowDialogService) {
|
@@ -1141,11 +1346,11 @@
|
|
1141
1346
|
};
|
1142
1347
|
return ProductUnloadGuard;
|
1143
1348
|
}());
|
1144
|
-
ProductUnloadGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard, deps: [{ token: i1__namespace$
|
1349
|
+
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: i2__namespace$1.ContextService }, { token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$1.ConfigurationService }, { token: FlowDialogService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1145
1350
|
ProductUnloadGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard });
|
1146
1351
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductUnloadGuard, decorators: [{
|
1147
1352
|
type: i0.Injectable
|
1148
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1353
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i2__namespace$1.ContextService }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$1.ConfigurationService }, { type: FlowDialogService }]; } });
|
1149
1354
|
|
1150
1355
|
var RootGuard = /** @class */ (function () {
|
1151
1356
|
function RootGuard(router, routerService) {
|
@@ -1179,12 +1384,12 @@
|
|
1179
1384
|
};
|
1180
1385
|
return RootGuard;
|
1181
1386
|
}());
|
1182
|
-
RootGuard.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, deps: [{ token: i1__namespace$
|
1387
|
+
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 });
|
1183
1388
|
RootGuard.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, providedIn: 'root' });
|
1184
1389
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RootGuard, decorators: [{
|
1185
1390
|
type: i0.Injectable,
|
1186
1391
|
args: [{ providedIn: 'root' }]
|
1187
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1392
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: FlowRouterService }]; } });
|
1188
1393
|
|
1189
1394
|
var FLOW_CUSTOMIZATION = new i0.InjectionToken('FLOW_CUSTOMIZATION');
|
1190
1395
|
|
@@ -1214,7 +1419,7 @@
|
|
1214
1419
|
}), rxjs.catchError(function (err) {
|
1215
1420
|
var _a;
|
1216
1421
|
var message = 'Failed to resolve Catalog component. ' + ((_a = err.message) !== null && _a !== void 0 ? _a : '');
|
1217
|
-
_this.toastService.add({ severity: i3
|
1422
|
+
_this.toastService.add({ severity: i3.ToastType.error, summary: message, sticky: true });
|
1218
1423
|
_this.uiDefinition = undefined;
|
1219
1424
|
_this.state$.next({ loading: false, failure: true });
|
1220
1425
|
return rxjs.of();
|
@@ -1281,8 +1486,8 @@
|
|
1281
1486
|
};
|
1282
1487
|
return CatalogComponent;
|
1283
1488
|
}());
|
1284
|
-
CatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, deps: [{ token:
|
1285
|
-
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
|
1489
|
+
CatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, deps: [{ token: i2__namespace$2.UITemplatesApiService }, { token: i2__namespace$1.ContextService }, { token: i0__namespace.ChangeDetectorRef }, { token: i3__namespace.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1490
|
+
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: i1__namespace$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1286
1491
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogComponent, decorators: [{
|
1287
1492
|
type: i0.Component,
|
1288
1493
|
args: [{
|
@@ -1292,7 +1497,7 @@
|
|
1292
1497
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1293
1498
|
}]
|
1294
1499
|
}], ctorParameters: function () {
|
1295
|
-
return [{ type:
|
1500
|
+
return [{ type: i2__namespace$2.UITemplatesApiService }, { type: i2__namespace$1.ContextService }, { type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.ToastService }, { type: undefined, decorators: [{
|
1296
1501
|
type: i0.Optional
|
1297
1502
|
}, {
|
1298
1503
|
type: i0.Inject,
|
@@ -1306,13 +1511,13 @@
|
|
1306
1511
|
return CatalogModule;
|
1307
1512
|
}());
|
1308
1513
|
CatalogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1309
|
-
CatalogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, declarations: [CatalogComponent], imports: [
|
1310
|
-
CatalogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, imports: [[
|
1514
|
+
CatalogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, declarations: [CatalogComponent], imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule], exports: [CatalogComponent] });
|
1515
|
+
CatalogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, imports: [[i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule]] });
|
1311
1516
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CatalogModule, decorators: [{
|
1312
1517
|
type: i0.NgModule,
|
1313
1518
|
args: [{
|
1314
1519
|
declarations: [CatalogComponent],
|
1315
|
-
imports: [
|
1520
|
+
imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule],
|
1316
1521
|
exports: [CatalogComponent],
|
1317
1522
|
}]
|
1318
1523
|
}] });
|
@@ -1370,8 +1575,8 @@
|
|
1370
1575
|
};
|
1371
1576
|
return DebugComponent;
|
1372
1577
|
}());
|
1373
|
-
DebugComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, deps: [{ token:
|
1374
|
-
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\n <div class=\"field\">\n <label>SF Object Name</label>\n <p-dropdown\n appendTo=\"body\"\n formControlName=\"name\"\n [autoDisplayFirst]=\"false\"\n [options]=\"objectNames\"\n ></p-dropdown>\n </div>\n </div>\n\n <p-button\n styleClass=\"p-button-primary\"\n label=\"Run Flow\"\n [disabled]=\"!form.value.id || !selectedFlow\"\n (onClick)=\"runFlow()\"\n ></p-button>\n</form>\n\n<table>\n <thead>\n <tr>\n <th [width]=\"30\"></th>\n <th [width]=\"160\">ID</th>\n <th [width]=\"160\">Entry Path</th>\n <th>QueryParams</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async\" (click)=\"selectedFlow = flow\">\n <td><p-radioButton [inputId]=\"flow.id\" name=\"flow\" [value]=\"flow\" [(ngModel)]=\"selectedFlow\"></p-radioButton></td>\n <td>{{ flow.id }}</td>\n <td>{{ flow.entryPath }}</td>\n <td>{{ flow.queryParamsStr }}</td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;padding:24px 54px}form{display:flex;align-items:center;justify-content:space-between}.fields-container{display:flex;grid-gap:24px;gap:24px}.field{display:flex;flex-direction:column;width:200px;flex-shrink:0}:host ::ng-deep .p-dropdown{width:100%}table{width:100%;border-collapse:collapse}tr{cursor:pointer}tr:hover{background-color:#f0f5fa}th{text-align:left;font-weight:600}th,td{padding:0 10px;height:30px;border-bottom:1px solid var(--vl-border-color);margin-right:16px}\n"], components: [{ type: i4__namespace
|
1578
|
+
DebugComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, deps: [{ token: i2__namespace$2.FlowsApiService }, { token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }, { token: i2__namespace$1.ContextService }, { token: i2__namespace$1.FlowConfigurationService }, { token: i2__namespace$1.QuoteDraftService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1579
|
+
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\n <div class=\"field\">\n <label>SF Object Name</label>\n <p-dropdown\n appendTo=\"body\"\n formControlName=\"name\"\n [autoDisplayFirst]=\"false\"\n [options]=\"objectNames\"\n ></p-dropdown>\n </div>\n </div>\n\n <p-button\n styleClass=\"p-button-primary\"\n label=\"Run Flow\"\n [disabled]=\"!form.value.id || !selectedFlow\"\n (onClick)=\"runFlow()\"\n ></p-button>\n</form>\n\n<table>\n <thead>\n <tr>\n <th [width]=\"30\"></th>\n <th [width]=\"160\">ID</th>\n <th [width]=\"160\">Entry Path</th>\n <th>QueryParams</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async\" (click)=\"selectedFlow = flow\">\n <td><p-radioButton [inputId]=\"flow.id\" name=\"flow\" [value]=\"flow\" [(ngModel)]=\"selectedFlow\"></p-radioButton></td>\n <td>{{ flow.id }}</td>\n <td>{{ flow.entryPath }}</td>\n <td>{{ flow.queryParamsStr }}</td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;padding:24px 54px}form{display:flex;align-items:center;justify-content:space-between}.fields-container{display:flex;grid-gap:24px;gap:24px}.field{display:flex;flex-direction:column;width:200px;flex-shrink:0}:host ::ng-deep .p-dropdown{width:100%}table{width:100%;border-collapse:collapse}tr{cursor:pointer}tr:hover{background-color:#f0f5fa}th{text-align:left;font-weight:600}th,td{padding:0 10px;height:30px;border-bottom:1px solid var(--vl-border-color);margin-right:16px}\n"], components: [{ type: i4__namespace.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: 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.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i7__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i8__namespace$1.InputText, selector: "[pInputText]" }, { type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1375
1580
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugComponent, decorators: [{
|
1376
1581
|
type: i0.Component,
|
1377
1582
|
args: [{
|
@@ -1380,7 +1585,7 @@
|
|
1380
1585
|
styleUrls: ['./debug.component.scss'],
|
1381
1586
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1382
1587
|
}]
|
1383
|
-
}], ctorParameters: function () { return [{ type:
|
1588
|
+
}], ctorParameters: function () { return [{ type: i2__namespace$2.FlowsApiService }, { type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }, { type: i2__namespace$1.ContextService }, { type: i2__namespace$1.FlowConfigurationService }, { type: i2__namespace$1.QuoteDraftService }]; } });
|
1384
1589
|
|
1385
1590
|
var routes$1 = [{ path: '', component: DebugComponent }];
|
1386
1591
|
var DebugModule = /** @class */ (function () {
|
@@ -1389,35 +1594,35 @@
|
|
1389
1594
|
return DebugModule;
|
1390
1595
|
}());
|
1391
1596
|
DebugModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1392
|
-
DebugModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, declarations: [DebugComponent], imports: [
|
1597
|
+
DebugModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, declarations: [DebugComponent], imports: [i8.CommonModule,
|
1393
1598
|
i7.FormsModule,
|
1394
|
-
i7.ReactiveFormsModule, i1__namespace$
|
1599
|
+
i7.ReactiveFormsModule, i1__namespace$2.RouterModule, i6.RadioButtonModule,
|
1395
1600
|
i2.ButtonModule,
|
1396
|
-
i8.InputTextModule,
|
1397
|
-
i4
|
1601
|
+
i8$1.InputTextModule,
|
1602
|
+
i4.DropdownModule] });
|
1398
1603
|
DebugModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, imports: [[
|
1399
|
-
|
1604
|
+
i8.CommonModule,
|
1400
1605
|
i7.FormsModule,
|
1401
1606
|
i7.ReactiveFormsModule,
|
1402
|
-
i1$
|
1607
|
+
i1$2.RouterModule.forChild(routes$1),
|
1403
1608
|
i6.RadioButtonModule,
|
1404
1609
|
i2.ButtonModule,
|
1405
|
-
i8.InputTextModule,
|
1406
|
-
i4
|
1610
|
+
i8$1.InputTextModule,
|
1611
|
+
i4.DropdownModule,
|
1407
1612
|
]] });
|
1408
1613
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DebugModule, decorators: [{
|
1409
1614
|
type: i0.NgModule,
|
1410
1615
|
args: [{
|
1411
1616
|
declarations: [DebugComponent],
|
1412
1617
|
imports: [
|
1413
|
-
|
1618
|
+
i8.CommonModule,
|
1414
1619
|
i7.FormsModule,
|
1415
1620
|
i7.ReactiveFormsModule,
|
1416
|
-
i1$
|
1621
|
+
i1$2.RouterModule.forChild(routes$1),
|
1417
1622
|
i6.RadioButtonModule,
|
1418
1623
|
i2.ButtonModule,
|
1419
|
-
i8.InputTextModule,
|
1420
|
-
i4
|
1624
|
+
i8$1.InputTextModule,
|
1625
|
+
i4.DropdownModule,
|
1421
1626
|
],
|
1422
1627
|
}]
|
1423
1628
|
}] });
|
@@ -1533,8 +1738,8 @@
|
|
1533
1738
|
};
|
1534
1739
|
return LegacyProductComponent;
|
1535
1740
|
}());
|
1536
|
-
LegacyProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductComponent, deps: [{ token: i1__namespace$
|
1537
|
-
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$
|
1741
|
+
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: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$2.QuoteApiService }, { token: i2__namespace$1.ContextService }, { token: i4__namespace$1.RuntimeContextService }, { token: i4__namespace$1.RuntimeService }, { token: i4__namespace$1.CurrentStateService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1742
|
+
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$1.RuntimeComponent, selector: "vl-runtime", outputs: ["solutionUpdated"] }] });
|
1538
1743
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductComponent, decorators: [{
|
1539
1744
|
type: i0.Component,
|
1540
1745
|
args: [{
|
@@ -1542,7 +1747,7 @@
|
|
1542
1747
|
styleUrls: ['./legacy-product.component.scss'],
|
1543
1748
|
}]
|
1544
1749
|
}], ctorParameters: function () {
|
1545
|
-
return [{ type: i1__namespace$
|
1750
|
+
return [{ type: i1__namespace$2.ActivatedRoute }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$2.QuoteApiService }, { type: i2__namespace$1.ContextService }, { type: i4__namespace$1.RuntimeContextService }, { type: i4__namespace$1.RuntimeService }, { type: i4__namespace$1.CurrentStateService }, { type: undefined, decorators: [{
|
1546
1751
|
type: i0.Optional
|
1547
1752
|
}, {
|
1548
1753
|
type: i0.Inject,
|
@@ -1556,13 +1761,13 @@
|
|
1556
1761
|
return LegacyProductModule;
|
1557
1762
|
}());
|
1558
1763
|
LegacyProductModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1559
|
-
LegacyProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [
|
1560
|
-
LegacyProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, imports: [[
|
1764
|
+
LegacyProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, declarations: [LegacyProductComponent], imports: [i8.CommonModule, i4$1.RuntimeModule, i1__namespace$3.TooltipModule], exports: [LegacyProductComponent] });
|
1765
|
+
LegacyProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, imports: [[i8.CommonModule, i4$1.RuntimeModule, i1$3.TooltipModule.forRoot()]] });
|
1561
1766
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LegacyProductModule, decorators: [{
|
1562
1767
|
type: i0.NgModule,
|
1563
1768
|
args: [{
|
1564
1769
|
declarations: [LegacyProductComponent],
|
1565
|
-
imports: [
|
1770
|
+
imports: [i8.CommonModule, i4$1.RuntimeModule, i1$3.TooltipModule.forRoot()],
|
1566
1771
|
exports: [LegacyProductComponent],
|
1567
1772
|
}]
|
1568
1773
|
}] });
|
@@ -1641,8 +1846,8 @@
|
|
1641
1846
|
};
|
1642
1847
|
return ProductComponent;
|
1643
1848
|
}());
|
1644
|
-
ProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, deps: [{ token: i2__namespace$1.ContextService }, { token: i2__namespace$1.ConfigurationRuntimeService }, { token: i2__namespace$1.ConfigurationService }, { token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$
|
1645
|
-
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
|
1849
|
+
ProductComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, deps: [{ token: i2__namespace$1.ContextService }, { token: i2__namespace$1.ConfigurationRuntimeService }, { token: i2__namespace$1.ConfigurationService }, { token: i2__namespace$1.QuoteDraftService }, { token: i2__namespace$3.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
1850
|
+
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: i1__namespace$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1646
1851
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductComponent, decorators: [{
|
1647
1852
|
type: i0.Component,
|
1648
1853
|
args: [{
|
@@ -1652,7 +1857,7 @@
|
|
1652
1857
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1653
1858
|
}]
|
1654
1859
|
}], ctorParameters: function () {
|
1655
|
-
return [{ type: i2__namespace$1.ContextService }, { type: i2__namespace$1.ConfigurationRuntimeService }, { type: i2__namespace$1.ConfigurationService }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$
|
1860
|
+
return [{ type: i2__namespace$1.ContextService }, { type: i2__namespace$1.ConfigurationRuntimeService }, { type: i2__namespace$1.ConfigurationService }, { type: i2__namespace$1.QuoteDraftService }, { type: i2__namespace$3.MessageService }, { type: undefined, decorators: [{
|
1656
1861
|
type: i0.Optional
|
1657
1862
|
}, {
|
1658
1863
|
type: i0.Inject,
|
@@ -1666,13 +1871,13 @@
|
|
1666
1871
|
return ProductModule;
|
1667
1872
|
}());
|
1668
1873
|
ProductModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1669
|
-
ProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, declarations: [ProductComponent], imports: [
|
1670
|
-
ProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, imports: [[
|
1874
|
+
ProductModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, declarations: [ProductComponent], imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule], exports: [ProductComponent] });
|
1875
|
+
ProductModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, imports: [[i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule]] });
|
1671
1876
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductModule, decorators: [{
|
1672
1877
|
type: i0.NgModule,
|
1673
1878
|
args: [{
|
1674
1879
|
declarations: [ProductComponent],
|
1675
|
-
imports: [
|
1880
|
+
imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule],
|
1676
1881
|
exports: [ProductComponent],
|
1677
1882
|
}]
|
1678
1883
|
}] });
|
@@ -1691,8 +1896,8 @@
|
|
1691
1896
|
}
|
1692
1897
|
return RecordNotFoundComponent;
|
1693
1898
|
}());
|
1694
|
-
RecordNotFoundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundComponent, deps: [{ token: i1__namespace$
|
1695
|
-
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:
|
1899
|
+
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 });
|
1900
|
+
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: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1696
1901
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundComponent, decorators: [{
|
1697
1902
|
type: i0.Component,
|
1698
1903
|
args: [{
|
@@ -1701,7 +1906,7 @@
|
|
1701
1906
|
styleUrls: ['./record-not-found.component.scss'],
|
1702
1907
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1703
1908
|
}]
|
1704
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
1909
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i1__namespace$2.ActivatedRoute }]; } });
|
1705
1910
|
|
1706
1911
|
var routes = [{ path: '', component: RecordNotFoundComponent }];
|
1707
1912
|
var RecordNotFoundModule = /** @class */ (function () {
|
@@ -1710,13 +1915,13 @@
|
|
1710
1915
|
return RecordNotFoundModule;
|
1711
1916
|
}());
|
1712
1917
|
RecordNotFoundModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1713
|
-
RecordNotFoundModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [
|
1714
|
-
RecordNotFoundModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, imports: [[
|
1918
|
+
RecordNotFoundModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [i8.CommonModule, i1__namespace$2.RouterModule] });
|
1919
|
+
RecordNotFoundModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, imports: [[i8.CommonModule, i1$2.RouterModule.forChild(routes)]] });
|
1715
1920
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RecordNotFoundModule, decorators: [{
|
1716
1921
|
type: i0.NgModule,
|
1717
1922
|
args: [{
|
1718
1923
|
declarations: [RecordNotFoundComponent],
|
1719
|
-
imports: [
|
1924
|
+
imports: [i8.CommonModule, i1$2.RouterModule.forChild(routes)],
|
1720
1925
|
}]
|
1721
1926
|
}] });
|
1722
1927
|
|
@@ -1746,7 +1951,7 @@
|
|
1746
1951
|
}), rxjs.catchError(function (err) {
|
1747
1952
|
var _a;
|
1748
1953
|
var message = 'Failed to resolve Shopping cart component. ' + ((_a = err.message) !== null && _a !== void 0 ? _a : '');
|
1749
|
-
_this.toastService.add({ severity: i3
|
1954
|
+
_this.toastService.add({ severity: i3.ToastType.error, summary: message, sticky: true });
|
1750
1955
|
_this.uiDefinition = undefined;
|
1751
1956
|
_this.state$.next({ loading: false, failure: true });
|
1752
1957
|
return rxjs.of();
|
@@ -1813,8 +2018,8 @@
|
|
1813
2018
|
};
|
1814
2019
|
return ShoppingCartComponent;
|
1815
2020
|
}());
|
1816
|
-
ShoppingCartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, deps: [{ token:
|
1817
|
-
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
|
2021
|
+
ShoppingCartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, deps: [{ token: i2__namespace$2.UITemplatesApiService }, { token: i2__namespace$1.ContextService }, { token: i0__namespace.ChangeDetectorRef }, { token: i3__namespace.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
2022
|
+
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: i1__namespace$1.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i8__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
1818
2023
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartComponent, decorators: [{
|
1819
2024
|
type: i0.Component,
|
1820
2025
|
args: [{
|
@@ -1824,7 +2029,7 @@
|
|
1824
2029
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
1825
2030
|
}]
|
1826
2031
|
}], ctorParameters: function () {
|
1827
|
-
return [{ type:
|
2032
|
+
return [{ type: i2__namespace$2.UITemplatesApiService }, { type: i2__namespace$1.ContextService }, { type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.ToastService }, { type: undefined, decorators: [{
|
1828
2033
|
type: i0.Optional
|
1829
2034
|
}, {
|
1830
2035
|
type: i0.Inject,
|
@@ -1838,13 +2043,13 @@
|
|
1838
2043
|
return ShoppingCartModule;
|
1839
2044
|
}());
|
1840
2045
|
ShoppingCartModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1841
|
-
ShoppingCartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, declarations: [ShoppingCartComponent], imports: [
|
1842
|
-
ShoppingCartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, imports: [[
|
2046
|
+
ShoppingCartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, declarations: [ShoppingCartComponent], imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule], exports: [ShoppingCartComponent] });
|
2047
|
+
ShoppingCartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, imports: [[i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule]] });
|
1843
2048
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ShoppingCartModule, decorators: [{
|
1844
2049
|
type: i0.NgModule,
|
1845
2050
|
args: [{
|
1846
2051
|
declarations: [ShoppingCartComponent],
|
1847
|
-
imports: [
|
2052
|
+
imports: [i8.CommonModule, i1$1.PreviewModule, i3.LoaderModule],
|
1848
2053
|
exports: [ShoppingCartComponent],
|
1849
2054
|
}]
|
1850
2055
|
}] });
|
@@ -1903,11 +2108,11 @@
|
|
1903
2108
|
};
|
1904
2109
|
return FlowResolver;
|
1905
2110
|
}());
|
1906
|
-
FlowResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver, deps: [{ token: i1__namespace$
|
2111
|
+
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$2.FlowsApiService }, { token: FlowRouterService }, { token: i2__namespace$1.ContextService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1907
2112
|
FlowResolver.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver });
|
1908
2113
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowResolver, decorators: [{
|
1909
2114
|
type: i0.Injectable
|
1910
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
2115
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i2__namespace$2.FlowsApiService }, { type: FlowRouterService }, { type: i2__namespace$1.ContextService }]; } });
|
1911
2116
|
|
1912
2117
|
var QuoteResolver = /** @class */ (function () {
|
1913
2118
|
function QuoteResolver(router, quoteDraftService, routerService, contextService, flowConfiguration) {
|
@@ -1929,18 +2134,18 @@
|
|
1929
2134
|
return rxjs.of(true);
|
1930
2135
|
}
|
1931
2136
|
var queryParams = route.queryParams;
|
1932
|
-
return this.quoteDraftService.init(headerId, queryParams).pipe(rxjs.catchError(function (e) {
|
2137
|
+
return this.quoteDraftService.init(headerId, queryParams).pipe(rxjs.switchMap(function () { return _this.flowConfiguration.calculate$(); }), rxjs.tap(function () { return (_this.quoteDraftService.isInitialized = true); }), rxjs.catchError(function (e) {
|
1933
2138
|
var message = e instanceof http.HttpErrorResponse ? e.error.message : e;
|
1934
2139
|
return _this.handleError(route, message);
|
1935
2140
|
}));
|
1936
2141
|
};
|
1937
2142
|
return QuoteResolver;
|
1938
2143
|
}());
|
1939
|
-
QuoteResolver.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver, deps: [{ token: i1__namespace$
|
2144
|
+
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: i2__namespace$1.QuoteDraftService }, { token: FlowRouterService }, { token: i2__namespace$1.ContextService }, { token: i2__namespace$1.FlowConfigurationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
1940
2145
|
QuoteResolver.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver });
|
1941
2146
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: QuoteResolver, decorators: [{
|
1942
2147
|
type: i0.Injectable
|
1943
|
-
}], ctorParameters: function () { return [{ type: i1__namespace$
|
2148
|
+
}], ctorParameters: function () { return [{ type: i1__namespace$2.Router }, { type: i2__namespace$1.QuoteDraftService }, { type: FlowRouterService }, { type: i2__namespace$1.ContextService }, { type: i2__namespace$1.FlowConfigurationService }]; } });
|
1944
2149
|
|
1945
2150
|
var rootRoute = {
|
1946
2151
|
id: VELOCE_FLOW_ROOT_ROUTE,
|
@@ -2009,13 +2214,13 @@
|
|
2009
2214
|
return FlowRoutingModule;
|
2010
2215
|
}());
|
2011
2216
|
FlowRoutingModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2012
|
-
FlowRoutingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, imports: [i1__namespace$
|
2013
|
-
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: [[i1$
|
2217
|
+
FlowRoutingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, imports: [i1__namespace$2.RouterModule, ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule], exports: [i1$2.RouterModule] });
|
2218
|
+
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: [[i1$2.RouterModule.forChild([rootRoute]), ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule], i1$2.RouterModule] });
|
2014
2219
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowRoutingModule, decorators: [{
|
2015
2220
|
type: i0.NgModule,
|
2016
2221
|
args: [{
|
2017
|
-
imports: [i1$
|
2018
|
-
exports: [i1$
|
2222
|
+
imports: [i1$2.RouterModule.forChild([rootRoute]), ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule],
|
2223
|
+
exports: [i1$2.RouterModule],
|
2019
2224
|
providers: [FlowRouterService, RootGuard, ContextGuard, ProductUnloadGuard, FlowResolver, QuoteResolver],
|
2020
2225
|
}]
|
2021
2226
|
}] });
|
@@ -2026,39 +2231,42 @@
|
|
2026
2231
|
return FlowModule;
|
2027
2232
|
}());
|
2028
2233
|
FlowModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
2029
|
-
FlowModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, declarations: [FlowComponent], imports: [
|
2234
|
+
FlowModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, declarations: [FlowComponent], imports: [i8.CommonModule,
|
2030
2235
|
FlowRoutingModule,
|
2031
|
-
|
2032
|
-
|
2033
|
-
i3
|
2236
|
+
i2$2.ApiModule,
|
2237
|
+
i1$1.LauncherModule,
|
2238
|
+
i3.LoaderModule,
|
2034
2239
|
FlowHeaderModule,
|
2035
2240
|
FlowDialogModule,
|
2036
|
-
i2$1.SdkCoreModule
|
2037
|
-
|
2038
|
-
|
2241
|
+
i2$1.SdkCoreModule,
|
2242
|
+
DocGenModule] });
|
2243
|
+
FlowModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, providers: [FlowService, FlowDialogService, FlowDocGenService], imports: [[
|
2244
|
+
i8.CommonModule,
|
2039
2245
|
FlowRoutingModule,
|
2040
|
-
|
2041
|
-
|
2042
|
-
i3
|
2246
|
+
i2$2.ApiModule,
|
2247
|
+
i1$1.LauncherModule,
|
2248
|
+
i3.LoaderModule,
|
2043
2249
|
FlowHeaderModule,
|
2044
2250
|
FlowDialogModule,
|
2045
2251
|
i2$1.SdkCoreModule,
|
2252
|
+
DocGenModule,
|
2046
2253
|
]] });
|
2047
2254
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FlowModule, decorators: [{
|
2048
2255
|
type: i0.NgModule,
|
2049
2256
|
args: [{
|
2050
2257
|
declarations: [FlowComponent],
|
2051
2258
|
imports: [
|
2052
|
-
|
2259
|
+
i8.CommonModule,
|
2053
2260
|
FlowRoutingModule,
|
2054
|
-
|
2055
|
-
|
2056
|
-
i3
|
2261
|
+
i2$2.ApiModule,
|
2262
|
+
i1$1.LauncherModule,
|
2263
|
+
i3.LoaderModule,
|
2057
2264
|
FlowHeaderModule,
|
2058
2265
|
FlowDialogModule,
|
2059
2266
|
i2$1.SdkCoreModule,
|
2267
|
+
DocGenModule,
|
2060
2268
|
],
|
2061
|
-
providers: [FlowService, FlowDialogService],
|
2269
|
+
providers: [FlowService, FlowDialogService, FlowDocGenService],
|
2062
2270
|
}]
|
2063
2271
|
}] });
|
2064
2272
|
|