@kiwibit/chart 1.0.0 → 1.0.3

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/README.md CHANGED
@@ -33,14 +33,14 @@ npm install @kiwibit/chart
33
33
 
34
34
  # API
35
35
 
36
- | Input | Type | Default | Description |
37
- | -------- | ------ | ------- | -------------------------------- |
38
- | [chart] | Chart | | The chart object |
39
- | [width] | string | 100% | The width of the canvas element |
40
- | [height] | string | 480px | The height of the canvas element |
36
+ | Name | Type | Default | Description |
37
+ | ---------------------- | --------- | ------- | --------------------------------------------------------------------------------- |
38
+ | **@Input** [chart] | Chart | | The chart object |
39
+ | **@Input** [width] | string | 100% | The width of the canvas element |
40
+ | **@Input** [height] | string | 480px | The height of the canvas element |
41
+ | **@Output** (addPoint) | BasePoint | | Emits an object containing the coordinate of the point selected in the chart area |
41
42
 
42
- | Output | Type | Description |
43
- | ---------- | --------- | --------------------------------------------------------------------------------- |
44
- | (addPoint) | BasePoint | Emits an object containing the coordinate of the point selected in the chart area |
45
43
 
46
- **documentation still in progress...**
44
+ # Other
45
+
46
+ **The Documentation is still in progress...**
@@ -1,6 +1,6 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ADD_POINT_IMG_OFF, ADD_POINT_IMG_ON } from './constants/chart.constants';
3
- import { ShapeVariant, TraceType } from './models/chart.models';
3
+ import { ShapeVariant } from './models/chart.models';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "ngx-echarts";
6
6
  import * as i2 from "@angular/common";
@@ -10,6 +10,9 @@ export class KiwiChartComponent {
10
10
  this.width = '100%';
11
11
  this.height = '480px';
12
12
  this.addPoint = new EventEmitter();
13
+ this.updateOption = {};
14
+ this.echartsInstance = null;
15
+ this.zr = null;
13
16
  this.chartOption = {
14
17
  title: {
15
18
  text: "Chart",
@@ -32,7 +35,7 @@ export class KiwiChartComponent {
32
35
  borderType: 'dashed'
33
36
  },
34
37
  },
35
- saveAsImage: {},
38
+ saveAsImage: {}
36
39
  },
37
40
  left: 'center'
38
41
  },
@@ -55,19 +58,26 @@ export class KiwiChartComponent {
55
58
  name: "X",
56
59
  nameLocation: 'middle',
57
60
  nameGap: 30,
61
+ splitLine: {
62
+ lineStyle: {
63
+ color: '#ccc'
64
+ }
65
+ }
58
66
  },
59
67
  yAxis: {
60
68
  type: "value",
61
69
  name: "Y",
62
70
  nameLocation: 'middle',
63
71
  nameGap: 50,
72
+ splitLine: {
73
+ lineStyle: {
74
+ color: '#ccc'
75
+ }
76
+ }
64
77
  },
65
78
  series: [],
66
79
  animation: false
67
80
  };
68
- this.updateOption = {};
69
- this.echartsInstance = null;
70
- this.zr = null;
71
81
  }
72
82
  onChartInit(ec) {
73
83
  this.echartsInstance = ec;
@@ -87,15 +97,6 @@ export class KiwiChartComponent {
87
97
  y: +pointInGrid[1].toFixed(3)
88
98
  };
89
99
  this.addPoint.emit(newPoint);
90
- ec.setOption({
91
- series: this.createSeries([...this.chart.shapes, {
92
- color: 'crimson',
93
- points: [newPoint],
94
- type: TraceType.SCATTER,
95
- variant: ShapeVariant.TRACE,
96
- smooth: false
97
- }])
98
- });
99
100
  }
100
101
  }
101
102
  });
