@tetacom/svg-charts 1.4.20 → 1.4.22

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 (138) hide show
  1. package/chart/base/series-base.component.d.ts +1 -1
  2. package/chart/chart/chart.component.d.ts +1 -1
  3. package/chart/chart-container/annotation/annotation.component.d.ts +1 -1
  4. package/chart/chart-container/chart-container.component.d.ts +1 -1
  5. package/chart/chart-container/crosshair/crosshair.component.d.ts +1 -1
  6. package/chart/chart-container/gridlines/gridlines.component.d.ts +1 -1
  7. package/chart/chart-container/plotband/plot-band.component.d.ts +1 -1
  8. package/chart/chart-container/plotline/plotline.component.d.ts +1 -1
  9. package/chart/chart-container/series/area-series/area-series.component.d.ts +1 -1
  10. package/chart/chart-container/series/bar/bar-series.component.d.ts +1 -1
  11. package/chart/chart-container/series/block-area-series/block-area-series.component.d.ts +1 -1
  12. package/chart/chart-container/series/block-series/block-series.component.d.ts +1 -1
  13. package/chart/chart-container/series/line/line-series.component.d.ts +1 -1
  14. package/chart/chart-container/series/linear-series-base.d.ts +1 -1
  15. package/chart/chart-container/series/scatter-series/scatter-series.component.d.ts +1 -1
  16. package/chart/chart-container/series-host/series-host.component.d.ts +1 -1
  17. package/chart/chart-container/tooltip/tooltip.component.d.ts +1 -1
  18. package/chart/chart-container/x-axis/x-axis.component.d.ts +1 -1
  19. package/chart/chart-container/y-axis/y-axis.component.d.ts +1 -1
  20. package/chart/directives/brushable.directive.d.ts +1 -1
  21. package/chart/directives/draggable-point.directive.d.ts +1 -1
  22. package/chart/directives/zoomable.directive.d.ts +1 -1
  23. package/chart/legend/legend.component.d.ts +1 -1
  24. package/chart/model/i-broadcast-message.d.ts +2 -2
  25. package/chart/stories/bandseries/bandseries.component.d.ts +1 -1
  26. package/esm2022/chart/base/series-base.component.mjs +50 -0
  27. package/esm2022/chart/chart/chart.component.mjs +175 -0
  28. package/esm2022/chart/chart-container/annotation/annotation.component.mjs +108 -0
  29. package/esm2022/chart/chart-container/chart-container.component.mjs +194 -0
  30. package/esm2022/chart/chart-container/crosshair/crosshair.component.mjs +39 -0
  31. package/esm2022/chart/chart-container/gridlines/gridlines.component.mjs +45 -0
  32. package/esm2022/chart/chart-container/plotband/plot-band.component.mjs +174 -0
  33. package/esm2022/chart/chart-container/plotline/plotline.component.mjs +98 -0
  34. package/esm2022/chart/chart-container/series/area-series/area-series.component.mjs +74 -0
  35. package/esm2022/chart/chart-container/series/bar/bar-series.component.mjs +68 -0
  36. package/esm2022/chart/chart-container/series/block-area-series/block-area-series.component.mjs +69 -0
  37. package/esm2022/chart/chart-container/series/block-series/block-series.component.mjs +69 -0
  38. package/{esm2020 → esm2022}/chart/chart-container/series/line/line-series.component.mjs +37 -30
  39. package/esm2022/chart/chart-container/series/linear-series-base.mjs +210 -0
  40. package/esm2022/chart/chart-container/series/scatter-series/scatter-series.component.mjs +53 -0
  41. package/esm2022/chart/chart-container/series-host/series-host.component.mjs +50 -0
  42. package/{esm2020 → esm2022}/chart/chart-container/tooltip/tooltip.component.mjs +18 -5
  43. package/esm2022/chart/chart-container/x-axis/x-axis.component.mjs +54 -0
  44. package/esm2022/chart/chart-container/y-axis/y-axis.component.mjs +40 -0
  45. package/{esm2020 → esm2022}/chart/chart.module.mjs +36 -36
  46. package/esm2022/chart/core/axis/axis.mjs +135 -0
  47. package/esm2022/chart/core/axis/builders/axis-size-builder.mjs +31 -0
  48. package/esm2022/chart/core/axis/builders/extremes-builder.mjs +33 -0
  49. package/esm2022/chart/directives/brushable.directive.mjs +162 -0
  50. package/esm2022/chart/directives/draggable-point.directive.mjs +147 -0
  51. package/esm2022/chart/directives/zoomable.directive.mjs +263 -0
  52. package/esm2022/chart/legend/legend.component.mjs +38 -0
  53. package/{esm2020 → esm2022}/chart/model/chart-bounds.mjs +5 -5
  54. package/esm2022/chart/model/i-broadcast-message.mjs +27 -0
  55. package/esm2022/chart/model/plot-band.mjs +28 -0
  56. package/esm2022/chart/model/plot-line.mjs +21 -0
  57. package/esm2022/chart/service/broadcast.service.mjs +24 -0
  58. package/esm2022/chart/service/brush.service.mjs +22 -0
  59. package/esm2022/chart/service/chart.service.mjs +244 -0
  60. package/esm2022/chart/service/scale.service.mjs +206 -0
  61. package/esm2022/chart/service/zoom.service.mjs +85 -0
  62. package/esm2022/chart/stories/bandseries/bandseries.component.mjs +36 -0
  63. package/{fesm2020 → fesm2022}/tetacom-svg-charts.mjs +584 -338
  64. package/fesm2022/tetacom-svg-charts.mjs.map +1 -0
  65. package/package.json +8 -14
  66. package/esm2020/chart/base/series-base.component.mjs +0 -42
  67. package/esm2020/chart/chart/chart.component.mjs +0 -172
  68. package/esm2020/chart/chart-container/annotation/annotation.component.mjs +0 -99
  69. package/esm2020/chart/chart-container/chart-container.component.mjs +0 -182
  70. package/esm2020/chart/chart-container/crosshair/crosshair.component.mjs +0 -34
  71. package/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +0 -37
  72. package/esm2020/chart/chart-container/plotband/plot-band.component.mjs +0 -163
  73. package/esm2020/chart/chart-container/plotline/plotline.component.mjs +0 -87
  74. package/esm2020/chart/chart-container/series/area-series/area-series.component.mjs +0 -67
  75. package/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +0 -59
  76. package/esm2020/chart/chart-container/series/block-area-series/block-area-series.component.mjs +0 -60
  77. package/esm2020/chart/chart-container/series/block-series/block-series.component.mjs +0 -60
  78. package/esm2020/chart/chart-container/series/linear-series-base.mjs +0 -198
  79. package/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +0 -43
  80. package/esm2020/chart/chart-container/series-host/series-host.component.mjs +0 -46
  81. package/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +0 -48
  82. package/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +0 -36
  83. package/esm2020/chart/core/axis/axis.mjs +0 -128
  84. package/esm2020/chart/core/axis/builders/axis-size-builder.mjs +0 -33
  85. package/esm2020/chart/core/axis/builders/extremes-builder.mjs +0 -35
  86. package/esm2020/chart/directives/brushable.directive.mjs +0 -153
  87. package/esm2020/chart/directives/draggable-point.directive.mjs +0 -141
  88. package/esm2020/chart/directives/zoomable.directive.mjs +0 -254
  89. package/esm2020/chart/legend/legend.component.mjs +0 -36
  90. package/esm2020/chart/model/i-broadcast-message.mjs +0 -18
  91. package/esm2020/chart/model/plot-band.mjs +0 -17
  92. package/esm2020/chart/model/plot-line.mjs +0 -13
  93. package/esm2020/chart/service/broadcast.service.mjs +0 -23
  94. package/esm2020/chart/service/brush.service.mjs +0 -21
  95. package/esm2020/chart/service/chart.service.mjs +0 -229
  96. package/esm2020/chart/service/scale.service.mjs +0 -203
  97. package/esm2020/chart/service/zoom.service.mjs +0 -80
  98. package/esm2020/chart/stories/bandseries/bandseries.component.mjs +0 -29
  99. package/fesm2015/tetacom-svg-charts.mjs +0 -3095
  100. package/fesm2015/tetacom-svg-charts.mjs.map +0 -1
  101. package/fesm2020/tetacom-svg-charts.mjs.map +0 -1
  102. /package/{esm2020 → esm2022}/chart/chart-container/series/public-api.mjs +0 -0
  103. /package/{esm2020 → esm2022}/chart/core/axis/builders/public-api.mjs +0 -0
  104. /package/{esm2020 → esm2022}/chart/core/utils/generate-ticks.mjs +0 -0
  105. /package/{esm2020 → esm2022}/chart/core/utils/get-text-width.mjs +0 -0
  106. /package/{esm2020 → esm2022}/chart/core/utils/public-api.mjs +0 -0
  107. /package/{esm2020 → esm2022}/chart/default/default-axis-config.mjs +0 -0
  108. /package/{esm2020 → esm2022}/chart/default/default-chart-config.mjs +0 -0
  109. /package/{esm2020 → esm2022}/chart/default/default-series-config.mjs +0 -0
  110. /package/{esm2020 → esm2022}/chart/default/defaultSeriesTypeMapping.mjs +0 -0
  111. /package/{esm2020 → esm2022}/chart/model/annotation.mjs +0 -0
  112. /package/{esm2020 → esm2022}/chart/model/axis-options.mjs +0 -0
  113. /package/{esm2020 → esm2022}/chart/model/base-point.mjs +0 -0
  114. /package/{esm2020 → esm2022}/chart/model/enum/axis-orientation.mjs +0 -0
  115. /package/{esm2020 → esm2022}/chart/model/enum/brush-type.mjs +0 -0
  116. /package/{esm2020 → esm2022}/chart/model/enum/clip-points-direction.mjs +0 -0
  117. /package/{esm2020 → esm2022}/chart/model/enum/drag-point-type.mjs +0 -0
  118. /package/{esm2020 → esm2022}/chart/model/enum/fill-type.mjs +0 -0
  119. /package/{esm2020 → esm2022}/chart/model/enum/public-api.mjs +0 -0
  120. /package/{esm2020 → esm2022}/chart/model/enum/scale-type.mjs +0 -0
  121. /package/{esm2020 → esm2022}/chart/model/enum/series-type.mjs +0 -0
  122. /package/{esm2020 → esm2022}/chart/model/enum/tooltip-tracking.mjs +0 -0
  123. /package/{esm2020 → esm2022}/chart/model/enum/zoom-behavior-type.mjs +0 -0
  124. /package/{esm2020 → esm2022}/chart/model/enum/zoom-type.mjs +0 -0
  125. /package/{esm2020 → esm2022}/chart/model/i-builder.mjs +0 -0
  126. /package/{esm2020 → esm2022}/chart/model/i-chart-config.mjs +0 -0
  127. /package/{esm2020 → esm2022}/chart/model/i-chart-event.mjs +0 -0
  128. /package/{esm2020 → esm2022}/chart/model/i-display-tooltip.mjs +0 -0
  129. /package/{esm2020 → esm2022}/chart/model/i-point-move.mjs +0 -0
  130. /package/{esm2020 → esm2022}/chart/model/i-scales-map.mjs +0 -0
  131. /package/{esm2020 → esm2022}/chart/model/marker-options.mjs +0 -0
  132. /package/{esm2020 → esm2022}/chart/model/public-api.mjs +0 -0
  133. /package/{esm2020 → esm2022}/chart/model/series.mjs +0 -0
  134. /package/{esm2020 → esm2022}/chart/model/svg-attributes.mjs +0 -0
  135. /package/{esm2020 → esm2022}/chart/model/tooltip-options.mjs +0 -0
  136. /package/{esm2020 → esm2022}/chart/service/public-api.mjs +0 -0
  137. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  138. /package/{esm2020 → esm2022}/tetacom-svg-charts.mjs +0 -0
