@veloceapps/sdk 5.0.7 → 5.0.9
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 +41 -4
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +469 -192
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/cms.actions.d.ts +8 -2
- package/cms/types/common.types.d.ts +5 -0
- package/cms/types/index.d.ts +1 -0
- package/cms/types/metrics.types.d.ts +5 -0
- package/cms/utils/elements-resolver.d.ts +2 -1
- package/cms/vendor-map.d.ts +4 -0
- package/esm2015/cms/cms.actions.js +11 -1
- package/esm2015/cms/types/common.types.js +1 -1
- package/esm2015/cms/types/index.js +2 -1
- package/esm2015/cms/types/metrics.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +6 -1
- package/esm2015/cms/utils/elements-resolver.js +21 -4
- package/esm2015/src/components/header/header.component.js +7 -16
- package/esm2015/src/components/header/header.module.js +6 -2
- package/esm2015/src/components/header/metrics/index.js +2 -0
- package/esm2015/src/components/header/metrics/metrics.component.js +216 -0
- package/esm2015/src/components/header/metrics/metrics.definitions.js +9 -0
- package/esm2015/src/components/header/metrics/metrics.module.js +64 -0
- package/esm2015/src/services/flow-router.service.js +13 -1
- package/esm2015/src/services/flow.service.js +7 -1
- package/fesm2015/veloce-sdk-cms.js +39 -5
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk.js +356 -85
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/components/header/header.component.d.ts +0 -8
- package/src/components/header/header.module.d.ts +2 -1
- package/src/components/header/metrics/index.d.ts +1 -0
- package/src/components/header/metrics/metrics.component.d.ts +49 -0
- package/src/components/header/metrics/metrics.definitions.d.ts +4 -0
- package/src/components/header/metrics/metrics.module.d.ts +17 -0
- package/src/services/flow-router.service.d.ts +1 -0
@@ -0,0 +1,216 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
3
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
4
|
+
import { OverlayPanel } from 'primeng/overlaypanel';
|
5
|
+
import { startWith, Subject } from 'rxjs';
|
6
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
7
|
+
import { cloneDeep, isEqual, uniq } from 'lodash';
|
8
|
+
import { FlowAction } from '@veloce/sdk/cms';
|
9
|
+
import { defaultMetrics, effectiveMetricKeys, METRICS_STORAGE_KEY } from './metrics.definitions';
|
10
|
+
import { invalidCharactersValidator, requiredValidator, reservedIdentifierValidator, standardCharSetWithSpaceRegExp, } from '@veloce/core/forms';
|
11
|
+
import * as i0 from "@angular/core";
|
12
|
+
import * as i1 from "@veloce/sdk/cms";
|
13
|
+
import * as i2 from "@veloce/sdk/core";
|
14
|
+
import * as i3 from "primeng/overlaypanel";
|
15
|
+
import * as i4 from "primeng/sidebar";
|
16
|
+
import * as i5 from "primeng/button";
|
17
|
+
import * as i6 from "primeng/checkbox";
|
18
|
+
import * as i7 from "@veloce/components";
|
19
|
+
import * as i8 from "@angular/common";
|
20
|
+
import * as i9 from "primeng/api";
|
21
|
+
import * as i10 from "@angular/forms";
|
22
|
+
import * as i11 from "primeng/inputtext";
|
23
|
+
import * as i12 from "@angular/cdk/drag-drop";
|
24
|
+
export class MetricsComponent {
|
25
|
+
constructor(integrationState, contextService, quoteDraftService, cdr) {
|
26
|
+
this.integrationState = integrationState;
|
27
|
+
this.contextService = contextService;
|
28
|
+
this.quoteDraftService = quoteDraftService;
|
29
|
+
this.cdr = cdr;
|
30
|
+
this.emptyStateMetrics = [
|
31
|
+
{ name: 'MRR', value: 0 },
|
32
|
+
{ name: 'E.MRR', value: 0 },
|
33
|
+
{ name: 'NRR', value: 0 },
|
34
|
+
{ name: 'E.NRR', value: 0 },
|
35
|
+
];
|
36
|
+
this.visibleSelectedMetrics = [];
|
37
|
+
this.restSelectedMetrics = [];
|
38
|
+
this.metrics = [];
|
39
|
+
this.filteredMetrics = [];
|
40
|
+
this.sidebarVisible = false;
|
41
|
+
this.searchControl = new FormControl('');
|
42
|
+
this.nameControl = new FormControl('', [
|
43
|
+
requiredValidator,
|
44
|
+
invalidCharactersValidator(standardCharSetWithSpaceRegExp),
|
45
|
+
reservedIdentifierValidator,
|
46
|
+
Validators.maxLength(80),
|
47
|
+
]);
|
48
|
+
this.defaultMetrics = [];
|
49
|
+
this.storedDefaultMetrics = [];
|
50
|
+
this.metricKeys = [];
|
51
|
+
this.lastSavedMetrics = [];
|
52
|
+
this.destroyed$ = new Subject();
|
53
|
+
}
|
54
|
+
ngOnInit() {
|
55
|
+
this.quoteDraftService.currentState$
|
56
|
+
.pipe(takeUntil(this.destroyed$), tap(lineItems => {
|
57
|
+
this.metricKeys = this.collectMetricKeys(lineItems).reduce((result, key) => {
|
58
|
+
result.push(key);
|
59
|
+
if (effectiveMetricKeys.includes(key)) {
|
60
|
+
result.push(`Effective_${key}`);
|
61
|
+
}
|
62
|
+
return result;
|
63
|
+
}, []);
|
64
|
+
this.collectAvailableMetrics();
|
65
|
+
}))
|
66
|
+
.subscribe();
|
67
|
+
this.integrationState
|
68
|
+
.listen$(FlowAction.SET_DEFAULT_METRICS)
|
69
|
+
.pipe(tap(({ metrics }) => {
|
70
|
+
if (isEqual(this.storedDefaultMetrics, metrics)) {
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
this.storedDefaultMetrics = metrics;
|
74
|
+
this.collectAvailableMetrics();
|
75
|
+
}), takeUntil(this.destroyed$))
|
76
|
+
.subscribe();
|
77
|
+
this.searchControl.valueChanges.pipe(takeUntil(this.destroyed$), startWith('')).subscribe(query => {
|
78
|
+
this.filteredMetrics = this.metrics.filter(({ name }) => {
|
79
|
+
return (name || '').toLowerCase().includes(query === null || query === void 0 ? void 0 : query.toLowerCase());
|
80
|
+
});
|
81
|
+
});
|
82
|
+
}
|
83
|
+
ngOnDestroy() {
|
84
|
+
this.destroyed$.next();
|
85
|
+
this.destroyed$.complete();
|
86
|
+
}
|
87
|
+
openSidebar() {
|
88
|
+
this.overlayPanel.hide();
|
89
|
+
this.sidebarVisible = true;
|
90
|
+
}
|
91
|
+
closeSidebar() {
|
92
|
+
this.sidebarVisible = false;
|
93
|
+
this.metrics = cloneDeep(this.lastSavedMetrics);
|
94
|
+
this.editingMetric = undefined;
|
95
|
+
this.searchControl.setValue('');
|
96
|
+
}
|
97
|
+
getMetricValue(key) {
|
98
|
+
const context = this.contextService.resolve();
|
99
|
+
if (key.startsWith('Effective_')) {
|
100
|
+
const correctKey = key.replace('Effective_', '');
|
101
|
+
return this.toNumber(context.properties[correctKey]) - this.toNumber(context.properties[`Previous${correctKey}`]);
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
return this.toNumber(context.properties[key]);
|
105
|
+
}
|
106
|
+
}
|
107
|
+
save() {
|
108
|
+
localStorage.setItem(METRICS_STORAGE_KEY, JSON.stringify(this.metrics));
|
109
|
+
this.setMetrics();
|
110
|
+
this.lastSavedMetrics = cloneDeep(this.metrics);
|
111
|
+
this.closeSidebar();
|
112
|
+
}
|
113
|
+
changeMetricOrder(event) {
|
114
|
+
moveItemInArray(this.metrics, event.previousIndex, event.currentIndex);
|
115
|
+
this.filteredMetrics = this.metrics;
|
116
|
+
}
|
117
|
+
editMetric(metric) {
|
118
|
+
if (this.editingMetric && this.nameControl.invalid) {
|
119
|
+
return;
|
120
|
+
}
|
121
|
+
this.editingMetric = metric;
|
122
|
+
this.nameControl.setValue(metric.name);
|
123
|
+
}
|
124
|
+
saveMetric() {
|
125
|
+
var _a;
|
126
|
+
if (this.nameControl.invalid) {
|
127
|
+
return;
|
128
|
+
}
|
129
|
+
if (this.editingMetric) {
|
130
|
+
this.editingMetric.name = (_a = this.nameControl.value) === null || _a === void 0 ? void 0 : _a.trim();
|
131
|
+
}
|
132
|
+
this.editingMetric = undefined;
|
133
|
+
}
|
134
|
+
resetToDefault() {
|
135
|
+
this.collectAvailableMetrics(true);
|
136
|
+
}
|
137
|
+
collectMetricKeys(lineItems) {
|
138
|
+
const keys = [];
|
139
|
+
lineItems.forEach(lineItem => {
|
140
|
+
keys.push(...Object.keys(lineItem.totalMetrics || {}));
|
141
|
+
keys.push(...this.collectMetricKeys(lineItem.lineItems));
|
142
|
+
});
|
143
|
+
return uniq(keys);
|
144
|
+
}
|
145
|
+
setMetrics() {
|
146
|
+
const metrics = cloneDeep(this.metrics.filter(({ visible }) => visible));
|
147
|
+
this.visibleSelectedMetrics = metrics.slice(0, 4);
|
148
|
+
this.restSelectedMetrics = metrics.slice(4);
|
149
|
+
}
|
150
|
+
collectAvailableMetrics(resetToDefault = false) {
|
151
|
+
this.metrics = [];
|
152
|
+
this.defaultMetrics = this.storedDefaultMetrics.length ? this.storedDefaultMetrics : defaultMetrics;
|
153
|
+
const storedMetrics = JSON.parse(localStorage.getItem(METRICS_STORAGE_KEY) || '[]');
|
154
|
+
const metricKeys = [...this.metricKeys];
|
155
|
+
if (!storedMetrics.length || resetToDefault) {
|
156
|
+
this.defaultMetrics.forEach(defaultMetric => {
|
157
|
+
const metricKeyIndex = metricKeys.findIndex(key => key === defaultMetric.key);
|
158
|
+
const storedMetric = storedMetrics.find(({ key }) => key === defaultMetric.key);
|
159
|
+
if (storedMetric && !resetToDefault) {
|
160
|
+
this.metrics.push(storedMetric);
|
161
|
+
}
|
162
|
+
else {
|
163
|
+
this.metrics.push(defaultMetric);
|
164
|
+
}
|
165
|
+
if (metricKeyIndex >= 0) {
|
166
|
+
metricKeys.splice(metricKeyIndex, 1);
|
167
|
+
}
|
168
|
+
});
|
169
|
+
}
|
170
|
+
else {
|
171
|
+
this.metrics = [
|
172
|
+
...storedMetrics.reduce((result, metric) => {
|
173
|
+
const metricKeyIndex = metricKeys.findIndex(key => key === metric.key);
|
174
|
+
if (metricKeyIndex >= 0) {
|
175
|
+
metricKeys.splice(metricKeyIndex, 1);
|
176
|
+
}
|
177
|
+
return [...result, metric];
|
178
|
+
}, []),
|
179
|
+
];
|
180
|
+
}
|
181
|
+
this.metrics = [
|
182
|
+
...this.metrics,
|
183
|
+
...metricKeys.map(metricKey => {
|
184
|
+
return { key: metricKey, name: this.getMetricName(metricKey), visible: false };
|
185
|
+
}),
|
186
|
+
];
|
187
|
+
this.metrics = cloneDeep(this.metrics);
|
188
|
+
this.searchControl.setValue('');
|
189
|
+
if (!resetToDefault) {
|
190
|
+
this.lastSavedMetrics = cloneDeep(this.metrics);
|
191
|
+
this.setMetrics();
|
192
|
+
}
|
193
|
+
this.cdr.markForCheck();
|
194
|
+
}
|
195
|
+
getMetricName(key) {
|
196
|
+
return key.replace(/VDM_|Total_/g, '');
|
197
|
+
}
|
198
|
+
toNumber(value) {
|
199
|
+
return +(value || 0);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
MetricsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsComponent, deps: [{ token: i1.IntegrationState }, { token: i2.ContextService }, { token: i2.QuoteDraftService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
203
|
+
MetricsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: MetricsComponent, selector: "vl-metrics", viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"header-metrics\" (click)=\"overlayPanel.toggle($event)\">\n <div *ngFor=\"let metric of visibleSelectedMetrics\" class=\"metric\">\n <span class=\"name\" [attr.title]=\"metric.name\">{{ metric.name }}</span>\n <span class=\"filler\"></span>\n <span class=\"value\">${{ getMetricValue(metric.key) | number: '1.2-2' }}</span>\n </div>\n\n <ng-container *ngIf=\"!visibleSelectedMetrics.length\">\n <div *ngFor=\"let metric of emptyStateMetrics\" class=\"metric empty-state-metric\">\n <span class=\"name\" [attr.title]=\"metric.name\">{{ metric.name }}</span>\n <span class=\"filler\"></span>\n <span class=\"value\">${{ metric.value | number: '1.2-2' }}</span>\n </div>\n </ng-container>\n</div>\n\n<p-overlayPanel\n styleClass=\"metrics-overlay-container center no-padding\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"overlay-metrics\">\n <div *ngFor=\"let metric of restSelectedMetrics\" class=\"metric\">\n <span class=\"name\" [attr.title]=\"metric.name\">{{ metric.name }}</span>\n <span class=\"filler\"></span>\n <span class=\"value\">${{ getMetricValue(metric.key) | number: '1.2-2' }}</span>\n </div>\n </div>\n <button class=\"config\" (click)=\"openSidebar()\">\n Metrics Config\n <i class=\"vl-icon vl-icon-chevron-down\"></i>\n </button>\n </ng-template>\n</p-overlayPanel>\n\n<p-sidebar\n [visible]=\"sidebarVisible\"\n (visibleChange)=\"closeSidebar()\"\n position=\"right\"\n [baseZIndex]=\"1000\"\n [style]=\"{ width: '360px' }\"\n>\n <div class=\"container\">\n <div class=\"header\">\n Quote Metrics Config\n <i class=\"vl-icon vl-icon-close\" (click)=\"closeSidebar()\"></i>\n </div>\n\n <div class=\"search-container\">\n <input\n data-test-id=\"search\"\n [formControl]=\"searchControl\"\n pInputText\n placeholder=\"Search for metric\u2026\"\n class=\"w-full\"\n />\n </div>\n\n <div class=\"content\">\n <div class=\"sidebar-metrics\" cdkDropList (cdkDropListDropped)=\"changeMetricOrder($event)\">\n <div\n *ngFor=\"let metric of filteredMetrics\"\n class=\"sidebar-metric\"\n [class.edit]=\"metric.key === editingMetric?.key\"\n cdkDrag\n [cdkDragDisabled]=\"!!searchControl.value\"\n >\n <div class=\"drag-icon\">\n <i class=\"vl-icon vl-icon-reorder\" cdkDragHandle></i>\n </div>\n <ng-container\n [ngTemplateOutlet]=\"metricTemplate\"\n [ngTemplateOutletContext]=\"{ metric: metric }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"empty-state\" *ngIf=\"!filteredMetrics.length\">There are no items matching your search criteria</div>\n </div>\n <div class=\"footer\">\n <p-button\n label=\"Reset to default\"\n styleClass=\"p-button-outlined p-button-sm\"\n (onClick)=\"resetToDefault()\"\n ></p-button>\n <p-button label=\"Save\" styleClass=\"p-button p-button-filled p-button-sm\" (onClick)=\"save()\"></p-button>\n </div>\n </div>\n</p-sidebar>\n\n<ng-template #metricTemplate let-metric=\"metric\">\n <div *ngIf=\"editingMetric?.key !== metric.key\" class=\"preview-state\">\n <p-checkbox\n [ngModel]=\"metric.visible\"\n (ngModelChange)=\"metric.visible = !metric.visible\"\n [binary]=\"true\"\n checkboxIcon=\"vl-icon vl-icon-checkmark\"\n ></p-checkbox>\n <div class=\"title\">{{ metric.name }}</div>\n </div>\n\n <div *ngIf=\"editingMetric?.key === metric.key\" class=\"edit-state\">\n <input data-test-id=\"name\" [formControl]=\"nameControl\" pInputText placeholder=\"Metric name\" class=\"w-full\" />\n <vl-error-tooltip [tooltip]=\"nameControl | error: 'name'\" [visible]=\"!!nameControl.errors\"></vl-error-tooltip>\n </div>\n <div *ngIf=\"editingMetric?.key !== metric.key\" (click)=\"editMetric(metric)\" class=\"action edit\">\n <i class=\"vl-icon vl-icon-edit-sm\"></i>\n </div>\n <div *ngIf=\"editingMetric?.key === metric.key\" (click)=\"saveMetric()\" class=\"action save\">\n <i class=\"vl-icon vl-icon-checkmark\"></i>\n </div>\n</ng-template>\n", styles: [":host .header-metrics{cursor:pointer;min-width:130px;max-width:260px;display:flex;flex-wrap:wrap;justify-content:flex-start;grid-gap:0 16px;gap:0 16px;height:32px;align-items:flex-start}:host .header-metrics .metric{flex:1;flex-basis:114px;max-width:122px;display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;line-height:16px;letter-spacing:.3px}:host .header-metrics .metric .name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .header-metrics .metric .value{font-weight:600}:host .header-metrics .metric.empty-state-metric{filter:blur(1.5px)}:host ::ng-deep .p-sidebar-header{display:none}:host ::ng-deep .p-sidebar-content{padding:0 24px;height:100%}::ng-deep .metrics-overlay-container{width:160px}::ng-deep .metrics-overlay-container .p-overlaypanel-content{padding:0}::ng-deep .metrics-overlay-container .overlay-metrics{max-height:110px;overflow:auto}::ng-deep .metrics-overlay-container .metric{display:flex;padding:0 12px;font-size:12px;line-height:16px;letter-spacing:.3px;align-items:flex-end}::ng-deep .metrics-overlay-container .metric .name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .metrics-overlay-container .metric .value{font-weight:600}::ng-deep .metrics-overlay-container .metric:not(:last-of-type){margin-bottom:4px}::ng-deep .metrics-overlay-container .metric:first-of-type{margin-top:12px}::ng-deep .metrics-overlay-container .metric:last-of-type{margin-bottom:12px}::ng-deep .metrics-overlay-container .config{display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;background:var(--vl-color-light-blue);outline:none;border:none;width:100%;height:32px;font-size:12px;line-height:16px;letter-spacing:.3px}::ng-deep .metrics-overlay-container .config .vl-icon-chevron-down{color:var(--vl-text-color-accent-light);transform:rotate(-90deg)}.filler{flex:1;margin:0 4px 3px;min-width:5px}.filler:before{display:block;width:100%;height:2px;content:\"\";background-image:radial-gradient(circle at 1px 1px,var(--vl-text-color-accent-light) 1px,transparent 0);background-size:3px 2px}.container{display:flex;flex-direction:column;height:100%}.container .header{margin:15px 0 23px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:18px;line-height:26px;letter-spacing:-.6px;color:var(--vl-accent-color)}.container .header i{cursor:pointer;font-size:15px}.container .search-container{margin-bottom:12px}.container .search-container input{width:100%}.container .content{display:flex;flex-direction:column;flex:1;overflow:hidden}.container .footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 20px;margin:0 -16px;border-top:1px solid var(--vl-border-color)}.container .footer p-button{flex:1}.container .footer p-button ::ng-deep button{width:100%}.container .footer p-button:not(:last-child){margin-right:16px}.container app-empty-state::ng-deep{margin-bottom:12px}.container app-empty-state::ng-deep .container{width:100%;padding-bottom:0}.sidebar-metrics{width:100%;overflow:auto;padding:1px 0}.empty-state{display:flex;flex:1;align-items:center;justify-content:center;color:var(--vl-text-color-deep-accent);font-size:12px;line-height:16px;letter-spacing:.3px}.sidebar-metric{display:flex;align-items:center;height:32px;position:relative;padding-left:8px;border-radius:2px}.sidebar-metric:hover:not(.edit){background:var(--vl-color-light-blue)}.sidebar-metric:hover:not(.edit) .edit{visibility:visible}.sidebar-metric p-checkbox{margin-right:8px}.sidebar-metric .drag-icon{width:16px;height:16px;margin-right:8px}.sidebar-metric .drag-icon i{cursor:pointer;color:#c5d1e2}.sidebar-metric.cdk-drag-disabled .drag-icon i{cursor:default}.sidebar-metric .title{font-weight:400;font-size:12px;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:text;color:var(--vl-text-color-secondary)}.sidebar-metric .preview-state,.sidebar-metric .edit-state{position:relative;margin-right:8px;min-width:0;display:flex;align-items:center;flex:1}.sidebar-metric .preview-state input,.sidebar-metric .edit-state input{width:100%}.sidebar-metric .action{cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.sidebar-metric .edit{visibility:hidden}.sidebar-metric .edit i{color:var(--vl-text-color-deep-accent);width:12px;height:12px}.sidebar-metric .save{background:var(--vl-primary-color);border-radius:2px}.sidebar-metric .save i{color:#fff}.sidebar-metric ::ng-deep .p-checkbox{width:16px;height:16px}.sidebar-metric ::ng-deep .p-checkbox .p-checkbox-box{width:16px;height:16px}.cdk-drag-preview{z-index:10001!important;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { type: i5.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i6.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }, { type: i7.ErrorTooltipComponent, selector: "vl-error-tooltip", inputs: ["tooltip", "visible"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i10.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: i11.InputText, selector: "[pInputText]" }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i12.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i12.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i12.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "number": i8.DecimalPipe, "error": i7.ErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsComponent, decorators: [{
|
205
|
+
type: Component,
|
206
|
+
args: [{
|
207
|
+
selector: 'vl-metrics',
|
208
|
+
templateUrl: './metrics.component.html',
|
209
|
+
styleUrls: ['./metrics.component.scss'],
|
210
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
211
|
+
}]
|
212
|
+
}], ctorParameters: function () { return [{ type: i1.IntegrationState }, { type: i2.ContextService }, { type: i2.QuoteDraftService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { overlayPanel: [{
|
213
|
+
type: ViewChild,
|
214
|
+
args: [OverlayPanel]
|
215
|
+
}] } });
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9oZWFkZXIvbWV0cmljcy9tZXRyaWNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9tZXRyaWNzL21ldHJpY3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHbEQsT0FBTyxFQUFFLFVBQVUsRUFBNEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakcsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLDhCQUE4QixHQUMvQixNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVE1QixNQUFNLE9BQU8sZ0JBQWdCO0lBNkIzQixZQUNVLGdCQUFrQyxFQUNsQyxjQUE4QixF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SUFDekMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUF5QjtRQUN4QyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7OEdBNU1VLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdHQUNoQixZQUFZLGdEQ3pCekIsd3NJQWlIQTs0RkR6RmEsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO29NQUUwQixZQUFZO3NCQUFwQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWwgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsLCB1bmlxIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0FjdGlvbiwgSW50ZWdyYXRpb25TdGF0ZSwgTWV0cmljIH0gZnJvbSAnQHZlbG9jZS9zZGsvY21zJztcbmltcG9ydCB7IGRlZmF1bHRNZXRyaWNzLCBlZmZlY3RpdmVNZXRyaWNLZXlzLCBNRVRSSUNTX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi9tZXRyaWNzLmRlZmluaXRpb25zJztcbmltcG9ydCB7XG4gIGludmFsaWRDaGFyYWN0ZXJzVmFsaWRhdG9yLFxuICByZXF1aXJlZFZhbGlkYXRvcixcbiAgcmVzZXJ2ZWRJZGVudGlmaWVyVmFsaWRhdG9yLFxuICBzdGFuZGFyZENoYXJTZXRXaXRoU3BhY2VSZWdFeHAsXG59IGZyb20gJ0B2ZWxvY2UvY29yZS9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLW1ldHJpY3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldHJpY3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvdmVybGF5UGFuZWwhOiBPdmVybGF5UGFuZWw7XG5cbiAgcHVibGljIGVtcHR5U3RhdGVNZXRyaWNzID0gW1xuICAgIHsgbmFtZTogJ01SUicsIHZhbHVlOiAwIH0sXG4gICAgeyBuYW1lOiAnRS5NUlInLCB2YWx1ZTogMCB9LFxuICAgIHsgbmFtZTogJ05SUicsIHZhbHVlOiAwIH0sXG4gICAgeyBuYW1lOiAnRS5OUlInLCB2YWx1ZTogMCB9LFxuICBdO1xuICBwdWJsaWMgdmlzaWJsZVNlbGVjdGVkTWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHVibGljIHJlc3RTZWxlY3RlZE1ldHJpY3M6IE1ldHJpY1tdID0gW107XG4gIHB1YmxpYyBtZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwdWJsaWMgZmlsdGVyZWRNZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwdWJsaWMgZWRpdGluZ01ldHJpYzogTWV0cmljIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2lkZWJhclZpc2libGUgPSBmYWxzZTtcbiAgcHVibGljIHNlYXJjaENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgcHVibGljIG5hbWVDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgW1xuICAgIHJlcXVpcmVkVmFsaWRhdG9yLFxuICAgIGludmFsaWRDaGFyYWN0ZXJzVmFsaWRhdG9yKHN0YW5kYXJkQ2hhclNldFdpdGhTcGFjZVJlZ0V4cCksXG4gICAgcmVzZXJ2ZWRJZGVudGlmaWVyVmFsaWRhdG9yLFxuICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDgwKSxcbiAgXSk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0TWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHJpdmF0ZSBzdG9yZWREZWZhdWx0TWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHJpdmF0ZSBtZXRyaWNLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGxhc3RTYXZlZE1ldHJpY3M6IE1ldHJpY1tdID0gW107XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgICAgdGFwKGxpbmVJdGVtcyA9PiB7XG4gICAgICAgICAgdGhpcy5tZXRyaWNLZXlzID0gdGhpcy5jb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbXMpLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgICAgICBpZiAoZWZmZWN0aXZlTWV0cmljS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGBFZmZlY3RpdmVfJHtrZXl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgIH0sIFtdIGFzIHN0cmluZ1tdKTtcbiAgICAgICAgICB0aGlzLmNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLlNFVF9ERUZBVUxUX01FVFJJQ1MpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh7IG1ldHJpY3MgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0VxdWFsKHRoaXMuc3RvcmVkRGVmYXVsdE1ldHJpY3MsIG1ldHJpY3MpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RvcmVkRGVmYXVsdE1ldHJpY3MgPSBtZXRyaWNzO1xuICAgICAgICAgIHRoaXMuY29sbGVjdEF2YWlsYWJsZU1ldHJpY3MoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLCBzdGFydFdpdGgoJycpKS5zdWJzY3JpYmUocXVlcnkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE1ldHJpY3MgPSB0aGlzLm1ldHJpY3MuZmlsdGVyKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgICByZXR1cm4gKG5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnk/LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuU2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlQYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5zaWRlYmFyVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VTaWRlYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLm1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5sYXN0U2F2ZWRNZXRyaWNzKTtcbiAgICB0aGlzLmVkaXRpbmdNZXRyaWMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXRyaWNWYWx1ZShrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnRWZmZWN0aXZlXycpKSB7XG4gICAgICBjb25zdCBjb3JyZWN0S2V5ID0ga2V5LnJlcGxhY2UoJ0VmZmVjdGl2ZV8nLCAnJyk7XG4gICAgICByZXR1cm4gdGhpcy50b051bWJlcihjb250ZXh0LnByb3BlcnRpZXNbY29ycmVjdEtleV0pIC0gdGhpcy50b051bWJlcihjb250ZXh0LnByb3BlcnRpZXNbYFByZXZpb3VzJHtjb3JyZWN0S2V5fWBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudG9OdW1iZXIoY29udGV4dC5wcm9wZXJ0aWVzW2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKE1FVFJJQ1NfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMubWV0cmljcykpO1xuICAgIHRoaXMuc2V0TWV0cmljcygpO1xuICAgIHRoaXMubGFzdFNhdmVkTWV0cmljcyA9IGNsb25lRGVlcCh0aGlzLm1ldHJpY3MpO1xuICAgIHRoaXMuY2xvc2VTaWRlYmFyKCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlTWV0cmljT3JkZXIoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLm1ldHJpY3MsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5maWx0ZXJlZE1ldHJpY3MgPSB0aGlzLm1ldHJpY3M7XG4gIH1cblxuICBwdWJsaWMgZWRpdE1ldHJpYyhtZXRyaWM6IE1ldHJpYyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRpbmdNZXRyaWMgJiYgdGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZWRpdGluZ01ldHJpYyA9IG1ldHJpYztcbiAgICB0aGlzLm5hbWVDb250cm9sLnNldFZhbHVlKG1ldHJpYy5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTWV0cmljKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWVDb250cm9sLmludmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRpdGluZ01ldHJpYykge1xuICAgICAgdGhpcy5lZGl0aW5nTWV0cmljLm5hbWUgPSB0aGlzLm5hbWVDb250cm9sLnZhbHVlPy50cmltKCk7XG4gICAgfVxuICAgIHRoaXMuZWRpdGluZ01ldHJpYyA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFRvRGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICBsaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICBrZXlzLnB1c2goLi4uT2JqZWN0LmtleXMobGluZUl0ZW0udG90YWxNZXRyaWNzIHx8IHt9KSk7XG4gICAgICBrZXlzLnB1c2goLi4udGhpcy5jb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbS5saW5lSXRlbXMpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdW5pcShrZXlzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWV0cmljcygpOiB2b2lkIHtcbiAgICBjb25zdCBtZXRyaWNzID0gY2xvbmVEZWVwKHRoaXMubWV0cmljcy5maWx0ZXIoKHsgdmlzaWJsZSB9KSA9PiB2aXNpYmxlKSk7XG5cbiAgICB0aGlzLnZpc2libGVTZWxlY3RlZE1ldHJpY3MgPSBtZXRyaWNzLnNsaWNlKDAsIDQpO1xuICAgIHRoaXMucmVzdFNlbGVjdGVkTWV0cmljcyA9IG1ldHJpY3Muc2xpY2UoNCk7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKHJlc2V0VG9EZWZhdWx0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLm1ldHJpY3MgPSBbXTtcbiAgICB0aGlzLmRlZmF1bHRNZXRyaWNzID0gdGhpcy5zdG9yZWREZWZhdWx0TWV0cmljcy5sZW5ndGggPyB0aGlzLnN0b3JlZERlZmF1bHRNZXRyaWNzIDogZGVmYXVsdE1ldHJpY3M7XG4gICAgY29uc3Qgc3RvcmVkTWV0cmljczogTWV0cmljW10gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKE1FVFJJQ1NfU1RPUkFHRV9LRVkpIHx8ICdbXScpO1xuICAgIGNvbnN0IG1ldHJpY0tleXMgPSBbLi4udGhpcy5tZXRyaWNLZXlzXTtcbiAgICBpZiAoIXN0b3JlZE1ldHJpY3MubGVuZ3RoIHx8IHJlc2V0VG9EZWZhdWx0KSB7XG4gICAgICB0aGlzLmRlZmF1bHRNZXRyaWNzLmZvckVhY2goZGVmYXVsdE1ldHJpYyA9PiB7XG4gICAgICAgIGNvbnN0IG1ldHJpY0tleUluZGV4ID0gbWV0cmljS2V5cy5maW5kSW5kZXgoa2V5ID0+IGtleSA9PT0gZGVmYXVsdE1ldHJpYy5rZXkpO1xuXG4gICAgICAgIGNvbnN0IHN0b3JlZE1ldHJpYyA9IHN0b3JlZE1ldHJpY3MuZmluZCgoeyBrZXkgfSkgPT4ga2V5ID09PSBkZWZhdWx0TWV0cmljLmtleSk7XG4gICAgICAgIGlmIChzdG9yZWRNZXRyaWMgJiYgIXJlc2V0VG9EZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5tZXRyaWNzLnB1c2goc3RvcmVkTWV0cmljKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm1ldHJpY3MucHVzaChkZWZhdWx0TWV0cmljKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0cmljS2V5SW5kZXggPj0gMCkge1xuICAgICAgICAgIG1ldHJpY0tleXMuc3BsaWNlKG1ldHJpY0tleUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0cmljcyA9IFtcbiAgICAgICAgLi4uc3RvcmVkTWV0cmljcy5yZWR1Y2UoKHJlc3VsdCwgbWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljS2V5SW5kZXggPSBtZXRyaWNLZXlzLmZpbmRJbmRleChrZXkgPT4ga2V5ID09PSBtZXRyaWMua2V5KTtcblxuICAgICAgICAgIGlmIChtZXRyaWNLZXlJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBtZXRyaWNLZXlzLnNwbGljZShtZXRyaWNLZXlJbmRleCwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5yZXN1bHQsIG1ldHJpY107XG4gICAgICAgIH0sIFtdIGFzIE1ldHJpY1tdKSxcbiAgICAgIF07XG4gICAgfVxuICAgIHRoaXMubWV0cmljcyA9IFtcbiAgICAgIC4uLnRoaXMubWV0cmljcyxcbiAgICAgIC4uLm1ldHJpY0tleXMubWFwKG1ldHJpY0tleSA9PiB7XG4gICAgICAgIHJldHVybiB7IGtleTogbWV0cmljS2V5LCBuYW1lOiB0aGlzLmdldE1ldHJpY05hbWUobWV0cmljS2V5KSwgdmlzaWJsZTogZmFsc2UgfTtcbiAgICAgIH0pLFxuICAgIF07XG4gICAgdGhpcy5tZXRyaWNzID0gY2xvbmVEZWVwKHRoaXMubWV0cmljcyk7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICBpZiAoIXJlc2V0VG9EZWZhdWx0KSB7XG4gICAgICB0aGlzLmxhc3RTYXZlZE1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5tZXRyaWNzKTtcbiAgICAgIHRoaXMuc2V0TWV0cmljcygpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWV0cmljTmFtZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGtleS5yZXBsYWNlKC9WRE1ffFRvdGFsXy9nLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIHRvTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIge1xuICAgIHJldHVybiArKHZhbHVlIHx8IDApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyLW1ldHJpY3NcIiAoY2xpY2spPVwib3ZlcmxheVBhbmVsLnRvZ2dsZSgkZXZlbnQpXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiB2aXNpYmxlU2VsZWN0ZWRNZXRyaWNzXCIgY2xhc3M9XCJtZXRyaWNcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiBbYXR0ci50aXRsZV09XCJtZXRyaWMubmFtZVwiPnt7IG1ldHJpYy5uYW1lIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZmlsbGVyXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj4ke3sgZ2V0TWV0cmljVmFsdWUobWV0cmljLmtleSkgfCBudW1iZXI6ICcxLjItMicgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdmlzaWJsZVNlbGVjdGVkTWV0cmljcy5sZW5ndGhcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXRyaWMgb2YgZW1wdHlTdGF0ZU1ldHJpY3NcIiBjbGFzcz1cIm1ldHJpYyBlbXB0eS1zdGF0ZS1tZXRyaWNcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibmFtZVwiIFthdHRyLnRpdGxlXT1cIm1ldHJpYy5uYW1lXCI+e3sgbWV0cmljLm5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImZpbGxlclwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj4ke3sgbWV0cmljLnZhbHVlIHwgbnVtYmVyOiAnMS4yLTInIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48cC1vdmVybGF5UGFuZWxcbiAgc3R5bGVDbGFzcz1cIm1ldHJpY3Mtb3ZlcmxheS1jb250YWluZXIgY2VudGVyIG5vLXBhZGRpbmdcIlxuICBzaG93VHJhbnNpdGlvbk9wdGlvbnM9XCIwbXNcIlxuICBoaWRlVHJhbnNpdGlvbk9wdGlvbnM9XCIwbXNcIlxuPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LW1ldHJpY3NcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiByZXN0U2VsZWN0ZWRNZXRyaWNzXCIgY2xhc3M9XCJtZXRyaWNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCIgW2F0dHIudGl0bGVdPVwibWV0cmljLm5hbWVcIj57eyBtZXRyaWMubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxsZXJcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj4ke3sgZ2V0TWV0cmljVmFsdWUobWV0cmljLmtleSkgfCBudW1iZXI6ICcxLjItMicgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiY29uZmlnXCIgKGNsaWNrKT1cIm9wZW5TaWRlYmFyKClcIj5cbiAgICAgIE1ldHJpY3MgQ29uZmlnXG4gICAgICA8aSBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1jaGV2cm9uLWRvd25cIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L3Atb3ZlcmxheVBhbmVsPlxuXG48cC1zaWRlYmFyXG4gIFt2aXNpYmxlXT1cInNpZGViYXJWaXNpYmxlXCJcbiAgKHZpc2libGVDaGFuZ2UpPVwiY2xvc2VTaWRlYmFyKClcIlxuICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgW2Jhc2VaSW5kZXhdPVwiMTAwMFwiXG4gIFtzdHlsZV09XCJ7IHdpZHRoOiAnMzYwcHgnIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgUXVvdGUgTWV0cmljcyBDb25maWdcbiAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBkYXRhLXRlc3QtaWQ9XCJzZWFyY2hcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggZm9yIG1ldHJpY+KAplwiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItbWV0cmljc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2hhbmdlTWV0cmljT3JkZXIoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiBmaWx0ZXJlZE1ldHJpY3NcIlxuICAgICAgICAgIGNsYXNzPVwic2lkZWJhci1tZXRyaWNcIlxuICAgICAgICAgIFtjbGFzcy5lZGl0XT1cIm1ldHJpYy5rZXkgPT09IGVkaXRpbmdNZXRyaWM/LmtleVwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiISFzZWFyY2hDb250cm9sLnZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWljb25cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLXJlb3JkZXJcIiBjZGtEcmFnSGFuZGxlPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXRyaWNUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZXRyaWM6IG1ldHJpYyB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWZpbHRlcmVkTWV0cmljcy5sZW5ndGhcIj5UaGVyZSBhcmUgbm8gaXRlbXMgbWF0Y2hpbmcgeW91ciBzZWFyY2ggY3JpdGVyaWE8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJSZXNldCB0byBkZWZhdWx0XCJcbiAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkIHAtYnV0dG9uLXNtXCJcbiAgICAgICAgKG9uQ2xpY2spPVwicmVzZXRUb0RlZmF1bHQoKVwiXG4gICAgICA+PC9wLWJ1dHRvbj5cbiAgICAgIDxwLWJ1dHRvbiBsYWJlbD1cIlNhdmVcIiBzdHlsZUNsYXNzPVwicC1idXR0b24gcC1idXR0b24tZmlsbGVkIHAtYnV0dG9uLXNtXCIgKG9uQ2xpY2spPVwic2F2ZSgpXCI+PC9wLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3Atc2lkZWJhcj5cblxuPG5nLXRlbXBsYXRlICNtZXRyaWNUZW1wbGF0ZSBsZXQtbWV0cmljPVwibWV0cmljXCI+XG4gIDxkaXYgKm5nSWY9XCJlZGl0aW5nTWV0cmljPy5rZXkgIT09IG1ldHJpYy5rZXlcIiBjbGFzcz1cInByZXZpZXctc3RhdGVcIj5cbiAgICA8cC1jaGVja2JveFxuICAgICAgW25nTW9kZWxdPVwibWV0cmljLnZpc2libGVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibWV0cmljLnZpc2libGUgPSAhbWV0cmljLnZpc2libGVcIlxuICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgIGNoZWNrYm94SWNvbj1cInZsLWljb24gdmwtaWNvbi1jaGVja21hcmtcIlxuICAgID48L3AtY2hlY2tib3g+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgbWV0cmljLm5hbWUgfX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSA9PT0gbWV0cmljLmtleVwiIGNsYXNzPVwiZWRpdC1zdGF0ZVwiPlxuICAgIDxpbnB1dCBkYXRhLXRlc3QtaWQ9XCJuYW1lXCIgW2Zvcm1Db250cm9sXT1cIm5hbWVDb250cm9sXCIgcElucHV0VGV4dCBwbGFjZWhvbGRlcj1cIk1ldHJpYyBuYW1lXCIgY2xhc3M9XCJ3LWZ1bGxcIiAvPlxuICAgIDx2bC1lcnJvci10b29sdGlwIFt0b29sdGlwXT1cIm5hbWVDb250cm9sIHwgZXJyb3I6ICduYW1lJ1wiIFt2aXNpYmxlXT1cIiEhbmFtZUNvbnRyb2wuZXJyb3JzXCI+PC92bC1lcnJvci10b29sdGlwPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSAhPT0gbWV0cmljLmtleVwiIChjbGljayk9XCJlZGl0TWV0cmljKG1ldHJpYylcIiBjbGFzcz1cImFjdGlvbiBlZGl0XCI+XG4gICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tZWRpdC1zbVwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJlZGl0aW5nTWV0cmljPy5rZXkgPT09IG1ldHJpYy5rZXlcIiAoY2xpY2spPVwic2F2ZU1ldHJpYygpXCIgY2xhc3M9XCJhY3Rpb24gc2F2ZVwiPlxuICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNoZWNrbWFya1wiPjwvaT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export const defaultMetrics = [
|
2
|
+
{ key: 'VDM_Total_MRR', name: 'MRR', visible: true },
|
3
|
+
{ key: 'Effective_VDM_Total_MRR', name: 'E.MRR', visible: true },
|
4
|
+
{ key: 'VDM_Total_NRR', name: 'NRR', visible: true },
|
5
|
+
{ key: 'Effective_VDM_Total_NRR', name: 'E.NRR', visible: true },
|
6
|
+
];
|
7
|
+
export const effectiveMetricKeys = ['VDM_Total_MRR', 'VDM_Total_NRR'];
|
8
|
+
export const METRICS_STORAGE_KEY = 'vl-metrics';
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9tZXRyaWNzL21ldHJpY3MuZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFhO0lBQ3RDLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDcEQsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2hFLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDcEQsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0NBQ2pFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXRyaWMgfSBmcm9tICdAdmVsb2NlL3Nkay9jbXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdE1ldHJpY3M6IE1ldHJpY1tdID0gW1xuICB7IGtleTogJ1ZETV9Ub3RhbF9NUlInLCBuYW1lOiAnTVJSJywgdmlzaWJsZTogdHJ1ZSB9LFxuICB7IGtleTogJ0VmZmVjdGl2ZV9WRE1fVG90YWxfTVJSJywgbmFtZTogJ0UuTVJSJywgdmlzaWJsZTogdHJ1ZSB9LFxuICB7IGtleTogJ1ZETV9Ub3RhbF9OUlInLCBuYW1lOiAnTlJSJywgdmlzaWJsZTogdHJ1ZSB9LFxuICB7IGtleTogJ0VmZmVjdGl2ZV9WRE1fVG90YWxfTlJSJywgbmFtZTogJ0UuTlJSJywgdmlzaWJsZTogdHJ1ZSB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGVmZmVjdGl2ZU1ldHJpY0tleXMgPSBbJ1ZETV9Ub3RhbF9NUlInLCAnVkRNX1RvdGFsX05SUiddO1xuXG5leHBvcnQgY29uc3QgTUVUUklDU19TVE9SQUdFX0tFWSA9ICd2bC1tZXRyaWNzJztcbiJdfQ==
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
5
|
+
import { ButtonModule } from 'primeng/button';
|
6
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
7
|
+
import { VirtualScrollerModule } from 'primeng/virtualscroller';
|
8
|
+
import { SidebarModule } from 'primeng/sidebar';
|
9
|
+
import { InputTextModule } from 'primeng/inputtext';
|
10
|
+
import { ErrorTooltipModule, LetDirectiveModule } from '@veloce/components';
|
11
|
+
import { MetricsComponent } from './metrics.component';
|
12
|
+
import { CheckboxModule } from 'primeng/checkbox';
|
13
|
+
import * as i0 from "@angular/core";
|
14
|
+
export class MetricsModule {
|
15
|
+
}
|
16
|
+
MetricsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
17
|
+
MetricsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsModule, declarations: [MetricsComponent], imports: [CommonModule,
|
18
|
+
FormsModule,
|
19
|
+
ReactiveFormsModule,
|
20
|
+
DragDropModule,
|
21
|
+
ButtonModule,
|
22
|
+
OverlayPanelModule,
|
23
|
+
SidebarModule,
|
24
|
+
InputTextModule,
|
25
|
+
CheckboxModule,
|
26
|
+
LetDirectiveModule,
|
27
|
+
VirtualScrollerModule,
|
28
|
+
ErrorTooltipModule], exports: [MetricsComponent] });
|
29
|
+
MetricsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsModule, imports: [[
|
30
|
+
CommonModule,
|
31
|
+
FormsModule,
|
32
|
+
ReactiveFormsModule,
|
33
|
+
DragDropModule,
|
34
|
+
ButtonModule,
|
35
|
+
OverlayPanelModule,
|
36
|
+
SidebarModule,
|
37
|
+
InputTextModule,
|
38
|
+
CheckboxModule,
|
39
|
+
LetDirectiveModule,
|
40
|
+
VirtualScrollerModule,
|
41
|
+
ErrorTooltipModule,
|
42
|
+
]] });
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MetricsModule, decorators: [{
|
44
|
+
type: NgModule,
|
45
|
+
args: [{
|
46
|
+
declarations: [MetricsComponent],
|
47
|
+
imports: [
|
48
|
+
CommonModule,
|
49
|
+
FormsModule,
|
50
|
+
ReactiveFormsModule,
|
51
|
+
DragDropModule,
|
52
|
+
ButtonModule,
|
53
|
+
OverlayPanelModule,
|
54
|
+
SidebarModule,
|
55
|
+
InputTextModule,
|
56
|
+
CheckboxModule,
|
57
|
+
LetDirectiveModule,
|
58
|
+
VirtualScrollerModule,
|
59
|
+
ErrorTooltipModule,
|
60
|
+
],
|
61
|
+
exports: [MetricsComponent],
|
62
|
+
}]
|
63
|
+
}] });
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9oZWFkZXIvbWV0cmljcy9tZXRyaWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFvQmxELE1BQU0sT0FBTyxhQUFhOzsyR0FBYixhQUFhOzRHQUFiLGFBQWEsaUJBakJULGdCQUFnQixhQUU3QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGtCQUFrQixhQUVWLGdCQUFnQjs0R0FFZixhQUFhLFlBaEJmO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGVBQWU7WUFDZixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixrQkFBa0I7U0FDbkI7NEZBR1UsYUFBYTtrQkFsQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcbmltcG9ydCB7IFZpcnR1YWxTY3JvbGxlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdmlydHVhbHNjcm9sbGVyJztcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgRXJyb3JUb29sdGlwTW9kdWxlLCBMZXREaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAdmVsb2NlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWV0cmljc0NvbXBvbmVudCB9IGZyb20gJy4vbWV0cmljcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTWV0cmljc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgT3ZlcmxheVBhbmVsTW9kdWxlLFxuICAgIFNpZGViYXJNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIExldERpcmVjdGl2ZU1vZHVsZSxcbiAgICBWaXJ0dWFsU2Nyb2xsZXJNb2R1bGUsXG4gICAgRXJyb3JUb29sdGlwTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbTWV0cmljc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NNb2R1bGUge31cbiJdfQ==
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, } from '@angular/router';
|
3
|
+
import { SalesforceIdUtils } from '@veloce/core';
|
3
4
|
import { distinctUntilChanged, filter, map, shareReplay, startWith } from 'rxjs';
|
4
5
|
import { VELOCE_FLOW_ROOT_ROUTE } from '../constants';
|
5
6
|
import * as i0 from "@angular/core";
|
@@ -114,6 +115,17 @@ export class FlowRouterService {
|
|
114
115
|
const flowRouteUrl = this.getFlowRootPath(routeSnapshot);
|
115
116
|
this.router.navigate([flowRouteUrl, 'catalog'], { queryParams: routeSnapshot.queryParams });
|
116
117
|
}
|
118
|
+
switchObject(id) {
|
119
|
+
const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
|
120
|
+
const route = this.getLastChildRoute(this.route);
|
121
|
+
const objName = SalesforceIdUtils.getSfObjectNameById(id);
|
122
|
+
const queryParams = {
|
123
|
+
quoteId: objName === 'Quote' ? id : undefined,
|
124
|
+
accountId: objName === 'Account' ? id : undefined,
|
125
|
+
orderId: objName === 'Order' ? id : undefined,
|
126
|
+
};
|
127
|
+
this.router.navigate([], { relativeTo: route, queryParams: Object.assign(Object.assign({}, routeSnapshot.queryParams), queryParams) });
|
128
|
+
}
|
117
129
|
}
|
118
130
|
FlowRouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRouterService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
119
131
|
FlowRouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRouterService, providedIn: 'root' });
|
@@ -121,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
121
133
|
type: Injectable,
|
122
134
|
args: [{ providedIn: 'root' }]
|
123
135
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ContextService }]; } });
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsR0FHaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUl0RCxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBQW9CLE1BQWMsRUFBVSxLQUFxQixFQUFVLGNBQThCO1FBQXJGLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpqRyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBNkUzQixzQkFBaUIsR0FBRyxDQUFDLEtBQXFCLEVBQWtCLEVBQUU7WUFDbkUsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0UsQ0FBQyxDQUFDO1FBRUsscUJBQWdCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEtBQWEsRUFBa0IsRUFBRTtZQUNqRixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFn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QkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgRXZlbnQsXG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FbmQsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBQYXJhbXMsXG4gIFJvdXRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUm91dGVXaXRoSWQgfSBmcm9tICcuLi90eXBlcy9yb3V0ZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmxvd1JvdXRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJvdXRlQ2hhbmdlJDogT2JzZXJ2YWJsZTxFdmVudD47XG4gIHByaXZhdGUgbGFzdENoaWxkUGFyYW1zJDogT2JzZXJ2YWJsZTxQYXJhbXM+O1xuICBwcml2YXRlIGxhc3RDaGlsZFJvdXRlJDogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PjtcbiAgcHJpdmF0ZSB1cmxIaXN0b3J5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnJvdXRlQ2hhbmdlJCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuXG4gICAgdGhpcy5sYXN0Q2hpbGRQYXJhbXMkID0gdGhpcy53YXRjaExhc3RDaGlsZFBhcmFtcyQodGhpcy5yb3V0ZSkucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmdldExhc3RDaGlsZFBhcmFtcyh0aGlzLnJvdXRlLnNuYXBzaG90KSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gICAgdGhpcy5sYXN0Q2hpbGRSb3V0ZSQgPSB0aGlzLndhdGNoTGFzdENoaWxkUm91dGUkKHRoaXMucm91dGUpLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcblxuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgZSA9PlxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHxcbiAgICAgICAgICBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fFxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcixcbiAgICAgICksXG4gICAgICBtYXAoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVybEhpc3RvcnkucHVzaCh0aGlzLnJvdXRlci51cmwpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhdGggPSBbLi4ucm91dGUucGF0aEZyb21Sb290XTtcblxuICAgIHdoaWxlIChwYXRoLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5wb3AoKTtcblxuICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICgocGFyZW50LnJvdXRlQ29uZmlnIGFzIFJvdXRlV2l0aElkKT8uaWQgPT09IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBnZXRGbG93Um9vdFBhdGgocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJvb3RSb3V0ZSA9IHRoaXMuZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZSk7XG4gICAgaWYgKCFyb290Um91dGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gcm9vdFJvdXRlLnBhdGhGcm9tUm9vdFxuICAgICAgLm1hcChyID0+IHIucm91dGVDb25maWc/LnBhdGgpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAuam9pbignLycpO1xuXG4gICAgcmV0dXJuICcvJyArIHBhdGg7XG4gIH1cblxuICBnZXQgcm91dGUkKCk6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFJvdXRlJDtcbiAgfVxuXG4gIGdldCBwYXJhbXMkKCk6IE9ic2VydmFibGU8UGFyYW1zPiB7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoaWxkUGFyYW1zJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZSA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGU7XG4gIH07XG5cbiAgcHVibGljIGdldE50aENoaWxkUm91dGUgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBpbmRleDogbnVtYmVyKTogQWN0aXZhdGVkUm91dGUgPT4ge1xuICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldE50aENoaWxkUm91dGUocm91dGUuZmlyc3RDaGlsZCwgaW5kZXggLSAxKSA6IHJvdXRlO1xuICB9O1xuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90ID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3Qocm91dGUuZmlyc3RDaGlsZCkgOiByb3V0ZTtcbiAgfTtcblxuICBwdWJsaWMgd2F0Y2hMYXN0Q2hpbGRSb3V0ZSQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVDaGFuZ2UkLnBpcGUobWFwKCgpID0+IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdChyb3V0ZS5zbmFwc2hvdCkpKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TGFzdENoaWxkUGFyYW1zID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUGFyYW1zID0+IHtcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TGFzdENoaWxkUGFyYW1zKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGUucGFyYW1zO1xuICB9O1xuXG4gIHB1YmxpYyB3YXRjaExhc3RDaGlsZFBhcmFtcyQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxQYXJhbXM+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUNoYW5nZSQucGlwZShtYXAoKCkgPT4gdGhpcy5nZXRMYXN0Q2hpbGRQYXJhbXMocm91dGUuc25hcHNob3QpKSk7XG4gIH07XG5cbiAgcHVibGljIGdldEZsb3dTdWJwYXRoJCA9ICgpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlJC5waXBlKFxuICAgICAgbWFwKHJvdXRlID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gcm91dGUudXJsLmpvaW4oJy8nKTtcbiAgICAgICAgY29uc3QgZmxvd1Jvb3RVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgICAgIHJldHVybiB1cmwucmVwbGFjZShmbG93Um9vdFVybCwgJycpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgaXNDb25maWd1cmF0aW9uUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgncHJvZHVjdCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXJ0Um91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2FydCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXRhbG9nUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2F0YWxvZycpKSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZVcmwgPSB0aGlzLnVybEhpc3RvcnlbdGhpcy51cmxIaXN0b3J5Lmxlbmd0aCAtIDJdO1xuXG4gICAgaWYgKHByZXZVcmwpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocHJldlVybCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Qcm9kdWN0Q29uZmlndXJhdGlvbihwcm9kdWN0SWQ6IHN0cmluZywgbGluZUl0ZW1JZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllczogeyBwcm9kdWN0SWQsIGxpbmVJdGVtSWQgfSB9KTtcblxuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAncHJvZHVjdCddLCB7XG4gICAgICBxdWVyeVBhcmFtczogeyAuLi5yb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zLCBwcm9kdWN0SWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2FydCddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9DYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2F0YWxvZyddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG59XG4iXX0=
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsR0FHaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFJdEQsTUFBTSxPQUFPLGlCQUFpQjtJQVE1QixZQUFvQixNQUFjLEVBQVUsS0FBcUIsRUFBVSxjQUE4QjtRQUFyRixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKakcsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQTZFM0Isc0JBQWlCLEdBQUcsQ0FBQyxLQUFxQixFQUFrQixFQUFFO1lBQ25FLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdFLENBQUMsQ0FBQztRQUVLLHFCQUFnQixHQUFHLENBQUMsS0FBcUIsRUFBRSxLQUFhLEVBQWtCLEVBQUU7WUFDakYsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNkLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxPQUFPLEtB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NUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUxRCxNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdDLFNBQVMsRUFBRSxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDakQsT0FBTyxFQUFFLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLGtDQUFPLGFBQWEsQ0FBQyxXQUFXLEdBQUssV0FBVyxDQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pILENBQUM7OytHQWhMVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgRXZlbnQsXG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FbmQsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBQYXJhbXMsXG4gIFJvdXRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNhbGVzZm9yY2VJZFV0aWxzIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUm91dGVXaXRoSWQgfSBmcm9tICcuLi90eXBlcy9yb3V0ZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmxvd1JvdXRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJvdXRlQ2hhbmdlJDogT2JzZXJ2YWJsZTxFdmVudD47XG4gIHByaXZhdGUgbGFzdENoaWxkUGFyYW1zJDogT2JzZXJ2YWJsZTxQYXJhbXM+O1xuICBwcml2YXRlIGxhc3RDaGlsZFJvdXRlJDogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PjtcbiAgcHJpdmF0ZSB1cmxIaXN0b3J5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnJvdXRlQ2hhbmdlJCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuXG4gICAgdGhpcy5sYXN0Q2hpbGRQYXJhbXMkID0gdGhpcy53YXRjaExhc3RDaGlsZFBhcmFtcyQodGhpcy5yb3V0ZSkucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmdldExhc3RDaGlsZFBhcmFtcyh0aGlzLnJvdXRlLnNuYXBzaG90KSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gICAgdGhpcy5sYXN0Q2hpbGRSb3V0ZSQgPSB0aGlzLndhdGNoTGFzdENoaWxkUm91dGUkKHRoaXMucm91dGUpLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcblxuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgZSA9PlxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHxcbiAgICAgICAgICBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fFxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcixcbiAgICAgICksXG4gICAgICBtYXAoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVybEhpc3RvcnkucHVzaCh0aGlzLnJvdXRlci51cmwpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhdGggPSBbLi4ucm91dGUucGF0aEZyb21Sb290XTtcblxuICAgIHdoaWxlIChwYXRoLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5wb3AoKTtcblxuICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICgocGFyZW50LnJvdXRlQ29uZmlnIGFzIFJvdXRlV2l0aElkKT8uaWQgPT09IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBnZXRGbG93Um9vdFBhdGgocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJvb3RSb3V0ZSA9IHRoaXMuZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZSk7XG4gICAgaWYgKCFyb290Um91dGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gcm9vdFJvdXRlLnBhdGhGcm9tUm9vdFxuICAgICAgLm1hcChyID0+IHIucm91dGVDb25maWc/LnBhdGgpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAuam9pbignLycpO1xuXG4gICAgcmV0dXJuICcvJyArIHBhdGg7XG4gIH1cblxuICBnZXQgcm91dGUkKCk6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFJvdXRlJDtcbiAgfVxuXG4gIGdldCBwYXJhbXMkKCk6IE9ic2VydmFibGU8UGFyYW1zPiB7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoaWxkUGFyYW1zJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZSA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGU7XG4gIH07XG5cbiAgcHVibGljIGdldE50aENoaWxkUm91dGUgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBpbmRleDogbnVtYmVyKTogQWN0aXZhdGVkUm91dGUgPT4ge1xuICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldE50aENoaWxkUm91dGUocm91dGUuZmlyc3RDaGlsZCwgaW5kZXggLSAxKSA6IHJvdXRlO1xuICB9O1xuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90ID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3Qocm91dGUuZmlyc3RDaGlsZCkgOiByb3V0ZTtcbiAgfTtcblxuICBwdWJsaWMgd2F0Y2hMYXN0Q2hpbGRSb3V0ZSQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVDaGFuZ2UkLnBpcGUobWFwKCgpID0+IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdChyb3V0ZS5zbmFwc2hvdCkpKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TGFzdENoaWxkUGFyYW1zID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUGFyYW1zID0+IHtcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TGFzdENoaWxkUGFyYW1zKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGUucGFyYW1zO1xuICB9O1xuXG4gIHB1YmxpYyB3YXRjaExhc3RDaGlsZFBhcmFtcyQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxQYXJhbXM+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUNoYW5nZSQucGlwZShtYXAoKCkgPT4gdGhpcy5nZXRMYXN0Q2hpbGRQYXJhbXMocm91dGUuc25hcHNob3QpKSk7XG4gIH07XG5cbiAgcHVibGljIGdldEZsb3dTdWJwYXRoJCA9ICgpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlJC5waXBlKFxuICAgICAgbWFwKHJvdXRlID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gcm91dGUudXJsLmpvaW4oJy8nKTtcbiAgICAgICAgY29uc3QgZmxvd1Jvb3RVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgICAgIHJldHVybiB1cmwucmVwbGFjZShmbG93Um9vdFVybCwgJycpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgaXNDb25maWd1cmF0aW9uUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgncHJvZHVjdCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXJ0Um91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2FydCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXRhbG9nUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2F0YWxvZycpKSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZVcmwgPSB0aGlzLnVybEhpc3RvcnlbdGhpcy51cmxIaXN0b3J5Lmxlbmd0aCAtIDJdO1xuXG4gICAgaWYgKHByZXZVcmwpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocHJldlVybCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Qcm9kdWN0Q29uZmlndXJhdGlvbihwcm9kdWN0SWQ6IHN0cmluZywgbGluZUl0ZW1JZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllczogeyBwcm9kdWN0SWQsIGxpbmVJdGVtSWQgfSB9KTtcblxuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAncHJvZHVjdCddLCB7XG4gICAgICBxdWVyeVBhcmFtczogeyAuLi5yb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zLCBwcm9kdWN0SWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2FydCddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9DYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2F0YWxvZyddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIHN3aXRjaE9iamVjdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCByb3V0ZSA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGUodGhpcy5yb3V0ZSk7XG5cbiAgICBjb25zdCBvYmpOYW1lID0gU2FsZXNmb3JjZUlkVXRpbHMuZ2V0U2ZPYmplY3ROYW1lQnlJZChpZCk7XG5cbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcbiAgICAgIHF1b3RlSWQ6IG9iak5hbWUgPT09ICdRdW90ZScgPyBpZCA6IHVuZGVmaW5lZCxcbiAgICAgIGFjY291bnRJZDogb2JqTmFtZSA9PT0gJ0FjY291bnQnID8gaWQgOiB1bmRlZmluZWQsXG4gICAgICBvcmRlcklkOiBvYmpOYW1lID09PSAnT3JkZXInID8gaWQgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwgeyByZWxhdGl2ZVRvOiByb3V0ZSwgcXVlcnlQYXJhbXM6IHsgLi4ucm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtcywgLi4ucXVlcnlQYXJhbXMgfSB9KTtcbiAgfVxufVxuIl19
|
@@ -28,6 +28,12 @@ export class FlowService {
|
|
28
28
|
}
|
29
29
|
}), takeUntil(this.cleanup$))
|
30
30
|
.subscribe();
|
31
|
+
this.integrationState
|
32
|
+
.listen$(FlowAction.FLOW_SWITCH_OBJECT)
|
33
|
+
.pipe(tap(payload => {
|
34
|
+
this.flowRouterService.switchObject(payload.id);
|
35
|
+
}), takeUntil(this.cleanup$))
|
36
|
+
.subscribe();
|
31
37
|
this.integrationState
|
32
38
|
.listen$(FlowAction.FLOW_NAVIGATE_BACK)
|
33
39
|
.pipe(tap(() => this.flowRouterService.navigateBack()), takeUntil(this.cleanup$))
|
@@ -68,4 +74,4 @@ FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
68
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, decorators: [{
|
69
75
|
type: Injectable
|
70
76
|
}], ctorParameters: function () { return [{ type: i1.IntegrationState }, { type: i2.FlowRouterService }, { type: i3.QuoteDraftService }, { type: i3.ConfigurationService }, { type: i3.FlowConfigurationService }]; } });
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL3NlcnZpY2VzL2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSTlELE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsZ0JBQWtDLEVBQ2xDLGlCQUFvQyxFQUNwQyxpQkFBb0MsRUFDcEMsb0JBQTBDLEVBQzFDLHdCQUFrRDtRQUpsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFQcEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRcEMsQ0FBQztJQUVHLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLE9BQU8sQ0FBOEMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO2FBQ3ZGLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7O1lBQ1osTUFBTSxTQUFTLEdBQ2IsTUFBQSxPQUFPLENBQUMsU0FBUyxtQ0FDakIsTUFBQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxTQUFTLENBQUM7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QUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzt5R0F6RlUsV0FBVzs2R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5lSXRlbSB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBGbG93QWN0aW9uLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY21zJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsIFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd1JvdXRlclNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctcm91dGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGNsZWFudXAkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICAgcHJpdmF0ZSBmbG93Um91dGVyU2VydmljZTogRmxvd1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93Q29uZmlndXJhdGlvblNlcnZpY2U6IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBpbml0U3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kPHsgbGluZUl0ZW1JZD86IHN0cmluZzsgcHJvZHVjdElkPzogc3RyaW5nIH0+KEZsb3dBY3Rpb24uRkxPV19DT05GSUdVUkVfUFJPRFVDVClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocGF5bG9hZCA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvZHVjdElkID1cbiAgICAgICAgICAgIHBheWxvYWQucHJvZHVjdElkID8/XG4gICAgICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZS5maW5kKGxpID0+IGxpLmlkID09PSBwYXlsb2FkLmxpbmVJdGVtSWQpPy5wcm9kdWN0SWQ7XG5cbiAgICAgICAgICBpZiAocHJvZHVjdElkKSB7XG4gICAgICAgICAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlVG9Qcm9kdWN0Q29uZmlndXJhdGlvbihwcm9kdWN0SWQsIHBheWxvYWQubGluZUl0ZW1JZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlBhcmFtZXRlciAncHJvZHVjdElkJyBpcyBuZWVkZWQgdG8gc3RhcnQgY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kPHsgaWQ6IHN0cmluZyB9PihGbG93QWN0aW9uLkZMT1dfU1dJVENIX09CSkVDVClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocGF5bG9hZCA9PiB7XG4gICAgICAgICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5zd2l0Y2hPYmplY3QocGF5bG9hZC5pZCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9CQUNLKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlQmFjaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfVE9fQ0FUQUxPRylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvQ2F0YWxvZygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfQVBQTFlfUFJPRFVDVF9DT05GSUdVUkFUSU9OKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICAgICAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0U25hcHNob3QoKTtcblxuICAgICAgICAgIGlmICghcXVvdGVEcmFmdCB8fCAhbGluZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGlzTmV3TGluZUl0ZW0gPSBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZS5ldmVyeShsaSA9PiBsaS5pZCAhPT0gbGluZUl0ZW0uaWQpO1xuXG4gICAgICAgICAgbGV0IHVwZGF0ZWRTdGF0ZTogTGluZUl0ZW1bXTtcbiAgICAgICAgICBpZiAoaXNOZXdMaW5lSXRlbSkge1xuICAgICAgICAgICAgdXBkYXRlZFN0YXRlID0gWy4uLnF1b3RlRHJhZnQuY3VycmVudFN0YXRlLCBsaW5lSXRlbV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVwZGF0ZWRTdGF0ZSA9IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLm1hcChsaSA9PiAobGkuaWQgPT09IGxpbmVJdGVtLmlkID8gbGluZUl0ZW0gOiBsaSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dDb25maWd1cmF0aW9uU2VydmljZS5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlVG9TaG9wcGluZ0NhcnQoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNsZWFudXAkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhbnVwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYW51cCQubmV4dCgpO1xuICB9XG59XG4iXX0=
|