@tetacom/svg-charts 1.0.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/chart → chart}/base/series-base.component.d.ts +4 -1
- package/{dist/chart → chart}/chart/chart.component.d.ts +12 -9
- package/chart/chart-container/chart-container.component.d.ts +37 -0
- package/chart/chart-container/gridlines/gridlines.component.d.ts +14 -0
- package/{dist/chart/chart-container/plotband/plotband.component.d.ts → chart/chart-container/plotband/plot-band.component.d.ts} +11 -10
- package/{dist/chart → chart}/chart-container/plotline/plotline.component.d.ts +5 -5
- package/{dist/chart → chart}/chart-container/series/bar/bar-series.component.d.ts +0 -0
- package/{dist/chart → chart}/chart-container/series/line/line-series.component.d.ts +2 -2
- package/chart/chart-container/series/scatter-series/scatter-series.component.d.ts +28 -0
- package/{dist/chart → chart}/chart-container/series-host/series-host.component.d.ts +4 -1
- package/{dist/chart → chart}/chart-container/tooltip/tooltip.component.d.ts +6 -3
- package/chart/chart-container/x-axis/x-axis.component.d.ts +19 -0
- package/chart/chart-container/y-axis/y-axis.component.d.ts +20 -0
- package/{dist/chart → chart}/chart.module.d.ts +4 -3
- package/{dist/chart → chart}/core/axis/axis.d.ts +8 -3
- package/{dist/chart → chart}/core/axis/builders/axis-size-builder.d.ts +0 -0
- package/{dist/chart → chart}/core/axis/builders/extremes-builder.d.ts +0 -0
- package/{dist/chart → chart}/core/axis/builders/public-api.d.ts +0 -0
- package/{dist/chart → chart}/core/utils/generate-ticks.d.ts +0 -0
- package/{dist/chart → chart}/core/utils/get-text-width.d.ts +0 -0
- package/{dist/chart → chart}/core/utils/public-api.d.ts +0 -0
- package/chart/default/default-axis-config.d.ts +2 -0
- package/chart/default/default-chart-config.d.ts +2 -0
- package/chart/default/default-series-config.d.ts +3 -0
- package/{dist/chart → chart}/directives/brushable.directive.d.ts +2 -1
- package/{dist/chart → chart}/directives/zoomable.directive.d.ts +1 -3
- package/{dist/chart → chart}/legend/legend.component.d.ts +1 -3
- package/chart/model/axis-options.d.ts +19 -0
- package/{dist/chart → chart}/model/base-point.d.ts +1 -1
- package/{dist/chart → chart}/model/chart-bounds.d.ts +0 -0
- package/{dist/chart → chart}/model/enum/axis-orientation.d.ts +0 -0
- package/{dist/chart → chart}/model/enum/brush-type.d.ts +0 -0
- package/{dist/chart → chart}/model/enum/drag-point-type.d.ts +0 -0
- package/{dist/chart → chart}/model/enum/public-api.d.ts +1 -1
- package/chart/model/enum/scale-type.d.ts +8 -0
- package/{dist/chart → chart}/model/enum/series-type.d.ts +2 -1
- package/{dist/chart → chart}/model/enum/tooltip-tracking.d.ts +0 -0
- package/{dist/chart → chart}/model/enum/zoom-type.d.ts +0 -0
- package/chart/model/i-broadcast-message.d.ts +17 -0
- package/{dist/chart → chart}/model/i-builder.d.ts +0 -0
- package/{dist/chart → chart}/model/i-chart-config.d.ts +1 -0
- package/{dist/chart → chart}/model/i-chart-event.d.ts +0 -0
- package/{dist/chart → chart}/model/i-display-tooltip.d.ts +0 -0
- package/{dist/chart → chart}/model/i-point-move.d.ts +0 -0
- package/{dist/chart → chart}/model/marker-options.d.ts +0 -0
- package/{dist/chart/model/plotband.d.ts → chart/model/plot-band.d.ts} +7 -5
- package/{dist/chart/model/plotline.d.ts → chart/model/plot-line.d.ts} +3 -1
- package/{dist/chart → chart}/model/public-api.d.ts +2 -2
- package/{dist/chart → chart}/model/series.d.ts +0 -0
- package/{dist/chart → chart}/model/svg-attributes.d.ts +0 -0
- package/{dist/chart → chart}/model/tooltip-options.d.ts +0 -0
- package/{dist/chart → chart}/service/broadcast.service.d.ts +0 -0
- package/{dist/chart → chart}/service/brush.service.d.ts +2 -5
- package/{dist/chart → chart}/service/chart.service.d.ts +16 -17
- package/chart/service/scale.service.d.ts +19 -0
- package/{dist/chart → chart}/service/zoom.service.d.ts +6 -14
- package/esm2020/chart/base/series-base.component.mjs +32 -0
- package/esm2020/chart/chart/chart.component.mjs +71 -0
- package/esm2020/chart/chart-container/chart-container.component.mjs +133 -0
- package/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +29 -0
- package/esm2020/chart/chart-container/plotband/plot-band.component.mjs +150 -0
- package/esm2020/chart/chart-container/plotline/plotline.component.mjs +76 -0
- package/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +48 -0
- package/esm2020/chart/chart-container/series/line/line-series.component.mjs +152 -0
- package/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +174 -0
- package/esm2020/chart/chart-container/series-host/series-host.component.mjs +68 -0
- package/esm2020/chart/chart-container/tooltip/tooltip.component.mjs +83 -0
- package/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +53 -0
- package/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +58 -0
- package/{dist/esm2020 → esm2020}/chart/chart.module.mjs +8 -5
- package/esm2020/chart/core/axis/axis.mjs +105 -0
- package/{dist/esm2020 → esm2020}/chart/core/axis/builders/axis-size-builder.mjs +0 -0
- package/esm2020/chart/core/axis/builders/extremes-builder.mjs +31 -0
- package/{dist/esm2020 → esm2020}/chart/core/axis/builders/public-api.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/core/utils/generate-ticks.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/core/utils/get-text-width.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/core/utils/public-api.mjs +0 -0
- package/esm2020/chart/default/default-axis-config.mjs +9 -0
- package/esm2020/chart/default/default-chart-config.mjs +23 -0
- package/esm2020/chart/default/default-series-config.mjs +8 -0
- package/{dist/esm2020 → esm2020}/chart/directives/brushable.directive.mjs +5 -3
- package/esm2020/chart/directives/zoomable.directive.mjs +36 -0
- package/esm2020/chart/legend/legend.component.mjs +27 -0
- package/esm2020/chart/model/axis-options.mjs +2 -0
- package/{dist/esm2020 → esm2020}/chart/model/base-point.mjs +1 -1
- package/{dist/esm2020 → esm2020}/chart/model/chart-bounds.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/axis-orientation.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/brush-type.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/drag-point-type.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/public-api.mjs +2 -2
- package/esm2020/chart/model/enum/scale-type.mjs +10 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/series-type.mjs +2 -1
- package/{dist/esm2020 → esm2020}/chart/model/enum/tooltip-tracking.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/enum/zoom-type.mjs +0 -0
- package/esm2020/chart/model/i-broadcast-message.mjs +2 -0
- package/{dist/esm2020 → esm2020}/chart/model/i-builder.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/i-chart-config.mjs +1 -1
- package/{dist/esm2020 → esm2020}/chart/model/i-chart-event.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/i-display-tooltip.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/i-point-move.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/marker-options.mjs +0 -0
- package/esm2020/chart/model/plot-band.mjs +17 -0
- package/esm2020/chart/model/plot-line.mjs +13 -0
- package/{dist/esm2020 → esm2020}/chart/model/public-api.mjs +3 -3
- package/{dist/esm2020 → esm2020}/chart/model/series.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/svg-attributes.mjs +0 -0
- package/{dist/esm2020 → esm2020}/chart/model/tooltip-options.mjs +0 -0
- package/esm2020/chart/service/broadcast.service.mjs +23 -0
- package/esm2020/chart/service/brush.service.mjs +70 -0
- package/esm2020/chart/service/chart.service.mjs +95 -0
- package/esm2020/chart/service/scale.service.mjs +152 -0
- package/esm2020/chart/service/zoom.service.mjs +114 -0
- package/esm2020/public-api.mjs +9 -0
- package/{dist/esm2020 → esm2020}/tetacom-svg-charts.mjs +0 -0
- package/fesm2015/tetacom-svg-charts.mjs +1912 -0
- package/fesm2015/tetacom-svg-charts.mjs.map +1 -0
- package/fesm2020/tetacom-svg-charts.mjs +1887 -0
- package/fesm2020/tetacom-svg-charts.mjs.map +1 -0
- package/package.json +22 -2
- package/{dist/public-api.d.ts → public-api.d.ts} +0 -0
- package/{dist/tetacom-svg-charts.d.ts → tetacom-svg-charts.d.ts} +0 -0
- package/dist/README.md +0 -24
- package/dist/chart/chart-container/chart-container.component.d.ts +0 -42
- package/dist/chart/chart-container/gridlines/gridlines.component.d.ts +0 -23
- package/dist/chart/chart-container/x-axis/x-axis.component.d.ts +0 -23
- package/dist/chart/chart-container/y-axis/y-axis.component.d.ts +0 -24
- package/dist/chart/model/axis-options.d.ts +0 -17
- package/dist/chart/model/enum/axis-type.d.ts +0 -7
- package/dist/chart/model/i-broadcast-message.d.ts +0 -5
- package/dist/chart/service/axes.service.d.ts +0 -11
- package/dist/chart/service/scale.service.d.ts +0 -14
- package/dist/esm2020/chart/base/series-base.component.mjs +0 -34
- package/dist/esm2020/chart/chart/chart.component.mjs +0 -73
- package/dist/esm2020/chart/chart-container/chart-container.component.mjs +0 -151
- package/dist/esm2020/chart/chart-container/gridlines/gridlines.component.mjs +0 -41
- package/dist/esm2020/chart/chart-container/plotband/plotband.component.mjs +0 -139
- package/dist/esm2020/chart/chart-container/plotline/plotline.component.mjs +0 -79
- package/dist/esm2020/chart/chart-container/series/bar/bar-series.component.mjs +0 -48
- package/dist/esm2020/chart/chart-container/series/line/line-series.component.mjs +0 -148
- package/dist/esm2020/chart/chart-container/series-host/series-host.component.mjs +0 -59
- package/dist/esm2020/chart/chart-container/tooltip/tooltip.component.mjs +0 -81
- package/dist/esm2020/chart/chart-container/x-axis/x-axis.component.mjs +0 -56
- package/dist/esm2020/chart/chart-container/y-axis/y-axis.component.mjs +0 -63
- package/dist/esm2020/chart/core/axis/axis.mjs +0 -96
- package/dist/esm2020/chart/core/axis/builders/extremes-builder.mjs +0 -32
- package/dist/esm2020/chart/directives/zoomable.directive.mjs +0 -37
- package/dist/esm2020/chart/legend/legend.component.mjs +0 -30
- package/dist/esm2020/chart/model/axis-options.mjs +0 -2
- package/dist/esm2020/chart/model/enum/axis-type.mjs +0 -9
- package/dist/esm2020/chart/model/i-broadcast-message.mjs +0 -2
- 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/dist/esm2020/chart/service/broadcast.service.mjs +0 -25
- package/dist/esm2020/chart/service/brush.service.mjs +0 -67
- package/dist/esm2020/chart/service/chart.service.mjs +0 -76
- package/dist/esm2020/chart/service/scale.service.mjs +0 -64
- package/dist/esm2020/chart/service/zoom.service.mjs +0 -117
- package/dist/esm2020/public-api.mjs +0 -8
- package/dist/fesm2015/tetacom-svg-charts.mjs +0 -1617
- package/dist/fesm2015/tetacom-svg-charts.mjs.map +0 -1
- package/dist/fesm2020/tetacom-svg-charts.mjs +0 -1603
- package/dist/fesm2020/tetacom-svg-charts.mjs.map +0 -1
- package/dist/package.json +0 -35
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -7
- package/src/chart/Chart.stories.ts +0 -397
- package/src/chart/base/series-base.component.ts +0 -41
- package/src/chart/chart/chart.component.html +0 -5
- package/src/chart/chart/chart.component.scss +0 -6
- package/src/chart/chart/chart.component.spec.ts +0 -25
- package/src/chart/chart/chart.component.ts +0 -97
- package/src/chart/chart-container/chart-container.component.html +0 -78
- package/src/chart/chart-container/chart-container.component.scss +0 -15
- package/src/chart/chart-container/chart-container.component.spec.ts +0 -25
- package/src/chart/chart-container/chart-container.component.ts +0 -242
- package/src/chart/chart-container/gridlines/gridlines.component.html +0 -7
- package/src/chart/chart-container/gridlines/gridlines.component.scss +0 -8
- package/src/chart/chart-container/gridlines/gridlines.component.spec.ts +0 -25
- package/src/chart/chart-container/gridlines/gridlines.component.ts +0 -55
- package/src/chart/chart-container/plotband/plotband.component.html +0 -58
- package/src/chart/chart-container/plotband/plotband.component.scss +0 -13
- package/src/chart/chart-container/plotband/plotband.component.spec.ts +0 -25
- package/src/chart/chart-container/plotband/plotband.component.ts +0 -206
- package/src/chart/chart-container/plotline/plotline.component.html +0 -22
- package/src/chart/chart-container/plotline/plotline.component.scss +0 -6
- package/src/chart/chart-container/plotline/plotline.component.spec.ts +0 -25
- package/src/chart/chart-container/plotline/plotline.component.ts +0 -113
- package/src/chart/chart-container/series/bar/bar-series.component.html +0 -3
- package/src/chart/chart-container/series/bar/bar-series.component.scss +0 -0
- package/src/chart/chart-container/series/bar/bar-series.component.ts +0 -71
- package/src/chart/chart-container/series/line/line-series.component.html +0 -38
- package/src/chart/chart-container/series/line/line-series.component.scss +0 -9
- package/src/chart/chart-container/series/line/line-series.component.spec.ts +0 -25
- package/src/chart/chart-container/series/line/line-series.component.ts +0 -245
- package/src/chart/chart-container/series-host/series-host.component.ts +0 -80
- package/src/chart/chart-container/tooltip/tooltip.component.html +0 -14
- package/src/chart/chart-container/tooltip/tooltip.component.scss +0 -7
- package/src/chart/chart-container/tooltip/tooltip.component.spec.ts +0 -25
- package/src/chart/chart-container/tooltip/tooltip.component.ts +0 -134
- package/src/chart/chart-container/x-axis/x-axis.component.html +0 -1
- package/src/chart/chart-container/x-axis/x-axis.component.scss +0 -3
- package/src/chart/chart-container/x-axis/x-axis.component.spec.ts +0 -25
- package/src/chart/chart-container/x-axis/x-axis.component.ts +0 -80
- package/src/chart/chart-container/y-axis/y-axis.component.html +0 -4
- package/src/chart/chart-container/y-axis/y-axis.component.scss +0 -13
- package/src/chart/chart-container/y-axis/y-axis.component.spec.ts +0 -25
- package/src/chart/chart-container/y-axis/y-axis.component.ts +0 -90
- package/src/chart/chart.module.ts +0 -40
- package/src/chart/core/axis/axis.ts +0 -132
- package/src/chart/core/axis/builders/axis-size-builder.ts +0 -37
- package/src/chart/core/axis/builders/extremes-builder.ts +0 -45
- package/src/chart/core/axis/builders/public-api.ts +0 -2
- package/src/chart/core/utils/generate-ticks.ts +0 -14
- package/src/chart/core/utils/get-text-width.ts +0 -10
- package/src/chart/core/utils/public-api.ts +0 -2
- package/src/chart/default/default-chart-config.ts +0 -12
- package/src/chart/directives/brushable.directive.ts +0 -30
- package/src/chart/directives/zoomable.directive.ts +0 -31
- package/src/chart/legend/legend.component.html +0 -6
- package/src/chart/legend/legend.component.scss +0 -20
- package/src/chart/legend/legend.component.spec.ts +0 -25
- package/src/chart/legend/legend.component.ts +0 -35
- package/src/chart/model/axis-options.ts +0 -18
- package/src/chart/model/base-point.ts +0 -10
- package/src/chart/model/chart-bounds.ts +0 -18
- package/src/chart/model/enum/axis-orientation.ts +0 -4
- package/src/chart/model/enum/axis-type.ts +0 -7
- package/src/chart/model/enum/brush-type.ts +0 -5
- package/src/chart/model/enum/drag-point-type.ts +0 -5
- package/src/chart/model/enum/public-api.ts +0 -7
- package/src/chart/model/enum/series-type.ts +0 -4
- package/src/chart/model/enum/tooltip-tracking.ts +0 -4
- package/src/chart/model/enum/zoom-type.ts +0 -5
- package/src/chart/model/i-broadcast-message.ts +0 -5
- package/src/chart/model/i-builder.ts +0 -3
- package/src/chart/model/i-chart-config.ts +0 -33
- package/src/chart/model/i-chart-event.ts +0 -4
- package/src/chart/model/i-display-tooltip.ts +0 -7
- package/src/chart/model/i-drag-event.ts +0 -5
- package/src/chart/model/i-point-move.ts +0 -7
- package/src/chart/model/marker-options.ts +0 -8
- package/src/chart/model/plotband.ts +0 -45
- package/src/chart/model/plotline.ts +0 -29
- package/src/chart/model/public-api.ts +0 -14
- package/src/chart/model/series.ts +0 -18
- package/src/chart/model/svg-attributes.ts +0 -14
- package/src/chart/model/tooltip-options.ts +0 -37
- package/src/chart/service/axes.service.spec.ts +0 -16
- package/src/chart/service/axes.service.ts +0 -27
- package/src/chart/service/broadcast.service.spec.ts +0 -16
- package/src/chart/service/broadcast.service.ts +0 -24
- package/src/chart/service/brush.service.spec.ts +0 -16
- package/src/chart/service/brush.service.ts +0 -87
- package/src/chart/service/chart.service.spec.ts +0 -16
- package/src/chart/service/chart.service.ts +0 -100
- package/src/chart/service/scale.service.spec.ts +0 -16
- package/src/chart/service/scale.service.ts +0 -74
- package/src/chart/service/zoom.service.spec.ts +0 -16
- package/src/chart/service/zoom.service.ts +0 -153
- package/src/public-api.ts +0 -8
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { merge, takeWhile, tap } from 'rxjs';
|
|
4
|
-
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
|
-
export class YAxisComponent {
|
|
9
|
-
constructor(scaleService, chartService, cdr, zoomService) {
|
|
10
|
-
this.scaleService = scaleService;
|
|
11
|
-
this.chartService = chartService;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
this.zoomService = zoomService;
|
|
14
|
-
this._alive = true;
|
|
15
|
-
merge(this.zoomService.zoomed, this.chartService.size)
|
|
16
|
-
.pipe(takeWhile(() => this._alive), tap((_) => {
|
|
17
|
-
this.draw();
|
|
18
|
-
this.cdr.markForCheck();
|
|
19
|
-
}))
|
|
20
|
-
.subscribe();
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() { }
|
|
23
|
-
ngOnDestroy() {
|
|
24
|
-
this._alive = false;
|
|
25
|
-
}
|
|
26
|
-
ngAfterViewInit() {
|
|
27
|
-
this.draw();
|
|
28
|
-
}
|
|
29
|
-
getLabelTransform() {
|
|
30
|
-
return `translate(${this.axis.options.opposite
|
|
31
|
-
? this.axis.selfSize - 24
|
|
32
|
-
: -this.axis.selfSize + 24}, ${this.size.height / 2}) rotate(${this.axis.options.opposite ? '90' : '-90'})`;
|
|
33
|
-
}
|
|
34
|
-
draw() {
|
|
35
|
-
const scale = this.scaleService.yScales.get(this.axis.index);
|
|
36
|
-
const axis = this.axis.options.opposite
|
|
37
|
-
? d3
|
|
38
|
-
.axisRight(scale)
|
|
39
|
-
// .tickValues(this.axis.tickValues)
|
|
40
|
-
.tickFormat(this.axis.options.tickFormat ?? this.axis.defaultFormatter())
|
|
41
|
-
: d3
|
|
42
|
-
.axisLeft(scale)
|
|
43
|
-
// .tickValues(this.axis.tickValues)
|
|
44
|
-
.tickFormat(this.axis.options.tickFormat ?? this.axis.defaultFormatter());
|
|
45
|
-
d3.select(this.node.nativeElement)
|
|
46
|
-
.call(axis)
|
|
47
|
-
.call((_) => _.select('.domain').remove());
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
YAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: YAxisComponent, deps: [{ token: i1.ScaleService }, { token: i2.ChartService }, { token: i0.ChangeDetectorRef }, { token: i3.ZoomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
YAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: YAxisComponent, selector: "[teta-y-axis]", inputs: { axis: "axis", size: "size" }, viewQueries: [{ propertyName: "node", first: true, predicate: ["svg"], descendants: true }], ngImport: i0, template: "<svg:g #svg></svg:g>\n<svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text dy=\"-8px\" text-anchor=\"middle\" dominant-baseline=\"middle\">{{ axis.options.title }}</text>\n</svg:g>\n", styles: [":host{shape-rendering:crispEdges}::ng-deep .tick text{fill:var(--color-text-70)}::ng-deep .tick line{stroke:var(--color-text-20)}:host .label-axis{fill:var(--color-text-70)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: YAxisComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: '[teta-y-axis]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg:g #svg></svg:g>\n<svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text dy=\"-8px\" text-anchor=\"middle\" dominant-baseline=\"middle\">{{ axis.options.title }}</text>\n</svg:g>\n", styles: [":host{shape-rendering:crispEdges}::ng-deep .tick text{fill:var(--color-text-70)}::ng-deep .tick line{stroke:var(--color-text-20)}:host .label-axis{fill:var(--color-text-70)}\n"] }]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: i1.ScaleService }, { type: i2.ChartService }, { type: i0.ChangeDetectorRef }, { type: i3.ZoomService }]; }, propDecorators: { axis: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], size: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], node: [{
|
|
60
|
-
type: ViewChild,
|
|
61
|
-
args: ['svg']
|
|
62
|
-
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1heGlzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaGFydC9jaGFydC1jb250YWluZXIveS1heGlzL3ktYXhpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL3ktYXhpcy95LWF4aXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUl6QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUTdDLE1BQU0sT0FBTyxjQUFjO0lBT3pCLFlBQ1UsWUFBMEIsRUFDMUIsWUFBMEIsRUFDMUIsR0FBc0IsRUFDdEIsV0FBd0I7UUFIeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOMUIsV0FBTSxHQUFHLElBQUksQ0FBQztRQVFwQixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7YUFDbkQsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxhQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUU7WUFDekIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFDNUIsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUN0QyxHQUFHLENBQUM7SUFDTixDQUFDO0lBRU8sSUFBSTtRQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDckMsQ0FBQyxDQUFDLEVBQUU7aUJBQ0MsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDakIsb0NBQW9DO2lCQUNuQyxVQUFVLENBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FDN0Q7WUFDTCxDQUFDLENBQUMsRUFBRTtpQkFDQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUNoQixvQ0FBb0M7aUJBQ25DLFVBQVUsQ0FDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUM3RCxDQUFDO1FBRVIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7MkdBaEVVLGNBQWM7K0ZBQWQsY0FBYywwTEN4QjNCLCtOQUlBOzJGRG9CYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTt3TEFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDWSxJQUFJO3NCQUFyQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXhpcyB9IGZyb20gJy4uLy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFNjYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3pvb20uc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZSwgdGFrZVdoaWxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEteS1heGlzXScsXG4gIHRlbXBsYXRlVXJsOiAnLi95LWF4aXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi95LWF4aXMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFlBeGlzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBheGlzOiBBeGlzO1xuICBASW5wdXQoKSBzaXplOiBET01SZWN0O1xuICBAVmlld0NoaWxkKCdzdmcnKSBub2RlOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjYWxlU2VydmljZTogU2NhbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhcnRTZXJ2aWNlOiBDaGFydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlXG4gICkge1xuICAgIG1lcmdlKHRoaXMuem9vbVNlcnZpY2Uuem9vbWVkLCB0aGlzLmNoYXJ0U2VydmljZS5zaXplKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHRhcCgoXykgPT4ge1xuICAgICAgICAgIHRoaXMuZHJhdygpO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5kcmF3KCk7XG4gIH1cblxuICBnZXRMYWJlbFRyYW5zZm9ybSgpIHtcbiAgICByZXR1cm4gYHRyYW5zbGF0ZSgke1xuICAgICAgdGhpcy5heGlzLm9wdGlvbnMub3Bwb3NpdGVcbiAgICAgICAgPyB0aGlzLmF4aXMuc2VsZlNpemUgLSAyNFxuICAgICAgICA6IC10aGlzLmF4aXMuc2VsZlNpemUgKyAyNFxuICAgIH0sICR7dGhpcy5zaXplLmhlaWdodCAvIDJ9KSByb3RhdGUoJHtcbiAgICAgIHRoaXMuYXhpcy5vcHRpb25zLm9wcG9zaXRlID8gJzkwJyA6ICctOTAnXG4gICAgfSlgO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3KCkge1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZVNlcnZpY2UueVNjYWxlcy5nZXQodGhpcy5heGlzLmluZGV4KTtcblxuICAgIGNvbnN0IGF4aXMgPSB0aGlzLmF4aXMub3B0aW9ucy5vcHBvc2l0ZVxuICAgICAgPyBkM1xuICAgICAgICAgIC5heGlzUmlnaHQoc2NhbGUpXG4gICAgICAgICAgLy8gLnRpY2tWYWx1ZXModGhpcy5heGlzLnRpY2tWYWx1ZXMpXG4gICAgICAgICAgLnRpY2tGb3JtYXQoXG4gICAgICAgICAgICB0aGlzLmF4aXMub3B0aW9ucy50aWNrRm9ybWF0ID8/IHRoaXMuYXhpcy5kZWZhdWx0Rm9ybWF0dGVyKClcbiAgICAgICAgICApXG4gICAgICA6IGQzXG4gICAgICAgICAgLmF4aXNMZWZ0KHNjYWxlKVxuICAgICAgICAgIC8vIC50aWNrVmFsdWVzKHRoaXMuYXhpcy50aWNrVmFsdWVzKVxuICAgICAgICAgIC50aWNrRm9ybWF0KFxuICAgICAgICAgICAgdGhpcy5heGlzLm9wdGlvbnMudGlja0Zvcm1hdCA/PyB0aGlzLmF4aXMuZGVmYXVsdEZvcm1hdHRlcigpXG4gICAgICAgICAgKTtcblxuICAgIGQzLnNlbGVjdCh0aGlzLm5vZGUubmF0aXZlRWxlbWVudClcbiAgICAgIC5jYWxsKGF4aXMpXG4gICAgICAuY2FsbCgoXykgPT4gXy5zZWxlY3QoJy5kb21haW4nKS5yZW1vdmUoKSk7XG4gIH1cbn1cbiIsIjxzdmc6ZyAjc3ZnPjwvc3ZnOmc+XG48c3ZnOmcgY2xhc3M9XCJsYWJlbC1heGlzIGZvbnQtY2FwdGlvblwiIFthdHRyLnRyYW5zZm9ybV09XCJnZXRMYWJlbFRyYW5zZm9ybSgpXCI+XG4gIDx0ZXh0IGR5PVwiLThweFwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZG9taW5hbnQtYmFzZWxpbmU9XCJtaWRkbGVcIj57eyBheGlzLm9wdGlvbnMudGl0bGUgfX08L3RleHQ+XG48L3N2ZzpnPlxuIl19
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { AxisOrientation } from '../../model/enum/axis-orientation';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { AxisSizeBuilder, ExtremesBuilder } from './builders/public-api';
|
|
4
|
-
import { AxisType } from '../../model/enum/axis-type';
|
|
5
|
-
import { generateTicks } from '../utils/public-api';
|
|
6
|
-
export class Axis {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
this._extremes = [0, 0];
|
|
9
|
-
this.defaultFormatters = new Map()
|
|
10
|
-
.set(AxisType.number, d3.format(',.2f'))
|
|
11
|
-
.set(AxisType.time, d3.timeFormat('%B %d, %Y'))
|
|
12
|
-
.set(AxisType.log, d3.format(',.2f'));
|
|
13
|
-
this.chartConfig = config;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Factory for creating x,y axes
|
|
17
|
-
* @param {AxisOrientation} orientation
|
|
18
|
-
* Axis type
|
|
19
|
-
* @param {IChartConfig} config
|
|
20
|
-
* Chart config
|
|
21
|
-
* @param {number} index
|
|
22
|
-
* Index axis
|
|
23
|
-
* @return {Axis}
|
|
24
|
-
* New generated axis
|
|
25
|
-
*/
|
|
26
|
-
static createAxis(orientation, config, index) {
|
|
27
|
-
const axis = new Axis(config);
|
|
28
|
-
axis.setLocate(orientation);
|
|
29
|
-
axis.setIndex(index);
|
|
30
|
-
axis.setExtremes();
|
|
31
|
-
axis.setTicksValues();
|
|
32
|
-
axis.setSelfSize();
|
|
33
|
-
return axis;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* @param {orientation} orientation
|
|
38
|
-
* Set locate axis x or y
|
|
39
|
-
*/
|
|
40
|
-
setLocate(orientation) {
|
|
41
|
-
this._orientation = orientation;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
*
|
|
45
|
-
* @param {number | string} index
|
|
46
|
-
* Index axis
|
|
47
|
-
*/
|
|
48
|
-
setIndex(index) {
|
|
49
|
-
this._index = index;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @return {Array<Series<BasePoint>>}
|
|
53
|
-
* Linked series
|
|
54
|
-
*/
|
|
55
|
-
linkedSeries() {
|
|
56
|
-
const linkedFilter = (serie) => serie[this._orientation === AxisOrientation.y ? 'yAxisIndex' : 'xAxisIndex'] === this._index;
|
|
57
|
-
return this.chartConfig?.series.filter(linkedFilter);
|
|
58
|
-
}
|
|
59
|
-
setExtremes() {
|
|
60
|
-
const builder = new ExtremesBuilder();
|
|
61
|
-
this._extremes = builder.build(this);
|
|
62
|
-
this._extremes = d3.nice(this._extremes[0], this._extremes[1], 10);
|
|
63
|
-
}
|
|
64
|
-
setSelfSize() {
|
|
65
|
-
const builder = new AxisSizeBuilder();
|
|
66
|
-
this._selfSize = builder.build(this);
|
|
67
|
-
}
|
|
68
|
-
setTicksValues() {
|
|
69
|
-
const ticks = generateTicks(this._extremes);
|
|
70
|
-
this._ticksValues = ticks;
|
|
71
|
-
}
|
|
72
|
-
get extremes() {
|
|
73
|
-
return this._extremes;
|
|
74
|
-
}
|
|
75
|
-
get orientation() {
|
|
76
|
-
return this._orientation;
|
|
77
|
-
}
|
|
78
|
-
get selfSize() {
|
|
79
|
-
return this._selfSize;
|
|
80
|
-
}
|
|
81
|
-
get tickValues() {
|
|
82
|
-
return this._ticksValues;
|
|
83
|
-
}
|
|
84
|
-
get index() {
|
|
85
|
-
return this._index;
|
|
86
|
-
}
|
|
87
|
-
get options() {
|
|
88
|
-
return this.orientation === AxisOrientation.x
|
|
89
|
-
? this.chartConfig.xAxis[this.index]
|
|
90
|
-
: this.chartConfig.yAxis[this.index];
|
|
91
|
-
}
|
|
92
|
-
defaultFormatter() {
|
|
93
|
-
return this.defaultFormatters.get(this.options.type);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jaGFydC9jb3JlL2F4aXMvYXhpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sT0FBTyxJQUFJO0lBYWYsWUFBWSxNQUFvQjtRQVR4QixjQUFTLEdBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBSXJDLHNCQUFpQixHQUFHLElBQUksR0FBRyxFQUFpQjthQUNqRCxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBR3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsV0FBNEIsRUFDNUIsTUFBb0IsRUFDcEIsS0FBYTtRQUViLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssU0FBUyxDQUFDLFdBQTRCO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssUUFBUSxDQUFDLEtBQXNCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQ2hELEtBQUssQ0FDSCxJQUFJLENBQUMsWUFBWSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUN0RSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLGVBQWUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2hhcnRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBBeGlzT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9lbnVtL2F4aXMtb3JpZW50YXRpb24nO1xuaW1wb3J0IHsgU2VyaWVzIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VyaWVzJztcbmltcG9ydCB7IEJhc2VQb2ludCB9IGZyb20gJy4uLy4uL21vZGVsL2Jhc2UtcG9pbnQnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgQXhpc09wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9heGlzLW9wdGlvbnMnO1xuaW1wb3J0IHsgQXhpc1NpemVCdWlsZGVyLCBFeHRyZW1lc0J1aWxkZXIgfSBmcm9tICcuL2J1aWxkZXJzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXhpc1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbC9lbnVtL2F4aXMtdHlwZSc7XG5cbmltcG9ydCB7IGdlbmVyYXRlVGlja3MgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNsYXNzIEF4aXMge1xuICBwcml2YXRlIGNoYXJ0Q29uZmlnOiBJQ2hhcnRDb25maWc7XG4gIHByaXZhdGUgX29yaWVudGF0aW9uOiBBeGlzT3JpZW50YXRpb247XG4gIHByaXZhdGUgX2luZGV4OiBudW1iZXIgfCBzdHJpbmc7XG4gIHByaXZhdGUgX2V4dHJlbWVzOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuICBwcml2YXRlIF9zZWxmU2l6ZTogbnVtYmVyO1xuICBwcml2YXRlIF90aWNrc1ZhbHVlczogbnVtYmVyW107XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Rm9ybWF0dGVycyA9IG5ldyBNYXA8QXhpc1R5cGUsIGFueT4oKVxuICAgIC5zZXQoQXhpc1R5cGUubnVtYmVyLCBkMy5mb3JtYXQoJywuMmYnKSlcbiAgICAuc2V0KEF4aXNUeXBlLnRpbWUsIGQzLnRpbWVGb3JtYXQoJyVCICVkLCAlWScpKVxuICAgIC5zZXQoQXhpc1R5cGUubG9nLCBkMy5mb3JtYXQoJywuMmYnKSk7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ2hhcnRDb25maWcpIHtcbiAgICB0aGlzLmNoYXJ0Q29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhY3RvcnkgZm9yIGNyZWF0aW5nIHgseSBheGVzXG4gICAqIEBwYXJhbSB7QXhpc09yaWVudGF0aW9ufSBvcmllbnRhdGlvblxuICAgKiBBeGlzIHR5cGVcbiAgICogQHBhcmFtIHtJQ2hhcnRDb25maWd9IGNvbmZpZ1xuICAgKiBDaGFydCBjb25maWdcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gICAqIEluZGV4IGF4aXNcbiAgICogQHJldHVybiB7QXhpc31cbiAgICogTmV3IGdlbmVyYXRlZCBheGlzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNyZWF0ZUF4aXMoXG4gICAgb3JpZW50YXRpb246IEF4aXNPcmllbnRhdGlvbixcbiAgICBjb25maWc6IElDaGFydENvbmZpZyxcbiAgICBpbmRleDogbnVtYmVyXG4gICk6IEF4aXMge1xuICAgIGNvbnN0IGF4aXMgPSBuZXcgQXhpcyhjb25maWcpO1xuICAgIGF4aXMuc2V0TG9jYXRlKG9yaWVudGF0aW9uKTtcbiAgICBheGlzLnNldEluZGV4KGluZGV4KTtcbiAgICBheGlzLnNldEV4dHJlbWVzKCk7XG4gICAgYXhpcy5zZXRUaWNrc1ZhbHVlcygpO1xuICAgIGF4aXMuc2V0U2VsZlNpemUoKTtcblxuICAgIHJldHVybiBheGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7b3JpZW50YXRpb259IG9yaWVudGF0aW9uXG4gICAqIFNldCBsb2NhdGUgYXhpcyB4IG9yIHlcbiAgICovXG4gIHByaXZhdGUgc2V0TG9jYXRlKG9yaWVudGF0aW9uOiBBeGlzT3JpZW50YXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgc3RyaW5nfSBpbmRleFxuICAgKiBJbmRleCBheGlzXG4gICAqL1xuICBwcml2YXRlIHNldEluZGV4KGluZGV4OiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge0FycmF5PFNlcmllczxCYXNlUG9pbnQ+Pn1cbiAgICogTGlua2VkIHNlcmllc1xuICAgKi9cbiAgcHVibGljIGxpbmtlZFNlcmllcygpOiBBcnJheTxTZXJpZXM8QmFzZVBvaW50Pj4ge1xuICAgIGNvbnN0IGxpbmtlZEZpbHRlciA9IChzZXJpZTogU2VyaWVzPEJhc2VQb2ludD4pID0+XG4gICAgICBzZXJpZVtcbiAgICAgICAgdGhpcy5fb3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55ID8gJ3lBeGlzSW5kZXgnIDogJ3hBeGlzSW5kZXgnXG4gICAgICBdID09PSB0aGlzLl9pbmRleDtcblxuICAgIHJldHVybiB0aGlzLmNoYXJ0Q29uZmlnPy5zZXJpZXMuZmlsdGVyKGxpbmtlZEZpbHRlcik7XG4gIH1cblxuICBwcml2YXRlIHNldEV4dHJlbWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRXh0cmVtZXNCdWlsZGVyKCk7XG4gICAgdGhpcy5fZXh0cmVtZXMgPSBidWlsZGVyLmJ1aWxkKHRoaXMpO1xuXG4gICAgdGhpcy5fZXh0cmVtZXMgPSBkMy5uaWNlKHRoaXMuX2V4dHJlbWVzWzBdLCB0aGlzLl9leHRyZW1lc1sxXSwgMTApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZWxmU2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBidWlsZGVyID0gbmV3IEF4aXNTaXplQnVpbGRlcigpO1xuICAgIHRoaXMuX3NlbGZTaXplID0gYnVpbGRlci5idWlsZCh0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGlja3NWYWx1ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgdGlja3MgPSBnZW5lcmF0ZVRpY2tzKHRoaXMuX2V4dHJlbWVzKTtcbiAgICB0aGlzLl90aWNrc1ZhbHVlcyA9IHRpY2tzO1xuICB9XG5cbiAgZ2V0IGV4dHJlbWVzKCk6IEFycmF5PG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9leHRyZW1lcztcbiAgfVxuXG4gIGdldCBvcmllbnRhdGlvbigpOiBBeGlzT3JpZW50YXRpb24ge1xuICAgIHJldHVybiB0aGlzLl9vcmllbnRhdGlvbjtcbiAgfVxuXG4gIGdldCBzZWxmU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxmU2l6ZTtcbiAgfVxuXG4gIGdldCB0aWNrVmFsdWVzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGlja3NWYWx1ZXM7XG4gIH1cblxuICBnZXQgaW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKTogQXhpc09wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueFxuICAgICAgPyB0aGlzLmNoYXJ0Q29uZmlnLnhBeGlzW3RoaXMuaW5kZXhdXG4gICAgICA6IHRoaXMuY2hhcnRDb25maWcueUF4aXNbdGhpcy5pbmRleF07XG4gIH1cblxuICBwdWJsaWMgZGVmYXVsdEZvcm1hdHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Rm9ybWF0dGVycy5nZXQodGhpcy5vcHRpb25zLnR5cGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { AxisOrientation } from '../../../model/enum/axis-orientation';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
export class ExtremesBuilder {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.extentAccessorMap = new Map()
|
|
6
|
-
.set(AxisOrientation.x, (_) => _.x)
|
|
7
|
-
.set(AxisOrientation.y, (_) => _.y);
|
|
8
|
-
this.extremes = [0, 0];
|
|
9
|
-
}
|
|
10
|
-
build(settings) {
|
|
11
|
-
const options = settings.options;
|
|
12
|
-
const hasMin = options?.min != null;
|
|
13
|
-
const hasMax = options?.max != null;
|
|
14
|
-
if (!hasMin || !hasMax) {
|
|
15
|
-
const linkedSeries = settings.linkedSeries();
|
|
16
|
-
const data = linkedSeries.reduce((acc, current) => {
|
|
17
|
-
return acc.concat(current.data);
|
|
18
|
-
}, []);
|
|
19
|
-
const accessor = this.extentAccessorMap.get(settings.orientation);
|
|
20
|
-
// add negative axis!
|
|
21
|
-
this.extremes = d3.extent(data, accessor);
|
|
22
|
-
}
|
|
23
|
-
if (hasMin) {
|
|
24
|
-
this.extremes[0] = options?.min;
|
|
25
|
-
}
|
|
26
|
-
if (hasMax) {
|
|
27
|
-
this.extremes[1] = options?.max;
|
|
28
|
-
}
|
|
29
|
-
return this.extremes;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmVtZXMtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jaGFydC9jb3JlL2F4aXMvYnVpbGRlcnMvZXh0cmVtZXMtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkUsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFekIsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDVSxzQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFHaEM7YUFDQSxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlCLGFBQVEsR0FBcUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUE2QjlDLENBQUM7SUEzQkMsS0FBSyxDQUFDLFFBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQztRQUVwQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBZ0IsRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDN0QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFUCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRSxxQkFBcUI7WUFFckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMzQztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pLWJ1aWxkZXInO1xuaW1wb3J0IHsgQXhpcyB9IGZyb20gJy4uL2F4aXMnO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYmFzZS1wb2ludCc7XG5pbXBvcnQgeyBBeGlzT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lbnVtL2F4aXMtb3JpZW50YXRpb24nO1xuXG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5cbmV4cG9ydCBjbGFzcyBFeHRyZW1lc0J1aWxkZXIgaW1wbGVtZW50cyBJQnVpbGRlcjxBeGlzLCBbbnVtYmVyLCBudW1iZXJdPiB7XG4gIHByaXZhdGUgZXh0ZW50QWNjZXNzb3JNYXAgPSBuZXcgTWFwPFxuICAgIEF4aXNPcmllbnRhdGlvbixcbiAgICAocG9pbnQ6IEJhc2VQb2ludCkgPT4gbnVtYmVyXG4gID4oKVxuICAgIC5zZXQoQXhpc09yaWVudGF0aW9uLngsIChfKSA9PiBfLngpXG4gICAgLnNldChBeGlzT3JpZW50YXRpb24ueSwgKF8pID0+IF8ueSk7XG5cbiAgcHJpdmF0ZSBleHRyZW1lczogW251bWJlciwgbnVtYmVyXSA9IFswLCAwXTtcblxuICBidWlsZChzZXR0aW5nczogQXhpcyk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBzZXR0aW5ncy5vcHRpb25zO1xuXG4gICAgY29uc3QgaGFzTWluID0gb3B0aW9ucz8ubWluICE9IG51bGw7XG4gICAgY29uc3QgaGFzTWF4ID0gb3B0aW9ucz8ubWF4ICE9IG51bGw7XG5cbiAgICBpZiAoIWhhc01pbiB8fCAhaGFzTWF4KSB7XG4gICAgICBjb25zdCBsaW5rZWRTZXJpZXMgPSBzZXR0aW5ncy5saW5rZWRTZXJpZXMoKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBsaW5rZWRTZXJpZXMucmVkdWNlKChhY2M6IEJhc2VQb2ludFtdLCBjdXJyZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBhY2MuY29uY2F0KGN1cnJlbnQuZGF0YSk7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIGNvbnN0IGFjY2Vzc29yID0gdGhpcy5leHRlbnRBY2Nlc3Nvck1hcC5nZXQoc2V0dGluZ3Mub3JpZW50YXRpb24pO1xuICAgICAgLy8gYWRkIG5lZ2F0aXZlIGF4aXMhXG5cbiAgICAgIHRoaXMuZXh0cmVtZXMgPSBkMy5leHRlbnQoZGF0YSwgYWNjZXNzb3IpO1xuICAgIH1cblxuICAgIGlmIChoYXNNaW4pIHtcbiAgICAgIHRoaXMuZXh0cmVtZXNbMF0gPSBvcHRpb25zPy5taW47XG4gICAgfVxuXG4gICAgaWYgKGhhc01heCkge1xuICAgICAgdGhpcy5leHRyZW1lc1sxXSA9IG9wdGlvbnM/Lm1heDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZXh0cmVtZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Directive, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../service/zoom.service";
|
|
4
|
-
import * as i2 from "../service/chart.service";
|
|
5
|
-
export class ZoomableDirective {
|
|
6
|
-
constructor(element, svc, chartService) {
|
|
7
|
-
this.element = element;
|
|
8
|
-
this.svc = svc;
|
|
9
|
-
this.chartService = chartService;
|
|
10
|
-
this.zoomable = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
if (this.config?.zoom?.enable || this.axis?.options?.zoom) {
|
|
14
|
-
this.zoomable = true;
|
|
15
|
-
this.svc.applyZoom(this.element, this.chartService.config, this.size);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
ngAfterViewInit() { }
|
|
19
|
-
}
|
|
20
|
-
ZoomableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ZoomableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ZoomService }, { token: i2.ChartService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
ZoomableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: ZoomableDirective, selector: "[tetaZoomable]", inputs: { config: "config", axis: "axis", size: "size" }, host: { properties: { "class.zoomable": "this.zoomable" } }, ngImport: i0 });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ZoomableDirective, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[tetaZoomable]',
|
|
26
|
-
}]
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ZoomService }, { type: i2.ChartService }]; }, propDecorators: { config: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], axis: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], size: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], zoomable: [{
|
|
34
|
-
type: HostBinding,
|
|
35
|
-
args: ['class.zoomable']
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVMxRSxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQ1UsT0FBbUIsRUFDbkIsR0FBZ0IsRUFDaEIsWUFBMEI7UUFGMUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTEcsYUFBUSxHQUFHLEtBQUssQ0FBQztJQU1yRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFDRCxlQUFlLEtBQUksQ0FBQzs7OEdBcEJULGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7c0pBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRWlDLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7IElDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IEF4aXMgfSBmcm9tICcuLi9jb3JlL2F4aXMvYXhpcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZXRhWm9vbWFibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgWm9vbWFibGVEaXJlY3RpdmUge1xuICBASW5wdXQoKSBjb25maWc/OiBJQ2hhcnRDb25maWc7XG4gIEBJbnB1dCgpIGF4aXM/OiBBeGlzO1xuICBASW5wdXQoKSBzaXplPzogRE9NUmVjdDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnpvb21hYmxlJykgcHJpdmF0ZSB6b29tYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHN2YzogWm9vbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFydFNlcnZpY2U6IENoYXJ0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy56b29tPy5lbmFibGUgfHwgdGhpcy5heGlzPy5vcHRpb25zPy56b29tKSB7XG4gICAgICB0aGlzLnpvb21hYmxlID0gdHJ1ZTtcblxuICAgICAgdGhpcy5zdmMuYXBwbHlab29tKHRoaXMuZWxlbWVudCwgdGhpcy5jaGFydFNlcnZpY2UuY29uZmlnLCB0aGlzLnNpemUpO1xuICAgIH1cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7fVxufVxuIl19
|
|
@@ -1,30 +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 "@angular/common";
|
|
5
|
-
export class LegendComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.sizeMapping = new Map()
|
|
8
|
-
.set(SeriesType.line, 2)
|
|
9
|
-
.set(SeriesType.bar, 12);
|
|
10
|
-
this.classLegend = true;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.series = this.series?.filter((_) => _.showInLegend !== false);
|
|
14
|
-
}
|
|
15
|
-
getHeight(serie) {
|
|
16
|
-
return this.sizeMapping.get(serie.type);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
LegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
LegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: LegendComponent, selector: "teta-legend", inputs: { series: "series" }, host: { properties: { "class.padding-bottom-4": "this.classLegend" } }, ngImport: i0, template: "<div *ngFor=\"let serie of series\">\n <div class=\"legend-item\">\n <div class=\"legend-icon-form\" [style.height.px]=\"getHeight(serie)\" [style.background-color]=\"serie.color\"></div>\n <div class=\"legend-label\">{{ serie.name }}</div>\n </div>\n</div>\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"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LegendComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'teta-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngFor=\"let serie of series\">\n <div class=\"legend-item\">\n <div class=\"legend-icon-form\" [style.height.px]=\"getHeight(serie)\" [style.background-color]=\"serie.color\"></div>\n <div class=\"legend-label\">{{ serie.name }}</div>\n </div>\n</div>\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"] }]
|
|
24
|
-
}], ctorParameters: function () { return []; }, propDecorators: { series: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], classLegend: [{
|
|
27
|
-
type: HostBinding,
|
|
28
|
-
args: ['class.padding-bottom-4']
|
|
29
|
-
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFRdkQsTUFBTSxPQUFPLGVBQWU7SUFRMUI7UUFQUSxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFzQjthQUNoRCxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHWSxnQkFBVyxHQUFHLElBQUksQ0FBQztJQUUzQyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBd0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7NEdBaEJVLGVBQWU7Z0dBQWYsZUFBZSx5SkNqQjVCLDZRQU1BOzJGRFdhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzBFQU90QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ2lDLFdBQVc7c0JBQWpELFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VyaWVzIH0gZnJvbSAnLi4vbW9kZWwvc2VyaWVzJztcbmltcG9ydCB7IEJhc2VQb2ludCB9IGZyb20gJy4uL21vZGVsL2Jhc2UtcG9pbnQnO1xuaW1wb3J0IHsgU2VyaWVzVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vc2VyaWVzLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWxlZ2VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc2l6ZU1hcHBpbmcgPSBuZXcgTWFwPFNlcmllc1R5cGUsIG51bWJlcj4oKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5saW5lLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5iYXIsIDEyKTtcblxuICBASW5wdXQoKSBzZXJpZXM6IEFycmF5PFNlcmllczxCYXNlUG9pbnQ+PjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWRkaW5nLWJvdHRvbS00JykgY2xhc3NMZWdlbmQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcmllcyA9IHRoaXMuc2VyaWVzPy5maWx0ZXIoKF8pID0+IF8uc2hvd0luTGVnZW5kICE9PSBmYWxzZSk7XG4gIH1cblxuICBnZXRIZWlnaHQoc2VyaWU6IFNlcmllczxCYXNlUG9pbnQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZU1hcHBpbmcuZ2V0KHNlcmllLnR5cGUpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBzZXJpZSBvZiBzZXJpZXNcIj5cbiAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pY29uLWZvcm1cIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldEhlaWdodChzZXJpZSlcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzZXJpZS5jb2xvclwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtbGFiZWxcIj57eyBzZXJpZS5uYW1lIH19PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L21vZGVsL2F4aXMtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXhpc1R5cGUgfSBmcm9tICcuL2VudW0vYXhpcy10eXBlJztcbmltcG9ydCB7IFBsb3RiYW5kIH0gZnJvbSAnLi9wbG90YmFuZCc7XG5pbXBvcnQgeyBQbG90TGluZSB9IGZyb20gJy4vcGxvdGxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF4aXNPcHRpb25zIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgdGlja0Zvcm1hdD86IChkOiBhbnkpID0+IHN0cmluZztcbiAgdHlwZT86IEF4aXNUeXBlO1xuICB6b29tPzogYm9vbGVhbjtcbiAgaW52ZXJ0ZWQ/OiBib29sZWFuO1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIG9wcG9zaXRlPzogYm9vbGVhbjtcbiAgcGxvdGJhbmRzPzogUGxvdGJhbmRbXTtcbiAgcGxvdGxpbmVzPzogUGxvdExpbmVbXTtcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export var AxisType;
|
|
2
|
-
(function (AxisType) {
|
|
3
|
-
AxisType[AxisType["number"] = 0] = "number";
|
|
4
|
-
AxisType[AxisType["time"] = 1] = "time";
|
|
5
|
-
AxisType[AxisType["category"] = 2] = "category";
|
|
6
|
-
AxisType[AxisType["log"] = 3] = "log";
|
|
7
|
-
AxisType[AxisType["pow"] = 4] = "pow";
|
|
8
|
-
})(AxisType || (AxisType = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L21vZGVsL2VudW0vYXhpcy10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFFBTVg7QUFORCxXQUFZLFFBQVE7SUFDbEIsMkNBQU0sQ0FBQTtJQUNOLHVDQUFJLENBQUE7SUFDSiwrQ0FBUSxDQUFBO0lBQ1IscUNBQUcsQ0FBQTtJQUNILHFDQUFHLENBQUE7QUFDTCxDQUFDLEVBTlcsUUFBUSxLQUFSLFFBQVEsUUFNbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBeGlzVHlwZSB7XG4gIG51bWJlcixcbiAgdGltZSxcbiAgY2F0ZWdvcnksXG4gIGxvZyxcbiAgcG93LFxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1icm9hZGNhc3QtbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElCcm9hZGNhc3RNZXNzYWdlIHtcbiAgY2hhbm5lbDogc3RyaW5nO1xuICBtZXNzYWdlOiBhbnk7XG4gIGRvbWFpbj86IG51bWJlcltdO1xufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export class Plotband {
|
|
2
|
-
constructor(options) {
|
|
3
|
-
this.id = options?.id;
|
|
4
|
-
this.from = options?.from;
|
|
5
|
-
this.to = options?.to;
|
|
6
|
-
this.label = options?.label;
|
|
7
|
-
this.showGrabbers =
|
|
8
|
-
options?.showGrabbers != null ? options.showGrabbers : true;
|
|
9
|
-
this.draggable = options?.draggable != null ? options?.draggable : false;
|
|
10
|
-
this.resizable = options?.resizable != null ? options?.resizable : true;
|
|
11
|
-
this.min = options?.min;
|
|
12
|
-
this.max = options?.max;
|
|
13
|
-
this.style = options?.style;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdGJhbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvbW9kZWwvcGxvdGJhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFlbkIsWUFBWSxPQWNYO1FBQ0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZO1lBQ2YsT0FBTyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekUsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN2Z0F0dHJpYnV0ZXMgfSBmcm9tICcuL3N2Zy1hdHRyaWJ1dGVzJztcblxuZXhwb3J0IGNsYXNzIFBsb3RiYW5kIHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgZnJvbTogbnVtYmVyO1xuICB0bzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgc2hvd0dyYWJiZXJzPzogYm9vbGVhbjtcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHN0eWxlPzoge1xuICAgIHBsb3RiYW5kPzogU3ZnQXR0cmlidXRlcztcbiAgICBncmFiYmVycz86IFN2Z0F0dHJpYnV0ZXM7XG4gIH07XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IHtcbiAgICBpZDogYW55O1xuICAgIGZyb206IG51bWJlcjtcbiAgICB0bzogbnVtYmVyO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIHNob3dHcmFiYmVycz86IGJvb2xlYW47XG4gICAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgICByZXNpemFibGU/OiBib29sZWFuO1xuICAgIG1pbj86IG51bWJlcjtcbiAgICBtYXg/OiBudW1iZXI7XG4gICAgc3R5bGU/OiB7XG4gICAgICBwbG90YmFuZD86IFN2Z0F0dHJpYnV0ZXM7XG4gICAgICBncmFiYmVycz86IFN2Z0F0dHJpYnV0ZXM7XG4gICAgfTtcbiAgfSkge1xuICAgIHRoaXMuaWQgPSBvcHRpb25zPy5pZDtcbiAgICB0aGlzLmZyb20gPSBvcHRpb25zPy5mcm9tO1xuICAgIHRoaXMudG8gPSBvcHRpb25zPy50bztcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucz8ubGFiZWw7XG4gICAgdGhpcy5zaG93R3JhYmJlcnMgPVxuICAgICAgb3B0aW9ucz8uc2hvd0dyYWJiZXJzICE9IG51bGwgPyBvcHRpb25zLnNob3dHcmFiYmVycyA6IHRydWU7XG4gICAgdGhpcy5kcmFnZ2FibGUgPSBvcHRpb25zPy5kcmFnZ2FibGUgIT0gbnVsbCA/IG9wdGlvbnM/LmRyYWdnYWJsZSA6IGZhbHNlO1xuICAgIHRoaXMucmVzaXphYmxlID0gb3B0aW9ucz8ucmVzaXphYmxlICE9IG51bGwgPyBvcHRpb25zPy5yZXNpemFibGUgOiB0cnVlO1xuICAgIHRoaXMubWluID0gb3B0aW9ucz8ubWluO1xuICAgIHRoaXMubWF4ID0gb3B0aW9ucz8ubWF4O1xuICAgIHRoaXMuc3R5bGUgPSBvcHRpb25zPy5zdHlsZTtcbiAgfVxufVxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export class PlotLine {
|
|
2
|
-
constructor(options) {
|
|
3
|
-
this.id = options?.id;
|
|
4
|
-
this.value = options?.value;
|
|
5
|
-
this.label = options?.label;
|
|
6
|
-
this.min = options?.min;
|
|
7
|
-
this.max = options?.max;
|
|
8
|
-
this.draggable = options?.draggable;
|
|
9
|
-
this.style = options?.style;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvdGxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvbW9kZWwvcGxvdGxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFTbkIsWUFBWSxPQVFYO1FBQ0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN2Z0F0dHJpYnV0ZXMgfSBmcm9tICcuL3N2Zy1hdHRyaWJ1dGVzJztcblxuZXhwb3J0IGNsYXNzIFBsb3RMaW5lIHtcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdmdBdHRyaWJ1dGVzO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBtaW4/OiBudW1iZXI7XG4gICAgbWF4PzogbnVtYmVyO1xuICAgIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gICAgc3R5bGU/OiBTdmdBdHRyaWJ1dGVzO1xuICB9KSB7XG4gICAgdGhpcy5pZCA9IG9wdGlvbnM/LmlkO1xuICAgIHRoaXMudmFsdWUgPSBvcHRpb25zPy52YWx1ZTtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucz8ubGFiZWw7XG4gICAgdGhpcy5taW4gPSBvcHRpb25zPy5taW47XG4gICAgdGhpcy5tYXggPSBvcHRpb25zPy5tYXg7XG4gICAgdGhpcy5kcmFnZ2FibGUgPSBvcHRpb25zPy5kcmFnZ2FibGU7XG4gICAgdGhpcy5zdHlsZSA9IG9wdGlvbnM/LnN0eWxlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AxisOrientation } from '../model/enum/axis-orientation';
|
|
3
|
-
import { Axis } from '../core/axis/axis';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AxesService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.yAxis = new Map();
|
|
8
|
-
this.xAxis = new Map();
|
|
9
|
-
}
|
|
10
|
-
init(config) {
|
|
11
|
-
config?.yAxis.forEach((_, index) => {
|
|
12
|
-
const axis = Axis.createAxis(AxisOrientation.y, config, index);
|
|
13
|
-
this.yAxis.set(index, axis);
|
|
14
|
-
});
|
|
15
|
-
config?.xAxis.forEach((_, index) => {
|
|
16
|
-
const axis = Axis.createAxis(AxisOrientation.x, config, index);
|
|
17
|
-
this.xAxis.set(index, axis);
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
AxesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AxesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
-
AxesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AxesService, providedIn: 'root' });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AxesService, decorators: [{
|
|
24
|
-
type: Injectable,
|
|
25
|
-
args: [{
|
|
26
|
-
providedIn: 'root',
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: function () { return []; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L3NlcnZpY2UvYXhlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLekMsTUFBTSxPQUFPLFdBQVc7SUFJdEI7UUFITyxVQUFLLEdBQXNCLElBQUksR0FBRyxFQUFnQixDQUFDO1FBQ25ELFVBQUssR0FBc0IsSUFBSSxHQUFHLEVBQWdCLENBQUM7SUFFM0MsQ0FBQztJQUVoQixJQUFJLENBQUMsTUFBb0I7UUFDdkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUUvRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRS9ELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dHQWpCVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXJ0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuaW1wb3J0IHsgQXhpc09yaWVudGF0aW9uIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7IEF4aXMgfSBmcm9tICcuLi9jb3JlL2F4aXMvYXhpcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBeGVzU2VydmljZSB7XG4gIHB1YmxpYyB5QXhpczogTWFwPG51bWJlciwgQXhpcz4gPSBuZXcgTWFwPG51bWJlciwgQXhpcz4oKTtcbiAgcHVibGljIHhBeGlzOiBNYXA8bnVtYmVyLCBBeGlzPiA9IG5ldyBNYXA8bnVtYmVyLCBBeGlzPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBpbml0KGNvbmZpZzogSUNoYXJ0Q29uZmlnKSB7XG4gICAgY29uZmlnPy55QXhpcy5mb3JFYWNoKChfLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgYXhpcyA9IEF4aXMuY3JlYXRlQXhpcyhBeGlzT3JpZW50YXRpb24ueSwgY29uZmlnLCBpbmRleCk7XG5cbiAgICAgIHRoaXMueUF4aXMuc2V0KGluZGV4LCBheGlzKTtcbiAgICB9KTtcbiAgICBjb25maWc/LnhBeGlzLmZvckVhY2goKF8sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBheGlzID0gQXhpcy5jcmVhdGVBeGlzKEF4aXNPcmllbnRhdGlvbi54LCBjb25maWcsIGluZGV4KTtcblxuICAgICAgdGhpcy54QXhpcy5zZXQoaW5kZXgsIGF4aXMpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { filter, Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BroadcastService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.emitter = new Subject();
|
|
7
|
-
}
|
|
8
|
-
broadcast(value) {
|
|
9
|
-
this.emitter.next(value);
|
|
10
|
-
}
|
|
11
|
-
subscribeToChannel(channel) {
|
|
12
|
-
return this.emitter
|
|
13
|
-
.asObservable()
|
|
14
|
-
.pipe(filter((msg) => channel && msg.channel === channel));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
BroadcastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
-
BroadcastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BroadcastService, providedIn: 'root' });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BroadcastService, decorators: [{
|
|
20
|
-
type: Injectable,
|
|
21
|
-
args: [{
|
|
22
|
-
providedIn: 'root',
|
|
23
|
-
}]
|
|
24
|
-
}], ctorParameters: function () { return []; } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvc2VydmljZS9icm9hZGNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs2R0FmVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElCcm9hZGNhc3RNZXNzYWdlIH0gZnJvbSAnLi4vbW9kZWwvaS1icm9hZGNhc3QtbWVzc2FnZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJyb2FkY2FzdFNlcnZpY2Uge1xuICBwcml2YXRlIGVtaXR0ZXI6IFN1YmplY3Q8SUJyb2FkY2FzdE1lc3NhZ2U+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZW1pdHRlciA9IG5ldyBTdWJqZWN0PElCcm9hZGNhc3RNZXNzYWdlPigpO1xuICB9XG5cbiAgYnJvYWRjYXN0KHZhbHVlOiBJQnJvYWRjYXN0TWVzc2FnZSkge1xuICAgIHRoaXMuZW1pdHRlci5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHN1YnNjcmliZVRvQ2hhbm5lbChjaGFubmVsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm9hZGNhc3RNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZW1pdHRlclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShmaWx0ZXIoKG1zZykgPT4gY2hhbm5lbCAmJiBtc2cuY2hhbm5lbCA9PT0gY2hhbm5lbCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BrushType } from '../model/enum/brush-type';
|
|
3
|
-
import * as d3 from 'd3';
|
|
4
|
-
import { map } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./broadcast.service";
|
|
7
|
-
import * as i2 from "./scale.service";
|
|
8
|
-
export class BrushService {
|
|
9
|
-
constructor(broadcastService, scaleService) {
|
|
10
|
-
this.broadcastService = broadcastService;
|
|
11
|
-
this.scaleService = scaleService;
|
|
12
|
-
this.brushMap = new Map()
|
|
13
|
-
.set(BrushType.x, d3.brushX())
|
|
14
|
-
.set(BrushType.y, d3.brushY());
|
|
15
|
-
this.scaleMap = new Map()
|
|
16
|
-
.set(BrushType.x, 'xScales')
|
|
17
|
-
.set(BrushType.y, 'yScales');
|
|
18
|
-
}
|
|
19
|
-
applyBrush(svgElement, config, size) {
|
|
20
|
-
this.broadcastSubscribtion?.unsubscribe();
|
|
21
|
-
if (config.brush?.enable) {
|
|
22
|
-
const s = this.scaleService[this.scaleMap.get(config?.brush?.type ?? BrushType.x)].get(config?.brush?.axisIndex ?? 0);
|
|
23
|
-
const brush = this.brushMap.get(config?.brush?.type ?? BrushType.x);
|
|
24
|
-
const container = d3.select(svgElement.nativeElement);
|
|
25
|
-
const brushBehavior = brush.on('start brush end', (_) => {
|
|
26
|
-
if (_.sourceEvent) {
|
|
27
|
-
const [from, to] = _.selection;
|
|
28
|
-
if (to - from < 5) {
|
|
29
|
-
container.call(brush.move, [from, to]);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
this.broadcastService.broadcast({
|
|
33
|
-
channel: config?.zoom?.syncChannel,
|
|
34
|
-
message: {
|
|
35
|
-
..._,
|
|
36
|
-
selection: [s.invert(from), s.invert(to)],
|
|
37
|
-
brushType: config?.brush?.type ?? BrushType.x,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
container.call(brushBehavior);
|
|
43
|
-
setTimeout(() => {
|
|
44
|
-
container.call(brush.move, s.domain().map(s), {});
|
|
45
|
-
});
|
|
46
|
-
this.broadcastSubscribtion = this.broadcastService
|
|
47
|
-
.subscribeToChannel(config?.zoom?.syncChannel)
|
|
48
|
-
.pipe(map((_) => {
|
|
49
|
-
if (_.message?.transform) {
|
|
50
|
-
const s = this.scaleService[this.scaleMap.get(config?.brush?.type ?? BrushType.x)].get(config?.brush?.axisIndex ?? 0);
|
|
51
|
-
const domain = _.domain;
|
|
52
|
-
container.call(brush.move, [s(domain[0]), s(domain[1])]);
|
|
53
|
-
}
|
|
54
|
-
}))
|
|
55
|
-
.subscribe();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
BrushService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BrushService, deps: [{ token: i1.BroadcastService }, { token: i2.ScaleService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
-
BrushService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BrushService, providedIn: 'root' });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BrushService, decorators: [{
|
|
62
|
-
type: Injectable,
|
|
63
|
-
args: [{
|
|
64
|
-
providedIn: 'root',
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.BroadcastService }, { type: i2.ScaleService }]; } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJ1c2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9zZXJ2aWNlL2JydXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFRekMsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFDVSxnQkFBa0MsRUFDbEMsWUFBMEI7UUFEMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVY1QixhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQW9DO2FBQzNELEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM3QixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUV6QixhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXFCO2FBQzVDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQzthQUMzQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUs1QixDQUFDO0lBRUosVUFBVSxDQUFDLFVBQXNCLEVBQUUsTUFBb0IsRUFBRSxJQUFhO1FBQ3BFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUUxQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDdEQsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXRELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQzVCLGlCQUFpQixFQUNqQixDQUFDLENBQXVCLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO29CQUNqQixNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFxQixDQUFDO29CQUUzQyxJQUFJLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFO3dCQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsT0FBTztxQkFDUjtvQkFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO3dCQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXO3dCQUNsQyxPQUFPLEVBQUU7NEJBQ1AsR0FBRyxDQUFDOzRCQUNKLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDekMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDO3lCQUM5QztxQkFDRixDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQ0YsQ0FBQztZQUVGLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2lCQUMvQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQztpQkFDN0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNSLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7b0JBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDdEQsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBRXJDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBRXhCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMxRDtZQUNILENBQUMsQ0FBQyxDQUNIO2lCQUNBLFNBQVMsRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQzs7eUdBMUVVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcnVzaFR5cGUgfSBmcm9tICcuLi9tb2RlbC9lbnVtL2JydXNoLXR5cGUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyb2FkY2FzdFNlcnZpY2UgfSBmcm9tICcuL2Jyb2FkY2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IFNjYWxlU2VydmljZSB9IGZyb20gJy4vc2NhbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCcnVzaFNlcnZpY2Uge1xuICBicm9hZGNhc3RTdWJzY3JpYnRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIGJydXNoTWFwID0gbmV3IE1hcDxCcnVzaFR5cGUsIGQzLkJydXNoQmVoYXZpb3I8YW55Pj4oKVxuICAgIC5zZXQoQnJ1c2hUeXBlLngsIGQzLmJydXNoWCgpKVxuICAgIC5zZXQoQnJ1c2hUeXBlLnksIGQzLmJydXNoWSgpKTtcblxuICBwcml2YXRlIHNjYWxlTWFwID0gbmV3IE1hcDxCcnVzaFR5cGUsIHN0cmluZz4oKVxuICAgIC5zZXQoQnJ1c2hUeXBlLngsICd4U2NhbGVzJylcbiAgICAuc2V0KEJydXNoVHlwZS55LCAneVNjYWxlcycpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZTogQnJvYWRjYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHNjYWxlU2VydmljZTogU2NhbGVTZXJ2aWNlXG4gICkge31cblxuICBhcHBseUJydXNoKHN2Z0VsZW1lbnQ6IEVsZW1lbnRSZWYsIGNvbmZpZzogSUNoYXJ0Q29uZmlnLCBzaXplOiBET01SZWN0KSB7XG4gICAgdGhpcy5icm9hZGNhc3RTdWJzY3JpYnRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoY29uZmlnLmJydXNoPy5lbmFibGUpIHtcbiAgICAgIGNvbnN0IHMgPSB0aGlzLnNjYWxlU2VydmljZVtcbiAgICAgICAgdGhpcy5zY2FsZU1hcC5nZXQoY29uZmlnPy5icnVzaD8udHlwZSA/PyBCcnVzaFR5cGUueClcbiAgICAgIF0uZ2V0KGNvbmZpZz8uYnJ1c2g/LmF4aXNJbmRleCA/PyAwKTtcblxuICAgICAgY29uc3QgYnJ1c2ggPSB0aGlzLmJydXNoTWFwLmdldChjb25maWc/LmJydXNoPy50eXBlID8/IEJydXNoVHlwZS54KTtcblxuICAgICAgY29uc3QgY29udGFpbmVyID0gZDMuc2VsZWN0KHN2Z0VsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIGNvbnN0IGJydXNoQmVoYXZpb3IgPSBicnVzaC5vbihcbiAgICAgICAgJ3N0YXJ0IGJydXNoIGVuZCcsXG4gICAgICAgIChfOiBkMy5EM0JydXNoRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgIGlmIChfLnNvdXJjZUV2ZW50KSB7XG4gICAgICAgICAgICBjb25zdCBbZnJvbSwgdG9dID0gXy5zZWxlY3Rpb24gYXMgbnVtYmVyW107XG5cbiAgICAgICAgICAgIGlmICh0byAtIGZyb20gPCA1KSB7XG4gICAgICAgICAgICAgIGNvbnRhaW5lci5jYWxsKGJydXNoLm1vdmUsIFtmcm9tLCB0b10pO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5icm9hZGNhc3Qoe1xuICAgICAgICAgICAgICBjaGFubmVsOiBjb25maWc/Lnpvb20/LnN5bmNDaGFubmVsLFxuICAgICAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICAgICAgLi4uXyxcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb246IFtzLmludmVydChmcm9tKSwgcy5pbnZlcnQodG8pXSxcbiAgICAgICAgICAgICAgICBicnVzaFR5cGU6IGNvbmZpZz8uYnJ1c2g/LnR5cGUgPz8gQnJ1c2hUeXBlLngsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGNvbnRhaW5lci5jYWxsKGJydXNoQmVoYXZpb3IpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29udGFpbmVyLmNhbGwoYnJ1c2gubW92ZSwgcy5kb21haW4oKS5tYXAocyksIHt9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmJyb2FkY2FzdFN1YnNjcmlidGlvbiA9IHRoaXMuYnJvYWRjYXN0U2VydmljZVxuICAgICAgICAuc3Vic2NyaWJlVG9DaGFubmVsKGNvbmZpZz8uem9vbT8uc3luY0NoYW5uZWwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoXykgPT4ge1xuICAgICAgICAgICAgaWYgKF8ubWVzc2FnZT8udHJhbnNmb3JtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHMgPSB0aGlzLnNjYWxlU2VydmljZVtcbiAgICAgICAgICAgICAgICB0aGlzLnNjYWxlTWFwLmdldChjb25maWc/LmJydXNoPy50eXBlID8/IEJydXNoVHlwZS54KVxuICAgICAgICAgICAgICBdLmdldChjb25maWc/LmJydXNoPy5heGlzSW5kZXggPz8gMCk7XG5cbiAgICAgICAgICAgICAgY29uc3QgZG9tYWluID0gXy5kb21haW47XG5cbiAgICAgICAgICAgICAgY29udGFpbmVyLmNhbGwoYnJ1c2gubW92ZSwgW3MoZG9tYWluWzBdKSwgcyhkb21haW5bMV0pXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { map, Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./axes.service";
|
|
5
|
-
import * as i2 from "./scale.service";
|
|
6
|
-
export class ChartService {
|
|
7
|
-
constructor(axesService, scaleService) {
|
|
8
|
-
this.axesService = axesService;
|
|
9
|
-
this.scaleService = scaleService;
|
|
10
|
-
this.size$ = new Subject();
|
|
11
|
-
this.pointerMove$ = new Subject();
|
|
12
|
-
this.tooltips$ = new Subject();
|
|
13
|
-
this.plotbandMove$ = new Subject();
|
|
14
|
-
this.plotlineMove$ = new Subject();
|
|
15
|
-
this.pointMove$ = new Subject();
|
|
16
|
-
this.size = this.size$.asObservable();
|
|
17
|
-
this.pointerMove = this.pointerMove$.asObservable();
|
|
18
|
-
this.tooltips = this.tooltips$.asObservable();
|
|
19
|
-
this.plotbandMove = this.plotbandMove$.asObservable();
|
|
20
|
-
this.plotlineMove = this.plotlineMove$.asObservable();
|
|
21
|
-
this.pointMove = this.pointMove$.asObservable();
|
|
22
|
-
this.size
|
|
23
|
-
.pipe(map((size) => {
|
|
24
|
-
this.scaleService.createScales(size, this._config);
|
|
25
|
-
}))
|
|
26
|
-
.subscribe();
|
|
27
|
-
}
|
|
28
|
-
init(config) {
|
|
29
|
-
this._config = config;
|
|
30
|
-
if (config.inverted) {
|
|
31
|
-
this._config.series = this._config?.series?.map((serie) => {
|
|
32
|
-
return {
|
|
33
|
-
...serie,
|
|
34
|
-
data: serie?.data?.map((point) => {
|
|
35
|
-
return {
|
|
36
|
-
...point,
|
|
37
|
-
x: point?.y,
|
|
38
|
-
y: point?.x,
|
|
39
|
-
};
|
|
40
|
-
}),
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
this.axesService.init(this._config);
|
|
45
|
-
}
|
|
46
|
-
setSize(size) {
|
|
47
|
-
this.size$.next(size);
|
|
48
|
-
}
|
|
49
|
-
setPointerMove(event) {
|
|
50
|
-
this.pointerMove$.next({ event });
|
|
51
|
-
}
|
|
52
|
-
setTooltip(tooltip) {
|
|
53
|
-
this.tooltips$.next(tooltip);
|
|
54
|
-
}
|
|
55
|
-
emitPlotband(event) {
|
|
56
|
-
this.plotbandMove$.next(event);
|
|
57
|
-
}
|
|
58
|
-
emitPlotline(event) {
|
|
59
|
-
this.plotlineMove$.next(event);
|
|
60
|
-
}
|
|
61
|
-
emitPoint(event) {
|
|
62
|
-
this.pointMove$.next(event);
|
|
63
|
-
}
|
|
64
|
-
get config() {
|
|
65
|
-
return this._config;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
ChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ChartService, deps: [{ token: i1.AxesService }, { token: i2.ScaleService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
-
ChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ChartService, providedIn: 'root' });
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ChartService, decorators: [{
|
|
71
|
-
type: Injectable,
|
|
72
|
-
args: [{
|
|
73
|
-
providedIn: 'root',
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: function () { return [{ type: i1.AxesService }, { type: i2.ScaleService }]; } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVdoRCxNQUFNLE9BQU8sWUFBWTtJQWlCdkIsWUFDVSxXQUF3QixFQUN4QixZQUEwQjtRQUQxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVg1QixVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUMvQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQzNDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFDckQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUNyRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUFRMUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLElBQUk7YUFDTixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFvQjtRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hELE9BQU87b0JBQ0wsR0FBRyxLQUFLO29CQUNSLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUMvQixPQUFPOzRCQUNMLEdBQUcsS0FBSzs0QkFDUixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7NEJBQ1gsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO3lCQUNaLENBQUM7b0JBQ0osQ0FBQyxDQUFDO2lCQUNILENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBYTtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBd0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUE0QjtRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQTRCO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBOEI7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzt5R0FwRlUsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IEF4ZXNTZXJ2aWNlIH0gZnJvbSAnLi9heGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTY2FsZVNlcnZpY2UgfSBmcm9tICcuL3NjYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUNoYXJ0RXZlbnQgfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWV2ZW50JztcbmltcG9ydCB7IElEaXNwbGF5VG9vbHRpcCB9IGZyb20gJy4uL21vZGVsL2ktZGlzcGxheS10b29sdGlwJztcbmltcG9ydCB7IFBsb3RiYW5kIH0gZnJvbSAnLi4vbW9kZWwvcGxvdGJhbmQnO1xuaW1wb3J0IHsgUGxvdExpbmUgfSBmcm9tICcuLi9tb2RlbC9wbG90bGluZSc7XG5pbXBvcnQgeyBJUG9pbnRNb3ZlIH0gZnJvbSAnLi4vbW9kZWwvaS1wb2ludC1tb3ZlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0U2VydmljZSB7XG4gIHB1YmxpYyBzaXplOiBPYnNlcnZhYmxlPERPTVJlY3Q+O1xuICBwdWJsaWMgcG9pbnRlck1vdmU6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIHRvb2x0aXBzOiBPYnNlcnZhYmxlPElEaXNwbGF5VG9vbHRpcD47XG4gIHB1YmxpYyBwbG90YmFuZE1vdmU6IE9ic2VydmFibGU8SUNoYXJ0RXZlbnQ8UGxvdGJhbmQ+PjtcbiAgcHVibGljIHBsb3RsaW5lTW92ZTogT2JzZXJ2YWJsZTxJQ2hhcnRFdmVudDxQbG90TGluZT4+O1xuICBwdWJsaWMgcG9pbnRNb3ZlOiBPYnNlcnZhYmxlPElDaGFydEV2ZW50PElQb2ludE1vdmU+PjtcblxuICBwcml2YXRlIHNpemUkID0gbmV3IFN1YmplY3Q8RE9NUmVjdD4oKTtcbiAgcHJpdmF0ZSBwb2ludGVyTW92ZSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHByaXZhdGUgdG9vbHRpcHMkID0gbmV3IFN1YmplY3Q8SURpc3BsYXlUb29sdGlwPigpO1xuICBwcml2YXRlIHBsb3RiYW5kTW92ZSQgPSBuZXcgU3ViamVjdDxJQ2hhcnRFdmVudDxQbG90YmFuZD4+KCk7XG4gIHByaXZhdGUgcGxvdGxpbmVNb3ZlJCA9IG5ldyBTdWJqZWN0PElDaGFydEV2ZW50PFBsb3RMaW5lPj4oKTtcbiAgcHJpdmF0ZSBwb2ludE1vdmUkID0gbmV3IFN1YmplY3Q8SUNoYXJ0RXZlbnQ8SVBvaW50TW92ZT4+KCk7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBJQ2hhcnRDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBheGVzU2VydmljZTogQXhlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY2FsZVNlcnZpY2U6IFNjYWxlU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNpemUgPSB0aGlzLnNpemUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMucG9pbnRlck1vdmUgPSB0aGlzLnBvaW50ZXJNb3ZlJC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnRvb2x0aXBzID0gdGhpcy50b29sdGlwcyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5wbG90YmFuZE1vdmUgPSB0aGlzLnBsb3RiYW5kTW92ZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5wbG90bGluZU1vdmUgPSB0aGlzLnBsb3RsaW5lTW92ZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5wb2ludE1vdmUgPSB0aGlzLnBvaW50TW92ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLnNpemVcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHNpemUpID0+IHtcbiAgICAgICAgICB0aGlzLnNjYWxlU2VydmljZS5jcmVhdGVTY2FsZXMoc2l6ZSwgdGhpcy5fY29uZmlnKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogSUNoYXJ0Q29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgaWYgKGNvbmZpZy5pbnZlcnRlZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnNlcmllcyA9IHRoaXMuX2NvbmZpZz8uc2VyaWVzPy5tYXAoKHNlcmllKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc2VyaWUsXG4gICAgICAgICAgZGF0YTogc2VyaWU/LmRhdGE/Lm1hcCgocG9pbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnBvaW50LFxuICAgICAgICAgICAgICB4OiBwb2ludD8ueSxcbiAgICAgICAgICAgICAgeTogcG9pbnQ/LngsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5heGVzU2VydmljZS5pbml0KHRoaXMuX2NvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2l6ZShzaXplOiBET01SZWN0KSB7XG4gICAgdGhpcy5zaXplJC5uZXh0KHNpemUpO1xuICB9XG5cbiAgcHVibGljIHNldFBvaW50ZXJNb3ZlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBvaW50ZXJNb3ZlJC5uZXh0KHsgZXZlbnQgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9vbHRpcCh0b29sdGlwOiBJRGlzcGxheVRvb2x0aXApIHtcbiAgICB0aGlzLnRvb2x0aXBzJC5uZXh0KHRvb2x0aXApO1xuICB9XG5cbiAgcHVibGljIGVtaXRQbG90YmFuZChldmVudDogSUNoYXJ0RXZlbnQ8UGxvdGJhbmQ+KSB7XG4gICAgdGhpcy5wbG90YmFuZE1vdmUkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGVtaXRQbG90bGluZShldmVudDogSUNoYXJ0RXZlbnQ8UGxvdExpbmU+KSB7XG4gICAgdGhpcy5wbG90bGluZU1vdmUkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGVtaXRQb2ludChldmVudDogSUNoYXJ0RXZlbnQ8SVBvaW50TW92ZT4pIHtcbiAgICB0aGlzLnBvaW50TW92ZSQubmV4dChldmVudCk7XG4gIH1cblxuICBnZXQgY29uZmlnKCk6IElDaGFydENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxufVxuIl19
|