@@ -22,5 +22,5 @@ export declare class SeriesBaseComponent<T extends BasePoint> implements OnInit
22
22
  constructor(svc: ChartService, cdr: ChangeDetectorRef, scaleService: ScaleService, zoomService: ZoomService, element: ElementRef, zone?: NgZone);
23
23
  ngOnInit(): void;
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<SeriesBaseComponent<any>, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<SeriesBaseComponent<any>, "ng-component", never, { "config": "config"; "series": "series"; }, {}, never, never, false>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeriesBaseComponent<any>, "ng-component", never, { "config": { "alias": "config"; "required": false; }; "series": { "alias": "series"; "required": false; }; }, {}, never, never, false, never>;
26
26
  }
@@ -41,5 +41,5 @@ export declare class ChartComponent implements OnInit, OnChanges, OnDestroy {
41
41
  ngAfterViewInit(): void;
42
42
  ngOnDestroy(): void;
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<ChartComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "teta-svg-chart", never, { "config": "config"; }, { "pointerMove": "pointerMove"; "plotBandsMove": "plotBandsMove"; "plotBandClick": "plotBandClick"; "plotBandContextMenu": "plotBandContextMenu"; "plotLinesMove": "plotLinesMove"; "pointMove": "pointMove"; "chartClick": "chartClick"; "chartContextMenu": "chartContextMenu"; "annotationContextMenu": "annotationContextMenu"; "annotationClick": "annotationClick"; "annotationMove": "annotationMove"; "zoomServiceInstance": "zoomServiceInstance"; "brushServiceInstance": "brushServiceInstance"; }, never, ["*"], false>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "teta-svg-chart", never, { "config": { "alias": "config"; "required": false; }; }, { "pointerMove": "pointerMove"; "plotBandsMove": "plotBandsMove"; "plotBandClick": "plotBandClick"; "plotBandContextMenu": "plotBandContextMenu"; "plotLinesMove": "plotLinesMove"; "pointMove": "pointMove"; "chartClick": "chartClick"; "chartContextMenu": "chartContextMenu"; "annotationContextMenu": "annotationContextMenu"; "annotationClick": "annotationClick"; "annotationMove": "annotationMove"; "zoomServiceInstance": "zoomServiceInstance"; "brushServiceInstance": "brushServiceInstance"; }, never, ["*"], false, never>;
45
45
  }
