@smartbit4all/ng-client 4.2.21 → 4.2.23
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/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +79 -10
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.module.mjs +1 -1
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.mjs +1 -1
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.mjs +1 -1
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/labelText.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.mjs +2 -1
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +78 -9
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.23.tgz +0 -0
- package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +2 -1
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.d.ts +2 -0
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.d.ts +2 -0
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/labelText.d.ts +21 -0
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.d.ts +1 -0
- package/smartbit4all-ng-client-4.2.21.tgz +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, } from "@angular/core";
|
|
2
2
|
import { COMPONENT_LIBRARY, ComponentLibrary, } from "../view-context/utility/componentLibrary";
|
|
3
3
|
import { Chart } from "chart.js";
|
|
4
|
-
import
|
|
4
|
+
import AnnotationPlugin from "chartjs-plugin-annotation";
|
|
5
|
+
import ZoomPlugin from "chartjs-plugin-zoom";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "./default-chart-options.provider";
|
|
7
8
|
import * as i2 from "primeng/chart";
|
|
@@ -9,12 +10,14 @@ import * as i3 from "../view-context/utility/componentLibrary";
|
|
|
9
10
|
export class SmartChartComponent {
|
|
10
11
|
constructor(chartOptionProvider, compLib) {
|
|
11
12
|
this.chartOptionProvider = chartOptionProvider;
|
|
13
|
+
this.plugins = [];
|
|
12
14
|
this.dataSelect = new EventEmitter();
|
|
13
15
|
this.chartClick = new EventEmitter();
|
|
14
16
|
this.onDataClicked = new EventEmitter(); //
|
|
15
17
|
this.componentLibrary = ComponentLibrary;
|
|
16
18
|
this.compLib = compLib ?? ComponentLibrary.PRIMENG;
|
|
17
|
-
Chart.register(
|
|
19
|
+
Chart.register(AnnotationPlugin);
|
|
20
|
+
Chart.register(ZoomPlugin);
|
|
18
21
|
}
|
|
19
22
|
ngOnInit() {
|
|
20
23
|
let options = undefined;
|
|
@@ -101,6 +104,11 @@ export class SmartChartComponent {
|
|
|
101
104
|
${shape.backgroundColor?.green ?? 0},
|
|
102
105
|
${shape.backgroundColor?.blue ?? 0},
|
|
103
106
|
${shape.backgroundColor?.alpha ?? 1})`;
|
|
107
|
+
var fontColor = `rgba(
|
|
108
|
+
${shape.labelText?.color?.red ?? 0},
|
|
109
|
+
${shape.labelText?.color?.green ?? 0},
|
|
110
|
+
${shape.labelText?.color?.blue ?? 0},
|
|
111
|
+
${shape.labelText?.color?.alpha ?? 1})`;
|
|
104
112
|
var borderDash;
|
|
105
113
|
if (shape.borderDashLength && shape.borderDashGap) {
|
|
106
114
|
borderDash = [shape.borderDashLength, shape.borderDashGap];
|
|
@@ -108,20 +116,79 @@ export class SmartChartComponent {
|
|
|
108
116
|
else {
|
|
109
117
|
borderDash = undefined;
|
|
110
118
|
}
|
|
111
|
-
|
|
119
|
+
const baseAnnotation = {
|
|
112
120
|
type: shape.shapeType ?? "line",
|
|
113
|
-
xMin: shape.xMin ?? undefined,
|
|
114
|
-
xMax: shape.xMax ?? undefined,
|
|
115
|
-
yMin: shape.yMin ?? undefined,
|
|
116
|
-
yMax: shape.yMax ?? undefined,
|
|
117
121
|
backgroundColor: backgroundColor ?? undefined,
|
|
118
122
|
borderColor: borderColor ?? undefined,
|
|
119
123
|
borderWidth: shape.borderWidth ?? 1,
|
|
120
124
|
borderDash: borderDash ?? undefined,
|
|
121
125
|
drawTime: shape.drawTime ?? undefined,
|
|
122
126
|
};
|
|
127
|
+
switch (shape.shapeType) {
|
|
128
|
+
case "box":
|
|
129
|
+
case "line":
|
|
130
|
+
case "ellipse":
|
|
131
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
132
|
+
...baseAnnotation,
|
|
133
|
+
xMin: shape.xMin ?? undefined,
|
|
134
|
+
xMax: shape.xMax ?? undefined,
|
|
135
|
+
yMin: shape.yMin ?? undefined,
|
|
136
|
+
yMax: shape.yMax ?? undefined,
|
|
137
|
+
};
|
|
138
|
+
break;
|
|
139
|
+
case "label":
|
|
140
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
141
|
+
...baseAnnotation,
|
|
142
|
+
xValue: shape.xMin ?? undefined,
|
|
143
|
+
yValue: shape.yMin ?? undefined,
|
|
144
|
+
content: shape.labelText?.content ?? undefined,
|
|
145
|
+
textAlign: shape.labelText?.textAlign ?? undefined,
|
|
146
|
+
color: fontColor ?? undefined,
|
|
147
|
+
font: {
|
|
148
|
+
size: shape.labelText?.size ?? undefined,
|
|
149
|
+
weight: shape.labelText?.weight ?? undefined,
|
|
150
|
+
style: shape.labelText?.style ?? undefined,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
break;
|
|
154
|
+
case "point":
|
|
155
|
+
case "polygon":
|
|
156
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
157
|
+
...baseAnnotation,
|
|
158
|
+
xValue: shape.xMin ?? undefined,
|
|
159
|
+
yValue: shape.yMin ?? undefined,
|
|
160
|
+
};
|
|
161
|
+
break;
|
|
162
|
+
default:
|
|
163
|
+
// Optionally handle any other shape types
|
|
164
|
+
console.warn(`Unknown shape type: ${shape.shapeType}`);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
123
167
|
});
|
|
124
168
|
}
|
|
169
|
+
if (descriptor.backgroundColor) {
|
|
170
|
+
var backgroundColor = `rgba(
|
|
171
|
+
${descriptor.backgroundColor?.red ?? 0},
|
|
172
|
+
${descriptor.backgroundColor?.green ?? 0},
|
|
173
|
+
${descriptor.backgroundColor?.blue ?? 0},
|
|
174
|
+
${descriptor.backgroundColor?.alpha ?? 1})`;
|
|
175
|
+
var id = "customCanvasBackgroundColor";
|
|
176
|
+
const plugin = {
|
|
177
|
+
id: id,
|
|
178
|
+
beforeDraw: (chart, args, options) => {
|
|
179
|
+
const { ctx, chartArea } = chart;
|
|
180
|
+
ctx.save();
|
|
181
|
+
ctx.globalCompositeOperation = "destination-over";
|
|
182
|
+
ctx.fillStyle = backgroundColor;
|
|
183
|
+
ctx.fillRect(chartArea.left, chartArea.top, chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);
|
|
184
|
+
ctx.restore();
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
this.plugins.push(plugin);
|
|
188
|
+
options.plugins[`${id}`] = {
|
|
189
|
+
color: backgroundColor,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
125
192
|
return options;
|
|
126
193
|
}
|
|
127
194
|
onDataSelect(event) {
|
|
@@ -158,11 +225,11 @@ export class SmartChartComponent {
|
|
|
158
225
|
return this.chart?.chart;
|
|
159
226
|
}
|
|
160
227
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, deps: [{ token: i1.DefaultChartOptionsProvider }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
228
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options", plugins: "plugins" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
162
229
|
}
|
|
163
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, decorators: [{
|
|
164
231
|
type: Component,
|
|
165
|
-
args: [{ selector: "smart-chart", template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n" }]
|
|
232
|
+
args: [{ selector: "smart-chart", template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n" }]
|
|
166
233
|
}], ctorParameters: () => [{ type: i1.DefaultChartOptionsProvider }, { type: i3.ComponentLibrary, decorators: [{
|
|
167
234
|
type: Inject,
|
|
168
235
|
args: [COMPONENT_LIBRARY]
|
|
@@ -175,6 +242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
175
242
|
type: Input
|
|
176
243
|
}], options: [{
|
|
177
244
|
type: Input
|
|
245
|
+
}], plugins: [{
|
|
246
|
+
type: Input
|
|
178
247
|
}], dataSelect: [{
|
|
179
248
|
type: Output
|
|
180
249
|
}], chartClick: [{
|
|
@@ -182,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
182
251
|
}], onDataClicked: [{
|
|
183
252
|
type: Output
|
|
184
253
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFZekQsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixZQUNVLG1CQUFnRCxFQUNqQixPQUEwQjtRQUR6RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTZCO1FBWGhELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFDLEVBQUU7UUFNckQscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFNbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ25ELEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN4QixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsV0FBVztZQUMvRCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVztZQUM1QyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUMxRCxPQUFPLENBQ1IsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFZLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQVcsRUFBRSxNQUFXO1FBQ3hDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8scUJBQXFCLENBQUMsVUFBNkI7UUFDekQsTUFBTSxPQUFPLEdBQVE7WUFDbkIsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUk7aUJBQy9DO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsRUFBUztTQUNsQixDQUFDO1FBQ0YsSUFDRSxVQUFVLENBQUMsV0FBVyxLQUFLLFNBQVM7WUFDcEMsVUFBVSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQ3BDLENBQUM7WUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSTtpQkFDL0M7Z0JBQ0QsR0FBRyxFQUFFLFVBQVUsQ0FBQyxXQUFXO2dCQUMzQixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVc7YUFDNUIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUc7Z0JBQ2pCLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUk7aUJBQy9DO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUNFLFVBQVUsQ0FBQyxXQUFXLEtBQUssU0FBUztZQUNwQyxVQUFVLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFDcEMsQ0FBQztZQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHO2dCQUNqQixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJO2lCQUMvQztnQkFDRCxHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVc7Z0JBQzNCLEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVzthQUM1QixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSTtpQkFDL0M7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUVELGVBQWU7UUFDZixJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsS0FBYSxFQUFFLEVBQUU7Z0JBQ3RFLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDOUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVztvQkFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztnQkFFL0MsSUFBSSxXQUFXLEdBQUc7V0FDZixLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1dBQzNCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7V0FDN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQztXQUM1QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDcEMsSUFBSSxlQUFlLEdBQUc7V0FDbkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztXQUMvQixLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxDQUFDO1dBQ2pDLEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUM7V0FDaEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBRXhDLElBQUksVUFBVSxDQUFDO2dCQUNmLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEQsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQ3pCLENBQUM7Z0JBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsR0FBRztvQkFDeEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksTUFBTTtvQkFDL0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUztvQkFDN0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUztvQkFDN0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUztvQkFDN0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUztvQkFDN0IsZUFBZSxFQUFFLGVBQWUsSUFBSSxTQUFTO29CQUM3QyxXQUFXLEVBQUUsV0FBVyxJQUFJLFNBQVM7b0JBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUM7b0JBQ25DLFVBQVUsRUFBRSxVQUFVLElBQUksU0FBUztvQkFDbkMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUztpQkFDdEMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBMkIsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQzlDLEtBQUssRUFDTCxTQUFTLEVBQ1QsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQ25CLEtBQUssQ0FDTixDQUFDO1lBQ0YsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMzRCxPQUFPO29CQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtvQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87aUJBQ3RCLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUMzQixDQUFDOytHQTVMVSxtQkFBbUIsNkRBaUJwQixpQkFBaUI7bUdBakJoQixtQkFBbUIsMlRDNUJoQyxxV0FhQTs7NEZEZWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7OzBCQXFCcEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7eUNBaEJiLEtBQUs7c0JBQTdCLFNBQVM7dUJBQUMsWUFBWTtnQkFDZCxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIgfSBmcm9tIFwiLi9kZWZhdWx0LWNoYXJ0LW9wdGlvbnMucHJvdmlkZXJcIjtcclxuaW1wb3J0IHtcclxuICBDT01QT05FTlRfTElCUkFSWSxcclxuICBDb21wb25lbnRMaWJyYXJ5LFxyXG59IGZyb20gXCIuLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5XCI7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSBcImNoYXJ0LmpzXCI7XHJcbmltcG9ydCB7IFVJQ2hhcnQgfSBmcm9tIFwicHJpbWVuZy9jaGFydFwiO1xyXG5pbXBvcnQgYW5ub3RhdGlvblBsdWdpbiBmcm9tIFwiY2hhcnRqcy1wbHVnaW4tYW5ub3RhdGlvblwiO1xyXG5pbXBvcnQge1xyXG4gIERpYWdyYW1EZXNjcmlwdG9yLFxyXG4gIERpYWdyYW1TaGFwZSxcclxuICBEaWFncmFtVWlNb2RlbCxcclxufSBmcm9tIFwiLi9zbWFydC1jaGFydDIvYXBpXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzbWFydC1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50LmNzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q2hhcnRDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJjaGFydEpTUmVmXCIpIGNoYXJ0PzogVUlDaGFydDtcclxuICBASW5wdXQoKSBkaWFncmFtVWlNb2RlbCE6IERpYWdyYW1VaU1vZGVsO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNoYXJ0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25EYXRhQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpOyAvL1xyXG5cclxuICBkYXRhOiBhbnk7XHJcbiAgdHlwZTogYW55O1xyXG5cclxuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2hhcnRPcHRpb25Qcm92aWRlcjogRGVmYXVsdENoYXJ0T3B0aW9uc1Byb3ZpZGVyLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHtcclxuICAgIHRoaXMuY29tcExpYiA9IGNvbXBMaWIgPz8gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HO1xyXG4gICAgQ2hhcnQucmVnaXN0ZXIoYW5ub3RhdGlvblBsdWdpbik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBvcHRpb25zID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgZGlhZ3JhbVR5cGUgPSAhIXRoaXMuZGlhZ3JhbVVpTW9kZWwuZGVzY3JpcHRvcj8uZGlhZ3JhbVR5cGVcclxuICAgICAgPyB0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3IuZGlhZ3JhbVR5cGVcclxuICAgICAgOiBcIlwiO1xyXG5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNoYXJ0T3B0aW9uUHJvdmlkZXIuZ2V0RmFjdG9yeShkaWFncmFtVHlwZSk7XHJcbiAgICB0aGlzLnR5cGUgPSBmYWN0b3J5LmNoYXJ0SnNUeXBlO1xyXG4gICAgb3B0aW9ucyA9IGZhY3RvcnkuY3JlYXRlT3B0aW9ucyh0aGlzLmRpYWdyYW1VaU1vZGVsLmRpYWdyYW1EYXRhISk7XHJcbiAgICBpZiAodGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZXBNZXJnZShcclxuICAgICAgICB0aGlzLmNvbnZlcnRCYWNrZW5kT3B0aW9ucyh0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3IpLFxyXG4gICAgICAgIG9wdGlvbnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgb3B0aW9ucyA9IHRoaXMuZGVlcE1lcmdlKHRoaXMub3B0aW9ucywgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMuZGF0YSA9IGZhY3RvcnkudHJhbnNmb3JtRGF0YSh0aGlzLmRpYWdyYW1VaU1vZGVsLmRpYWdyYW1EYXRhISk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlZXBNZXJnZSh0YXJnZXQ6IGFueSwgc291cmNlOiBhbnkpOiBhbnkge1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc291cmNlKSkge1xyXG4gICAgICBpZiAoc291cmNlW2tleV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgdGFyZ2V0W2tleV0pIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHNvdXJjZVtrZXldLCB0aGlzLmRlZXBNZXJnZSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgT2JqZWN0LmFzc2lnbih0YXJnZXQgfHwge30sIHNvdXJjZSk7XHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0QmFja2VuZE9wdGlvbnMoZGVzY3JpcHRvcjogRGlhZ3JhbURlc2NyaXB0b3IpIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHtcclxuICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGVnZW5kRm9yQ2hhcnQgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBzY2FsZXM6IHt9IGFzIGFueSxcclxuICAgIH07XHJcbiAgICBpZiAoXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1pblggIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NYXhYICE9PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy54ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JYQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluOiBkZXNjcmlwdG9yLmRpYWdyYW1NaW5YLFxyXG4gICAgICAgIG1heDogZGVzY3JpcHRvci5kaWFncmFtTWF4WCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnggPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvclhBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtTWluWSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1heFkgIT09IHVuZGVmaW5lZFxyXG4gICAgKSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnkgPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvcllBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaW46IGRlc2NyaXB0b3IuZGlhZ3JhbU1pblksXHJcbiAgICAgICAgbWF4OiBkZXNjcmlwdG9yLmRpYWdyYW1NYXhZLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3B0aW9ucy5zY2FsZXMueSA9IHtcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGFiZWxzRm9yWUF4aXMgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ3JlYXRlIHNoYXBlc1xyXG4gICAgaWYgKGRlc2NyaXB0b3IuZGlhZ3JhbVNoYXBlcykge1xyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1TaGFwZXMuZm9yRWFjaCgoc2hhcGU6IERpYWdyYW1TaGFwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uID0gb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24gfHwge307XHJcbiAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnMgPVxyXG4gICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnMgfHwge307XHJcblxyXG4gICAgICAgIHZhciBib3JkZXJDb2xvciA9IGByZ2JhKFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYm9yZGVyQ29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5ibHVlID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG4gICAgICAgIHZhciBiYWNrZ3JvdW5kQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LnJlZCA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJhY2tncm91bmRDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmFscGhhID8/IDF9KWA7XHJcblxyXG4gICAgICAgIHZhciBib3JkZXJEYXNoO1xyXG4gICAgICAgIGlmIChzaGFwZS5ib3JkZXJEYXNoTGVuZ3RoICYmIHNoYXBlLmJvcmRlckRhc2hHYXApIHtcclxuICAgICAgICAgIGJvcmRlckRhc2ggPSBbc2hhcGUuYm9yZGVyRGFzaExlbmd0aCwgc2hhcGUuYm9yZGVyRGFzaEdhcF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGJvcmRlckRhc2ggPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBvcHRpb25zLnBsdWdpbnMuYW5ub3RhdGlvbi5hbm5vdGF0aW9uc1tgc2hhcGUke2luZGV4fWBdID0ge1xyXG4gICAgICAgICAgdHlwZTogc2hhcGUuc2hhcGVUeXBlID8/IFwibGluZVwiLFxyXG4gICAgICAgICAgeE1pbjogc2hhcGUueE1pbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICB4TWF4OiBzaGFwZS54TWF4ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIHlNaW46IHNoYXBlLnlNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgeU1heDogc2hhcGUueU1heCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvciA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3IgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IHNoYXBlLmJvcmRlcldpZHRoID8/IDEsXHJcbiAgICAgICAgICBib3JkZXJEYXNoOiBib3JkZXJEYXNoID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGRyYXdUaW1lOiBzaGFwZS5kcmF3VGltZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIG9uRGF0YVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFydENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnRDbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU9uRGF0YUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FudmFzID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxDYW52YXNFbGVtZW50O1xyXG4gICAgY29uc3QgY2hhcnQgPSBDaGFydC5nZXRDaGFydChjYW52YXMpO1xyXG5cclxuICAgIGlmIChjaGFydCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50cyA9IGNoYXJ0LmdldEVsZW1lbnRzQXRFdmVudEZvck1vZGUoXHJcbiAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgXCJuZWFyZXN0XCIsXHJcbiAgICAgICAgeyBpbnRlcnNlY3Q6IHRydWUgfSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGNsaWNrZWRJdGVtcyA9IGNoYXJ0LnRvb2x0aXA/LmRhdGFQb2ludHM/Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhc2V0SW5kZXg6IGl0ZW0uZGF0YXNldEluZGV4LFxyXG4gICAgICAgICAgaXRlbUluZGV4OiBpdGVtLmRhdGFJbmRleCxcclxuICAgICAgICAgIGVsZW1lbnQ6IGl0ZW0uZWxlbWVudCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMub25EYXRhQ2xpY2tlZC5lbWl0KHsgZXZlbnQsIGNsaWNrZWRJdGVtcyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJhc2U2NEltYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmdldEJhc2U2NEltYWdlKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIGdldENoYXJ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmNoYXJ0O1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbjxwLWNoYXJ0XHJcbiAgI2NoYXJ0SlNSZWZcclxuICBbdHlwZV09XCJ0eXBlXCJcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICAob25EYXRhU2VsZWN0KT1cIm9uRGF0YVNlbGVjdCgkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlQ2hhcnRDbGljaygkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlT25EYXRhQ2xpY2tlZCgkZXZlbnQpXCJcclxuLz5cclxufSBAZWxzZSB7XHJcbjxwPk9ubHkgUHJpbWVOZyBjb21wb25lbnQgbGlicmFyeSBpcyBzdXBwb3J0ZWQ8L3A+XHJcbn1cclxuIl19
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFPakMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFPN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFDVSxtQkFBZ0QsRUFDakIsT0FBMEI7UUFEekQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE2QjtRQWJqRCxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFDLEVBQUU7UUFNckQscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFNbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ25ELEtBQUssQ0FBQyxRQUFRLENB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LEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzNELE9BQU87b0JBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO29CQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDdEIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQzNCLENBQUM7K0dBNVFVLG1CQUFtQiw2REFrQnBCLGlCQUFpQjttR0FsQmhCLG1CQUFtQiwrVUM3QmhDLGdZQWNBOzs0RkRlYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTs7MEJBc0JwQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0FqQmIsS0FBSztzQkFBN0IsU0FBUzt1QkFBQyxZQUFZO2dCQUNkLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIgfSBmcm9tIFwiLi9kZWZhdWx0LWNoYXJ0LW9wdGlvbnMucHJvdmlkZXJcIjtcclxuaW1wb3J0IHtcclxuICBDT01QT05FTlRfTElCUkFSWSxcclxuICBDb21wb25lbnRMaWJyYXJ5LFxyXG59IGZyb20gXCIuLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5XCI7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSBcImNoYXJ0LmpzXCI7XHJcbmltcG9ydCB7IFVJQ2hhcnQgfSBmcm9tIFwicHJpbWVuZy9jaGFydFwiO1xyXG5pbXBvcnQge1xyXG4gIERpYWdyYW1EZXNjcmlwdG9yLFxyXG4gIERpYWdyYW1TaGFwZSxcclxuICBEaWFncmFtVWlNb2RlbCxcclxufSBmcm9tIFwiLi9zbWFydC1jaGFydDIvYXBpXCI7XHJcbmltcG9ydCBBbm5vdGF0aW9uUGx1Z2luIGZyb20gXCJjaGFydGpzLXBsdWdpbi1hbm5vdGF0aW9uXCI7XHJcbmltcG9ydCBab29tUGx1Z2luIGZyb20gXCJjaGFydGpzLXBsdWdpbi16b29tXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzbWFydC1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50LmNzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q2hhcnRDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJjaGFydEpTUmVmXCIpIGNoYXJ0PzogVUlDaGFydDtcclxuICBASW5wdXQoKSBkaWFncmFtVWlNb2RlbCE6IERpYWdyYW1VaU1vZGVsO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBhbnk7XHJcbiAgQElucHV0KCkgcGx1Z2luczogYW55W10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGFTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2hhcnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkRhdGFDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IC8vXHJcblxyXG4gIGRhdGE6IGFueTtcclxuICB0eXBlOiBhbnk7XHJcblxyXG4gIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnk7XHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjaGFydE9wdGlvblByb3ZpZGVyOiBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgICBDaGFydC5yZWdpc3RlcihBbm5vdGF0aW9uUGx1Z2luKTtcclxuICAgIENoYXJ0LnJlZ2lzdGVyKFpvb21QbHVnaW4pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgb3B0aW9ucyA9IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGRpYWdyYW1UeXBlID0gISF0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3I/LmRpYWdyYW1UeXBlXHJcbiAgICAgID8gdGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yLmRpYWdyYW1UeXBlXHJcbiAgICAgIDogXCJcIjtcclxuXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jaGFydE9wdGlvblByb3ZpZGVyLmdldEZhY3RvcnkoZGlhZ3JhbVR5cGUpO1xyXG4gICAgdGhpcy50eXBlID0gZmFjdG9yeS5jaGFydEpzVHlwZTtcclxuICAgIG9wdGlvbnMgPSBmYWN0b3J5LmNyZWF0ZU9wdGlvbnModGhpcy5kaWFncmFtVWlNb2RlbC5kaWFncmFtRGF0YSEpO1xyXG4gICAgaWYgKHRoaXMuZGlhZ3JhbVVpTW9kZWwuZGVzY3JpcHRvcikge1xyXG4gICAgICBvcHRpb25zID0gdGhpcy5kZWVwTWVyZ2UoXHJcbiAgICAgICAgdGhpcy5jb252ZXJ0QmFja2VuZE9wdGlvbnModGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yKSxcclxuICAgICAgICBvcHRpb25zXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZXBNZXJnZSh0aGlzLm9wdGlvbnMsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLmRhdGEgPSBmYWN0b3J5LnRyYW5zZm9ybURhdGEodGhpcy5kaWFncmFtVWlNb2RlbC5kaWFncmFtRGF0YSEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWVwTWVyZ2UodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55KTogYW55IHtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHNvdXJjZSkpIHtcclxuICAgICAgaWYgKHNvdXJjZVtrZXldIGluc3RhbmNlb2YgT2JqZWN0ICYmIHRhcmdldFtrZXldKSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihzb3VyY2Vba2V5XSwgdGhpcy5kZWVwTWVyZ2UodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0IHx8IHt9LCBzb3VyY2UpO1xyXG4gICAgcmV0dXJuIHRhcmdldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udmVydEJhY2tlbmRPcHRpb25zKGRlc2NyaXB0b3I6IERpYWdyYW1EZXNjcmlwdG9yKSB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XHJcbiAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xlZ2VuZEZvckNoYXJ0ID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgc2NhbGVzOiB7fSBhcyBhbnksXHJcbiAgICB9O1xyXG4gICAgaWYgKFxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NaW5YICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtTWF4WCAhPT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgb3B0aW9ucy5zY2FsZXMueCA9IHtcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGFiZWxzRm9yWEF4aXMgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1pbjogZGVzY3JpcHRvci5kaWFncmFtTWluWCxcclxuICAgICAgICBtYXg6IGRlc2NyaXB0b3IuZGlhZ3JhbU1heFgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy54ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JYQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1pblkgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NYXhZICE9PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy55ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JZQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluOiBkZXNjcmlwdG9yLmRpYWdyYW1NaW5ZLFxyXG4gICAgICAgIG1heDogZGVzY3JpcHRvci5kaWFncmFtTWF4WSxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnkgPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvcllBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvL0NyZWF0ZSBzaGFwZXNcclxuICAgIGlmIChkZXNjcmlwdG9yLmRpYWdyYW1TaGFwZXMpIHtcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtU2hhcGVzLmZvckVhY2goKHNoYXBlOiBEaWFncmFtU2hhcGUsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBvcHRpb25zLnBsdWdpbnMuYW5ub3RhdGlvbiA9IG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uIHx8IHt9O1xyXG4gICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zID1cclxuICAgICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zIHx8IHt9O1xyXG5cclxuICAgICAgICB2YXIgYm9yZGVyQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8ucmVkID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5ncmVlbiA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8uYWxwaGEgPz8gMX0pYDtcclxuICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gYHJnYmEoXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5ncmVlbiA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmJsdWUgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG5cclxuICAgICAgICB2YXIgZm9udENvbG9yID0gYHJnYmEoXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8ucmVkID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmxhYmVsVGV4dD8uY29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmxhYmVsVGV4dD8uY29sb3I/LmJsdWUgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8uYWxwaGEgPz8gMX0pYDtcclxuXHJcbiAgICAgICAgdmFyIGJvcmRlckRhc2g7XHJcbiAgICAgICAgaWYgKHNoYXBlLmJvcmRlckRhc2hMZW5ndGggJiYgc2hhcGUuYm9yZGVyRGFzaEdhcCkge1xyXG4gICAgICAgICAgYm9yZGVyRGFzaCA9IFtzaGFwZS5ib3JkZXJEYXNoTGVuZ3RoLCBzaGFwZS5ib3JkZXJEYXNoR2FwXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYm9yZGVyRGFzaCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJhc2VBbm5vdGF0aW9uID0ge1xyXG4gICAgICAgICAgdHlwZTogc2hhcGUuc2hhcGVUeXBlID8/IFwibGluZVwiLFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlckNvbG9yID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiBzaGFwZS5ib3JkZXJXaWR0aCA/PyAxLFxyXG4gICAgICAgICAgYm9yZGVyRGFzaDogYm9yZGVyRGFzaCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICBkcmF3VGltZTogc2hhcGUuZHJhd1RpbWUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHN3aXRjaCAoc2hhcGUuc2hhcGVUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFwiYm94XCI6XHJcbiAgICAgICAgICBjYXNlIFwibGluZVwiOlxyXG4gICAgICAgICAgY2FzZSBcImVsbGlwc2VcIjpcclxuICAgICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnNbYHNoYXBlJHtpbmRleH1gXSA9IHtcclxuICAgICAgICAgICAgICAuLi5iYXNlQW5ub3RhdGlvbixcclxuICAgICAgICAgICAgICB4TWluOiBzaGFwZS54TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB4TWF4OiBzaGFwZS54TWF4ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5TWluOiBzaGFwZS55TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5TWF4OiBzaGFwZS55TWF4ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBcImxhYmVsXCI6XHJcbiAgICAgICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zW2BzaGFwZSR7aW5kZXh9YF0gPSB7XHJcbiAgICAgICAgICAgICAgLi4uYmFzZUFubm90YXRpb24sXHJcbiAgICAgICAgICAgICAgeFZhbHVlOiBzaGFwZS54TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5VmFsdWU6IHNoYXBlLnlNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHNoYXBlLmxhYmVsVGV4dD8uY29udGVudCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdGV4dEFsaWduOiBzaGFwZS5sYWJlbFRleHQ/LnRleHRBbGlnbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgY29sb3I6IGZvbnRDb2xvciA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogc2hhcGUubGFiZWxUZXh0Py5zaXplID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIHdlaWdodDogc2hhcGUubGFiZWxUZXh0Py53ZWlnaHQgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHNoYXBlLmxhYmVsVGV4dD8uc3R5bGUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJwb2ludFwiOlxyXG4gICAgICAgICAgY2FzZSBcInBvbHlnb25cIjpcclxuICAgICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnNbYHNoYXBlJHtpbmRleH1gXSA9IHtcclxuICAgICAgICAgICAgICAuLi5iYXNlQW5ub3RhdGlvbixcclxuICAgICAgICAgICAgICB4VmFsdWU6IHNoYXBlLnhNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHlWYWx1ZTogc2hhcGUueU1pbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIC8vIE9wdGlvbmFsbHkgaGFuZGxlIGFueSBvdGhlciBzaGFwZSB0eXBlc1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gc2hhcGUgdHlwZTogJHtzaGFwZS5zaGFwZVR5cGV9YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yKSB7XHJcbiAgICAgIHZhciBiYWNrZ3JvdW5kQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgJHtkZXNjcmlwdG9yLmJhY2tncm91bmRDb2xvcj8uZ3JlZW4gPz8gMH0sXHJcbiAgICAgICAgJHtkZXNjcmlwdG9yLmJhY2tncm91bmRDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG5cclxuICAgICAgdmFyIGlkID0gXCJjdXN0b21DYW52YXNCYWNrZ3JvdW5kQ29sb3JcIjtcclxuICAgICAgY29uc3QgcGx1Z2luID0ge1xyXG4gICAgICAgIGlkOiBpZCxcclxuICAgICAgICBiZWZvcmVEcmF3OiAoY2hhcnQ6IGFueSwgYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgY3R4LCBjaGFydEFyZWEgfSA9IGNoYXJ0O1xyXG5cclxuICAgICAgICAgIGN0eC5zYXZlKCk7XHJcbiAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gXCJkZXN0aW5hdGlvbi1vdmVyXCI7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gYmFja2dyb3VuZENvbG9yO1xyXG4gICAgICAgICAgY3R4LmZpbGxSZWN0KFxyXG4gICAgICAgICAgICBjaGFydEFyZWEubGVmdCxcclxuICAgICAgICAgICAgY2hhcnRBcmVhLnRvcCxcclxuICAgICAgICAgICAgY2hhcnRBcmVhLnJpZ2h0IC0gY2hhcnRBcmVhLmxlZnQsXHJcbiAgICAgICAgICAgIGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY3R4LnJlc3RvcmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBsdWdpbnMucHVzaChwbHVnaW4pO1xyXG5cclxuICAgICAgb3B0aW9ucy5wbHVnaW5zW2Ake2lkfWBdID0ge1xyXG4gICAgICAgIGNvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIG9uRGF0YVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFydENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnRDbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU9uRGF0YUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FudmFzID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxDYW52YXNFbGVtZW50O1xyXG4gICAgY29uc3QgY2hhcnQgPSBDaGFydC5nZXRDaGFydChjYW52YXMpO1xyXG5cclxuICAgIGlmIChjaGFydCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50cyA9IGNoYXJ0LmdldEVsZW1lbnRzQXRFdmVudEZvck1vZGUoXHJcbiAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgXCJuZWFyZXN0XCIsXHJcbiAgICAgICAgeyBpbnRlcnNlY3Q6IHRydWUgfSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGNsaWNrZWRJdGVtcyA9IGNoYXJ0LnRvb2x0aXA/LmRhdGFQb2ludHM/Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhc2V0SW5kZXg6IGl0ZW0uZGF0YXNldEluZGV4LFxyXG4gICAgICAgICAgaXRlbUluZGV4OiBpdGVtLmRhdGFJbmRleCxcclxuICAgICAgICAgIGVsZW1lbnQ6IGl0ZW0uZWxlbWVudCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMub25EYXRhQ2xpY2tlZC5lbWl0KHsgZXZlbnQsIGNsaWNrZWRJdGVtcyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJhc2U2NEltYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmdldEJhc2U2NEltYWdlKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIGdldENoYXJ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmNoYXJ0O1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbjxwLWNoYXJ0XHJcbiAgI2NoYXJ0SlNSZWZcclxuICBbdHlwZV09XCJ0eXBlXCJcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICBbcGx1Z2luc109XCJwbHVnaW5zXCJcclxuICAob25EYXRhU2VsZWN0KT1cIm9uRGF0YVNlbGVjdCgkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlQ2hhcnRDbGljaygkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlT25EYXRhQ2xpY2tlZCgkZXZlbnQpXCJcclxuLz5cclxufSBAZWxzZSB7XHJcbjxwPk9ubHkgUHJpbWVOZyBjb21wb25lbnQgbGlicmFyeSBpcyBzdXBwb3J0ZWQ8L3A+XHJcbn1cclxuIl19
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
36
36
|
exports: [SmartChartComponent],
|
|
37
37
|
}]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQsTUFBTSxpQkFBaUIsR0FBZTtJQUNwQywyQkFBMkI7SUFDM0IsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ2xFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUN0RSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDckUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDNUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3pFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQzVFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUN4RSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDcEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3ZFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUNuRSxDQUFDO0FBT0YsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQXFCO1FBQ2xDLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7K0dBTlUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBSlosbUJBQW1CLGFBQ3hCLGFBQWEsRUFBRSxXQUFXLGFBQzFCLG1CQUFtQjtnSEFFbEIsZ0JBQWdCLFlBSGpCLGFBQWEsRUFBRSxXQUFXOzs0RkFHekIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgQ2hhcnRNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGFydFwiO1xyXG5pbXBvcnQge1xyXG4gIGJhckNoYXJ0LFxyXG4gIGJ1YmJsZUNoYXJ0LFxyXG4gIENVU1RPTV9DSEFSVF9PUFRJT05TLFxyXG4gIERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlcixcclxuICBkb3VnaG51dENoYXJ0LFxyXG4gIGhvcml6b250YWxCYXJDaGFydCxcclxuICBtdWx0aUF4aXNMaW5lQ2hhcnQsXHJcbiAgcGllQ2hhcnQsXHJcbiAgcG9sYXJBcmVhQ2hhcnQsXHJcbiAgcmFkYXJDaGFydCxcclxuICBzY2F0dGVyQ2hhcnQsXHJcbiAgc3RhY2tlZEJhckNoYXJ0LFxyXG59IGZyb20gXCIuL2RlZmF1bHQtY2hhcnQtb3B0aW9ucy5wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBTbWFydENoYXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50XCI7XHJcblxyXG5jb25zdCBERUZBVUxUX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcclxuICBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIsXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fQ0hBUlRfT1BUSU9OUywgdXNlVmFsdWU6IGJhckNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0NIQVJUX09QVElPTlMsIHVzZVZhbHVlOiBzY2F0dGVyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fQ0hBUlRfT1BUSU9OUywgdXNlVmFsdWU6IGJ1YmJsZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0NIQVJUX09QVElPTlMsIHVzZVZhbHVlOiBob3Jpem9udGFsQmFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fQ0hBUlRfT1BUSU9OUywgdXNlVmFsdWU6IHN0YWNrZWRCYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9DSEFSVF9PUFRJT05TLCB1c2VWYWx1ZTogbXVsdGlBeGlzTGluZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0NIQVJUX09QVElPTlMsIHVzZVZhbHVlOiBwb2xhckFyZWFDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9DSEFSVF9PUFRJT05TLCB1c2VWYWx1ZTogcmFkYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9DSEFSVF9PUFRJT05TLCB1c2VWYWx1ZTogZG91Z2hudXRDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9DSEFSVF9PUFRJT05TLCB1c2VWYWx1ZTogcGllQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NtYXJ0Q2hhcnRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBDaGFydE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0Q2hhcnRDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRDaGFydE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QocHJvdmlkZXJzOiBQcm92aWRlcltdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTbWFydENoYXJ0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogU21hcnRDaGFydE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbLi4uREVGQVVMVF9QUk9WSURFUlMsIC4uLnByb3ZpZGVyc10sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbURlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jaGFydC9zbWFydC1jaGFydDIvYXBpL21vZGVsL2RpYWdyYW1EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogc21hcnRjaGFydCBBUElcclxuICogRGVzY3JpYmVzIGEgbW9kZWwgZm9yIHNtYXJ0IGNoYXJ0LlxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IERpYWdyYW1Db2xvciB9IGZyb20gJy4vZGlhZ3JhbUNvbG9yJztcclxuaW1wb3J0IHsgRGlhZ3JhbVNoYXBlIH0gZnJvbSAnLi9kaWFncmFtU2hhcGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBIGRlc2NyaXB0b3IgZm9yIHRoZSBkaWFncmFtLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtRGVzY3JpcHRvciB7IFxyXG4gICAgdXJpPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgZGlhZ3JhbS5cclxuICAgICAqL1xyXG4gICAgZGlhZ3JhbVR5cGU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIHJlbmRlcmluZyB0aGUgY2hhcnRcXCdzIFgtYXhpcy4gRm9yIGV4YW1wbGUsIGlmIHRoZSBtaW5pbXVtIFggdmFsdWUgaW4gdGhlIGRhdGFzZXQgaXMgLTMwIGFuZCB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAtMzUsIGFuIGV4dHJhIFxcXCJwYWRkaW5nXFxcIiBvZiA1IHVuaXRzIHdpbGwgYmUgYWRkZWQgYmVsb3cgdGhlIGxvd2VzdCBkYXRhIHBvaW50LlxyXG4gICAgICovXHJcbiAgICBkaWFncmFtTWluWD86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHRoZSBlbmRpbmcgcG9pbnQgZm9yIHJlbmRlcmluZyB0aGUgY2hhcnRcXCdzIFgtYXhpcy4gRm9yIGluc3RhbmNlLCBpZiB0aGUgbWF4aW11bSBYIHZhbHVlIGluIHRoZSBkYXRhc2V0IGlzIDMwIGFuZCB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAzNSwgYW4gYWRkaXRpb25hbCBcXFwicGFkZGluZ1xcXCIgb2YgNSB1bml0cyB3aWxsIGJlIGFkZGVkIGFib3ZlIHRoZSBoaWdoZXN0IGRhdGEgcG9pbnQuXHJcbiAgICAgKi9cclxuICAgIGRpYWdyYW1NYXhYPzogbnVtYmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciByZW5kZXJpbmcgdGhlIGNoYXJ0XFwncyBZLWF4aXMuIEZvciBleGFtcGxlLCBpZiB0aGUgbWluaW11bSBZIHZhbHVlIGluIHRoZSBkYXRhc2V0IGlzIC0zMCBhbmQgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gLTM1LCBhbiBleHRyYSBcXFwicGFkZGluZ1xcXCIgb2YgNSB1bml0cyB3aWxsIGJlIGFkZGVkIGJlbG93IHRoZSBsb3dlc3QgZGF0YSBwb2ludC5cclxuICAgICAqL1xyXG4gICAgZGlhZ3JhbU1pblk/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgZW5kaW5nIHBvaW50IGZvciByZW5kZXJpbmcgdGhlIGNoYXJ0XFwncyBZLWF4aXMuIEZvciBpbnN0YW5jZSwgaWYgdGhlIG1heGltdW0gWSB2YWx1ZSBpbiB0aGUgZGF0YXNldCBpcyAzMCBhbmQgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gMzUsIGFuIGFkZGl0aW9uYWwgXFxcInBhZGRpbmdcXFwiIG9mIDUgdW5pdHMgd2lsbCBiZSBhZGRlZCBhYm92ZSB0aGUgaGlnaGVzdCBkYXRhIHBvaW50LlxyXG4gICAgICovXHJcbiAgICBkaWFncmFtTWF4WT86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBsYWJlbHMgb24gdGhlIFgtQXhpcyBhcmUgZGlzcGxheWVkIG9uIHRoZSBjaGFydC4gU2V0IHRvIGB0cnVlYCB0byBzaG93IHRoZSBsYWJlbHMsIG9yIGBmYWxzZWAgdG8gaGlkZSB0aGVtLlxyXG4gICAgICovXHJcbiAgICBzaG93TGFiZWxzRm9yWEF4aXM/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGxhYmVscyBvbiB0aGUgWS1BeGlzIGFyZSBkaXNwbGF5ZWQgb24gdGhlIGNoYXJ0LiBTZXQgdG8gYHRydWVgIHRvIHNob3cgdGhlIGxhYmVscywgb3IgYGZhbHNlYCB0byBoaWRlIHRoZW0uXHJcbiAgICAgKi9cclxuICAgIHNob3dMYWJlbHNGb3JZQXhpcz86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgbGVnZW5kIGZvciB0aGUgY2hhcnQgaXMgZGlzcGxheWVkLiBTZXQgdG8gYHRydWVgIHRvIHNob3cgdGhlIGxlZ2VuZCwgb3IgYGZhbHNlYCB0byBoaWRlIGl0LlxyXG4gICAgICovXHJcbiAgICBzaG93TGVnZW5kRm9yQ2hhcnQ/OiBib29sZWFuO1xyXG4gICAgYmFja2dyb3VuZENvbG9yPzogRGlhZ3JhbUNvbG9yO1xyXG4gICAgZGlhZ3JhbVNoYXBlcz86IEFycmF5PERpYWdyYW1TaGFwZT47XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbVNoYXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQyL2FwaS9tb2RlbC9kaWFncmFtU2hhcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBzbWFydGNoYXJ0IEFQSVxyXG4gKiBEZXNjcmliZXMgYSBtb2RlbCBmb3Igc21hcnQgY2hhcnQuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgRGlhZ3JhbUNvbG9yIH0gZnJvbSAnLi9kaWFncmFtQ29sb3InO1xyXG5pbXBvcnQgeyBEcmF3VGltZSB9IGZyb20gJy4vZHJhd1RpbWUnO1xyXG5pbXBvcnQgeyBMYWJlbFRleHQgfSBmcm9tICcuL2xhYmVsVGV4dCc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtU2hhcGUgeyBcclxuICAgIHNoYXBlVHlwZTogc3RyaW5nO1xyXG4gICAgeE1pbj86IG51bWJlcjtcclxuICAgIHhNYXg/OiBudW1iZXI7XHJcbiAgICB5TWluPzogbnVtYmVyO1xyXG4gICAgeU1heD86IG51bWJlcjtcclxuICAgIGJhY2tncm91bmRDb2xvcj86IERpYWdyYW1Db2xvcjtcclxuICAgIGJvcmRlckNvbG9yPzogRGlhZ3JhbUNvbG9yO1xyXG4gICAgYm9yZGVyV2lkdGg/OiBudW1iZXI7XHJcbiAgICBib3JkZXJEYXNoTGVuZ3RoPzogbnVtYmVyO1xyXG4gICAgYm9yZGVyRGFzaEdhcD86IG51bWJlcjtcclxuICAgIGRyYXdUaW1lPzogRHJhd1RpbWU7XHJcbiAgICBsYWJlbFRleHQ/OiBMYWJlbFRleHQ7XHJcbn1cclxuZXhwb3J0IG5hbWVzcGFjZSBEaWFncmFtU2hhcGUge1xyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxUZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQyL2FwaS9tb2RlbC9sYWJlbFRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBzbWFydGNoYXJ0IEFQSVxyXG4gKiBEZXNjcmliZXMgYSBtb2RlbCBmb3Igc21hcnQgY2hhcnQuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgRGlhZ3JhbUNvbG9yIH0gZnJvbSAnLi9kaWFncmFtQ29sb3InO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxUZXh0IHsgXHJcbiAgICBjb250ZW50Pzogc3RyaW5nO1xyXG4gICAgY29sb3I/OiBEaWFncmFtQ29sb3I7XHJcbiAgICB0ZXh0QWxpZ24/OiBzdHJpbmc7XHJcbiAgICBzaXplPzogbnVtYmVyO1xyXG4gICAgd2VpZ2h0Pzogc3RyaW5nO1xyXG4gICAgc3R5bGU/OiBzdHJpbmc7XHJcbiAgICBmYW1pbHk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -7,4 +7,5 @@ export * from './diagramDescriptor';
|
|
|
7
7
|
export * from './diagramShape';
|
|
8
8
|
export * from './diagramUiModel';
|
|
9
9
|
export * from './drawTime';
|
|
10
|
-
|
|
10
|
+
export * from './labelText';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQyL2FwaS9tb2RlbC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtQ29sb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWdyYW1EYXRhQ29udGFpbmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtRGF0YUl0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWdyYW1EYXRhU2V0JztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtRGF0YVNldENvbnN0cnVjdGlvbkluc3RydWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtRGVzY3JpcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlhZ3JhbVNoYXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtVWlNb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHJhd1RpbWUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xhYmVsVGV4dCc7XHJcbiJdfQ==
|
|
@@ -4,7 +4,8 @@ import { BrowserModule } from '@angular/platform-browser';
|
|
|
4
4
|
import * as i2 from 'primeng/chart';
|
|
5
5
|
import { ChartModule } from 'primeng/chart';
|
|
6
6
|
import { Chart } from 'chart.js';
|
|
7
|
-
import
|
|
7
|
+
import AnnotationPlugin from 'chartjs-plugin-annotation';
|
|
8
|
+
import ZoomPlugin from 'chartjs-plugin-zoom';
|
|
8
9
|
|
|
9
10
|
const CUSTOM_CHART_OPTIONS = new InjectionToken("CUSTOM_CHART_OPTIONS");
|
|
10
11
|
function transformDataToBasicDataSets(chartData) {
|
|
@@ -248,12 +249,14 @@ const COMPONENT_LIBRARY = new InjectionToken('COMPONENT_LIBRARY');
|
|
|
248
249
|
class SmartChartComponent {
|
|
249
250
|
constructor(chartOptionProvider, compLib) {
|
|
250
251
|
this.chartOptionProvider = chartOptionProvider;
|
|
252
|
+
this.plugins = [];
|
|
251
253
|
this.dataSelect = new EventEmitter();
|
|
252
254
|
this.chartClick = new EventEmitter();
|
|
253
255
|
this.onDataClicked = new EventEmitter(); //
|
|
254
256
|
this.componentLibrary = ComponentLibrary;
|
|
255
257
|
this.compLib = compLib ?? ComponentLibrary.PRIMENG;
|
|
256
|
-
Chart.register(
|
|
258
|
+
Chart.register(AnnotationPlugin);
|
|
259
|
+
Chart.register(ZoomPlugin);
|
|
257
260
|
}
|
|
258
261
|
ngOnInit() {
|
|
259
262
|
let options = undefined;
|
|
@@ -340,6 +343,11 @@ class SmartChartComponent {
|
|
|
340
343
|
${shape.backgroundColor?.green ?? 0},
|
|
341
344
|
${shape.backgroundColor?.blue ?? 0},
|
|
342
345
|
${shape.backgroundColor?.alpha ?? 1})`;
|
|
346
|
+
var fontColor = `rgba(
|
|
347
|
+
${shape.labelText?.color?.red ?? 0},
|
|
348
|
+
${shape.labelText?.color?.green ?? 0},
|
|
349
|
+
${shape.labelText?.color?.blue ?? 0},
|
|
350
|
+
${shape.labelText?.color?.alpha ?? 1})`;
|
|
343
351
|
var borderDash;
|
|
344
352
|
if (shape.borderDashLength && shape.borderDashGap) {
|
|
345
353
|
borderDash = [shape.borderDashLength, shape.borderDashGap];
|
|
@@ -347,20 +355,79 @@ class SmartChartComponent {
|
|
|
347
355
|
else {
|
|
348
356
|
borderDash = undefined;
|
|
349
357
|
}
|
|
350
|
-
|
|
358
|
+
const baseAnnotation = {
|
|
351
359
|
type: shape.shapeType ?? "line",
|
|
352
|
-
xMin: shape.xMin ?? undefined,
|
|
353
|
-
xMax: shape.xMax ?? undefined,
|
|
354
|
-
yMin: shape.yMin ?? undefined,
|
|
355
|
-
yMax: shape.yMax ?? undefined,
|
|
356
360
|
backgroundColor: backgroundColor ?? undefined,
|
|
357
361
|
borderColor: borderColor ?? undefined,
|
|
358
362
|
borderWidth: shape.borderWidth ?? 1,
|
|
359
363
|
borderDash: borderDash ?? undefined,
|
|
360
364
|
drawTime: shape.drawTime ?? undefined,
|
|
361
365
|
};
|
|
366
|
+
switch (shape.shapeType) {
|
|
367
|
+
case "box":
|
|
368
|
+
case "line":
|
|
369
|
+
case "ellipse":
|
|
370
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
371
|
+
...baseAnnotation,
|
|
372
|
+
xMin: shape.xMin ?? undefined,
|
|
373
|
+
xMax: shape.xMax ?? undefined,
|
|
374
|
+
yMin: shape.yMin ?? undefined,
|
|
375
|
+
yMax: shape.yMax ?? undefined,
|
|
376
|
+
};
|
|
377
|
+
break;
|
|
378
|
+
case "label":
|
|
379
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
380
|
+
...baseAnnotation,
|
|
381
|
+
xValue: shape.xMin ?? undefined,
|
|
382
|
+
yValue: shape.yMin ?? undefined,
|
|
383
|
+
content: shape.labelText?.content ?? undefined,
|
|
384
|
+
textAlign: shape.labelText?.textAlign ?? undefined,
|
|
385
|
+
color: fontColor ?? undefined,
|
|
386
|
+
font: {
|
|
387
|
+
size: shape.labelText?.size ?? undefined,
|
|
388
|
+
weight: shape.labelText?.weight ?? undefined,
|
|
389
|
+
style: shape.labelText?.style ?? undefined,
|
|
390
|
+
},
|
|
391
|
+
};
|
|
392
|
+
break;
|
|
393
|
+
case "point":
|
|
394
|
+
case "polygon":
|
|
395
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
396
|
+
...baseAnnotation,
|
|
397
|
+
xValue: shape.xMin ?? undefined,
|
|
398
|
+
yValue: shape.yMin ?? undefined,
|
|
399
|
+
};
|
|
400
|
+
break;
|
|
401
|
+
default:
|
|
402
|
+
// Optionally handle any other shape types
|
|
403
|
+
console.warn(`Unknown shape type: ${shape.shapeType}`);
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
362
406
|
});
|
|
363
407
|
}
|
|
408
|
+
if (descriptor.backgroundColor) {
|
|
409
|
+
var backgroundColor = `rgba(
|
|
410
|
+
${descriptor.backgroundColor?.red ?? 0},
|
|
411
|
+
${descriptor.backgroundColor?.green ?? 0},
|
|
412
|
+
${descriptor.backgroundColor?.blue ?? 0},
|
|
413
|
+
${descriptor.backgroundColor?.alpha ?? 1})`;
|
|
414
|
+
var id = "customCanvasBackgroundColor";
|
|
415
|
+
const plugin = {
|
|
416
|
+
id: id,
|
|
417
|
+
beforeDraw: (chart, args, options) => {
|
|
418
|
+
const { ctx, chartArea } = chart;
|
|
419
|
+
ctx.save();
|
|
420
|
+
ctx.globalCompositeOperation = "destination-over";
|
|
421
|
+
ctx.fillStyle = backgroundColor;
|
|
422
|
+
ctx.fillRect(chartArea.left, chartArea.top, chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);
|
|
423
|
+
ctx.restore();
|
|
424
|
+
},
|
|
425
|
+
};
|
|
426
|
+
this.plugins.push(plugin);
|
|
427
|
+
options.plugins[`${id}`] = {
|
|
428
|
+
color: backgroundColor,
|
|
429
|
+
};
|
|
430
|
+
}
|
|
364
431
|
return options;
|
|
365
432
|
}
|
|
366
433
|
onDataSelect(event) {
|
|
@@ -397,11 +464,11 @@ class SmartChartComponent {
|
|
|
397
464
|
return this.chart?.chart;
|
|
398
465
|
}
|
|
399
466
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, deps: [{ token: DefaultChartOptionsProvider }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
467
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options", plugins: "plugins" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
401
468
|
}
|
|
402
469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, decorators: [{
|
|
403
470
|
type: Component,
|
|
404
|
-
args: [{ selector: "smart-chart", template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n" }]
|
|
471
|
+
args: [{ selector: "smart-chart", template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n" }]
|
|
405
472
|
}], ctorParameters: () => [{ type: DefaultChartOptionsProvider }, { type: ComponentLibrary, decorators: [{
|
|
406
473
|
type: Inject,
|
|
407
474
|
args: [COMPONENT_LIBRARY]
|
|
@@ -414,6 +481,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
414
481
|
type: Input
|
|
415
482
|
}], options: [{
|
|
416
483
|
type: Input
|
|
484
|
+
}], plugins: [{
|
|
485
|
+
type: Input
|
|
417
486
|
}], dataSelect: [{
|
|
418
487
|
type: Output
|
|
419
488
|
}], chartClick: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartbit4all-ng-client-src-lib-smart-chart.mjs","sources":["../../../projects/smart-ng-client/src/lib/smart-chart/default-chart-options.provider.ts","../../../projects/smart-ng-client/src/lib/view-context/utility/componentLibrary.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.html","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.module.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartOrientation.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartType.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartValue.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/pieChartLegendPosition.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramColor.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataItem.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/drawTime.ts","../../../projects/smart-ng-client/src/lib/smart-chart-projects.ts","../../../projects/smart-ng-client/src/lib/smartbit4all-ng-client-src-lib-smart-chart.ts"],"sourcesContent":["import { Injectable, InjectionToken, Optional, Inject } from \"@angular/core\";\r\nimport { DiagramDataContainer } from \"./smart-chart2/api\";\r\n\r\nexport const CUSTOM_CHART_OPTIONS = new InjectionToken<ChartJsFactory>(\r\n \"CUSTOM_CHART_OPTIONS\"\r\n);\r\n\r\nexport interface ChartJsFactory {\r\n readonly chartType: string;\r\n readonly chartJsType: string;\r\n createOptions(chartData: DiagramDataContainer): any;\r\n transformData(chartData: DiagramDataContainer): any;\r\n}\r\n\r\nexport function transformDataToBasicDataSets(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBarLikeDataSet(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n borderColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToScatter(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBubble(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n r: item.rValue ?? 5,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport const barChart: ChartJsFactory = {\r\n chartType: \"bar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const horizontalBarChart: ChartJsFactory = {\r\n chartType: \"horizontalBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n indexAxis: \"y\",\r\n };\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const radarChart: ChartJsFactory = {\r\n chartType: \"radar\",\r\n chartJsType: \"radar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.dataSetcolor,\r\n pointBackgroundColor: dataset.dataSetcolor,\r\n pointBorderColor: dataset.dataSetcolor,\r\n pointHoverBackgroundColor: \"#000000\",\r\n pointHoverBorderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const stackedBarChart: ChartJsFactory = {\r\n chartType: \"stackedBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n },\r\n },\r\n };\r\n },\r\n transformData: transformDataToBasicDataSets,\r\n};\r\n\r\nexport const pieChart: ChartJsFactory = {\r\n chartType: \"pie\",\r\n chartJsType: \"pie\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const doughnutChart: ChartJsFactory = {\r\n chartType: \"doughnut\",\r\n chartJsType: \"doughnut\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const scatterChart: ChartJsFactory = {\r\n chartType: \"scatter\",\r\n chartJsType: \"scatter\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToScatter,\r\n};\r\n\r\nexport const bubbleChart: ChartJsFactory = {\r\n chartType: \"bubble\",\r\n chartJsType: \"bubble\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBubble,\r\n};\r\n\r\nexport const multiAxisLineChart: ChartJsFactory = {\r\n chartType: \"multiAxisLine\",\r\n chartJsType: \"line\",\r\n createOptions: (chartData: DiagramDataContainer): any => {\r\n const yAxes = chartData.items.map((dataset, index) => ({\r\n id: `y${index == 1 ? \"\" : index}`,\r\n type: \"linear\",\r\n position: index % 2 === 0 ? \"left\" : \"right\",\r\n }));\r\n return {\r\n scales: {\r\n ...yAxes.reduce((acc: any, axis) => {\r\n acc[axis.id] = axis;\r\n return acc;\r\n }, {}),\r\n },\r\n };\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset, index) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n yAxisID: `y${index == 1 ? \"\" : index}`,\r\n backgroundColor: dataset.dataSetcolor,\r\n borderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const polarAreaChart: ChartJsFactory = {\r\n chartType: \"polarArea\",\r\n chartJsType: \"polarArea\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.items.map((item) => item.itemColor),\r\n backgroundColor: dataset.items.map((item) => item.itemColor),\r\n })),\r\n };\r\n },\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DefaultChartOptionsProvider {\r\n private readonly factoriesByType: Map<string, ChartJsFactory>;\r\n constructor(\r\n @Inject(CUSTOM_CHART_OPTIONS)\r\n @Optional()\r\n factories: ChartJsFactory[] | undefined\r\n ) {\r\n this.factoriesByType = new Map(\r\n factories?.map((f) => [f.chartType, f]) ?? []\r\n );\r\n }\r\n\r\n getFactory(chartType: string): ChartJsFactory {\r\n return (\r\n this.factoriesByType.get(chartType) ?? {\r\n chartType: chartType,\r\n chartJsType: chartType,\r\n transformData: transformDataToBasicDataSets,\r\n createOptions: () => {\r\n return {};\r\n },\r\n }\r\n );\r\n }\r\n}\r\n\r\nfunction generateRandomColor(): string {\r\n const random = Math.floor(Math.random() * 16777215).toString(16);\r\n return `#${\"000000\".substring(0, 6 - random.length) + random}`;\r\n}\r\n","// lib/view-context/utility/componentLibrary.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport enum ComponentLibrary {\r\n MATERIAL = 'material',\r\n PRIMENG = 'primeng',\r\n}\r\n\r\nexport const COMPONENT_LIBRARY = new InjectionToken<ComponentLibrary>('COMPONENT_LIBRARY');\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DefaultChartOptionsProvider } from \"./default-chart-options.provider\";\r\nimport {\r\n COMPONENT_LIBRARY,\r\n ComponentLibrary,\r\n} from \"../view-context/utility/componentLibrary\";\r\nimport { Chart } from \"chart.js\";\r\nimport { UIChart } from \"primeng/chart\";\r\nimport annotationPlugin from \"chartjs-plugin-annotation\";\r\nimport {\r\n DiagramDescriptor,\r\n DiagramShape,\r\n DiagramUiModel,\r\n} from \"./smart-chart2/api\";\r\n\r\n@Component({\r\n selector: \"smart-chart\",\r\n templateUrl: \"./smart-chart.component.html\",\r\n styleUrls: [\"./smart-chart.component.css\"],\r\n})\r\nexport class SmartChartComponent {\r\n @ViewChild(\"chartJSRef\") chart?: UIChart;\r\n @Input() diagramUiModel!: DiagramUiModel;\r\n @Input() options?: any;\r\n\r\n @Output() dataSelect = new EventEmitter<any>();\r\n @Output() chartClick = new EventEmitter<any>();\r\n @Output() onDataClicked = new EventEmitter<any>(); //\r\n\r\n data: any;\r\n type: any;\r\n\r\n compLib: ComponentLibrary;\r\n componentLibrary = ComponentLibrary;\r\n\r\n constructor(\r\n private chartOptionProvider: DefaultChartOptionsProvider,\r\n @Inject(COMPONENT_LIBRARY) @Optional() compLib?: ComponentLibrary\r\n ) {\r\n this.compLib = compLib ?? ComponentLibrary.PRIMENG;\r\n Chart.register(annotationPlugin);\r\n }\r\n\r\n ngOnInit() {\r\n let options = undefined;\r\n const diagramType = !!this.diagramUiModel.descriptor?.diagramType\r\n ? this.diagramUiModel.descriptor.diagramType\r\n : \"\";\r\n\r\n const factory = this.chartOptionProvider.getFactory(diagramType);\r\n this.type = factory.chartJsType;\r\n options = factory.createOptions(this.diagramUiModel.diagramData!);\r\n if (this.diagramUiModel.descriptor) {\r\n options = this.deepMerge(\r\n this.convertBackendOptions(this.diagramUiModel.descriptor),\r\n options\r\n );\r\n }\r\n if (this.options) {\r\n options = this.deepMerge(this.options, options);\r\n }\r\n\r\n this.options = options;\r\n this.data = factory.transformData(this.diagramUiModel.diagramData!);\r\n }\r\n\r\n private deepMerge(target: any, source: any): any {\r\n for (const key of Object.keys(source)) {\r\n if (source[key] instanceof Object && target[key]) {\r\n Object.assign(source[key], this.deepMerge(target[key], source[key]));\r\n }\r\n }\r\n Object.assign(target || {}, source);\r\n return target;\r\n }\r\n\r\n private convertBackendOptions(descriptor: DiagramDescriptor) {\r\n const options: any = {\r\n plugins: {\r\n legend: {\r\n display: descriptor.showLegendForChart ?? true,\r\n },\r\n },\r\n scales: {} as any,\r\n };\r\n if (\r\n descriptor.diagramMinX !== undefined &&\r\n descriptor.diagramMaxX !== undefined\r\n ) {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n min: descriptor.diagramMinX,\r\n max: descriptor.diagramMaxX,\r\n };\r\n } else {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n };\r\n }\r\n if (\r\n descriptor.diagramMinY !== undefined &&\r\n descriptor.diagramMaxY !== undefined\r\n ) {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n min: descriptor.diagramMinY,\r\n max: descriptor.diagramMaxY,\r\n };\r\n } else {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n };\r\n }\r\n\r\n //Create shapes\r\n if (descriptor.diagramShapes) {\r\n descriptor.diagramShapes.forEach((shape: DiagramShape, index: number) => {\r\n options.plugins.annotation = options.plugins.annotation || {};\r\n options.plugins.annotation.annotations =\r\n options.plugins.annotation.annotations || {};\r\n\r\n var borderColor = `rgba(\r\n ${shape.borderColor?.red ?? 0},\r\n ${shape.borderColor?.green ?? 0},\r\n ${shape.borderColor?.blue ?? 0},\r\n ${shape.borderColor?.alpha ?? 1})`;\r\n var backgroundColor = `rgba(\r\n ${shape.backgroundColor?.red ?? 0},\r\n ${shape.backgroundColor?.green ?? 0},\r\n ${shape.backgroundColor?.blue ?? 0},\r\n ${shape.backgroundColor?.alpha ?? 1})`;\r\n\r\n var borderDash;\r\n if (shape.borderDashLength && shape.borderDashGap) {\r\n borderDash = [shape.borderDashLength, shape.borderDashGap];\r\n } else {\r\n borderDash = undefined;\r\n }\r\n\r\n options.plugins.annotation.annotations[`shape${index}`] = {\r\n type: shape.shapeType ?? \"line\",\r\n xMin: shape.xMin ?? undefined,\r\n xMax: shape.xMax ?? undefined,\r\n yMin: shape.yMin ?? undefined,\r\n yMax: shape.yMax ?? undefined,\r\n backgroundColor: backgroundColor ?? undefined,\r\n borderColor: borderColor ?? undefined,\r\n borderWidth: shape.borderWidth ?? 1,\r\n borderDash: borderDash ?? undefined,\r\n drawTime: shape.drawTime ?? undefined,\r\n };\r\n });\r\n }\r\n return options;\r\n }\r\n\r\n onDataSelect(event: any) {\r\n this.dataSelect.emit(event);\r\n }\r\n\r\n handleChartClick(event: any): void {\r\n this.chartClick.emit(event);\r\n }\r\n\r\n handleOnDataClicked(event: any): void {\r\n const canvas = event.target as HTMLCanvasElement;\r\n const chart = Chart.getChart(canvas);\r\n\r\n if (chart) {\r\n const elements = chart.getElementsAtEventForMode(\r\n event,\r\n \"nearest\",\r\n { intersect: true },\r\n false\r\n );\r\n if (elements.length === 0) {\r\n return;\r\n }\r\n const clickedItems = chart.tooltip?.dataPoints?.map((item) => {\r\n return {\r\n datasetIndex: item.datasetIndex,\r\n itemIndex: item.dataIndex,\r\n element: item.element,\r\n };\r\n });\r\n\r\n this.onDataClicked.emit({ event, clickedItems });\r\n }\r\n }\r\n\r\n getBase64Image() {\r\n return this.chart?.getBase64Image();\r\n }\r\n\r\n refresh() {\r\n return this.chart?.refresh();\r\n }\r\n\r\n getChart() {\r\n return this.chart?.chart;\r\n }\r\n}\r\n","@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { ChartModule } from \"primeng/chart\";\r\nimport {\r\n barChart,\r\n bubbleChart,\r\n CUSTOM_CHART_OPTIONS,\r\n DefaultChartOptionsProvider,\r\n doughnutChart,\r\n horizontalBarChart,\r\n multiAxisLineChart,\r\n pieChart,\r\n polarAreaChart,\r\n radarChart,\r\n scatterChart,\r\n stackedBarChart,\r\n} from \"./default-chart-options.provider\";\r\nimport { SmartChartComponent } from \"./smart-chart.component\";\r\nimport annotationPlugin from \"chartjs-plugin-annotation\";\r\n\r\nconst DEFAULT_PROVIDERS: Provider[] = [\r\n DefaultChartOptionsProvider,\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: barChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: scatterChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: bubbleChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: horizontalBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: stackedBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: multiAxisLineChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: polarAreaChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: radarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: doughnutChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: pieChart, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [SmartChartComponent],\r\n imports: [BrowserModule, ChartModule],\r\n exports: [SmartChartComponent],\r\n})\r\nexport class SmartChartModule {\r\n static forRoot(providers: Provider[]): ModuleWithProviders<SmartChartModule> {\r\n return {\r\n ngModule: SmartChartModule,\r\n providers: [...DEFAULT_PROVIDERS, ...providers],\r\n };\r\n }\r\n}\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartOrientation = 'Horizontal' | 'Vertical';\r\n\r\nexport const ChartOrientation = {\r\n Horizontal: 'Horizontal' as ChartOrientation,\r\n Vertical: 'Vertical' as ChartOrientation\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartType = 'BarChart' | 'GroupedBarChart' | 'StackedBarChart' | 'NormalizedBarChart' | 'PieChart' | 'AdvancedPieChart' | 'PieGrid';\r\n\r\nexport const ChartType = {\r\n BarChart: 'BarChart' as ChartType,\r\n GroupedBarChart: 'GroupedBarChart' as ChartType,\r\n StackedBarChart: 'StackedBarChart' as ChartType,\r\n NormalizedBarChart: 'NormalizedBarChart' as ChartType,\r\n PieChart: 'PieChart' as ChartType,\r\n AdvancedPieChart: 'AdvancedPieChart' as ChartType,\r\n PieGrid: 'PieGrid' as ChartType\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ChartValue { \r\n name: string;\r\n value?: object;\r\n series: Array<ChartValue>;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PieChartLegendPosition = 'right' | 'below';\r\n\r\nexport const PieChartLegendPosition = {\r\n Right: 'right' as PieChartLegendPosition,\r\n Below: 'below' as PieChartLegendPosition\r\n};\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramColor { \r\n red?: number;\r\n green?: number;\r\n blue?: number;\r\n alpha?: number;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * Contains an items data, based on the type of the diagram.\r\n */\r\nexport interface DiagramDataItem { \r\n uri?: string;\r\n label?: string;\r\n xValue?: number;\r\n yValue?: number;\r\n /**\r\n * This property specifies the radius of each bubble in a bubble chart. It is used to determine the size of the bubbles relative to their data values.\r\n */\r\n rValue?: number;\r\n itemColor?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramDataSetConstructionInstruction { \r\n xValuePath?: Array<string>;\r\n yValuePath?: Array<string>;\r\n rValuePath?: Array<string>;\r\n labelValuePath?: Array<string>;\r\n colorValuePath?: Array<string>;\r\n loadLatest?: boolean;\r\n dataSetLabel?: string;\r\n dataSetType?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DrawTime = 'beforeDraw' | 'beforeDatasetsDraw' | 'afterDatasetsDraw' | 'afterDraw';\r\n\r\nexport const DrawTime = {\r\n BeforeDraw: 'beforeDraw' as DrawTime,\r\n BeforeDatasetsDraw: 'beforeDatasetsDraw' as DrawTime,\r\n AfterDatasetsDraw: 'afterDatasetsDraw' as DrawTime,\r\n AfterDraw: 'afterDraw' as DrawTime\r\n};\r\n\r\n","/*\r\n * Public API Surface of smart-chart\r\n */\r\n\r\nexport * from \"./smart-chart/smart-chart.module\";\r\nexport * from \"./smart-chart/smart-chart.component\";\r\nexport * from \"./smart-chart/api/model/models\";\r\nexport * from \"./smart-chart/smart-chart2/api/model/models\";\r\nexport * from \"./smart-chart/default-chart-options.provider\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './smart-chart-projects';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartbit4all-ng-client-src-lib-smart-chart.mjs","sources":["../../../projects/smart-ng-client/src/lib/smart-chart/default-chart-options.provider.ts","../../../projects/smart-ng-client/src/lib/view-context/utility/componentLibrary.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.html","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.module.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartOrientation.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartType.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartValue.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/pieChartLegendPosition.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramColor.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataItem.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/drawTime.ts","../../../projects/smart-ng-client/src/lib/smart-chart-projects.ts","../../../projects/smart-ng-client/src/lib/smartbit4all-ng-client-src-lib-smart-chart.ts"],"sourcesContent":["import { Injectable, InjectionToken, Optional, Inject } from \"@angular/core\";\r\nimport { DiagramDataContainer } from \"./smart-chart2/api\";\r\n\r\nexport const CUSTOM_CHART_OPTIONS = new InjectionToken<ChartJsFactory>(\r\n \"CUSTOM_CHART_OPTIONS\"\r\n);\r\n\r\nexport interface ChartJsFactory {\r\n readonly chartType: string;\r\n readonly chartJsType: string;\r\n createOptions(chartData: DiagramDataContainer): any;\r\n transformData(chartData: DiagramDataContainer): any;\r\n}\r\n\r\nexport function transformDataToBasicDataSets(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBarLikeDataSet(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n borderColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToScatter(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBubble(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n r: item.rValue ?? 5,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport const barChart: ChartJsFactory = {\r\n chartType: \"bar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const horizontalBarChart: ChartJsFactory = {\r\n chartType: \"horizontalBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n indexAxis: \"y\",\r\n };\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const radarChart: ChartJsFactory = {\r\n chartType: \"radar\",\r\n chartJsType: \"radar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.dataSetcolor,\r\n pointBackgroundColor: dataset.dataSetcolor,\r\n pointBorderColor: dataset.dataSetcolor,\r\n pointHoverBackgroundColor: \"#000000\",\r\n pointHoverBorderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const stackedBarChart: ChartJsFactory = {\r\n chartType: \"stackedBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n },\r\n },\r\n };\r\n },\r\n transformData: transformDataToBasicDataSets,\r\n};\r\n\r\nexport const pieChart: ChartJsFactory = {\r\n chartType: \"pie\",\r\n chartJsType: \"pie\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const doughnutChart: ChartJsFactory = {\r\n chartType: \"doughnut\",\r\n chartJsType: \"doughnut\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const scatterChart: ChartJsFactory = {\r\n chartType: \"scatter\",\r\n chartJsType: \"scatter\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToScatter,\r\n};\r\n\r\nexport const bubbleChart: ChartJsFactory = {\r\n chartType: \"bubble\",\r\n chartJsType: \"bubble\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBubble,\r\n};\r\n\r\nexport const multiAxisLineChart: ChartJsFactory = {\r\n chartType: \"multiAxisLine\",\r\n chartJsType: \"line\",\r\n createOptions: (chartData: DiagramDataContainer): any => {\r\n const yAxes = chartData.items.map((dataset, index) => ({\r\n id: `y${index == 1 ? \"\" : index}`,\r\n type: \"linear\",\r\n position: index % 2 === 0 ? \"left\" : \"right\",\r\n }));\r\n return {\r\n scales: {\r\n ...yAxes.reduce((acc: any, axis) => {\r\n acc[axis.id] = axis;\r\n return acc;\r\n }, {}),\r\n },\r\n };\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset, index) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n yAxisID: `y${index == 1 ? \"\" : index}`,\r\n backgroundColor: dataset.dataSetcolor,\r\n borderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const polarAreaChart: ChartJsFactory = {\r\n chartType: \"polarArea\",\r\n chartJsType: \"polarArea\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.items.map((item) => item.itemColor),\r\n backgroundColor: dataset.items.map((item) => item.itemColor),\r\n })),\r\n };\r\n },\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DefaultChartOptionsProvider {\r\n private readonly factoriesByType: Map<string, ChartJsFactory>;\r\n constructor(\r\n @Inject(CUSTOM_CHART_OPTIONS)\r\n @Optional()\r\n factories: ChartJsFactory[] | undefined\r\n ) {\r\n this.factoriesByType = new Map(\r\n factories?.map((f) => [f.chartType, f]) ?? []\r\n );\r\n }\r\n\r\n getFactory(chartType: string): ChartJsFactory {\r\n return (\r\n this.factoriesByType.get(chartType) ?? {\r\n chartType: chartType,\r\n chartJsType: chartType,\r\n transformData: transformDataToBasicDataSets,\r\n createOptions: () => {\r\n return {};\r\n },\r\n }\r\n );\r\n }\r\n}\r\n\r\nfunction generateRandomColor(): string {\r\n const random = Math.floor(Math.random() * 16777215).toString(16);\r\n return `#${\"000000\".substring(0, 6 - random.length) + random}`;\r\n}\r\n","// lib/view-context/utility/componentLibrary.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport enum ComponentLibrary {\r\n MATERIAL = 'material',\r\n PRIMENG = 'primeng',\r\n}\r\n\r\nexport const COMPONENT_LIBRARY = new InjectionToken<ComponentLibrary>('COMPONENT_LIBRARY');\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DefaultChartOptionsProvider } from \"./default-chart-options.provider\";\r\nimport {\r\n COMPONENT_LIBRARY,\r\n ComponentLibrary,\r\n} from \"../view-context/utility/componentLibrary\";\r\nimport { Chart } from \"chart.js\";\r\nimport { UIChart } from \"primeng/chart\";\r\nimport {\r\n DiagramDescriptor,\r\n DiagramShape,\r\n DiagramUiModel,\r\n} from \"./smart-chart2/api\";\r\nimport AnnotationPlugin from \"chartjs-plugin-annotation\";\r\nimport ZoomPlugin from \"chartjs-plugin-zoom\";\r\n\r\n@Component({\r\n selector: \"smart-chart\",\r\n templateUrl: \"./smart-chart.component.html\",\r\n styleUrls: [\"./smart-chart.component.css\"],\r\n})\r\nexport class SmartChartComponent {\r\n @ViewChild(\"chartJSRef\") chart?: UIChart;\r\n @Input() diagramUiModel!: DiagramUiModel;\r\n @Input() options?: any;\r\n @Input() plugins: any[] = [];\r\n\r\n @Output() dataSelect = new EventEmitter<any>();\r\n @Output() chartClick = new EventEmitter<any>();\r\n @Output() onDataClicked = new EventEmitter<any>(); //\r\n\r\n data: any;\r\n type: any;\r\n\r\n compLib: ComponentLibrary;\r\n componentLibrary = ComponentLibrary;\r\n\r\n constructor(\r\n private chartOptionProvider: DefaultChartOptionsProvider,\r\n @Inject(COMPONENT_LIBRARY) @Optional() compLib?: ComponentLibrary\r\n ) {\r\n this.compLib = compLib ?? ComponentLibrary.PRIMENG;\r\n Chart.register(AnnotationPlugin);\r\n Chart.register(ZoomPlugin);\r\n }\r\n\r\n ngOnInit() {\r\n let options = undefined;\r\n const diagramType = !!this.diagramUiModel.descriptor?.diagramType\r\n ? this.diagramUiModel.descriptor.diagramType\r\n : \"\";\r\n\r\n const factory = this.chartOptionProvider.getFactory(diagramType);\r\n this.type = factory.chartJsType;\r\n options = factory.createOptions(this.diagramUiModel.diagramData!);\r\n if (this.diagramUiModel.descriptor) {\r\n options = this.deepMerge(\r\n this.convertBackendOptions(this.diagramUiModel.descriptor),\r\n options\r\n );\r\n }\r\n if (this.options) {\r\n options = this.deepMerge(this.options, options);\r\n }\r\n\r\n this.options = options;\r\n this.data = factory.transformData(this.diagramUiModel.diagramData!);\r\n }\r\n\r\n private deepMerge(target: any, source: any): any {\r\n for (const key of Object.keys(source)) {\r\n if (source[key] instanceof Object && target[key]) {\r\n Object.assign(source[key], this.deepMerge(target[key], source[key]));\r\n }\r\n }\r\n Object.assign(target || {}, source);\r\n return target;\r\n }\r\n\r\n private convertBackendOptions(descriptor: DiagramDescriptor) {\r\n const options: any = {\r\n plugins: {\r\n legend: {\r\n display: descriptor.showLegendForChart ?? true,\r\n },\r\n },\r\n scales: {} as any,\r\n };\r\n if (\r\n descriptor.diagramMinX !== undefined &&\r\n descriptor.diagramMaxX !== undefined\r\n ) {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n min: descriptor.diagramMinX,\r\n max: descriptor.diagramMaxX,\r\n };\r\n } else {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n };\r\n }\r\n if (\r\n descriptor.diagramMinY !== undefined &&\r\n descriptor.diagramMaxY !== undefined\r\n ) {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n min: descriptor.diagramMinY,\r\n max: descriptor.diagramMaxY,\r\n };\r\n } else {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n };\r\n }\r\n\r\n //Create shapes\r\n if (descriptor.diagramShapes) {\r\n descriptor.diagramShapes.forEach((shape: DiagramShape, index: number) => {\r\n options.plugins.annotation = options.plugins.annotation || {};\r\n options.plugins.annotation.annotations =\r\n options.plugins.annotation.annotations || {};\r\n\r\n var borderColor = `rgba(\r\n ${shape.borderColor?.red ?? 0},\r\n ${shape.borderColor?.green ?? 0},\r\n ${shape.borderColor?.blue ?? 0},\r\n ${shape.borderColor?.alpha ?? 1})`;\r\n var backgroundColor = `rgba(\r\n ${shape.backgroundColor?.red ?? 0},\r\n ${shape.backgroundColor?.green ?? 0},\r\n ${shape.backgroundColor?.blue ?? 0},\r\n ${shape.backgroundColor?.alpha ?? 1})`;\r\n\r\n var fontColor = `rgba(\r\n ${shape.labelText?.color?.red ?? 0},\r\n ${shape.labelText?.color?.green ?? 0},\r\n ${shape.labelText?.color?.blue ?? 0},\r\n ${shape.labelText?.color?.alpha ?? 1})`;\r\n\r\n var borderDash;\r\n if (shape.borderDashLength && shape.borderDashGap) {\r\n borderDash = [shape.borderDashLength, shape.borderDashGap];\r\n } else {\r\n borderDash = undefined;\r\n }\r\n\r\n const baseAnnotation = {\r\n type: shape.shapeType ?? \"line\",\r\n backgroundColor: backgroundColor ?? undefined,\r\n borderColor: borderColor ?? undefined,\r\n borderWidth: shape.borderWidth ?? 1,\r\n borderDash: borderDash ?? undefined,\r\n drawTime: shape.drawTime ?? undefined,\r\n };\r\n\r\n switch (shape.shapeType) {\r\n case \"box\":\r\n case \"line\":\r\n case \"ellipse\":\r\n options.plugins.annotation.annotations[`shape${index}`] = {\r\n ...baseAnnotation,\r\n xMin: shape.xMin ?? undefined,\r\n xMax: shape.xMax ?? undefined,\r\n yMin: shape.yMin ?? undefined,\r\n yMax: shape.yMax ?? undefined,\r\n };\r\n break;\r\n\r\n case \"label\":\r\n options.plugins.annotation.annotations[`shape${index}`] = {\r\n ...baseAnnotation,\r\n xValue: shape.xMin ?? undefined,\r\n yValue: shape.yMin ?? undefined,\r\n content: shape.labelText?.content ?? undefined,\r\n textAlign: shape.labelText?.textAlign ?? undefined,\r\n color: fontColor ?? undefined,\r\n font: {\r\n size: shape.labelText?.size ?? undefined,\r\n weight: shape.labelText?.weight ?? undefined,\r\n style: shape.labelText?.style ?? undefined,\r\n },\r\n };\r\n break;\r\n\r\n case \"point\":\r\n case \"polygon\":\r\n options.plugins.annotation.annotations[`shape${index}`] = {\r\n ...baseAnnotation,\r\n xValue: shape.xMin ?? undefined,\r\n yValue: shape.yMin ?? undefined,\r\n };\r\n break;\r\n\r\n default:\r\n // Optionally handle any other shape types\r\n console.warn(`Unknown shape type: ${shape.shapeType}`);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (descriptor.backgroundColor) {\r\n var backgroundColor = `rgba(\r\n ${descriptor.backgroundColor?.red ?? 0},\r\n ${descriptor.backgroundColor?.green ?? 0},\r\n ${descriptor.backgroundColor?.blue ?? 0},\r\n ${descriptor.backgroundColor?.alpha ?? 1})`;\r\n\r\n var id = \"customCanvasBackgroundColor\";\r\n const plugin = {\r\n id: id,\r\n beforeDraw: (chart: any, args: any, options: any) => {\r\n const { ctx, chartArea } = chart;\r\n\r\n ctx.save();\r\n ctx.globalCompositeOperation = \"destination-over\";\r\n ctx.fillStyle = backgroundColor;\r\n ctx.fillRect(\r\n chartArea.left,\r\n chartArea.top,\r\n chartArea.right - chartArea.left,\r\n chartArea.bottom - chartArea.top\r\n );\r\n ctx.restore();\r\n },\r\n };\r\n this.plugins.push(plugin);\r\n\r\n options.plugins[`${id}`] = {\r\n color: backgroundColor,\r\n };\r\n }\r\n return options;\r\n }\r\n\r\n onDataSelect(event: any) {\r\n this.dataSelect.emit(event);\r\n }\r\n\r\n handleChartClick(event: any): void {\r\n this.chartClick.emit(event);\r\n }\r\n\r\n handleOnDataClicked(event: any): void {\r\n const canvas = event.target as HTMLCanvasElement;\r\n const chart = Chart.getChart(canvas);\r\n\r\n if (chart) {\r\n const elements = chart.getElementsAtEventForMode(\r\n event,\r\n \"nearest\",\r\n { intersect: true },\r\n false\r\n );\r\n if (elements.length === 0) {\r\n return;\r\n }\r\n const clickedItems = chart.tooltip?.dataPoints?.map((item) => {\r\n return {\r\n datasetIndex: item.datasetIndex,\r\n itemIndex: item.dataIndex,\r\n element: item.element,\r\n };\r\n });\r\n\r\n this.onDataClicked.emit({ event, clickedItems });\r\n }\r\n }\r\n\r\n getBase64Image() {\r\n return this.chart?.getBase64Image();\r\n }\r\n\r\n refresh() {\r\n return this.chart?.refresh();\r\n }\r\n\r\n getChart() {\r\n return this.chart?.chart;\r\n }\r\n}\r\n","@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { ChartModule } from \"primeng/chart\";\r\nimport {\r\n barChart,\r\n bubbleChart,\r\n CUSTOM_CHART_OPTIONS,\r\n DefaultChartOptionsProvider,\r\n doughnutChart,\r\n horizontalBarChart,\r\n multiAxisLineChart,\r\n pieChart,\r\n polarAreaChart,\r\n radarChart,\r\n scatterChart,\r\n stackedBarChart,\r\n} from \"./default-chart-options.provider\";\r\nimport { SmartChartComponent } from \"./smart-chart.component\";\r\n\r\nconst DEFAULT_PROVIDERS: Provider[] = [\r\n DefaultChartOptionsProvider,\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: barChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: scatterChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: bubbleChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: horizontalBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: stackedBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: multiAxisLineChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: polarAreaChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: radarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: doughnutChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: pieChart, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [SmartChartComponent],\r\n imports: [BrowserModule, ChartModule],\r\n exports: [SmartChartComponent],\r\n})\r\nexport class SmartChartModule {\r\n static forRoot(providers: Provider[]): ModuleWithProviders<SmartChartModule> {\r\n return {\r\n ngModule: SmartChartModule,\r\n providers: [...DEFAULT_PROVIDERS, ...providers],\r\n };\r\n }\r\n}\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartOrientation = 'Horizontal' | 'Vertical';\r\n\r\nexport const ChartOrientation = {\r\n Horizontal: 'Horizontal' as ChartOrientation,\r\n Vertical: 'Vertical' as ChartOrientation\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartType = 'BarChart' | 'GroupedBarChart' | 'StackedBarChart' | 'NormalizedBarChart' | 'PieChart' | 'AdvancedPieChart' | 'PieGrid';\r\n\r\nexport const ChartType = {\r\n BarChart: 'BarChart' as ChartType,\r\n GroupedBarChart: 'GroupedBarChart' as ChartType,\r\n StackedBarChart: 'StackedBarChart' as ChartType,\r\n NormalizedBarChart: 'NormalizedBarChart' as ChartType,\r\n PieChart: 'PieChart' as ChartType,\r\n AdvancedPieChart: 'AdvancedPieChart' as ChartType,\r\n PieGrid: 'PieGrid' as ChartType\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ChartValue { \r\n name: string;\r\n value?: object;\r\n series: Array<ChartValue>;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PieChartLegendPosition = 'right' | 'below';\r\n\r\nexport const PieChartLegendPosition = {\r\n Right: 'right' as PieChartLegendPosition,\r\n Below: 'below' as PieChartLegendPosition\r\n};\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramColor { \r\n red?: number;\r\n green?: number;\r\n blue?: number;\r\n alpha?: number;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * Contains an items data, based on the type of the diagram.\r\n */\r\nexport interface DiagramDataItem { \r\n uri?: string;\r\n label?: string;\r\n xValue?: number;\r\n yValue?: number;\r\n /**\r\n * This property specifies the radius of each bubble in a bubble chart. It is used to determine the size of the bubbles relative to their data values.\r\n */\r\n rValue?: number;\r\n itemColor?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramDataSetConstructionInstruction { \r\n xValuePath?: Array<string>;\r\n yValuePath?: Array<string>;\r\n rValuePath?: Array<string>;\r\n labelValuePath?: Array<string>;\r\n colorValuePath?: Array<string>;\r\n loadLatest?: boolean;\r\n dataSetLabel?: string;\r\n dataSetType?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DrawTime = 'beforeDraw' | 'beforeDatasetsDraw' | 'afterDatasetsDraw' | 'afterDraw';\r\n\r\nexport const DrawTime = {\r\n BeforeDraw: 'beforeDraw' as DrawTime,\r\n BeforeDatasetsDraw: 'beforeDatasetsDraw' as DrawTime,\r\n AfterDatasetsDraw: 'afterDatasetsDraw' as DrawTime,\r\n AfterDraw: 'afterDraw' as DrawTime\r\n};\r\n\r\n","/*\r\n * Public API Surface of smart-chart\r\n */\r\n\r\nexport * from \"./smart-chart/smart-chart.module\";\r\nexport * from \"./smart-chart/smart-chart.component\";\r\nexport * from \"./smart-chart/api/model/models\";\r\nexport * from \"./smart-chart/smart-chart2/api/model/models\";\r\nexport * from \"./smart-chart/default-chart-options.provider\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './smart-chart-projects';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -9,6 +9,7 @@ export declare class SmartChartComponent {
|
|
|
9
9
|
chart?: UIChart;
|
|
10
10
|
diagramUiModel: DiagramUiModel;
|
|
11
11
|
options?: any;
|
|
12
|
+
plugins: any[];
|
|
12
13
|
dataSelect: EventEmitter<any>;
|
|
13
14
|
chartClick: EventEmitter<any>;
|
|
14
15
|
onDataClicked: EventEmitter<any>;
|
|
@@ -27,5 +28,5 @@ export declare class SmartChartComponent {
|
|
|
27
28
|
refresh(): void | undefined;
|
|
28
29
|
getChart(): any;
|
|
29
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<SmartChartComponent, [null, { optional: true; }]>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SmartChartComponent, "smart-chart", never, { "diagramUiModel": { "alias": "diagramUiModel"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "dataSelect": "dataSelect"; "chartClick": "chartClick"; "onDataClicked": "onDataClicked"; }, never, never, false, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SmartChartComponent, "smart-chart", never, { "diagramUiModel": { "alias": "diagramUiModel"; "required": false; }; "options": { "alias": "options"; "required": false; }; "plugins": { "alias": "plugins"; "required": false; }; }, { "dataSelect": "dataSelect"; "chartClick": "chartClick"; "onDataClicked": "onDataClicked"; }, never, never, false, never>;
|
|
31
32
|
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* https://openapi-generator.tech
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
|
+
import { DiagramColor } from './diagramColor';
|
|
12
13
|
import { DiagramShape } from './diagramShape';
|
|
13
14
|
/**
|
|
14
15
|
* A descriptor for the diagram.
|
|
@@ -47,5 +48,6 @@ export interface DiagramDescriptor {
|
|
|
47
48
|
* Determines whether the legend for the chart is displayed. Set to `true` to show the legend, or `false` to hide it.
|
|
48
49
|
*/
|
|
49
50
|
showLegendForChart?: boolean;
|
|
51
|
+
backgroundColor?: DiagramColor;
|
|
50
52
|
diagramShapes?: Array<DiagramShape>;
|
|
51
53
|
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { DiagramColor } from './diagramColor';
|
|
13
13
|
import { DrawTime } from './drawTime';
|
|
14
|
+
import { LabelText } from './labelText';
|
|
14
15
|
export interface DiagramShape {
|
|
15
16
|
shapeType: string;
|
|
16
17
|
xMin?: number;
|
|
@@ -23,6 +24,7 @@ export interface DiagramShape {
|
|
|
23
24
|
borderDashLength?: number;
|
|
24
25
|
borderDashGap?: number;
|
|
25
26
|
drawTime?: DrawTime;
|
|
27
|
+
labelText?: LabelText;
|
|
26
28
|
}
|
|
27
29
|
export declare namespace DiagramShape {
|
|
28
30
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* smartchart API
|
|
3
|
+
* Describes a model for smart chart.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import { DiagramColor } from './diagramColor';
|
|
13
|
+
export interface LabelText {
|
|
14
|
+
content?: string;
|
|
15
|
+
color?: DiagramColor;
|
|
16
|
+
textAlign?: string;
|
|
17
|
+
size?: number;
|
|
18
|
+
weight?: string;
|
|
19
|
+
style?: string;
|
|
20
|
+
family?: string;
|
|
21
|
+
}
|
|
Binary file
|