@@ -118,8 +119,8 @@ export class KiwiChartComponent {
118
119
  toolbox: {
119
120
  feature: {
120
121
  myAddPoint: {
121
- show: chart.clickToAddPoint,
122
- title: 'Add Point',
122
+ show: chart.clickToAddPoint ?? false,
123
+ title: chart.addPointCustomName ?? 'Add Point',
123
124
  icon: ADD_POINT_IMG_OFF,
124
125
  iconStatus: false,
125
126
  onclick: () => {
@@ -139,11 +140,16 @@ export class KiwiChartComponent {
139
140
  }
140
141
  },
141
142
  },
143
+ dataZoom: [
144
+ { disabled: !chart.scrollToZoom ?? true },
145
+ { disabled: !chart.scrollToZoom ?? true },
146
+ ],
142
147
  legend: {
143
148
  data: chart.shapes.map((shape) => ({
144
149
  name: shape.name,
145
150
  icon: 'circle'
146
151
  })),
152
+ selected: chart.shapes.reduce((accumulator, shape) => ({ ...accumulator, [shape.name]: shape.selectedByDefault ?? true }), {}),
147
153
  show: chart.showLegend ?? false,
148
154
  orient: 'vertical',
149
155
  left: 'right',
@@ -157,11 +163,17 @@ export class KiwiChartComponent {
157
163
  },
158
164
  xAxis: {
159
165
  type: chart.xAxisType,
160
- name: chart.xAxisName,
166
+ name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,
167
+ splitLine: {
168
+ show: chart.showGrid ?? true
169
+ }
161
170
  },
162
171
  yAxis: {
163
172
  type: chart.yAxisType,
164
- name: chart.yAxisName,
173
+ name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,
174
+ splitLine: {
175
+ show: chart.showGrid ?? true
176
+ }
165
177
  },
166
178
  series: this.createSeries(chart.shapes),
167
179
  animation: chart.hasAnimations,
@@ -187,9 +199,12 @@ export class KiwiChartComponent {
187
199
  name: trace.name,
188
200
  data: trace.points.map((point) => ({
189
201
  value: [point.x, point.y],
190
- symbol: point.symbol,
202
+ symbol: point.symbol ?? 'circle',
191
203
  name: point.name,
192
- symbolSize: point.symbolSize,
204
+ symbolSize: point.symbolSize ?? 2,
205
+ emphasis: {
206
+ disabled: true
207
+ },
193
208
  label: {
194
209
  show: true,
195
210
  position: 'bottom',
@@ -206,10 +221,9 @@ export class KiwiChartComponent {
206
221
  },
207
222
  tooltip: {
208
223
  formatter: ({ value }) => `
209
- ${point.name ? `<strong>${point.name}</strong><br>` : ''}
210
- <strong>${this.chart?.xAxisName}:</strong> ${value[0]}
224
+ <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, "")}
211
225
  <br>
212
- <strong>${this.chart?.yAxisName}:</strong> ${value[1]}
226
+ <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, "")}
213
227
  `
214
228
  }
215
229
  })),
@@ -263,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
263
277
  }], addPoint: [{
264
278
  type: Output
265
279
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQWdCLFlBQVksRUFBZ0IsU0FBUyxFQUFhLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFtQnZHLE1BQU0sT0FBTyxrQkFBa0I7SUFzRTdCO1FBcEVTLFVBQUssR0FBaUIsSUFBSSxDQUFDO1FBQzNCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUV4QixhQUFRLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7UUFFNUUsZ0JBQVcsR0FBa0I7WUFDM0IsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxPQUFPO29CQUNiLFVBQVUsRUFBRTt3QkFDVixLQUFLLEVBQUUsU0FBUztxQkFDakI7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRTt3QkFDUixVQUFVLEVBQUU7NEJBQ1YsV0FBVyxFQUFFLE1BQU07NEJBQ25CLFdBQVcsRUFBRSxDQUFDOzRCQUNkLFVBQVUsRUFBRSxRQUFRO3lCQUNyQjtxQkFDRjtvQkFDRCxXQUFXLEVBQUUsRUFBRTtpQkFDaEI7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNELFFBQVEsRUFBRTtnQkFDUjtvQkFD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cHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tU2VyaWVzT3B0aW9uLCBFQ2hhcnRzLCBFQ2hhcnRzT3B0aW9uLCBMaW5lU2VyaWVzT3B0aW9uLCBTY2F0dGVyU2VyaWVzT3B0aW9uLCB6cmVuZGVyIH0gZnJvbSAnZWNoYXJ0cyc7XG5pbXBvcnQgeyBBRERfUE9JTlRfSU1HX09GRiwgQUREX1BPSU5UX0lNR19PTiB9IGZyb20gJy4vY29uc3RhbnRzL2NoYXJ0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBDaGFydCwgU2hhcGUsIFNoYXBlVmFyaWFudCwgVHJhY2UsIFBvaW50LCBUcmFjZVR5cGUsIEJhc2VQb2ludCB9IGZyb20gJy4vbW9kZWxzL2NoYXJ0Lm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpd2ktY2hhcnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgXG4gICAgICBlY2hhcnRzIFxuICAgICAgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25cIiBcbiAgICAgIFttZXJnZV09XCJ1cGRhdGVPcHRpb25cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAnd2lkdGgnOiB3aWR0aCxcbiAgICAgICAgJ2hlaWdodCc6IGhlaWdodFxuICAgICAgfVwiXG4gICAgICAoY2hhcnRJbml0KT1cIm9uQ2hhcnRJbml0KCRldmVudClcIlxuICAgID48L2Rpdj4gXG4gIGAsXG4gIHN0eWxlczogW2BcbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgS2l3aUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBjaGFydDogQ2hhcnQgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNDgwcHgnO1xuXG4gIEBPdXRwdXQoKSBhZGRQb2ludDogRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4oKTtcblxuICBjaGFydE9wdGlvbjogRUNoYXJ0c09wdGlvbiA9IHtcbiAgICB0aXRsZToge1xuICAgICAgdGV4dDogXCJDaGFydFwiLFxuICAgIH0sXG4gICAgdG9vbHRpcDoge1xuICAgICAgYXhpc1BvaW50ZXI6IHtcbiAgICAgICAgdHlwZTogJ2Nyb3NzJyxcbiAgICAgICAgY3Jvc3NTdHlsZToge1xuICAgICAgICAgIGNvbG9yOiAnI2JlYmViZSdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgdG9vbGJveDoge1xuICAgICAgb3JpZW50OiAnaG9yaXpvbnRhbCcsXG4gICAgICBmZWF0dXJlOiB7XG4gICAgICAgIGRhdGFab29tOiB7XG4gICAgICAgICAgYnJ1c2hTdHlsZToge1xuICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjMDAwJyxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgICAgYm9yZGVyVHlwZTogJ2Rhc2hlZCdcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzYXZlQXNJbWFnZToge30sXG4gICAgICB9LFxuICAgICAgbGVmdDogJ2NlbnRlcidcbiAgICB9LFxuICAgIGRhdGFab29tOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdpbnNpZGUnLFxuICAgICAgICB4QXhpc0luZGV4OiBbMF0sXG4gICAgICAgIHRocm90dGxlOiAwLFxuICAgICAgICBmaWx0ZXJNb2RlOiAnbm9uZSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdpbnNpZGUnLFxuICAgICAgICB5QXhpc0luZGV4OiBbMF0sXG4gICAgICAgIHRocm90dGxlOiAwLFxuICAgICAgICBmaWx0ZXJNb2RlOiAnbm9uZSdcbiAgICAgIH1cbiAgICBdLFxuICAgIHhBeGlzOiB7XG4gICAgICB0eXBlOiBcInZhbHVlXCIsXG4gICAgICBuYW1lOiBcIlhcIixcbiAgICAgIG5hbWVMb2NhdGlvbjogJ21pZGRsZScsXG4gICAgICBuYW1lR2FwOiAzMCxcbiAgICB9LFxuICAgIHlBeGlzOiB7XG4gICAgICB0eXBlOiBcInZhbHVlXCIsXG4gICAgICBuYW1lOiBcIllcIixcbiAgICAgIG5hbWVMb2NhdGlvbjogJ21pZGRsZScsXG4gICAgICBuYW1lR2FwOiA1MCxcbiAgICB9LFxuICAgIHNlcmllczogW10sXG4gICAgYW5pbWF0aW9uOiBmYWxzZVxuICB9O1xuXG4gIHVwZGF0ZU9wdGlvbjogRUNoYXJ0c09wdGlvbiA9IHt9O1xuXG4gIGVjaGFydHNJbnN0YW5jZTogRUNoYXJ0cyB8IG51bGwgPSBudWxsO1xuXG4gIHpyOiB6cmVuZGVyLlpSZW5kZXJUeXBlIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYXJ0SW5pdChlYzogRUNoYXJ0cykge1xuICAgIHRoaXMuZWNoYXJ0c0luc3RhbmNlID0gZWM7XG4gICAgdGhpcy5zZXR1cFpyRXZlbnRIYW5kbGVyKGVjKTtcbiAgfVxuXG4gIHNldHVwWnJFdmVudEhhbmRsZXIoZWM6IEVDaGFydHMpIHtcbiAgICB0aGlzLnpyID0gZWMuZ2V0WnIoKTtcbiAgICB0aGlzLnpyLm9uKCdjbGljaycsIHBhcmFtcyA9PiB7XG4gICAgICBsZXQgb3B0aW9uOiBhbnkgPSBlYy5nZXRPcHRpb24oKTtcbiAgICAgIGxldCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcbiAgICAgIGlmIChhY3RpdmUgJiYgdGhpcy5jaGFydD8uY2xpY2tUb0FkZFBvaW50KSB7XG4gICAgICAgIGNvbnN0IHBvaW50SW5QaXhlbCA9IFtwYXJhbXMub2Zmc2V0WCwgcGFyYW1zLm9mZnNldFldO1xuICAgICAgICBjb25zdCBwb2ludEluR3JpZCA9IGVjLmNvbnZlcnRGcm9tUGl4ZWwoJ2dyaWQnLCBwb2ludEluUGl4ZWwpO1xuICAgICAgICBpZiAoZWMuY29udGFpblBpeGVsKCdncmlkJywgcG9pbnRJblBpeGVsKSAmJiBwb2ludEluR3JpZCkge1xuICAgICAgICAgIGxldCBuZXdQb2ludDogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9ID0ge1xuICAgICAgICAgICAgeDogK3BvaW50SW5HcmlkWzBdLnRvRml4ZWQoMyksXG4gICAgICAgICAgICB5OiArcG9pbnRJbkdyaWRbMV0udG9GaXhlZCgzKVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5hZGRQb2ludC5lbWl0KG5ld1BvaW50KTtcbiAgICAgICAgICBlYy5zZXRPcHRpb24oe1xuICAgICAgICAgICAgc2VyaWVzOiB0aGlzLmNyZWF0ZVNlcmllcyhbLi4udGhpcy5jaGFydC5zaGFwZXMsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICdjcmltc29uJyxcbiAgICAgICAgICAgICAgcG9pbnRzOiBbbmV3UG9pbnRdLFxuICAgICAgICAgICAgICB0eXBlOiBUcmFjZVR5cGUuU0NBVFRFUixcbiAgICAgICAgICAgICAgdmFyaWFudDogU2hhcGVWYXJpYW50LlRSQUNFLFxuICAgICAgICAgICAgICBzbW9vdGg6IGZhbHNlXG4gICAgICAgICAgICB9XSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuenIub24oJ21vdXNlbW92ZScsIHBhcmFtcyA9PiB7XG4gICAgICBjb25zdCBwb2ludEluUGl4ZWwgPSBbcGFyYW1zLm9mZnNldFgsIHBhcmFtcy5vZmZzZXRZXTtcbiAgICAgIGNvbnN0IG9wdGlvbjogYW55ID0gZWMuZ2V0T3B0aW9uKCk7XG4gICAgICBjb25zdCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcbiAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgdGhpcy56cj8uc2V0Q3Vyc29yU3R5bGUoXG4gICAgICAgICAgZWMuY29udGFpblBpeGVsKCdncmlkJywgcG9pbnRJblBpeGVsKSA/ICdjb3B5JyA6ICdkZWZhdWx0J1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGxldCBjaGFydDogQ2hhcnQgPSBjaGFuZ2VzWydjaGFydCddPy5jdXJyZW50VmFsdWU7XG4gICAgaWYgKGNoYXJ0KSB7XG4gICAgICB0aGlzLnVwZGF0ZU9wdGlvbiA9IHtcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICB0ZXh0OiBjaGFydC50aXRsZSxcbiAgICAgICAgfSxcbiAgICAgICAgdG9vbGJveDoge1xuICAgICAgICAgIGZlYXR1cmU6IHtcbiAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcbiAgICAgICAgICAgICAgc2hvdzogY2hhcnQuY2xpY2tUb0FkZFBvaW50LFxuICAgICAgICAgICAgICB0aXRsZTogJ0FkZCBQb2ludCcsXG4gICAgICAgICAgICAgIGljb246IEFERF9QT0lOVF9JTUdfT0ZGLFxuICAgICAgICAgICAgICBpY29uU3RhdHVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgb25jbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb246IGFueSA9IHRoaXMuZWNoYXJ0c0luc3RhbmNlPy5nZXRPcHRpb24oKTtcbiAgICAgICAgICAgICAgICBsZXQgc3RhdHVzID0gb3B0aW9uLnRvb2xib3hbMF0uZmVhdHVyZS5teUFkZFBvaW50Lmljb25TdGF0dXM7XG4gICAgICAgICAgICAgICAgdGhpcy5lY2hhcnRzSW5zdGFuY2U/LnNldE9wdGlvbih7XG4gICAgICAgICAgICAgICAgICB0b29sYm94OiB7XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICBteUFkZFBvaW50OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhdHVzOiAhc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogIXN0YXR1cyA/IEFERF9QT0lOVF9JTUdfT04gOiBBRERfUE9JTlRfSU1HX09GRlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkYXRhOiBjaGFydC5zaGFwZXMubWFwKFxuICAgICAgICAgICAgKHNoYXBlOiBTaGFwZSkgPT4gKHtcbiAgICAgICAgICAgICAgbmFtZTogc2hhcGUubmFtZSxcbiAgICAgICAgICAgICAgaWNvbjogJ2NpcmNsZSdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBzaG93OiBjaGFydC5zaG93TGVnZW5kID8/IGZhbHNlLFxuICAgICAgICAgIG9yaWVudDogJ3ZlcnRpY2FsJyxcbiAgICAgICAgICBsZWZ0OiAncmlnaHQnLFxuICAgICAgICAgIHBhZGRpbmc6IFs2MCwgMjBdLFxuICAgICAgICAgIHR5cGU6ICdzY3JvbGwnLFxuICAgICAgICAgIHRleHRTdHlsZToge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnYnJlYWsnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB4QXhpczoge1xuICAgICAgICAgIHR5cGU6IGNoYXJ0LnhBeGlzVHlwZSxcbiAgICAgICAgICBuYW1lOiBjaGFydC54QXhpc05hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHlBeGlzOiB7XG4gICAgICAgICAgdHlwZTogY2hhcnQueUF4aXNUeXBlLFxuICAgICAgICAgIG5hbWU6IGNoYXJ0LnlBeGlzTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmNyZWF0ZVNlcmllcyhjaGFydC5zaGFwZXMpLFxuICAgICAgICBhbmltYXRpb246IGNoYXJ0Lmhhc0FuaW1hdGlvbnMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVNlcmllcyhzaGFwZXM6IFNoYXBlW10pOiBBcnJheTxMaW5lU2VyaWVzT3B0aW9uIHwgQ3VzdG9tU2VyaWVzT3B0aW9uIHwgU2NhdHRlclNlcmllc09wdGlvbj4ge1xuICAgIGxldCBzZXJpZXM6IEFycmF5PExpbmVTZXJpZXNPcHRpb24gfCBDdXN0b21TZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uPiA9IFtdO1xuICAgIHNoYXBlcy5mb3JFYWNoKFxuICAgICAgKHNoYXBlOiBTaGFwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHNoYXBlLnZhcmlhbnQpIHtcbiAgICAgICAgICBjYXNlIFNoYXBlVmFyaWFudC5UUkFDRTpcbiAgICAgICAgICAgIHNlcmllcy5wdXNoKHRoaXMuY3JlYXRlVHJhY2Uoc2hhcGUgYXMgVHJhY2UpKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VyaWVzO1xuICB9XG5cbiAgY3JlYXRlVHJhY2UodHJhY2U6IFRyYWNlKTogTGluZVNlcmllc09wdGlvbiB8IFNjYXR0ZXJTZXJpZXNPcHRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0cmFjZS50eXBlLFxuICAgICAgbmFtZTogdHJhY2UubmFtZSxcbiAgICAgIGRhdGE6IHRyYWNlLnBvaW50cy5tYXAoXG4gICAgICAgIChwb2ludDogUG9pbnQpID0+ICh7XG4gICAgICAgICAgdmFsdWU6IFtwb2ludC54LCBwb2ludC55XSxcbiAgICAgICAgICBzeW1ib2w6IHBvaW50LnN5bWJvbCxcbiAgICAgICAgICBuYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICAgIHN5bWJvbFNpemU6IHBvaW50LnN5bWJvbFNpemUsXG4gICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ2JvdHRvbScsXG4gICAgICAgICAgICBmb3JtYXR0ZXI6ICgpID0+IGAke3BvaW50Lm5hbWUgPz8gJyd9YCxcbiAgICAgICAgICAgIGNvbG9yOiAnIzAwMCcsXG4gICAgICAgICAgICBmb250U2l6ZTogMTMsXG4gICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgMCwgMTBdLFxuICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG92ZXJmbG93OiAndHJ1bmNhdGUnLFxuICAgICAgICAgICAgZWxsaXBzaXM6ICcuLi4nLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICBmb3JtYXR0ZXI6ICh7IHZhbHVlIH06IHsgdmFsdWU6IG51bWJlcltdIH0pID0+IGBcbiAgICAgICAgICAgICAgJHtwb2ludC5uYW1lID8gYDxzdHJvbmc+JHtwb2ludC5uYW1lfTwvc3Ryb25nPjxicj5gIDogJyd9XG4gICAgICAgICAgICAgIDxzdHJvbmc+JHt0aGlzLmNoYXJ0Py54QXhpc05hbWV9Ojwvc3Ryb25nPiAke3ZhbHVlWzBdfVxuICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgIDxzdHJvbmc+JHt0aGlzLmNoYXJ0Py55QXhpc05hbWV9Ojwvc3Ryb25nPiAke3ZhbHVlWzFdfVxuICAgICAgICAgICAgYFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBjb2xvcjogdHJhY2UuY29sb3IsXG4gICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgd2lkdGg6IHRyYWNlLndpZHRoLFxuICAgICAgICB0eXBlOiB0cmFjZS5zdHlsZVxuICAgICAgfSxcbiAgICAgIHNtb290aDogdHJhY2Uuc21vb3RoID8/IGZhbHNlXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQWdCLFlBQVksRUFBMkIsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQW1CNUYsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0I7UUFoQlMsVUFBSyxHQUFpQixJQUFJLENBQUM7UUFFM0IsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUV2QixXQUFNLEdBQVcsT0FBTyxDQUFDO1FBRXhCLGFBQVEsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUk1RSxpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFFakMsb0JBQWUsR0FBbUIsSUFBSSxDQUFDO1FBRXZDLE9BQUUsR0FBK0IsSUFBSSxDQUFDO1FBR3BDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxPQUFPO29CQUNiLFVBQVUsRUFBRTt3QkFDVixLQUFLLEVBQUUsU0FBUztxQkFDakI7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRTt3QkFDUixVQUFVLEVBQUU7NEJBQ1YsV0FBVyxFQUFFLE1BQU07NEJBQ25CLFdBQVcsRUFBRSxDQUFDOzRCQUNkLFVBQVUsRUFBRSxRQUFRO3lCQUNyQjtxQkFD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QUssRUFBRSxTQUFTLGNBQWMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQzthQUN6RjtpQkFDRjthQUNGLENBQUMsQ0FDSDtZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixTQUFTLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUs7YUFDbEI7WUFDRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLO1NBQzlCLENBQUM7SUFDSixDQUFDOzsrR0E3UFUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0tBZm5COzs7Ozs7Ozs7OztHQVdUOzJGQUlVLGtCQUFrQjtrQkFqQjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtvQkFDRCxNQUFNLEVBQUUsQ0FBQztHQUNSLENBQUM7aUJBQ0g7MEVBR1UsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1c3RvbVNlcmllc09wdGlvbiwgRUNoYXJ0cywgRUNoYXJ0c09wdGlvbiwgTGluZVNlcmllc09wdGlvbiwgU2NhdHRlclNlcmllc09wdGlvbiwgenJlbmRlciB9IGZyb20gJ2VjaGFydHMnO1xuaW1wb3J0IHsgQUREX1BPSU5UX0lNR19PRkYsIEFERF9QT0lOVF9JTUdfT04gfSBmcm9tICcuL2NvbnN0YW50cy9jaGFydC5jb25zdGFudHMnO1xuaW1wb3J0IHsgQ2hhcnQsIFNoYXBlLCBTaGFwZVZhcmlhbnQsIFRyYWNlLCBQb2ludCwgQmFzZVBvaW50IH0gZnJvbSAnLi9tb2RlbHMvY2hhcnQubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2l3aS1jaGFydCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBcbiAgICAgIGVjaGFydHMgXG4gICAgICBbb3B0aW9uc109XCJjaGFydE9wdGlvblwiIFxuICAgICAgW21lcmdlXT1cInVwZGF0ZU9wdGlvblwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICd3aWR0aCc6IHdpZHRoLFxuICAgICAgICAnaGVpZ2h0JzogaGVpZ2h0XG4gICAgICB9XCJcbiAgICAgIChjaGFydEluaXQpPVwib25DaGFydEluaXQoJGV2ZW50KVwiXG4gICAgPjwvZGl2PiBcbiAgYCxcbiAgc3R5bGVzOiBbYFxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBLaXdpQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGNoYXJ0OiBDaGFydCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNDgwcHgnO1xuXG4gIEBPdXRwdXQoKSBhZGRQb2ludDogRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4oKTtcblxuICBjaGFydE9wdGlvbjogRUNoYXJ0c09wdGlvbjtcblxuICB1cGRhdGVPcHRpb246IEVDaGFydHNPcHRpb24gPSB7fTtcblxuICBlY2hhcnRzSW5zdGFuY2U6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcblxuICB6cjogenJlbmRlci5aUmVuZGVyVHlwZSB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2hhcnRPcHRpb24gPSB7XG4gICAgICB0aXRsZToge1xuICAgICAgICB0ZXh0OiBcIkNoYXJ0XCIsXG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBheGlzUG9pbnRlcjoge1xuICAgICAgICAgIHR5cGU6ICdjcm9zcycsXG4gICAgICAgICAgY3Jvc3NTdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICcjYmViZWJlJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRvb2xib3g6IHtcbiAgICAgICAgb3JpZW50OiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIGZlYXR1cmU6IHtcbiAgICAgICAgICBkYXRhWm9vbToge1xuICAgICAgICAgICAgYnJ1c2hTdHlsZToge1xuICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMDAnLFxuICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgICAgICAgYm9yZGVyVHlwZTogJ2Rhc2hlZCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzYXZlQXNJbWFnZToge31cbiAgICAgICAgfSxcbiAgICAgICAgbGVmdDogJ2NlbnRlcidcbiAgICAgIH0sXG4gICAgICBkYXRhWm9vbTogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2luc2lkZScsXG4gICAgICAgICAgeEF4aXNJbmRleDogWzBdLFxuICAgICAgICAgIHRocm90dGxlOiAwLFxuICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2luc2lkZScsXG4gICAgICAgICAgeUF4aXNJbmRleDogWzBdLFxuICAgICAgICAgIHRocm90dGxlOiAwLFxuICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJ1xuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgeEF4aXM6IHtcbiAgICAgICAgdHlwZTogXCJ2YWx1ZVwiLFxuICAgICAgICBuYW1lOiBcIlhcIixcbiAgICAgICAgbmFtZUxvY2F0aW9uOiAnbWlkZGxlJyxcbiAgICAgICAgbmFtZUdhcDogMzAsXG4gICAgICAgIHNwbGl0TGluZToge1xuICAgICAgICAgIGxpbmVTdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICcjY2NjJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHlBeGlzOiB7XG4gICAgICAgIHR5cGU6IFwidmFsdWVcIixcbiAgICAgICAgbmFtZTogXCJZXCIsXG4gICAgICAgIG5hbWVMb2NhdGlvbjogJ21pZGRsZScsXG4gICAgICAgIG5hbWVHYXA6IDUwLFxuICAgICAgICBzcGxpdExpbmU6IHtcbiAgICAgICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2NjYydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZXJpZXM6IFtdLFxuICAgICAgYW5pbWF0aW9uOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBvbkNoYXJ0SW5pdChlYzogRUNoYXJ0cykge1xuICAgIHRoaXMuZWNoYXJ0c0luc3RhbmNlID0gZWM7XG4gICAgdGhpcy5zZXR1cFpyRXZlbnRIYW5kbGVyKGVjKTtcbiAgfVxuXG4gIHNldHVwWnJFdmVudEhhbmRsZXIoZWM6IEVDaGFydHMpIHtcbiAgICB0aGlzLnpyID0gZWMuZ2V0WnIoKTtcbiAgICB0aGlzLnpyLm9uKCdjbGljaycsIHBhcmFtcyA9PiB7XG4gICAgICBsZXQgb3B0aW9uOiBhbnkgPSBlYy5nZXRPcHRpb24oKTtcbiAgICAgIGxldCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcbiAgICAgIGlmIChhY3RpdmUgJiYgdGhpcy5jaGFydD8uY2xpY2tUb0FkZFBvaW50KSB7XG4gICAgICAgIGNvbnN0IHBvaW50SW5QaXhlbCA9IFtwYXJhbXMub2Zmc2V0WCwgcGFyYW1zLm9mZnNldFldO1xuICAgICAgICBjb25zdCBwb2ludEluR3JpZCA9IGVjLmNvbnZlcnRGcm9tUGl4ZWwoJ2dyaWQnLCBwb2ludEluUGl4ZWwpO1xuICAgICAgICBpZiAoZWMuY29udGFpblBpeGVsKCdncmlkJywgcG9pbnRJblBpeGVsKSAmJiBwb2ludEluR3JpZCkge1xuICAgICAgICAgIGxldCBuZXdQb2ludDogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9ID0ge1xuICAgICAgICAgICAgeDogK3BvaW50SW5HcmlkWzBdLnRvRml4ZWQoMyksXG4gICAgICAgICAgICB5OiArcG9pbnRJbkdyaWRbMV0udG9GaXhlZCgzKVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5hZGRQb2ludC5lbWl0KG5ld1BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuenIub24oJ21vdXNlbW92ZScsIHBhcmFtcyA9PiB7XG4gICAgICBjb25zdCBwb2ludEluUGl4ZWwgPSBbcGFyYW1zLm9mZnNldFgsIHBhcmFtcy5vZmZzZXRZXTtcbiAgICAgIGNvbnN0IG9wdGlvbjogYW55ID0gZWMuZ2V0T3B0aW9uKCk7XG4gICAgICBjb25zdCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcbiAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgdGhpcy56cj8uc2V0Q3Vyc29yU3R5bGUoXG4gICAgICAgICAgZWMuY29udGFpblBpeGVsKCdncmlkJywgcG9pbnRJblBpeGVsKSA/ICdjb3B5JyA6ICdkZWZhdWx0J1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGxldCBjaGFydDogQ2hhcnQgPSBjaGFuZ2VzWydjaGFydCddPy5jdXJyZW50VmFsdWU7XG4gICAgaWYgKGNoYXJ0KSB7XG4gICAgICB0aGlzLnVwZGF0ZU9wdGlvbiA9IHtcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICB0ZXh0OiBjaGFydC50aXRsZSxcbiAgICAgICAgfSxcbiAgICAgICAgdG9vbGJveDoge1xuICAgICAgICAgIGZlYXR1cmU6IHtcbiAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcbiAgICAgICAgICAgICAgc2hvdzogY2hhcnQuY2xpY2tUb0FkZFBvaW50ID8/IGZhbHNlLFxuICAgICAgICAgICAgICB0aXRsZTogY2hhcnQuYWRkUG9pbnRDdXN0b21OYW1lID8/ICdBZGQgUG9pbnQnLFxuICAgICAgICAgICAgICBpY29uOiBBRERfUE9JTlRfSU1HX09GRixcbiAgICAgICAgICAgICAgaWNvblN0YXR1czogZmFsc2UsXG4gICAgICAgICAgICAgIG9uY2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uOiBhbnkgPSB0aGlzLmVjaGFydHNJbnN0YW5jZT8uZ2V0T3B0aW9uKCk7XG4gICAgICAgICAgICAgICAgbGV0IHN0YXR1cyA9IG9wdGlvbi50b29sYm94WzBdLmZlYXR1cmUubXlBZGRQb2ludC5pY29uU3RhdHVzO1xuICAgICAgICAgICAgICAgIHRoaXMuZWNoYXJ0c0luc3RhbmNlPy5zZXRPcHRpb24oe1xuICAgICAgICAgICAgICAgICAgdG9vbGJveDoge1xuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbXlBZGRQb2ludDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXR1czogIXN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICFzdGF0dXMgPyBBRERfUE9JTlRfSU1HX09OIDogQUREX1BPSU5UX0lNR19PRkZcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YVpvb206IFtcbiAgICAgICAgICB7IGRpc2FibGVkOiAhY2hhcnQuc2Nyb2xsVG9ab29tID8/IHRydWUgfSxcbiAgICAgICAgICB7IGRpc2FibGVkOiAhY2hhcnQuc2Nyb2xsVG9ab29tID8/IHRydWUgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGF0YTogY2hhcnQuc2hhcGVzLm1hcChcbiAgICAgICAgICAgIChzaGFwZTogU2hhcGUpID0+ICh7XG4gICAgICAgICAgICAgIG5hbWU6IHNoYXBlLm5hbWUsXG4gICAgICAgICAgICAgIGljb246ICdjaXJjbGUnXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgc2VsZWN0ZWQ6IGNoYXJ0LnNoYXBlcy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBzaGFwZTogU2hhcGUpID0+ICh7IC4uLmFjY3VtdWxhdG9yLCBbc2hhcGUubmFtZSBhcyBzdHJpbmddOiBzaGFwZS5zZWxlY3RlZEJ5RGVmYXVsdCA/PyB0cnVlIH0pLCB7fSksXG4gICAgICAgICAgc2hvdzogY2hhcnQuc2hvd0xlZ2VuZCA/PyBmYWxzZSxcbiAgICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcsXG4gICAgICAgICAgbGVmdDogJ3JpZ2h0JyxcbiAgICAgICAgICBwYWRkaW5nOiBbNjAsIDIwXSxcbiAgICAgICAgICB0eXBlOiAnc2Nyb2xsJyxcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2JyZWFrJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeEF4aXM6IHtcbiAgICAgICAgICB0eXBlOiBjaGFydC54QXhpc1R5cGUsXG4gICAgICAgICAgbmFtZTogY2hhcnQueEF4aXNVb20gPyBgJHtjaGFydC54QXhpc05hbWV9IFsgJHtjaGFydC54QXhpc1VvbX0gXWAgOiBjaGFydC54QXhpc05hbWUsXG4gICAgICAgICAgc3BsaXRMaW5lOiB7XG4gICAgICAgICAgICBzaG93OiBjaGFydC5zaG93R3JpZCA/PyB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB5QXhpczoge1xuICAgICAgICAgIHR5cGU6IGNoYXJ0LnlBeGlzVHlwZSxcbiAgICAgICAgICBuYW1lOiBjaGFydC55QXhpc1VvbSA/IGAke2NoYXJ0LnlBeGlzTmFtZX0gWyAke2NoYXJ0LnlBeGlzVW9tfSBdYCA6IGNoYXJ0LnlBeGlzTmFtZSxcbiAgICAgICAgICBzcGxpdExpbmU6IHtcbiAgICAgICAgICAgIHNob3c6IGNoYXJ0LnNob3dHcmlkID8/IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNlcmllczogdGhpcy5jcmVhdGVTZXJpZXMoY2hhcnQuc2hhcGVzKSxcbiAgICAgICAgYW5pbWF0aW9uOiBjaGFydC5oYXNBbmltYXRpb25zLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVTZXJpZXMoc2hhcGVzOiBTaGFwZVtdKTogQXJyYXk8TGluZVNlcmllc09wdGlvbiB8IEN1c3RvbVNlcmllc09wdGlvbiB8IFNjYXR0ZXJTZXJpZXNPcHRpb24+IHtcbiAgICBsZXQgc2VyaWVzOiBBcnJheTxMaW5lU2VyaWVzT3B0aW9uIHwgQ3VzdG9tU2VyaWVzT3B0aW9uIHwgU2NhdHRlclNlcmllc09wdGlvbj4gPSBbXTtcbiAgICBzaGFwZXMuZm9yRWFjaChcbiAgICAgIChzaGFwZTogU2hhcGUpID0+IHtcbiAgICAgICAgc3dpdGNoIChzaGFwZS52YXJpYW50KSB7XG4gICAgICAgICAgY2FzZSBTaGFwZVZhcmlhbnQuVFJBQ0U6XG4gICAgICAgICAgICBzZXJpZXMucHVzaCh0aGlzLmNyZWF0ZVRyYWNlKHNoYXBlIGFzIFRyYWNlKSlcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlcmllcztcbiAgfVxuXG4gIGNyZWF0ZVRyYWNlKHRyYWNlOiBUcmFjZSk6IExpbmVTZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdHJhY2UudHlwZSxcbiAgICAgIG5hbWU6IHRyYWNlLm5hbWUsXG4gICAgICBkYXRhOiB0cmFjZS5wb2ludHMubWFwKFxuICAgICAgICAocG9pbnQ6IFBvaW50KSA9PiAoe1xuICAgICAgICAgIHZhbHVlOiBbcG9pbnQueCwgcG9pbnQueV0sXG4gICAgICAgICAgc3ltYm9sOiBwb2ludC5zeW1ib2wgPz8gJ2NpcmNsZScsXG4gICAgICAgICAgbmFtZTogcG9pbnQubmFtZSxcbiAgICAgICAgICBzeW1ib2xTaXplOiBwb2ludC5zeW1ib2xTaXplID8/IDIsXG4gICAgICAgICAgZW1waGFzaXM6IHtcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiAnYm90dG9tJyxcbiAgICAgICAgICAgIGZvcm1hdHRlcjogKCkgPT4gYCR7cG9pbnQubmFtZSA/PyAnJ31gLFxuICAgICAgICAgICAgY29sb3I6ICcjMDAwJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAxMyxcbiAgICAgICAgICAgIHBhZGRpbmc6IFswLCAwLCAwLCAxMF0sXG4gICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgb3ZlcmZsb3c6ICd0cnVuY2F0ZScsXG4gICAgICAgICAgICBlbGxpcHNpczogJy4uLicsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgICAgIGZvcm1hdHRlcjogKHsgdmFsdWUgfTogeyB2YWx1ZTogbnVtYmVyW10gfSkgPT4gYFxuICAgICAgICAgICAgICA8c3Ryb25nPiR7dGhpcy5jaGFydD8ueEF4aXNOYW1lfTo8L3N0cm9uZz4gJHt2YWx1ZVswXS50b0ZpeGVkKDMpLnJlcGxhY2UoL1suLF0wMDAkLywgXCJcIil9XG4gICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgPHN0cm9uZz4ke3RoaXMuY2hhcnQ/LnlBeGlzTmFtZX06PC9zdHJvbmc+ICR7dmFsdWVbMV0udG9GaXhlZCgzKS5yZXBsYWNlKC9bLixdMDAwJC8sIFwiXCIpfVxuICAgICAgICAgICAgYFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBjb2xvcjogdHJhY2UuY29sb3IsXG4gICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgd2lkdGg6IHRyYWNlLndpZHRoLFxuICAgICAgICB0eXBlOiB0cmFjZS5zdHlsZVxuICAgICAgfSxcbiAgICAgIHNtb290aDogdHJhY2Uuc21vb3RoID8/IGZhbHNlXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -30,4 +30,4 @@ export var ShapeVariant;
30
30
  ShapeVariant[ShapeVariant["POLYGON"] = 1] = "POLYGON";
31
31
  ShapeVariant[ShapeVariant["CIRCLE"] = 2] = "CIRCLE";
32
32
  })(ShapeVariant || (ShapeVariant = {}));
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL21vZGVscy9jaGFydC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNBLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLGdDQUFpQixDQUFBO0lBQ2pCLG9DQUFxQixDQUFBO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2hCLDJCQUFlLENBQUE7SUFDZixpQ0FBcUIsQ0FBQTtJQUNyQix5QkFBYSxDQUFBO0lBQ2IsdUJBQVcsQ0FBQTtBQUNmLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsaURBQUssQ0FBQTtJQUNMLHFEQUFPLENBQUE7SUFDUCxtREFBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2hhcnQgZGVzY3JpYmVzIHRoZSBnZW5lcmFsIHBhcmFtZXRlcnMgb2YgdGhlIHdob2xlIGNoYXJ0IHJlbmRlcmVkIGJ5IHRoZSBjYW52YXNcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnQge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc2hvd0xlZ2VuZD86IGJvb2xlYW47XG4gICAgeEF4aXNUeXBlOiBBeGlzVHlwZTtcbiAgICB4QXhpc05hbWU6IHN0cmluZztcbiAgICB4QXhpc1VvbT86IHN0cmluZztcbiAgICB5QXhpc1R5cGU6IEF4aXNUeXBlO1xuICAgIHlBeGlzTmFtZTogc3RyaW5nO1xuICAgIHlBeGlzVW9tPzogc3RyaW5nO1xuICAgIGhhc0FuaW1hdGlvbnM/OiBib29sZWFuOyAvLyBJZiB0aGUgY2hhcnQgc2hvdWxkIGhhdmUgcmVuZGVyaW5nIGFuaW1hdGlvbnNcbiAgICBzaGFwZXM6IFNoYXBlW107XG4gICAgY2xpY2tUb0FkZFBvaW50OiBib29sZWFuOyAvL0lmIHRoZSBjaGFydCBzaG91bGQgYWRkIGEgcG9pbnQgd2hlbiBjbGlja2luZyBpbiB0aGUgZ3JpZCBhcmVhXG59XG5cbmV4cG9ydCB0eXBlIFNoYXBlID0gVHJhY2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2Uge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmFyaWFudDogU2hhcGVWYXJpYW50O1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIHR5cGU6IFRyYWNlVHlwZTtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBwb2ludHM6IFBvaW50W107XG4gICAgc21vb3RoPzogYm9vbGVhbjtcbiAgICBzdHlsZT86IFRyYWNlU3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQgZXh0ZW5kcyBCYXNlUG9pbnQge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc3ltYm9sPzogUG9pbnRTeW1ib2w7XG4gICAgc3ltYm9sU2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUG9pbnQge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXJcbn1cblxuZXhwb3J0IGVudW0gVHJhY2VUeXBlIHtcbiAgICBMSU5FID0gXCJsaW5lXCIsXG4gICAgU0NBVFRFUiA9IFwic2NhdHRlclwiXG59XG5cbmV4cG9ydCBlbnVtIFBvaW50U3ltYm9sIHtcbiAgICBOT05FID0gXCJub25lXCIsXG4gICAgQ0lSQ0xFID0gXCJjaXJjbGVcIixcbiAgICBUUklBTkdMRSA9IFwidHJpYW5nbGVcIixcbiAgICBQSU4gPSBcInBpblwiLFxuICAgIERJQU1PTkQgPSBcImRpYW1vbmRcIlxufVxuXG5leHBvcnQgZW51bSBUcmFjZVN0eWxlIHtcbiAgICBTT0xJRCA9IFwic29saWRcIixcbiAgICBEQVNIRUQgPSBcImRhc2hlZFwiLFxuICAgIERPVFRFRCA9IFwiZG90dGVkXCJcbn1cblxuZXhwb3J0IGVudW0gQXhpc1R5cGUge1xuICAgIFZBTFVFID0gXCJ2YWx1ZVwiLFxuICAgIENBVEVHT1JZID0gXCJjYXRlZ29yeVwiLFxuICAgIFRJTUUgPSBcInRpbWVcIixcbiAgICBMT0cgPSBcImxvZ1wiXG59XG5cbmV4cG9ydCBlbnVtIFNoYXBlVmFyaWFudCB7XG4gICAgVFJBQ0UsXG4gICAgUE9MWUdPTixcbiAgICBDSVJDTEVcbn0iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL21vZGVscy9jaGFydC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMENBLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLGdDQUFpQixDQUFBO0lBQ2pCLG9DQUFxQixDQUFBO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2hCLDJCQUFlLENBQUE7SUFDZixpQ0FBcUIsQ0FBQTtJQUNyQix5QkFBYSxDQUFBO0lBQ2IsdUJBQVcsQ0FBQTtBQUNmLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsaURBQUssQ0FBQTtJQUNMLHFEQUFPLENBQUE7SUFDUCxtREFBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDaGFydCB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzaG93TGVnZW5kPzogYm9vbGVhbjtcbiAgICB4QXhpc1R5cGU6IEF4aXNUeXBlO1xuICAgIHhBeGlzTmFtZTogc3RyaW5nO1xuICAgIHhBeGlzVW9tPzogc3RyaW5nO1xuICAgIHlBeGlzVHlwZTogQXhpc1R5cGU7XG4gICAgeUF4aXNOYW1lOiBzdHJpbmc7XG4gICAgeUF4aXNVb20/OiBzdHJpbmc7XG4gICAgaGFzQW5pbWF0aW9ucz86IGJvb2xlYW47Ly9JZiB0aGUgY2hhcnQgc2hvdWxkIGhhdmUgcmVuZGVyaW5nIGFuaW1hdGlvbnNcbiAgICBzaGFwZXM6IFNoYXBlW107XG4gICAgY2xpY2tUb0FkZFBvaW50PzogYm9vbGVhbjsvL0lmIHRoZSBjaGFydCBzaG91bGQgYWRkIGEgcG9pbnQgd2hlbiBjbGlja2luZyBpbiB0aGUgZ3JpZCBhcmVhXG4gICAgYWRkUG9pbnRDdXN0b21OYW1lPzogc3RyaW5nOy8vV2UgY2FuIGFsc28gY2hvb3NlIGEgY3VzdG9tIG5hbWUgZm9yIHRoZSBBZGQgUG9pbnQgYnV0dG9uXG4gICAgc2Nyb2xsVG9ab29tPzogYm9vbGVhbjsvL1VzZSB0aGUgc2Nyb2xsIHRvIHpvb20gaW4vb3V0IG9mIHRoZSBjaGFydFxuICAgIHNob3dHcmlkPzogYm9vbGVhbjsvL1doZXRoZXIgdG8gc2hvdyB0aGUgY2hhcnQgZ3JpZCBsaW5lcyBvciBub3Rcbn1cblxuZXhwb3J0IHR5cGUgU2hhcGUgPSBUcmFjZTtcblxuZXhwb3J0IGludGVyZmFjZSBUcmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YXJpYW50OiBTaGFwZVZhcmlhbnQ7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgdHlwZTogVHJhY2VUeXBlO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIHBvaW50czogUG9pbnRbXTtcbiAgICBzbW9vdGg/OiBib29sZWFuO1xuICAgIHN0eWxlPzogVHJhY2VTdHlsZTtcbiAgICBzZWxlY3RlZEJ5RGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQgZXh0ZW5kcyBCYXNlUG9pbnQge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc3ltYm9sPzogUG9pbnRTeW1ib2w7XG4gICAgc3ltYm9sU2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUG9pbnQge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXJcbn1cblxuZXhwb3J0IGVudW0gVHJhY2VUeXBlIHtcbiAgICBMSU5FID0gXCJsaW5lXCIsXG4gICAgU0NBVFRFUiA9IFwic2NhdHRlclwiXG59XG5cbmV4cG9ydCBlbnVtIFBvaW50U3ltYm9sIHtcbiAgICBOT05FID0gXCJub25lXCIsXG4gICAgQ0lSQ0xFID0gXCJjaXJjbGVcIixcbiAgICBUUklBTkdMRSA9IFwidHJpYW5nbGVcIixcbiAgICBQSU4gPSBcInBpblwiLFxuICAgIERJQU1PTkQgPSBcImRpYW1vbmRcIlxufVxuXG5leHBvcnQgZW51bSBUcmFjZVN0eWxlIHtcbiAgICBTT0xJRCA9IFwic29saWRcIixcbiAgICBEQVNIRUQgPSBcImRhc2hlZFwiLFxuICAgIERPVFRFRCA9IFwiZG90dGVkXCJcbn1cblxuZXhwb3J0IGVudW0gQXhpc1R5cGUge1xuICAgIFZBTFVFID0gXCJ2YWx1ZVwiLFxuICAgIENBVEVHT1JZID0gXCJjYXRlZ29yeVwiLFxuICAgIFRJTUUgPSBcInRpbWVcIixcbiAgICBMT0cgPSBcImxvZ1wiXG59XG5cbmV4cG9ydCBlbnVtIFNoYXBlVmFyaWFudCB7XG4gICAgVFJBQ0UsXG4gICAgUE9MWUdPTixcbiAgICBDSVJDTEVcbn0iXX0=
@@ -51,6 +51,9 @@ class KiwiChartComponent {
51
51
  this.width = '100%';
52
52
  this.height = '480px';
53
53
  this.addPoint = new EventEmitter();
54
+ this.updateOption = {};
55
+ this.echartsInstance = null;
56
+ this.zr = null;
54
57
  this.chartOption = {
55
58
  title: {
56
59
  text: "Chart",
@@ -73,7 +76,7 @@ class KiwiChartComponent {
73
76
  borderType: 'dashed'
74
77
  },
75
78
  },
76
- saveAsImage: {},
79
+ saveAsImage: {}
77
80
  },
78
81
  left: 'center'
79
82
  },
@@ -96,19 +99,26 @@ class KiwiChartComponent {
96
99
  name: "X",
97
100
  nameLocation: 'middle',
98
101
  nameGap: 30,
102
+ splitLine: {
103
+ lineStyle: {
104
+ color: '#ccc'
105
+ }
106
+ }
99
107
  },
100
108
  yAxis: {
101
109
  type: "value",
102
110
  name: "Y",
103
111
  nameLocation: 'middle',
104
112
  nameGap: 50,
113
+ splitLine: {
114
+ lineStyle: {
115
+ color: '#ccc'
116
+ }
117
+ }
105
118
  },
106
119
  series: [],
107
120
  animation: false
108
121
  };
109
- this.updateOption = {};
110
- this.echartsInstance = null;
111
- this.zr = null;
112
122
  }
113
123
  onChartInit(ec) {
114
124
  this.echartsInstance = ec;
@@ -129,15 +139,6 @@ class KiwiChartComponent {
129
139
  y: +pointInGrid[1].toFixed(3)
130
140
  };
131
141
  this.addPoint.emit(newPoint);
132
- ec.setOption({
133
- series: this.createSeries([...this.chart.shapes, {
134
- color: 'crimson',
135
- points: [newPoint],
136
- type: TraceType.SCATTER,
137
- variant: ShapeVariant.TRACE,
138
- smooth: false
139
- }])
140
- });
141
142
  }
142
143
  }
143
144
  });