@@ -24,5 +24,5 @@ export declare class AnnotationComponent implements OnDestroy {
24
24
  ngOnDestroy(): void;
25
25
  private init;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<AnnotationComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<AnnotationComponent, "[teta-annotation]", never, { "visibleRect": "visibleRect"; "annotation": "annotation"; }, {}, never, never, false>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<AnnotationComponent, "[teta-annotation]", never, { "visibleRect": { "alias": "visibleRect"; "required": false; }; "annotation": { "alias": "annotation"; "required": false; }; }, {}, never, never, false, never>;
28
28
  }
@@ -38,5 +38,5 @@ export declare class ChartContainerComponent implements OnInit, OnDestroy {
38
38
  mouseLeave(event: any): void;
39
39
  trackSerie(index: any, item: Series<BasePoint>): any;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<ChartContainerComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<ChartContainerComponent, "teta-chart-container", never, {}, {}, never, never, false>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChartContainerComponent, "teta-chart-container", never, {}, {}, never, never, false, never>;
42
42
  }
@@ -12,5 +12,5 @@ export declare class CrosshairComponent implements OnInit {
12
12
  constructor(scaleService: ScaleService, chartService: ChartService, cdr: ChangeDetectorRef);
13
13
  ngOnInit(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<CrosshairComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<CrosshairComponent, "[teta-crosshair]", never, { "size": "size"; }, {}, never, never, false>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<CrosshairComponent, "[teta-crosshair]", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
16
16
  }
@@ -16,5 +16,5 @@ export declare class GridlinesComponent implements AfterViewInit {
16
16
  constructor(svc: ScaleService, chartService: ChartService);
17
17
  ngAfterViewInit(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<GridlinesComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<GridlinesComponent, "[teta-gridlines]", never, { "size": "size"; }, {}, never, never, false>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<GridlinesComponent, "[teta-gridlines]", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
20
20
  }
@@ -34,5 +34,5 @@ export declare class PlotBandComponent implements AfterViewInit, OnDestroy {
34
34
  getTextPosition: () => any;
35
35
  getFill(d: PlotBand): string;
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<PlotBandComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<PlotBandComponent, "[teta-plot-band]", never, { "plotBand": "plotBand"; "axis": "axis"; "scale": "scale"; "size": "size"; }, {}, never, never, false>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<PlotBandComponent, "[teta-plot-band]", never, { "plotBand": { "alias": "plotBand"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
38
38
  }
@@ -28,5 +28,5 @@ export declare class PlotlineComponent implements OnInit, OnDestroy {
28
28
  get height(): number;
29
29
  get width(): number;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<PlotlineComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<PlotlineComponent, "[teta-plot-line]", never, { "plotLine": "plotLine"; "size": "size"; "axis": "axis"; "scale": "scale"; }, {}, never, never, false>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<PlotlineComponent, "[teta-plot-line]", never, { "plotLine": { "alias": "plotLine"; "required": false; }; "size": { "alias": "size"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; }, {}, never, never, false, never>;
32
32
  }
@@ -20,5 +20,5 @@ export declare class AreaSeriesComponent<T extends BasePoint> extends LinearSeri
20
20
  constructor(svc: ChartService, cdr: ChangeDetectorRef, scaleService: ScaleService, zoomService: ZoomService, element: ElementRef);
21
21
  ngOnInit(): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<AreaSeriesComponent<any>, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<AreaSeriesComponent<any>, "svg:svg[teta-area-series]", never, {}, {}, never, never, false>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<AreaSeriesComponent<any>, "svg:svg[teta-area-series]", never, {}, {}, never, never, false, never>;
24
24
  }
@@ -23,5 +23,5 @@ export declare class BarSeriesComponent<T extends BasePoint> extends SeriesBaseC
23
23
  mouseleave(point: BasePoint): void;
24
24
  ngOnChanges(changes: SimpleChanges): void;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<BarSeriesComponent<any>, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<BarSeriesComponent<any>, "svg:svg[teta-bar-series]", never, {}, {}, never, never, false>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<BarSeriesComponent<any>, "svg:svg[teta-bar-series]", never, {}, {}, never, never, false, never>;
27
27
  }
@@ -25,5 +25,5 @@ export declare class BlockAreaSeriesComponent<T extends BasePoint> extends Serie
25
25
  mouseenter(point: BasePoint): void;
26
26
  mouseleave(point: BasePoint): void;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<BlockAreaSeriesComponent<any>, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<BlockAreaSeriesComponent<any>, "svg:svg[teta-block-area-series]", never, {}, {}, never, never, false>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<BlockAreaSeriesComponent<any>, "svg:svg[teta-block-area-series]", never, {}, {}, never, never, false, never>;
29
29
  }
@@ -25,5 +25,5 @@ export declare class BlockSeriesComponent<T extends BasePoint> extends SeriesBas
25
25
  mouseleave(point: BasePoint): void;
26
26
  ngAfterViewInit(): void;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<BlockSeriesComponent<any>, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<BlockSeriesComponent<any>, "svg:svg[teta-block-series]", never, {}, {}, never, never, false>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<BlockSeriesComponent<any>, "svg:svg[teta-block-series]", never, {}, {}, never, never, false, never>;
29
29
  }
@@ -21,5 +21,5 @@ export declare class LineSeriesComponent<T extends BasePoint> extends LinearSeri
21
21
  moveLabel(event: any, label: any): void;
22
22
  allowDrag: (point: BasePoint) => (newPoint: any) => boolean;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<LineSeriesComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<LineSeriesComponent<any>, "svg:svg[teta-line-series]", never, {}, {}, never, never, false>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<LineSeriesComponent<any>, "svg:svg[teta-line-series]", never, {}, {}, never, never, false, never>;
25
25
  }
