@visionaris-bruno/vs-echarts 6.5.2 → 7.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnChanges, OnDestroy, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
3
3
  import * as echarts from 'echarts';
4
- import { LineSeriesOption, BarSeriesOption, PieSeriesOption, ScatterSeriesOption, FunnelSeriesOption, EChartsOption, SeriesOption } from 'echarts';
4
+ import { LineSeriesOption, BarSeriesOption, PieSeriesOption, ScatterSeriesOption, FunnelSeriesOption, SunburstSeriesOption, EChartsOption, SeriesOption } from 'echarts';
5
5
  import { CategoryAxisBaseOption, ValueAxisBaseOption } from 'echarts/types/src/coord/axisCommonTypes.js';
6
6
  import { TooltipOption } from 'echarts/types/dist/shared';
7
7
 
@@ -13,11 +13,16 @@ type VSEChartProduct = {
13
13
  chartKey: ChartKey;
14
14
  baseOptions: EChartsOption;
15
15
  };
16
- interface IEChartBuilder {
16
+ interface IEChartBuilder<SeriesType = SeriesOption> {
17
17
  /** producto base */
18
18
  baseProduct: VSEChartProduct;
19
19
  reset(): void;
20
- addSeries(data: IEChartData, overrides: SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption): void;
20
+ /**
21
+ * TODO: addSeries debe recibir el tipo de overrides por parametro SeriesType
22
+ * @param data
23
+ * @param overrides
24
+ */
25
+ addSeries(data: IEChartData, overrides: SeriesType): void;
21
26
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
22
27
  addPolar(): void;
23
28
  addXAxis(data: {
@@ -34,6 +39,7 @@ interface IEChartBuilder {
34
39
  setValueFormatter(formatter: EChartValueFormatter | undefined): void;
35
40
  setPalette(palette: string[] | undefined): void;
36
41
  setColorResolver(resolver: ChartColorResolver | undefined): void;
42
+ getResult(): EChartsOption;
37
43
  }
38
44
  type EChartClickType = 'cross-filter';
39
45
  interface IAreaOptionsOverrides extends ILineOptionsOverrides {
@@ -70,6 +76,9 @@ interface IScatterOptionsOverrides {
70
76
  interface IFunnelOptionsOverrides {
71
77
  series?: Partial<FunnelSeriesOption>;
72
78
  }
79
+ interface ISunburstOptionsOverrides {
80
+ series?: Partial<SunburstSeriesOption>;
81
+ }
73
82
  interface IAxisOptionsOverrides {
74
83
  categoryAxis: CategoryAxisBaseOption[];
75
84
  valueAxis: ValueAxisBaseOption[];
@@ -96,6 +105,8 @@ interface IOptionsOverrides {
96
105
  scatter: IScatterOptionsOverrides;
97
106
  /** funnel options overrides */
98
107
  funnel: IFunnelOptionsOverrides;
108
+ /** sunburst options overrides */
109
+ sunburst: ISunburstOptionsOverrides;
99
110
  }
100
111
  type NGXEchartsSelectChangeEventData = {
101
112
  type: string;
@@ -116,14 +127,25 @@ type NGXEchartsSelectChangeEventData = {
116
127
  };
117
128
 
118
129
  /**
119
- * IEChartSeries
130
+ * IEChartCategoryNode
120
131
  *
121
- * Estructura de datos para una serie de ECharts.
132
+ * Representa un nodo en el árbol de categorías (filas).
122
133
  */
123
- interface IEChartSeries {
134
+ interface IEChartCategoryNode {
135
+ name: string;
136
+ key?: string;
137
+ children?: IEChartCategoryNode[];
138
+ }
139
+ /**
140
+ * IEChartSeriesNode
141
+ *
142
+ * Representa un nodo en el árbol de series (columnas/medidas).
143
+ */
144
+ interface IEChartSeriesNode {
124
145
  name: string;
125
- data: number[];
126
146
  originalKey?: string;
147
+ data: number[];
148
+ children?: IEChartSeriesNode[];
127
149
  }
128
150
  /**
129
151
  * IEChartData
@@ -132,9 +154,8 @@ interface IEChartSeries {
132
154
  *
133
155
  */
134
156
  interface IEChartData {
135
- categories: string[];
136
- categoryKeys?: string[];
137
- series: IEChartSeries[];
157
+ categories: IEChartCategoryNode[];
158
+ series: IEChartSeriesNode[];
138
159
  }
139
160
  /**
140
161
  * EChartValueFormatter
@@ -187,7 +208,7 @@ type MakeScatterOpts = MakeOpts;
187
208
  */
188
209
  declare class VSECDirector {
189
210
  private builder;
190
- constructor(builder: IEChartBuilder);
211
+ constructor(builder: IEChartBuilder<any>);
191
212
  makeBar(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeBarOpts): void;
192
213
  makeBarRadial(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeBarOpts): void;
193
214
  makeLine(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeLineOpts): void;
@@ -195,6 +216,7 @@ declare class VSECDirector {
195
216
  makeRing(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
196
217
  makePie(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
197
218
  makeFunnel(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
219
+ makeSunburst(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
198
220
  }
199
221
 
200
222
  declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
@@ -219,7 +241,7 @@ declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
219
241
  * producto base/inicial para el builder.
220
242
  */
221
243
  protected abstract baseProduct: VSEChartProduct;
222
- protected abstract builder: IEChartBuilder;
244
+ protected abstract builder: IEChartBuilder<any>;
223
245
  /**
224
246
  * director de construcción.
225
247
  *
@@ -229,19 +251,12 @@ declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
229
251
  * Ver: https://refactoring.guru/es/design-patterns/builder
230
252
  */
231
253
  protected abstract director: VSECDirector;
232
- protected abstract make(makeOpts: MakeOpts): void;
254
+ protected abstract make(): void;
233
255
  /**
234
256
  * Opciones de series escenciales, inmutables y estaticas minimas
235
257
  * necesarias para el dibujado de las series del grafico.
236
258
  */
237
259
  protected abstract baseSeriesOptions: SeriesOption;
238
- /** Construye y setea o actualiza las opciones.
239
- *
240
- * Utilizar cuando requiera un redibujo completo.
241
- *
242
- * Ej: Cambio en la data o estructural.
243
- */
244
- protected abstract updateChartOptions(): void;
245
260
  protected chartInstance?: echarts.ECharts;
246
261
  /** Opciones de inicializacion de echarts
247
262
  *
@@ -269,6 +284,7 @@ declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
269
284
  * el comportamiento base (detectar inputs relevantes y actualizar el chart).
270
285
  */
271
286
  protected onInputChanges(changes: SimpleChanges): void;
287
+ private prepareOptions;
272
288
  /**
273
289
  * Gatilla actualización.
274
290
  *
@@ -305,7 +321,7 @@ declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
305
321
  * Builder concreto para el grafico de Ring.
306
322
  *
307
323
  */
308
- declare class RingBuilder implements IEChartBuilder {
324
+ declare class RingBuilder implements IEChartBuilder<PieSeriesOption> {
309
325
  baseProduct: VSEChartProduct;
310
326
  protected valueFormatter: EChartValueFormatter;
311
327
  protected palette: string[];
@@ -314,7 +330,7 @@ declare class RingBuilder implements IEChartBuilder {
314
330
  constructor(baseProduct: VSEChartProduct);
315
331
  reset(): void;
316
332
  addCommons(): void;
317
- addSeries(data: IEChartData, overrides: SeriesOption): void;
333
+ addSeries(data: IEChartData, overrides: PieSeriesOption): void;
318
334
  addGraphic(): void;
319
335
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
320
336
  addLegend(): void;
@@ -350,7 +366,7 @@ declare class EchartsRingComponent extends BaseEchartsComponent {
350
366
  private selectedPercent;
351
367
  private currentGraphicText;
352
368
  constructor();
353
- protected make(makeOpts: MakeOpts): void;
369
+ protected make(): void;
354
370
  protected onInputChanges(changes: SimpleChanges): void;
355
371
  /**
356
372
  * Maneja clics en los sectores del ring.
@@ -363,7 +379,6 @@ declare class EchartsRingComponent extends BaseEchartsComponent {
363
379
  * Actualiza el texto del Graphic central y persiste la selección en el modelo de opciones.
364
380
  */
365
381
  private setGraphicText;
366
- protected updateChartOptions(): void;
367
382
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsRingComponent, never>;
368
383
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsRingComponent, "vs-echarts-ring", never, {}, {}, never, never, true, never>;
369
384
  }
@@ -374,7 +389,7 @@ declare class EchartsRingComponent extends BaseEchartsComponent {
374
389
  * Builder concreto para el gráfico de Pie (torta concéntrica).
375
390
  *
376
391
  */
377
- declare class PieBuilder implements IEChartBuilder {
392
+ declare class PieBuilder implements IEChartBuilder<PieSeriesOption> {
378
393
  baseProduct: VSEChartProduct;
379
394
  protected valueFormatter: EChartValueFormatter;
380
395
  protected palette: string[];
@@ -383,7 +398,7 @@ declare class PieBuilder implements IEChartBuilder {
383
398
  constructor(baseProduct: VSEChartProduct);
384
399
  reset(): void;
385
400
  addCommons(): void;
386
- addSeries(data: IEChartData, overrides: SeriesOption): void;
401
+ addSeries(data: IEChartData, overrides: PieSeriesOption): void;
387
402
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
388
403
  addLegend(): void;
389
404
  addPolar(): void;
@@ -416,8 +431,7 @@ declare class EchartsPieComponent extends BaseEchartsComponent {
416
431
  protected builder: PieBuilder;
417
432
  protected director: VSECDirector;
418
433
  constructor();
419
- protected make(makeOpts: MakeOpts): void;
420
- protected updateChartOptions(): void;
434
+ protected make(): void;
421
435
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsPieComponent, never>;
422
436
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsPieComponent, "vs-echarts-pie", never, {}, {}, never, never, true, never>;
423
437
  }
@@ -427,7 +441,7 @@ declare class EchartsPieComponent extends BaseEchartsComponent {
427
441
  *
428
442
  * Concrete builder for Funnel charts.
429
443
  */
430
- declare class FunnelBuilder implements IEChartBuilder {
444
+ declare class FunnelBuilder implements IEChartBuilder<FunnelSeriesOption> {
431
445
  baseProduct: VSEChartProduct;
432
446
  protected valueFormatter: EChartValueFormatter;
433
447
  protected palette: string[];
@@ -436,7 +450,7 @@ declare class FunnelBuilder implements IEChartBuilder {
436
450
  constructor(baseProduct: VSEChartProduct);
437
451
  reset(): void;
438
452
  addCommons(): void;
439
- addSeries(data: IEChartData, overrides: SeriesOption): void;
453
+ addSeries(data: IEChartData, overrides: FunnelSeriesOption): void;
440
454
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
441
455
  addLegend(): void;
442
456
  addPolar(): void;
@@ -467,8 +481,7 @@ declare class EchartsFunnelComponent extends BaseEchartsComponent {
467
481
  protected builder: FunnelBuilder;
468
482
  protected director: VSECDirector;
469
483
  constructor();
470
- protected make(makeOpts: MakeOpts): void;
471
- protected updateChartOptions(): void;
484
+ protected make(): void;
472
485
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsFunnelComponent, never>;
473
486
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsFunnelComponent, "vs-echarts-funnel", never, {}, {}, never, never, true, never>;
474
487
  }
@@ -480,7 +493,7 @@ declare class EchartsFunnelComponent extends BaseEchartsComponent {
480
493
  *
481
494
  * Puede verse utilizado en graficos como Lineas y Bars. Siempre que se pueda priorizar utilizar este.
482
495
  */
483
- declare class EChartBuilder implements IEChartBuilder {
496
+ declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption> {
484
497
  baseProduct: VSEChartProduct;
485
498
  protected valueFormatter: EChartValueFormatter;
486
499
  protected palette: string[];
@@ -552,8 +565,7 @@ declare abstract class EchartsBarComponent extends BaseEchartsComponent {
552
565
  protected builder: EChartBuilder;
553
566
  protected director: VSECDirector;
554
567
  constructor();
555
- protected make(makeOpts: MakeBarOpts): void;
556
- protected updateChartOptions(): void;
568
+ protected make(): void;
557
569
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsBarComponent, never>;
558
570
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsBarComponent, "vs-echarts-bar", never, {}, {}, never, never, true, never>;
559
571
  }
@@ -563,7 +575,7 @@ declare class EChartsHBarComponent extends EchartsBarComponent {
563
575
  protected variantBaseProduct: VSEChartProduct;
564
576
  protected builder: EChartBuilder;
565
577
  protected director: VSECDirector;
566
- protected make(makeOpts: MakeBarOpts): void;
578
+ protected make(): void;
567
579
  static ɵfac: i0.ɵɵFactoryDeclaration<EChartsHBarComponent, never>;
568
580
  static ɵcmp: i0.ɵɵComponentDeclaration<EChartsHBarComponent, "vs-echarts-bar", never, {}, {}, never, never, true, never>;
569
581
  }
@@ -582,7 +594,7 @@ declare class EChartsHBarStackedComponent extends EchartsBarComponent {
582
594
  protected variantBaseProduct: VSEChartProduct;
583
595
  protected builder: EChartBuilder;
584
596
  protected director: VSECDirector;
585
- protected make(makeOpts: MakeBarOpts): void;
597
+ protected make(): void;
586
598
  static ɵfac: i0.ɵɵFactoryDeclaration<EChartsHBarStackedComponent, never>;
587
599
  static ɵcmp: i0.ɵɵComponentDeclaration<EChartsHBarStackedComponent, "vs-echarts-bar", never, {}, {}, never, never, true, never>;
588
600
  }
@@ -592,7 +604,7 @@ declare class EChartsBarStackedRadialComponent extends EchartsBarComponent {
592
604
  protected variantBaseProduct: VSEChartProduct;
593
605
  protected builder: EChartBuilder;
594
606
  protected director: VSECDirector;
595
- protected make(makeOpts: MakeBarOpts): void;
607
+ protected make(): void;
596
608
  static ɵfac: i0.ɵɵFactoryDeclaration<EChartsBarStackedRadialComponent, never>;
597
609
  static ɵcmp: i0.ɵɵComponentDeclaration<EChartsBarStackedRadialComponent, "vs-echarts-bar", never, {}, {}, never, never, true, never>;
598
610
  }
@@ -608,8 +620,7 @@ declare abstract class EchartsLineComponent extends BaseEchartsComponent {
608
620
  */
609
621
  protected abstract variantBaseProduct: VSEChartProduct;
610
622
  constructor();
611
- protected make(makeOpts: MakeLineOpts): void;
612
- protected updateChartOptions(): void;
623
+ protected make(): void;
613
624
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsLineComponent, never>;
614
625
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsLineComponent, "vs-echarts-line", never, {}, {}, never, never, true, never>;
615
626
  }
@@ -646,11 +657,57 @@ declare abstract class EchartsScatterComponent extends BaseEchartsComponent {
646
657
  protected builder: EChartBuilder;
647
658
  protected director: VSECDirector;
648
659
  constructor();
649
- protected make(makeOpts: MakeScatterOpts): void;
650
- protected updateChartOptions(): void;
660
+ protected make(): void;
651
661
  static ɵfac: i0.ɵɵFactoryDeclaration<EchartsScatterComponent, never>;
652
662
  static ɵcmp: i0.ɵɵComponentDeclaration<EchartsScatterComponent, "vs-echarts-scatter", never, {}, {}, never, never, true, never>;
653
663
  }
654
664
 
655
- export { BaseEchartsComponent, EChartsAreaComponent, EChartsAreaStackComponent, EChartsBarStackedComponent, EChartsBarStackedRadialComponent, EChartsHBarComponent, EChartsHBarStackedComponent, EchartsBarComponent, EchartsFunnelComponent, EchartsLineComponent, EchartsPieComponent, EchartsRingComponent, EchartsScatterComponent, defaultOptionsOverrides, initializeEcharts, provideVSEcharts };
656
- export type { ChartColorResolver, ChartOrientation, EChartClickType, EChartValueFormatter, IAreaOptionsOverrides, IAreaStackOptionsOverrides, IAxisOptionsOverrides, IBarOptionsOverrides, IBarStackedOptionsOverrides, IBarStackedRadialOptionsOverrides, IEChartBuilder, IEChartData, IEChartSeries, IFunnelOptionsOverrides, IHBarOptionsOverrides, IHBarStackedOptionsOverrides, ILineOptionsOverrides, IOptionsOverrides, IOptionsOverridesWrapper, IPieOptionsOverrides, IRingOptionsOverrides, IScatterOptionsOverrides, ITooltipOptionsOverrides, NGXEchartsSelectChangeEventData, VSEChartProduct };
665
+ declare class SunburstBuilder implements IEChartBuilder<SunburstSeriesOption> {
666
+ baseProduct: VSEChartProduct;
667
+ protected valueFormatter: EChartValueFormatter;
668
+ protected palette: string[];
669
+ protected colorResolver?: ChartColorResolver;
670
+ protected result: EChartsOption;
671
+ constructor(baseProduct: VSEChartProduct);
672
+ reset(): void;
673
+ addSeries(data: IEChartData, overrides: SunburstSeriesOption): void;
674
+ addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
675
+ addPolar(): void;
676
+ addXAxis(data: {
677
+ categories: IEChartData["categories"];
678
+ }, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
679
+ addYAxis(data: {
680
+ categories: IEChartData["categories"];
681
+ }, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
682
+ addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
683
+ addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
684
+ addLegend(): void;
685
+ addCommons(): void;
686
+ addGraphic(): void;
687
+ getResult(): EChartsOption;
688
+ /**
689
+ * Permite inyectar un formateador de valores externo.
690
+ */
691
+ setValueFormatter(formatter: EChartValueFormatter): void;
692
+ /**
693
+ * Permite inyectar una paleta de colores básica.
694
+ */
695
+ setPalette(palette: string[]): void;
696
+ /**
697
+ * Permite inyectar un resolver de colores dinámico.
698
+ */
699
+ setColorResolver(resolver: ChartColorResolver): void;
700
+ }
701
+
702
+ declare class EChartsSunburstComponent extends BaseEchartsComponent {
703
+ protected baseSeriesOptions: SunburstSeriesOption;
704
+ protected baseProduct: VSEChartProduct;
705
+ protected builder: SunburstBuilder;
706
+ protected director: VSECDirector;
707
+ protected make(): void;
708
+ static ɵfac: i0.ɵɵFactoryDeclaration<EChartsSunburstComponent, never>;
709
+ static ɵcmp: i0.ɵɵComponentDeclaration<EChartsSunburstComponent, "vs-echarts-sunburst", never, {}, {}, never, never, true, never>;
710
+ }
711
+
712
+ export { BaseEchartsComponent, EChartsAreaComponent, EChartsAreaStackComponent, EChartsBarStackedComponent, EChartsBarStackedRadialComponent, EChartsHBarComponent, EChartsHBarStackedComponent, EChartsSunburstComponent, EchartsBarComponent, EchartsFunnelComponent, EchartsLineComponent, EchartsPieComponent, EchartsRingComponent, EchartsScatterComponent, defaultOptionsOverrides, initializeEcharts, provideVSEcharts };
713
+ export type { ChartColorResolver, ChartOrientation, EChartClickType, EChartValueFormatter, IAreaOptionsOverrides, IAreaStackOptionsOverrides, IAxisOptionsOverrides, IBarOptionsOverrides, IBarStackedOptionsOverrides, IBarStackedRadialOptionsOverrides, IEChartBuilder, IEChartCategoryNode, IEChartData, IEChartSeriesNode, IFunnelOptionsOverrides, IHBarOptionsOverrides, IHBarStackedOptionsOverrides, ILineOptionsOverrides, IOptionsOverrides, IOptionsOverridesWrapper, IPieOptionsOverrides, IRingOptionsOverrides, IScatterOptionsOverrides, ISunburstOptionsOverrides, ITooltipOptionsOverrides, NGXEchartsSelectChangeEventData, VSEChartProduct };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visionaris-bruno/vs-echarts",
3
- "version": "6.5.2",
3
+ "version": "7.1.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0",