@revivejs/angular-infinity-charts 2.0.0 → 21.0.0

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.
Files changed (61) hide show
  1. package/dist/LICENSE +21 -0
  2. package/dist/README.md +254 -0
  3. package/dist/fesm2022/revivejs-angular-infinity-charts.mjs +520 -0
  4. package/dist/fesm2022/revivejs-angular-infinity-charts.mjs.map +1 -0
  5. package/dist/types/revivejs-angular-infinity-charts.d.ts +300 -0
  6. package/docs/.nojekyll +0 -0
  7. package/docs/angular-2/app/app.component.css +325 -0
  8. package/docs/angular-2/app/app.component.html +185 -0
  9. package/docs/angular-2/app/app.component.ts +243 -0
  10. package/docs/angular-2/app/app.module.ts +18 -0
  11. package/docs/angular-2/app/data/api.ts +14 -0
  12. package/docs/angular-2/app/data/release-line.ts +7 -0
  13. package/docs/angular-2/app/playground.component.css +250 -0
  14. package/docs/angular-2/app/playground.component.html +112 -0
  15. package/docs/angular-2/app/playground.component.ts +428 -0
  16. package/docs/angular-2/index.html +31 -0
  17. package/docs/angular-2/main.ts +8 -0
  18. package/docs/angular-2/styles.css +47 -0
  19. package/docs/angular-2/systemjs.config.js +55 -0
  20. package/docs/angular-21/180.8cbb300931475cea.js +1 -0
  21. package/docs/angular-21/323.8cbb300931475cea.js +1 -0
  22. package/docs/angular-21/37.8cbb300931475cea.js +1 -0
  23. package/docs/angular-21/3rdpartylicenses.txt +402 -0
  24. package/docs/angular-21/418.8cbb300931475cea.js +1 -0
  25. package/docs/angular-21/541.120110ba2fead634.js +1 -0
  26. package/docs/angular-21/561.8cbb300931475cea.js +1 -0
  27. package/docs/angular-21/639.5c36f0da162f2724.js +1 -0
  28. package/docs/angular-21/704.8cbb300931475cea.js +1 -0
  29. package/docs/angular-21/799.8cbb300931475cea.js +1 -0
  30. package/docs/angular-21/84.5baca81d04c90457.js +1 -0
  31. package/docs/angular-21/942.8cbb300931475cea.js +1 -0
  32. package/docs/angular-21/common.4fd5fdcf7b48f062.js +1 -0
  33. package/docs/angular-21/index.html +19 -0
  34. package/docs/angular-21/main.4daffff4ca1c294e.js +1 -0
  35. package/docs/angular-21/polyfills.37944fe611f86dfa.js +1 -0
  36. package/docs/angular-21/runtime.4d8a748cbea51380.js +1 -0
  37. package/docs/angular-21/styles.d345eaa39dd99983.css +1 -0
  38. package/docs/index.html +289 -0
  39. package/package.json +90 -17
  40. /package/{index.d.ts → docs/angular-2/vendor/angular-infinity-charts/index.d.ts} +0 -0
  41. /package/{index.js → docs/angular-2/vendor/angular-infinity-charts/index.js} +0 -0
  42. /package/{index.js.map → docs/angular-2/vendor/angular-infinity-charts/index.js.map} +0 -0
  43. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartComponent.d.ts +0 -0
  44. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartComponent.js +0 -0
  45. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartComponent.js.map +0 -0
  46. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartController.d.ts +0 -0
  47. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartController.js +0 -0
  48. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartController.js.map +0 -0
  49. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartDirective.d.ts +0 -0
  50. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartDirective.js +0 -0
  51. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartDirective.js.map +0 -0
  52. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartService.d.ts +0 -0
  53. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartService.js +0 -0
  54. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/InfinityChartService.js.map +0 -0
  55. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/public_api.d.ts +0 -0
  56. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/public_api.js +0 -0
  57. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/public_api.js.map +0 -0
  58. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/types.d.ts +0 -0
  59. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/types.js +0 -0
  60. /package/{src → docs/angular-2/vendor/angular-infinity-charts/src}/types.js.map +0 -0
  61. /package/{vendor → docs/angular-2/vendor}/infinity-charts/index.js +0 -0