@@ -31,5 +31,5 @@ export declare class LinearSeriesBase<T extends BasePoint> extends SeriesBaseCom
31
31
  ngAfterViewInit(): void;
32
32
  getTransform(event: any, scaleX: any, scaleY: any): Pick<BasePoint, 'x' | 'y'>;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<LinearSeriesBase<any>, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<LinearSeriesBase<any>, "ng-component", never, { "series": "series"; }, {}, never, never, false>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<LinearSeriesBase<any>, "ng-component", never, { "series": { "alias": "series"; "required": false; }; }, {}, never, never, false, never>;
35
35
  }
@@ -23,5 +23,5 @@ export declare class ScatterSeriesComponent<T extends BasePoint> extends SeriesB
23
23
  mouseenter(point: BasePoint): void;
24
24
  mouseleave(point: BasePoint): void;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<ScatterSeriesComponent<any>, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<ScatterSeriesComponent<any>, "svg:svg[teta-scatter-series]", never, {}, {}, never, never, false>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScatterSeriesComponent<any>, "svg:svg[teta-scatter-series]", never, {}, {}, never, never, false, never>;
27
27
  }
@@ -14,5 +14,5 @@ export declare class SeriesHostComponent<T extends BasePoint> implements OnInit,
14
14
  ngOnDestroy(): void;
15
15
  ngOnChanges(changes: SimpleChanges): void;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<SeriesHostComponent<any>, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<SeriesHostComponent<any>, "[teta-series-host]", never, { "config": "config"; "series": "series"; }, {}, never, never, false>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeriesHostComponent<any>, "[teta-series-host]", never, { "config": { "alias": "config"; "required": false; }; "series": { "alias": "series"; "required": false; }; }, {}, never, never, false, never>;
18
18
  }
