@tetacom/svg-charts 1.0.2 → 1.1.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.
- package/dist/chart/base/series-base.component.d.ts +4 -1
- package/dist/chart/chart/chart.component.d.ts +12 -9
- package/dist/chart/chart-container/chart-container.component.d.ts +18 -23
- package/dist/chart/chart-container/gridlines/gridlines.component.d.ts +7 -16
- package/dist/chart/chart-container/plotband/{plotband.component.d.ts → plot-band.component.d.ts} +10 -10
- package/dist/chart/chart-container/plotline/plotline.component.d.ts +5 -5
- package/dist/chart/chart-container/series/line/line-series.component.d.ts +2 -2
- package/dist/chart/chart-container/series/scatter-series/scatter-series.component.d.ts +28 -0
- package/dist/chart/chart-container/series-host/series-host.component.d.ts +4 -1
- package/dist/chart/chart-container/tooltip/tooltip.component.d.ts +6 -3
- package/dist/chart/chart-container/x-axis/x-axis.component.d.ts +6 -10
- package/dist/chart/chart-container/y-axis/y-axis.component.d.ts +7 -11
- package/dist/chart/chart.module.d.ts +4 -3
- package/dist/chart/core/axis/axis.d.ts +8 -3
- package/dist/chart/default/default-axis-config.d.ts +2 -0
- package/dist/chart/default/default-chart-config.d.ts +2 -0
- package/dist/chart/default/default-series-config.d.ts +3 -0
- package/dist/chart/directives/brushable.directive.d.ts +2 -1
- package/dist/chart/directives/zoomable.directive.d.ts +1 -3
- package/dist/chart/legend/legend.component.d.ts +1 -3
- package/dist/chart/model/axis-options.d.ts +9 -7
- package/dist/chart/model/base-point.d.ts +1 -1
- package/dist/chart/model/enum/public-api.d.ts +1 -1
- package/dist/chart/model/enum/scale-type.d.ts +8 -0
- package/dist/chart/model/enum/series-type.d.ts +2 -1
- package/dist/chart/model/i-broadcast-message.d.ts +14 -2
- package/dist/chart/model/i-chart-config.d.ts +1 -0
- package/dist/chart/model/{plotband.d.ts → plot-band.d.ts} +7 -5
- package/dist/chart/model/{plotline.d.ts → plot-line.d.ts} +3 -1
- package/dist/chart/model/public-api.d.ts +2 -2
- package/dist/chart/service/brush.service.d.ts +2 -5
- package/dist/chart/service/chart.service.d.ts +16 -17
- package/dist/chart/service/scale.service.d.ts +13 -8
- package/dist/chart/service/zoom.service.d.ts +6 -14
- package/dist/esm2020/chart/base/series-base.component.mjs +7 -9
- package/dist/esm2020/chart/chart/chart.component.mjs +28 -30
- package/dist/esm2020/chart/chart-container/chart-container.component.mjs +97 -115
- package/dist/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +19 -31
- package/dist/esm2020/chart/chart-container/plotband/plot-band.component.mjs +141 -0
- package/dist/esm2020/chart/chart-container/plotline/plotline.component.mjs +11 -14
- package/dist/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +11 -11
- package/dist/esm2020/chart/chart-container/series/line/line-series.component.mjs +33 -29
- package/dist/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +174 -0
- package/dist/esm2020/chart/chart-container/series-host/series-host.component.mjs +16 -5
- package/dist/esm2020/chart/chart-container/tooltip/tooltip.component.mjs +17 -19
- package/dist/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +19 -22
- package/dist/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +20 -25
- package/dist/esm2020/chart/chart.module.mjs +8 -5
- package/dist/esm2020/chart/core/axis/axis.mjs +25 -16
- package/dist/esm2020/chart/core/axis/builders/extremes-builder.mjs +2 -3
- package/dist/esm2020/chart/default/default-axis-config.mjs +9 -0
- package/dist/esm2020/chart/default/default-chart-config.mjs +23 -0
- package/dist/esm2020/chart/default/default-series-config.mjs +8 -0
- package/dist/esm2020/chart/directives/brushable.directive.mjs +5 -3
- package/dist/esm2020/chart/directives/zoomable.directive.mjs +7 -8
- package/dist/esm2020/chart/legend/legend.component.mjs +4 -7
- package/dist/esm2020/chart/model/axis-options.mjs +1 -1
- package/dist/esm2020/chart/model/base-point.mjs +1 -1
- package/dist/esm2020/chart/model/enum/public-api.mjs +2 -2
- package/dist/esm2020/chart/model/enum/scale-type.mjs +10 -0
- package/dist/esm2020/chart/model/enum/series-type.mjs +2 -1
- package/dist/esm2020/chart/model/i-broadcast-message.mjs +1 -1
- package/dist/esm2020/chart/model/i-chart-config.mjs +1 -1
- package/dist/esm2020/chart/model/plot-band.mjs +17 -0
- package/dist/esm2020/chart/model/plot-line.mjs +13 -0
- package/dist/esm2020/chart/model/public-api.mjs +3 -3
- package/dist/esm2020/chart/service/broadcast.service.mjs +3 -5
- package/dist/esm2020/chart/service/brush.service.mjs +26 -23
- package/dist/esm2020/chart/service/chart.service.mjs +61 -43
- package/dist/esm2020/chart/service/scale.service.mjs +138 -50
- package/dist/esm2020/chart/service/zoom.service.mjs +82 -85
- package/dist/esm2020/public-api.mjs +2 -1
- package/dist/fesm2015/tetacom-svg-charts.mjs +942 -659
- package/dist/fesm2015/tetacom-svg-charts.mjs.map +1 -1
- package/dist/fesm2020/tetacom-svg-charts.mjs +929 -657
- package/dist/fesm2020/tetacom-svg-charts.mjs.map +1 -1
- package/package.json +1 -1
- package/src/chart/Chart.stories.ts +88 -173
- package/src/chart/base/series-base.component.ts +4 -9
- package/src/chart/chart/chart.component.html +16 -5
- package/src/chart/chart/chart.component.scss +1 -0
- package/src/chart/chart/chart.component.ts +39 -33
- package/src/chart/chart-container/chart-container.component.html +102 -57
- package/src/chart/chart-container/chart-container.component.scss +0 -1
- package/src/chart/chart-container/chart-container.component.ts +136 -165
- package/src/chart/chart-container/gridlines/gridlines.component.html +9 -2
- package/src/chart/chart-container/gridlines/gridlines.component.ts +17 -35
- package/src/chart/chart-container/plotband/{plotband.component.html → plot-band.component.html} +15 -9
- package/src/chart/chart-container/plotband/plot-band.component.scss +13 -0
- package/src/chart/chart-container/plotband/{plotband.component.spec.ts → plot-band.component.spec.ts} +5 -5
- package/src/chart/chart-container/plotband/{plotband.component.ts → plot-band.component.ts} +51 -57
- package/src/chart/chart-container/plotline/plotline.component.html +3 -3
- package/src/chart/chart-container/plotline/plotline.component.ts +10 -22
- package/src/chart/chart-container/series/bar/bar-series.component.ts +10 -12
- package/src/chart/chart-container/series/line/line-series.component.html +29 -31
- package/src/chart/chart-container/series/line/line-series.component.ts +69 -50
- package/src/chart/chart-container/series/scatter-series/scatter-series.component.html +43 -0
- package/src/chart/chart-container/series/scatter-series/scatter-series.component.scss +9 -0
- package/src/chart/chart-container/series/scatter-series/scatter-series.component.spec.ts +25 -0
- package/src/chart/chart-container/series/scatter-series/scatter-series.component.ts +254 -0
- package/src/chart/chart-container/series-host/series-host.component.ts +25 -16
- package/src/chart/chart-container/tooltip/tooltip.component.html +1 -1
- package/src/chart/chart-container/tooltip/tooltip.component.scss +2 -1
- package/src/chart/chart-container/tooltip/tooltip.component.ts +25 -26
- package/src/chart/chart-container/x-axis/x-axis.component.ts +18 -20
- package/src/chart/chart-container/y-axis/y-axis.component.ts +18 -28
- package/src/chart/chart.module.ts +4 -2
- package/src/chart/core/axis/axis.ts +37 -21
- package/src/chart/core/axis/builders/extremes-builder.ts +7 -12
- package/src/chart/core/builder/domain-builder.ts +0 -0
- package/src/chart/default/default-axis-config.ts +10 -0
- package/src/chart/default/default-chart-config.ts +20 -8
- package/src/chart/default/default-series-config.ts +10 -0
- package/src/chart/directives/brushable.directive.ts +2 -1
- package/src/chart/directives/zoomable.directive.ts +6 -9
- package/src/chart/legend/legend.component.html +7 -5
- package/src/chart/legend/legend.component.ts +2 -6
- package/src/chart/model/axis-options.ts +9 -7
- package/src/chart/model/base-point.ts +1 -1
- package/src/chart/model/enum/public-api.ts +1 -1
- package/src/chart/model/enum/scale-type.ts +8 -0
- package/src/chart/model/enum/series-type.ts +1 -0
- package/src/chart/model/i-broadcast-message.ts +17 -2
- package/src/chart/model/i-chart-config.ts +1 -0
- package/src/chart/model/i-dom-rect.ts +6 -0
- package/src/chart/model/{plotband.ts → plot-band.ts} +8 -5
- package/src/chart/model/{plotline.ts → plot-line.ts} +5 -2
- package/src/chart/model/public-api.ts +2 -2
- package/src/chart/service/broadcast.service.ts +5 -4
- package/src/chart/service/brush.service.ts +34 -31
- package/src/chart/service/chart.service.ts +70 -54
- package/src/chart/service/scale.service.ts +218 -61
- package/src/chart/service/zoom.service.ts +144 -113
- package/src/public-api.ts +3 -0
- package/dist/chart/model/enum/axis-type.d.ts +0 -7
- package/dist/chart/service/axes.service.d.ts +0 -11
- package/dist/esm2020/chart/chart-container/plotband/plotband.component.mjs +0 -139
- package/dist/esm2020/chart/model/enum/axis-type.mjs +0 -9
- package/dist/esm2020/chart/model/plotband.mjs +0 -16
- package/dist/esm2020/chart/model/plotline.mjs +0 -12
- package/dist/esm2020/chart/service/axes.service.mjs +0 -29
- package/src/chart/chart-container/plotband/plotband.component.scss +0 -13
- package/src/chart/model/enum/axis-type.ts +0 -7
- package/src/chart/service/axes.service.spec.ts +0 -16
- package/src/chart/service/axes.service.ts +0 -27
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { SeriesBaseComponent } from '../../../base/series-base.component';
|
|
3
|
+
import { map, tap, withLatestFrom } from 'rxjs';
|
|
4
|
+
import * as d3 from 'd3';
|
|
5
|
+
import { TooltipTracking } from '../../../model/enum/tooltip-tracking';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../service/chart.service";
|
|
8
|
+
import * as i2 from "../../../service/scale.service";
|
|
9
|
+
import * as i3 from "../../../service/zoom.service";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
export class ScatterSeriesComponent extends SeriesBaseComponent {
|
|
12
|
+
constructor(svc, cdr, scaleService, zoomService, element) {
|
|
13
|
+
super(svc, cdr, scaleService, zoomService, element);
|
|
14
|
+
this.svc = svc;
|
|
15
|
+
this.cdr = cdr;
|
|
16
|
+
this.scaleService = scaleService;
|
|
17
|
+
this.zoomService = zoomService;
|
|
18
|
+
this.element = element;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.transform = this.svc.pointerMove.pipe(withLatestFrom(this.scaleService.xScaleMap, this.scaleService.yScaleMap), map((data) => {
|
|
22
|
+
const [event, x, y] = data;
|
|
23
|
+
return this.getTransform(event, x, y);
|
|
24
|
+
}), tap(() => this.cdr.detectChanges()));
|
|
25
|
+
this.x = this.scaleService.xScaleMap.pipe(map(_ => _.get(this.series.xAxisIndex)));
|
|
26
|
+
this.y = this.scaleService.yScaleMap.pipe(map(_ => _.get(this.series.yAxisIndex)));
|
|
27
|
+
// this.path = combineLatest([
|
|
28
|
+
// ,
|
|
29
|
+
// this.scaleService.yScaleMap,
|
|
30
|
+
// ]).pipe(
|
|
31
|
+
// map((data: [Map<number, any>, Map<number, any>]) => {
|
|
32
|
+
// const [x, y] = data;
|
|
33
|
+
// this.x = x.get(this.series.xAxisIndex);
|
|
34
|
+
// this.y = y.get(this.series.yAxisIndex);
|
|
35
|
+
//
|
|
36
|
+
// const line = d3
|
|
37
|
+
// .line<BasePoint>()
|
|
38
|
+
// .defined((point) => point.x !== null || point.y !== null)
|
|
39
|
+
// .x((point) => this.x(point.x))
|
|
40
|
+
// .y((point) => this.y(point.y));
|
|
41
|
+
//
|
|
42
|
+
// return line(this.series.data);
|
|
43
|
+
// })
|
|
44
|
+
// );
|
|
45
|
+
}
|
|
46
|
+
ngAfterViewInit() {
|
|
47
|
+
// const drag = (node, event: d3.D3DragEvent<any, any, any>, d: BasePoint) => {
|
|
48
|
+
// if (
|
|
49
|
+
// d.marker?.dragType === DragPointType.x ||
|
|
50
|
+
// d.marker?.dragType === DragPointType.xy
|
|
51
|
+
// ) {
|
|
52
|
+
// d.x = this.x.invert(event.x);
|
|
53
|
+
// }
|
|
54
|
+
//
|
|
55
|
+
// if (
|
|
56
|
+
// d.marker?.dragType === DragPointType.y ||
|
|
57
|
+
// d.marker?.dragType === DragPointType.xy
|
|
58
|
+
// ) {
|
|
59
|
+
// d.y = this.y.invert(event.y);
|
|
60
|
+
// }
|
|
61
|
+
//
|
|
62
|
+
// this.svc.emitPoint({
|
|
63
|
+
// target: {
|
|
64
|
+
// series: this.series,
|
|
65
|
+
// point: d,
|
|
66
|
+
// },
|
|
67
|
+
// event,
|
|
68
|
+
// });
|
|
69
|
+
//
|
|
70
|
+
// this.cdr.detectChanges();
|
|
71
|
+
// };
|
|
72
|
+
// // const dragMarkers = d3
|
|
73
|
+
// // .drag()
|
|
74
|
+
// // .subject(function (event, d: BasePoint) {
|
|
75
|
+
// // const node = d3.select(this);
|
|
76
|
+
// // return { x: node.attr('cx'), y: node.attr('cy') };
|
|
77
|
+
// // })
|
|
78
|
+
// // .on(
|
|
79
|
+
// // 'start drag end',
|
|
80
|
+
// // function (event: d3.D3DragEvent<any, any, any>, d: BasePoint) {
|
|
81
|
+
// // const node = d3.select(this);
|
|
82
|
+
// //
|
|
83
|
+
// // drag(node, event, d);
|
|
84
|
+
// // }
|
|
85
|
+
// // );
|
|
86
|
+
//
|
|
87
|
+
// const draggableMarkers = this.series.data?.filter(
|
|
88
|
+
// (_) => _?.marker && _?.marker?.draggable
|
|
89
|
+
// );
|
|
90
|
+
//
|
|
91
|
+
// const element = d3
|
|
92
|
+
// .select(this.element.nativeElement)
|
|
93
|
+
// .selectAll('.draggable-marker')
|
|
94
|
+
// .data(draggableMarkers);
|
|
95
|
+
//
|
|
96
|
+
// element.call(dragMarkers as any);
|
|
97
|
+
//
|
|
98
|
+
// this.svgElement = d3
|
|
99
|
+
// .select(this.element.nativeElement)
|
|
100
|
+
// .select('.line')
|
|
101
|
+
// .node() as SVGGeometryElement;
|
|
102
|
+
}
|
|
103
|
+
getMarkers() {
|
|
104
|
+
return this.series.data?.filter((_) => _?.marker);
|
|
105
|
+
}
|
|
106
|
+
getTransform(event, x, y) {
|
|
107
|
+
const mouse = [event?.offsetX, event?.offsetY];
|
|
108
|
+
const foundX = x.get(this.series.xAxisIndex);
|
|
109
|
+
const foundY = y.get(this.series.yAxisIndex);
|
|
110
|
+
const tooltipTracking = this.config?.tooltip?.tracking;
|
|
111
|
+
const lineIntersection = (p0_x, p0_y, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y) => {
|
|
112
|
+
const rV = {};
|
|
113
|
+
let s1_x, s1_y, s2_x, s2_y;
|
|
114
|
+
s1_x = p1_x - p0_x;
|
|
115
|
+
s1_y = p1_y - p0_y;
|
|
116
|
+
s2_x = p3_x - p2_x;
|
|
117
|
+
s2_y = p3_y - p2_y;
|
|
118
|
+
let s, t;
|
|
119
|
+
s =
|
|
120
|
+
(-s1_y * (p0_x - p2_x) + s1_x * (p0_y - p2_y)) /
|
|
121
|
+
(-s2_x * s1_y + s1_x * s2_y);
|
|
122
|
+
t =
|
|
123
|
+
(s2_x * (p0_y - p2_y) - s2_y * (p0_x - p2_x)) /
|
|
124
|
+
(-s2_x * s1_y + s1_x * s2_y);
|
|
125
|
+
if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {
|
|
126
|
+
// Collision detected
|
|
127
|
+
rV.x = p0_x + t * s1_x;
|
|
128
|
+
rV.y = p0_y + t * s1_y;
|
|
129
|
+
}
|
|
130
|
+
return rV;
|
|
131
|
+
};
|
|
132
|
+
if (tooltipTracking === TooltipTracking.x) {
|
|
133
|
+
const bisect = d3.bisector((_) => _.x).right;
|
|
134
|
+
const pointer = mouse[0];
|
|
135
|
+
const x0 = foundX.invert(pointer);
|
|
136
|
+
const rightId = bisect(this.series.data, x0);
|
|
137
|
+
const range = foundY.range();
|
|
138
|
+
const intersect = lineIntersection(pointer, range[0], pointer, range[1], foundX(this.series.data[rightId - 1]?.x), foundY(this.series.data[rightId - 1]?.y), foundX(this.series.data[rightId]?.x), foundY(this.series.data[rightId]?.y));
|
|
139
|
+
this.svc.setTooltip({
|
|
140
|
+
point: { x: foundX.invert(intersect.x), y: foundY.invert(intersect.y) },
|
|
141
|
+
series: this.series,
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
x: intersect.x,
|
|
145
|
+
y: intersect.y,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (tooltipTracking === TooltipTracking.y) {
|
|
149
|
+
const bisect = d3.bisector((_) => _.y).right;
|
|
150
|
+
const y0 = foundY.invert(mouse[1]);
|
|
151
|
+
const rightId = bisect(this.series.data, y0);
|
|
152
|
+
const range = foundX.range();
|
|
153
|
+
const intersect = lineIntersection(range[0], mouse[1], range[1], mouse[1], foundX(this.series.data[rightId - 1]?.x), foundY(this.series.data[rightId - 1]?.y), foundX(this.series.data[rightId]?.x), foundY(this.series.data[rightId]?.y));
|
|
154
|
+
this.svc.setTooltip({
|
|
155
|
+
point: {
|
|
156
|
+
x: foundX.invert(intersect.x),
|
|
157
|
+
y: foundY.invert(intersect.y),
|
|
158
|
+
},
|
|
159
|
+
series: this.series,
|
|
160
|
+
});
|
|
161
|
+
return {
|
|
162
|
+
x: intersect.x,
|
|
163
|
+
y: intersect.y,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
ScatterSeriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ScatterSeriesComponent, deps: [{ token: i1.ChartService }, { token: i0.ChangeDetectorRef }, { token: i2.ScaleService }, { token: i3.ZoomService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
+
ScatterSeriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ScatterSeriesComponent, selector: "svg:svg[teta-scatter-series]", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{\n y: y | async,\n x: x | async\n} as scales\">\n <svg:circle\n class=\"line\"\n *ngFor=\"let point of series.data\"\n [attr.cx]=\"scales.x(point.x)\"\n [attr.cy]=\"scales.y(point.y)\"\n r=\"1\"\n [attr.stroke]=\"series.color\"\n [attr.fill]=\"series.color\"\n [attr.stroke-width]=\"series.style?.strokeWidth\">\n </svg:circle>\n</ng-container>\n<!--<ng-container *ngIf=\"transform | async as t\">-->\n<!-- <svg:circle-->\n<!-- *ngIf=\"t.x !== undefined && t.y!== undefined\"-->\n<!-- r=\"3\"-->\n<!-- [attr.fill]=\"series.color\"-->\n<!-- [attr.transform]=\"'translate('+ t.x +', '+ t.y +')'\"-->\n<!-- >-->\n<!-- </svg:circle>-->\n<!--</ng-container>-->\n\n<!--<ng-container *ngIf=\"getMarkers() as markers\">-->\n<!-- <svg:circle-->\n<!-- class=\"marker\"-->\n<!-- *ngFor=\"let point of markers\"-->\n<!-- [class.draggable-marker]=\"point?.marker?.draggable\"-->\n<!-- [attr.r]=\"point.marker.style?.radius ?? 5\"-->\n<!-- [attr.fill]=\"point.marker.style?.fill ?? 'transparent'\"-->\n<!-- [attr.stroke]=\"point.marker.style?.stroke ?? 'none'\"-->\n<!-- [attr.stroke-width]=\"point.marker.style?.strokeWidth\"-->\n<!-- [attr.stroke-dasharray]=\"point.marker.style?.strokeDasharray\"-->\n<!-- [attr.cx]=\"x(point.x)\"-->\n<!-- [attr.cy]=\"y(point.y)\"-->\n<!-- >-->\n<!-- </svg:circle>-->\n<!--</ng-container>-->\n\n\n\n", styles: [".draggable-marker{cursor:move}.active{stroke-opacity:.5}.marker-grab{opacity:0}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ScatterSeriesComponent, decorators: [{
|
|
171
|
+
type: Component,
|
|
172
|
+
args: [{ selector: 'svg:svg[teta-scatter-series]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{\n y: y | async,\n x: x | async\n} as scales\">\n <svg:circle\n class=\"line\"\n *ngFor=\"let point of series.data\"\n [attr.cx]=\"scales.x(point.x)\"\n [attr.cy]=\"scales.y(point.y)\"\n r=\"1\"\n [attr.stroke]=\"series.color\"\n [attr.fill]=\"series.color\"\n [attr.stroke-width]=\"series.style?.strokeWidth\">\n </svg:circle>\n</ng-container>\n<!--<ng-container *ngIf=\"transform | async as t\">-->\n<!-- <svg:circle-->\n<!-- *ngIf=\"t.x !== undefined && t.y!== undefined\"-->\n<!-- r=\"3\"-->\n<!-- [attr.fill]=\"series.color\"-->\n<!-- [attr.transform]=\"'translate('+ t.x +', '+ t.y +')'\"-->\n<!-- >-->\n<!-- </svg:circle>-->\n<!--</ng-container>-->\n\n<!--<ng-container *ngIf=\"getMarkers() as markers\">-->\n<!-- <svg:circle-->\n<!-- class=\"marker\"-->\n<!-- *ngFor=\"let point of markers\"-->\n<!-- [class.draggable-marker]=\"point?.marker?.draggable\"-->\n<!-- [attr.r]=\"point.marker.style?.radius ?? 5\"-->\n<!-- [attr.fill]=\"point.marker.style?.fill ?? 'transparent'\"-->\n<!-- [attr.stroke]=\"point.marker.style?.stroke ?? 'none'\"-->\n<!-- [attr.stroke-width]=\"point.marker.style?.strokeWidth\"-->\n<!-- [attr.stroke-dasharray]=\"point.marker.style?.strokeDasharray\"-->\n<!-- [attr.cx]=\"x(point.x)\"-->\n<!-- [attr.cy]=\"y(point.y)\"-->\n<!-- >-->\n<!-- </svg:circle>-->\n<!--</ng-container>-->\n\n\n\n", styles: [".draggable-marker{cursor:move}.active{stroke-opacity:.5}.marker-grab{opacity:0}\n"] }]
|
|
173
|
+
}], ctorParameters: function () { return [{ type: i1.ChartService }, { type: i0.ChangeDetectorRef }, { type: i2.ScaleService }, { type: i3.ZoomService }, { type: i0.ElementRef }]; } });
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhdHRlci1zZXJpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0LWNvbnRhaW5lci9zZXJpZXMvc2NhdHRlci1zZXJpZXMvc2NhdHRlci1zZXJpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0LWNvbnRhaW5lci9zZXJpZXMvc2NhdHRlci1zZXJpZXMvc2NhdHRlci1zZXJpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQWdCLEdBQUcsRUFBYyxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXpFLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXpCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7O0FBUXJFLE1BQU0sT0FBTyxzQkFDWCxTQUFRLG1CQUFzQjtJQVU5QixZQUNxQixHQUFpQixFQUNqQixHQUFzQixFQUN0QixZQUEwQixFQUMxQixXQUF3QixFQUN4QixPQUFtQjtRQUV0QyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTmpDLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUd4QyxDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFD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S0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNyQyxDQUFDO1lBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xCLEtBQUssRUFBRTtvQkFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUM3QixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtnQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2QsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2YsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7bUhBM09VLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDJGQ2pCbkMsKzRDQTJDQTsyRkQxQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2VQb2ludH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYmFzZS1wb2ludCc7XG5pbXBvcnQge1Nlcmllc0Jhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Jhc2Uvc2VyaWVzLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtTY2FsZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc2NhbGUuc2VydmljZSc7XG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3pvb20uc2VydmljZSc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5pbXBvcnQge0RyYWdQb2ludFR5cGV9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VudW0vZHJhZy1wb2ludC10eXBlJztcbmltcG9ydCB7VG9vbHRpcFRyYWNraW5nfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lbnVtL3Rvb2x0aXAtdHJhY2tpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdmc6c3ZnW3RldGEtc2NhdHRlci1zZXJpZXNdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjYXR0ZXItc2VyaWVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NhdHRlci1zZXJpZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2NhdHRlclNlcmllc0NvbXBvbmVudDxUIGV4dGVuZHMgQmFzZVBvaW50PlxuICBleHRlbmRzIFNlcmllc0Jhc2VDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXRcbntcbiAgdHJhbnNmb3JtOiBPYnNlcnZhYmxlPFBpY2s8QmFzZVBvaW50LCAneCcgfCAneSc+PjtcbiAgZGlzcGxheTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwYXRoOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHN2Z0VsZW1lbnQ6IFNWR0dlb21ldHJ5RWxlbWVudDtcbiAgeDogT2JzZXJ2YWJsZTxhbnk+O1xuICB5OiBPYnNlcnZhYmxlPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHN2YzogQ2hhcnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzY2FsZVNlcnZpY2U6IFNjYWxlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmXG4gICkge1xuICAgIHN1cGVyKHN2YywgY2RyLCBzY2FsZVNlcnZpY2UsIHpvb21TZXJ2aWNlLCBlbGVtZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy5zdmMucG9pbnRlck1vdmUucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc2NhbGVTZXJ2aWNlLnhTY2FsZU1hcCwgdGhpcy5zY2FsZVNlcnZpY2UueVNjYWxlTWFwKSxcbiAgICAgIG1hcChcbiAgICAgICAgKFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIFBvaW50ZXJFdmVudCxcbiAgICAgICAgICAgIE1hcDxudW1iZXIsIGFueT4sXG4gICAgICAgICAgICBNYXA8bnVtYmVyLCBhbnk+XG4gICAgICAgICAgXVxuICAgICAgICApID0+IHtcbiAgICAgICAgICBjb25zdCBbZXZlbnQsIHgsIHldID0gZGF0YTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZm9ybShldmVudCwgeCwgeSk7XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKVxuICAgICk7XG5cbiAgICB0aGlzLnggPSB0aGlzLnNjYWxlU2VydmljZS54U2NhbGVNYXAucGlwZShtYXAoXyA9PiBfLmdldCh0aGlzLnNlcmllcy54QXhpc0luZGV4KSkpO1xuICAgIHRoaXMueSA9IHRoaXMuc2NhbGVTZXJ2aWNlLnlTY2FsZU1hcC5waXBlKG1hcChfID0+IF8uZ2V0KHRoaXMuc2VyaWVzLnlBeGlzSW5kZXgpKSk7XG5cbiAgICAvLyB0aGlzLnBhdGggPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAvLyAgICxcbiAgICAvLyAgIHRoaXMuc2NhbGVTZXJ2aWNlLnlTY2FsZU1hcCxcbiAgICAvLyBdKS5waXBlKFxuICAgIC8vICAgbWFwKChkYXRhOiBbTWFwPG51bWJlciwgYW55PiwgTWFwPG51bWJlciwgYW55Pl0pID0+IHtcbiAgICAvLyAgICAgY29uc3QgW3gsIHldID0gZGF0YTtcbiAgICAvLyAgICAgdGhpcy54ID0geC5nZXQodGhpcy5zZXJpZXMueEF4aXNJbmRleCk7XG4gICAgLy8gICAgIHRoaXMueSA9IHkuZ2V0KHRoaXMuc2VyaWVzLnlBeGlzSW5kZXgpO1xuICAgIC8vXG4gICAgLy8gICAgIGNvbnN0IGxpbmUgPSBkM1xuICAgIC8vICAgICAgIC5saW5lPEJhc2VQb2ludD4oKVxuICAgIC8vICAgICAgIC5kZWZpbmVkKChwb2ludCkgPT4gcG9pbnQueCAhPT0gbnVsbCB8fCBwb2ludC55ICE9PSBudWxsKVxuICAgIC8vICAgICAgIC54KChwb2ludCkgPT4gdGhpcy54KHBvaW50LngpKVxuICAgIC8vICAgICAgIC55KChwb2ludCkgPT4gdGhpcy55KHBvaW50LnkpKTtcbiAgICAvL1xuICAgIC8vICAgICByZXR1cm4gbGluZSh0aGlzLnNlcmllcy5kYXRhKTtcbiAgICAvLyAgIH0pXG4gICAgLy8gKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBjb25zdCBkcmFnID0gKG5vZGUsIGV2ZW50OiBkMy5EM0RyYWdFdmVudDxhbnksIGFueSwgYW55PiwgZDogQmFzZVBvaW50KSA9PiB7XG4gICAgLy8gICBpZiAoXG4gICAgLy8gICAgIGQubWFya2VyPy5kcmFnVHlwZSA9PT0gRHJhZ1BvaW50VHlwZS54IHx8XG4gICAgLy8gICAgIGQubWFya2VyPy5kcmFnVHlwZSA9PT0gRHJhZ1BvaW50VHlwZS54eVxuICAgIC8vICAgKSB7XG4gICAgLy8gICAgIGQueCA9IHRoaXMueC5pbnZlcnQoZXZlbnQueCk7XG4gICAgLy8gICB9XG4gICAgLy9cbiAgICAvLyAgIGlmIChcbiAgICAvLyAgICAgZC5tYXJrZXI/LmRyYWdUeXBlID09PSBEcmFnUG9pbnRUeXBlLnkgfHxcbiAgICAvLyAgICAgZC5tYXJrZXI/LmRyYWdUeXBlID09PSBEcmFnUG9pbnRUeXBlLnh5XG4gICAgLy8gICApIHtcbiAgICAvLyAgICAgZC55ID0gdGhpcy55LmludmVydChldmVudC55KTtcbiAgICAvLyAgIH1cbiAgICAvL1xuICAgIC8vICAgdGhpcy5zdmMuZW1pdFBvaW50KHtcbiAgICAvLyAgICAgdGFyZ2V0OiB7XG4gICAgLy8gICAgICAgc2VyaWVzOiB0aGlzLnNlcmllcyxcbiAgICAvLyAgICAgICBwb2ludDogZCxcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZXZlbnQsXG4gICAgLy8gICB9KTtcbiAgICAvL1xuICAgIC8vICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIC8vIH07XG5cbiAgICAvLyAvLyBjb25zdCBkcmFnTWFya2VycyA9IGQzXG4gICAgLy8gLy8gICAuZHJhZygpXG4gICAgLy8gLy8gICAuc3ViamVjdChmdW5jdGlvbiAoZXZlbnQsIGQ6IEJhc2VQb2ludCkge1xuICAgIC8vIC8vICAgICBjb25zdCBub2RlID0gZDMuc2VsZWN0KHRoaXMpO1xuICAgIC8vIC8vICAgICByZXR1cm4geyB4OiBub2RlLmF0dHIoJ2N4JyksIHk6IG5vZGUuYXR0cignY3knKSB9O1xuICAgIC8vIC8vICAgfSlcbiAgICAvLyAvLyAgIC5vbihcbiAgICAvLyAvLyAgICAgJ3N0YXJ0IGRyYWcgZW5kJyxcbiAgICAvLyAvLyAgICAgZnVuY3Rpb24gKGV2ZW50OiBkMy5EM0RyYWdFdmVudDxhbnksIGFueSwgYW55PiwgZDogQmFzZVBvaW50KSB7XG4gICAgLy8gLy8gICAgICAgY29uc3Qgbm9kZSA9IGQzLnNlbGVjdCh0aGlzKTtcbiAgICAvLyAvL1xuICAgIC8vIC8vICAgICAgIGRyYWcobm9kZSwgZXZlbnQsIGQpO1xuICAgIC8vIC8vICAgICB9XG4gICAgLy8gLy8gICApO1xuICAgIC8vXG4gICAgLy8gY29uc3QgZHJhZ2dhYmxlTWFya2VycyA9IHRoaXMuc2VyaWVzLmRhdGE/LmZpbHRlcihcbiAgICAvLyAgIChfKSA9PiBfPy5tYXJrZXIgJiYgXz8ubWFya2VyPy5kcmFnZ2FibGVcbiAgICAvLyApO1xuICAgIC8vXG4gICAgLy8gY29uc3QgZWxlbWVudCA9IGQzXG4gICAgLy8gICAuc2VsZWN0KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgIC8vICAgLnNlbGVjdEFsbCgnLmRyYWdnYWJsZS1tYXJrZXInKVxuICAgIC8vICAgLmRhdGEoZHJhZ2dhYmxlTWFya2Vycyk7XG4gICAgLy9cbiAgICAvLyBlbGVtZW50LmNhbGwoZHJhZ01hcmtlcnMgYXMgYW55KTtcbiAgICAvL1xuICAgIC8vIHRoaXMuc3ZnRWxlbWVudCA9IGQzXG4gICAgLy8gICAuc2VsZWN0KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgIC8vICAgLnNlbGVjdCgnLmxpbmUnKVxuICAgIC8vICAgLm5vZGUoKSBhcyBTVkdHZW9tZXRyeUVsZW1lbnQ7XG4gIH1cblxuICBnZXRNYXJrZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnNlcmllcy5kYXRhPy5maWx0ZXIoKF8pID0+IF8/Lm1hcmtlcik7XG4gIH1cblxuICBnZXRUcmFuc2Zvcm0oXG4gICAgZXZlbnQ6IGFueSxcbiAgICB4OiBNYXA8bnVtYmVyLCBhbnk+LFxuICAgIHk6IE1hcDxudW1iZXIsIGFueT5cbiAgKTogUGljazxCYXNlUG9pbnQsICd4JyB8ICd5Jz4ge1xuICAgIGNvbnN0IG1vdXNlID0gW2V2ZW50Py5vZmZzZXRYLCBldmVudD8ub2Zmc2V0WV07XG5cbiAgICBjb25zdCBmb3VuZFggPSB4LmdldCh0aGlzLnNlcmllcy54QXhpc0luZGV4KTtcbiAgICBjb25zdCBmb3VuZFkgPSB5LmdldCh0aGlzLnNlcmllcy55QXhpc0luZGV4KTtcblxuICAgIGNvbnN0IHRvb2x0aXBUcmFja2luZyA9IHRoaXMuY29uZmlnPy50b29sdGlwPy50cmFja2luZztcblxuICAgIGNvbnN0IGxpbmVJbnRlcnNlY3Rpb24gPSAoXG4gICAgICBwMF94LFxuICAgICAgcDBfeSxcbiAgICAgIHAxX3gsXG4gICAgICBwMV95LFxuICAgICAgcDJfeCxcbiAgICAgIHAyX3ksXG4gICAgICBwM194LFxuICAgICAgcDNfeVxuICAgICkgPT4ge1xuICAgICAgY29uc3QgclYgPSB7fSBhcyBhbnk7XG4gICAgICBsZXQgczFfeCwgczFfeSwgczJfeCwgczJfeTtcbiAgICAgIHMxX3ggPSBwMV94IC0gcDBfeDtcbiAgICAgIHMxX3kgPSBwMV95IC0gcDBfeTtcbiAgICAgIHMyX3ggPSBwM194IC0gcDJfeDtcbiAgICAgIHMyX3kgPSBwM195IC0gcDJfeTtcblxuICAgICAgbGV0IHMsIHQ7XG4gICAgICBzID1cbiAgICAgICAgKC1zMV95ICogKHAwX3ggLSBwMl94KSArIHMxX3ggKiAocDBfeSAtIHAyX3kpKSAvXG4gICAgICAgICgtczJfeCAqIHMxX3kgKyBzMV94ICogczJfeSk7XG4gICAgICB0ID1cbiAgICAgICAgKHMyX3ggKiAocDBfeSAtIHAyX3kpIC0gczJfeSAqIChwMF94IC0gcDJfeCkpIC9cbiAgICAgICAgKC1zMl94ICogczFfeSArIHMxX3ggKiBzMl95KTtcblxuICAgICAgaWYgKHMgPj0gMCAmJiBzIDw9IDEgJiYgdCA+PSAwICYmIHQgPD0gMSkge1xuICAgICAgICAvLyBDb2xsaXNpb24gZGV0ZWN0ZWRcbiAgICAgICAgclYueCA9IHAwX3ggKyB0ICogczFfeDtcbiAgICAgICAgclYueSA9IHAwX3kgKyB0ICogczFfeTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJWO1xuICAgIH07XG5cbiAgICBpZiAodG9vbHRpcFRyYWNraW5nID09PSBUb29sdGlwVHJhY2tpbmcueCkge1xuICAgICAgY29uc3QgYmlzZWN0ID0gZDMuYmlzZWN0b3IoKF86IEJhc2VQb2ludCkgPT4gXy54KS5yaWdodDtcbiAgICAgIGNvbnN0IHBvaW50ZXIgPSBtb3VzZVswXTtcblxuICAgICAgY29uc3QgeDAgPSBmb3VuZFguaW52ZXJ0KHBvaW50ZXIpO1xuXG4gICAgICBjb25zdCByaWdodElkID0gYmlzZWN0KHRoaXMuc2VyaWVzLmRhdGEsIHgwKTtcblxuICAgICAgY29uc3QgcmFuZ2UgPSBmb3VuZFkucmFuZ2UoKTtcblxuICAgICAgY29uc3QgaW50ZXJzZWN0ID0gbGluZUludGVyc2VjdGlvbihcbiAgICAgICAgcG9pbnRlcixcbiAgICAgICAgcmFuZ2VbMF0sXG4gICAgICAgIHBvaW50ZXIsXG4gICAgICAgIHJhbmdlWzFdLFxuICAgICAgICBmb3VuZFgodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkIC0gMV0/LngpLFxuICAgICAgICBmb3VuZFkodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkIC0gMV0/LnkpLFxuICAgICAgICBmb3VuZFgodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkXT8ueCksXG4gICAgICAgIGZvdW5kWSh0aGlzLnNlcmllcy5kYXRhW3JpZ2h0SWRdPy55KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3ZjLnNldFRvb2x0aXAoe1xuICAgICAgICBwb2ludDogeyB4OiBmb3VuZFguaW52ZXJ0KGludGVyc2VjdC54KSwgeTogZm91bmRZLmludmVydChpbnRlcnNlY3QueSkgfSxcbiAgICAgICAgc2VyaWVzOiB0aGlzLnNlcmllcyxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiBpbnRlcnNlY3QueCxcbiAgICAgICAgeTogaW50ZXJzZWN0LnksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0b29sdGlwVHJhY2tpbmcgPT09IFRvb2x0aXBUcmFja2luZy55KSB7XG4gICAgICBjb25zdCBiaXNlY3QgPSBkMy5iaXNlY3RvcigoXzogQmFzZVBvaW50KSA9PiBfLnkpLnJpZ2h0O1xuXG4gICAgICBjb25zdCB5MCA9IGZvdW5kWS5pbnZlcnQobW91c2VbMV0pO1xuXG4gICAgICBjb25zdCByaWdodElkID0gYmlzZWN0KHRoaXMuc2VyaWVzLmRhdGEsIHkwKTtcbiAgICAgIGNvbnN0IHJhbmdlID0gZm91bmRYLnJhbmdlKCk7XG5cbiAgICAgIGNvbnN0IGludGVyc2VjdCA9IGxpbmVJbnRlcnNlY3Rpb24oXG4gICAgICAgIHJhbmdlWzBdLFxuICAgICAgICBtb3VzZVsxXSxcbiAgICAgICAgcmFuZ2VbMV0sXG4gICAgICAgIG1vdXNlWzFdLFxuICAgICAgICBmb3VuZFgodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkIC0gMV0/LngpLFxuICAgICAgICBmb3VuZFkodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkIC0gMV0/LnkpLFxuICAgICAgICBmb3VuZFgodGhpcy5zZXJpZXMuZGF0YVtyaWdodElkXT8ueCksXG4gICAgICAgIGZvdW5kWSh0aGlzLnNlcmllcy5kYXRhW3JpZ2h0SWRdPy55KVxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdmMuc2V0VG9vbHRpcCh7XG4gICAgICAgIHBvaW50OiB7XG4gICAgICAgICAgeDogZm91bmRYLmludmVydChpbnRlcnNlY3QueCksXG4gICAgICAgICAgeTogZm91bmRZLmludmVydChpbnRlcnNlY3QueSksXG4gICAgICAgIH0sXG4gICAgICAgIHNlcmllczogdGhpcy5zZXJpZXMsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogaW50ZXJzZWN0LngsXG4gICAgICAgIHk6IGludGVyc2VjdC55LFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7XG4gIHk6IHkgfCBhc3luYyxcbiAgeDogeCB8IGFzeW5jXG59IGFzIHNjYWxlc1wiPlxuICA8c3ZnOmNpcmNsZVxuICAgIGNsYXNzPVwibGluZVwiXG4gICAgKm5nRm9yPVwibGV0IHBvaW50IG9mIHNlcmllcy5kYXRhXCJcbiAgICBbYXR0ci5jeF09XCJzY2FsZXMueChwb2ludC54KVwiXG4gICAgW2F0dHIuY3ldPVwic2NhbGVzLnkocG9pbnQueSlcIlxuICAgIHI9XCIxXCJcbiAgICBbYXR0ci5zdHJva2VdPVwic2VyaWVzLmNvbG9yXCJcbiAgICBbYXR0ci5maWxsXT1cInNlcmllcy5jb2xvclwiXG4gICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInNlcmllcy5zdHlsZT8uc3Ryb2tlV2lkdGhcIj5cbiAgPC9zdmc6Y2lyY2xlPlxuPC9uZy1jb250YWluZXI+XG48IS0tPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYW5zZm9ybSB8IGFzeW5jIGFzIHRcIj4tLT5cbjwhLS0gIDxzdmc6Y2lyY2xlLS0+XG48IS0tICAgICpuZ0lmPVwidC54ICE9PSB1bmRlZmluZWQgJiYgdC55IT09IHVuZGVmaW5lZFwiLS0+XG48IS0tICAgIHI9XCIzXCItLT5cbjwhLS0gICAgW2F0dHIuZmlsbF09XCJzZXJpZXMuY29sb3JcIi0tPlxuPCEtLSAgICBbYXR0ci50cmFuc2Zvcm1dPVwiJ3RyYW5zbGF0ZSgnKyB0LnggKycsICcrIHQueSArJyknXCItLT5cbjwhLS0gID4tLT5cbjwhLS0gIDwvc3ZnOmNpcmNsZT4tLT5cbjwhLS08L25nLWNvbnRhaW5lcj4tLT5cblxuPCEtLTxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRNYXJrZXJzKCkgYXMgbWFya2Vyc1wiPi0tPlxuPCEtLSAgPHN2ZzpjaXJjbGUtLT5cbjwhLS0gICAgY2xhc3M9XCJtYXJrZXJcIi0tPlxuPCEtLSAgICAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgbWFya2Vyc1wiLS0+XG48IS0tICAgIFtjbGFzcy5kcmFnZ2FibGUtbWFya2VyXT1cInBvaW50Py5tYXJrZXI/LmRyYWdnYWJsZVwiLS0+XG48IS0tICAgIFthdHRyLnJdPVwicG9pbnQubWFya2VyLnN0eWxlPy5yYWRpdXMgPz8gNVwiLS0+XG48IS0tICAgIFthdHRyLmZpbGxdPVwicG9pbnQubWFya2VyLnN0eWxlPy5maWxsID8/ICd0cmFuc3BhcmVudCdcIi0tPlxuPCEtLSAgICBbYXR0ci5zdHJva2VdPVwicG9pbnQubWFya2VyLnN0eWxlPy5zdHJva2UgPz8gJ25vbmUnXCItLT5cbjwhLS0gICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInBvaW50Lm1hcmtlci5zdHlsZT8uc3Ryb2tlV2lkdGhcIi0tPlxuPCEtLSAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInBvaW50Lm1hcmtlci5zdHlsZT8uc3Ryb2tlRGFzaGFycmF5XCItLT5cbjwhLS0gICAgW2F0dHIuY3hdPVwieChwb2ludC54KVwiLS0+XG48IS0tICAgIFthdHRyLmN5XT1cInkocG9pbnQueSlcIi0tPlxuPCEtLSAgPi0tPlxuPCEtLSAgPC9zdmc6Y2lyY2xlPi0tPlxuPCEtLTwvbmctY29udGFpbmVyPi0tPlxuXG5cblxuIl19
|
|
@@ -5,6 +5,7 @@ import { BarSeriesComponent } from '../series/bar/bar-series.component';
|
|
|
5
5
|
import { tap } from 'rxjs';
|
|
6
6
|
import { throttleTime } from 'rxjs/operators';
|
|
7
7
|
import { SeriesType } from '../../model/enum/series-type';
|
|
8
|
+
import { ScatterSeriesComponent } from '../series/scatter-series/scatter-series.component';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "../../service/chart.service";
|
|
10
11
|
export class SeriesHostComponent {
|
|
@@ -13,7 +14,8 @@ export class SeriesHostComponent {
|
|
|
13
14
|
this.chartService = chartService;
|
|
14
15
|
this.defaultSeriesTypeMapping = new Map()
|
|
15
16
|
.set(SeriesType.line, LineSeriesComponent)
|
|
16
|
-
.set(SeriesType.bar, BarSeriesComponent)
|
|
17
|
+
.set(SeriesType.bar, BarSeriesComponent)
|
|
18
|
+
.set(SeriesType.scatter, ScatterSeriesComponent);
|
|
17
19
|
this._init = false;
|
|
18
20
|
this.chartService.size
|
|
19
21
|
.pipe(throttleTime(100, null, { trailing: true }), tap(() => {
|
|
@@ -28,22 +30,27 @@ export class SeriesHostComponent {
|
|
|
28
30
|
LineSeriesComponent;
|
|
29
31
|
}
|
|
30
32
|
this._componentRef = this.viewContainerRef.createComponent(this.series.component);
|
|
33
|
+
this._componentRef.instance.config = this.config;
|
|
31
34
|
this._componentRef.instance.series = this.series;
|
|
32
35
|
this._componentRef.instance.size = this.size;
|
|
36
|
+
this._componentRef.instance.rect = this.rect;
|
|
33
37
|
this._init = true;
|
|
34
38
|
}
|
|
35
|
-
ngOnDestroy() {
|
|
39
|
+
ngOnDestroy() {
|
|
40
|
+
}
|
|
36
41
|
ngOnChanges(changes) {
|
|
37
42
|
if (this._init && changes.hasOwnProperty('series')) {
|
|
43
|
+
this._componentRef.instance.config = this.config;
|
|
38
44
|
this._componentRef.instance.series = this.series;
|
|
39
45
|
this._componentRef.instance.size = this.size;
|
|
46
|
+
this._componentRef.instance.rect = this.rect;
|
|
40
47
|
this._componentRef.injector.get(ChangeDetectorRef).markForCheck();
|
|
41
48
|
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
}
|
|
45
52
|
SeriesHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SeriesHostComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.ChartService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
SeriesHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SeriesHostComponent, selector: "[teta-series-host]", inputs: { series: "series", size: "size" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
SeriesHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SeriesHostComponent, selector: "[teta-series-host]", inputs: { config: "config", series: "series", size: "size", rect: "rect" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SeriesHostComponent, decorators: [{
|
|
48
55
|
type: Component,
|
|
49
56
|
args: [{
|
|
@@ -51,9 +58,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
51
58
|
template: '',
|
|
52
59
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
53
60
|
}]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.ChartService }]; }, propDecorators: {
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.ChartService }]; }, propDecorators: { config: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], series: [{
|
|
55
64
|
type: Input
|
|
56
65
|
}], size: [{
|
|
57
66
|
type: Input
|
|
67
|
+
}], rect: [{
|
|
68
|
+
type: Input
|
|
58
69
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLWhvc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0LWNvbnRhaW5lci9zZXJpZXMtaG9zdC9zZXJpZXMtaG9zdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUt0RSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbURBQW1ELENBQUM7OztBQU96RixNQUFNLE9BQU8sbUJBQW1CO0lBZTlCLFlBQ1UsZ0JBQWtDLEVBQ2xDLFlBQTBCO1FBRDFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFYNUIsNkJBQXdCLEdBQUcsSUFBSSxHQUFHLEVBQ1g7YUFDNUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUM7YUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7YUFDdkMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUUzQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBT3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTthQUNuQixJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDekMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNuQixJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNuRCxtQkFBbUIsQ0FBQztTQUN2QjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztJQUNYLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFFN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDcEU7SUFDSCxDQUFDOztnSEEzRFUsbUJBQW1CO29HQUFuQixtQkFBbUIsMkpBSHBCLEVBQUU7MkZBR0QsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtrSUFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VyaWVzQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9zZXJpZXMtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMaW5lU2VyaWVzQ29tcG9uZW50fSBmcm9tICcuLi9zZXJpZXMvbGluZS9saW5lLXNlcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHtCYXJTZXJpZXNDb21wb25lbnR9IGZyb20gJy4uL3Nlcmllcy9iYXIvYmFyLXNlcmllcy5jb21wb25lbnQnO1xuXG5pbXBvcnQge1Nlcmllc30gZnJvbSAnLi4vLi4vbW9kZWwvc2VyaWVzJztcbmltcG9ydCB7QmFzZVBvaW50fSBmcm9tICcuLi8uLi9tb2RlbC9iYXNlLXBvaW50JztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2VyaWVzVHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvZW51bS9zZXJpZXMtdHlwZSc7XG5pbXBvcnQge0lDaGFydENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuaW1wb3J0IHtTY2F0dGVyU2VyaWVzQ29tcG9uZW50fSBmcm9tICcuLi9zZXJpZXMvc2NhdHRlci1zZXJpZXMvc2NhdHRlci1zZXJpZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEtc2VyaWVzLWhvc3RdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VyaWVzSG9zdENvbXBvbmVudDxUIGV4dGVuZHMgQmFzZVBvaW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogSUNoYXJ0Q29uZmlnO1xuICBASW5wdXQoKSBzZXJpZXM6IFNlcmllczxUPjtcbiAgQElucHV0KCkgc2l6ZTogRE9NUmVjdDtcbiAgQElucHV0KCkgcmVjdDogYW55O1xuXG4gIHByaXZhdGUgZGVmYXVsdFNlcmllc1R5cGVNYXBwaW5nID0gbmV3IE1hcDxTZXJpZXNUeXBlLFxuICAgIHR5cGVvZiBTZXJpZXNCYXNlQ29tcG9uZW50PigpXG4gICAgLnNldChTZXJpZXNUeXBlLmxpbmUsIExpbmVTZXJpZXNDb21wb25lbnQpXG4gICAgLnNldChTZXJpZXNUeXBlLmJhciwgQmFyU2VyaWVzQ29tcG9uZW50KVxuICAgIC5zZXQoU2VyaWVzVHlwZS5zY2F0dGVyLCBTY2F0dGVyU2VyaWVzQ29tcG9uZW50KTtcblxuICBwcml2YXRlIF9pbml0ID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY2hhcnRTZXJ2aWNlOiBDaGFydFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jaGFydFNlcnZpY2Uuc2l6ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgxMDAsIG51bGwsIHt0cmFpbGluZzogdHJ1ZX0pLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZj8uaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIVNlcmllc0Jhc2VDb21wb25lbnQuaXNQcm90b3R5cGVPZih0aGlzLnNlcmllcy5jb21wb25lbnQpKSB7XG4gICAgICB0aGlzLnNlcmllcy5jb21wb25lbnQgPVxuICAgICAgICB0aGlzLmRlZmF1bHRTZXJpZXNUeXBlTWFwcGluZy5nZXQodGhpcy5zZXJpZXMudHlwZSkgfHxcbiAgICAgICAgTGluZVNlcmllc0NvbXBvbmVudDtcbiAgICB9XG5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgdGhpcy5zZXJpZXMuY29tcG9uZW50XG4gICAgKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnNlcmllcyA9IHRoaXMuc2VyaWVzO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zaXplID0gdGhpcy5zaXplO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5yZWN0ID0gdGhpcy5yZWN0O1xuICAgIHRoaXMuX2luaXQgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luaXQgJiYgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnc2VyaWVzJykpIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXJpZXMgPSB0aGlzLnNlcmllcztcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zaXplID0gdGhpcy5zaXplO1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnJlY3QgPSB0aGlzLnJlY3Q7XG5cbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZikuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
2
|
import { filter, map, merge, takeWhile, tap } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../service/chart.service";
|
|
@@ -6,26 +6,22 @@ import * as i2 from "../../service/zoom.service";
|
|
|
6
6
|
import * as i3 from "@angular/platform-browser";
|
|
7
7
|
import * as i4 from "@angular/common";
|
|
8
8
|
export class TooltipComponent {
|
|
9
|
-
constructor(svc, cdr, zoomService, sanitizer) {
|
|
9
|
+
constructor(svc, cdr, zoomService, sanitizer, _zone) {
|
|
10
10
|
this.svc = svc;
|
|
11
11
|
this.cdr = cdr;
|
|
12
12
|
this.zoomService = zoomService;
|
|
13
13
|
this.sanitizer = sanitizer;
|
|
14
|
+
this._zone = _zone;
|
|
14
15
|
this.tooltips = [];
|
|
15
16
|
this.alive = true;
|
|
16
17
|
}
|
|
17
18
|
ngOnInit() {
|
|
18
|
-
this.display =
|
|
19
|
-
|
|
20
|
-
return opacity;
|
|
21
|
-
}), tap(() => {
|
|
22
|
-
requestAnimationFrame(() => {
|
|
23
|
-
this.cdr.detectChanges();
|
|
24
|
-
});
|
|
19
|
+
this.display = this.svc.pointerMove.pipe(map((event) => {
|
|
20
|
+
return event.type === 'mousemove' ? 1 : 0;
|
|
25
21
|
}));
|
|
26
|
-
this.position = this.svc.pointerMove.pipe(filter((
|
|
22
|
+
this.position = this.svc.pointerMove.pipe(filter((event) => !!event), map((_) => {
|
|
27
23
|
return this.getPoisition(_);
|
|
28
|
-
}), tap((
|
|
24
|
+
}), tap(() => this.cdr.detectChanges()));
|
|
29
25
|
const transformHtml = (html) => {
|
|
30
26
|
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
31
27
|
};
|
|
@@ -39,8 +35,8 @@ export class TooltipComponent {
|
|
|
39
35
|
});
|
|
40
36
|
return transformHtml(html);
|
|
41
37
|
};
|
|
42
|
-
const formatter = this.
|
|
43
|
-
this.displayTooltips = merge(this.svc.pointerMove.pipe(tap((_) => (this.tooltips = []))), this.svc.tooltips).pipe(takeWhile((_) => this.alive), filter((
|
|
38
|
+
const formatter = this.config?.tooltip?.format;
|
|
39
|
+
this.displayTooltips = merge(this.svc.pointerMove.pipe(tap((_) => (this.tooltips = []))), this.svc.tooltips).pipe(takeWhile((_) => this.alive), filter((data) => !(data instanceof MouseEvent)), map((tooltip) => {
|
|
44
40
|
if (tooltip) {
|
|
45
41
|
this.tooltips.push(tooltip);
|
|
46
42
|
}
|
|
@@ -50,7 +46,7 @@ export class TooltipComponent {
|
|
|
50
46
|
return formatted;
|
|
51
47
|
}));
|
|
52
48
|
}
|
|
53
|
-
getPoisition(
|
|
49
|
+
getPoisition(event) {
|
|
54
50
|
const centerX = this.size.width / 2;
|
|
55
51
|
const centerY = this.size.height / 2;
|
|
56
52
|
const padding = { x: 10, y: 10 };
|
|
@@ -70,12 +66,14 @@ export class TooltipComponent {
|
|
|
70
66
|
this.alive = false;
|
|
71
67
|
}
|
|
72
68
|
}
|
|
73
|
-
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.ChartService }, { token: i0.ChangeDetectorRef }, { token: i2.ZoomService }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TooltipComponent, selector: "teta-tooltip", inputs: { size: "size" }, ngImport: i0, template: "<ng-container *ngIf=\"position | async as p\">\n\n <div class=\"chart-tooltip color-text-90 bg-background-50 shadow-2 padding-2 border-radius-1\"\n [style.position]=\"'fixed'\"\n [style.opacity]=\"display | async\"\n style=\"pointer-events: none;\"\n [style.left]=\"p.left\"\n [style.top]=\"p.top\"\n [style.bottom]=\"p.bottom\"\n [style.right]=\"p.right\"\n [innerHTML]=\"displayTooltips | async\">\n </div>\n</ng-container>\n\n", styles: [":host{position:absolute
|
|
69
|
+
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.ChartService }, { token: i0.ChangeDetectorRef }, { token: i2.ZoomService }, { token: i3.DomSanitizer }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TooltipComponent, selector: "teta-tooltip", inputs: { size: "size", config: "config" }, ngImport: i0, template: "<ng-container *ngIf=\"position | async as p\">\n\n <div class=\"chart-tooltip color-text-90 bg-background-50 shadow-2 padding-2 border-radius-1\"\n [style.position]=\"'fixed'\"\n [style.opacity]=\"display | async\"\n style=\"pointer-events: none; min-width: 200px;\"\n [style.left]=\"p.left\"\n [style.top]=\"p.top\"\n [style.bottom]=\"p.bottom\"\n [style.right]=\"p.right\"\n [innerHTML]=\"displayTooltips | async\">\n </div>\n</ng-container>\n\n", styles: [":host{position:absolute;z-index:2}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
76
72
|
type: Component,
|
|
77
|
-
args: [{ selector: 'teta-tooltip', template: "<ng-container *ngIf=\"position | async as p\">\n\n <div class=\"chart-tooltip color-text-90 bg-background-50 shadow-2 padding-2 border-radius-1\"\n [style.position]=\"'fixed'\"\n [style.opacity]=\"display | async\"\n style=\"pointer-events: none;\"\n [style.left]=\"p.left\"\n [style.top]=\"p.top\"\n [style.bottom]=\"p.bottom\"\n [style.right]=\"p.right\"\n [innerHTML]=\"displayTooltips | async\">\n </div>\n</ng-container>\n\n", styles: [":host{position:absolute
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.ChartService }, { type: i0.ChangeDetectorRef }, { type: i2.ZoomService }, { type: i3.DomSanitizer }]; }, propDecorators: { size: [{
|
|
73
|
+
args: [{ selector: 'teta-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"position | async as p\">\n\n <div class=\"chart-tooltip color-text-90 bg-background-50 shadow-2 padding-2 border-radius-1\"\n [style.position]=\"'fixed'\"\n [style.opacity]=\"display | async\"\n style=\"pointer-events: none; min-width: 200px;\"\n [style.left]=\"p.left\"\n [style.top]=\"p.top\"\n [style.bottom]=\"p.bottom\"\n [style.right]=\"p.right\"\n [innerHTML]=\"displayTooltips | async\">\n </div>\n</ng-container>\n\n", styles: [":host{position:absolute;z-index:2}\n"] }]
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i1.ChartService }, { type: i0.ChangeDetectorRef }, { type: i2.ZoomService }, { type: i3.DomSanitizer }, { type: i0.NgZone }]; }, propDecorators: { size: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], config: [{
|
|
79
77
|
type: Input
|
|
80
78
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBWXRFLE1BQU0sT0FBTyxnQkFBZ0I7SUFrQjNCLFlBQ1UsR0FBaUIsRUFDakIsR0FBc0IsRUFDdEIsV0FBd0IsRUFDeEIsU0FBdUI7UUFIdkIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBVmpDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFTixVQUFLLEdBQUcsSUFBSSxDQUFDO0lBU2xCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEQsT0FBTyxPQUFPLENBQUM7UUFDakIs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RGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2Uvem9vbS5zZXJ2aWNlJztcbmltcG9ydCB7IElDaGFydEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvaS1jaGFydC1ldmVudCc7XG5pbXBvcnQgeyBJRGlzcGxheVRvb2x0aXAgfSBmcm9tICcuLi8uLi9tb2RlbC9pLWRpc3BsYXktdG9vbHRpcCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNpemU6IERPTVJlY3Q7XG5cbiAgcG9zaXRpb246IE9ic2VydmFibGU8e1xuICAgIGxlZnQ6IHN0cmluZztcbiAgICB0b3A6IHN0cmluZztcbiAgICBib3R0b206IHN0cmluZztcbiAgICByaWdodDogc3RyaW5nO1xuICB9PjtcblxuICBkaXNwbGF5VG9vbHRpcHM6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICB0b29sdGlwcyA9IFtdO1xuXG4gIHByaXZhdGUgYWxpdmUgPSB0cnVlO1xuXG4gIGRpc3BsYXk6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN2YzogQ2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXkgPSBtZXJnZSh0aGlzLnN2Yy5wb2ludGVyTW92ZSwgdGhpcy56b29tU2VydmljZS56b29tZWQpLnBpcGUoXG4gICAgICBtYXAoKHsgZXZlbnQgfSkgPT4ge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gZXZlbnQ/LnR5cGUgPT09ICdtb3VzZW1vdmUnID8gMSA6IDA7XG5cbiAgICAgICAgcmV0dXJuIG9wYWNpdHk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucG9zaXRpb24gPSB0aGlzLnN2Yy5wb2ludGVyTW92ZS5waXBlKFxuICAgICAgZmlsdGVyKCh7IGV2ZW50IH0pID0+IGV2ZW50KSxcbiAgICAgIG1hcCgoXykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQb2lzaXRpb24oXyk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoXykgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKVxuICAgICk7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1IdG1sID0gKGh0bWwpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGVmYXVsdEZvcm1hdHRlciA9ICh0b29sdGlwczogSURpc3BsYXlUb29sdGlwW10pID0+IHtcbiAgICAgIGxldCBodG1sID0gJyc7XG5cbiAgICAgIHRvb2x0aXBzLmZvckVhY2goKF8pID0+IHtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yU3R5bGUgPSBgZGlzcGxheTpibG9jazsgd2lkdGg6IDEwcHg7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAke18/LnNlcmllcz8uY29sb3J9YDtcblxuICAgICAgICBodG1sICs9IGA8ZGl2IGNsYXNzPVwiZGlzcGxheS1mbGV4IGFsaWduLWNlbnRlclwiPjxzcGFuIGNsYXNzPVwibWFyZ2luLXJpZ2h0LTFcIiBzdHlsZT1cIiR7aW5kaWNhdG9yU3R5bGV9XCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC10aXRsZS0zXCI+JHtfLnNlcmllcy5uYW1lfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2R5LTNcIj54OiAke18ucG9pbnQueD8udG9GaXhlZChcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApfSB5OiAke18ucG9pbnQueT8udG9GaXhlZCgyKX08L3NwYW4+PC9zcGFuPjwvZGl2PmA7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUh0bWwoaHRtbCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvcm1hdHRlciA9IHRoaXMuc3ZjLmNvbmZpZz8udG9vbHRpcD8uZm9ybWF0O1xuXG4gICAgdGhpcy5kaXNwbGF5VG9vbHRpcHMgPSBtZXJnZShcbiAgICAgIHRoaXMuc3ZjLnBvaW50ZXJNb3ZlLnBpcGUodGFwKChfKSA9PiAodGhpcy50b29sdGlwcyA9IFtdKSkpLFxuICAgICAgdGhpcy5zdmMudG9vbHRpcHNcbiAgICApLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuYWxpdmUpLFxuICAgICAgZmlsdGVyKChfKSA9PiAhX1snZXZlbnQnXSksXG4gICAgICBtYXAoKHRvb2x0aXA6IGFueSkgPT4ge1xuICAgICAgICBpZiAodG9vbHRpcCkge1xuICAgICAgICAgIHRoaXMudG9vbHRpcHMucHVzaCh0b29sdGlwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlclxuICAgICAgICAgID8gZm9ybWF0dGVyKHRoaXMudG9vbHRpcHMpXG4gICAgICAgICAgOiBkZWZhdWx0Rm9ybWF0dGVyKHRoaXMudG9vbHRpcHMpO1xuXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFBvaXNpdGlvbih7IGV2ZW50IH06IGFueSkge1xuICAgIGNvbnN0IGNlbnRlclggPSB0aGlzLnNpemUud2lkdGggLyAyO1xuICAgIGNvbnN0IGNlbnRlclkgPSB0aGlzLnNpemUuaGVpZ2h0IC8gMjtcblxuICAgIGNvbnN0IHBhZGRpbmcgPSB7IHg6IDEwLCB5OiAxMCB9O1xuXG4gICAgY29uc3Qgc2NlbmUgPSB7XG4gICAgICBsZWZ0OiBldmVudC5wYWdlWCA+IGNlbnRlclggPyAnaW5pdGlhbCcgOiBgJHtldmVudC5wYWdlWCArIHBhZGRpbmcueH1weGAsXG4gICAgICB0b3A6IGV2ZW50LnBhZ2VZID4gY2VudGVyWSA/ICdpbml0aWFsJyA6IGAke2V2ZW50LnBhZ2VZICsgcGFkZGluZy55fXB4YCxcbiAgICAgIGJvdHRvbTpcbiAgICAgICAgZXZlbnQucGFnZVkgPiBjZW50ZXJZXG4gICAgICAgICAgPyBgJHt3aW5kb3cuaW5uZXJIZWlnaHQgLSBldmVudC5wYWdlWX1weGBcbiAgICAgICAgICA6ICdpbml0aWFsJyxcbiAgICAgIHJpZ2h0OlxuICAgICAgICBldmVudC5wYWdlWCA+IGNlbnRlclhcbiAgICAgICAgICA/IGAke3dpbmRvdy5pbm5lcldpZHRoIC0gZXZlbnQucGFnZVggKyBwYWRkaW5nLnh9cHhgXG4gICAgICAgICAgOiAnaW5pdGlhbCcsXG4gICAgfTtcblxuICAgIHJldHVybiBzY2VuZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvc2l0aW9uIHwgYXN5bmMgYXMgcFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwIGNvbG9yLXRleHQtOTAgYmctYmFja2dyb3VuZC01MCBzaGFkb3ctMiBwYWRkaW5nLTIgYm9yZGVyLXJhZGl1cy0xXCJcbiAgICAgICBbc3R5bGUucG9zaXRpb25dPVwiJ2ZpeGVkJ1wiXG4gICAgICAgW3N0eWxlLm9wYWNpdHldPVwiZGlzcGxheSB8IGFzeW5jXCJcbiAgICAgICBzdHlsZT1cInBvaW50ZXItZXZlbnRzOiBub25lO1wiXG4gICAgICAgW3N0eWxlLmxlZnRdPVwicC5sZWZ0XCJcbiAgICAgICBbc3R5bGUudG9wXT1cInAudG9wXCJcbiAgICAgICBbc3R5bGUuYm90dG9tXT1cInAuYm90dG9tXCJcbiAgICAgICBbc3R5bGUucmlnaHRdPVwicC5yaWdodFwiXG4gICAgICAgW2lubmVySFRNTF09XCJkaXNwbGF5VG9vbHRpcHMgfCBhc3luY1wiPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQWFwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBbUIzQixZQUNVLEdBQWlCLEVBQ2pCLEdBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLFNBQXVCLEVBQ3ZCLEtBQWE7UUFKYixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQVh2QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRU4sVUFBSyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN0QyxHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxR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QUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUk7WUFDeEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJO1lBQ3ZFLE1BQU0sRUFDSixLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU87Z0JBQ25CLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSTtnQkFDekMsQ0FBQyxDQUFDLFNBQVM7WUFDZixLQUFLLEVBQ0gsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPO2dCQUNuQixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsSUFBSTtnQkFDcEQsQ0FBQyxDQUFDLFNBQVM7U0FDaEIsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzs2R0E3R1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsZ0dDdEI3QixtZkFjQTsyRkRRYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzZNQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCB0YWtlV2hpbGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoYXJ0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvem9vbS5zZXJ2aWNlJztcbmltcG9ydCB7SURpc3BsYXlUb29sdGlwfSBmcm9tICcuLi8uLi9tb2RlbC9pLWRpc3BsYXktdG9vbHRpcCc7XG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0lDaGFydENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRvb2x0aXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNpemU6IERPTVJlY3Q7XG4gIEBJbnB1dCgpIGNvbmZpZzogSUNoYXJ0Q29uZmlnO1xuXG4gIHBvc2l0aW9uOiBPYnNlcnZhYmxlPHtcbiAgICBsZWZ0OiBzdHJpbmc7XG4gICAgdG9wOiBzdHJpbmc7XG4gICAgYm90dG9tOiBzdHJpbmc7XG4gICAgcmlnaHQ6IHN0cmluZztcbiAgfT47XG5cbiAgZGlzcGxheVRvb2x0aXBzOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgdG9vbHRpcHMgPSBbXTtcblxuICBwcml2YXRlIGFsaXZlID0gdHJ1ZTtcblxuICBkaXNwbGF5OiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdmM6IENoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmVcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLnN2Yy5wb2ludGVyTW92ZS5waXBlKFxuICAgICAgbWFwKChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBldmVudC50eXBlID09PSAnbW91c2Vtb3ZlJyA/IDEgOiAwO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMuc3ZjLnBvaW50ZXJNb3ZlLnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KSxcbiAgICAgIG1hcCgoXykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQb2lzaXRpb24oXyk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IHRyYW5zZm9ybUh0bWwgPSAoaHRtbCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0Rm9ybWF0dGVyID0gKHRvb2x0aXBzOiBJRGlzcGxheVRvb2x0aXBbXSkgPT4ge1xuICAgICAgbGV0IGh0bWwgPSAnJztcblxuICAgICAgdG9vbHRpcHMuZm9yRWFjaCgoXykgPT4ge1xuICAgICAgICBjb25zdCBpbmRpY2F0b3JTdHlsZSA9IGBkaXNwbGF5OmJsb2NrOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQtY29sb3I6ICR7Xz8uc2VyaWVzPy5jb2xvcn1gO1xuXG4gICAgICAgIGh0bWwgKz0gYDxkaXYgY2xhc3M9XCJkaXNwbGF5LWZsZXggYWxpZ24tY2VudGVyXCI+PHNwYW4gY2xhc3M9XCJtYXJnaW4tcmlnaHQtMVwiIHN0eWxlPVwiJHtpbmRpY2F0b3JTdHlsZX1cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXRpdGxlLTNcIj4ke18uc2VyaWVzLm5hbWV9XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvZHktM1wiPng6ICR7Xy5wb2ludC54Py50b0ZpeGVkKFxuICAgICAgICAgIDJcbiAgICAgICAgKX0geTogJHtfLnBvaW50Lnk/LnRvRml4ZWQoMil9PC9zcGFuPjwvc3Bhbj48L2Rpdj5gO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cmFuc2Zvcm1IdG1sKGh0bWwpO1xuICAgIH07XG5cbiAgICBjb25zdCBmb3JtYXR0ZXIgPSB0aGlzLmNvbmZpZz8udG9vbHRpcD8uZm9ybWF0O1xuXG4gICAgdGhpcy5kaXNwbGF5VG9vbHRpcHMgPSBtZXJnZShcbiAgICAgIHRoaXMuc3ZjLnBvaW50ZXJNb3ZlLnBpcGUodGFwKChfKSA9PiAodGhpcy50b29sdGlwcyA9IFtdKSkpLFxuICAgICAgdGhpcy5zdmMudG9vbHRpcHNcbiAgICApLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuYWxpdmUpLFxuICAgICAgZmlsdGVyKChkYXRhKSA9PiAhKGRhdGEgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSksXG4gICAgICBtYXAoKHRvb2x0aXA6IGFueSkgPT4ge1xuICAgICAgICBpZiAodG9vbHRpcCkge1xuICAgICAgICAgIHRoaXMudG9vbHRpcHMucHVzaCh0b29sdGlwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlclxuICAgICAgICAgID8gZm9ybWF0dGVyKHRoaXMudG9vbHRpcHMpXG4gICAgICAgICAgOiBkZWZhdWx0Rm9ybWF0dGVyKHRoaXMudG9vbHRpcHMpO1xuXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFBvaXNpdGlvbihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgY29uc3QgY2VudGVyWCA9IHRoaXMuc2l6ZS53aWR0aCAvIDI7XG4gICAgY29uc3QgY2VudGVyWSA9IHRoaXMuc2l6ZS5oZWlnaHQgLyAyO1xuXG4gICAgY29uc3QgcGFkZGluZyA9IHt4OiAxMCwgeTogMTB9O1xuXG4gICAgY29uc3Qgc2NlbmUgPSB7XG4gICAgICBsZWZ0OiBldmVudC5wYWdlWCA+IGNlbnRlclggPyAnaW5pdGlhbCcgOiBgJHtldmVudC5wYWdlWCArIHBhZGRpbmcueH1weGAsXG4gICAgICB0b3A6IGV2ZW50LnBhZ2VZID4gY2VudGVyWSA/ICdpbml0aWFsJyA6IGAke2V2ZW50LnBhZ2VZICsgcGFkZGluZy55fXB4YCxcbiAgICAgIGJvdHRvbTpcbiAgICAgICAgZXZlbnQucGFnZVkgPiBjZW50ZXJZXG4gICAgICAgICAgPyBgJHt3aW5kb3cuaW5uZXJIZWlnaHQgLSBldmVudC5wYWdlWX1weGBcbiAgICAgICAgICA6ICdpbml0aWFsJyxcbiAgICAgIHJpZ2h0OlxuICAgICAgICBldmVudC5wYWdlWCA+IGNlbnRlclhcbiAgICAgICAgICA/IGAke3dpbmRvdy5pbm5lcldpZHRoIC0gZXZlbnQucGFnZVggKyBwYWRkaW5nLnh9cHhgXG4gICAgICAgICAgOiAnaW5pdGlhbCcsXG4gICAgfTtcblxuICAgIHJldHVybiBzY2VuZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvc2l0aW9uIHwgYXN5bmMgYXMgcFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwIGNvbG9yLXRleHQtOTAgYmctYmFja2dyb3VuZC01MCBzaGFkb3ctMiBwYWRkaW5nLTIgYm9yZGVyLXJhZGl1cy0xXCJcbiAgICAgICBbc3R5bGUucG9zaXRpb25dPVwiJ2ZpeGVkJ1wiXG4gICAgICAgW3N0eWxlLm9wYWNpdHldPVwiZGlzcGxheSB8IGFzeW5jXCJcbiAgICAgICBzdHlsZT1cInBvaW50ZXItZXZlbnRzOiBub25lOyBtaW4td2lkdGg6IDIwMHB4O1wiXG4gICAgICAgW3N0eWxlLmxlZnRdPVwicC5sZWZ0XCJcbiAgICAgICBbc3R5bGUudG9wXT1cInAudG9wXCJcbiAgICAgICBbc3R5bGUuYm90dG9tXT1cInAuYm90dG9tXCJcbiAgICAgICBbc3R5bGUucmlnaHRdPVwicC5yaWdodFwiXG4gICAgICAgW2lubmVySFRNTF09XCJkaXNwbGF5VG9vbHRpcHMgfCBhc3luY1wiPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
2
2
|
import * as d3 from 'd3';
|
|
3
|
-
import { merge, takeWhile, tap } from 'rxjs';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../service/scale.service";
|
|
6
|
-
import * as i2 from "../../service/chart.service";
|
|
7
|
-
import * as i3 from "../../service/zoom.service";
|
|
8
4
|
export class XAxisComponent {
|
|
9
|
-
constructor(
|
|
10
|
-
this.scaleService = scaleService;
|
|
11
|
-
this.chartService = chartService;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
this.zoomService = zoomService;
|
|
5
|
+
constructor() {
|
|
14
6
|
this._alive = true;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
}
|
|
8
|
+
set scale(scale) {
|
|
9
|
+
this._scale = scale;
|
|
10
|
+
this.draw();
|
|
11
|
+
}
|
|
12
|
+
get scale() {
|
|
13
|
+
return this._scale;
|
|
21
14
|
}
|
|
22
15
|
ngOnInit() { }
|
|
23
16
|
ngOnDestroy() {
|
|
@@ -27,25 +20,29 @@ export class XAxisComponent {
|
|
|
27
20
|
this.draw();
|
|
28
21
|
}
|
|
29
22
|
draw() {
|
|
30
|
-
|
|
23
|
+
if (!this.node || !this.axis) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
31
26
|
const axis = this.axis.options.opposite
|
|
32
27
|
? d3
|
|
33
|
-
.axisTop(scale)
|
|
28
|
+
.axisTop(this.scale)
|
|
34
29
|
.tickFormat(this.axis.options.tickFormat ?? this.axis.defaultFormatter())
|
|
35
30
|
: d3
|
|
36
|
-
.axisBottom(scale)
|
|
31
|
+
.axisBottom(this.scale)
|
|
37
32
|
.tickFormat(this.axis.options.tickFormat ?? this.axis.defaultFormatter());
|
|
38
33
|
d3.select(this.node.nativeElement)
|
|
39
34
|
.call(axis)
|
|
40
35
|
.call((_) => _.select('.domain').remove());
|
|
41
36
|
}
|
|
42
37
|
}
|
|
43
|
-
XAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: XAxisComponent, deps: [
|
|
44
|
-
XAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: XAxisComponent, selector: "[teta-x-axis]", inputs: { axis: "axis", size: "size" }, viewQueries: [{ propertyName: "node", first: true, predicate: ["svg"], descendants: true }], ngImport: i0, template: "<svg:g #svg></svg:g>\n", styles: [":host .tick{stroke:var(--color-text-20)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38
|
+
XAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: XAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
XAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: XAxisComponent, selector: "[teta-x-axis]", inputs: { axis: "axis", scale: "scale", size: "size" }, viewQueries: [{ propertyName: "node", first: true, predicate: ["svg"], descendants: true }], ngImport: i0, template: "<svg:g #svg></svg:g>\n", styles: [":host .tick{stroke:var(--color-text-20)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: XAxisComponent, decorators: [{
|
|
46
41
|
type: Component,
|
|
47
42
|
args: [{ selector: '[teta-x-axis]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg:g #svg></svg:g>\n", styles: [":host .tick{stroke:var(--color-text-20)}\n"] }]
|
|
48
|
-
}], ctorParameters: function () { return [
|
|
43
|
+
}], ctorParameters: function () { return []; }, propDecorators: { axis: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], scale: [{
|
|
49
46
|
type: Input
|
|
50
47
|
}], size: [{
|
|
51
48
|
type: Input
|
|
@@ -53,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
53
50
|
type: ViewChild,
|
|
54
51
|
args: ['svg']
|
|
55
52
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieC1heGlzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaGFydC9jaGFydC1jb250YWluZXIveC1heGlzL3gtYXhpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3gtYXhpcy94LWF4aXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQzs7QUFVekIsTUFBTSxPQUFPLGNBQWM7SUFrQnpCO1FBRlEsV0FBTSxHQUFHLElBQUksQ0FBQztJQUVQLENBQUM7SUFoQmhCLElBQWEsS0FBSyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBVUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNyQyxDQUFDLENBQUMsRUFBRTtpQkFDQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDbkIsVUFBVSxDQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQzdEO1lBQ0wsQ0FBQyxDQUFDLEVBQUU7aUJBQ0MsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQ3RCLFVBQVUsQ0FDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUM3RCxDQUFDO1FBRVIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7MkdBbERVLGNBQWM7K0ZBQWQsY0FBYywwTUMxQjNCLHdCQUNBOzJGRHlCYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBVUcsSUFBSTtzQkFBWixLQUFLO2dCQUNZLElBQUk7c0JBQXJCLFNBQVM7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF4aXMgfSBmcm9tICcuLi8uLi9jb3JlL2F4aXMvYXhpcyc7XG5pbXBvcnQgeyBTY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NjYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWVyZ2UsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1t0ZXRhLXgtYXhpc10nLFxuICB0ZW1wbGF0ZVVybDogJy4veC1heGlzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4veC1heGlzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBYQXhpc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgYXhpczogQXhpcztcbiAgQElucHV0KCkgc2V0IHNjYWxlKHNjYWxlOiBhbnkpIHtcbiAgICB0aGlzLl9zY2FsZSA9IHNjYWxlO1xuXG4gICAgdGhpcy5kcmF3KCk7XG4gIH1cblxuICBnZXQgc2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NjYWxlO1xuICB9XG5cbiAgQElucHV0KCkgc2l6ZTogRE9NUmVjdDtcbiAgQFZpZXdDaGlsZCgnc3ZnJykgbm9kZTogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9zY2FsZTogYW55O1xuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3KCkge1xuICAgIGlmICghdGhpcy5ub2RlIHx8ICF0aGlzLmF4aXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBheGlzID0gdGhpcy5heGlzLm9wdGlvbnMub3Bwb3NpdGVcbiAgICAgID8gZDNcbiAgICAgICAgICAuYXhpc1RvcCh0aGlzLnNjYWxlKVxuICAgICAgICAgIC50aWNrRm9ybWF0KFxuICAgICAgICAgICAgdGhpcy5heGlzLm9wdGlvbnMudGlja0Zvcm1hdCA/PyB0aGlzLmF4aXMuZGVmYXVsdEZvcm1hdHRlcigpXG4gICAgICAgICAgKVxuICAgICAgOiBkM1xuICAgICAgICAgIC5heGlzQm90dG9tKHRoaXMuc2NhbGUpXG4gICAgICAgICAgLnRpY2tGb3JtYXQoXG4gICAgICAgICAgICB0aGlzLmF4aXMub3B0aW9ucy50aWNrRm9ybWF0ID8/IHRoaXMuYXhpcy5kZWZhdWx0Rm9ybWF0dGVyKClcbiAgICAgICAgICApO1xuXG4gICAgZDMuc2VsZWN0KHRoaXMubm9kZS5uYXRpdmVFbGVtZW50KVxuICAgICAgLmNhbGwoYXhpcylcbiAgICAgIC5jYWxsKChfKSA9PiBfLnNlbGVjdCgnLmRvbWFpbicpLnJlbW92ZSgpKTtcbiAgfVxufVxuIiwiPHN2ZzpnICNzdmc+PC9zdmc6Zz5cbiJdfQ==
|