@@ -152,7 +153,7 @@ class KiwiChartComponent {
152
153
  });
153
154
  }
154
155
  ngOnChanges(changes) {
155
- var _a, _b;
156
+ var _a, _b, _c, _d, _e, _f, _g, _h;
156
157
  let chart = (_a = changes['chart']) === null || _a === void 0 ? void 0 : _a.currentValue;
157
158
  if (chart) {
158
159
  this.updateOption = {
@@ -162,8 +163,8 @@ class KiwiChartComponent {
162
163
  toolbox: {
163
164
  feature: {
164
165
  myAddPoint: {
165
- show: chart.clickToAddPoint,
166
- title: 'Add Point',
166
+ show: (_b = chart.clickToAddPoint) !== null && _b !== void 0 ? _b : false,
167
+ title: (_c = chart.addPointCustomName) !== null && _c !== void 0 ? _c : 'Add Point',
167
168
  icon: ADD_POINT_IMG_OFF,
168
169
  iconStatus: false,
169
170
  onclick: () => {
@@ -184,12 +185,17 @@ class KiwiChartComponent {
184
185
  }
185
186
  },
186
187
  },
188
+ dataZoom: [
189
+ { disabled: (_d = !chart.scrollToZoom) !== null && _d !== void 0 ? _d : true },
190
+ { disabled: (_e = !chart.scrollToZoom) !== null && _e !== void 0 ? _e : true },
191
+ ],
187
192
  legend: {
188
193
  data: chart.shapes.map((shape) => ({
189
194
  name: shape.name,
190
195
  icon: 'circle'
191
196
  })),
192
- show: (_b = chart.showLegend) !== null && _b !== void 0 ? _b : false,
197
+ selected: chart.shapes.reduce((accumulator, shape) => { var _a; return (Object.assign(Object.assign({}, accumulator), { [shape.name]: (_a = shape.selectedByDefault) !== null && _a !== void 0 ? _a : true })); }, {}),
198
+ show: (_f = chart.showLegend) !== null && _f !== void 0 ? _f : false,
193
199
  orient: 'vertical',
194
200
  left: 'right',
195
201
  padding: [60, 20],
@@ -202,11 +208,17 @@ class KiwiChartComponent {
202
208
  },
203
209
  xAxis: {
204
210
  type: chart.xAxisType,
205
- name: chart.xAxisName,
211
+ name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,
212
+ splitLine: {
213
+ show: (_g = chart.showGrid) !== null && _g !== void 0 ? _g : true
214
+ }
206
215
  },
207
216
  yAxis: {
208
217
  type: chart.yAxisType,
209
- name: chart.yAxisName,
218
+ name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,
219
+ splitLine: {
220
+ show: (_h = chart.showGrid) !== null && _h !== void 0 ? _h : true
221
+ }
210
222
  },
211
223
  series: this.createSeries(chart.shapes),
212
224
  animation: chart.hasAnimations,
@@ -231,37 +243,42 @@ class KiwiChartComponent {
231
243
  return {
232
244
  type: trace.type,
233
245
  name: trace.name,
234
- data: trace.points.map((point) => ({
235
- value: [point.x, point.y],
236
- symbol: point.symbol,
237
- name: point.name,
238
- symbolSize: point.symbolSize,
239
- label: {
240
- show: true,
241
- position: 'bottom',
242
- align: 'left',
243
- verticalAlign: 'bottom',
244
- formatter: () => { var _a; return `${(_a = point.name) !== null && _a !== void 0 ? _a : ''}`; },
245
- color: '#000',
246
- fontSize: 13,
247
- padding: [0, 0, 0, 10],
248
- width: 100,
249
- overflow: 'truncate',
250
- ellipsis: '...',
251
- fontWeight: 'bold'
252
- },
253
- tooltip: {
254
- formatter: ({ value }) => {
255
- var _a, _b;
256
- return `
257
- ${point.name ? `<strong>${point.name}</strong><br>` : ''}
258
- <strong>${(_a = this.chart) === null || _a === void 0 ? void 0 : _a.xAxisName}:</strong> ${value[0]}
246
+ data: trace.points.map((point) => {
247
+ var _a, _b;
248
+ return ({
249
+ value: [point.x, point.y],
250
+ symbol: (_a = point.symbol) !== null && _a !== void 0 ? _a : 'circle',
251
+ name: point.name,
252
+ symbolSize: (_b = point.symbolSize) !== null && _b !== void 0 ? _b : 2,
253
+ emphasis: {
254
+ disabled: true
255
+ },
256
+ label: {
257
+ show: true,
258
+ position: 'bottom',
259
+ align: 'left',
260
+ verticalAlign: 'bottom',
261
+ formatter: () => { var _a; return `${(_a = point.name) !== null && _a !== void 0 ? _a : ''}`; },
262
+ color: '#000',
263
+ fontSize: 13,
264
+ padding: [0, 0, 0, 10],
265
+ width: 100,
266
+ overflow: 'truncate',
267
+ ellipsis: '...',
268
+ fontWeight: 'bold'
269
+ },
270
+ tooltip: {
271
+ formatter: ({ value }) => {
272
+ var _a, _b;
273
+ return `
274
+ <strong>${(_a = this.chart) === null || _a === void 0 ? void 0 : _a.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, "")}
259
275
  <br>
260
- <strong>${(_b = this.chart) === null || _b === void 0 ? void 0 : _b.yAxisName}:</strong> ${value[1]}
276
+ <strong>${(_b = this.chart) === null || _b === void 0 ? void 0 : _b.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, "")}
261
277
  `;
278
+ }
262
279
  }
263
- }
264
- })),
280
+ });
281
+ }),
265
282
  color: trace.color,
266
283
  lineStyle: {
267
284
  width: trace.width,
@@ -1 +1 @@
1
- {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEZklEQVRYhcWXX2xTVRzHP797t+FgSAkmpCskkGCYmcP23nZBmpiZYUKyIBIdUR80JiYmSnzQGPDBGNRoYsAXQ0wwvvgCYRqGgUj4o4txiRu9ZQUGqCNogm0lsNXVSGHt+flQumxlZR24+X1qz/n2+/2ec27v7/zgf4bMhNza2royn8+vF5HVwAPAfCAjIkljTKK+vv54b29v9j8N0NLSsriurm4r8DTwCHAd+F1ErqjqCLAUWAb4gTxwQlW/jMfj+wG96wBtbW33ZbPZrcDbgFHVfarabVnWD57njZXzW1tblxhjOlR1M7ARGDDGbDt16tSJGQcIhUKNItItIs3Ap8BHnuf9Nd1qSnBdtwl4D+gUkT0NDQ2v9fT05KsKEIlEIsaYg8AwsMnzvIvVGpcjHA4/p6pfqGpPbW3ts319faPlHGviF8dxVhljjohIoqamZt29mAPEYrG9xpjHRCQ0Nja2r7Oz0y7njA9Eo9GFhULhGHAN2HDy5Mm/78W8hHQ6nWxsbPxeRHaMjIz4UqnU0Ynz4zuQy+V2AUvy+fyTnuf9M51wJBJZ57ruhWpCeJ4XF5GXgTdDoVD7bQHC4fBq4CVVfSuRSPxRjagxJgCsroYLxeMADluWtYsJCy99+BA4G4/H91YreDcQke3Aw47jPDMeoKWlZbGqbhSRjwEzmwFisdhZ4JCIvDAeoLa2tgMwtm0fnk3zElS1G1gfjUYXQvEIOoCeqf6jswEROQTU5HK5dgBLRNYAZ+bCHMDzvKtAClgDxR1YdmtgLpEElgPUAAtU9Uo5IxQKhS3L6gXq7qTkuu6dKt7Pnuc1lQ+KyJ/GmIZSgBsicn85KZvNnvH5fFtUtVKAtcAbwJZK7saYyxWmFonItVKAqxRr+SQMDQ3dAA5WEnddFwDP87oqcSpBVf0i0gfFZ+ACsHKmIneL5ubmOorP3QUAS1WPAxva2tpq5iLAvHnzHgfq8/n8d1DcgQPAktHR0UfnIoCIbALiAwMDvwFY8Xh8CDgtIq/MtnkwGPQBW1T169KYBaCqO4DnHcdxZzOAbdvbARWR3ZMCxOPxAyLyk2VZn0x1a5kKInITuFmteTAYfBB4Hfhg4v2yVI5VRF5V1fClS5d2ViOYyWSOGGOi1XBd111k2/Y3wOlcLvfZxLnx1SaTybTf7x8CdgYCgWvJZLL/TqLDw8OFdDqdrMJ8PvAVxVdveyKRmHS7nrTdqVRqMBAIXFfVXYFAwBeNRo+fO3du2uaiEiKRyHJVPQo8BHR4nvdrOee2804mk71+v/888H4mk3nC7/efTqVSMy1WluM4LwL7gZxt2+2xWOz8VMSKnVEkEgkWCoXdIrIW2GdZ1p4VK1b82NXVVaj0m2Aw6LMsq0NEtgFNwOe5XG7b4OBgxRv2tL2h4zibReRdin3hVeAYcPFWRRsRkaUislxVm4E2iv1gt23b7/T39/8ynX7V3bHjOKtE5CkRaVfVJord8QIgA1ym+DI7pKrfzqSN+xdx6bFz0kwqIAAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEUUlEQVRYhcWXbWiVZRjHf9f9nJ3Nt6ZTWr4FguFgYoUT3Dnb2RkTioaZmKP6IEQvZ2sy6FX7EK2IssggdK8ig74ok9oMRSF1ZzsvOJgjp8GKJAPTJk6dibmzc56rD8eZ285xZ8ut/8fnvu7/9btvHu7ruuB/lkwk2LOnfZlEHesUVoAsQHSmwnVRLgpyOuq0j4VeKfjrgQIU1AbmiWVtNaqbFB4H/gZ+By4D14BsYAmwEIgCx0G/6fC5mxHRSQN4m9oy7MH0raDvAzYi+1VpvSXOjlO+vKHR8SW7O+cPOWKlgm5UWC8iP9rKtkC56/iEAdy7gossh7Qi5AK7nJL+2TFf3sB4p7kL3xDOsVU/BjYDjebPSKW/ujiaEkBRY2iN2hwUuGoJG0743OdSTTzGqz78oqJ7UfEPDpkXOqvW3hgdY0aQ14SXq81RRU/fjliu/5IcoL3ctc+gHsR+Mj3N3r+5udlKCuDeG5xjW9oCnL8lGZsS0U5G/vKCLhWrFNGivv7FnycFMEOyE5jvUHn2lC/v1njGnsawq6g+1JsKRMCX3y3IqwhvF9aHS8YAuGuDKwReRvXdExWuP1IxFWVx/D1ITe3lrn3AYYPupFr/PTiAZcynwNmOPve+VA0nI6NsV1jpyQ49f/dbQW1gHuh6Qb6gWuypBPBXuM8ChxDZchdAjCkF7NsRc3gqkw9LlVZgnXtvcA6AMUIp4H9Qf/14skzkEOAwUVMCYFRlFeiZ6UgO4PcVXwEuGbVXARjQJYJcmi6AO7qIylIABzDLjle2EfLWB/NsJAQ4Ezmoxgudpz6UtOIJ/Nxe7s5JsNKH0dnDAIMGHhodMiNy48xNZ2aZEUkIYKuuFXhLRMqSAaB6IclCJkr/MMAVjdfyETpS9cwgcDCZd1FDGFWl3ec6kBQguRaCdEL8IeoFlk3CZFLKbf7JCSxRpRfAqOgx4GlvdZtjOgCy+geKgRkGOQFgrKhpAebrw2n50wEAugHo9lfknwcw/krXr4j2qBHfVKf2NrXNFaFMRL8d/havSspHwEsFtYHVUwlgDzq3A5pGRs0IgA6fuwU4aYz5KlHXktBMNQJEUk3uqT/5GFAF8sm9/WX8BkTUGN4A8vquLvoyFcPZkYGjBnWnEruuoSsTYt+D9PRnZdbduzaiKfXUBcvi7bdWBSoKdqdiPp5WN3TNnKWD3wErVWJrAj7PiGd/bFdcF3pPhR2gX2dnXXznQFlZbLLJPTXtS7EcrcCjKuapgC+/e3RMwrngzk00AV0q5s1EG++rajWF2eEtIuwALmNFN3S8VvRbotDkk1Fj6Ak7Rg3CWlT3q2UaH5l7IXi/G/E2tc21b6eVIrINyAH2mFhkm7+y+GayPePOhkV14Y2IfnhnLryi8IPAOVXtE7gmItmKLgXJBbyAgrTaJvZB8PXCX8bzT3k69taEl9sWzyl2iSA5wAJgFnAduAD0qHIo3aQfmcgY9w8YoaK2AOtXYQAAAABJRU5ErkJggg==\";","// Chart describes the general parameters of the whole chart rendered by the canvas\nexport interface Chart {\n title: string;\n showLegend?: boolean;\n xAxisType: AxisType;\n xAxisName: string;\n xAxisUom?: string;\n yAxisType: AxisType;\n yAxisName: string;\n yAxisUom?: string;\n hasAnimations?: boolean; // If the chart should have rendering animations\n shapes: Shape[];\n clickToAddPoint: boolean; //If the chart should add a point when clicking in the grid area\n}\n\nexport type Shape = Trace;\n\nexport interface Trace {\n name?: string;\n variant: ShapeVariant;\n color?: string;\n type: TraceType;\n width?: number;\n points: Point[];\n smooth?: boolean;\n style?: TraceStyle;\n}\n\nexport interface Point extends BasePoint {\n name?: string;\n symbol?: PointSymbol;\n symbolSize?: number;\n}\n\nexport interface BasePoint {\n x: number;\n y: number\n}\n\nexport enum TraceType {\n LINE = \"line\",\n SCATTER = \"scatter\"\n}\n\nexport enum PointSymbol {\n NONE = \"none\",\n CIRCLE = \"circle\",\n TRIANGLE = \"triangle\",\n PIN = \"pin\",\n DIAMOND = \"diamond\"\n}\n\nexport enum TraceStyle {\n SOLID = \"solid\",\n DASHED = \"dashed\",\n DOTTED = \"dotted\"\n}\n\nexport enum AxisType {\n VALUE = \"value\",\n CATEGORY = \"category\",\n TIME = \"time\",\n LOG = \"log\"\n}\n\nexport enum ShapeVariant {\n TRACE,\n POLYGON,\n CIRCLE\n}","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\nimport { ADD_POINT_IMG_OFF, ADD_POINT_IMG_ON } from './constants/chart.constants';\nimport { Chart, Shape, ShapeVariant, Trace, Point, TraceType, BasePoint } from './models/chart.models';\n\n@Component({\n selector: 'kiwi-chart',\n template: `\n <div \n echarts \n [options]=\"chartOption\" \n [merge]=\"updateOption\"\n [ngStyle]=\"{\n 'width': width,\n 'height': height\n }\"\n (chartInit)=\"onChartInit($event)\"\n ></div> \n `,\n styles: [`\n `]\n})\nexport class KiwiChartComponent implements OnChanges {\n\n @Input() chart: Chart | null = null;\n @Input() width: string = '100%';\n @Input() height: string = '480px';\n\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\n\n chartOption: EChartsOption = {\n title: {\n text: \"Chart\",\n },\n tooltip: {\n axisPointer: {\n type: 'cross',\n crossStyle: {\n color: '#bebebe'\n }\n }\n },\n toolbox: {\n orient: 'horizontal',\n feature: {\n dataZoom: {\n brushStyle: {\n borderColor: '#000',\n borderWidth: 1,\n borderType: 'dashed'\n },\n },\n saveAsImage: {},\n },\n left: 'center'\n },\n dataZoom: [\n {\n type: 'inside',\n xAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n },\n {\n type: 'inside',\n yAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n }\n ],\n xAxis: {\n type: \"value\",\n name: \"X\",\n nameLocation: 'middle',\n nameGap: 30,\n },\n yAxis: {\n type: \"value\",\n name: \"Y\",\n nameLocation: 'middle',\n nameGap: 50,\n },\n series: [],\n animation: false\n };\n\n updateOption: EChartsOption = {};\n\n echartsInstance: ECharts | null = null;\n\n zr: zrender.ZRenderType | null = null;\n\n constructor() { }\n\n onChartInit(ec: ECharts) {\n this.echartsInstance = ec;\n this.setupZrEventHandler(ec);\n }\n\n setupZrEventHandler(ec: ECharts) {\n this.zr = ec.getZr();\n this.zr.on('click', params => {\n let option: any = ec.getOption();\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active && this.chart?.clickToAddPoint) {\n const pointInPixel = [params.offsetX, params.offsetY];\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\n let newPoint: { x: number, y: number } = {\n x: +pointInGrid[0].toFixed(3),\n y: +pointInGrid[1].toFixed(3)\n };\n this.addPoint.emit(newPoint);\n ec.setOption({\n series: this.createSeries([...this.chart.shapes, {\n color: 'crimson',\n points: [newPoint],\n type: TraceType.SCATTER,\n variant: ShapeVariant.TRACE,\n smooth: false\n }])\n });\n }\n }\n });\n this.zr.on('mousemove', params => {\n const pointInPixel = [params.offsetX, params.offsetY];\n const option: any = ec.getOption();\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active) {\n this.zr?.setCursorStyle(\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\n );\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n let chart: Chart = changes['chart']?.currentValue;\n if (chart) {\n this.updateOption = {\n title: {\n text: chart.title,\n },\n toolbox: {\n feature: {\n myAddPoint: {\n show: chart.clickToAddPoint,\n title: 'Add Point',\n icon: ADD_POINT_IMG_OFF,\n iconStatus: false,\n onclick: () => {\n let option: any = this.echartsInstance?.getOption();\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\n this.echartsInstance?.setOption({\n toolbox: {\n feature: {\n myAddPoint: {\n iconStatus: !status,\n icon: !status ? ADD_POINT_IMG_ON : ADD_POINT_IMG_OFF\n }\n }\n }\n })\n }\n }\n },\n },\n legend: {\n data: chart.shapes.map(\n (shape: Shape) => ({\n name: shape.name,\n icon: 'circle'\n })\n ),\n show: chart.showLegend ?? false,\n orient: 'vertical',\n left: 'right',\n padding: [60, 20],\n type: 'scroll',\n textStyle: {\n width: 100,\n fontWeight: 'bold',\n overflow: 'break'\n }\n },\n xAxis: {\n type: chart.xAxisType,\n name: chart.xAxisName,\n },\n yAxis: {\n type: chart.yAxisType,\n name: chart.yAxisName,\n },\n series: this.createSeries(chart.shapes),\n animation: chart.hasAnimations,\n };\n }\n }\n\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\n shapes.forEach(\n (shape: Shape) => {\n switch (shape.variant) {\n case ShapeVariant.TRACE:\n series.push(this.createTrace(shape as Trace))\n break;\n default:\n break;\n }\n }\n );\n return series;\n }\n\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\n return {\n type: trace.type,\n name: trace.name,\n data: trace.points.map(\n (point: Point) => ({\n value: [point.x, point.y],\n symbol: point.symbol,\n name: point.name,\n symbolSize: point.symbolSize,\n label: {\n show: true,\n position: 'bottom',\n align: 'left',\n verticalAlign: 'bottom',\n formatter: () => `${point.name ?? ''}`,\n color: '#000',\n fontSize: 13,\n padding: [0, 0, 0, 10],\n width: 100,\n overflow: 'truncate',\n ellipsis: '...',\n fontWeight: 'bold'\n },\n tooltip: {\n formatter: ({ value }: { value: number[] }) => `\n ${point.name ? `<strong>${point.name}</strong><br>` : ''}\n <strong>${this.chart?.xAxisName}:</strong> ${value[0]}\n <br>\n <strong>${this.chart?.yAxisName}:</strong> ${value[1]}\n `\n }\n })\n ),\n color: trace.color,\n lineStyle: {\n width: trace.width,\n type: trace.style\n },\n smooth: trace.smooth ?? false\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KiwiChartComponent } from './chart.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport * as echarts from 'echarts/core';\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\nimport { LineChart, ScatterChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\necharts.use([\n TitleComponent,\n TooltipComponent,\n GridComponent,\n LineChart,\n CanvasRenderer,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n ScatterChart\n]);\n\n\n@NgModule({\n declarations: [\n KiwiChartComponent\n ],\n imports: [\n CommonModule,\n NgxEchartsModule.forRoot({ echarts })\n ],\n exports: [\n KiwiChartComponent\n ]\n})\nexport class KiwiChartModule { }\n","/*\n * Public API Surface of chart\n */\n\nexport * from './lib/chart.component';\nexport * from './lib/chart.module';\nexport * from './lib/models/chart.models';\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEZklEQVRYhcWXX2xTVRzHP797t+FgSAkmpCskkGCYmcP23nZBmpiZYUKyIBIdUR80JiYmSnzQGPDBGNRoYsAXQ0wwvvgCYRqGgUj4o4txiRu9ZQUGqCNogm0lsNXVSGHt+flQumxlZR24+X1qz/n2+/2ec27v7/zgf4bMhNza2royn8+vF5HVwAPAfCAjIkljTKK+vv54b29v9j8N0NLSsriurm4r8DTwCHAd+F1ErqjqCLAUWAb4gTxwQlW/jMfj+wG96wBtbW33ZbPZrcDbgFHVfarabVnWD57njZXzW1tblxhjOlR1M7ARGDDGbDt16tSJGQcIhUKNItItIs3Ap8BHnuf9Nd1qSnBdtwl4D+gUkT0NDQ2v9fT05KsKEIlEIsaYg8AwsMnzvIvVGpcjHA4/p6pfqGpPbW3ts319faPlHGviF8dxVhljjohIoqamZt29mAPEYrG9xpjHRCQ0Nja2r7Oz0y7njA9Eo9GFhULhGHAN2HDy5Mm/78W8hHQ6nWxsbPxeRHaMjIz4UqnU0Ynz4zuQy+V2AUvy+fyTnuf9M51wJBJZ57ruhWpCeJ4XF5GXgTdDoVD7bQHC4fBq4CVVfSuRSPxRjagxJgCsroYLxeMADluWtYsJCy99+BA4G4/H91YreDcQke3Aw47jPDMeoKWlZbGqbhSRjwEzmwFisdhZ4JCIvDAeoLa2tgMwtm0fnk3zElS1G1gfjUYXQvEIOoCeqf6jswEROQTU5HK5dgBLRNYAZ+bCHMDzvKtAClgDxR1YdmtgLpEElgPUAAtU9Uo5IxQKhS3L6gXq7qTkuu6dKt7Pnuc1lQ+KyJ/GmIZSgBsicn85KZvNnvH5fFtUtVKAtcAbwJZK7saYyxWmFonItVKAqxRr+SQMDQ3dAA5WEnddFwDP87oqcSpBVf0i0gfFZ+ACsHKmIneL5ubmOorP3QUAS1WPAxva2tpq5iLAvHnzHgfq8/n8d1DcgQPAktHR0UfnIoCIbALiAwMDvwFY8Xh8CDgtIq/MtnkwGPQBW1T169KYBaCqO4DnHcdxZzOAbdvbARWR3ZMCxOPxAyLyk2VZn0x1a5kKInITuFmteTAYfBB4Hfhg4v2yVI5VRF5V1fClS5d2ViOYyWSOGGOi1XBd111k2/Y3wOlcLvfZxLnx1SaTybTf7x8CdgYCgWvJZLL/TqLDw8OFdDqdrMJ8PvAVxVdveyKRmHS7nrTdqVRqMBAIXFfVXYFAwBeNRo+fO3du2uaiEiKRyHJVPQo8BHR4nvdrOee2804mk71+v/888H4mk3nC7/efTqVSMy1WluM4LwL7gZxt2+2xWOz8VMSKnVEkEgkWCoXdIrIW2GdZ1p4VK1b82NXVVaj0m2Aw6LMsq0NEtgFNwOe5XG7b4OBgxRv2tL2h4zibReRdin3hVeAYcPFWRRsRkaUislxVm4E2iv1gt23b7/T39/8ynX7V3bHjOKtE5CkRaVfVJord8QIgA1ym+DI7pKrfzqSN+xdx6bFz0kwqIAAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEUUlEQVRYhcWXbWiVZRjHf9f9nJ3Nt6ZTWr4FguFgYoUT3Dnb2RkTioaZmKP6IEQvZ2sy6FX7EK2IssggdK8ig74ok9oMRSF1ZzsvOJgjp8GKJAPTJk6dibmzc56rD8eZ285xZ8ut/8fnvu7/9btvHu7ruuB/lkwk2LOnfZlEHesUVoAsQHSmwnVRLgpyOuq0j4VeKfjrgQIU1AbmiWVtNaqbFB4H/gZ+By4D14BsYAmwEIgCx0G/6fC5mxHRSQN4m9oy7MH0raDvAzYi+1VpvSXOjlO+vKHR8SW7O+cPOWKlgm5UWC8iP9rKtkC56/iEAdy7gossh7Qi5AK7nJL+2TFf3sB4p7kL3xDOsVU/BjYDjebPSKW/ujiaEkBRY2iN2hwUuGoJG0743OdSTTzGqz78oqJ7UfEPDpkXOqvW3hgdY0aQ14SXq81RRU/fjliu/5IcoL3ctc+gHsR+Mj3N3r+5udlKCuDeG5xjW9oCnL8lGZsS0U5G/vKCLhWrFNGivv7FnycFMEOyE5jvUHn2lC/v1njGnsawq6g+1JsKRMCX3y3IqwhvF9aHS8YAuGuDKwReRvXdExWuP1IxFWVx/D1ITe3lrn3AYYPupFr/PTiAZcynwNmOPve+VA0nI6NsV1jpyQ49f/dbQW1gHuh6Qb6gWuypBPBXuM8ChxDZchdAjCkF7NsRc3gqkw9LlVZgnXtvcA6AMUIp4H9Qf/14skzkEOAwUVMCYFRlFeiZ6UgO4PcVXwEuGbVXARjQJYJcmi6AO7qIylIABzDLjle2EfLWB/NsJAQ4Ezmoxgudpz6UtOIJ/Nxe7s5JsNKH0dnDAIMGHhodMiNy48xNZ2aZEUkIYKuuFXhLRMqSAaB6IclCJkr/MMAVjdfyETpS9cwgcDCZd1FDGFWl3ec6kBQguRaCdEL8IeoFlk3CZFLKbf7JCSxRpRfAqOgx4GlvdZtjOgCy+geKgRkGOQFgrKhpAebrw2n50wEAugHo9lfknwcw/krXr4j2qBHfVKf2NrXNFaFMRL8d/havSspHwEsFtYHVUwlgDzq3A5pGRs0IgA6fuwU4aYz5KlHXktBMNQJEUk3uqT/5GFAF8sm9/WX8BkTUGN4A8vquLvoyFcPZkYGjBnWnEruuoSsTYt+D9PRnZdbduzaiKfXUBcvi7bdWBSoKdqdiPp5WN3TNnKWD3wErVWJrAj7PiGd/bFdcF3pPhR2gX2dnXXznQFlZbLLJPTXtS7EcrcCjKuapgC+/e3RMwrngzk00AV0q5s1EG++rajWF2eEtIuwALmNFN3S8VvRbotDkk1Fj6Ak7Rg3CWlT3q2UaH5l7IXi/G/E2tc21b6eVIrINyAH2mFhkm7+y+GayPePOhkV14Y2IfnhnLryi8IPAOVXtE7gmItmKLgXJBbyAgrTaJvZB8PXCX8bzT3k69taEl9sWzyl2iSA5wAJgFnAduAD0qHIo3aQfmcgY9w8YoaK2AOtXYQAAAABJRU5ErkJggg==\";","export interface Chart {\n title: string;\n showLegend?: boolean;\n xAxisType: AxisType;\n xAxisName: string;\n xAxisUom?: string;\n yAxisType: AxisType;\n yAxisName: string;\n yAxisUom?: string;\n hasAnimations?: boolean;//If the chart should have rendering animations\n shapes: Shape[];\n clickToAddPoint?: boolean;//If the chart should add a point when clicking in the grid area\n addPointCustomName?: string;//We can also choose a custom name for the Add Point button\n scrollToZoom?: boolean;//Use the scroll to zoom in/out of the chart\n showGrid?: boolean;//Whether to show the chart grid lines or not\n}\n\nexport type Shape = Trace;\n\nexport interface Trace {\n name?: string;\n variant: ShapeVariant;\n color?: string;\n type: TraceType;\n width?: number;\n points: Point[];\n smooth?: boolean;\n style?: TraceStyle;\n selectedByDefault?: boolean;\n}\n\nexport interface Point extends BasePoint {\n name?: string;\n symbol?: PointSymbol;\n symbolSize?: number;\n}\n\nexport interface BasePoint {\n x: number;\n y: number\n}\n\nexport enum TraceType {\n LINE = \"line\",\n SCATTER = \"scatter\"\n}\n\nexport enum PointSymbol {\n NONE = \"none\",\n CIRCLE = \"circle\",\n TRIANGLE = \"triangle\",\n PIN = \"pin\",\n DIAMOND = \"diamond\"\n}\n\nexport enum TraceStyle {\n SOLID = \"solid\",\n DASHED = \"dashed\",\n DOTTED = \"dotted\"\n}\n\nexport enum AxisType {\n VALUE = \"value\",\n CATEGORY = \"category\",\n TIME = \"time\",\n LOG = \"log\"\n}\n\nexport enum ShapeVariant {\n TRACE,\n POLYGON,\n CIRCLE\n}","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\nimport { ADD_POINT_IMG_OFF, ADD_POINT_IMG_ON } from './constants/chart.constants';\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\n\n@Component({\n selector: 'kiwi-chart',\n template: `\n <div \n echarts \n [options]=\"chartOption\" \n [merge]=\"updateOption\"\n [ngStyle]=\"{\n 'width': width,\n 'height': height\n }\"\n (chartInit)=\"onChartInit($event)\"\n ></div> \n `,\n styles: [`\n `]\n})\nexport class KiwiChartComponent implements OnChanges {\n\n @Input() chart: Chart | null = null;\n\n @Input() width: string = '100%';\n\n @Input() height: string = '480px';\n\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\n\n chartOption: EChartsOption;\n\n updateOption: EChartsOption = {};\n\n echartsInstance: ECharts | null = null;\n\n zr: zrender.ZRenderType | null = null;\n\n constructor() {\n this.chartOption = {\n title: {\n text: \"Chart\",\n },\n tooltip: {\n axisPointer: {\n type: 'cross',\n crossStyle: {\n color: '#bebebe'\n }\n }\n },\n toolbox: {\n orient: 'horizontal',\n feature: {\n dataZoom: {\n brushStyle: {\n borderColor: '#000',\n borderWidth: 1,\n borderType: 'dashed'\n },\n },\n saveAsImage: {}\n },\n left: 'center'\n },\n dataZoom: [\n {\n type: 'inside',\n xAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n },\n {\n type: 'inside',\n yAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n }\n ],\n xAxis: {\n type: \"value\",\n name: \"X\",\n nameLocation: 'middle',\n nameGap: 30,\n splitLine: {\n lineStyle: {\n color: '#ccc'\n }\n }\n },\n yAxis: {\n type: \"value\",\n name: \"Y\",\n nameLocation: 'middle',\n nameGap: 50,\n splitLine: {\n lineStyle: {\n color: '#ccc'\n }\n }\n },\n series: [],\n animation: false\n };\n }\n\n onChartInit(ec: ECharts) {\n this.echartsInstance = ec;\n this.setupZrEventHandler(ec);\n }\n\n setupZrEventHandler(ec: ECharts) {\n this.zr = ec.getZr();\n this.zr.on('click', params => {\n let option: any = ec.getOption();\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active && this.chart?.clickToAddPoint) {\n const pointInPixel = [params.offsetX, params.offsetY];\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\n let newPoint: { x: number, y: number } = {\n x: +pointInGrid[0].toFixed(3),\n y: +pointInGrid[1].toFixed(3)\n };\n this.addPoint.emit(newPoint);\n }\n }\n });\n this.zr.on('mousemove', params => {\n const pointInPixel = [params.offsetX, params.offsetY];\n const option: any = ec.getOption();\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active) {\n this.zr?.setCursorStyle(\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\n );\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n let chart: Chart = changes['chart']?.currentValue;\n if (chart) {\n this.updateOption = {\n title: {\n text: chart.title,\n },\n toolbox: {\n feature: {\n myAddPoint: {\n show: chart.clickToAddPoint ?? false,\n title: chart.addPointCustomName ?? 'Add Point',\n icon: ADD_POINT_IMG_OFF,\n iconStatus: false,\n onclick: () => {\n let option: any = this.echartsInstance?.getOption();\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\n this.echartsInstance?.setOption({\n toolbox: {\n feature: {\n myAddPoint: {\n iconStatus: !status,\n icon: !status ? ADD_POINT_IMG_ON : ADD_POINT_IMG_OFF\n }\n }\n }\n })\n }\n }\n },\n },\n dataZoom: [\n { disabled: !chart.scrollToZoom ?? true },\n { disabled: !chart.scrollToZoom ?? true },\n ],\n legend: {\n data: chart.shapes.map(\n (shape: Shape) => ({\n name: shape.name,\n icon: 'circle'\n })\n ),\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\n show: chart.showLegend ?? false,\n orient: 'vertical',\n left: 'right',\n padding: [60, 20],\n type: 'scroll',\n textStyle: {\n width: 100,\n fontWeight: 'bold',\n overflow: 'break'\n }\n },\n xAxis: {\n type: chart.xAxisType,\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\n splitLine: {\n show: chart.showGrid ?? true\n }\n },\n yAxis: {\n type: chart.yAxisType,\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\n splitLine: {\n show: chart.showGrid ?? true\n }\n },\n series: this.createSeries(chart.shapes),\n animation: chart.hasAnimations,\n };\n }\n }\n\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\n shapes.forEach(\n (shape: Shape) => {\n switch (shape.variant) {\n case ShapeVariant.TRACE:\n series.push(this.createTrace(shape as Trace))\n break;\n default:\n break;\n }\n }\n );\n return series;\n }\n\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\n return {\n type: trace.type,\n name: trace.name,\n data: trace.points.map(\n (point: Point) => ({\n value: [point.x, point.y],\n symbol: point.symbol ?? 'circle',\n name: point.name,\n symbolSize: point.symbolSize ?? 2,\n emphasis: {\n disabled: true\n },\n label: {\n show: true,\n position: 'bottom',\n align: 'left',\n verticalAlign: 'bottom',\n formatter: () => `${point.name ?? ''}`,\n color: '#000',\n fontSize: 13,\n padding: [0, 0, 0, 10],\n width: 100,\n overflow: 'truncate',\n ellipsis: '...',\n fontWeight: 'bold'\n },\n tooltip: {\n formatter: ({ value }: { value: number[] }) => `\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\n <br>\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\n `\n }\n })\n ),\n color: trace.color,\n lineStyle: {\n width: trace.width,\n type: trace.style\n },\n smooth: trace.smooth ?? false\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KiwiChartComponent } from './chart.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport * as echarts from 'echarts/core';\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\nimport { LineChart, ScatterChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\necharts.use([\n TitleComponent,\n TooltipComponent,\n GridComponent,\n LineChart,\n CanvasRenderer,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n ScatterChart\n]);\n\n\n@NgModule({\n declarations: [\n KiwiChartComponent\n ],\n imports: [\n CommonModule,\n NgxEchartsModule.forRoot({ echarts })\n ],\n exports: [\n KiwiChartComponent\n ]\n})\nexport class KiwiChartModule { }\n","/*\n * Public API Surface of chart\n */\n\nexport * from './lib/chart.component';\nexport * from './lib/chart.module';\nexport * from './lib/models/chart.models';\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -51,6 +51,9 @@ class KiwiChartComponent {
51
51
  this.width = '100%';
52
52
  this.height = '480px';
53
53
  this.addPoint = new EventEmitter();
54
+ this.updateOption = {};
55
+ this.echartsInstance = null;
56
+ this.zr = null;
54
57
  this.chartOption = {
55
58
  title: {
56
59
  text: "Chart",
@@ -73,7 +76,7 @@ class KiwiChartComponent {
73
76
  borderType: 'dashed'
74
77
  },
75
78
  },
76
- saveAsImage: {},
79
+ saveAsImage: {}
77
80
  },
78
81
  left: 'center'
79
82
  },
@@ -96,19 +99,26 @@ class KiwiChartComponent {
96
99
  name: "X",
97
100
  nameLocation: 'middle',
98
101
  nameGap: 30,
102
+ splitLine: {
103
+ lineStyle: {
104
+ color: '#ccc'
105
+ }
106
+ }
99
107
  },
100
108
  yAxis: {
101
109
  type: "value",
102
110
  name: "Y",
103
111
  nameLocation: 'middle',
104
112
  nameGap: 50,
113
+ splitLine: {
114
+ lineStyle: {
115
+ color: '#ccc'
116
+ }
117
+ }
105
118
  },
106
119
  series: [],
107
120
  animation: false
108
121
  };
109
- this.updateOption = {};
110
- this.echartsInstance = null;
111
- this.zr = null;
112
122
  }
113
123
  onChartInit(ec) {
114
124
  this.echartsInstance = ec;
@@ -128,15 +138,6 @@ class KiwiChartComponent {
128
138
  y: +pointInGrid[1].toFixed(3)
129
139
  };
130
140
  this.addPoint.emit(newPoint);
131
- ec.setOption({
132
- series: this.createSeries([...this.chart.shapes, {
133
- color: 'crimson',
134
- points: [newPoint],
135
- type: TraceType.SCATTER,
136
- variant: ShapeVariant.TRACE,
137
- smooth: false
138
- }])
139
- });
140
141
  }
141
142
  }
142
143
  });
@@ -159,8 +160,8 @@ class KiwiChartComponent {
159
160
  toolbox: {
160
161
  feature: {
161
162
  myAddPoint: {
162
- show: chart.clickToAddPoint,
163
- title: 'Add Point',
163
+ show: chart.clickToAddPoint ?? false,
164
+ title: chart.addPointCustomName ?? 'Add Point',
164
165
  icon: ADD_POINT_IMG_OFF,
165
166
  iconStatus: false,
166
167
  onclick: () => {
@@ -180,11 +181,16 @@ class KiwiChartComponent {
180
181
  }
181
182
  },
182
183
  },
184
+ dataZoom: [
185
+ { disabled: !chart.scrollToZoom ?? true },
186
+ { disabled: !chart.scrollToZoom ?? true },
187
+ ],
183
188
  legend: {
184
189
  data: chart.shapes.map((shape) => ({
185
190
  name: shape.name,
186
191
  icon: 'circle'
187
192
  })),
193
+ selected: chart.shapes.reduce((accumulator, shape) => ({ ...accumulator, [shape.name]: shape.selectedByDefault ?? true }), {}),
188
194
  show: chart.showLegend ?? false,
189
195
  orient: 'vertical',
190
196
  left: 'right',
@@ -198,11 +204,17 @@ class KiwiChartComponent {
198
204
  },
199
205
  xAxis: {
200
206
  type: chart.xAxisType,
201
- name: chart.xAxisName,
207
+ name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,
208
+ splitLine: {
209
+ show: chart.showGrid ?? true
210
+ }
202
211
  },
203
212
  yAxis: {
204
213
  type: chart.yAxisType,
205
- name: chart.yAxisName,
214
+ name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,
215
+ splitLine: {
216
+ show: chart.showGrid ?? true
217
+ }
206
218
  },
207
219
  series: this.createSeries(chart.shapes),
208
220
  animation: chart.hasAnimations,
@@ -228,9 +240,12 @@ class KiwiChartComponent {
228
240
  name: trace.name,
229
241
  data: trace.points.map((point) => ({
230
242
  value: [point.x, point.y],
231
- symbol: point.symbol,
243
+ symbol: point.symbol ?? 'circle',
232
244
  name: point.name,
233
- symbolSize: point.symbolSize,
245
+ symbolSize: point.symbolSize ?? 2,
246
+ emphasis: {
247
+ disabled: true
248
+ },
234
249
  label: {
235
250
  show: true,
236
251
  position: 'bottom',
@@ -247,10 +262,9 @@ class KiwiChartComponent {
247
262
  },
248
263
  tooltip: {
249
264
  formatter: ({ value }) => `
250
- ${point.name ? `<strong>${point.name}</strong><br>` : ''}
251
- <strong>${this.chart?.xAxisName}:</strong> ${value[0]}
265
+ <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, "")}
252
266
  <br>
253
- <strong>${this.chart?.yAxisName}:</strong> ${value[1]}
267
+ <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, "")}
254
268
  `
255
269
  }
256
270
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEZklEQVRYhcWXX2xTVRzHP797t+FgSAkmpCskkGCYmcP23nZBmpiZYUKyIBIdUR80JiYmSnzQGPDBGNRoYsAXQ0wwvvgCYRqGgUj4o4txiRu9ZQUGqCNogm0lsNXVSGHt+flQumxlZR24+X1qz/n2+/2ec27v7/zgf4bMhNza2royn8+vF5HVwAPAfCAjIkljTKK+vv54b29v9j8N0NLSsriurm4r8DTwCHAd+F1ErqjqCLAUWAb4gTxwQlW/jMfj+wG96wBtbW33ZbPZrcDbgFHVfarabVnWD57njZXzW1tblxhjOlR1M7ARGDDGbDt16tSJGQcIhUKNItItIs3Ap8BHnuf9Nd1qSnBdtwl4D+gUkT0NDQ2v9fT05KsKEIlEIsaYg8AwsMnzvIvVGpcjHA4/p6pfqGpPbW3ts319faPlHGviF8dxVhljjohIoqamZt29mAPEYrG9xpjHRCQ0Nja2r7Oz0y7njA9Eo9GFhULhGHAN2HDy5Mm/78W8hHQ6nWxsbPxeRHaMjIz4UqnU0Ynz4zuQy+V2AUvy+fyTnuf9M51wJBJZ57ruhWpCeJ4XF5GXgTdDoVD7bQHC4fBq4CVVfSuRSPxRjagxJgCsroYLxeMADluWtYsJCy99+BA4G4/H91YreDcQke3Aw47jPDMeoKWlZbGqbhSRjwEzmwFisdhZ4JCIvDAeoLa2tgMwtm0fnk3zElS1G1gfjUYXQvEIOoCeqf6jswEROQTU5HK5dgBLRNYAZ+bCHMDzvKtAClgDxR1YdmtgLpEElgPUAAtU9Uo5IxQKhS3L6gXq7qTkuu6dKt7Pnuc1lQ+KyJ/GmIZSgBsicn85KZvNnvH5fFtUtVKAtcAbwJZK7saYyxWmFonItVKAqxRr+SQMDQ3dAA5WEnddFwDP87oqcSpBVf0i0gfFZ+ACsHKmIneL5ubmOorP3QUAS1WPAxva2tpq5iLAvHnzHgfq8/n8d1DcgQPAktHR0UfnIoCIbALiAwMDvwFY8Xh8CDgtIq/MtnkwGPQBW1T169KYBaCqO4DnHcdxZzOAbdvbARWR3ZMCxOPxAyLyk2VZn0x1a5kKInITuFmteTAYfBB4Hfhg4v2yVI5VRF5V1fClS5d2ViOYyWSOGGOi1XBd111k2/Y3wOlcLvfZxLnx1SaTybTf7x8CdgYCgWvJZLL/TqLDw8OFdDqdrMJ8PvAVxVdveyKRmHS7nrTdqVRqMBAIXFfVXYFAwBeNRo+fO3du2uaiEiKRyHJVPQo8BHR4nvdrOee2804mk71+v/888H4mk3nC7/efTqVSMy1WluM4LwL7gZxt2+2xWOz8VMSKnVEkEgkWCoXdIrIW2GdZ1p4VK1b82NXVVaj0m2Aw6LMsq0NEtgFNwOe5XG7b4OBgxRv2tL2h4zibReRdin3hVeAYcPFWRRsRkaUislxVm4E2iv1gt23b7/T39/8ynX7V3bHjOKtE5CkRaVfVJord8QIgA1ym+DI7pKrfzqSN+xdx6bFz0kwqIAAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEUUlEQVRYhcWXbWiVZRjHf9f9nJ3Nt6ZTWr4FguFgYoUT3Dnb2RkTioaZmKP6IEQvZ2sy6FX7EK2IssggdK8ig74ok9oMRSF1ZzsvOJgjp8GKJAPTJk6dibmzc56rD8eZ285xZ8ut/8fnvu7/9btvHu7ruuB/lkwk2LOnfZlEHesUVoAsQHSmwnVRLgpyOuq0j4VeKfjrgQIU1AbmiWVtNaqbFB4H/gZ+By4D14BsYAmwEIgCx0G/6fC5mxHRSQN4m9oy7MH0raDvAzYi+1VpvSXOjlO+vKHR8SW7O+cPOWKlgm5UWC8iP9rKtkC56/iEAdy7gossh7Qi5AK7nJL+2TFf3sB4p7kL3xDOsVU/BjYDjebPSKW/ujiaEkBRY2iN2hwUuGoJG0743OdSTTzGqz78oqJ7UfEPDpkXOqvW3hgdY0aQ14SXq81RRU/fjliu/5IcoL3ctc+gHsR+Mj3N3r+5udlKCuDeG5xjW9oCnL8lGZsS0U5G/vKCLhWrFNGivv7FnycFMEOyE5jvUHn2lC/v1njGnsawq6g+1JsKRMCX3y3IqwhvF9aHS8YAuGuDKwReRvXdExWuP1IxFWVx/D1ITe3lrn3AYYPupFr/PTiAZcynwNmOPve+VA0nI6NsV1jpyQ49f/dbQW1gHuh6Qb6gWuypBPBXuM8ChxDZchdAjCkF7NsRc3gqkw9LlVZgnXtvcA6AMUIp4H9Qf/14skzkEOAwUVMCYFRlFeiZ6UgO4PcVXwEuGbVXARjQJYJcmi6AO7qIylIABzDLjle2EfLWB/NsJAQ4Ezmoxgudpz6UtOIJ/Nxe7s5JsNKH0dnDAIMGHhodMiNy48xNZ2aZEUkIYKuuFXhLRMqSAaB6IclCJkr/MMAVjdfyETpS9cwgcDCZd1FDGFWl3ec6kBQguRaCdEL8IeoFlk3CZFLKbf7JCSxRpRfAqOgx4GlvdZtjOgCy+geKgRkGOQFgrKhpAebrw2n50wEAugHo9lfknwcw/krXr4j2qBHfVKf2NrXNFaFMRL8d/havSspHwEsFtYHVUwlgDzq3A5pGRs0IgA6fuwU4aYz5KlHXktBMNQJEUk3uqT/5GFAF8sm9/WX8BkTUGN4A8vquLvoyFcPZkYGjBnWnEruuoSsTYt+D9PRnZdbduzaiKfXUBcvi7bdWBSoKdqdiPp5WN3TNnKWD3wErVWJrAj7PiGd/bFdcF3pPhR2gX2dnXXznQFlZbLLJPTXtS7EcrcCjKuapgC+/e3RMwrngzk00AV0q5s1EG++rajWF2eEtIuwALmNFN3S8VvRbotDkk1Fj6Ak7Rg3CWlT3q2UaH5l7IXi/G/E2tc21b6eVIrINyAH2mFhkm7+y+GayPePOhkV14Y2IfnhnLryi8IPAOVXtE7gmItmKLgXJBbyAgrTaJvZB8PXCX8bzT3k69taEl9sWzyl2iSA5wAJgFnAduAD0qHIo3aQfmcgY9w8YoaK2AOtXYQAAAABJRU5ErkJggg==\";","// Chart describes the general parameters of the whole chart rendered by the canvas\nexport interface Chart {\n title: string;\n showLegend?: boolean;\n xAxisType: AxisType;\n xAxisName: string;\n xAxisUom?: string;\n yAxisType: AxisType;\n yAxisName: string;\n yAxisUom?: string;\n hasAnimations?: boolean; // If the chart should have rendering animations\n shapes: Shape[];\n clickToAddPoint: boolean; //If the chart should add a point when clicking in the grid area\n}\n\nexport type Shape = Trace;\n\nexport interface Trace {\n name?: string;\n variant: ShapeVariant;\n color?: string;\n type: TraceType;\n width?: number;\n points: Point[];\n smooth?: boolean;\n style?: TraceStyle;\n}\n\nexport interface Point extends BasePoint {\n name?: string;\n symbol?: PointSymbol;\n symbolSize?: number;\n}\n\nexport interface BasePoint {\n x: number;\n y: number\n}\n\nexport enum TraceType {\n LINE = \"line\",\n SCATTER = \"scatter\"\n}\n\nexport enum PointSymbol {\n NONE = \"none\",\n CIRCLE = \"circle\",\n TRIANGLE = \"triangle\",\n PIN = \"pin\",\n DIAMOND = \"diamond\"\n}\n\nexport enum TraceStyle {\n SOLID = \"solid\",\n DASHED = \"dashed\",\n DOTTED = \"dotted\"\n}\n\nexport enum AxisType {\n VALUE = \"value\",\n CATEGORY = \"category\",\n TIME = \"time\",\n LOG = \"log\"\n}\n\nexport enum ShapeVariant {\n TRACE,\n POLYGON,\n CIRCLE\n}","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\nimport { ADD_POINT_IMG_OFF, ADD_POINT_IMG_ON } from './constants/chart.constants';\nimport { Chart, Shape, ShapeVariant, Trace, Point, TraceType, BasePoint } from './models/chart.models';\n\n@Component({\n selector: 'kiwi-chart',\n template: `\n <div \n echarts \n [options]=\"chartOption\" \n [merge]=\"updateOption\"\n [ngStyle]=\"{\n 'width': width,\n 'height': height\n }\"\n (chartInit)=\"onChartInit($event)\"\n ></div> \n `,\n styles: [`\n `]\n})\nexport class KiwiChartComponent implements OnChanges {\n\n @Input() chart: Chart | null = null;\n @Input() width: string = '100%';\n @Input() height: string = '480px';\n\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\n\n chartOption: EChartsOption = {\n title: {\n text: \"Chart\",\n },\n tooltip: {\n axisPointer: {\n type: 'cross',\n crossStyle: {\n color: '#bebebe'\n }\n }\n },\n toolbox: {\n orient: 'horizontal',\n feature: {\n dataZoom: {\n brushStyle: {\n borderColor: '#000',\n borderWidth: 1,\n borderType: 'dashed'\n },\n },\n saveAsImage: {},\n },\n left: 'center'\n },\n dataZoom: [\n {\n type: 'inside',\n xAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n },\n {\n type: 'inside',\n yAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n }\n ],\n xAxis: {\n type: \"value\",\n name: \"X\",\n nameLocation: 'middle',\n nameGap: 30,\n },\n yAxis: {\n type: \"value\",\n name: \"Y\",\n nameLocation: 'middle',\n nameGap: 50,\n },\n series: [],\n animation: false\n };\n\n updateOption: EChartsOption = {};\n\n echartsInstance: ECharts | null = null;\n\n zr: zrender.ZRenderType | null = null;\n\n constructor() { }\n\n onChartInit(ec: ECharts) {\n this.echartsInstance = ec;\n this.setupZrEventHandler(ec);\n }\n\n setupZrEventHandler(ec: ECharts) {\n this.zr = ec.getZr();\n this.zr.on('click', params => {\n let option: any = ec.getOption();\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active && this.chart?.clickToAddPoint) {\n const pointInPixel = [params.offsetX, params.offsetY];\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\n let newPoint: { x: number, y: number } = {\n x: +pointInGrid[0].toFixed(3),\n y: +pointInGrid[1].toFixed(3)\n };\n this.addPoint.emit(newPoint);\n ec.setOption({\n series: this.createSeries([...this.chart.shapes, {\n color: 'crimson',\n points: [newPoint],\n type: TraceType.SCATTER,\n variant: ShapeVariant.TRACE,\n smooth: false\n }])\n });\n }\n }\n });\n this.zr.on('mousemove', params => {\n const pointInPixel = [params.offsetX, params.offsetY];\n const option: any = ec.getOption();\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active) {\n this.zr?.setCursorStyle(\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\n );\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n let chart: Chart = changes['chart']?.currentValue;\n if (chart) {\n this.updateOption = {\n title: {\n text: chart.title,\n },\n toolbox: {\n feature: {\n myAddPoint: {\n show: chart.clickToAddPoint,\n title: 'Add Point',\n icon: ADD_POINT_IMG_OFF,\n iconStatus: false,\n onclick: () => {\n let option: any = this.echartsInstance?.getOption();\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\n this.echartsInstance?.setOption({\n toolbox: {\n feature: {\n myAddPoint: {\n iconStatus: !status,\n icon: !status ? ADD_POINT_IMG_ON : ADD_POINT_IMG_OFF\n }\n }\n }\n })\n }\n }\n },\n },\n legend: {\n data: chart.shapes.map(\n (shape: Shape) => ({\n name: shape.name,\n icon: 'circle'\n })\n ),\n show: chart.showLegend ?? false,\n orient: 'vertical',\n left: 'right',\n padding: [60, 20],\n type: 'scroll',\n textStyle: {\n width: 100,\n fontWeight: 'bold',\n overflow: 'break'\n }\n },\n xAxis: {\n type: chart.xAxisType,\n name: chart.xAxisName,\n },\n yAxis: {\n type: chart.yAxisType,\n name: chart.yAxisName,\n },\n series: this.createSeries(chart.shapes),\n animation: chart.hasAnimations,\n };\n }\n }\n\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\n shapes.forEach(\n (shape: Shape) => {\n switch (shape.variant) {\n case ShapeVariant.TRACE:\n series.push(this.createTrace(shape as Trace))\n break;\n default:\n break;\n }\n }\n );\n return series;\n }\n\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\n return {\n type: trace.type,\n name: trace.name,\n data: trace.points.map(\n (point: Point) => ({\n value: [point.x, point.y],\n symbol: point.symbol,\n name: point.name,\n symbolSize: point.symbolSize,\n label: {\n show: true,\n position: 'bottom',\n align: 'left',\n verticalAlign: 'bottom',\n formatter: () => `${point.name ?? ''}`,\n color: '#000',\n fontSize: 13,\n padding: [0, 0, 0, 10],\n width: 100,\n overflow: 'truncate',\n ellipsis: '...',\n fontWeight: 'bold'\n },\n tooltip: {\n formatter: ({ value }: { value: number[] }) => `\n ${point.name ? `<strong>${point.name}</strong><br>` : ''}\n <strong>${this.chart?.xAxisName}:</strong> ${value[0]}\n <br>\n <strong>${this.chart?.yAxisName}:</strong> ${value[1]}\n `\n }\n })\n ),\n color: trace.color,\n lineStyle: {\n width: trace.width,\n type: trace.style\n },\n smooth: trace.smooth ?? false\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KiwiChartComponent } from './chart.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport * as echarts from 'echarts/core';\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\nimport { LineChart, ScatterChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\necharts.use([\n TitleComponent,\n TooltipComponent,\n GridComponent,\n LineChart,\n CanvasRenderer,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n ScatterChart\n]);\n\n\n@NgModule({\n declarations: [\n KiwiChartComponent\n ],\n imports: [\n CommonModule,\n NgxEchartsModule.forRoot({ echarts })\n ],\n exports: [\n KiwiChartComponent\n ]\n})\nexport class KiwiChartModule { }\n","/*\n * Public API Surface of chart\n */\n\nexport * from './lib/chart.component';\nexport * from './lib/chart.module';\nexport * from './lib/models/chart.models';\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEZklEQVRYhcWXX2xTVRzHP797t+FgSAkmpCskkGCYmcP23nZBmpiZYUKyIBIdUR80JiYmSnzQGPDBGNRoYsAXQ0wwvvgCYRqGgUj4o4txiRu9ZQUGqCNogm0lsNXVSGHt+flQumxlZR24+X1qz/n2+/2ec27v7/zgf4bMhNza2royn8+vF5HVwAPAfCAjIkljTKK+vv54b29v9j8N0NLSsriurm4r8DTwCHAd+F1ErqjqCLAUWAb4gTxwQlW/jMfj+wG96wBtbW33ZbPZrcDbgFHVfarabVnWD57njZXzW1tblxhjOlR1M7ARGDDGbDt16tSJGQcIhUKNItItIs3Ap8BHnuf9Nd1qSnBdtwl4D+gUkT0NDQ2v9fT05KsKEIlEIsaYg8AwsMnzvIvVGpcjHA4/p6pfqGpPbW3ts319faPlHGviF8dxVhljjohIoqamZt29mAPEYrG9xpjHRCQ0Nja2r7Oz0y7njA9Eo9GFhULhGHAN2HDy5Mm/78W8hHQ6nWxsbPxeRHaMjIz4UqnU0Ynz4zuQy+V2AUvy+fyTnuf9M51wJBJZ57ruhWpCeJ4XF5GXgTdDoVD7bQHC4fBq4CVVfSuRSPxRjagxJgCsroYLxeMADluWtYsJCy99+BA4G4/H91YreDcQke3Aw47jPDMeoKWlZbGqbhSRjwEzmwFisdhZ4JCIvDAeoLa2tgMwtm0fnk3zElS1G1gfjUYXQvEIOoCeqf6jswEROQTU5HK5dgBLRNYAZ+bCHMDzvKtAClgDxR1YdmtgLpEElgPUAAtU9Uo5IxQKhS3L6gXq7qTkuu6dKt7Pnuc1lQ+KyJ/GmIZSgBsicn85KZvNnvH5fFtUtVKAtcAbwJZK7saYyxWmFonItVKAqxRr+SQMDQ3dAA5WEnddFwDP87oqcSpBVf0i0gfFZ+ACsHKmIneL5ubmOorP3QUAS1WPAxva2tpq5iLAvHnzHgfq8/n8d1DcgQPAktHR0UfnIoCIbALiAwMDvwFY8Xh8CDgtIq/MtnkwGPQBW1T169KYBaCqO4DnHcdxZzOAbdvbARWR3ZMCxOPxAyLyk2VZn0x1a5kKInITuFmteTAYfBB4Hfhg4v2yVI5VRF5V1fClS5d2ViOYyWSOGGOi1XBd111k2/Y3wOlcLvfZxLnx1SaTybTf7x8CdgYCgWvJZLL/TqLDw8OFdDqdrMJ8PvAVxVdveyKRmHS7nrTdqVRqMBAIXFfVXYFAwBeNRo+fO3du2uaiEiKRyHJVPQo8BHR4nvdrOee2804mk71+v/888H4mk3nC7/efTqVSMy1WluM4LwL7gZxt2+2xWOz8VMSKnVEkEgkWCoXdIrIW2GdZ1p4VK1b82NXVVaj0m2Aw6LMsq0NEtgFNwOe5XG7b4OBgxRv2tL2h4zibReRdin3hVeAYcPFWRRsRkaUislxVm4E2iv1gt23b7/T39/8ynX7V3bHjOKtE5CkRaVfVJord8QIgA1ym+DI7pKrfzqSN+xdx6bFz0kwqIAAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAEUUlEQVRYhcWXbWiVZRjHf9f9nJ3Nt6ZTWr4FguFgYoUT3Dnb2RkTioaZmKP6IEQvZ2sy6FX7EK2IssggdK8ig74ok9oMRSF1ZzsvOJgjp8GKJAPTJk6dibmzc56rD8eZ285xZ8ut/8fnvu7/9btvHu7ruuB/lkwk2LOnfZlEHesUVoAsQHSmwnVRLgpyOuq0j4VeKfjrgQIU1AbmiWVtNaqbFB4H/gZ+By4D14BsYAmwEIgCx0G/6fC5mxHRSQN4m9oy7MH0raDvAzYi+1VpvSXOjlO+vKHR8SW7O+cPOWKlgm5UWC8iP9rKtkC56/iEAdy7gossh7Qi5AK7nJL+2TFf3sB4p7kL3xDOsVU/BjYDjebPSKW/ujiaEkBRY2iN2hwUuGoJG0743OdSTTzGqz78oqJ7UfEPDpkXOqvW3hgdY0aQ14SXq81RRU/fjliu/5IcoL3ctc+gHsR+Mj3N3r+5udlKCuDeG5xjW9oCnL8lGZsS0U5G/vKCLhWrFNGivv7FnycFMEOyE5jvUHn2lC/v1njGnsawq6g+1JsKRMCX3y3IqwhvF9aHS8YAuGuDKwReRvXdExWuP1IxFWVx/D1ITe3lrn3AYYPupFr/PTiAZcynwNmOPve+VA0nI6NsV1jpyQ49f/dbQW1gHuh6Qb6gWuypBPBXuM8ChxDZchdAjCkF7NsRc3gqkw9LlVZgnXtvcA6AMUIp4H9Qf/14skzkEOAwUVMCYFRlFeiZ6UgO4PcVXwEuGbVXARjQJYJcmi6AO7qIylIABzDLjle2EfLWB/NsJAQ4Ezmoxgudpz6UtOIJ/Nxe7s5JsNKH0dnDAIMGHhodMiNy48xNZ2aZEUkIYKuuFXhLRMqSAaB6IclCJkr/MMAVjdfyETpS9cwgcDCZd1FDGFWl3ec6kBQguRaCdEL8IeoFlk3CZFLKbf7JCSxRpRfAqOgx4GlvdZtjOgCy+geKgRkGOQFgrKhpAebrw2n50wEAugHo9lfknwcw/krXr4j2qBHfVKf2NrXNFaFMRL8d/havSspHwEsFtYHVUwlgDzq3A5pGRs0IgA6fuwU4aYz5KlHXktBMNQJEUk3uqT/5GFAF8sm9/WX8BkTUGN4A8vquLvoyFcPZkYGjBnWnEruuoSsTYt+D9PRnZdbduzaiKfXUBcvi7bdWBSoKdqdiPp5WN3TNnKWD3wErVWJrAj7PiGd/bFdcF3pPhR2gX2dnXXznQFlZbLLJPTXtS7EcrcCjKuapgC+/e3RMwrngzk00AV0q5s1EG++rajWF2eEtIuwALmNFN3S8VvRbotDkk1Fj6Ak7Rg3CWlT3q2UaH5l7IXi/G/E2tc21b6eVIrINyAH2mFhkm7+y+GayPePOhkV14Y2IfnhnLryi8IPAOVXtE7gmItmKLgXJBbyAgrTaJvZB8PXCX8bzT3k69taEl9sWzyl2iSA5wAJgFnAduAD0qHIo3aQfmcgY9w8YoaK2AOtXYQAAAABJRU5ErkJggg==\";","export interface Chart {\n title: string;\n showLegend?: boolean;\n xAxisType: AxisType;\n xAxisName: string;\n xAxisUom?: string;\n yAxisType: AxisType;\n yAxisName: string;\n yAxisUom?: string;\n hasAnimations?: boolean;//If the chart should have rendering animations\n shapes: Shape[];\n clickToAddPoint?: boolean;//If the chart should add a point when clicking in the grid area\n addPointCustomName?: string;//We can also choose a custom name for the Add Point button\n scrollToZoom?: boolean;//Use the scroll to zoom in/out of the chart\n showGrid?: boolean;//Whether to show the chart grid lines or not\n}\n\nexport type Shape = Trace;\n\nexport interface Trace {\n name?: string;\n variant: ShapeVariant;\n color?: string;\n type: TraceType;\n width?: number;\n points: Point[];\n smooth?: boolean;\n style?: TraceStyle;\n selectedByDefault?: boolean;\n}\n\nexport interface Point extends BasePoint {\n name?: string;\n symbol?: PointSymbol;\n symbolSize?: number;\n}\n\nexport interface BasePoint {\n x: number;\n y: number\n}\n\nexport enum TraceType {\n LINE = \"line\",\n SCATTER = \"scatter\"\n}\n\nexport enum PointSymbol {\n NONE = \"none\",\n CIRCLE = \"circle\",\n TRIANGLE = \"triangle\",\n PIN = \"pin\",\n DIAMOND = \"diamond\"\n}\n\nexport enum TraceStyle {\n SOLID = \"solid\",\n DASHED = \"dashed\",\n DOTTED = \"dotted\"\n}\n\nexport enum AxisType {\n VALUE = \"value\",\n CATEGORY = \"category\",\n TIME = \"time\",\n LOG = \"log\"\n}\n\nexport enum ShapeVariant {\n TRACE,\n POLYGON,\n CIRCLE\n}","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\nimport { ADD_POINT_IMG_OFF, ADD_POINT_IMG_ON } from './constants/chart.constants';\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\n\n@Component({\n selector: 'kiwi-chart',\n template: `\n <div \n echarts \n [options]=\"chartOption\" \n [merge]=\"updateOption\"\n [ngStyle]=\"{\n 'width': width,\n 'height': height\n }\"\n (chartInit)=\"onChartInit($event)\"\n ></div> \n `,\n styles: [`\n `]\n})\nexport class KiwiChartComponent implements OnChanges {\n\n @Input() chart: Chart | null = null;\n\n @Input() width: string = '100%';\n\n @Input() height: string = '480px';\n\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\n\n chartOption: EChartsOption;\n\n updateOption: EChartsOption = {};\n\n echartsInstance: ECharts | null = null;\n\n zr: zrender.ZRenderType | null = null;\n\n constructor() {\n this.chartOption = {\n title: {\n text: \"Chart\",\n },\n tooltip: {\n axisPointer: {\n type: 'cross',\n crossStyle: {\n color: '#bebebe'\n }\n }\n },\n toolbox: {\n orient: 'horizontal',\n feature: {\n dataZoom: {\n brushStyle: {\n borderColor: '#000',\n borderWidth: 1,\n borderType: 'dashed'\n },\n },\n saveAsImage: {}\n },\n left: 'center'\n },\n dataZoom: [\n {\n type: 'inside',\n xAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n },\n {\n type: 'inside',\n yAxisIndex: [0],\n throttle: 0,\n filterMode: 'none'\n }\n ],\n xAxis: {\n type: \"value\",\n name: \"X\",\n nameLocation: 'middle',\n nameGap: 30,\n splitLine: {\n lineStyle: {\n color: '#ccc'\n }\n }\n },\n yAxis: {\n type: \"value\",\n name: \"Y\",\n nameLocation: 'middle',\n nameGap: 50,\n splitLine: {\n lineStyle: {\n color: '#ccc'\n }\n }\n },\n series: [],\n animation: false\n };\n }\n\n onChartInit(ec: ECharts) {\n this.echartsInstance = ec;\n this.setupZrEventHandler(ec);\n }\n\n setupZrEventHandler(ec: ECharts) {\n this.zr = ec.getZr();\n this.zr.on('click', params => {\n let option: any = ec.getOption();\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active && this.chart?.clickToAddPoint) {\n const pointInPixel = [params.offsetX, params.offsetY];\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\n let newPoint: { x: number, y: number } = {\n x: +pointInGrid[0].toFixed(3),\n y: +pointInGrid[1].toFixed(3)\n };\n this.addPoint.emit(newPoint);\n }\n }\n });\n this.zr.on('mousemove', params => {\n const pointInPixel = [params.offsetX, params.offsetY];\n const option: any = ec.getOption();\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\n if (active) {\n this.zr?.setCursorStyle(\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\n );\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n let chart: Chart = changes['chart']?.currentValue;\n if (chart) {\n this.updateOption = {\n title: {\n text: chart.title,\n },\n toolbox: {\n feature: {\n myAddPoint: {\n show: chart.clickToAddPoint ?? false,\n title: chart.addPointCustomName ?? 'Add Point',\n icon: ADD_POINT_IMG_OFF,\n iconStatus: false,\n onclick: () => {\n let option: any = this.echartsInstance?.getOption();\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\n this.echartsInstance?.setOption({\n toolbox: {\n feature: {\n myAddPoint: {\n iconStatus: !status,\n icon: !status ? ADD_POINT_IMG_ON : ADD_POINT_IMG_OFF\n }\n }\n }\n })\n }\n }\n },\n },\n dataZoom: [\n { disabled: !chart.scrollToZoom ?? true },\n { disabled: !chart.scrollToZoom ?? true },\n ],\n legend: {\n data: chart.shapes.map(\n (shape: Shape) => ({\n name: shape.name,\n icon: 'circle'\n })\n ),\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\n show: chart.showLegend ?? false,\n orient: 'vertical',\n left: 'right',\n padding: [60, 20],\n type: 'scroll',\n textStyle: {\n width: 100,\n fontWeight: 'bold',\n overflow: 'break'\n }\n },\n xAxis: {\n type: chart.xAxisType,\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\n splitLine: {\n show: chart.showGrid ?? true\n }\n },\n yAxis: {\n type: chart.yAxisType,\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\n splitLine: {\n show: chart.showGrid ?? true\n }\n },\n series: this.createSeries(chart.shapes),\n animation: chart.hasAnimations,\n };\n }\n }\n\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\n shapes.forEach(\n (shape: Shape) => {\n switch (shape.variant) {\n case ShapeVariant.TRACE:\n series.push(this.createTrace(shape as Trace))\n break;\n default:\n break;\n }\n }\n );\n return series;\n }\n\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\n return {\n type: trace.type,\n name: trace.name,\n data: trace.points.map(\n (point: Point) => ({\n value: [point.x, point.y],\n symbol: point.symbol ?? 'circle',\n name: point.name,\n symbolSize: point.symbolSize ?? 2,\n emphasis: {\n disabled: true\n },\n label: {\n show: true,\n position: 'bottom',\n align: 'left',\n verticalAlign: 'bottom',\n formatter: () => `${point.name ?? ''}`,\n color: '#000',\n fontSize: 13,\n padding: [0, 0, 0, 10],\n width: 100,\n overflow: 'truncate',\n ellipsis: '...',\n fontWeight: 'bold'\n },\n tooltip: {\n formatter: ({ value }: { value: number[] }) => `\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\n <br>\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\n `\n }\n })\n ),\n color: trace.color,\n lineStyle: {\n width: trace.width,\n type: trace.style\n },\n smooth: trace.smooth ?? false\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KiwiChartComponent } from './chart.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport * as echarts from 'echarts/core';\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\nimport { LineChart, ScatterChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\necharts.use([\n TitleComponent,\n TooltipComponent,\n GridComponent,\n LineChart,\n CanvasRenderer,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n ScatterChart\n]);\n\n\n@NgModule({\n declarations: [\n KiwiChartComponent\n ],\n imports: [\n CommonModule,\n NgxEchartsModule.forRoot({ echarts })\n ],\n exports: [\n KiwiChartComponent\n ]\n})\nexport class KiwiChartModule { }\n","/*\n * Public API Surface of chart\n */\n\nexport * from './lib/chart.component';\nexport * from './lib/chart.module';\nexport * from './lib/models/chart.models';\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@ export interface Chart {
9
9
  yAxisUom?: string;
10
10
  hasAnimations?: boolean;
11
11
  shapes: Shape[];
12
- clickToAddPoint: boolean;
12
+ clickToAddPoint?: boolean;
13
+ addPointCustomName?: string;
14
+ scrollToZoom?: boolean;
15
+ showGrid?: boolean;
13
16
  }
14
17
  export declare type Shape = Trace;
15
18
  export interface Trace {
@@ -21,6 +24,7 @@ export interface Trace {
21
24
  points: Point[];
22
25
  smooth?: boolean;
23
26
  style?: TraceStyle;
27
+ selectedByDefault?: boolean;
24
28
  }
25
29
  export interface Point extends BasePoint {
26
30
  name?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiwibit/chart",
3
- "version": "1.0.0",
3
+ "version": "1.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.2.0",
6
6
  "@angular/core": "^13.2.0"