@@ -30,5 +30,5 @@ export declare class TooltipComponent implements OnInit {
30
30
  private getPosition;
31
31
  format(input: number | Date): string;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "teta-tooltip", never, { "size": "size"; "config": "config"; }, {}, never, never, false>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "teta-tooltip", never, { "size": { "alias": "size"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
34
34
  }
@@ -19,5 +19,5 @@ export declare class XAxisComponent implements OnInit, OnChanges, OnDestroy {
19
19
  ngOnDestroy(): void;
20
20
  ngOnChanges(changes: SimpleChanges): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<XAxisComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<XAxisComponent, "[teta-x-axis]", never, { "axis": "axis"; "size": "size"; }, {}, never, never, false>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<XAxisComponent, "[teta-x-axis]", never, { "axis": { "alias": "axis"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
23
23
  }
@@ -15,5 +15,5 @@ export declare class YAxisComponent implements OnInit, AfterViewInit {
15
15
  ngAfterViewInit(): void;
16
16
  getLabelTransform(): string;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<YAxisComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<YAxisComponent, "[teta-y-axis]", never, { "axis": "axis"; "size": "size"; }, {}, never, never, false>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<YAxisComponent, "[teta-y-axis]", never, { "axis": { "alias": "axis"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
19
19
  }
@@ -24,5 +24,5 @@ export declare class BrushableDirective implements OnDestroy, OnInit, AfterViewI
24
24
  applyBrush(config: IChartConfig, brushScale: any): void;
25
25
  clearPreviousSelection(): void;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<BrushableDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<BrushableDirective, "[tetaBrushable]", never, { "config": "config"; "axis": "axis"; }, {}, never, never, false>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BrushableDirective, "[tetaBrushable]", never, { "config": { "alias": "config"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; }, {}, never, never, false, never>;
28
28
  }
@@ -36,5 +36,5 @@ export declare class DraggablePointDirective {
36
36
  setTransform(x: number, y: number): void;
37
37
  resetTransform(): void;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<DraggablePointDirective, never>;
39
- static ɵdir: i0.ɵɵDirectiveDeclaration<DraggablePointDirective, "[tetaDraggablePoint]", ["tetaDraggablePoint"], { "tetaDraggablePoint": "tetaDraggablePoint"; "dragDirection": "dragDirection"; "allowDrag": "allowDrag"; }, { "moveStart": "moveStart"; "moveProcess": "moveProcess"; "moveEnd": "moveEnd"; }, never, never, false>;
39
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DraggablePointDirective, "[tetaDraggablePoint]", ["tetaDraggablePoint"], { "tetaDraggablePoint": { "alias": "tetaDraggablePoint"; "required": false; }; "dragDirection": { "alias": "dragDirection"; "required": false; }; "allowDrag": { "alias": "allowDrag"; "required": false; }; }, { "moveStart": "moveStart"; "moveProcess": "moveProcess"; "moveEnd": "moveEnd"; }, never, never, false, never>;
40
40
  }
@@ -30,5 +30,5 @@ export declare class ZoomableDirective implements OnDestroy, AfterViewInit {
30
30
  zoomed: (event: D3ZoomEvent<any, any>) => void;
31
31
  private runWheelTranslate;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ZoomableDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<ZoomableDirective, "[tetaZoomable]", never, { "config": "config"; "axis": "axis"; "size": "size"; }, {}, never, never, false>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ZoomableDirective, "[tetaZoomable]", never, { "config": { "alias": "config"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
34
34
  }
@@ -11,5 +11,5 @@ export declare class LegendComponent {
11
11
  getHeight(serie: Series<BasePoint>): number;
12
12
  click(serie: Series<BasePoint>): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<LegendComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<LegendComponent, "teta-legend", never, { "series": "series"; }, {}, never, never, false>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<LegendComponent, "teta-legend", never, { "series": { "alias": "series"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -1,9 +1,9 @@
1
1
  import { AxisOrientation } from './enum/axis-orientation';
2
2
  import { ElementRef } from '@angular/core';
3
- export declare type TransformStyle = {
3
+ export type TransformStyle = {
4
4
  transition?: boolean;
5
5
  };
6
- export declare type TargetAxis = {
6
+ export type TargetAxis = {
7
7
  index: number;
8
8
  orientation: AxisOrientation;
9
9
  };
@@ -17,5 +17,5 @@ export declare class BandseriesComponent extends SeriesBaseComponent<BasePoint>
17
17
  constructor(svc: ChartService, cdr: ChangeDetectorRef, scaleService: ScaleService, zoomService: ZoomService, element: ElementRef);
18
18
  ngOnInit(): void;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<BandseriesComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<BandseriesComponent, "svg:svg[teta-bandseries]", never, {}, {}, never, never, false>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<BandseriesComponent, "svg:svg[teta-bandseries]", never, {}, {}, never, never, false, never>;
21
21
  }
@@ -0,0 +1,50 @@
1
+ import { Component, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../service/chart.service";
4
+ import * as i2 from "../service/scale.service";
5
+ import * as i3 from "../service/zoom.service";
6
+ export class SeriesBaseComponent {
7
+ svc;
8
+ cdr;
9
+ scaleService;
10
+ zoomService;
11
+ element;
12
+ zone;
13
+ set config(config) {
14
+ this._config = config;
15
+ }
16
+ get config() {
17
+ return this._config;
18
+ }
19
+ set series(series) {
20
+ this._series = series;
21
+ }
22
+ get series() {
23
+ return this._series;
24
+ }
25
+ _series;
26
+ _config;
27
+ constructor(svc, cdr, scaleService, zoomService, element, zone) {
28
+ this.svc = svc;
29
+ this.cdr = cdr;
30
+ this.scaleService = scaleService;
31
+ this.zoomService = zoomService;
32
+ this.element = element;
33
+ this.zone = zone;
34
+ }
35
+ ngOnInit() {
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: SeriesBaseComponent, deps: [{ token: i1.ChartService }, { token: i0.ChangeDetectorRef }, { token: i2.ScaleService }, { token: i3.ZoomService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: SeriesBaseComponent, selector: "ng-component", inputs: { config: "config", series: "series" }, ngImport: i0, template: '', isInline: true });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: SeriesBaseComponent, decorators: [{
41
+ type: Component,
42
+ args: [{
43
+ template: '',
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i1.ChartService }, { type: i0.ChangeDetectorRef }, { type: i2.ScaleService }, { type: i3.ZoomService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { config: [{
46
+ type: Input
47
+ }], series: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2Jhc2Uvc2VyaWVzLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDOzs7OztBQVd2QixNQUFNLE9BQU8sbUJBQW1CO0lBdUJsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUEzQlosSUFDSSxNQUFNLENBQUMsTUFBb0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsTUFBaUI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRVMsT0FBTyxDQUFZO0lBQ25CLE9BQU8sQ0FBZTtJQUVoQyxZQUNZLEdBQWlCLEVBQ2pCLEdBQXNCLEVBQ3RCLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLE9BQW1CLEVBQ25CLElBQWE7UUFMYixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUV6QixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7dUdBakNVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLG9HQUZwQixFQUFFOzsyRkFFRCxtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7c09BR0ssTUFBTTtzQkFEVCxLQUFLO2dCQVVGLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LCBOZ1pvbmUsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoYXJ0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7U2VyaWVzfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMnO1xuaW1wb3J0IHtCYXNlUG9pbnR9IGZyb20gJy4uL21vZGVsL2Jhc2UtcG9pbnQnO1xuaW1wb3J0IHtTY2FsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvc2NhbGUuc2VydmljZSc7XG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3pvb20uc2VydmljZSc7XG5pbXBvcnQge0lDaGFydENvbmZpZ30gZnJvbSAnLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBTZXJpZXNCYXNlQ29tcG9uZW50PFQgZXh0ZW5kcyBCYXNlUG9pbnQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyhjb25maWc6IElDaGFydENvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgfVxuXG4gIGdldCBjb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzZXJpZXMoc2VyaWVzOiBTZXJpZXM8VD4pIHtcbiAgICB0aGlzLl9zZXJpZXMgPSBzZXJpZXM7XG4gIH1cblxuICBnZXQgc2VyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9zZXJpZXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3NlcmllczogU2VyaWVzPFQ+O1xuICBwcm90ZWN0ZWQgX2NvbmZpZzogSUNoYXJ0Q29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdmM6IENoYXJ0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgc2NhbGVTZXJ2aWNlOiBTY2FsZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgem9uZT86IE5nWm9uZVxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,175 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ChartService } from '../service/chart.service';
3
+ import { ZoomService } from '../service/zoom.service';
4
+ import { ScaleService } from '../service/scale.service';
5
+ import { BrushService } from '../service/brush.service';
6
+ import { map, takeWhile, withLatestFrom } from 'rxjs';
7
+ import { TooltipTracking } from '../model/enum/tooltip-tracking';
8
+ import { ScaleType } from "../model/enum/scale-type";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../service/chart.service";
11
+ import * as i2 from "../service/zoom.service";
12
+ import * as i3 from "../service/brush.service";
13
+ import * as i4 from "../service/scale.service";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "../chart-container/chart-container.component";
16
+ import * as i7 from "../legend/legend.component";
17
+ export class ChartComponent {
18
+ chartService;
19
+ zoomService;
20
+ brushService;
21
+ scaleService;
22
+ hasSeriesData;
23
+ svcConfig;
24
+ pointerMove = new EventEmitter();
25
+ plotBandsMove = new EventEmitter();
26
+ plotBandClick = new EventEmitter();
27
+ plotBandContextMenu = new EventEmitter();
28
+ plotLinesMove = new EventEmitter();
29
+ pointMove = new EventEmitter();
30
+ chartClick = new EventEmitter();
31
+ chartContextMenu = new EventEmitter();
32
+ annotationContextMenu = new EventEmitter();
33
+ annotationClick = new EventEmitter();
34
+ annotationMove = new EventEmitter();
35
+ zoomServiceInstance = new EventEmitter();
36
+ brushServiceInstance = new EventEmitter();
37
+ set config(config) {
38
+ this.chartService.setConfig(config);
39
+ this.zoomService.setBroadcastChannel(config?.zoom?.syncChannel);
40
+ }
41
+ _alive = true;
42
+ constructor(chartService, zoomService, brushService, scaleService) {
43
+ this.chartService = chartService;
44
+ this.zoomService = zoomService;
45
+ this.brushService = brushService;
46
+ this.scaleService = scaleService;
47
+ this.svcConfig = this.chartService.config;
48
+ this.hasSeriesData = this.svcConfig.pipe(map((_) => _.series?.length > 0 && _.series?.some((_) => _.data?.length > 0)));
49
+ }
50
+ resetZoom() {
51
+ this.scaleService.resetZoom();
52
+ }
53
+ ngOnChanges(changes) {
54
+ }
55
+ ngOnInit() {
56
+ this.zoomServiceInstance.emit(this.zoomService);
57
+ this.brushServiceInstance.emit(this.brushService);
58
+ this.chartService.pointerMove
59
+ .pipe(takeWhile(() => this._alive), withLatestFrom(this.scaleService.scales, this.chartService.config))
60
+ .subscribe((data) => {
61
+ const [event, { x, y }, config] = data;
62
+ const tooltipTracking = config?.tooltip?.tracking;
63
+ if (tooltipTracking === TooltipTracking.y) {
64
+ const result = new Map();
65
+ y.forEach((value, key) => {
66
+ if (value.options.scaleType.type === ScaleType.band) {
67
+ return;
68
+ }
69
+ result.set(key, value.scale.invert(event.offsetY));
70
+ });
71
+ this.pointerMove.emit({
72
+ event: event,
73
+ target: result
74
+ });
75
+ }
76
+ else {
77
+ const result = new Map();
78
+ x.forEach((value, key) => {
79
+ if (value.options.scaleType.type === ScaleType.band) {
80
+ return;
81
+ }
82
+ result.set(key, value.scale.invert(event.offsetX));
83
+ });
84
+ this.pointerMove.emit({
85
+ event: event,
86
+ target: result
87
+ });
88
+ }
89
+ });
90
+ this.chartService.plotBandEvent
91
+ .pipe(takeWhile(() => this._alive))
92
+ .subscribe((_) => {
93
+ this.plotBandsMove.emit(_);
94
+ });
95
+ this.chartService.plotLineMove.pipe(takeWhile(() => this._alive)).subscribe((_) => {
96
+ this.plotLinesMove.emit(_);
97
+ });
98
+ this.chartService.pointMove.pipe(takeWhile(() => this._alive)).subscribe((_) => {
99
+ this.pointMove.emit(_);
100
+ });
101
+ this.chartService.chartClick
102
+ .pipe(takeWhile(() => this._alive)).subscribe((_) => {
103
+ this.chartClick.emit(_);
104
+ });
105
+ this.chartService.chartContextMenu
106
+ .pipe(takeWhile(() => this._alive)).subscribe((_) => {
107
+ this.chartContextMenu.emit(_);
108
+ });
109
+ this.chartService.plotBandClick
110
+ .pipe(takeWhile(() => this._alive))
111
+ .subscribe((_) => {
112
+ this.plotBandClick.emit(_);
113
+ });
114
+ this.chartService.plotBandContextMenu
115
+ .pipe(takeWhile(() => this._alive))
116
+ .subscribe((_) => {
117
+ this.plotBandContextMenu.emit(_);
118
+ });
119
+ this.chartService.annotationContextMenu
120
+ .pipe(takeWhile(() => this._alive))
121
+ .subscribe((_) => {
122
+ this.annotationContextMenu.emit(_);
123
+ });
124
+ this.chartService.annotationClick
125
+ .pipe(takeWhile(() => this._alive))
126
+ .subscribe((_) => {
127
+ this.annotationClick.emit(_);
128
+ });
129
+ this.chartService.annotationMove
130
+ .pipe(takeWhile(() => this._alive))
131
+ .subscribe((_) => {
132
+ this.annotationMove.emit(_);
133
+ });
134
+ }
135
+ ngAfterViewInit() {
136
+ }
137
+ ngOnDestroy() {
138
+ this._alive = false;
139
+ }
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ChartComponent, deps: [{ token: i1.ChartService }, { token: i2.ZoomService }, { token: i3.BrushService }, { token: i4.ScaleService }], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: ChartComponent, selector: "teta-svg-chart", inputs: { config: "config" }, outputs: { pointerMove: "pointerMove", plotBandsMove: "plotBandsMove", plotBandClick: "plotBandClick", plotBandContextMenu: "plotBandContextMenu", plotLinesMove: "plotLinesMove", pointMove: "pointMove", chartClick: "chartClick", chartContextMenu: "chartContextMenu", annotationContextMenu: "annotationContextMenu", annotationClick: "annotationClick", annotationMove: "annotationMove", zoomServiceInstance: "zoomServiceInstance", brushServiceInstance: "brushServiceInstance" }, providers: [ChartService, ZoomService, ScaleService, BrushService], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{\n hasSeriesData: hasSeriesData | async,\n svcConfig: svcConfig | async\n} as data\">\n <ng-container *ngIf=\"data.hasSeriesData === true else noData\">\n <div class=\"column column_auto\">\n <teta-chart-container class=\"chart-container position-relative\"></teta-chart-container>\n </div>\n <teta-legend *ngIf=\"data.svcConfig.legend?.enable === true\" [series]=\"data.svcConfig.series\"></teta-legend>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <div class=\"column column_auto justify-content-center\">\n <span class=\"font-body-3 color-text-40 overflow-hidden text-overflow-ellipsis nowrap text-align-center\">\n <div #ref><ng-content></ng-content></div>\n <span *ngIf=\"!ref.hasChildNodes()\">\n No data\n </span>\n </span>\n </div>\n</ng-template>\n", styles: [":host{position:relative;display:flex;flex-direction:column;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ChartContainerComponent, selector: "teta-chart-container" }, { kind: "component", type: i7.LegendComponent, selector: "teta-legend", inputs: ["series"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ChartComponent, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'teta-svg-chart', providers: [ChartService, ZoomService, ScaleService, BrushService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{\n hasSeriesData: hasSeriesData | async,\n svcConfig: svcConfig | async\n} as data\">\n <ng-container *ngIf=\"data.hasSeriesData === true else noData\">\n <div class=\"column column_auto\">\n <teta-chart-container class=\"chart-container position-relative\"></teta-chart-container>\n </div>\n <teta-legend *ngIf=\"data.svcConfig.legend?.enable === true\" [series]=\"data.svcConfig.series\"></teta-legend>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <div class=\"column column_auto justify-content-center\">\n <span class=\"font-body-3 color-text-40 overflow-hidden text-overflow-ellipsis nowrap text-align-center\">\n <div #ref><ng-content></ng-content></div>\n <span *ngIf=\"!ref.hasChildNodes()\">\n No data\n </span>\n </span>\n </div>\n</ng-template>\n", styles: [":host{position:relative;display:flex;flex-direction:column;height:100%;width:100%}\n"] }]
146
+ }], ctorParameters: function () { return [{ type: i1.ChartService }, { type: i2.ZoomService }, { type: i3.BrushService }, { type: i4.ScaleService }]; }, propDecorators: { pointerMove: [{
147
+ type: Output
148
+ }], plotBandsMove: [{
149
+ type: Output
150
+ }], plotBandClick: [{
151
+ type: Output
152
+ }], plotBandContextMenu: [{
153
+ type: Output
154
+ }], plotLinesMove: [{
155
+ type: Output
156
+ }], pointMove: [{
157
+ type: Output
158
+ }], chartClick: [{
159
+ type: Output
160
+ }], chartContextMenu: [{
161
+ type: Output
162
+ }], annotationContextMenu: [{
163
+ type: Output
164
+ }], annotationClick: [{
165
+ type: Output
166
+ }], annotationMove: [{
167
+ type: Output
168
+ }], zoomServiceInstance: [{
169
+ type: Output
170
+ }], brushServiceInstance: [{
171
+ type: Output
172
+ }], config: [{
173
+ type: Input
174
+ }] } });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9jaGFydC9jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFLdEQsT0FBTyxFQUFDLEdBQUcsRUFBYyxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQVNuRCxNQUFNLE9BQU8sY0FBYztJQWlETjtJQUNBO0lBQ0E7SUFDQTtJQW5EbkIsYUFBYSxDQUFzQjtJQUNuQyxTQUFTLENBQTJCO0lBRXBDLFdBQVcsR0FBbUQsSUFBSSxZQUFZLEVBQW9DLENBQUM7SUFHbkgsYUFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUcvRixhQUFhLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRy9GLG1CQUFtQixHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUdyRyxhQUFhLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRy9GLFNBQVMsR0FBMEMsSUFBSSxZQUFZLEVB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QUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBdExVLGNBQWM7MkZBQWQsY0FBYyxvaUJBSGQsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsK0NDL0JwRSw2MEJBcUJBOzsyRkRhYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNO21MQU0vQyxXQUFXO3NCQURWLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAscUJBQXFCO3NCQURwQixNQUFNO2dCQUlQLGVBQWU7c0JBRGQsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU07Z0JBSVAsbUJBQW1CO3NCQURsQixNQUFNO2dCQUlQLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFHTSxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtJQ2hhcnRDb25maWd9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7QmFzZVBvaW50fSBmcm9tICcuLi9tb2RlbC9iYXNlLXBvaW50JztcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvem9vbS5zZXJ2aWNlJztcbmltcG9ydCB7U2NhbGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3NjYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHtCcnVzaFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvYnJ1c2guc2VydmljZSc7XG5pbXBvcnQge0lDaGFydEV2ZW50fSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWV2ZW50JztcbmltcG9ydCB7UGxvdExpbmV9IGZyb20gJy4uL21vZGVsL3Bsb3QtbGluZSc7XG5pbXBvcnQge1Bsb3RCYW5kfSBmcm9tICcuLi9tb2RlbC9wbG90LWJhbmQnO1xuaW1wb3J0IHtJUG9pbnRNb3ZlfSBmcm9tICcuLi9tb2RlbC9pLXBvaW50LW1vdmUnO1xuaW1wb3J0IHttYXAsIE9ic2VydmFibGUsIHRha2VXaGlsZSwgd2l0aExhdGVzdEZyb219IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBbm5vdGF0aW9ufSBmcm9tICcuLi9tb2RlbC9hbm5vdGF0aW9uJztcbmltcG9ydCB7VG9vbHRpcFRyYWNraW5nfSBmcm9tICcuLi9tb2RlbC9lbnVtL3Rvb2x0aXAtdHJhY2tpbmcnO1xuaW1wb3J0IHtJU2NhbGVzTWFwfSBmcm9tICcuLi9tb2RlbC9pLXNjYWxlcy1tYXAnO1xuaW1wb3J0IHtTY2FsZVR5cGV9IGZyb20gXCIuLi9tb2RlbC9lbnVtL3NjYWxlLXR5cGVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zdmctY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtDaGFydFNlcnZpY2UsIFpvb21TZXJ2aWNlLCBTY2FsZVNlcnZpY2UsIEJydXNoU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBoYXNTZXJpZXNEYXRhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzdmNDb25maWc6IE9ic2VydmFibGU8SUNoYXJ0Q29uZmlnPjtcbiAgQE91dHB1dCgpXG4gIHBvaW50ZXJNb3ZlOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8TWFwPG51bWJlciwgbnVtYmVyPj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxNYXA8bnVtYmVyLCBudW1iZXI+Pj4oKTtcblxuICBAT3V0cHV0KClcbiAgcGxvdEJhbmRzTW92ZTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcGxvdEJhbmRDbGljazogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcGxvdEJhbmRDb250ZXh0TWVudTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RCYW5kPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcGxvdExpbmVzTW92ZTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RMaW5lPj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RMaW5lPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcG9pbnRNb3ZlOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8SVBvaW50TW92ZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxJUG9pbnRNb3ZlPj4oKTtcblxuICBAT3V0cHV0KClcbiAgY2hhcnRDbGljazogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEJhc2VQb2ludD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxCYXNlUG9pbnQ+PigpO1xuXG4gIEBPdXRwdXQoKVxuICBjaGFydENvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QmFzZVBvaW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEJhc2VQb2ludD4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGFubm90YXRpb25Db250ZXh0TWVudTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEFubm90YXRpb24+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QW5ub3RhdGlvbj4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGFubm90YXRpb25DbGljazogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEFubm90YXRpb24+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QW5ub3RhdGlvbj4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGFubm90YXRpb25Nb3ZlOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QW5ub3RhdGlvbj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxBbm5vdGF0aW9uPj4oKTtcblxuICBAT3V0cHV0KClcbiAgem9vbVNlcnZpY2VJbnN0YW5jZTogRXZlbnRFbWl0dGVyPFpvb21TZXJ2aWNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Wm9vbVNlcnZpY2U+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGJydXNoU2VydmljZUluc3RhbmNlOiBFdmVudEVtaXR0ZXI8QnJ1c2hTZXJ2aWNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QnJ1c2hTZXJ2aWNlPigpO1xuXG4gIEBJbnB1dCgpIHNldCBjb25maWcoY29uZmlnOiBJQ2hhcnRDb25maWcpIHtcbiAgICB0aGlzLmNoYXJ0U2VydmljZS5zZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLnpvb21TZXJ2aWNlLnNldEJyb2FkY2FzdENoYW5uZWwoY29uZmlnPy56b29tPy5zeW5jQ2hhbm5lbCk7XG4gIH1cblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgYnJ1c2hTZXJ2aWNlOiBCcnVzaFNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyBzY2FsZVNlcnZpY2U6IFNjYWxlU2VydmljZSkge1xuICAgIHRoaXMuc3ZjQ29uZmlnID0gdGhpcy5jaGFydFNlcnZpY2UuY29uZmlnO1xuICAgIHRoaXMuaGFzU2VyaWVzRGF0YSA9IHRoaXMuc3ZjQ29uZmlnLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChfKSA9PiBfLnNlcmllcz8ubGVuZ3RoID4gMCAmJiBfLnNlcmllcz8uc29tZSgoXykgPT4gXy5kYXRhPy5sZW5ndGggPiAwKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICByZXNldFpvb20oKSB7XG4gICAgdGhpcy5zY2FsZVNlcnZpY2UucmVzZXRab29tKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnpvb21TZXJ2aWNlSW5zdGFuY2UuZW1pdCh0aGlzLnpvb21TZXJ2aWNlKTtcbiAgICB0aGlzLmJydXNoU2VydmljZUluc3RhbmNlLmVtaXQodGhpcy5icnVzaFNlcnZpY2UpO1xuXG4gICAgdGhpcy5jaGFydFNlcnZpY2UucG9pbnRlck1vdmVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnNjYWxlU2VydmljZS5zY2FsZXMsIHRoaXMuY2hhcnRTZXJ2aWNlLmNvbmZpZylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFtQb2ludGVyRXZlbnQsIElTY2FsZXNNYXAsIElDaGFydENvbmZpZ10pID0+IHtcbiAgICAgICAgY29uc3QgW2V2ZW50LCB7eCwgeX0sIGNvbmZpZ10gPSBkYXRhO1xuICAgICAgICBjb25zdCB0b29sdGlwVHJhY2tpbmcgPSBjb25maWc/LnRvb2x0aXA/LnRyYWNraW5nO1xuICAgICAgICBpZiAodG9vbHRpcFRyYWNraW5nID09PSBUb29sdGlwVHJhY2tpbmcueSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8bnVtYmVyLCBudW1iZXI+KCk7XG4gICAgICAgICAgeS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmJhbmQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0LnNldChrZXksIHZhbHVlLnNjYWxlLmludmVydChldmVudC5vZmZzZXRZKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5wb2ludGVyTW92ZS5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIHRhcmdldDogcmVzdWx0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKTtcbiAgICAgICAgICB4LmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUuYmFuZCkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgdmFsdWUuc2NhbGUuaW52ZXJ0KGV2ZW50Lm9mZnNldFgpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnBvaW50ZXJNb3ZlLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgdGFyZ2V0OiByZXN1bHRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5wbG90QmFuZEV2ZW50XG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLnBsb3RCYW5kc01vdmUuZW1pdChfKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jaGFydFNlcnZpY2UucGxvdExpbmVNb3ZlLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpXG4gICAgKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMucGxvdExpbmVzTW92ZS5lbWl0KF8pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFydFNlcnZpY2UucG9pbnRNb3ZlLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpXG4gICAgKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMucG9pbnRNb3ZlLmVtaXQoXyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5jaGFydENsaWNrXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKVxuICAgICAgKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMuY2hhcnRDbGljay5lbWl0KF8pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFydFNlcnZpY2UuY2hhcnRDb250ZXh0TWVudVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSlcbiAgICAgICkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmNoYXJ0Q29udGV4dE1lbnUuZW1pdChfKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnBsb3RCYW5kQ2xpY2tcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLnBsb3RCYW5kQ2xpY2suZW1pdChfKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jaGFydFNlcnZpY2UucGxvdEJhbmRDb250ZXh0TWVudVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMucGxvdEJhbmRDb250ZXh0TWVudS5lbWl0KF8pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5hbm5vdGF0aW9uQ29udGV4dE1lbnVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLmFubm90YXRpb25Db250ZXh0TWVudS5lbWl0KF8pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5hbm5vdGF0aW9uQ2xpY2tcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLmFubm90YXRpb25DbGljay5lbWl0KF8pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNoYXJ0U2VydmljZS5hbm5vdGF0aW9uTW92ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMuYW5ub3RhdGlvbk1vdmUuZW1pdChfKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntcbiAgaGFzU2VyaWVzRGF0YTogaGFzU2VyaWVzRGF0YSB8IGFzeW5jLFxuICBzdmNDb25maWc6IHN2Y0NvbmZpZyB8IGFzeW5jXG59IGFzIGRhdGFcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaGFzU2VyaWVzRGF0YSA9PT0gdHJ1ZSBlbHNlIG5vRGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIj5cbiAgICAgIDx0ZXRhLWNoYXJ0LWNvbnRhaW5lciBjbGFzcz1cImNoYXJ0LWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPjwvdGV0YS1jaGFydC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHRldGEtbGVnZW5kICpuZ0lmPVwiZGF0YS5zdmNDb25maWcubGVnZW5kPy5lbmFibGUgPT09IHRydWVcIiBbc2VyaWVzXT1cImRhdGEuc3ZjQ29uZmlnLnNlcmllc1wiPjwvdGV0YS1sZWdlbmQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb250LWJvZHktMyBjb2xvci10ZXh0LTQwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LW92ZXJmbG93LWVsbGlwc2lzIG5vd3JhcCB0ZXh0LWFsaWduLWNlbnRlclwiPlxuICAgICAgPGRpdiAjcmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIXJlZi5oYXNDaGlsZE5vZGVzKClcIj5cbiAgICAgICAgTm8gZGF0YVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19