@tetacom/svg-charts 1.4.21 → 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.
- package/chart/base/series-base.component.d.ts +1 -1
- package/chart/chart/chart.component.d.ts +1 -1
- package/chart/chart-container/annotation/annotation.component.d.ts +1 -1
- package/chart/chart-container/chart-container.component.d.ts +1 -1
- package/chart/chart-container/crosshair/crosshair.component.d.ts +1 -1
- package/chart/chart-container/gridlines/gridlines.component.d.ts +1 -1
- package/chart/chart-container/plotband/plot-band.component.d.ts +1 -1
- package/chart/chart-container/plotline/plotline.component.d.ts +1 -1
- package/chart/chart-container/series/area-series/area-series.component.d.ts +1 -1
- package/chart/chart-container/series/bar/bar-series.component.d.ts +1 -1
- package/chart/chart-container/series/block-area-series/block-area-series.component.d.ts +1 -1
- package/chart/chart-container/series/block-series/block-series.component.d.ts +1 -1
- package/chart/chart-container/series/line/line-series.component.d.ts +1 -1
- package/chart/chart-container/series/linear-series-base.d.ts +1 -1
- package/chart/chart-container/series/scatter-series/scatter-series.component.d.ts +1 -1
- package/chart/chart-container/series-host/series-host.component.d.ts +1 -1
- package/chart/chart-container/tooltip/tooltip.component.d.ts +1 -1
- package/chart/chart-container/x-axis/x-axis.component.d.ts +1 -1
- package/chart/chart-container/y-axis/y-axis.component.d.ts +1 -1
- package/chart/directives/brushable.directive.d.ts +1 -1
- package/chart/directives/draggable-point.directive.d.ts +1 -1
- package/chart/directives/zoomable.directive.d.ts +1 -1
- package/chart/legend/legend.component.d.ts +1 -1
- package/chart/model/i-broadcast-message.d.ts +2 -2
- package/chart/stories/bandseries/bandseries.component.d.ts +1 -1
- package/esm2022/chart/base/series-base.component.mjs +50 -0
- package/esm2022/chart/chart/chart.component.mjs +175 -0
- package/esm2022/chart/chart-container/annotation/annotation.component.mjs +108 -0
- package/esm2022/chart/chart-container/chart-container.component.mjs +194 -0
- package/esm2022/chart/chart-container/crosshair/crosshair.component.mjs +39 -0
- package/esm2022/chart/chart-container/gridlines/gridlines.component.mjs +45 -0
- package/esm2022/chart/chart-container/plotband/plot-band.component.mjs +174 -0
- package/esm2022/chart/chart-container/plotline/plotline.component.mjs +98 -0
- package/esm2022/chart/chart-container/series/area-series/area-series.component.mjs +74 -0
- package/esm2022/chart/chart-container/series/bar/bar-series.component.mjs +68 -0
- package/esm2022/chart/chart-container/series/block-area-series/block-area-series.component.mjs +69 -0
- package/esm2022/chart/chart-container/series/block-series/block-series.component.mjs +69 -0
- package/{esm2020 → esm2022}/chart/chart-container/series/line/line-series.component.mjs +37 -30
- package/esm2022/chart/chart-container/series/linear-series-base.mjs +210 -0
- package/esm2022/chart/chart-container/series/scatter-series/scatter-series.component.mjs +53 -0
- package/esm2022/chart/chart-container/series-host/series-host.component.mjs +50 -0
- package/{esm2020 → esm2022}/chart/chart-container/tooltip/tooltip.component.mjs +18 -5
- package/esm2022/chart/chart-container/x-axis/x-axis.component.mjs +54 -0
- package/esm2022/chart/chart-container/y-axis/y-axis.component.mjs +40 -0
- package/{esm2020 → esm2022}/chart/chart.module.mjs +36 -36
- package/esm2022/chart/core/axis/axis.mjs +135 -0
- package/esm2022/chart/core/axis/builders/axis-size-builder.mjs +31 -0
- package/esm2022/chart/core/axis/builders/extremes-builder.mjs +33 -0
- package/esm2022/chart/directives/brushable.directive.mjs +162 -0
- package/esm2022/chart/directives/draggable-point.directive.mjs +147 -0
- package/esm2022/chart/directives/zoomable.directive.mjs +263 -0
- package/esm2022/chart/legend/legend.component.mjs +38 -0
- package/{esm2020 → esm2022}/chart/model/chart-bounds.mjs +5 -5
- package/esm2022/chart/model/i-broadcast-message.mjs +27 -0
- package/esm2022/chart/model/plot-band.mjs +28 -0
- package/esm2022/chart/model/plot-line.mjs +21 -0
- package/esm2022/chart/service/broadcast.service.mjs +24 -0
- package/esm2022/chart/service/brush.service.mjs +22 -0
- package/esm2022/chart/service/chart.service.mjs +244 -0
- package/esm2022/chart/service/scale.service.mjs +206 -0
- package/esm2022/chart/service/zoom.service.mjs +85 -0
- package/esm2022/chart/stories/bandseries/bandseries.component.mjs +36 -0
- package/{fesm2020 → fesm2022}/tetacom-svg-charts.mjs +583 -337
- package/{fesm2020 → fesm2022}/tetacom-svg-charts.mjs.map +1 -1
- package/package.json +8 -14
- package/esm2020/chart/base/series-base.component.mjs +0 -42
- package/esm2020/chart/chart/chart.component.mjs +0 -172
- package/esm2020/chart/chart-container/annotation/annotation.component.mjs +0 -99
- package/esm2020/chart/chart-container/chart-container.component.mjs +0 -182
- package/esm2020/chart/chart-container/crosshair/crosshair.component.mjs +0 -34
- package/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +0 -37
- package/esm2020/chart/chart-container/plotband/plot-band.component.mjs +0 -163
- package/esm2020/chart/chart-container/plotline/plotline.component.mjs +0 -87
- package/esm2020/chart/chart-container/series/area-series/area-series.component.mjs +0 -67
- package/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +0 -59
- package/esm2020/chart/chart-container/series/block-area-series/block-area-series.component.mjs +0 -60
- package/esm2020/chart/chart-container/series/block-series/block-series.component.mjs +0 -60
- package/esm2020/chart/chart-container/series/linear-series-base.mjs +0 -198
- package/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +0 -43
- package/esm2020/chart/chart-container/series-host/series-host.component.mjs +0 -46
- package/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +0 -48
- package/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +0 -36
- package/esm2020/chart/core/axis/axis.mjs +0 -128
- package/esm2020/chart/core/axis/builders/axis-size-builder.mjs +0 -33
- package/esm2020/chart/core/axis/builders/extremes-builder.mjs +0 -35
- package/esm2020/chart/directives/brushable.directive.mjs +0 -153
- package/esm2020/chart/directives/draggable-point.directive.mjs +0 -141
- package/esm2020/chart/directives/zoomable.directive.mjs +0 -254
- package/esm2020/chart/legend/legend.component.mjs +0 -36
- package/esm2020/chart/model/i-broadcast-message.mjs +0 -18
- package/esm2020/chart/model/plot-band.mjs +0 -17
- package/esm2020/chart/model/plot-line.mjs +0 -13
- package/esm2020/chart/service/broadcast.service.mjs +0 -23
- package/esm2020/chart/service/brush.service.mjs +0 -21
- package/esm2020/chart/service/chart.service.mjs +0 -229
- package/esm2020/chart/service/scale.service.mjs +0 -203
- package/esm2020/chart/service/zoom.service.mjs +0 -80
- package/esm2020/chart/stories/bandseries/bandseries.component.mjs +0 -29
- package/fesm2015/tetacom-svg-charts.mjs +0 -3095
- package/fesm2015/tetacom-svg-charts.mjs.map +0 -1
- /package/{esm2020 → esm2022}/chart/chart-container/series/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/core/axis/builders/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/core/utils/generate-ticks.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/core/utils/get-text-width.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/core/utils/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/default/default-axis-config.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/default/default-chart-config.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/default/default-series-config.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/default/defaultSeriesTypeMapping.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/annotation.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/axis-options.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/base-point.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/axis-orientation.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/brush-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/clip-points-direction.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/drag-point-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/fill-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/scale-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/series-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/tooltip-tracking.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/zoom-behavior-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/enum/zoom-type.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-builder.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-chart-config.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-chart-event.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-display-tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-point-move.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/i-scales-map.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/marker-options.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/series.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/svg-attributes.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/model/tooltip-options.mjs +0 -0
- /package/{esm2020 → esm2022}/chart/service/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tetacom-svg-charts.mjs +0 -0
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { Directive, HostBinding, HostListener, Input, } from '@angular/core';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { zoomIdentity } from 'd3';
|
|
4
|
-
import { ZoomType } from '../model/enum/zoom-type';
|
|
5
|
-
import { AxisOrientation } from '../model/enum/axis-orientation';
|
|
6
|
-
import { ZoomMessage, } from '../model/i-broadcast-message';
|
|
7
|
-
import { takeWhile } from 'rxjs';
|
|
8
|
-
import { ZoomBehaviorType } from '../model/enum/zoom-behavior-type';
|
|
9
|
-
import { ScaleType } from "../model/enum/scale-type";
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../service/zoom.service";
|
|
12
|
-
import * as i2 from "../service/chart.service";
|
|
13
|
-
export class ZoomableDirective {
|
|
14
|
-
constructor(elementRef, zoomService, chartService, zone) {
|
|
15
|
-
this.elementRef = elementRef;
|
|
16
|
-
this.zoomService = zoomService;
|
|
17
|
-
this.chartService = chartService;
|
|
18
|
-
this.zone = zone;
|
|
19
|
-
this.zoomable = false;
|
|
20
|
-
this.crosshair = false;
|
|
21
|
-
this.alive = true;
|
|
22
|
-
this.currentTransform = zoomIdentity;
|
|
23
|
-
this.zoomed = (event) => {
|
|
24
|
-
if (event.sourceEvent && (this.elementRef.nativeElement === event.sourceEvent.target || this.elementRef.nativeElement.contains(event.sourceEvent.target))) {
|
|
25
|
-
if (Object.keys(event.sourceEvent).length !== 0) {
|
|
26
|
-
const origin = this.axis.scale.copy().domain(this.axis.originDomain);
|
|
27
|
-
if (this.axis.options.scaleType.type === ScaleType.band) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const domain = this.axis.orientation === AxisOrientation.y
|
|
31
|
-
? event.transform.rescaleY(origin).domain()
|
|
32
|
-
: event.transform.rescaleX(origin).domain();
|
|
33
|
-
if (domain[0] === null || domain[0] === undefined
|
|
34
|
-
|| domain[1] === null || domain[1] === undefined
|
|
35
|
-
|| Math.abs(domain[0] - domain[1]) < 0.000001) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const message = new ZoomMessage({
|
|
39
|
-
eventType: event.type,
|
|
40
|
-
axis: {
|
|
41
|
-
index: this.axis.index,
|
|
42
|
-
orientation: this.axis.orientation,
|
|
43
|
-
},
|
|
44
|
-
element: this.elementRef,
|
|
45
|
-
domain,
|
|
46
|
-
chartId: this.config.id
|
|
47
|
-
});
|
|
48
|
-
this.zoomService.fireZoom(message);
|
|
49
|
-
this.zoomService.broadcastZoom(message);
|
|
50
|
-
}
|
|
51
|
-
this.currentTransform = event.transform;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
mouseenter() {
|
|
56
|
-
this.zoom?.on('start zoom end', this.zoomed);
|
|
57
|
-
this._element?.call(this.zoom).on('dblclick.zoom', null);
|
|
58
|
-
// Run wheel event listener
|
|
59
|
-
if (this.config?.zoom?.zoomBehavior === ZoomBehaviorType.wheel) {
|
|
60
|
-
this.runWheelTranslate();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
mouseleave() {
|
|
64
|
-
this.zoom?.on('start zoom end', null);
|
|
65
|
-
this._element?.on('wheel', null);
|
|
66
|
-
}
|
|
67
|
-
ngOnInit() {
|
|
68
|
-
if (this.axis?.options?.zoom || this.config?.zoom?.enable) {
|
|
69
|
-
this.zoomable = this.config?.zoom?.zoomBehavior === ZoomBehaviorType.move && !this.config?.tooltip?.showCrosshair;
|
|
70
|
-
this.crosshair = this.config?.tooltip?.showCrosshair;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
ngAfterViewInit() {
|
|
74
|
-
this.initZoomListeners();
|
|
75
|
-
this.initZoomSync();
|
|
76
|
-
}
|
|
77
|
-
ngOnDestroy() {
|
|
78
|
-
this.zoom?.on('start zoom end', null);
|
|
79
|
-
this._element?.on('wheel', null);
|
|
80
|
-
this.alive = false;
|
|
81
|
-
}
|
|
82
|
-
initZoomSync() {
|
|
83
|
-
this.zoomService.zoomed.pipe(takeWhile(() => this.alive)).subscribe((zoomed) => {
|
|
84
|
-
if (this._element && this.elementRef !== zoomed?.element
|
|
85
|
-
&& zoomed?.axis?.index === this.axis.index
|
|
86
|
-
&& zoomed?.axis?.orientation === this.axis.orientation) {
|
|
87
|
-
const scale = this.axis.scale.copy().domain(this.axis.originDomain);
|
|
88
|
-
let transform;
|
|
89
|
-
if (zoomed.domain === null) {
|
|
90
|
-
transform = zoomIdentity;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
transform =
|
|
94
|
-
this.zoomService.getD3Transform(zoomed.domain, this.axis.originDomain, scale, this.axis.orientation, this.axis.options.inverted);
|
|
95
|
-
}
|
|
96
|
-
this._element.call(this.zoom.transform, transform);
|
|
97
|
-
this.currentTransform = transform;
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
initZoomListeners() {
|
|
102
|
-
const enable = (this.axis?.options?.zoom && this.axis?.options.visible !== false) ||
|
|
103
|
-
this.config?.zoom?.enable;
|
|
104
|
-
if (!enable) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
this._element = d3.select(this.elementRef.nativeElement);
|
|
108
|
-
this.zoom = d3.zoom().extent([
|
|
109
|
-
[0, 0],
|
|
110
|
-
[this.size.width, this.size.height],
|
|
111
|
-
]);
|
|
112
|
-
const min = this.config?.zoom?.minTranslate != null
|
|
113
|
-
? this.axis.scale(this.config?.zoom?.minTranslate)
|
|
114
|
-
: -Infinity;
|
|
115
|
-
const max = (this.config?.zoom?.maxTranslate != null
|
|
116
|
-
? this.axis.scale(this.config?.zoom?.maxTranslate)
|
|
117
|
-
: Infinity);
|
|
118
|
-
if (this.axis.orientation === AxisOrientation.x && this.config.zoom.type === ZoomType.x) {
|
|
119
|
-
this.zoom.translateExtent([
|
|
120
|
-
[Math.min(min, max), -Infinity],
|
|
121
|
-
[Math.max(min, max), Infinity],
|
|
122
|
-
]);
|
|
123
|
-
}
|
|
124
|
-
if (this.axis.orientation === AxisOrientation.y && this.config.zoom.type === ZoomType.y) {
|
|
125
|
-
this.zoom.translateExtent([
|
|
126
|
-
[-Infinity, Math.min(min, max)],
|
|
127
|
-
[Infinity, Math.max(min, max)],
|
|
128
|
-
]);
|
|
129
|
-
}
|
|
130
|
-
if (this.config.zoom?.wheelDelta) {
|
|
131
|
-
this.zoom.wheelDelta(this.config.zoom?.wheelDelta);
|
|
132
|
-
}
|
|
133
|
-
if (this.config?.zoom?.wheelFilter) {
|
|
134
|
-
this.zoom.filter(this.config?.zoom?.wheelFilter);
|
|
135
|
-
}
|
|
136
|
-
if (this.axis.options.scaleType.type !== ScaleType.band) {
|
|
137
|
-
const extremes = this.axis.extremes;
|
|
138
|
-
const maxZoom = this.config.zoom?.max
|
|
139
|
-
? (extremes[1] - extremes[0]) /
|
|
140
|
-
this.config.zoom?.max
|
|
141
|
-
: this.config.zoom?.limitZoomByData
|
|
142
|
-
? 1
|
|
143
|
-
: 0;
|
|
144
|
-
const minZoom = this.config.zoom?.min
|
|
145
|
-
? (extremes[1] - extremes[0]) /
|
|
146
|
-
this.config.zoom?.min
|
|
147
|
-
: Infinity;
|
|
148
|
-
this.zoom.scaleExtent([maxZoom, minZoom]);
|
|
149
|
-
}
|
|
150
|
-
if (this.config?.zoom?.zoomBehavior === ZoomBehaviorType.wheel) {
|
|
151
|
-
this.runWheelTranslate();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
runWheelTranslate() {
|
|
155
|
-
let type = 'start';
|
|
156
|
-
let wheeling;
|
|
157
|
-
// For touch events
|
|
158
|
-
this.zoom.on('start zoom end', this.zoomed);
|
|
159
|
-
this._element?.call(this.zoom);
|
|
160
|
-
this.zoom
|
|
161
|
-
.filter((event) => {
|
|
162
|
-
return (event.ctrlKey && event.type === 'wheel') ||
|
|
163
|
-
Boolean(window.TouchEvent && event.type !== 'wheel');
|
|
164
|
-
})
|
|
165
|
-
.wheelDelta((event) => {
|
|
166
|
-
const delta = this.config?.zoom.type === ZoomType.x
|
|
167
|
-
? -event.deltaX
|
|
168
|
-
: -event.deltaY;
|
|
169
|
-
return delta * 0.002;
|
|
170
|
-
});
|
|
171
|
-
const emit = (type, event) => {
|
|
172
|
-
const origin = this.axis.scale.copy().domain(this.axis.originDomain);
|
|
173
|
-
let transform = zoomIdentity;
|
|
174
|
-
const delta = type === 'end'
|
|
175
|
-
? 0
|
|
176
|
-
: this.axis.orientation === AxisOrientation.y
|
|
177
|
-
? event.deltaY
|
|
178
|
-
: event.deltaX;
|
|
179
|
-
if (this.axis.orientation === AxisOrientation.y) {
|
|
180
|
-
transform = transform.translate(0, this.currentTransform.y - delta / 2);
|
|
181
|
-
}
|
|
182
|
-
if (this.axis.orientation === AxisOrientation.x) {
|
|
183
|
-
transform = transform.translate(this.currentTransform.x - delta / 2, 0);
|
|
184
|
-
}
|
|
185
|
-
transform = transform.scale(this.currentTransform.k);
|
|
186
|
-
let domain = this.axis.orientation === AxisOrientation.y
|
|
187
|
-
? transform.rescaleY(origin).domain()
|
|
188
|
-
: transform.rescaleX(origin).domain();
|
|
189
|
-
const extent = this.axis.options?.inverted ? domain : [...domain].reverse();
|
|
190
|
-
if (extent[0] <= this.config.zoom?.minTranslate) {
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
if (extent[1] >= this.config.zoom?.maxTranslate) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
const message = new ZoomMessage({
|
|
197
|
-
eventType: type,
|
|
198
|
-
element: this.elementRef,
|
|
199
|
-
axis: {
|
|
200
|
-
index: this.axis.index,
|
|
201
|
-
orientation: this.axis.orientation
|
|
202
|
-
},
|
|
203
|
-
domain,
|
|
204
|
-
chartId: this.config.id,
|
|
205
|
-
});
|
|
206
|
-
this._element?.call(this.zoom.transform, transform);
|
|
207
|
-
this.zoomService.fireZoom(message);
|
|
208
|
-
this.zoomService.broadcastZoom(message);
|
|
209
|
-
this.currentTransform = transform;
|
|
210
|
-
};
|
|
211
|
-
this._element.on('wheel', (event) => {
|
|
212
|
-
event.preventDefault();
|
|
213
|
-
if (event.ctrlKey) {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
this.zone.runOutsideAngular(() => {
|
|
217
|
-
clearTimeout(wheeling);
|
|
218
|
-
emit(type, event);
|
|
219
|
-
type = 'zoom';
|
|
220
|
-
wheeling = setTimeout(() => {
|
|
221
|
-
emit('end', event);
|
|
222
|
-
type = 'start';
|
|
223
|
-
}, 50);
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
ZoomableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ZoomableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ZoomService }, { token: i2.ChartService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
229
|
-
ZoomableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: ZoomableDirective, selector: "[tetaZoomable]", inputs: { config: "config", axis: "axis", size: "size" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.zoomable": "this.zoomable", "class.crosshair": "this.crosshair" } }, ngImport: i0 });
|
|
230
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ZoomableDirective, decorators: [{
|
|
231
|
-
type: Directive,
|
|
232
|
-
args: [{
|
|
233
|
-
selector: '[tetaZoomable]',
|
|
234
|
-
}]
|
|
235
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ZoomService }, { type: i2.ChartService }, { type: i0.NgZone }]; }, propDecorators: { config: [{
|
|
236
|
-
type: Input
|
|
237
|
-
}], axis: [{
|
|
238
|
-
type: Input
|
|
239
|
-
}], size: [{
|
|
240
|
-
type: Input
|
|
241
|
-
}], zoomable: [{
|
|
242
|
-
type: HostBinding,
|
|
243
|
-
args: ['class.zoomable']
|
|
244
|
-
}], crosshair: [{
|
|
245
|
-
type: HostBinding,
|
|
246
|
-
args: ['class.crosshair']
|
|
247
|
-
}], mouseenter: [{
|
|
248
|
-
type: HostListener,
|
|
249
|
-
args: ['mouseenter']
|
|
250
|
-
}], mouseleave: [{
|
|
251
|
-
type: HostListener,
|
|
252
|
-
args: ['mouseleave']
|
|
253
|
-
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUE0QixZQUFZLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxHQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFLbkQsTUFBTSxPQUFPLGlCQUFpQjtJQThCNUIsWUFDVSxVQUFzQixFQUN0QixXQUF3QixFQUN4QixZQUEwQixFQUMxQixJQUFZO1FBSFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBN0JpQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJbEQsVUFBSyxHQUFHLElBQUksQ0FBQztRQWtCYixxQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFrSHhDLFdBQU0sR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUN4QyxJQUFJLEtB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QUFDLGdCQUFnQjtnQkFDVyxTQUFTO3NCQUFoRCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFPOUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBVzFCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHtJQ2hhcnRDb25maWd9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7QXhpc30gZnJvbSAnLi4vY29yZS9heGlzL2F4aXMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHtEM1pvb21FdmVudCwgWm9vbUJlaGF2aW9yLCB6b29tSWRlbnRpdHl9IGZyb20gJ2QzJztcbmltcG9ydCB7Wm9vbVR5cGV9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS10eXBlJztcbmltcG9ydCB7QXhpc09yaWVudGF0aW9ufSBmcm9tICcuLi9tb2RlbC9lbnVtL2F4aXMtb3JpZW50YXRpb24nO1xuaW1wb3J0IHtab29tTWVzc2FnZSx9IGZyb20gJy4uL21vZGVsL2ktYnJvYWRjYXN0LW1lc3NhZ2UnO1xuaW1wb3J0IHt0YWtlV2hpbGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDaGFydFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQuc2VydmljZSc7XG5pbXBvcnQge1pvb21CZWhhdmlvclR5cGV9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS1iZWhhdmlvci10eXBlJztcbmltcG9ydCB7U2NhbGVUeXBlfSBmcm9tIFwiLi4vbW9kZWwvZW51bS9zY2FsZS10eXBlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZXRhWm9vbWFibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgWm9vbWFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb25maWc6IElDaGFydENvbmZpZztcbiAgQElucHV0KCkgYXhpczogQXhpcztcbiAgQElucHV0KCkgc2l6ZTogRE9NUmVjdDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnpvb21hYmxlJykgcHJpdmF0ZSB6b29tYWJsZSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNyb3NzaGFpcicpIHByaXZhdGUgY3Jvc3NoYWlyID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudDogZDMuU2VsZWN0aW9uPFNWR0VsZW1lbnQsIGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIHpvb206IFpvb21CZWhhdmlvcjxhbnksIGFueT47XG4gIHByaXZhdGUgYWxpdmUgPSB0cnVlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBtb3VzZWVudGVyKCkge1xuICAgIHRoaXMuem9vbT8ub24oJ3N0YXJ0IHpvb20gZW5kJywgdGhpcy56b29tZWQpO1xuICAgIHRoaXMuX2VsZW1lbnQ/LmNhbGwodGhpcy56b29tKS5vbignZGJsY2xpY2suem9vbScsIG51bGwpO1xuICAgIC8vIFJ1biB3aGVlbCBldmVudCBsaXN0ZW5lclxuICAgIGlmICh0aGlzLmNvbmZpZz8uem9vbT8uem9vbUJlaGF2aW9yID09PSBab29tQmVoYXZpb3JUeXBlLndoZWVsKSB7XG4gICAgICB0aGlzLnJ1bldoZWVsVHJhbnNsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG1vdXNlbGVhdmUoKSB7XG4gICAgdGhpcy56b29tPy5vbignc3RhcnQgem9vbSBlbmQnLCBudWxsKTtcbiAgICB0aGlzLl9lbGVtZW50Py5vbignd2hlZWwnLCBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFydFNlcnZpY2U6IENoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmF4aXM/Lm9wdGlvbnM/Lnpvb20gfHwgdGhpcy5jb25maWc/Lnpvb20/LmVuYWJsZSkge1xuICAgICAgdGhpcy56b29tYWJsZSA9IHRoaXMuY29uZmlnPy56b29tPy56b29tQmVoYXZpb3IgPT09IFpvb21CZWhhdmlvclR5cGUubW92ZSAmJiAhdGhpcy5jb25maWc/LnRvb2x0aXA/LnNob3dDcm9zc2hhaXI7XG4gICAgICB0aGlzLmNyb3NzaGFpciA9IHRoaXMuY29uZmlnPy50b29sdGlwPy5zaG93Q3Jvc3NoYWlyO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRab29tTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5pbml0Wm9vbVN5bmMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuem9vbT8ub24oJ3N0YXJ0IHpvb20gZW5kJywgbnVsbCk7XG4gICAgdGhpcy5fZWxlbWVudD8ub24oJ3doZWVsJywgbnVsbCk7XG4gICAgdGhpcy5hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Wm9vbVN5bmMoKSB7XG4gICAgdGhpcy56b29tU2VydmljZS56b29tZWQucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKVxuICAgICkuc3Vic2NyaWJlKCh6b29tZWQ6IFpvb21NZXNzYWdlKSA9PiB7XG4gICAgICBpZiAodGhpcy5fZWxlbWVudCAmJiB0aGlzLmVsZW1lbnRSZWYgIT09IHpvb21lZD8uZWxlbWVudFxuICAgICAgICAmJiB6b29tZWQ/LmF4aXM/LmluZGV4ID09PSB0aGlzLmF4aXMuaW5kZXhcbiAgICAgICAgJiYgem9vbWVkPy5heGlzPy5vcmllbnRhdGlvbiA9PT0gdGhpcy5heGlzLm9yaWVudGF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gdGhpcy5heGlzLnNjYWxlLmNvcHkoKS5kb21haW4odGhpcy5heGlzLm9yaWdpbkRvbWFpbik7XG4gICAgICAgIGxldCB0cmFuc2Zvcm07XG4gICAgICAgIGlmICh6b29tZWQuZG9tYWluID09PSBudWxsKSB7XG4gICAgICAgICAgdHJhbnNmb3JtID0gem9vbUlkZW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybSA9XG4gICAgICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLmdldEQzVHJhbnNmb3JtKHpvb21lZC5kb21haW4sIHRoaXMuYXhpcy5vcmlnaW5Eb21haW4sIHNjYWxlLCB0aGlzLmF4aXMub3JpZW50YXRpb24sIHRoaXMuYXhpcy5vcHRpb25zLmludmVydGVkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwodGhpcy56b29tLnRyYW5zZm9ybSwgdHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Wm9vbUxpc3RlbmVycygpIHtcbiAgICBjb25zdCBlbmFibGUgPVxuICAgICAgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSAmJiB0aGlzLmF4aXM/Lm9wdGlvbnMudmlzaWJsZSAhPT0gZmFsc2UpIHx8XG4gICAgICB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlO1xuXG4gICAgaWYgKCFlbmFibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50ID0gZDMuc2VsZWN0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnpvb20gPSBkMy56b29tKCkuZXh0ZW50KFtcbiAgICAgIFswLCAwXSxcbiAgICAgIFt0aGlzLnNpemUud2lkdGgsIHRoaXMuc2l6ZS5oZWlnaHRdLFxuICAgIF0pO1xuXG4gICAgY29uc3QgbWluID0gdGhpcy5jb25maWc/Lnpvb20/Lm1pblRyYW5zbGF0ZSAhPSBudWxsXG4gICAgICA/IHRoaXMuYXhpcy5zY2FsZSh0aGlzLmNvbmZpZz8uem9vbT8ubWluVHJhbnNsYXRlKVxuICAgICAgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgbWF4ID0gKHRoaXMuY29uZmlnPy56b29tPy5tYXhUcmFuc2xhdGUgIT0gbnVsbFxuICAgICAgPyB0aGlzLmF4aXMuc2NhbGUodGhpcy5jb25maWc/Lnpvb20/Lm1heFRyYW5zbGF0ZSlcbiAgICAgIDogSW5maW5pdHkpO1xuICAgIGlmICh0aGlzLmF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi54ICYmIHRoaXMuY29uZmlnLnpvb20udHlwZSA9PT0gWm9vbVR5cGUueCkge1xuICAgICAgdGhpcy56b29tLnRyYW5zbGF0ZUV4dGVudChbXG4gICAgICAgIFtNYXRoLm1pbihtaW4sIG1heCksIC1JbmZpbml0eV0sXG4gICAgICAgIFtNYXRoLm1heChtaW4sIG1heCksIEluZmluaXR5XSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55ICYmIHRoaXMuY29uZmlnLnpvb20udHlwZSA9PT0gWm9vbVR5cGUueSkge1xuICAgICAgdGhpcy56b29tLnRyYW5zbGF0ZUV4dGVudChbXG4gICAgICAgIFstSW5maW5pdHksIE1hdGgubWluKG1pbiwgbWF4KV0sXG4gICAgICAgIFtJbmZpbml0eSwgTWF0aC5tYXgobWluLCBtYXgpXSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy56b29tPy53aGVlbERlbHRhKSB7XG4gICAgICB0aGlzLnpvb20ud2hlZWxEZWx0YSh0aGlzLmNvbmZpZy56b29tPy53aGVlbERlbHRhKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWc/Lnpvb20/LndoZWVsRmlsdGVyKSB7XG4gICAgICB0aGlzLnpvb20uZmlsdGVyKHRoaXMuY29uZmlnPy56b29tPy53aGVlbEZpbHRlcilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5heGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgIT09IFNjYWxlVHlwZS5iYW5kKSB7XG4gICAgICBjb25zdCBleHRyZW1lcyA9IHRoaXMuYXhpcy5leHRyZW1lcyBhcyBudW1iZXJbXTtcbiAgICAgIGNvbnN0IG1heFpvb20gPSB0aGlzLmNvbmZpZy56b29tPy5tYXhcbiAgICAgICAgPyAoZXh0cmVtZXNbMV0gLSBleHRyZW1lc1swXSkgL1xuICAgICAgICB0aGlzLmNvbmZpZy56b29tPy5tYXhcbiAgICAgICAgOiB0aGlzLmNvbmZpZy56b29tPy5saW1pdFpvb21CeURhdGFcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IDA7XG5cbiAgICAgIGNvbnN0IG1pblpvb20gPSB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgPyAoZXh0cmVtZXNbMV0gLSBleHRyZW1lc1swXSkgL1xuICAgICAgICB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgOiBJbmZpbml0eTtcblxuICAgICAgdGhpcy56b29tLnNjYWxlRXh0ZW50KFttYXhab29tLCBtaW5ab29tXSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnPy56b29tPy56b29tQmVoYXZpb3IgPT09IFpvb21CZWhhdmlvclR5cGUud2hlZWwpIHtcbiAgICAgIHRoaXMucnVuV2hlZWxUcmFuc2xhdGUoKTtcbiAgICB9XG4gIH1cblxuICB6b29tZWQgPSAoZXZlbnQ6IEQzWm9vbUV2ZW50PGFueSwgYW55PikgPT4ge1xuICAgIGlmIChldmVudC5zb3VyY2VFdmVudCAmJiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnNvdXJjZUV2ZW50LnRhcmdldCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5zb3VyY2VFdmVudC50YXJnZXQpKSkge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGV2ZW50LnNvdXJjZUV2ZW50KS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5heGlzLnNjYWxlLmNvcHkoKS5kb21haW4odGhpcy5heGlzLm9yaWdpbkRvbWFpbik7XG4gICAgICAgIGlmICh0aGlzLmF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmJhbmQpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvbWFpbiA9XG4gICAgICAgICAgdGhpcy5heGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueVxuICAgICAgICAgICAgPyBldmVudC50cmFuc2Zvcm0ucmVzY2FsZVkob3JpZ2luKS5kb21haW4oKVxuICAgICAgICAgICAgOiBldmVudC50cmFuc2Zvcm0ucmVzY2FsZVgob3JpZ2luKS5kb21haW4oKTtcbiAgICAgICAgaWYgKGRvbWFpblswXSA9PT0gbnVsbCB8fCBkb21haW5bMF0gPT09IHVuZGVmaW5lZFxuICAgICAgICAgIHx8IGRvbWFpblsxXSA9PT0gbnVsbCB8fCBkb21haW5bMV0gPT09IHVuZGVmaW5lZFxuICAgICAgICAgIHx8IE1hdGguYWJzKGRvbWFpblswXSAtIGRvbWFpblsxXSkgPCAwLjAwMDAwMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFpvb21NZXNzYWdlKHtcbiAgICAgICAgICBldmVudFR5cGU6IGV2ZW50LnR5cGUsXG4gICAgICAgICAgYXhpczoge1xuICAgICAgICAgICAgaW5kZXg6IHRoaXMuYXhpcy5pbmRleCxcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiB0aGlzLmF4aXMub3JpZW50YXRpb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgZG9tYWluLFxuICAgICAgICAgIGNoYXJ0SWQ6IHRoaXMuY29uZmlnLmlkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLmZpcmVab29tKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLmJyb2FkY2FzdFpvb20obWVzc2FnZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSBldmVudC50cmFuc2Zvcm07XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgcnVuV2hlZWxUcmFuc2xhdGUoKSB7XG4gICAgbGV0IHR5cGU6ICdzdGFydCcgfCAnem9vbScgfCAnZW5kJyA9ICdzdGFydCc7XG4gICAgbGV0IHdoZWVsaW5nO1xuXG4gICAgLy8gRm9yIHRvdWNoIGV2ZW50c1xuICAgIHRoaXMuem9vbS5vbignc3RhcnQgem9vbSBlbmQnLCB0aGlzLnpvb21lZCk7XG4gICAgdGhpcy5fZWxlbWVudD8uY2FsbCh0aGlzLnpvb20pO1xuXG4gICAgdGhpcy56b29tXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykgfHxcbiAgICAgICAgICAgIEJvb2xlYW4od2luZG93LlRvdWNoRXZlbnQgJiYgZXZlbnQudHlwZSAhPT0gJ3doZWVsJyk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC53aGVlbERlbHRhKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBkZWx0YSA9XG4gICAgICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICAgICAgPyAtZXZlbnQuZGVsdGFYXG4gICAgICAgICAgICA6IC1ldmVudC5kZWx0YVk7XG4gICAgICAgIHJldHVybiBkZWx0YSAqIDAuMDAyO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBlbWl0ID0gKHR5cGU6IHN0cmluZywgZXZlbnQ6IFdoZWVsRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYXhpcy5zY2FsZS5jb3B5KCkuZG9tYWluKHRoaXMuYXhpcy5vcmlnaW5Eb21haW4pO1xuICAgICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcbiAgICAgIGNvbnN0IGRlbHRhID1cbiAgICAgICAgdHlwZSA9PT0gJ2VuZCdcbiAgICAgICAgICA/IDBcbiAgICAgICAgICA6IHRoaXMuYXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnlcbiAgICAgICAgICAgID8gZXZlbnQuZGVsdGFZXG4gICAgICAgICAgICA6IGV2ZW50LmRlbHRhWDtcblxuICAgICAgaWYgKHRoaXMuYXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpIHtcbiAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZShcbiAgICAgICAgICAwLFxuICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybS55IC0gZGVsdGEgLyAyXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi54KSB7XG4gICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoXG4gICAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtLnggLSBkZWx0YSAvIDIsXG4gICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0uc2NhbGUodGhpcy5jdXJyZW50VHJhbnNmb3JtLmspO1xuXG4gICAgICBsZXQgZG9tYWluID1cbiAgICAgICAgdGhpcy5heGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueVxuICAgICAgICAgID8gdHJhbnNmb3JtLnJlc2NhbGVZKG9yaWdpbikuZG9tYWluKClcbiAgICAgICAgICA6IHRyYW5zZm9ybS5yZXNjYWxlWChvcmlnaW4pLmRvbWFpbigpO1xuXG4gICAgICBjb25zdCBleHRlbnQgPSB0aGlzLmF4aXMub3B0aW9ucz8uaW52ZXJ0ZWQgPyBkb21haW4gOiBbLi4uZG9tYWluXS5yZXZlcnNlKCk7XG5cbiAgICAgIGlmIChleHRlbnRbMF0gPD0gdGhpcy5jb25maWcuem9vbT8ubWluVHJhbnNsYXRlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4dGVudFsxXSA+PSB0aGlzLmNvbmZpZy56b29tPy5tYXhUcmFuc2xhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG5cblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBab29tTWVzc2FnZSh7XG4gICAgICAgIGV2ZW50VHlwZTogdHlwZSxcbiAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICBheGlzOiB7XG4gICAgICAgICAgaW5kZXg6IHRoaXMuYXhpcy5pbmRleCxcbiAgICAgICAgICBvcmllbnRhdGlvbjogdGhpcy5heGlzLm9yaWVudGF0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIGRvbWFpbixcbiAgICAgICAgY2hhcnRJZDogdGhpcy5jb25maWcuaWQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWxlbWVudD8uY2FsbCh0aGlzLnpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0pO1xuICAgICAgdGhpcy56b29tU2VydmljZS5maXJlWm9vbShtZXNzYWdlKTtcbiAgICAgIHRoaXMuem9vbVNlcnZpY2UuYnJvYWRjYXN0Wm9vbShtZXNzYWdlKTtcbiAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5vbignd2hlZWwnLCAoZXZlbnQ6IFdoZWVsRXZlbnQpID0+IHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh3aGVlbGluZyk7XG4gICAgICAgIGVtaXQodHlwZSwgZXZlbnQpO1xuICAgICAgICB0eXBlID0gJ3pvb20nO1xuICAgICAgICB3aGVlbGluZyA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGVtaXQoJ2VuZCcsIGV2ZW50KTtcbiAgICAgICAgICB0eXBlID0gJ3N0YXJ0JztcbiAgICAgICAgfSwgNTApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input, } from '@angular/core';
|
|
2
|
-
import { SeriesType } from '../model/enum/series-type';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../service/chart.service";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
export class LegendComponent {
|
|
7
|
-
constructor(chartService) {
|
|
8
|
-
this.chartService = chartService;
|
|
9
|
-
this.sizeMapping = new Map()
|
|
10
|
-
.set(SeriesType.line, 2)
|
|
11
|
-
.set(SeriesType.scatter, 2)
|
|
12
|
-
.set(SeriesType.bar, 12)
|
|
13
|
-
.set(SeriesType.area, 2)
|
|
14
|
-
.set(SeriesType.block, 12)
|
|
15
|
-
.set(SeriesType.blockArea, 2);
|
|
16
|
-
this.classLegend = true;
|
|
17
|
-
}
|
|
18
|
-
getHeight(serie) {
|
|
19
|
-
return this.sizeMapping.get(serie.type ?? SeriesType.line);
|
|
20
|
-
}
|
|
21
|
-
click(serie) {
|
|
22
|
-
this.chartService.toggleVisibilitySeries([serie.id]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
LegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: LegendComponent, deps: [{ token: i1.ChartService }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
LegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: LegendComponent, selector: "teta-legend", inputs: { series: "series" }, host: { properties: { "class.padding-bottom-4": "this.classLegend" } }, ngImport: i0, template: "<ng-container *ngFor=\"let serie of series\" class=\"padding-bottom-4\">\n <div *ngIf=\"serie?.showInLegend !== false\">\n <div class=\"legend-item cursor-pointer\" (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\" [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}</div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: LegendComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'teta-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let serie of series\" class=\"padding-bottom-4\">\n <div *ngIf=\"serie?.showInLegend !== false\">\n <div class=\"legend-item cursor-pointer\" (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\" [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}</div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"] }]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i1.ChartService }]; }, propDecorators: { series: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], classLegend: [{
|
|
33
|
-
type: HostBinding,
|
|
34
|
-
args: ['class.padding-bottom-4']
|
|
35
|
-
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBU3ZELE1BQU0sT0FBTyxlQUFlO0lBWTFCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWHRDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXNCO2FBQ2hELEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7YUFDekIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHTyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQUVULENBQUM7SUFFbEQsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7NEdBcEJVLGVBQWU7Z0dBQWYsZUFBZSx5SkNqQjVCLDh1QkFZQTsyRkRLYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTttR0FXdEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNpQyxXQUFXO3NCQUFqRCxXQUFXO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXJpZXMgfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMnO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmFzZS1wb2ludCc7XG5pbXBvcnQgeyBTZXJpZXNUeXBlIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9zZXJpZXMtdHlwZSc7XG5pbXBvcnQge0NoYXJ0U2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2UvY2hhcnQuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWxlZ2VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExlZ2VuZENvbXBvbmVudCB7XG4gIHByaXZhdGUgc2l6ZU1hcHBpbmcgPSBuZXcgTWFwPFNlcmllc1R5cGUsIG51bWJlcj4oKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5saW5lLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5zY2F0dGVyLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5iYXIsIDEyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5hcmVhLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5ibG9jaywgMTIpXG4gICAgLnNldChTZXJpZXNUeXBlLmJsb2NrQXJlYSwgMik7XG5cbiAgQElucHV0KCkgc2VyaWVzOiBBcnJheTxTZXJpZXM8QmFzZVBvaW50Pj47XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFkZGluZy1ib3R0b20tNCcpIGNsYXNzTGVnZW5kID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlKSB7fVxuXG4gIGdldEhlaWdodChzZXJpZTogU2VyaWVzPEJhc2VQb2ludD4pIHtcbiAgICByZXR1cm4gdGhpcy5zaXplTWFwcGluZy5nZXQoc2VyaWUudHlwZSA/PyBTZXJpZXNUeXBlLmxpbmUpO1xuICB9XG5cbiAgY2xpY2soc2VyaWU6IFNlcmllczxCYXNlUG9pbnQ+KSB7XG4gICB0aGlzLmNoYXJ0U2VydmljZS50b2dnbGVWaXNpYmlsaXR5U2VyaWVzKFtzZXJpZS5pZF0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZXJpZSBvZiBzZXJpZXNcIiBjbGFzcz1cInBhZGRpbmctYm90dG9tLTRcIj5cbiAgPGRpdiAqbmdJZj1cInNlcmllPy5zaG93SW5MZWdlbmQgIT09IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNsaWNrKHNlcmllKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pY29uLWZvcm1cIlxuICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldEhlaWdodChzZXJpZSlcIlxuICAgICAgICAgICBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCJzZXJpZS52aXNpYmxlID8gc2VyaWUuY29sb3IgOiAndmFyKC0tY29sb3ItdGV4dC0zMCknXCJcbiAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3Atc3R5bGVdPVwic2VyaWUuc3R5bGU/LnN0cm9rZURhc2hhcnJheSA/ICdkYXNoZWQnIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgIFtzdHlsZS5ib3JkZXItd2lkdGgucHhdPVwic2VyaWUuc3R5bGU/LnN0cm9rZURhc2hhcnJheSA/IDEgOiAyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWxhYmVsXCIgc3R5bGU9XCJ1c2VyLXNlbGVjdDogbm9uZVwiIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwic2VyaWUudmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+e3sgc2VyaWUubmFtZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export class ZoomMessage {
|
|
2
|
-
constructor(options) {
|
|
3
|
-
this.eventType = options?.eventType;
|
|
4
|
-
this.element = options?.element;
|
|
5
|
-
this.axis = options?.axis;
|
|
6
|
-
this.domain = options.domain;
|
|
7
|
-
this.chartId = options?.chartId;
|
|
8
|
-
this.style = options?.style;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BrushMessage {
|
|
12
|
-
constructor(options) {
|
|
13
|
-
this.chartId = options?.chartId;
|
|
14
|
-
this.selection = options?.selection;
|
|
15
|
-
this.mode = options?.mode;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1icm9hZGNhc3QtbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sT0FBTyxXQUFXO0lBUXRCLFlBQVksT0FPWDtRQUNDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQVksT0FJWDtRQUNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXhpc09yaWVudGF0aW9ufSBmcm9tICcuL2VudW0vYXhpcy1vcmllbnRhdGlvbic7XG5pbXBvcnQge0VsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1TdHlsZSA9IHtcbiAgdHJhbnNpdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRhcmdldEF4aXMgPSB7XG4gIGluZGV4OiBudW1iZXIsXG4gIG9yaWVudGF0aW9uOiBBeGlzT3JpZW50YXRpb25cbn1cblxuZXhwb3J0IGNsYXNzIFpvb21NZXNzYWdlIHtcbiAgZXZlbnRUeXBlOiAnc3RhcnQnIHwgJ3pvb20nIHwgJ2VuZCcgfCBzdHJpbmc7XG4gIGVsZW1lbnQ/OiBFbGVtZW50UmVmO1xuICBheGlzOiBUYXJnZXRBeGlzO1xuICBkb21haW4/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBjaGFydElkOiBzdHJpbmc7XG4gIHN0eWxlPzogVHJhbnNmb3JtU3R5bGU7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IHtcbiAgICBldmVudFR5cGU6ICdzdGFydCcgfCAnem9vbScgfCAnZW5kJyB8IHN0cmluZztcbiAgICBlbGVtZW50PzogRWxlbWVudFJlZjtcbiAgICBheGlzPzogVGFyZ2V0QXhpcztcbiAgICBkb21haW4/OiBbbnVtYmVyLCBudW1iZXJdXG4gICAgY2hhcnRJZDogc3RyaW5nO1xuICAgIHN0eWxlPzogVHJhbnNmb3JtU3R5bGU7XG4gIH0pIHtcbiAgICB0aGlzLmV2ZW50VHlwZSA9IG9wdGlvbnM/LmV2ZW50VHlwZTtcbiAgICB0aGlzLmVsZW1lbnQgPSBvcHRpb25zPy5lbGVtZW50O1xuICAgIHRoaXMuYXhpcyA9IG9wdGlvbnM/LmF4aXM7XG4gICAgdGhpcy5kb21haW4gPSBvcHRpb25zLmRvbWFpbjtcbiAgICB0aGlzLmNoYXJ0SWQgPSBvcHRpb25zPy5jaGFydElkO1xuICAgIHRoaXMuc3R5bGUgPSBvcHRpb25zPy5zdHlsZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnJ1c2hNZXNzYWdlIHtcbiAgY2hhcnRJZDogc3RyaW5nO1xuICBzZWxlY3Rpb246IFtudW1iZXIsIG51bWJlcl07XG4gIG1vZGU/OiAnZHJhZycgfCAnc3BhY2UnIHwgJ2hhbmRsZScgfCAnY2VudGVyJyB8ICdpbml0JztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzoge1xuICAgIGNoYXJ0SWQ6IHN0cmluZztcbiAgICBzZWxlY3Rpb246IFtudW1iZXIsIG51bWJlcl07XG4gICAgbW9kZT86ICdkcmFnJyB8ICdzcGFjZScgfCAnaGFuZGxlJyB8ICdjZW50ZXInIHwgJ2luaXQnO1xuICB9KSB7XG4gICAgdGhpcy5jaGFydElkID0gb3B0aW9ucz8uY2hhcnRJZDtcbiAgICB0aGlzLnNlbGVjdGlvbiA9IG9wdGlvbnM/LnNlbGVjdGlvbjtcbiAgICB0aGlzLm1vZGUgPSBvcHRpb25zPy5tb2RlO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJyb2FkY2FzdE1lc3NhZ2U8VD4ge1xuICBjaGFubmVsOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IFQ7XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export class PlotBand {
|
|
2
|
-
constructor(options) {
|
|
3
|
-
this.id = options?.id;
|
|
4
|
-
this.name = options?.name;
|
|
5
|
-
this.from = options?.from;
|
|
6
|
-
this.to = options?.to;
|
|
7
|
-
this.label = options?.label;
|
|
8
|
-
this.showGrabbers =
|
|
9
|
-
options?.showGrabbers != null ? options.showGrabbers : true;
|
|
10
|
-
this.draggable = options?.draggable != null ? options?.draggable : false;
|
|
11
|
-
this.resizable = options?.resizable != null ? options?.resizable : true;
|
|
12
|
-
this.min = options?.min;
|
|
13
|
-
this.max = options?.max;
|
|
14
|
-
this.style = options?.style;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdC1iYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L21vZGVsL3Bsb3QtYmFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sUUFBUTtJQWdCbkIsWUFBWSxPQWVYO1FBQ0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWTtZQUNmLE9BQU8sRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4RSxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdmdBdHRyaWJ1dGVzIH0gZnJvbSAnLi9zdmctYXR0cmlidXRlcyc7XG5cbmV4cG9ydCBjbGFzcyBQbG90QmFuZCB7XG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBmcm9tOiBudW1iZXI7XG4gIHRvOiBudW1iZXI7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBzaG93R3JhYmJlcnM/OiBib29sZWFuO1xuICBkcmFnZ2FibGU/OiBib29sZWFuO1xuICByZXNpemFibGU/OiBib29sZWFuO1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgc3R5bGU/OiB7XG4gICAgcGxvdEJhbmQ/OiBTdmdBdHRyaWJ1dGVzO1xuICAgIGdyYWJiZXJzPzogU3ZnQXR0cmlidXRlcztcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzoge1xuICAgIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZnJvbTogbnVtYmVyO1xuICAgIHRvOiBudW1iZXI7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgc2hvd0dyYWJiZXJzPzogYm9vbGVhbjtcbiAgICBkcmFnZ2FibGU/OiBib29sZWFuO1xuICAgIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gICAgbWluPzogbnVtYmVyO1xuICAgIG1heD86IG51bWJlcjtcbiAgICBzdHlsZT86IHtcbiAgICAgIHBsb3RCYW5kPzogU3ZnQXR0cmlidXRlcztcbiAgICAgIGdyYWJiZXJzPzogU3ZnQXR0cmlidXRlcztcbiAgICB9O1xuICB9KSB7XG4gICAgdGhpcy5pZCA9IG9wdGlvbnM/LmlkO1xuICAgIHRoaXMubmFtZSA9IG9wdGlvbnM/Lm5hbWU7XG4gICAgdGhpcy5mcm9tID0gb3B0aW9ucz8uZnJvbTtcbiAgICB0aGlzLnRvID0gb3B0aW9ucz8udG87XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnM/LmxhYmVsO1xuICAgIHRoaXMuc2hvd0dyYWJiZXJzID1cbiAgICAgIG9wdGlvbnM/LnNob3dHcmFiYmVycyAhPSBudWxsID8gb3B0aW9ucy5zaG93R3JhYmJlcnMgOiB0cnVlO1xuICAgIHRoaXMuZHJhZ2dhYmxlID0gb3B0aW9ucz8uZHJhZ2dhYmxlICE9IG51bGwgPyBvcHRpb25zPy5kcmFnZ2FibGUgOiBmYWxzZTtcbiAgICB0aGlzLnJlc2l6YWJsZSA9IG9wdGlvbnM/LnJlc2l6YWJsZSAhPSBudWxsID8gb3B0aW9ucz8ucmVzaXphYmxlIDogdHJ1ZTtcbiAgICB0aGlzLm1pbiA9IG9wdGlvbnM/Lm1pbjtcbiAgICB0aGlzLm1heCA9IG9wdGlvbnM/Lm1heDtcbiAgICB0aGlzLnN0eWxlID0gb3B0aW9ucz8uc3R5bGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class PlotLine {
|
|
2
|
-
constructor(options) {
|
|
3
|
-
this.id = options?.id;
|
|
4
|
-
this.name = options?.name;
|
|
5
|
-
this.value = options?.value;
|
|
6
|
-
this.label = options?.label;
|
|
7
|
-
this.min = options?.min;
|
|
8
|
-
this.max = options?.max;
|
|
9
|
-
this.draggable = options?.draggable;
|
|
10
|
-
this.style = options?.style;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdC1saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L21vZGVsL3Bsb3QtbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sUUFBUTtJQVVuQixZQUFZLE9BU1g7UUFDQyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3ZnQXR0cmlidXRlc30gZnJvbSAnLi9zdmctYXR0cmlidXRlcyc7XG5cbmV4cG9ydCBjbGFzcyBQbG90TGluZSB7XG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gIHN0eWxlPzogU3ZnQXR0cmlidXRlcztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzoge1xuICAgIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBtaW4/OiBudW1iZXI7XG4gICAgbWF4PzogbnVtYmVyO1xuICAgIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gICAgc3R5bGU/OiBTdmdBdHRyaWJ1dGVzO1xuICB9KSB7XG4gICAgdGhpcy5pZCA9IG9wdGlvbnM/LmlkO1xuICAgIHRoaXMubmFtZSA9IG9wdGlvbnM/Lm5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnM/LnZhbHVlO1xuICAgIHRoaXMubGFiZWwgPSBvcHRpb25zPy5sYWJlbDtcbiAgICB0aGlzLm1pbiA9IG9wdGlvbnM/Lm1pbjtcbiAgICB0aGlzLm1heCA9IG9wdGlvbnM/Lm1heDtcbiAgICB0aGlzLmRyYWdnYWJsZSA9IG9wdGlvbnM/LmRyYWdnYWJsZTtcbiAgICB0aGlzLnN0eWxlID0gb3B0aW9ucz8uc3R5bGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { filter, ReplaySubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BroadcastService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.zoomEmitter = new ReplaySubject(1);
|
|
7
|
-
}
|
|
8
|
-
broadcastZoom(value) {
|
|
9
|
-
this.zoomEmitter.next(value);
|
|
10
|
-
}
|
|
11
|
-
subscribeToZoom(channel) {
|
|
12
|
-
return this.zoomEmitter.asObservable().pipe(filter((msg) => channel && msg.channel === channel));
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
BroadcastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
-
BroadcastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BroadcastService, providedIn: 'root' });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BroadcastService, decorators: [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{
|
|
20
|
-
providedIn: 'root',
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: function () { return []; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvc2VydmljZS9icm9hZGNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxNQUFNLEVBQWMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUt2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBaUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFxQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDekMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7OzZHQWZVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SUJyb2FkY2FzdE1lc3NhZ2UsIFpvb21NZXNzYWdlfSBmcm9tICcuLi9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlJztcbmltcG9ydCB7ZmlsdGVyLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJyb2FkY2FzdFNlcnZpY2Uge1xuICBwcml2YXRlIHpvb21FbWl0dGVyOiBSZXBsYXlTdWJqZWN0PElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy56b29tRW1pdHRlciA9IG5ldyBSZXBsYXlTdWJqZWN0PElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPj4oMSk7XG4gIH1cblxuICBicm9hZGNhc3Rab29tKHZhbHVlOiBJQnJvYWRjYXN0TWVzc2FnZTxab29tTWVzc2FnZT4pIHtcbiAgICB0aGlzLnpvb21FbWl0dGVyLm5leHQodmFsdWUpO1xuICB9XG5cbiAgc3Vic2NyaWJlVG9ab29tKGNoYW5uZWw6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb2FkY2FzdE1lc3NhZ2U8Wm9vbU1lc3NhZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuem9vbUVtaXR0ZXIuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGZpbHRlcigobXNnKSA9PiBjaGFubmVsICYmIG1zZy5jaGFubmVsID09PSBjaGFubmVsKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BrushService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._brushDomain = new ReplaySubject(1);
|
|
7
|
-
this.brushDomain = this._brushDomain.asObservable();
|
|
8
|
-
}
|
|
9
|
-
setBrush(brush) {
|
|
10
|
-
this._brushDomain.next(brush);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
BrushService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BrushService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
BrushService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BrushService, providedIn: 'root' });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BrushService, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{
|
|
18
|
-
providedIn: 'root',
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: function () { return []; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJ1c2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9zZXJ2aWNlL2JydXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQU0vQyxNQUFNLE9BQU8sWUFBWTtJQUl2QjtRQUZRLGlCQUFZLEdBQUcsSUFBSSxhQUFhLENBQWUsQ0FBQyxDQUFDLENBQUM7UUFHeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBbUI7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7eUdBVlUsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCcnVzaE1lc3NhZ2V9IGZyb20gJy4uL21vZGVsL2ktYnJvYWRjYXN0LW1lc3NhZ2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnJ1c2hTZXJ2aWNlIHtcbiAgYnJ1c2hEb21haW46IE9ic2VydmFibGU8QnJ1c2hNZXNzYWdlPjtcbiAgcHJpdmF0ZSBfYnJ1c2hEb21haW4gPSBuZXcgUmVwbGF5U3ViamVjdDxCcnVzaE1lc3NhZ2U+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYnJ1c2hEb21haW4gPSB0aGlzLl9icnVzaERvbWFpbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldEJydXNoKGJydXNoOiBCcnVzaE1lc3NhZ2UpIHtcbiAgICB0aGlzLl9icnVzaERvbWFpbi5uZXh0KGJydXNoKTtcbiAgfVxufVxuIl19
|