@visionaris-bruno/vs-echarts 7.2.0 → 8.2.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,10 +1,17 @@
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, SunburstSeriesOption, EChartsOption, SeriesOption } from 'echarts';
4
+ import { LineSeriesOption, BarSeriesOption, PieSeriesOption, ScatterSeriesOption, FunnelSeriesOption, SunburstSeriesOption, SankeySeriesOption, 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
 
8
+ interface ISeriesLayoutOpts {
9
+ coordinateSystem?: 'cartesian2d' | 'polar';
10
+ axisTypes?: {
11
+ x: 'category' | 'value';
12
+ y: 'category' | 'value';
13
+ };
14
+ }
8
15
  type ChartKey = keyof Omit<IOptionsOverridesWrapper, "axis" | "tooltip">;
9
16
  /** los recibira el director
10
17
  *
@@ -13,7 +20,7 @@ type VSEChartProduct = {
13
20
  chartKey: ChartKey;
14
21
  baseOptions: EChartsOption;
15
22
  };
16
- interface IEChartBuilder<SeriesType = SeriesOption> {
23
+ interface IEChartBuilder<SeriesType = SeriesOption, OptsType = any> {
17
24
  /** producto base */
18
25
  baseProduct: VSEChartProduct;
19
26
  reset(): void;
@@ -22,15 +29,11 @@ interface IEChartBuilder<SeriesType = SeriesOption> {
22
29
  * @param data
23
30
  * @param overrides
24
31
  */
25
- addSeries(data: IEChartData, overrides: SeriesType): void;
32
+ addSeries(data: IEChartData, overrides: SeriesType, opts?: OptsType): void;
26
33
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
27
34
  addPolar(): void;
28
- addXAxis(data: {
29
- categories: IEChartData["categories"];
30
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
31
- addYAxis(data: {
32
- categories: IEChartData["categories"];
33
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
35
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
36
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
34
37
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
35
38
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
36
39
  addLegend(): void;
@@ -79,6 +82,9 @@ interface IFunnelOptionsOverrides {
79
82
  interface ISunburstOptionsOverrides {
80
83
  series?: Partial<SunburstSeriesOption>;
81
84
  }
85
+ interface ISankeyOptionsOverrides {
86
+ series?: Partial<SankeySeriesOption>;
87
+ }
82
88
  interface IAxisOptionsOverrides {
83
89
  categoryAxis: CategoryAxisBaseOption[];
84
90
  valueAxis: ValueAxisBaseOption[];
@@ -107,6 +113,8 @@ interface IOptionsOverrides {
107
113
  funnel: IFunnelOptionsOverrides;
108
114
  /** sunburst options overrides */
109
115
  sunburst: ISunburstOptionsOverrides;
116
+ /** sankey options overrides */
117
+ sankey: ISankeyOptionsOverrides;
110
118
  }
111
119
  type NGXEchartsSelectChangeEventData = {
112
120
  type: string;
@@ -127,35 +135,28 @@ type NGXEchartsSelectChangeEventData = {
127
135
  };
128
136
 
129
137
  /**
130
- * IEChartCategoryNode
138
+ * IEChartDataNode
131
139
  *
132
- * Representa un nodo en el árbol de categorías (filas).
140
+ * Representa un nodo/fila en el arreglo de objetos jerárquico.
133
141
  */
134
- interface IEChartCategoryNode {
135
- name: string;
136
- key?: string;
137
- children?: IEChartCategoryNode[];
142
+ interface IEChartDataNode {
143
+ category: string;
144
+ [key: string]: any;
145
+ children?: IEChartDataNode[];
138
146
  }
139
- /**
140
- * IEChartSeriesNode
141
- *
142
- * Representa un nodo en el árbol de series (columnas/medidas).
143
- */
144
- interface IEChartSeriesNode {
147
+ interface IEChartDimension {
145
148
  name: string;
146
- originalKey?: string;
147
- data: number[];
148
- children?: IEChartSeriesNode[];
149
+ displayName?: string;
149
150
  }
150
151
  /**
151
152
  * IEChartData
152
153
  *
153
- * Interfaz unificada para el paso de datos a componentes de ECharts.
154
+ * Interfaz unificada para el paso de datos basados en dataset a componentes de ECharts.
154
155
  *
155
156
  */
156
157
  interface IEChartData {
157
- categories: IEChartCategoryNode[];
158
- series: IEChartSeriesNode[];
158
+ dimensions: IEChartDimension[];
159
+ source: IEChartDataNode[];
159
160
  }
160
161
  /**
161
162
  * EChartValueFormatter
@@ -208,7 +209,7 @@ type MakeScatterOpts = MakeOpts;
208
209
  */
209
210
  declare class VSECDirector {
210
211
  private builder;
211
- constructor(builder: IEChartBuilder<any>);
212
+ constructor(builder: IEChartBuilder<any, ISeriesLayoutOpts>);
212
213
  makeBar(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeBarOpts): void;
213
214
  makeBarRadial(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeBarOpts): void;
214
215
  makeLine(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeLineOpts): void;
@@ -217,6 +218,7 @@ declare class VSECDirector {
217
218
  makePie(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
218
219
  makeFunnel(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
219
220
  makeSunburst(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
221
+ makeSankey(data: IEChartData, overrides: IOptionsOverridesWrapper, opts?: MakeOpts): void;
220
222
  }
221
223
 
222
224
  declare abstract class BaseEchartsComponent implements OnChanges, OnDestroy {
@@ -335,12 +337,8 @@ declare class RingBuilder implements IEChartBuilder<PieSeriesOption> {
335
337
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
336
338
  addLegend(): void;
337
339
  addPolar(): void;
338
- addXAxis(data: {
339
- categories: IEChartData["categories"];
340
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
341
- addYAxis(data: {
342
- categories: IEChartData["categories"];
343
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
340
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
341
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
344
342
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
345
343
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
346
344
  setValueFormatter(formatter: EChartValueFormatter | undefined): void;
@@ -402,12 +400,8 @@ declare class PieBuilder implements IEChartBuilder<PieSeriesOption> {
402
400
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
403
401
  addLegend(): void;
404
402
  addPolar(): void;
405
- addXAxis(data: {
406
- categories: IEChartData["categories"];
407
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
408
- addYAxis(data: {
409
- categories: IEChartData["categories"];
410
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
403
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
404
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
411
405
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
412
406
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
413
407
  addGraphic(): void;
@@ -454,12 +448,8 @@ declare class FunnelBuilder implements IEChartBuilder<FunnelSeriesOption> {
454
448
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
455
449
  addLegend(): void;
456
450
  addPolar(): void;
457
- addXAxis(data: {
458
- categories: IEChartData["categories"];
459
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
460
- addYAxis(data: {
461
- categories: IEChartData["categories"];
462
- }, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
451
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
452
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: 'category' | 'value'): void;
463
453
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
464
454
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
465
455
  addGraphic(): void;
@@ -493,7 +483,7 @@ declare class EchartsFunnelComponent extends BaseEchartsComponent {
493
483
  *
494
484
  * Puede verse utilizado en graficos como Lineas y Bars. Siempre que se pueda priorizar utilizar este.
495
485
  */
496
- declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption> {
486
+ declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption, ISeriesLayoutOpts> {
497
487
  baseProduct: VSEChartProduct;
498
488
  protected valueFormatter: EChartValueFormatter;
499
489
  protected palette: string[];
@@ -508,7 +498,7 @@ declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOp
508
498
  * @param overrides
509
499
  * @returns
510
500
  */
511
- addSeries(data: IEChartData, overrides: SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption): void;
501
+ addSeries(data: IEChartData, overrides: SeriesOption & BarSeriesOption & LineSeriesOption & ScatterSeriesOption, opts?: ISeriesLayoutOpts): void;
512
502
  /**
513
503
  * TODO: Mejorar funcion, no me convence como se implemento el tooltip formatter.
514
504
  * @param data
@@ -516,12 +506,8 @@ declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOp
516
506
  */
517
507
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
518
508
  addPolar(): void;
519
- addXAxis(data: {
520
- categories: IEChartData["categories"];
521
- }, overrides: IOptionsOverrides["axis"], type?: 'category' | 'value'): void;
522
- addYAxis(data: {
523
- categories: IEChartData["categories"];
524
- }, overrides: IOptionsOverrides["axis"], type?: 'category' | 'value'): void;
509
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type?: 'category' | 'value'): void;
510
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type?: 'category' | 'value'): void;
525
511
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
526
512
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
527
513
  addLegend(): void;
@@ -543,12 +529,8 @@ declare class EChartBuilder implements IEChartBuilder<SeriesOption & BarSeriesOp
543
529
  * Permite inyectar un resolver de colores dinámico.
544
530
  */
545
531
  setColorResolver(resolver: ChartColorResolver): void;
546
- protected getCategoryAxisOptions(data: {
547
- categories: IEChartData["categories"];
548
- }, overrides: IOptionsOverrides["axis"]): CategoryAxisBaseOption;
549
- protected getValueAxisOptions(data: {
550
- categories: IEChartData["categories"];
551
- }, overrides: IOptionsOverrides["axis"]): any;
532
+ protected getCategoryAxisOptions(data: IEChartData, overrides: IOptionsOverrides["axis"]): CategoryAxisBaseOption;
533
+ protected getValueAxisOptions(data: IEChartData, overrides: IOptionsOverrides["axis"]): any;
552
534
  }
553
535
 
554
536
  declare abstract class EchartsBarComponent extends BaseEchartsComponent {
@@ -673,12 +655,8 @@ declare class SunburstBuilder implements IEChartBuilder<SunburstSeriesOption> {
673
655
  addSeries(data: IEChartData, overrides: SunburstSeriesOption): void;
674
656
  addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
675
657
  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;
658
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
659
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
682
660
  addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
683
661
  addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
684
662
  addLegend(): void;
@@ -709,5 +687,44 @@ declare class EChartsSunburstComponent extends BaseEchartsComponent {
709
687
  static ɵcmp: i0.ɵɵComponentDeclaration<EChartsSunburstComponent, "vs-echarts-sunburst", never, {}, {}, never, never, true, never>;
710
688
  }
711
689
 
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 };
690
+ /**
691
+ * SankeyBuilder
692
+ *
693
+ * Builder concreto para el gráfico Sankey (diagrama de flujos de izquierda a derecha).
694
+ */
695
+ declare class SankeyBuilder implements IEChartBuilder<SankeySeriesOption> {
696
+ baseProduct: VSEChartProduct;
697
+ protected valueFormatter: EChartValueFormatter;
698
+ protected palette: string[];
699
+ protected colorResolver?: ChartColorResolver;
700
+ protected result: EChartsOption;
701
+ constructor(baseProduct: VSEChartProduct);
702
+ reset(): void;
703
+ addSeries(data: IEChartData, overrides: SankeySeriesOption): void;
704
+ addTooltip(data: IEChartData, overrides: ITooltipOptionsOverrides): void;
705
+ addPolar(): void;
706
+ addXAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
707
+ addYAxis(data: IEChartData, overrides: IOptionsOverrides["axis"], type: "category" | "value"): void;
708
+ addRadiusAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
709
+ addAngleAxis(data: IEChartData, overrides: IOptionsOverrides["axis"]): void;
710
+ addLegend(): void;
711
+ addCommons(): void;
712
+ addGraphic(): void;
713
+ getResult(): EChartsOption;
714
+ setValueFormatter(formatter: EChartValueFormatter | undefined): void;
715
+ setPalette(palette: string[] | undefined): void;
716
+ setColorResolver(resolver: ChartColorResolver | undefined): void;
717
+ }
718
+
719
+ declare class EchartsSankeyComponent extends BaseEchartsComponent {
720
+ protected baseSeriesOptions: SankeySeriesOption;
721
+ protected baseProduct: VSEChartProduct;
722
+ protected builder: SankeyBuilder;
723
+ protected director: VSECDirector;
724
+ protected make(): void;
725
+ static ɵfac: i0.ɵɵFactoryDeclaration<EchartsSankeyComponent, never>;
726
+ static ɵcmp: i0.ɵɵComponentDeclaration<EchartsSankeyComponent, "vs-echarts-sankey", never, {}, {}, never, never, true, never>;
727
+ }
728
+
729
+ export { BaseEchartsComponent, EChartsAreaComponent, EChartsAreaStackComponent, EChartsBarStackedComponent, EChartsBarStackedRadialComponent, EChartsHBarComponent, EChartsHBarStackedComponent, EChartsSunburstComponent, EchartsBarComponent, EchartsFunnelComponent, EchartsLineComponent, EchartsPieComponent, EchartsRingComponent, EchartsSankeyComponent, EchartsScatterComponent, defaultOptionsOverrides, initializeEcharts, provideVSEcharts };
730
+ export type { ChartColorResolver, ChartOrientation, EChartClickType, EChartValueFormatter, IAreaOptionsOverrides, IAreaStackOptionsOverrides, IAxisOptionsOverrides, IBarOptionsOverrides, IBarStackedOptionsOverrides, IBarStackedRadialOptionsOverrides, IEChartBuilder, IEChartData, IEChartDataNode, IEChartDimension, IFunnelOptionsOverrides, IHBarOptionsOverrides, IHBarStackedOptionsOverrides, ILineOptionsOverrides, IOptionsOverrides, IOptionsOverridesWrapper, IPieOptionsOverrides, IRingOptionsOverrides, ISankeyOptionsOverrides, IScatterOptionsOverrides, ISeriesLayoutOpts, ISunburstOptionsOverrides, ITooltipOptionsOverrides, NGXEchartsSelectChangeEventData, VSEChartProduct };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visionaris-bruno/vs-echarts",
3
- "version": "7.2.0",
3
+ "version": "8.2.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0",