@@ -0,0 +1,520 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, HostBinding, Output, Input, Component, Directive, Injectable, NgModule } from '@angular/core';
3
+ import { createChart, loadChart, preloadCharts, loadAllCharts, registerPlugin, registerPack } from '@revivejs/infinity-charts';
4
+
5
+ class InfinityChartController {
6
+ host;
7
+ hooks;
8
+ chart;
9
+ lastConfig;
10
+ constructor(host, hooks) {
11
+ this.host = host;
12
+ this.hooks = hooks;
13
+ this.chart = null;
14
+ this.lastConfig = {};
15
+ }
16
+ initialize(config) {
17
+ var nextConfig = this.cloneConfig(config);
18
+ if (!nextConfig.type) {
19
+ this.lastConfig = nextConfig;
20
+ return Promise.resolve();
21
+ }
22
+ if (this.chart) {
23
+ return this.update(nextConfig);
24
+ }
25
+ this.lastConfig = nextConfig;
26
+ this.chart = createChart(this.toCreateConfig(nextConfig));
27
+ this.hooks.onCreate(this.toEvent(nextConfig));
28
+ return this.chart.ready().then(() => {
29
+ if (this.chart) {
30
+ this.hooks.onReady(this.toEvent(this.lastConfig));
31
+ }
32
+ });
33
+ }
34
+ update(config) {
35
+ var nextConfig = this.cloneConfig(config);
36
+ if (!nextConfig.type) {
37
+ this.lastConfig = nextConfig;
38
+ return Promise.resolve();
39
+ }
40
+ if (!this.chart) {
41
+ return this.initialize(nextConfig);
42
+ }
43
+ this.lastConfig = nextConfig;
44
+ this.chart.update(this.toUpdateConfig(nextConfig));
45
+ this.hooks.onUpdated(this.toEvent(nextConfig));
46
+ return this.chart.ready().then(() => {
47
+ if (this.chart) {
48
+ this.hooks.onReady(this.toEvent(this.lastConfig));
49
+ }
50
+ });
51
+ }
52
+ resize(width, height) {
53
+ if (!this.chart) {
54
+ return;
55
+ }
56
+ this.chart.resize(width, height);
57
+ this.hooks.onResized(this.toEvent(this.lastConfig));
58
+ }
59
+ updateSeries(series) {
60
+ if (!this.chart) {
61
+ return;
62
+ }
63
+ this.chart.updateSeries(series);
64
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
65
+ }
66
+ appendData(point) {
67
+ if (!this.chart) {
68
+ return;
69
+ }
70
+ this.chart.appendData(point);
71
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
72
+ }
73
+ appendBatch(points) {
74
+ if (!this.chart) {
75
+ return;
76
+ }
77
+ this.chart.appendBatch(points);
78
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
79
+ }
80
+ replaceData(data) {
81
+ if (!this.chart) {
82
+ return;
83
+ }
84
+ this.chart.replaceData(data);
85
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
86
+ }
87
+ setTheme(theme) {
88
+ if (!this.chart) {
89
+ return;
90
+ }
91
+ this.chart.setTheme(theme);
92
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
93
+ }
94
+ registerPlugin(plugin) {
95
+ if (!this.chart) {
96
+ return;
97
+ }
98
+ this.chart.registerPlugin(plugin);
99
+ this.hooks.onUpdated(this.toEvent(this.lastConfig));
100
+ }
101
+ getChart() {
102
+ return this.chart;
103
+ }
104
+ destroy() {
105
+ if (!this.chart) {
106
+ return;
107
+ }
108
+ this.chart.destroy();
109
+ this.hooks.onDestroyed(this.toEvent(this.lastConfig));
110
+ this.chart = null;
111
+ }
112
+ toCreateConfig(config) {
113
+ var next = this.cloneConfig(config);
114
+ next.container = this.host;
115
+ return next;
116
+ }
117
+ toUpdateConfig(config) {
118
+ var next = this.cloneConfig(config);
119
+ delete next.container;
120
+ return next;
121
+ }
122
+ toEvent(config) {
123
+ return {
124
+ host: this.host,
125
+ chart: this.chart,
126
+ config: this.cloneConfig(config)
127
+ };
128
+ }
129
+ cloneConfig(config) {
130
+ if (!config) {
131
+ return {};
132
+ }
133
+ return Object.assign({}, config, {
134
+ title: this.cloneValue(config.title),
135
+ labels: this.cloneArray(config.labels),
136
+ data: this.cloneValue(config.data),
137
+ series: this.cloneValue(config.series),
138
+ xAxis: this.cloneValue(config.xAxis),
139
+ yAxis: this.cloneValue(config.yAxis),
140
+ grid: this.cloneValue(config.grid),
141
+ legend: this.cloneValue(config.legend),
142
+ layout: this.cloneValue(config.layout),
143
+ colors: this.cloneValue(config.colors),
144
+ thresholds: this.cloneValue(config.thresholds),
145
+ gauge: this.cloneValue(config.gauge),
146
+ animation: this.cloneValue(config.animation),
147
+ responsive: this.cloneValue(config.responsive),
148
+ interaction: this.cloneValue(config.interaction),
149
+ realtime: this.cloneValue(config.realtime),
150
+ plugins: this.cloneValue(config.plugins)
151
+ });
152
+ }
153
+ cloneArray(value) {
154
+ if (!value) {
155
+ return value;
156
+ }
157
+ return value.slice ? value.slice() : value;
158
+ }
159
+ cloneValue(value) {
160
+ if (!value) {
161
+ return value;
162
+ }
163
+ if (Array.isArray(value)) {
164
+ return value.map((item) => this.cloneValue(item));
165
+ }
166
+ if (typeof value === 'object') {
167
+ return Object.assign({}, value);
168
+ }
169
+ return value;
170
+ }
171
+ }
172
+
173
+ class InfinityChartComponent {
174
+ static nextHostId = 0;
175
+ config = {};
176
+ create = new EventEmitter();
177
+ ready = new EventEmitter();
178
+ updated = new EventEmitter();
179
+ resized = new EventEmitter();
180
+ destroyed = new EventEmitter();
181
+ hostId = 'rvl-chart-component-' + (++InfinityChartComponent.nextHostId);
182
+ controller;
183
+ initialized;
184
+ hooks;
185
+ constructor() {
186
+ this.initialized = false;
187
+ this.controller = null;
188
+ this.hooks = {
189
+ onCreate: (event) => this.create.emit(event),
190
+ onReady: (event) => this.ready.emit(event),
191
+ onUpdated: (event) => this.updated.emit(event),
192
+ onResized: (event) => this.resized.emit(event),
193
+ onDestroyed: (event) => this.destroyed.emit(event)
194
+ };
195
+ }
196
+ ngAfterViewInit() {
197
+ setTimeout(() => {
198
+ var controller = this.ensureController(false);
199
+ if (!controller) {
200
+ return;
201
+ }
202
+ this.initialized = true;
203
+ controller.initialize(this.config);
204
+ }, 0);
205
+ }
206
+ ngOnChanges(changes) {
207
+ if (!this.initialized || !this.controller) {
208
+ return;
209
+ }
210
+ if (changes.config) {
211
+ this.controller.update(this.config);
212
+ }
213
+ }
214
+ ngOnDestroy() {
215
+ if (this.controller) {
216
+ this.controller.destroy();
217
+ }
218
+ }
219
+ update(config) {
220
+ this.config = config;
221
+ return this.ensureController(true).update(this.config);
222
+ }
223
+ resize(width, height) {
224
+ if (!this.controller) {
225
+ return;
226
+ }
227
+ this.controller.resize(width, height);
228
+ }
229
+ updateSeries(series) {
230
+ if (!this.controller) {
231
+ return;
232
+ }
233
+ this.controller.updateSeries(series);
234
+ }
235
+ appendData(point) {
236
+ if (!this.controller) {
237
+ return;
238
+ }
239
+ this.controller.appendData(point);
240
+ }
241
+ appendBatch(points) {
242
+ if (!this.controller) {
243
+ return;
244
+ }
245
+ this.controller.appendBatch(points);
246
+ }
247
+ replaceData(data) {
248
+ if (!this.controller) {
249
+ return;
250
+ }
251
+ this.controller.replaceData(data);
252
+ }
253
+ setTheme(theme) {
254
+ if (!this.controller) {
255
+ return;
256
+ }
257
+ this.controller.setTheme(theme);
258
+ }
259
+ registerPlugin(plugin) {
260
+ if (!this.controller) {
261
+ return;
262
+ }
263
+ this.controller.registerPlugin(plugin);
264
+ }
265
+ getChart() {
266
+ return this.controller ? this.controller.getChart() : null;
267
+ }
268
+ ensureController(required) {
269
+ if (this.controller) {
270
+ return this.controller;
271
+ }
272
+ var host = this.resolveHostElement();
273
+ if (!host) {
274
+ if (required) {
275
+ throw new Error('Unable to resolve revive-infinity-chart host element.');
276
+ }
277
+ return null;
278
+ }
279
+ this.controller = new InfinityChartController(host, this.hooks);
280
+ return this.controller;
281
+ }
282
+ resolveHostElement() {
283
+ if (typeof document !== 'undefined') {
284
+ return document.querySelector('[data-rvl-chart-component-host="' + this.hostId + '"]');
285
+ }
286
+ return null;
287
+ }
288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
289
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: InfinityChartComponent, isStandalone: false, selector: "revive-infinity-chart", inputs: { config: "config" }, outputs: { create: "create", ready: "ready", updated: "updated", resized: "resized", destroyed: "destroyed" }, host: { properties: { "attr.data-rvl-chart-component-host": "this.hostId" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
290
+ }
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartComponent, decorators: [{
292
+ type: Component,
293
+ args: [{
294
+ selector: 'revive-infinity-chart',
295
+ standalone: false,
296
+ template: ''
297
+ }]
298
+ }], ctorParameters: () => [], propDecorators: { config: [{
299
+ type: Input
300
+ }], create: [{
301
+ type: Output
302
+ }], ready: [{
303
+ type: Output
304
+ }], updated: [{
305
+ type: Output
306
+ }], resized: [{
307
+ type: Output
308
+ }], destroyed: [{
309
+ type: Output
310
+ }], hostId: [{
311
+ type: HostBinding,
312
+ args: ['attr.data-rvl-chart-component-host']
313
+ }] } });
314
+
315
+ class InfinityChartDirective {
316
+ static nextHostId = 0;
317
+ config = {};
318
+ create = new EventEmitter();
319
+ ready = new EventEmitter();
320
+ updated = new EventEmitter();
321
+ resized = new EventEmitter();
322
+ destroyed = new EventEmitter();
323
+ hostId = 'rvl-chart-directive-' + (++InfinityChartDirective.nextHostId);
324
+ controller;
325
+ initialized;
326
+ hooks;
327
+ constructor() {
328
+ this.initialized = false;
329
+ this.controller = null;
330
+ this.hooks = {
331
+ onCreate: (event) => this.create.emit(event),
332
+ onReady: (event) => this.ready.emit(event),
333
+ onUpdated: (event) => this.updated.emit(event),
334
+ onResized: (event) => this.resized.emit(event),
335
+ onDestroyed: (event) => this.destroyed.emit(event)
336
+ };
337
+ }
338
+ ngAfterViewInit() {
339
+ setTimeout(() => {
340
+ var controller = this.ensureController(false);
341
+ if (!controller) {
342
+ return;
343
+ }
344
+ this.initialized = true;
345
+ controller.initialize(this.config);
346
+ }, 0);
347
+ }
348
+ ngOnChanges(changes) {
349
+ if (!this.initialized || !this.controller) {
350
+ return;
351
+ }
352
+ if (changes.config) {
353
+ this.controller.update(this.config);
354
+ }
355
+ }
356
+ ngOnDestroy() {
357
+ if (this.controller) {
358
+ this.controller.destroy();
359
+ }
360
+ }
361
+ update(config) {
362
+ this.config = config;
363
+ return this.ensureController(true).update(this.config);
364
+ }
365
+ resize(width, height) {
366
+ if (!this.controller) {
367
+ return;
368
+ }
369
+ this.controller.resize(width, height);
370
+ }
371
+ updateSeries(series) {
372
+ if (!this.controller) {
373
+ return;
374
+ }
375
+ this.controller.updateSeries(series);
376
+ }
377
+ appendData(point) {
378
+ if (!this.controller) {
379
+ return;
380
+ }
381
+ this.controller.appendData(point);
382
+ }
383
+ appendBatch(points) {
384
+ if (!this.controller) {
385
+ return;
386
+ }
387
+ this.controller.appendBatch(points);
388
+ }
389
+ replaceData(data) {
390
+ if (!this.controller) {
391
+ return;
392
+ }
393
+ this.controller.replaceData(data);
394
+ }
395
+ setTheme(theme) {
396
+ if (!this.controller) {
397
+ return;
398
+ }
399
+ this.controller.setTheme(theme);
400
+ }
401
+ registerPlugin(plugin) {
402
+ if (!this.controller) {
403
+ return;
404
+ }
405
+ this.controller.registerPlugin(plugin);
406
+ }
407
+ getChart() {
408
+ return this.controller ? this.controller.getChart() : null;
409
+ }
410
+ ensureController(required) {
411
+ if (this.controller) {
412
+ return this.controller;
413
+ }
414
+ var host = this.resolveHostElement();
415
+ if (!host) {
416
+ if (required) {
417
+ throw new Error('Unable to resolve reviveInfinityChart host element.');
418
+ }
419
+ return null;
420
+ }
421
+ this.controller = new InfinityChartController(host, this.hooks);
422
+ return this.controller;
423
+ }
424
+ resolveHostElement() {
425
+ if (typeof document !== 'undefined') {
426
+ return document.querySelector('[data-rvl-chart-directive-host="' + this.hostId + '"]');
427
+ }
428
+ return null;
429
+ }
430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
431
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: InfinityChartDirective, isStandalone: false, selector: "[reviveInfinityChart]", inputs: { config: ["reviveInfinityChart", "config"] }, outputs: { create: "create", ready: "ready", updated: "updated", resized: "resized", destroyed: "destroyed" }, host: { properties: { "attr.data-rvl-chart-directive-host": "this.hostId" } }, usesOnChanges: true, ngImport: i0 });
432
+ }
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartDirective, decorators: [{
434
+ type: Directive,
435
+ args: [{
436
+ selector: '[reviveInfinityChart]',
437
+ standalone: false
438
+ }]
439
+ }], ctorParameters: () => [], propDecorators: { config: [{
440
+ type: Input,
441
+ args: ['reviveInfinityChart']
442
+ }], create: [{
443
+ type: Output
444
+ }], ready: [{
445
+ type: Output
446
+ }], updated: [{
447
+ type: Output
448
+ }], resized: [{
449
+ type: Output
450
+ }], destroyed: [{
451
+ type: Output
452
+ }], hostId: [{
453
+ type: HostBinding,
454
+ args: ['attr.data-rvl-chart-directive-host']
455
+ }] } });
456
+
457
+ class InfinityChartService {
458
+ create(target, config) {
459
+ return createChart(Object.assign({}, config || {}, {
460
+ container: target
461
+ }));
462
+ }
463
+ load(type) {
464
+ return loadChart(type);
465
+ }
466
+ preload(types) {
467
+ return preloadCharts(types);
468
+ }
469
+ loadAll() {
470
+ return loadAllCharts();
471
+ }
472
+ registerPlugin(plugin) {
473
+ registerPlugin(plugin);
474
+ }
475
+ registerPack(pack) {
476
+ registerPack(pack);
477
+ }
478
+ destroy(chart) {
479
+ if (chart) {
480
+ chart.destroy();
481
+ }
482
+ }
483
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
484
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartService });
485
+ }
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartService, decorators: [{
487
+ type: Injectable
488
+ }] });
489
+
490
+ var CHART_DECLARATIONS = [
491
+ InfinityChartComponent,
492
+ InfinityChartDirective
493
+ ];
494
+ class InfinityChartsModule {
495
+ static forRoot() {
496
+ return {
497
+ ngModule: InfinityChartsModule,
498
+ providers: [InfinityChartService]
499
+ };
500
+ }
501
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
502
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartsModule, declarations: [InfinityChartComponent,
503
+ InfinityChartDirective], exports: [InfinityChartComponent,
504
+ InfinityChartDirective] });
505
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartsModule });
506
+ }
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: InfinityChartsModule, decorators: [{
508
+ type: NgModule,
509
+ args: [{
510
+ declarations: CHART_DECLARATIONS,
511
+ exports: CHART_DECLARATIONS
512
+ }]
513
+ }] });
514
+
515
+ /**
516
+ * Generated bundle index. Do not edit.
517
+ */
518
+
519
+ export { InfinityChartComponent, InfinityChartDirective, InfinityChartService, InfinityChartsModule };
520
+ //# sourceMappingURL=revivejs-angular-infinity-charts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revivejs-angular-infinity-charts.mjs","sources":["../../src/InfinityChartController.ts","../../src/InfinityChartComponent.ts","../../src/InfinityChartDirective.ts","../../src/InfinityChartService.ts","../../src/public_api.ts","../../revivejs-angular-infinity-charts.ts"],"sourcesContent":["import { createChart } from '@revivejs/infinity-charts';\n\nimport {\n AngularInfinityChartConfig,\n AngularInfinityChartEvent,\n AngularInfinityChartPublicApi,\n AngularInfinityChartPlugin,\n AngularInfinityThemeInput,\n AngularInfinityChartDataInput,\n AngularInfinitySeriesCollectionInput,\n InfinityChartLifecycleHooks\n} from './types';\n\nexport class InfinityChartController {\n private host: HTMLElement;\n private hooks: InfinityChartLifecycleHooks;\n private chart: AngularInfinityChartPublicApi | null;\n private lastConfig: AngularInfinityChartConfig;\n\n constructor(host: HTMLElement, hooks: InfinityChartLifecycleHooks) {\n this.host = host;\n this.hooks = hooks;\n this.chart = null;\n this.lastConfig = {};\n }\n\n initialize(config?: AngularInfinityChartConfig): Promise<void> {\n var nextConfig = this.cloneConfig(config);\n\n if (!nextConfig.type) {\n this.lastConfig = nextConfig;\n return Promise.resolve();\n }\n\n if (this.chart) {\n return this.update(nextConfig);\n }\n\n this.lastConfig = nextConfig;\n this.chart = createChart(this.toCreateConfig(nextConfig) as any) as AngularInfinityChartPublicApi;\n this.hooks.onCreate(this.toEvent(nextConfig));\n\n return this.chart.ready().then(() => {\n if (this.chart) {\n this.hooks.onReady(this.toEvent(this.lastConfig));\n }\n });\n }\n\n update(config?: AngularInfinityChartConfig): Promise<void> {\n var nextConfig = this.cloneConfig(config);\n\n if (!nextConfig.type) {\n this.lastConfig = nextConfig;\n return Promise.resolve();\n }\n\n if (!this.chart) {\n return this.initialize(nextConfig);\n }\n\n this.lastConfig = nextConfig;\n this.chart.update(this.toUpdateConfig(nextConfig));\n this.hooks.onUpdated(this.toEvent(nextConfig));\n\n return this.chart.ready().then(() => {\n if (this.chart) {\n this.hooks.onReady(this.toEvent(this.lastConfig));\n }\n });\n }\n\n resize(width?: number, height?: number): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.resize(width, height);\n this.hooks.onResized(this.toEvent(this.lastConfig));\n }\n\n updateSeries(series: AngularInfinitySeriesCollectionInput): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.updateSeries(series);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n appendData(point: any): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.appendData(point);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n appendBatch(points: any[]): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.appendBatch(points);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n replaceData(data: AngularInfinityChartDataInput): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.replaceData(data);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n setTheme(theme: AngularInfinityThemeInput): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.setTheme(theme);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n registerPlugin(plugin: AngularInfinityChartPlugin): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.registerPlugin(plugin);\n this.hooks.onUpdated(this.toEvent(this.lastConfig));\n }\n\n getChart(): AngularInfinityChartPublicApi | null {\n return this.chart;\n }\n\n destroy(): void {\n if (!this.chart) {\n return;\n }\n\n this.chart.destroy();\n this.hooks.onDestroyed(this.toEvent(this.lastConfig));\n this.chart = null;\n }\n\n private toCreateConfig(config: AngularInfinityChartConfig): AngularInfinityChartConfig {\n var next = this.cloneConfig(config);\n\n next.container = this.host;\n return next;\n }\n\n private toUpdateConfig(config: AngularInfinityChartConfig): AngularInfinityChartConfig {\n var next = this.cloneConfig(config);\n\n delete next.container;\n return next;\n }\n\n private toEvent(config: AngularInfinityChartConfig): AngularInfinityChartEvent {\n return {\n host: this.host,\n chart: this.chart,\n config: this.cloneConfig(config)\n };\n }\n\n private cloneConfig(config?: AngularInfinityChartConfig): AngularInfinityChartConfig {\n if (!config) {\n return {};\n }\n\n return Object.assign({}, config, {\n title: this.cloneValue(config.title),\n labels: this.cloneArray(config.labels),\n data: this.cloneValue(config.data),\n series: this.cloneValue(config.series),\n xAxis: this.cloneValue(config.xAxis),\n yAxis: this.cloneValue(config.yAxis),\n grid: this.cloneValue(config.grid),\n legend: this.cloneValue(config.legend),\n layout: this.cloneValue(config.layout),\n colors: this.cloneValue(config.colors),\n thresholds: this.cloneValue(config.thresholds),\n gauge: this.cloneValue(config.gauge),\n animation: this.cloneValue(config.animation),\n responsive: this.cloneValue(config.responsive),\n interaction: this.cloneValue(config.interaction),\n realtime: this.cloneValue(config.realtime),\n plugins: this.cloneValue(config.plugins)\n });\n }\n\n private cloneArray(value: any): any {\n if (!value) {\n return value;\n }\n\n return value.slice ? value.slice() : value;\n }\n\n private cloneValue(value: any): any {\n if (!value) {\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.map((item: any) => this.cloneValue(item));\n }\n\n if (typeof value === 'object') {\n return Object.assign({}, value);\n }\n\n return value;\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges\n} from '@angular/core';\n\nimport { InfinityChartController } from './InfinityChartController';\nimport {\n AngularInfinityChartConfig,\n AngularInfinityChartDataInput,\n AngularInfinityChartEvent,\n AngularInfinityChartPlugin,\n AngularInfinityChartPublicApi,\n AngularInfinityThemeInput,\n AngularInfinitySeriesCollectionInput\n} from './types';\n\n@Component({\n selector: 'revive-infinity-chart',\n standalone: false,\n template: ''\n})\nexport class InfinityChartComponent implements AfterViewInit, OnChanges, OnDestroy {\n private static nextHostId: number = 0;\n\n @Input() config: AngularInfinityChartConfig = {};\n\n @Output() create = new EventEmitter<AngularInfinityChartEvent>();\n @Output() ready = new EventEmitter<AngularInfinityChartEvent>();\n @Output() updated = new EventEmitter<AngularInfinityChartEvent>();\n @Output() resized = new EventEmitter<AngularInfinityChartEvent>();\n @Output() destroyed = new EventEmitter<AngularInfinityChartEvent>();\n\n @HostBinding('attr.data-rvl-chart-component-host')\n hostId: string = 'rvl-chart-component-' + (++InfinityChartComponent.nextHostId);\n\n private controller: InfinityChartController | null;\n private initialized: boolean;\n private hooks: any;\n\n constructor() {\n this.initialized = false;\n this.controller = null;\n this.hooks = {\n onCreate: (event: AngularInfinityChartEvent) => this.create.emit(event),\n onReady: (event: AngularInfinityChartEvent) => this.ready.emit(event),\n onUpdated: (event: AngularInfinityChartEvent) => this.updated.emit(event),\n onResized: (event: AngularInfinityChartEvent) => this.resized.emit(event),\n onDestroyed: (event: AngularInfinityChartEvent) => this.destroyed.emit(event)\n };\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n var controller = this.ensureController(false);\n\n if (!controller) {\n return;\n }\n\n this.initialized = true;\n controller.initialize(this.config);\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.initialized || !this.controller) {\n return;\n }\n\n if (changes.config) {\n this.controller.update(this.config);\n }\n }\n\n ngOnDestroy(): void {\n if (this.controller) {\n this.controller.destroy();\n }\n }\n\n update(config: AngularInfinityChartConfig): Promise<void> {\n this.config = config;\n return this.ensureController(true)!.update(this.config);\n }\n\n resize(width?: number, height?: number): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.resize(width, height);\n }\n\n updateSeries(series: AngularInfinitySeriesCollectionInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.updateSeries(series);\n }\n\n appendData(point: any): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.appendData(point);\n }\n\n appendBatch(points: any[]): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.appendBatch(points);\n }\n\n replaceData(data: AngularInfinityChartDataInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.replaceData(data);\n }\n\n setTheme(theme: AngularInfinityThemeInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.setTheme(theme);\n }\n\n registerPlugin(plugin: AngularInfinityChartPlugin): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.registerPlugin(plugin);\n }\n\n getChart(): AngularInfinityChartPublicApi | null {\n return this.controller ? this.controller.getChart() : null;\n }\n\n private ensureController(required: boolean): InfinityChartController | null {\n if (this.controller) {\n return this.controller;\n }\n\n var host = this.resolveHostElement();\n\n if (!host) {\n if (required) {\n throw new Error('Unable to resolve revive-infinity-chart host element.');\n }\n\n return null;\n }\n\n this.controller = new InfinityChartController(host, this.hooks);\n return this.controller;\n }\n\n private resolveHostElement(): HTMLElement | null {\n if (typeof document !== 'undefined') {\n return document.querySelector('[data-rvl-chart-component-host=\"' + this.hostId + '\"]') as HTMLElement | null;\n }\n\n return null;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges\n} from '@angular/core';\n\nimport { InfinityChartController } from './InfinityChartController';\nimport {\n AngularInfinityChartConfig,\n AngularInfinityChartDataInput,\n AngularInfinityChartEvent,\n AngularInfinityChartPlugin,\n AngularInfinityChartPublicApi,\n AngularInfinityThemeInput,\n AngularInfinitySeriesCollectionInput\n} from './types';\n\n@Directive({\n selector: '[reviveInfinityChart]',\n standalone: false\n})\nexport class InfinityChartDirective implements AfterViewInit, OnChanges, OnDestroy {\n private static nextHostId: number = 0;\n\n @Input('reviveInfinityChart') config: AngularInfinityChartConfig = {};\n\n @Output() create = new EventEmitter<AngularInfinityChartEvent>();\n @Output() ready = new EventEmitter<AngularInfinityChartEvent>();\n @Output() updated = new EventEmitter<AngularInfinityChartEvent>();\n @Output() resized = new EventEmitter<AngularInfinityChartEvent>();\n @Output() destroyed = new EventEmitter<AngularInfinityChartEvent>();\n\n @HostBinding('attr.data-rvl-chart-directive-host')\n hostId: string = 'rvl-chart-directive-' + (++InfinityChartDirective.nextHostId);\n\n private controller: InfinityChartController | null;\n private initialized: boolean;\n private hooks: any;\n\n constructor() {\n this.initialized = false;\n this.controller = null;\n this.hooks = {\n onCreate: (event: AngularInfinityChartEvent) => this.create.emit(event),\n onReady: (event: AngularInfinityChartEvent) => this.ready.emit(event),\n onUpdated: (event: AngularInfinityChartEvent) => this.updated.emit(event),\n onResized: (event: AngularInfinityChartEvent) => this.resized.emit(event),\n onDestroyed: (event: AngularInfinityChartEvent) => this.destroyed.emit(event)\n };\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n var controller = this.ensureController(false);\n\n if (!controller) {\n return;\n }\n\n this.initialized = true;\n controller.initialize(this.config);\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.initialized || !this.controller) {\n return;\n }\n\n if (changes.config) {\n this.controller.update(this.config);\n }\n }\n\n ngOnDestroy(): void {\n if (this.controller) {\n this.controller.destroy();\n }\n }\n\n update(config: AngularInfinityChartConfig): Promise<void> {\n this.config = config;\n return this.ensureController(true)!.update(this.config);\n }\n\n resize(width?: number, height?: number): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.resize(width, height);\n }\n\n updateSeries(series: AngularInfinitySeriesCollectionInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.updateSeries(series);\n }\n\n appendData(point: any): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.appendData(point);\n }\n\n appendBatch(points: any[]): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.appendBatch(points);\n }\n\n replaceData(data: AngularInfinityChartDataInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.replaceData(data);\n }\n\n setTheme(theme: AngularInfinityThemeInput): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.setTheme(theme);\n }\n\n registerPlugin(plugin: AngularInfinityChartPlugin): void {\n if (!this.controller) {\n return;\n }\n\n this.controller.registerPlugin(plugin);\n }\n\n getChart(): AngularInfinityChartPublicApi | null {\n return this.controller ? this.controller.getChart() : null;\n }\n\n private ensureController(required: boolean): InfinityChartController | null {\n if (this.controller) {\n return this.controller;\n }\n\n var host = this.resolveHostElement();\n\n if (!host) {\n if (required) {\n throw new Error('Unable to resolve reviveInfinityChart host element.');\n }\n\n return null;\n }\n\n this.controller = new InfinityChartController(host, this.hooks);\n return this.controller;\n }\n\n private resolveHostElement(): HTMLElement | null {\n if (typeof document !== 'undefined') {\n return document.querySelector('[data-rvl-chart-directive-host=\"' + this.hostId + '\"]') as HTMLElement | null;\n }\n\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n createChart,\n loadAllCharts,\n loadChart,\n preloadCharts,\n registerPack,\n registerPlugin\n} from '@revivejs/infinity-charts';\n\nimport { AngularInfinityChartConfig, AngularInfinityChartPlugin, AngularInfinityChartPublicApi } from './types';\n\n@Injectable()\nexport class InfinityChartService {\n create(target: HTMLElement, config?: AngularInfinityChartConfig): AngularInfinityChartPublicApi {\n return createChart(Object.assign({}, config || {}, {\n container: target\n }) as any) as AngularInfinityChartPublicApi;\n }\n\n load(type: string): Promise<void> {\n return loadChart(type);\n }\n\n preload(types: string[]): Promise<void> {\n return preloadCharts(types);\n }\n\n loadAll(): Promise<void> {\n return loadAllCharts();\n }\n\n registerPlugin(plugin: AngularInfinityChartPlugin): void {\n registerPlugin(plugin as any);\n }\n\n registerPack(pack: any): void {\n registerPack(pack);\n }\n\n destroy(chart: AngularInfinityChartPublicApi | null): void {\n if (chart) {\n chart.destroy();\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { InfinityChartComponent } from './InfinityChartComponent';\nimport { InfinityChartDirective } from './InfinityChartDirective';\nimport { InfinityChartService } from './InfinityChartService';\n\nvar CHART_DECLARATIONS: any[] = [\n InfinityChartComponent,\n InfinityChartDirective\n];\n\n@NgModule({\n declarations: CHART_DECLARATIONS,\n exports: CHART_DECLARATIONS\n})\nexport class InfinityChartsModule {\n static forRoot(): ModuleWithProviders<InfinityChartsModule> {\n return {\n ngModule: InfinityChartsModule,\n providers: [InfinityChartService]\n };\n }\n}\n\nexport { InfinityChartComponent, InfinityChartDirective, InfinityChartService };\nexport {\n AngularInfinityChartConfig,\n AngularInfinityChartDataInput,\n AngularInfinityChartEvent,\n AngularInfinityChartPlugin,\n AngularInfinityChartPublicApi,\n AngularInfinityChartType,\n AngularInfinitySeriesCollectionInput,\n AngularInfinityThemeInput\n} from './types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}