@kiwibit/chart 1.0.2 → 1.0.7

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.
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
+ import { interval } from 'rxjs';
3
4
  import * as i1 from 'ngx-echarts';
4
5
  import { NgxEchartsModule } from 'ngx-echarts';
5
6
  import * as i2 from '@angular/common';
@@ -9,8 +10,8 @@ import { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZ
9
10
  import { LineChart, ScatterChart } from 'echarts/charts';
10
11
  import { CanvasRenderer } from 'echarts/renderers';
11
12
 
12
- 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==";
13
- 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==";
13
+ const ADD_POINT_IMG_OFF = "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgElEQVR4nO2bTUsbURSG3zMmkWLoThetboq46AdI7b+woLYQrGNdRjDSTW0tXbkralctEWN34kQY2hJB6J+oxYK0lOhK2y7iSpSiyeR0ESe5M34sJs4cP+ZZ3TlzhrznZe5J5uYOEHK1odNOmqYZKxxYfQD3gHAfQCuApmCkeWYPwBYY31hDriUSySUSiYOTkk804H02+1hjTAG45YfKoCBgg8EvU7r++YTzTkzTbCiUSpNgPPdfXpDw20I+Pz4xMVFWo5o77XIWDwA01tzR8eZIVD04vO0/unL2Ac6wpmX/FYtrL4aG9nzVWSfT8/NN16LRu7BYJ0ISQKN6ngh9IwMDueqxPTBNM1Yoln5CnfOE35aldT972v89AO1nTtowOkG0DMbNWpTWm6MNd+zGWJ0ClW7vaHj7F7l4AEjp+iqYHwLYr0W5fbtY7LGPlB7APXDAmYtcvE1K11cB+qDGGHSMAYQuNUkDDN/VBQSx5a7lgT1QvwVuqBnlaPSHn6KChGOxNVeo2hNUA+JqRiqR2PVTVJAcU0u11iO/A64aEakPnllc7OYyzwGwiLXhkcH+LxI6xO4ALvMsKn2njamckdIhOQValXGblIgr3wNCA6QFSBMaIC1AmtAAaQHShAZIC5AmNEBagDShAdICpPG8HjCzuNjNzBnnkrN30kaWPV66Rawlva4neL4DuMyzZ1V8nbTWs55w5aeAZwOItSSArTPU4pVNVP4C84TnHnA45zyv5LjnfEofOHWvgl+EU0BagDShAdICpAkNkBYgTWiAtABpQgOkBUgTGiAtQJrQAMHPVh+lN6VEiBmgrCfU9TxfL2J7hOpdTzgrwh6gjB176dKmGccl4d3CwnVXaMceqAb8UTO0YvG2n6KCJAK4a/lrD2oGMFbUDItp0F9ZwcHUoLtCX+1B1QDWkFMziJBMG0anz9p8J20YnQx2fsswVWutGtASieQI2FDSGkG0fJFNsF+YICBWi9J6ZG9nqXrkuuARQJ/UGAMHBJojtgyOxdbO+ybqtGnGuVS6R0wDDE46iwcY3Duq68cbAABpw5gGaCwIsUHDoMlR/ckrNXb0rbF8fpwY08HJCgjC1Hb+1+uj4ROYyWZ7mWka4HZ/lfkNrTPKY+pt7zh72qWZTCZqxeO9h+/YdKGywfm8/0DaReUZYwVMucjeztLw8HBRWlTIeeU/aykWi4H+qgIAAAAASUVORK5CYII=";
14
+ const ADD_POINT_IMG_ON = "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC";
14
15
 
15
16
  var TraceType;
16
17
  (function (TraceType) {
@@ -34,27 +35,88 @@ var TraceStyle;
34
35
  var AxisType;
35
36
  (function (AxisType) {
36
37
  AxisType["VALUE"] = "value";
37
- AxisType["CATEGORY"] = "category";
38
- AxisType["TIME"] = "time";
39
- AxisType["LOG"] = "log";
40
38
  })(AxisType || (AxisType = {}));
41
39
  var ShapeVariant;
42
40
  (function (ShapeVariant) {
43
41
  ShapeVariant[ShapeVariant["TRACE"] = 0] = "TRACE";
44
- ShapeVariant[ShapeVariant["POLYGON"] = 1] = "POLYGON";
45
- ShapeVariant[ShapeVariant["CIRCLE"] = 2] = "CIRCLE";
46
42
  })(ShapeVariant || (ShapeVariant = {}));
47
43
 
48
44
  class KiwiChartComponent {
49
- constructor() {
45
+ constructor(cd) {
46
+ this.cd = cd;
47
+ /**
48
+ * The Chart Object rendered by the canvas. For all the available options refer
49
+ * to Chart interface in the models folder.
50
+ *
51
+ * @type {(Chart | null)}
52
+ * @memberof KiwiChartComponent
53
+ */
50
54
  this.chart = null;
55
+ /**
56
+ * Width and Height of the chart area. The dimensions refer to the father component
57
+ * into which the kiwi-chart is inserted. For example in an empty page the width/height
58
+ * of the chart can take the whole available space in the page.
59
+ *
60
+ * @type {string}
61
+ * @memberof KiwiChartComponent
62
+ */
51
63
  this.width = '100%';
52
64
  this.height = '480px';
65
+ /**
66
+ * This property simply activates or not the dark theme of the chart
67
+ * defined by the Echarts library. In addition the background color can be custom
68
+ * so that the chart can match the background of the application in which it's used.
69
+ *
70
+ * @type {boolean}
71
+ * @memberof KiwiChartComponent
72
+ */
73
+ this.darkTheme = false;
74
+ /**
75
+ * Output event used to emit to the father component the coordinates
76
+ * of the point clicked in the chart area. This functionality to be used must
77
+ * have the property "clickToAddPoint" in the Chart object set to true.
78
+ *
79
+ * @type {EventEmitter<BasePoint>}
80
+ * @memberof KiwiChartComponent
81
+ */
53
82
  this.addPoint = new EventEmitter();
83
+ /**
84
+ * The object used by echarts to initially create the Chart.
85
+ *
86
+ * @type {EChartsOption}
87
+ * @memberof KiwiChartComponent
88
+ */
89
+ this.chartOption = {};
90
+ /**
91
+ * The object used by echarts to update an already initialized Chart.
92
+ *
93
+ * @type {EChartsOption}
94
+ * @memberof KiwiChartComponent
95
+ */
96
+ this.updateOption = {};
97
+ /**
98
+ * The instance of the Chart.
99
+ *
100
+ * @type {(ECharts | null)}
101
+ * @memberof KiwiChartComponent
102
+ */
103
+ this.echartsInstance = null;
104
+ /**
105
+ * Used to perform actions (as point addition based on the cursor position) on the chart.
106
+ *
107
+ * @type {(zrender.ZRenderType | null)}
108
+ * @memberof KiwiChartComponent
109
+ */
110
+ this.zr = null;
111
+ this.subscriptions = [];
112
+ }
113
+ ngOnInit() {
114
+ // Initial Chart Configuration
54
115
  this.chartOption = {
55
116
  title: {
56
117
  text: "Chart",
57
118
  },
119
+ backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent',
58
120
  tooltip: {
59
121
  axisPointer: {
60
122
  type: 'cross',
@@ -96,19 +158,35 @@ class KiwiChartComponent {
96
158
  name: "X",
97
159
  nameLocation: 'middle',
98
160
  nameGap: 30,
161
+ splitLine: {
162
+ lineStyle: {
163
+ color: this.darkTheme ? '#595959' : '#ccc'
164
+ }
165
+ }
99
166
  },
100
167
  yAxis: {
101
168
  type: "value",
102
169
  name: "Y",
103
170
  nameLocation: 'middle',
104
171
  nameGap: 50,
172
+ splitLine: {
173
+ lineStyle: {
174
+ color: this.darkTheme ? '#595959' : '#ccc'
175
+ }
176
+ }
105
177
  },
106
178
  series: [],
107
179
  animation: false
108
180
  };
109
- this.updateOption = {};
110
- this.echartsInstance = null;
111
- this.zr = null;
181
+ /**
182
+ * This is a manual change detection running every 200ms, the memory should not be much afflicted.
183
+ * It's necessary because when interacting with the chart (for example addPoint),
184
+ * Angular loses the change detection and the point is not added in the chart canvas.
185
+ */
186
+ this.subscriptions.push(interval(200)
187
+ .subscribe(() => {
188
+ this.cd.detectChanges();
189
+ }));
112
190
  }
113
191
  onChartInit(ec) {
114
192
  this.echartsInstance = ec;
@@ -116,6 +194,10 @@ class KiwiChartComponent {
116
194
  }
117
195
  setupZrEventHandler(ec) {
118
196
  this.zr = ec.getZr();
197
+ /**
198
+ * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)
199
+ * and emits the point coordinates to the father component.
200
+ */
119
201
  this.zr.on('click', params => {
120
202
  let option = ec.getOption();
121
203
  let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;
@@ -128,21 +210,13 @@ class KiwiChartComponent {
128
210
  y: +pointInGrid[1].toFixed(3)
129
211
  };
130
212
  this.addPoint.emit(newPoint);
131
- ec.setOption({
132
- series: this.createSeries([...this.chart.shapes, {
133
- color: 'crimson',
134
- points: [{
135
- ...newPoint,
136
- symbolSize: 10
137
- }],
138
- type: TraceType.SCATTER,
139
- variant: ShapeVariant.TRACE,
140
- smooth: false
141
- }])
142
- });
143
213
  }
144
214
  }
145
215
  });
216
+ /**
217
+ * This is used to change the cursor's icon when the selected action is
218
+ * click to add point and viceversa back to default icon when it's not selected.
219
+ */
146
220
  this.zr.on('mousemove', params => {
147
221
  const pointInPixel = [params.offsetX, params.offsetY];
148
222
  const option = ec.getOption();
@@ -163,7 +237,7 @@ class KiwiChartComponent {
163
237
  feature: {
164
238
  myAddPoint: {
165
239
  show: chart.clickToAddPoint ?? false,
166
- title: 'Add Point',
240
+ title: chart.addPointCustomName ?? 'Add Point',
167
241
  icon: ADD_POINT_IMG_OFF,
168
242
  iconStatus: false,
169
243
  onclick: () => {
@@ -207,10 +281,16 @@ class KiwiChartComponent {
207
281
  xAxis: {
208
282
  type: chart.xAxisType,
209
283
  name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,
284
+ splitLine: {
285
+ show: chart.showGrid ?? true
286
+ }
210
287
  },
211
288
  yAxis: {
212
289
  type: chart.yAxisType,
213
290
  name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,
291
+ splitLine: {
292
+ show: chart.showGrid ?? true
293
+ }
214
294
  },
215
295
  series: this.createSeries(chart.shapes),
216
296
  animation: chart.hasAnimations,
@@ -239,6 +319,9 @@ class KiwiChartComponent {
239
319
  symbol: point.symbol ?? 'circle',
240
320
  name: point.name,
241
321
  symbolSize: point.symbolSize ?? 2,
322
+ itemStyle: {
323
+ color: point.color
324
+ },
242
325
  emphasis: {
243
326
  disabled: true
244
327
  },
@@ -248,17 +331,16 @@ class KiwiChartComponent {
248
331
  align: 'left',
249
332
  verticalAlign: 'bottom',
250
333
  formatter: () => `${point.name ?? ''}`,
251
- color: '#000',
252
334
  fontSize: 13,
253
335
  padding: [0, 0, 0, 10],
254
336
  width: 100,
255
337
  overflow: 'truncate',
256
338
  ellipsis: '...',
257
- fontWeight: 'bold'
339
+ fontWeight: 'bold',
340
+ color: this.darkTheme ? '#fff' : '#000'
258
341
  },
259
342
  tooltip: {
260
343
  formatter: ({ value }) => `
261
- ${point.name ? `<strong>${point.name}</strong><br>` : ''}
262
344
  <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, "")}
263
345
  <br>
264
346
  <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, "")}
@@ -273,9 +355,12 @@ class KiwiChartComponent {
273
355
  smooth: trace.smooth ?? false
274
356
  };
275
357
  }
358
+ ngOnDestroy() {
359
+ this.subscriptions.forEach((subscription) => subscription.unsubscribe());
360
+ }
276
361
  }
277
- KiwiChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: KiwiChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
278
- KiwiChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: KiwiChartComponent, selector: "kiwi-chart", inputs: { chart: "chart", width: "width", height: "height" }, outputs: { addPoint: "addPoint" }, usesOnChanges: true, ngImport: i0, template: `
362
+ KiwiChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: KiwiChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
363
+ KiwiChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: KiwiChartComponent, selector: "kiwi-chart", inputs: { chart: "chart", width: "width", height: "height", darkTheme: "darkTheme", darkThemeBackground: "darkThemeBackground" }, outputs: { addPoint: "addPoint" }, usesOnChanges: true, ngImport: i0, template: `
279
364
  <div
280
365
  echarts
281
366
  [options]="chartOption"
@@ -285,6 +370,7 @@ KiwiChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
285
370
  'height': height
286
371
  }"
287
372
  (chartInit)="onChartInit($event)"
373
+ [theme]="darkTheme ? 'dark' : ''"
288
374
  ></div>
289
375
  `, isInline: true, styles: [""], directives: [{ type: i1.NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "loading", "initOpts", "merge", "autoResize", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartPieSelectChanged", "chartPieSelected", "chartPieUnselected", "chartMapSelectChanged", "chartMapSelected", "chartMapUnselected", "chartAxisAreaSelected", "chartFocusNodeAdjacency", "chartUnfocusNodeAdjacency", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartRendered", "chartFinished"], exportAs: ["echarts"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
290
376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: KiwiChartComponent, decorators: [{
@@ -301,17 +387,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
301
387
  'height': height
302
388
  }"
303
389
  (chartInit)="onChartInit($event)"
390
+ [theme]="darkTheme ? 'dark' : ''"
304
391
  ></div>
305
392
  `,
306
393
  styles: [`
307
394
  `]
308
395
  }]
309
- }], ctorParameters: function () { return []; }, propDecorators: { chart: [{
396
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { chart: [{
310
397
  type: Input
311
398
  }], width: [{
312
399
  type: Input
313
400
  }], height: [{
314
401
  type: Input
402
+ }], darkTheme: [{
403
+ type: Input
404
+ }], darkThemeBackground: [{
405
+ type: Input
315
406
  }], addPoint: [{
316
407
  type: Output
317
408
  }] } });
@@ -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 scrollToZoom?: boolean; //Use the scroll to zoom in/out of the chart\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, 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: [{\n ...newPoint,\n symbolSize: 10\n }],\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 ?? false,\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 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 },\n yAxis: {\n type: chart.yAxisType,\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : 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 ?? '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 ${point.name ? `<strong>${point.name}</strong><br>` : ''}\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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"}
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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgElEQVR4nO2bTUsbURSG3zMmkWLoThetboq46AdI7b+woLYQrGNdRjDSTW0tXbkralctEWN34kQY2hJB6J+oxYK0lOhK2y7iSpSiyeR0ESe5M34sJs4cP+ZZ3TlzhrznZe5J5uYOEHK1odNOmqYZKxxYfQD3gHAfQCuApmCkeWYPwBYY31hDriUSySUSiYOTkk804H02+1hjTAG45YfKoCBgg8EvU7r++YTzTkzTbCiUSpNgPPdfXpDw20I+Pz4xMVFWo5o77XIWDwA01tzR8eZIVD04vO0/unL2Ac6wpmX/FYtrL4aG9nzVWSfT8/NN16LRu7BYJ0ISQKN6ngh9IwMDueqxPTBNM1Yoln5CnfOE35aldT972v89AO1nTtowOkG0DMbNWpTWm6MNd+zGWJ0ClW7vaHj7F7l4AEjp+iqYHwLYr0W5fbtY7LGPlB7APXDAmYtcvE1K11cB+qDGGHSMAYQuNUkDDN/VBQSx5a7lgT1QvwVuqBnlaPSHn6KChGOxNVeo2hNUA+JqRiqR2PVTVJAcU0u11iO/A64aEakPnllc7OYyzwGwiLXhkcH+LxI6xO4ALvMsKn2njamckdIhOQValXGblIgr3wNCA6QFSBMaIC1AmtAAaQHShAZIC5AmNEBagDShAdICpPG8HjCzuNjNzBnnkrN30kaWPV66Rawlva4neL4DuMyzZ1V8nbTWs55w5aeAZwOItSSArTPU4pVNVP4C84TnHnA45zyv5LjnfEofOHWvgl+EU0BagDShAdICpAkNkBYgTWiAtABpQgOkBUgTGiAtQJrQAMHPVh+lN6VEiBmgrCfU9TxfL2J7hOpdTzgrwh6gjB176dKmGccl4d3CwnVXaMceqAb8UTO0YvG2n6KCJAK4a/lrD2oGMFbUDItp0F9ZwcHUoLtCX+1B1QDWkFMziJBMG0anz9p8J20YnQx2fsswVWutGtASieQI2FDSGkG0fJFNsF+YICBWi9J6ZG9nqXrkuuARQJ/UGAMHBJojtgyOxdbO+ybqtGnGuVS6R0wDDE46iwcY3Duq68cbAABpw5gGaCwIsUHDoMlR/ckrNXb0rbF8fpwY08HJCgjC1Hb+1+uj4ROYyWZ7mWka4HZ/lfkNrTPKY+pt7zh72qWZTCZqxeO9h+/YdKGywfm8/0DaReUZYwVMucjeztLw8HBRWlTIeeU/aykWi4H+qgIAAAAASUVORK5CYII=\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC\";","/**\n * Interface to define the Chart model.\n *\n * @export\n * @interface Chart\n */\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 /**\n * If the chart should have rendering animations.\n *\n * @type {boolean}\n * @memberof Chart\n */\n hasAnimations?: boolean;\n /**\n * The list of Shapes that the chart must render.\n * Each Shape corrisponds to a single chart component.\n *\n * @type {Shape[]}\n * @memberof Chart\n */\n shapes: Shape[];\n /**\n * Adds interaction with the chart, so that when clicking\n * everywhere in the chart area a point gets added and it's coordinate are \n * emitted with an event to the parent component.\n *\n * @type {boolean}\n * @memberof Chart\n */\n clickToAddPoint?: boolean;\n /**\n * Custom name for the \"clickToAddPoint\" event related button. \n *\n * @type {string}\n * @memberof Chart\n */\n addPointCustomName?: string;\n /**\n * Adds the possibility to use the scroll \n * to zoom in/out the chart area.\n *\n * @type {boolean}\n * @memberof Chart\n */\n scrollToZoom?: boolean;\n /**\n * Tells the chart to render or not the grid lines.\n *\n * @type {boolean}\n * @memberof Chart\n */\n showGrid?: boolean;\n}\n\nexport type Shape = Trace;\n\nexport interface Trace {\n name?: string;\n /**\n * The variant of the Shape, must be of type Trace.\n *\n * @type {ShapeVariant}\n * @memberof Trace\n */\n variant: ShapeVariant;\n color?: string;\n /**\n * The type of the Trace drawn by the chart.\n * Can be a line or a scatter. \n *\n * @type {TraceType}\n * @memberof Trace\n */\n type: TraceType;\n width?: number;\n /**\n * The list of points that define the Trace.\n *\n * @type {Point[]}\n * @memberof Trace\n */\n points: Point[];\n /**\n * Whether to show a smooth curve or a segmented curve.\n *\n * @type {boolean}\n * @memberof Trace\n */\n smooth?: boolean;\n /**\n * The style of the Trace.\n * Can be solid, dashed or dotted.\n *\n * @type {TraceStyle}\n * @memberof Trace\n */\n style?: TraceStyle;\n /**\n * Option to make the Trace selected/deselected by default.\n * A deselected Trace is obscured from the chart and can be toggled from the legend. \n *\n * @type {boolean}\n * @memberof Trace\n */\n selectedByDefault?: boolean;\n}\n\nexport interface Point extends BasePoint {\n name?: string;\n /**\n * Symbol used to represent the point in the chart.\n *\n * @type {PointSymbol}\n * @memberof Point\n */\n symbol?: PointSymbol;\n symbolSize?: number;\n color?: string;\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}\n\nexport enum ShapeVariant {\n TRACE\n}","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\nimport { interval, Subscription } from 'rxjs';\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 [theme]=\"darkTheme ? 'dark' : ''\"\n ></div> \n `,\n styles: [`\n `]\n})\nexport class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {\n\n /**\n * The Chart Object rendered by the canvas. For all the available options refer \n * to Chart interface in the models folder.\n *\n * @type {(Chart | null)}\n * @memberof KiwiChartComponent\n */\n @Input() chart: Chart | null = null;\n\n /**\n * Width and Height of the chart area. The dimensions refer to the father component \n * into which the kiwi-chart is inserted. For example in an empty page the width/height \n * of the chart can take the whole available space in the page.\n *\n * @type {string}\n * @memberof KiwiChartComponent\n */\n @Input() width: string = '100%';\n @Input() height: string = '480px';\n\n /**\n * This property simply activates or not the dark theme of the chart\n * defined by the Echarts library. In addition the background color can be custom\n * so that the chart can match the background of the application in which it's used.\n *\n * @type {boolean}\n * @memberof KiwiChartComponent\n */\n @Input() darkTheme: boolean = false;\n @Input() darkThemeBackground?: string;\n\n /**\n * Output event used to emit to the father component the coordinates\n * of the point clicked in the chart area. This functionality to be used must\n * have the property \"clickToAddPoint\" in the Chart object set to true.\n *\n * @type {EventEmitter<BasePoint>}\n * @memberof KiwiChartComponent\n */\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\n\n /**\n * The object used by echarts to initially create the Chart.\n *\n * @type {EChartsOption}\n * @memberof KiwiChartComponent\n */\n chartOption: EChartsOption = {};\n\n /**\n * The object used by echarts to update an already initialized Chart.\n *\n * @type {EChartsOption}\n * @memberof KiwiChartComponent\n */\n updateOption: EChartsOption = {};\n\n /**\n * The instance of the Chart.\n *\n * @type {(ECharts | null)}\n * @memberof KiwiChartComponent\n */\n echartsInstance: ECharts | null = null;\n\n /**\n * Used to perform actions (as point addition based on the cursor position) on the chart.\n *\n * @type {(zrender.ZRenderType | null)}\n * @memberof KiwiChartComponent\n */\n zr: zrender.ZRenderType | null = null;\n\n subscriptions: Subscription[] = [];\n\n constructor(\n private cd: ChangeDetectorRef\n ) { }\n\n ngOnInit(): void {\n\n // Initial Chart Configuration\n this.chartOption = {\n title: {\n text: \"Chart\",\n },\n backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent',\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: this.darkTheme ? '#595959' : '#ccc'\n }\n }\n },\n yAxis: {\n type: \"value\",\n name: \"Y\",\n nameLocation: 'middle',\n nameGap: 50,\n splitLine: {\n lineStyle: {\n color: this.darkTheme ? '#595959' : '#ccc'\n }\n }\n },\n series: [],\n animation: false\n };\n\n /** \n * This is a manual change detection running every 200ms, the memory should not be much afflicted.\n * It's necessary because when interacting with the chart (for example addPoint),\n * Angular loses the change detection and the point is not added in the chart canvas.\n */\n this.subscriptions.push(\n interval(200)\n .subscribe(() => {\n this.cd.detectChanges();\n })\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\n /** \n * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)\n * and emits the point coordinates to the father component.\n */\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\n /** \n * This is used to change the cursor's icon when the selected action is\n * click to add point and viceversa back to default icon when it's not selected.\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 itemStyle: {\n color: point.color\n },\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 fontSize: 13,\n padding: [0, 0, 0, 10],\n width: 100,\n overflow: 'truncate',\n ellipsis: '...',\n fontWeight: 'bold',\n color: this.darkTheme ? '#fff' : '#000'\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 ngOnDestroy(): void {\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\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,22 +1,84 @@
1
- import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';
3
+ import { Subscription } from 'rxjs';
3
4
  import { Chart, Shape, Trace, BasePoint } from './models/chart.models';
4
5
  import * as i0 from "@angular/core";
5
- export declare class KiwiChartComponent implements OnChanges {
6
+ export declare class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {
7
+ private cd;
8
+ /**
9
+ * The Chart Object rendered by the canvas. For all the available options refer
10
+ * to Chart interface in the models folder.
11
+ *
12
+ * @type {(Chart | null)}
13
+ * @memberof KiwiChartComponent
14
+ */
6
15
  chart: Chart | null;
16
+ /**
17
+ * Width and Height of the chart area. The dimensions refer to the father component
18
+ * into which the kiwi-chart is inserted. For example in an empty page the width/height
19
+ * of the chart can take the whole available space in the page.
20
+ *
21
+ * @type {string}
22
+ * @memberof KiwiChartComponent
23
+ */
7
24
  width: string;
8
25
  height: string;
26
+ /**
27
+ * This property simply activates or not the dark theme of the chart
28
+ * defined by the Echarts library. In addition the background color can be custom
29
+ * so that the chart can match the background of the application in which it's used.
30
+ *
31
+ * @type {boolean}
32
+ * @memberof KiwiChartComponent
33
+ */
34
+ darkTheme: boolean;
35
+ darkThemeBackground?: string;
36
+ /**
37
+ * Output event used to emit to the father component the coordinates
38
+ * of the point clicked in the chart area. This functionality to be used must
39
+ * have the property "clickToAddPoint" in the Chart object set to true.
40
+ *
41
+ * @type {EventEmitter<BasePoint>}
42
+ * @memberof KiwiChartComponent
43
+ */
9
44
  addPoint: EventEmitter<BasePoint>;
45
+ /**
46
+ * The object used by echarts to initially create the Chart.
47
+ *
48
+ * @type {EChartsOption}
49
+ * @memberof KiwiChartComponent
50
+ */
10
51
  chartOption: EChartsOption;
52
+ /**
53
+ * The object used by echarts to update an already initialized Chart.
54
+ *
55
+ * @type {EChartsOption}
56
+ * @memberof KiwiChartComponent
57
+ */
11
58
  updateOption: EChartsOption;
59
+ /**
60
+ * The instance of the Chart.
61
+ *
62
+ * @type {(ECharts | null)}
63
+ * @memberof KiwiChartComponent
64
+ */
12
65
  echartsInstance: ECharts | null;
66
+ /**
67
+ * Used to perform actions (as point addition based on the cursor position) on the chart.
68
+ *
69
+ * @type {(zrender.ZRenderType | null)}
70
+ * @memberof KiwiChartComponent
71
+ */
13
72
  zr: zrender.ZRenderType | null;
14
- constructor();
73
+ subscriptions: Subscription[];
74
+ constructor(cd: ChangeDetectorRef);
75
+ ngOnInit(): void;
15
76
  onChartInit(ec: ECharts): void;
16
77
  setupZrEventHandler(ec: ECharts): void;
17
78
  ngOnChanges(changes: SimpleChanges): void;
18
79
  createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption>;
19
80
  createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption;
81
+ ngOnDestroy(): void;
20
82
  static ɵfac: i0.ɵɵFactoryDeclaration<KiwiChartComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<KiwiChartComponent, "kiwi-chart", never, { "chart": "chart"; "width": "width"; "height": "height"; }, { "addPoint": "addPoint"; }, never, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<KiwiChartComponent, "kiwi-chart", never, { "chart": "chart"; "width": "width"; "height": "height"; "darkTheme": "darkTheme"; "darkThemeBackground": "darkThemeBackground"; }, { "addPoint": "addPoint"; }, never, never>;
22
84
  }
@@ -1,2 +1,2 @@
1
- export declare 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==";
2
- export declare 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==";
1
+ export declare const ADD_POINT_IMG_OFF = "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgElEQVR4nO2bTUsbURSG3zMmkWLoThetboq46AdI7b+woLYQrGNdRjDSTW0tXbkralctEWN34kQY2hJB6J+oxYK0lOhK2y7iSpSiyeR0ESe5M34sJs4cP+ZZ3TlzhrznZe5J5uYOEHK1odNOmqYZKxxYfQD3gHAfQCuApmCkeWYPwBYY31hDriUSySUSiYOTkk804H02+1hjTAG45YfKoCBgg8EvU7r++YTzTkzTbCiUSpNgPPdfXpDw20I+Pz4xMVFWo5o77XIWDwA01tzR8eZIVD04vO0/unL2Ac6wpmX/FYtrL4aG9nzVWSfT8/NN16LRu7BYJ0ISQKN6ngh9IwMDueqxPTBNM1Yoln5CnfOE35aldT972v89AO1nTtowOkG0DMbNWpTWm6MNd+zGWJ0ClW7vaHj7F7l4AEjp+iqYHwLYr0W5fbtY7LGPlB7APXDAmYtcvE1K11cB+qDGGHSMAYQuNUkDDN/VBQSx5a7lgT1QvwVuqBnlaPSHn6KChGOxNVeo2hNUA+JqRiqR2PVTVJAcU0u11iO/A64aEakPnllc7OYyzwGwiLXhkcH+LxI6xO4ALvMsKn2njamckdIhOQValXGblIgr3wNCA6QFSBMaIC1AmtAAaQHShAZIC5AmNEBagDShAdICpPG8HjCzuNjNzBnnkrN30kaWPV66Rawlva4neL4DuMyzZ1V8nbTWs55w5aeAZwOItSSArTPU4pVNVP4C84TnHnA45zyv5LjnfEofOHWvgl+EU0BagDShAdICpAkNkBYgTWiAtABpQgOkBUgTGiAtQJrQAMHPVh+lN6VEiBmgrCfU9TxfL2J7hOpdTzgrwh6gjB176dKmGccl4d3CwnVXaMceqAb8UTO0YvG2n6KCJAK4a/lrD2oGMFbUDItp0F9ZwcHUoLtCX+1B1QDWkFMziJBMG0anz9p8J20YnQx2fsswVWutGtASieQI2FDSGkG0fJFNsF+YICBWi9J6ZG9nqXrkuuARQJ/UGAMHBJojtgyOxdbO+ybqtGnGuVS6R0wDDE46iwcY3Duq68cbAABpw5gGaCwIsUHDoMlR/ckrNXb0rbF8fpwY08HJCgjC1Hb+1+uj4ROYyWZ7mWka4HZ/lfkNrTPKY+pt7zh72qWZTCZqxeO9h+/YdKGywfm8/0DaReUZYwVMucjeztLw8HBRWlTIeeU/aykWi4H+qgIAAAAASUVORK5CYII=";
2
+ export declare const ADD_POINT_IMG_ON = "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC";