@tetacom/svg-charts 1.6.2 → 1.6.4
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/chart-container/crosshair/crosshair.component.d.ts +3 -3
- package/chart/chart-container/gridlines/gridlines.component.d.ts +4 -4
- package/chart/chart-container/y-axis/y-axis.component.d.ts +2 -2
- package/chart/legend/legend.component.d.ts +1 -1
- package/chart/model/series.d.ts +1 -1
- package/chart/model/tooltip-options.d.ts +1 -1
- package/esm2022/chart/base/series-base.component.mjs +3 -4
- package/esm2022/chart/chart/chart.component.mjs +15 -39
- package/esm2022/chart/chart-container/annotation/annotation.component.mjs +8 -11
- package/esm2022/chart/chart-container/chart-container.component.mjs +21 -46
- package/esm2022/chart/chart-container/crosshair/crosshair.component.mjs +7 -9
- package/esm2022/chart/chart-container/gridlines/gridlines.component.mjs +15 -14
- package/esm2022/chart/chart-container/plotband/plot-band.component.mjs +7 -15
- package/esm2022/chart/chart-container/plotline/plotline.component.mjs +7 -14
- package/esm2022/chart/chart-container/series/area-series/area-series.component.mjs +9 -12
- package/esm2022/chart/chart-container/series/bar/bar-series.component.mjs +5 -12
- package/esm2022/chart/chart-container/series/block-area-series/block-area-series.component.mjs +8 -16
- package/esm2022/chart/chart-container/series/block-horizontal-series/block-horizontal-series.component.mjs +9 -18
- package/esm2022/chart/chart-container/series/block-series/block-series.component.mjs +9 -17
- package/esm2022/chart/chart-container/series/line/line-series.component.mjs +6 -9
- package/esm2022/chart/chart-container/series/linear-series-base.mjs +11 -29
- package/esm2022/chart/chart-container/series/scatter-series/scatter-series.component.mjs +7 -10
- package/esm2022/chart/chart-container/series-host/series-host.component.mjs +2 -3
- package/esm2022/chart/chart-container/tooltip/tooltip.component.mjs +9 -18
- package/esm2022/chart/chart-container/x-axis/x-axis.component.mjs +7 -8
- package/esm2022/chart/chart-container/y-axis/y-axis.component.mjs +8 -13
- package/esm2022/chart/core/axis/axis.mjs +3 -5
- package/esm2022/chart/core/axis/builders/axis-size-builder.mjs +2 -2
- package/esm2022/chart/core/axis/builders/extremes-builder.mjs +4 -6
- package/esm2022/chart/core/utils/generate-ticks.mjs +2 -4
- package/esm2022/chart/core/utils/get-text-width.mjs +1 -1
- package/esm2022/chart/core/utils/position-util.mjs +6 -14
- package/esm2022/chart/default/default-chart-config.mjs +8 -8
- package/esm2022/chart/default/default-series-config.mjs +3 -3
- package/esm2022/chart/default/defaultSeriesTypeMapping.mjs +1 -1
- package/esm2022/chart/directives/brushable.directive.mjs +20 -46
- package/esm2022/chart/directives/draggable-point.directive.mjs +20 -18
- package/esm2022/chart/directives/zoomable.directive.mjs +15 -35
- package/esm2022/chart/legend/legend.component.mjs +5 -5
- package/esm2022/chart/model/annotation.mjs +1 -1
- package/esm2022/chart/model/chart-bounds.mjs +1 -1
- package/esm2022/chart/model/enum/align.enum.mjs +1 -1
- package/esm2022/chart/model/enum/axis-orientation.mjs +1 -1
- package/esm2022/chart/model/enum/clip-points-direction.mjs +1 -1
- package/esm2022/chart/model/enum/public-api.mjs +1 -1
- package/esm2022/chart/model/enum/scale-type.mjs +1 -1
- package/esm2022/chart/model/enum/series-type.mjs +1 -1
- package/esm2022/chart/model/enum/vertical-align.enum.mjs +1 -1
- package/esm2022/chart/model/enum/zoom-behavior-type.mjs +1 -1
- package/esm2022/chart/model/i-broadcast-message.mjs +1 -1
- package/esm2022/chart/model/i-chart-config.mjs +1 -1
- package/esm2022/chart/model/marker-options.mjs +1 -1
- package/esm2022/chart/model/plot-band.mjs +2 -3
- package/esm2022/chart/model/plot-line.mjs +1 -1
- package/esm2022/chart/model/public-api.mjs +1 -1
- package/esm2022/chart/model/series.mjs +1 -1
- package/esm2022/chart/model/tooltip-options.mjs +1 -1
- package/esm2022/chart/service/broadcast.service.mjs +1 -1
- package/esm2022/chart/service/brush.service.mjs +1 -1
- package/esm2022/chart/service/chart.service.mjs +24 -35
- package/esm2022/chart/service/scale.service.mjs +14 -26
- package/esm2022/chart/service/zoom.service.mjs +10 -8
- package/esm2022/index.mjs +1 -1
- package/esm2022/observable/zoneObservable.mjs +4 -4
- package/fesm2022/tetacom-svg-charts.mjs +250 -474
- package/fesm2022/tetacom-svg-charts.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as d3 from 'd3';
|
|
3
|
-
import { combineLatest, map, shareReplay, take, withLatestFrom
|
|
3
|
+
import { combineLatest, map, shareReplay, take, withLatestFrom } from 'rxjs';
|
|
4
4
|
import { Axis } from '../core/axis/axis';
|
|
5
5
|
import { AxisOrientation } from '../model/enum/axis-orientation';
|
|
6
6
|
import { ScaleType } from '../model/enum/scale-type';
|
|
@@ -25,11 +25,7 @@ export class ScaleService {
|
|
|
25
25
|
.set(ScaleType.pow, d3.scalePow)
|
|
26
26
|
.set(ScaleType.sqrt, d3.scaleSqrt)
|
|
27
27
|
.set(ScaleType.band, d3.scaleBand);
|
|
28
|
-
this.scales = combineLatest([
|
|
29
|
-
this.chartService.size,
|
|
30
|
-
this.chartService.config,
|
|
31
|
-
this.zoomService.zoomed,
|
|
32
|
-
]).pipe(map((data) => {
|
|
28
|
+
this.scales = combineLatest([this.chartService.size, this.chartService.config, this.zoomService.zoomed]).pipe(map((data) => {
|
|
33
29
|
const [size, config, zoom] = data;
|
|
34
30
|
const xAxisMap = new Map();
|
|
35
31
|
const yAxisMap = new Map();
|
|
@@ -41,13 +37,13 @@ export class ScaleService {
|
|
|
41
37
|
});
|
|
42
38
|
// Generate x scales
|
|
43
39
|
const left = Array.from(yAxisMap.values())
|
|
44
|
-
.filter(_ => _.options?.visible && _.options?.opposite)
|
|
40
|
+
.filter((_) => _.options?.visible && _.options?.opposite)
|
|
45
41
|
.reduce((acc, cur) => acc + cur.selfSize, 0);
|
|
46
42
|
const right = Array.from(yAxisMap.values())
|
|
47
|
-
.filter(_ => _.options?.visible && _.options?.opposite !== true)
|
|
43
|
+
.filter((_) => _.options?.visible && _.options?.opposite !== true)
|
|
48
44
|
.reduce((acc, cur) => acc + cur.selfSize, 0);
|
|
49
45
|
const finalWidth = (size.width || 0) - left - right;
|
|
50
|
-
xAxisMap.forEach(axis => {
|
|
46
|
+
xAxisMap.forEach((axis) => {
|
|
51
47
|
let domain = axis.extremes;
|
|
52
48
|
if (axis?.options.inverted) {
|
|
53
49
|
domain = [...axis.extremes].reverse();
|
|
@@ -70,8 +66,7 @@ export class ScaleService {
|
|
|
70
66
|
axis.setScale(scale);
|
|
71
67
|
axis.setOriginDomain(scale.domain());
|
|
72
68
|
const hasCache = this.transformCacheX.has(axis.index);
|
|
73
|
-
const shouldRestore = zoom?.axis?.orientation !== AxisOrientation.x ||
|
|
74
|
-
zoom.axis?.index !== axis.index;
|
|
69
|
+
const shouldRestore = zoom?.axis?.orientation !== AxisOrientation.x || zoom.axis?.index !== axis.index;
|
|
75
70
|
if (hasCache && shouldRestore) {
|
|
76
71
|
const restoredTransform = this.transformCacheX.get(axis.index);
|
|
77
72
|
axis.setScale(restoredTransform.rescaleX(scale));
|
|
@@ -90,17 +85,13 @@ export class ScaleService {
|
|
|
90
85
|
}
|
|
91
86
|
// Generate y axis
|
|
92
87
|
const top = Array.from(xAxisMap.values())
|
|
93
|
-
.filter(_ => _.options?.visible && _.options?.opposite)
|
|
88
|
+
.filter((_) => _.options?.visible && _.options?.opposite)
|
|
94
89
|
.reduce((acc, cur) => acc + cur.selfSize, 0);
|
|
95
90
|
const bottom = Array.from(xAxisMap.values())
|
|
96
|
-
.filter(_ => _.options?.visible && _.options?.opposite !== true)
|
|
91
|
+
.filter((_) => _.options?.visible && _.options?.opposite !== true)
|
|
97
92
|
.reduce((acc, cur) => acc + cur.selfSize, 0);
|
|
98
|
-
const finalHeight = (size.height || 0) -
|
|
99
|
-
|
|
100
|
-
bottom -
|
|
101
|
-
config?.bounds?.top -
|
|
102
|
-
config.bounds?.bottom;
|
|
103
|
-
yAxisMap.forEach(axis => {
|
|
93
|
+
const finalHeight = (size.height || 0) - top - bottom - config?.bounds?.top - config.bounds?.bottom;
|
|
94
|
+
yAxisMap.forEach((axis) => {
|
|
104
95
|
let domain = axis.extremes;
|
|
105
96
|
if (axis.orientation === AxisOrientation.y) {
|
|
106
97
|
domain = [...axis.extremes].reverse();
|
|
@@ -126,8 +117,7 @@ export class ScaleService {
|
|
|
126
117
|
axis.setScale(scale);
|
|
127
118
|
axis.setOriginDomain(scale.domain());
|
|
128
119
|
const hasCache = this.transformCacheY.has(axis.index);
|
|
129
|
-
const shouldRestore = zoom?.axis?.orientation !== AxisOrientation.y ||
|
|
130
|
-
zoom.axis?.index !== axis.index;
|
|
120
|
+
const shouldRestore = zoom?.axis?.orientation !== AxisOrientation.y || zoom.axis?.index !== axis.index;
|
|
131
121
|
if (hasCache && shouldRestore) {
|
|
132
122
|
const restoredTransform = this.transformCacheY.get(axis.index);
|
|
133
123
|
axis.setScale(restoredTransform.rescaleY(scale));
|
|
@@ -170,8 +160,7 @@ export class ScaleService {
|
|
|
170
160
|
chartId: config.id,
|
|
171
161
|
});
|
|
172
162
|
this.zoomService.fireZoom(msg);
|
|
173
|
-
if (config.zoom.syncChannel &&
|
|
174
|
-
config.zoom.syncType === ZoomType.x) {
|
|
163
|
+
if (config.zoom.syncChannel && config.zoom.syncType === ZoomType.x) {
|
|
175
164
|
this.zoomService.broadcastZoom(msg);
|
|
176
165
|
}
|
|
177
166
|
}
|
|
@@ -189,8 +178,7 @@ export class ScaleService {
|
|
|
189
178
|
chartId: config.id,
|
|
190
179
|
});
|
|
191
180
|
this.zoomService.fireZoom(msg);
|
|
192
|
-
if (config.zoom.syncChannel &&
|
|
193
|
-
config.zoom.syncType === ZoomType.y) {
|
|
181
|
+
if (config.zoom.syncChannel && config.zoom.syncType === ZoomType.y) {
|
|
194
182
|
this.zoomService.broadcastZoom(msg);
|
|
195
183
|
}
|
|
196
184
|
}
|
|
@@ -206,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
206
194
|
providedIn: 'root',
|
|
207
195
|
}]
|
|
208
196
|
}], ctorParameters: () => [{ type: i1.ChartService }, { type: i2.ZoomService }] });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9zZXJ2aWNlL3NjYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixPQUFPLEVBQ0wsYUFBYSxFQUNiLEdBQUcsRUFFSCxXQUFXLEVBQ1gsSUFBSSxFQUNKLGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUs3QyxNQUFNLE9BQU8sWUFBWTtJQWV2QixZQUNVLFlBQTBCLEVBQzFCLFdBQXdCO1FBRHhCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZDFCLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDbkQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFrQjthQUM3QyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxF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QUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0EzUFUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5pbXBvcnQgeyBab29tVHJhbnNmb3JtIH0gZnJvbSAnZDMnO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZSxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBeGlzIH0gZnJvbSAnLi4vY29yZS9heGlzL2F4aXMnO1xuaW1wb3J0IHsgQXhpc09yaWVudGF0aW9uIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7IFNjYWxlVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vc2NhbGUtdHlwZSc7XG5pbXBvcnQgeyBab29tVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS10eXBlJztcbmltcG9ydCB7IFpvb21NZXNzYWdlIH0gZnJvbSAnLi4vbW9kZWwvaS1icm9hZGNhc3QtbWVzc2FnZSc7XG5pbXBvcnQgeyBJQ2hhcnRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBJU2NhbGVzTWFwIH0gZnJvbSAnLi4vbW9kZWwvaS1zY2FsZXMtbWFwJztcbmltcG9ydCB7IENoYXJ0U2VydmljZSB9IGZyb20gJy4vY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gJy4vem9vbS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjYWxlU2VydmljZSB7XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8SVNjYWxlc01hcD47XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1DYWNoZVggPSBuZXcgTWFwPG51bWJlciwgWm9vbVRyYW5zZm9ybT4oKTtcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1DYWNoZVkgPSBuZXcgTWFwPG51bWJlciwgWm9vbVRyYW5zZm9ybT4oKTtcblxuICBwcml2YXRlIHNjYWxlTWFwcGluZyA9IG5ldyBNYXA8U2NhbGVUeXBlLCBhbnk+KClcbiAgICAuc2V0KFNjYWxlVHlwZS5saW5lYXIsIGQzLnNjYWxlTGluZWFyKVxuICAgIC5zZXQoU2NhbGVUeXBlLnRpbWUsIGQzLnNjYWxlVGltZSlcbiAgICAuc2V0KFNjYWxlVHlwZS5sb2csIGQzLnNjYWxlTG9nKVxuICAgIC5zZXQoU2NhbGVUeXBlLnN5bWxvZywgZDMuc2NhbGVTeW1sb2cpXG4gICAgLnNldChTY2FsZVR5cGUucG93LCBkMy5zY2FsZVBvdylcbiAgICAuc2V0KFNjYWxlVHlwZS5zcXJ0LCBkMy5zY2FsZVNxcnQpXG4gICAgLnNldChTY2FsZVR5cGUuYmFuZCwgZDMuc2NhbGVCYW5kKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2NhbGVzID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNoYXJ0U2VydmljZS5zaXplLFxuICAgICAgdGhpcy5jaGFydFNlcnZpY2UuY29uZmlnLFxuICAgICAgdGhpcy56b29tU2VydmljZS56b29tZWQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoZGF0YTogW0RPTVJlY3RSZWFkT25seSwgSUNoYXJ0Q29uZmlnLCBab29tTWVzc2FnZV0pID0+IHtcbiAgICAgICAgY29uc3QgW3NpemUsIGNvbmZpZywgem9vbV0gPSBkYXRhO1xuXG4gICAgICAgIGNvbnN0IHhBeGlzTWFwID0gbmV3IE1hcDxudW1iZXIsIEF4aXM+KCk7XG4gICAgICAgIGNvbnN0IHlBeGlzTWFwID0gbmV3IE1hcDxudW1iZXIsIEF4aXM+KCk7XG5cbiAgICAgICAgY29uZmlnLnlBeGlzLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICB5QXhpc01hcC5zZXQoXG4gICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIEF4aXMuY3JlYXRlQXhpcyhBeGlzT3JpZW50YXRpb24ueSwgY29uZmlnLCBpbmRleClcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25maWcueEF4aXMubWFwKChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHhBeGlzTWFwLnNldChcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgQXhpcy5jcmVhdGVBeGlzKEF4aXNPcmllbnRhdGlvbi54LCBjb25maWcsIGluZGV4KVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHggc2NhbGVzXG4gICAgICAgIGNvbnN0IGxlZnQgPSBBcnJheS5mcm9tKHlBeGlzTWFwLnZhbHVlcygpKVxuICAgICAgICAgIC5maWx0ZXIoXyA9PiBfLm9wdGlvbnM/LnZpc2libGUgJiYgXy5vcHRpb25zPy5vcHBvc2l0ZSlcbiAgICAgICAgICAucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyLnNlbGZTaXplLCAwKTtcblxuICAgICAgICBjb25zdCByaWdodCA9IEFycmF5LmZyb20oeUF4aXNNYXAudmFsdWVzKCkpXG4gICAgICAgICAgLmZpbHRlcihfID0+IF8ub3B0aW9ucz8udmlzaWJsZSAmJiBfLm9wdGlvbnM/Lm9wcG9zaXRlICE9PSB0cnVlKVxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyBjdXIuc2VsZlNpemUsIDApO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsV2lkdGggPSAoc2l6ZS53aWR0aCB8fCAwKSAtIGxlZnQgLSByaWdodDtcblxuICAgICAgICB4QXhpc01hcC5mb3JFYWNoKGF4aXMgPT4ge1xuICAgICAgICAgIGxldCBkb21haW4gPSBheGlzLmV4dHJlbWVzO1xuXG4gICAgICAgICAgaWYgKGF4aXM/Lm9wdGlvbnMuaW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIGRvbWFpbiA9IFsuLi5heGlzLmV4dHJlbWVzXS5yZXZlcnNlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlTWFwcGluZ1xuICAgICAgICAgICAgLmdldChheGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUpKClcbiAgICAgICAgICAgIC5kb21haW4oZG9tYWluKVxuICAgICAgICAgICAgLnJhbmdlKFswLCBmaW5hbFdpZHRoIC0gY29uZmlnLmJvdW5kcy5yaWdodF0pO1xuXG4gICAgICAgICAgaWYgKGF4aXMub3B0aW9ucy5uaWNlVGlja3MpIHtcbiAgICAgICAgICAgIHNjYWxlLm5pY2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUubG9nKSB7XG4gICAgICAgICAgICBzY2FsZS5iYXNlKGF4aXMub3B0aW9ucy5zY2FsZVR5cGUuYmFzZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmJhbmQpIHtcbiAgICAgICAgICAgIHNjYWxlLnBhZGRpbmdJbm5lcigwLjEpO1xuICAgICAgICAgICAgc2NhbGUucGFkZGluZ091dGVyKDAuMSk7XG4gICAgICAgICAgICBzY2FsZS5hbGlnbigwLjEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF4aXMuc2V0U2NhbGUoc2NhbGUpO1xuICAgICAgICAgIGF4aXMuc2V0T3JpZ2luRG9tYWluKHNjYWxlLmRvbWFpbigpKTtcblxuICAgICAgICAgIGNvbnN0IGhhc0NhY2hlID0gdGhpcy50cmFuc2Zvcm1DYWNoZVguaGFzKGF4aXMuaW5kZXgpO1xuICAgICAgICAgIGNvbnN0IHNob3VsZFJlc3RvcmUgPVxuICAgICAgICAgICAgem9vbT8uYXhpcz8ub3JpZW50YXRpb24gIT09IEF4aXNPcmllbnRhdGlvbi54IHx8XG4gICAgICAgICAgICB6b29tLmF4aXM/LmluZGV4ICE9PSBheGlzLmluZGV4O1xuXG4gICAgICAgICAgaWYgKGhhc0NhY2hlICYmIHNob3VsZFJlc3RvcmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVkVHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DYWNoZVguZ2V0KGF4aXMuaW5kZXgpO1xuICAgICAgICAgICAgYXhpcy5zZXRTY2FsZShyZXN0b3JlZFRyYW5zZm9ybS5yZXNjYWxlWChzY2FsZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHpvb20gJiYgem9vbS5kb21haW4pIHtcbiAgICAgICAgICBpZiAoem9vbS5heGlzPy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLngpIHtcbiAgICAgICAgICAgIGlmICh4QXhpc01hcC5oYXMoem9vbS5heGlzLmluZGV4KSkge1xuICAgICAgICAgICAgICBjb25zdCB4ID0geEF4aXNNYXAuZ2V0KHpvb20uYXhpcy5pbmRleCk7XG4gICAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IHRoaXMuem9vbVNlcnZpY2UuZ2V0RDNUcmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgem9vbS5kb21haW4sXG4gICAgICAgICAgICAgICAgeC5vcmlnaW5Eb21haW4sXG4gICAgICAgICAgICAgICAgeC5zY2FsZSxcbiAgICAgICAgICAgICAgICBBeGlzT3JpZW50YXRpb24ueCxcbiAgICAgICAgICAgICAgICB4Lm9wdGlvbnMuaW52ZXJ0ZWRcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY29uc3QgcmVzY2FsZWQgPSB0cmFuc2Zvcm0ucmVzY2FsZVgoeC5zY2FsZS5jb3B5KCkpO1xuICAgICAgICAgICAgICB4LnNldFNjYWxlKHJlc2NhbGVkKTtcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1DYWNoZVguc2V0KHguaW5kZXgsIHRyYW5zZm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgeSBheGlzXG5cbiAgICAgICAgY29uc3QgdG9wID0gQXJyYXkuZnJvbSh4QXhpc01hcC52YWx1ZXMoKSlcbiAgICAgICAgICAuZmlsdGVyKF8gPT4gXy5vcHRpb25zPy52aXNpYmxlICYmIF8ub3B0aW9ucz8ub3Bwb3NpdGUpXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ci5zZWxmU2l6ZSwgMCk7XG5cbiAgICAgICAgY29uc3QgYm90dG9tID0gQXJyYXkuZnJvbSh4QXhpc01hcC52YWx1ZXMoKSlcbiAgICAgICAgICAuZmlsdGVyKF8gPT4gXy5vcHRpb25zPy52aXNpYmxlICYmIF8ub3B0aW9ucz8ub3Bwb3NpdGUgIT09IHRydWUpXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ci5zZWxmU2l6ZSwgMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxIZWlnaHQgPVxuICAgICAgICAgIChzaXplLmhlaWdodCB8fCAwKSAtXG4gICAgICAgICAgdG9wIC1cbiAgICAgICAgICBib3R0b20gLVxuICAgICAgICAgIGNvbmZpZz8uYm91bmRzPy50b3AgLVxuICAgICAgICAgIGNvbmZpZy5ib3VuZHM/LmJvdHRvbTtcblxuICAgICAgICB5QXhpc01hcC5mb3JFYWNoKGF4aXMgPT4ge1xuICAgICAgICAgIGxldCBkb21haW4gPSBheGlzLmV4dHJlbWVzO1xuXG4gICAgICAgICAgaWYgKGF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55KSB7XG4gICAgICAgICAgICBkb21haW4gPSBbLi4uYXhpcy5leHRyZW1lc10ucmV2ZXJzZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChheGlzPy5vcHRpb25zLmludmVydGVkKSB7XG4gICAgICAgICAgICBkb21haW4gPSBkb21haW4ucmV2ZXJzZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZU1hcHBpbmdcbiAgICAgICAgICAgIC5nZXQoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlKSgpXG4gICAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAgIC5yYW5nZShbY29uZmlnLmJvdW5kcy50b3AsIGZpbmFsSGVpZ2h0XSk7XG5cbiAgICAgICAgICBpZiAoYXhpcy5vcHRpb25zLm5pY2VUaWNrcykge1xuICAgICAgICAgICAgc2NhbGUubmljZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChheGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgPT09IFNjYWxlVHlwZS5sb2cpIHtcbiAgICAgICAgICAgIHNjYWxlLmJhc2UoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS5iYXNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUuYmFuZCkge1xuICAgICAgICAgICAgc2NhbGUucGFkZGluZ0lubmVyKDAuMSk7XG4gICAgICAgICAgICBzY2FsZS5wYWRkaW5nT3V0ZXIoMC4xKTtcbiAgICAgICAgICAgIHNjYWxlLmFsaWduKDAuMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYXhpcy5zZXRTY2FsZShzY2FsZSk7XG4gICAgICAgICAgYXhpcy5zZXRPcmlnaW5Eb21haW4oc2NhbGUuZG9tYWluKCkpO1xuXG4gICAgICAgICAgY29uc3QgaGFzQ2FjaGUgPSB0aGlzLnRyYW5zZm9ybUNhY2hlWS5oYXMoYXhpcy5pbmRleCk7XG5cbiAgICAgICAgICBjb25zdCBzaG91bGRSZXN0b3JlID1cbiAgICAgICAgICAgIHpvb20/LmF4aXM/Lm9yaWVudGF0aW9uICE9PSBBeGlzT3JpZW50YXRpb24ueSB8fFxuICAgICAgICAgICAgem9vbS5heGlzPy5pbmRleCAhPT0gYXhpcy5pbmRleDtcblxuICAgICAgICAgIGlmIChoYXNDYWNoZSAmJiBzaG91bGRSZXN0b3JlKSB7XG4gICAgICAgICAgICBjb25zdCByZXN0b3JlZFRyYW5zZm9ybSA9IHRoaXMudHJhbnNmb3JtQ2FjaGVZLmdldChheGlzLmluZGV4KTtcbiAgICAgICAgICAgIGF4aXMuc2V0U2NhbGUocmVzdG9yZWRUcmFuc2Zvcm0ucmVzY2FsZVkoc2NhbGUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh6b29tICYmIHpvb20uZG9tYWluKSB7XG4gICAgICAgICAgaWYgKHpvb20uYXhpcz8ub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55KSB7XG4gICAgICAgICAgICBpZiAoeUF4aXNNYXAuaGFzKHpvb20uYXhpcy5pbmRleCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgeSA9IHlBeGlzTWFwLmdldCh6b29tLmF4aXMuaW5kZXgpO1xuICAgICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSB0aGlzLnpvb21TZXJ2aWNlLmdldEQzVHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgIHpvb20uZG9tYWluLFxuICAgICAgICAgICAgICAgIHkub3JpZ2luRG9tYWluLFxuICAgICAgICAgICAgICAgIHkuc2NhbGUsXG4gICAgICAgICAgICAgICAgQXhpc09yaWVudGF0aW9uLnksXG4gICAgICAgICAgICAgICAgeS5vcHRpb25zLmludmVydGVkXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc2NhbGVkID0gdHJhbnNmb3JtLnJlc2NhbGVZKHkuc2NhbGUuY29weSgpKTtcbiAgICAgICAgICAgICAgeS5zZXRTY2FsZShyZXNjYWxlZCk7XG4gICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtQ2FjaGVZLnNldCh5LmluZGV4LCB0cmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHg6IHhBeGlzTWFwLFxuICAgICAgICAgIHk6IHlBeGlzTWFwLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSh7XG4gICAgICAgIGJ1ZmZlclNpemU6IDEsXG4gICAgICAgIHJlZkNvdW50OiB0cnVlLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRab29tKCkge1xuICAgIHRoaXMuY2hhcnRTZXJ2aWNlLmNvbmZpZ1xuICAgICAgLnBpcGUodGFrZSgxKSwgd2l0aExhdGVzdEZyb20odGhpcy5zY2FsZXMpKVxuICAgICAgLnN1YnNjcmliZSgoW2NvbmZpZywgc2NhbGVzXTogW0lDaGFydENvbmZpZywgSVNjYWxlc01hcF0pID0+IHtcbiAgICAgICAgY29uZmlnLnhBeGlzLmZvckVhY2goKGF4aXMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZXM/Lng/LmdldChpbmRleCk/Lm9yaWdpbkRvbWFpbjtcbiAgICAgICAgICBpZiAoc2NhbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IG5ldyBab29tTWVzc2FnZSh7XG4gICAgICAgICAgICAgIGV2ZW50VHlwZTogJ2VuZCcsXG4gICAgICAgICAgICAgIGF4aXM6IHtcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogQXhpc09yaWVudGF0aW9uLngsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRvbWFpbjogc2NhbGUsXG4gICAgICAgICAgICAgIGNoYXJ0SWQ6IGNvbmZpZy5pZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy56b29tU2VydmljZS5maXJlWm9vbShtc2cpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBjb25maWcuem9vbS5zeW5jQ2hhbm5lbCAmJlxuICAgICAgICAgICAgICBjb25maWcuem9vbS5zeW5jVHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMuem9vbVNlcnZpY2UuYnJvYWRjYXN0Wm9vbShtc2cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbmZpZy55QXhpcy5mb3JFYWNoKChheGlzLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNjYWxlID0gc2NhbGVzPy55Py5nZXQoaW5kZXgpPy5vcmlnaW5Eb21haW47XG4gICAgICAgICAgaWYgKHNjYWxlKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBuZXcgWm9vbU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICBldmVudFR5cGU6ICdlbmQnLFxuICAgICAgICAgICAgICBheGlzOiB7XG4gICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgICAgb3JpZW50YXRpb246IEF4aXNPcmllbnRhdGlvbi55LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkb21haW46IHNjYWxlLFxuICAgICAgICAgICAgICBjaGFydElkOiBjb25maWcuaWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuem9vbVNlcnZpY2UuZmlyZVpvb20obXNnKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgY29uZmlnLnpvb20uc3luY0NoYW5uZWwgJiZcbiAgICAgICAgICAgICAgY29uZmlnLnpvb20uc3luY1R5cGUgPT09IFpvb21UeXBlLnlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLmJyb2FkY2FzdFpvb20obXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9zZXJ2aWNlL3NjYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLN0MsTUFBTSxPQUFPLFlBQVk7SUFldkIsWUFBb0IsWUFBMEIsRUFBVSxXQUF3QjtRQUE1RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWnhFLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDbkQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFrQjthQUM3QyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxF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Q0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQS9OVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFpvb21UcmFuc2Zvcm0gfSBmcm9tICdkMyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0YWtlLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBeGlzIH0gZnJvbSAnLi4vY29yZS9heGlzL2F4aXMnO1xuaW1wb3J0IHsgQXhpc09yaWVudGF0aW9uIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7IFNjYWxlVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vc2NhbGUtdHlwZSc7XG5pbXBvcnQgeyBab29tVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS10eXBlJztcbmltcG9ydCB7IFpvb21NZXNzYWdlIH0gZnJvbSAnLi4vbW9kZWwvaS1icm9hZGNhc3QtbWVzc2FnZSc7XG5pbXBvcnQgeyBJQ2hhcnRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBJU2NhbGVzTWFwIH0gZnJvbSAnLi4vbW9kZWwvaS1zY2FsZXMtbWFwJztcbmltcG9ydCB7IENoYXJ0U2VydmljZSB9IGZyb20gJy4vY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gJy4vem9vbS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjYWxlU2VydmljZSB7XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8SVNjYWxlc01hcD47XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1DYWNoZVggPSBuZXcgTWFwPG51bWJlciwgWm9vbVRyYW5zZm9ybT4oKTtcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1DYWNoZVkgPSBuZXcgTWFwPG51bWJlciwgWm9vbVRyYW5zZm9ybT4oKTtcblxuICBwcml2YXRlIHNjYWxlTWFwcGluZyA9IG5ldyBNYXA8U2NhbGVUeXBlLCBhbnk+KClcbiAgICAuc2V0KFNjYWxlVHlwZS5saW5lYXIsIGQzLnNjYWxlTGluZWFyKVxuICAgIC5zZXQoU2NhbGVUeXBlLnRpbWUsIGQzLnNjYWxlVGltZSlcbiAgICAuc2V0KFNjYWxlVHlwZS5sb2csIGQzLnNjYWxlTG9nKVxuICAgIC5zZXQoU2NhbGVUeXBlLnN5bWxvZywgZDMuc2NhbGVTeW1sb2cpXG4gICAgLnNldChTY2FsZVR5cGUucG93LCBkMy5zY2FsZVBvdylcbiAgICAuc2V0KFNjYWxlVHlwZS5zcXJ0LCBkMy5zY2FsZVNxcnQpXG4gICAgLnNldChTY2FsZVR5cGUuYmFuZCwgZDMuc2NhbGVCYW5kKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlLCBwcml2YXRlIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSkge1xuICAgIHRoaXMuc2NhbGVzID0gY29tYmluZUxhdGVzdChbdGhpcy5jaGFydFNlcnZpY2Uuc2l6ZSwgdGhpcy5jaGFydFNlcnZpY2UuY29uZmlnLCB0aGlzLnpvb21TZXJ2aWNlLnpvb21lZF0pLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IFtET01SZWN0UmVhZE9ubHksIElDaGFydENvbmZpZywgWm9vbU1lc3NhZ2VdKSA9PiB7XG4gICAgICAgIGNvbnN0IFtzaXplLCBjb25maWcsIHpvb21dID0gZGF0YTtcblxuICAgICAgICBjb25zdCB4QXhpc01hcCA9IG5ldyBNYXA8bnVtYmVyLCBBeGlzPigpO1xuICAgICAgICBjb25zdCB5QXhpc01hcCA9IG5ldyBNYXA8bnVtYmVyLCBBeGlzPigpO1xuXG4gICAgICAgIGNvbmZpZy55QXhpcy5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgeUF4aXNNYXAuc2V0KGluZGV4LCBBeGlzLmNyZWF0ZUF4aXMoQXhpc09yaWVudGF0aW9uLnksIGNvbmZpZywgaW5kZXgpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uZmlnLnhBeGlzLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICB4QXhpc01hcC5zZXQoaW5kZXgsIEF4aXMuY3JlYXRlQXhpcyhBeGlzT3JpZW50YXRpb24ueCwgY29uZmlnLCBpbmRleCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB4IHNjYWxlc1xuICAgICAgICBjb25zdCBsZWZ0ID0gQXJyYXkuZnJvbSh5QXhpc01hcC52YWx1ZXMoKSlcbiAgICAgICAgICAuZmlsdGVyKChfKSA9PiBfLm9wdGlvbnM/LnZpc2libGUgJiYgXy5vcHRpb25zPy5vcHBvc2l0ZSlcbiAgICAgICAgICAucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyLnNlbGZTaXplLCAwKTtcblxuICAgICAgICBjb25zdCByaWdodCA9IEFycmF5LmZyb20oeUF4aXNNYXAudmFsdWVzKCkpXG4gICAgICAgICAgLmZpbHRlcigoXykgPT4gXy5vcHRpb25zPy52aXNpYmxlICYmIF8ub3B0aW9ucz8ub3Bwb3NpdGUgIT09IHRydWUpXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ci5zZWxmU2l6ZSwgMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxXaWR0aCA9IChzaXplLndpZHRoIHx8IDApIC0gbGVmdCAtIHJpZ2h0O1xuXG4gICAgICAgIHhBeGlzTWFwLmZvckVhY2goKGF4aXMpID0+IHtcbiAgICAgICAgICBsZXQgZG9tYWluID0gYXhpcy5leHRyZW1lcztcblxuICAgICAgICAgIGlmIChheGlzPy5vcHRpb25zLmludmVydGVkKSB7XG4gICAgICAgICAgICBkb21haW4gPSBbLi4uYXhpcy5leHRyZW1lc10ucmV2ZXJzZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZU1hcHBpbmdcbiAgICAgICAgICAgIC5nZXQoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlKSgpXG4gICAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAgIC5yYW5nZShbMCwgZmluYWxXaWR0aCAtIGNvbmZpZy5ib3VuZHMucmlnaHRdKTtcblxuICAgICAgICAgIGlmIChheGlzLm9wdGlvbnMubmljZVRpY2tzKSB7XG4gICAgICAgICAgICBzY2FsZS5uaWNlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmxvZykge1xuICAgICAgICAgICAgc2NhbGUuYmFzZShheGlzLm9wdGlvbnMuc2NhbGVUeXBlLmJhc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChheGlzLm9wdGlvbnMuc2NhbGVUeXBlLnR5cGUgPT09IFNjYWxlVHlwZS5iYW5kKSB7XG4gICAgICAgICAgICBzY2FsZS5wYWRkaW5nSW5uZXIoMC4xKTtcbiAgICAgICAgICAgIHNjYWxlLnBhZGRpbmdPdXRlcigwLjEpO1xuICAgICAgICAgICAgc2NhbGUuYWxpZ24oMC4xKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBheGlzLnNldFNjYWxlKHNjYWxlKTtcbiAgICAgICAgICBheGlzLnNldE9yaWdpbkRvbWFpbihzY2FsZS5kb21haW4oKSk7XG5cbiAgICAgICAgICBjb25zdCBoYXNDYWNoZSA9IHRoaXMudHJhbnNmb3JtQ2FjaGVYLmhhcyhheGlzLmluZGV4KTtcbiAgICAgICAgICBjb25zdCBzaG91bGRSZXN0b3JlID0gem9vbT8uYXhpcz8ub3JpZW50YXRpb24gIT09IEF4aXNPcmllbnRhdGlvbi54IHx8IHpvb20uYXhpcz8uaW5kZXggIT09IGF4aXMuaW5kZXg7XG5cbiAgICAgICAgICBpZiAoaGFzQ2FjaGUgJiYgc2hvdWxkUmVzdG9yZSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdG9yZWRUcmFuc2Zvcm0gPSB0aGlzLnRyYW5zZm9ybUNhY2hlWC5nZXQoYXhpcy5pbmRleCk7XG4gICAgICAgICAgICBheGlzLnNldFNjYWxlKHJlc3RvcmVkVHJhbnNmb3JtLnJlc2NhbGVYKHNjYWxlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoem9vbSAmJiB6b29tLmRvbWFpbikge1xuICAgICAgICAgIGlmICh6b29tLmF4aXM/Lm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCkge1xuICAgICAgICAgICAgaWYgKHhBeGlzTWFwLmhhcyh6b29tLmF4aXMuaW5kZXgpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHggPSB4QXhpc01hcC5nZXQoem9vbS5heGlzLmluZGV4KTtcbiAgICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gdGhpcy56b29tU2VydmljZS5nZXREM1RyYW5zZm9ybShcbiAgICAgICAgICAgICAgICB6b29tLmRvbWFpbixcbiAgICAgICAgICAgICAgICB4Lm9yaWdpbkRvbWFpbixcbiAgICAgICAgICAgICAgICB4LnNjYWxlLFxuICAgICAgICAgICAgICAgIEF4aXNPcmllbnRhdGlvbi54LFxuICAgICAgICAgICAgICAgIHgub3B0aW9ucy5pbnZlcnRlZFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBjb25zdCByZXNjYWxlZCA9IHRyYW5zZm9ybS5yZXNjYWxlWCh4LnNjYWxlLmNvcHkoKSk7XG4gICAgICAgICAgICAgIHguc2V0U2NhbGUocmVzY2FsZWQpO1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zZm9ybUNhY2hlWC5zZXQoeC5pbmRleCwgdHJhbnNmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZW5lcmF0ZSB5IGF4aXNcblxuICAgICAgICBjb25zdCB0b3AgPSBBcnJheS5mcm9tKHhBeGlzTWFwLnZhbHVlcygpKVxuICAgICAgICAgIC5maWx0ZXIoKF8pID0+IF8ub3B0aW9ucz8udmlzaWJsZSAmJiBfLm9wdGlvbnM/Lm9wcG9zaXRlKVxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyBjdXIuc2VsZlNpemUsIDApO1xuXG4gICAgICAgIGNvbnN0IGJvdHRvbSA9IEFycmF5LmZyb20oeEF4aXNNYXAudmFsdWVzKCkpXG4gICAgICAgICAgLmZpbHRlcigoXykgPT4gXy5vcHRpb25zPy52aXNpYmxlICYmIF8ub3B0aW9ucz8ub3Bwb3NpdGUgIT09IHRydWUpXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ci5zZWxmU2l6ZSwgMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxIZWlnaHQgPSAoc2l6ZS5oZWlnaHQgfHwgMCkgLSB0b3AgLSBib3R0b20gLSBjb25maWc/LmJvdW5kcz8udG9wIC0gY29uZmlnLmJvdW5kcz8uYm90dG9tO1xuXG4gICAgICAgIHlBeGlzTWFwLmZvckVhY2goKGF4aXMpID0+IHtcbiAgICAgICAgICBsZXQgZG9tYWluID0gYXhpcy5leHRyZW1lcztcblxuICAgICAgICAgIGlmIChheGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueSkge1xuICAgICAgICAgICAgZG9tYWluID0gWy4uLmF4aXMuZXh0cmVtZXNdLnJldmVyc2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYXhpcz8ub3B0aW9ucy5pbnZlcnRlZCkge1xuICAgICAgICAgICAgZG9tYWluID0gZG9tYWluLnJldmVyc2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGVNYXBwaW5nXG4gICAgICAgICAgICAuZ2V0KGF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSkoKVxuICAgICAgICAgICAgLmRvbWFpbihkb21haW4pXG4gICAgICAgICAgICAucmFuZ2UoW2NvbmZpZy5ib3VuZHMudG9wLCBmaW5hbEhlaWdodF0pO1xuXG4gICAgICAgICAgaWYgKGF4aXMub3B0aW9ucy5uaWNlVGlja3MpIHtcbiAgICAgICAgICAgIHNjYWxlLm5pY2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYXhpcy5vcHRpb25zLnNjYWxlVHlwZS50eXBlID09PSBTY2FsZVR5cGUubG9nKSB7XG4gICAgICAgICAgICBzY2FsZS5iYXNlKGF4aXMub3B0aW9ucy5zY2FsZVR5cGUuYmFzZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGF4aXMub3B0aW9ucy5zY2FsZVR5cGUudHlwZSA9PT0gU2NhbGVUeXBlLmJhbmQpIHtcbiAgICAgICAgICAgIHNjYWxlLnBhZGRpbmdJbm5lcigwLjEpO1xuICAgICAgICAgICAgc2NhbGUucGFkZGluZ091dGVyKDAuMSk7XG4gICAgICAgICAgICBzY2FsZS5hbGlnbigwLjEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF4aXMuc2V0U2NhbGUoc2NhbGUpO1xuICAgICAgICAgIGF4aXMuc2V0T3JpZ2luRG9tYWluKHNjYWxlLmRvbWFpbigpKTtcblxuICAgICAgICAgIGNvbnN0IGhhc0NhY2hlID0gdGhpcy50cmFuc2Zvcm1DYWNoZVkuaGFzKGF4aXMuaW5kZXgpO1xuXG4gICAgICAgICAgY29uc3Qgc2hvdWxkUmVzdG9yZSA9IHpvb20/LmF4aXM/Lm9yaWVudGF0aW9uICE9PSBBeGlzT3JpZW50YXRpb24ueSB8fCB6b29tLmF4aXM/LmluZGV4ICE9PSBheGlzLmluZGV4O1xuXG4gICAgICAgICAgaWYgKGhhc0NhY2hlICYmIHNob3VsZFJlc3RvcmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVkVHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DYWNoZVkuZ2V0KGF4aXMuaW5kZXgpO1xuICAgICAgICAgICAgYXhpcy5zZXRTY2FsZShyZXN0b3JlZFRyYW5zZm9ybS5yZXNjYWxlWShzY2FsZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHpvb20gJiYgem9vbS5kb21haW4pIHtcbiAgICAgICAgICBpZiAoem9vbS5heGlzPy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpIHtcbiAgICAgICAgICAgIGlmICh5QXhpc01hcC5oYXMoem9vbS5heGlzLmluZGV4KSkge1xuICAgICAgICAgICAgICBjb25zdCB5ID0geUF4aXNNYXAuZ2V0KHpvb20uYXhpcy5pbmRleCk7XG4gICAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IHRoaXMuem9vbVNlcnZpY2UuZ2V0RDNUcmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgem9vbS5kb21haW4sXG4gICAgICAgICAgICAgICAgeS5vcmlnaW5Eb21haW4sXG4gICAgICAgICAgICAgICAgeS5zY2FsZSxcbiAgICAgICAgICAgICAgICBBeGlzT3JpZW50YXRpb24ueSxcbiAgICAgICAgICAgICAgICB5Lm9wdGlvbnMuaW52ZXJ0ZWRcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY29uc3QgcmVzY2FsZWQgPSB0cmFuc2Zvcm0ucmVzY2FsZVkoeS5zY2FsZS5jb3B5KCkpO1xuICAgICAgICAgICAgICB5LnNldFNjYWxlKHJlc2NhbGVkKTtcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1DYWNoZVkuc2V0KHkuaW5kZXgsIHRyYW5zZm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgeDogeEF4aXNNYXAsXG4gICAgICAgICAgeTogeUF4aXNNYXAsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KHtcbiAgICAgICAgYnVmZmVyU2l6ZTogMSxcbiAgICAgICAgcmVmQ291bnQ6IHRydWUsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXNldFpvb20oKSB7XG4gICAgdGhpcy5jaGFydFNlcnZpY2UuY29uZmlnXG4gICAgICAucGlwZSh0YWtlKDEpLCB3aXRoTGF0ZXN0RnJvbSh0aGlzLnNjYWxlcykpXG4gICAgICAuc3Vic2NyaWJlKChbY29uZmlnLCBzY2FsZXNdOiBbSUNoYXJ0Q29uZmlnLCBJU2NhbGVzTWFwXSkgPT4ge1xuICAgICAgICBjb25maWcueEF4aXMuZm9yRWFjaCgoYXhpcywgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBzY2FsZSA9IHNjYWxlcz8ueD8uZ2V0KGluZGV4KT8ub3JpZ2luRG9tYWluO1xuICAgICAgICAgIGlmIChzY2FsZSkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gbmV3IFpvb21NZXNzYWdlKHtcbiAgICAgICAgICAgICAgZXZlbnRUeXBlOiAnZW5kJyxcbiAgICAgICAgICAgICAgYXhpczoge1xuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiBBeGlzT3JpZW50YXRpb24ueCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZG9tYWluOiBzY2FsZSxcbiAgICAgICAgICAgICAgY2hhcnRJZDogY29uZmlnLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLmZpcmVab29tKG1zZyk7XG4gICAgICAgICAgICBpZiAoY29uZmlnLnpvb20uc3luY0NoYW5uZWwgJiYgY29uZmlnLnpvb20uc3luY1R5cGUgPT09IFpvb21UeXBlLngpIHtcbiAgICAgICAgICAgICAgdGhpcy56b29tU2VydmljZS5icm9hZGNhc3Rab29tKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29uZmlnLnlBeGlzLmZvckVhY2goKGF4aXMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZXM/Lnk/LmdldChpbmRleCk/Lm9yaWdpbkRvbWFpbjtcbiAgICAgICAgICBpZiAoc2NhbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IG5ldyBab29tTWVzc2FnZSh7XG4gICAgICAgICAgICAgIGV2ZW50VHlwZTogJ2VuZCcsXG4gICAgICAgICAgICAgIGF4aXM6IHtcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogQXhpc09yaWVudGF0aW9uLnksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRvbWFpbjogc2NhbGUsXG4gICAgICAgICAgICAgIGNoYXJ0SWQ6IGNvbmZpZy5pZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy56b29tU2VydmljZS5maXJlWm9vbShtc2cpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy56b29tLnN5bmNDaGFubmVsICYmIGNvbmZpZy56b29tLnN5bmNUeXBlID09PSBab29tVHlwZS55KSB7XG4gICAgICAgICAgICAgIHRoaXMuem9vbVNlcnZpY2UuYnJvYWRjYXN0Wm9vbShtc2cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -4,7 +4,7 @@ import { Injectable } from '@angular/core';
|
|
|
4
4
|
import { zoomIdentity } from 'd3';
|
|
5
5
|
import { BroadcastService } from './broadcast.service';
|
|
6
6
|
import { ChartService } from './chart.service';
|
|
7
|
-
import { ZoomType } from
|
|
7
|
+
import { ZoomType } from '../model/enum/zoom-type';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "./broadcast.service";
|
|
10
10
|
import * as i2 from "./chart.service";
|
|
@@ -15,7 +15,7 @@ export class ZoomService {
|
|
|
15
15
|
this.zoomed$ = new BehaviorSubject(null);
|
|
16
16
|
this.zoomed = this.zoomed$.asObservable().pipe(shareReplay({
|
|
17
17
|
bufferSize: 1,
|
|
18
|
-
refCount: true
|
|
18
|
+
refCount: true,
|
|
19
19
|
}));
|
|
20
20
|
}
|
|
21
21
|
fireZoom(zoom) {
|
|
@@ -25,7 +25,7 @@ export class ZoomService {
|
|
|
25
25
|
if (this.broadcastChannel?.length) {
|
|
26
26
|
this._broadcast.broadcastZoom({
|
|
27
27
|
channel: this.broadcastChannel,
|
|
28
|
-
message: zoom
|
|
28
|
+
message: zoom,
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -37,9 +37,10 @@ export class ZoomService {
|
|
|
37
37
|
if (this.broadcastChannel?.length) {
|
|
38
38
|
this.broadcastSub = combineLatest([this._broadcast.subscribeToZoom(this.broadcastChannel), this._chart.config])
|
|
39
39
|
.pipe(filter(([zoom, config]) => {
|
|
40
|
-
return zoom.message?.chartId !== config.id &&
|
|
41
|
-
(
|
|
42
|
-
|
|
40
|
+
return (zoom.message?.chartId !== config.id &&
|
|
41
|
+
(config.zoom.syncType === ZoomType.xy ||
|
|
42
|
+
(zoom.message.axis.orientation === AxisOrientation.y && config.zoom.syncType === ZoomType.y) ||
|
|
43
|
+
(zoom.message.axis.orientation === AxisOrientation.x && config.zoom.syncType === ZoomType.x)));
|
|
43
44
|
}))
|
|
44
45
|
.subscribe(([zoom, config]) => {
|
|
45
46
|
this.fireZoom(zoom.message);
|
|
@@ -47,7 +48,8 @@ export class ZoomService {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
getD3Transform(targetDomain, originalDomain, scale, orientation, inverted) {
|
|
50
|
-
const zoomScale = Math.abs(scale(originalDomain[1]) - scale(originalDomain[0])) /
|
|
51
|
+
const zoomScale = Math.abs(scale(originalDomain[1]) - scale(originalDomain[0])) /
|
|
52
|
+
Math.abs(scale(targetDomain[1]) - scale(targetDomain[0]));
|
|
51
53
|
let transform = zoomIdentity.scale(zoomScale);
|
|
52
54
|
if (orientation === AxisOrientation.x) {
|
|
53
55
|
if (!!inverted) {
|
|
@@ -79,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
79
81
|
providedIn: 'root',
|
|
80
82
|
}]
|
|
81
83
|
}], ctorParameters: () => [{ type: i1.BroadcastService }, { type: i2.ChartService }] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L3NlcnZpY2Uvem9vbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBYyxXQUFXLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUtuRCxNQUFNLE9BQU8sV0FBVztJQU90QixZQUFvQixVQUE0QixFQUFVLE1BQW9CO1FBQTFELGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUp0RSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUM7UUFLdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDNUMsV0FBVyxDQUFDO1lBQ1YsVUFBVSxFQUFFLENBQUM7WUFDYixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFpQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWlCO1FBQzdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixF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SSxXQUFXLEtBQUssZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNmLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQW5GVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBeGlzT3JpZW50YXRpb24gfSBmcm9tICcuLi9tb2RlbC9lbnVtL2F4aXMtb3JpZW50YXRpb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQnJvYWRjYXN0TWVzc2FnZSwgWm9vbU1lc3NhZ2UgfSBmcm9tICcuLi9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlJztcbmltcG9ydCB7IHpvb21JZGVudGl0eSB9IGZyb20gJ2QzJztcbmltcG9ydCB7IEJyb2FkY2FzdFNlcnZpY2UgfSBmcm9tICcuL2Jyb2FkY2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYXJ0U2VydmljZSB9IGZyb20gJy4vY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJQ2hhcnRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBab29tVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS10eXBlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFpvb21TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgem9vbWVkOiBPYnNlcnZhYmxlPFpvb21NZXNzYWdlPjtcblxuICBwcml2YXRlIHpvb21lZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFpvb21NZXNzYWdlPihudWxsKTtcbiAgcHJpdmF0ZSBicm9hZGNhc3RDaGFubmVsOiBzdHJpbmc7XG4gIHByaXZhdGUgYnJvYWRjYXN0U3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYnJvYWRjYXN0OiBCcm9hZGNhc3RTZXJ2aWNlLCBwcml2YXRlIF9jaGFydDogQ2hhcnRTZXJ2aWNlKSB7XG4gICAgdGhpcy56b29tZWQgPSB0aGlzLnpvb21lZCQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIHNoYXJlUmVwbGF5KHtcbiAgICAgICAgYnVmZmVyU2l6ZTogMSxcbiAgICAgICAgcmVmQ291bnQ6IHRydWUsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBmaXJlWm9vbSh6b29tOiBab29tTWVzc2FnZSkge1xuICAgIHRoaXMuem9vbWVkJC5uZXh0KHpvb20pO1xuICB9XG5cbiAgYnJvYWRjYXN0Wm9vbSh6b29tOiBab29tTWVzc2FnZSkge1xuICAgIGlmICh0aGlzLmJyb2FkY2FzdENoYW5uZWw/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5fYnJvYWRjYXN0LmJyb2FkY2FzdFpvb20oe1xuICAgICAgICBjaGFubmVsOiB0aGlzLmJyb2FkY2FzdENoYW5uZWwsXG4gICAgICAgIG1lc3NhZ2U6IHpvb20sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRCcm9hZGNhc3RDaGFubmVsKGNoYW5uZWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmJyb2FkY2FzdFN1Yikge1xuICAgICAgdGhpcy5icm9hZGNhc3RTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuYnJvYWRjYXN0Q2hhbm5lbCA9IGNoYW5uZWw7XG4gICAgaWYgKHRoaXMuYnJvYWRjYXN0Q2hhbm5lbD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmJyb2FkY2FzdFN1YiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Jyb2FkY2FzdC5zdWJzY3JpYmVUb1pvb20odGhpcy5icm9hZGNhc3RDaGFubmVsKSwgdGhpcy5fY2hhcnQuY29uZmlnXSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChbem9vbSwgY29uZmlnXTogW0lCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPiwgSUNoYXJ0Q29uZmlnXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgem9vbS5tZXNzYWdlPy5jaGFydElkICE9PSBjb25maWcuaWQgJiZcbiAgICAgICAgICAgICAgKGNvbmZpZy56b29tLnN5bmNUeXBlID09PSBab29tVHlwZS54eSB8fFxuICAgICAgICAgICAgICAgICh6b29tLm1lc3NhZ2UuYXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkgJiYgY29uZmlnLnpvb20uc3luY1R5cGUgPT09IFpvb21UeXBlLnkpIHx8XG4gICAgICAgICAgICAgICAgKHpvb20ubWVzc2FnZS5heGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCAmJiBjb25maWcuem9vbS5zeW5jVHlwZSA9PT0gWm9vbVR5cGUueCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoW3pvb20sIGNvbmZpZ10pID0+IHtcbiAgICAgICAgICB0aGlzLmZpcmVab29tKHpvb20ubWVzc2FnZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldEQzVHJhbnNmb3JtKFxuICAgIHRhcmdldERvbWFpbjogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcmlnaW5hbERvbWFpbjogW251bWJlciwgbnVtYmVyXSxcbiAgICBzY2FsZSxcbiAgICBvcmllbnRhdGlvbjogQXhpc09yaWVudGF0aW9uLFxuICAgIGludmVydGVkOiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IHpvb21TY2FsZSA9XG4gICAgICBNYXRoLmFicyhzY2FsZShvcmlnaW5hbERvbWFpblsxXSkgLSBzY2FsZShvcmlnaW5hbERvbWFpblswXSkpIC9cbiAgICAgIE1hdGguYWJzKHNjYWxlKHRhcmdldERvbWFpblsxXSkgLSBzY2FsZSh0YXJnZXREb21haW5bMF0pKTtcbiAgICBsZXQgdHJhbnNmb3JtID0gem9vbUlkZW50aXR5LnNjYWxlKHpvb21TY2FsZSk7XG4gICAgaWYgKG9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCkge1xuICAgICAgaWYgKCEhaW52ZXJ0ZWQpIHtcbiAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgtc2NhbGUoTWF0aC5tYXgoLi4udGFyZ2V0RG9tYWluKSksIDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgtc2NhbGUoTWF0aC5taW4oLi4udGFyZ2V0RG9tYWluKSksIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpIHtcbiAgICAgIGlmICghIWludmVydGVkKSB7XG4gICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoMCwgLXNjYWxlKE1hdGgubWluKC4uLnRhcmdldERvbWFpbikpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoMCwgLXNjYWxlKE1hdGgubWF4KC4uLnRhcmdldERvbWFpbikpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zZm9ybTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYnJvYWRjYXN0U3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
package/esm2022/index.mjs
CHANGED
|
@@ -10,4 +10,4 @@ export * from './chart/chart-container/series/public-api';
|
|
|
10
10
|
export * from './chart/core/axis/axis';
|
|
11
11
|
export * from './chart/core/utils/public-api';
|
|
12
12
|
export * from './observable/public-api';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY2hhcnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0L3NlcnZpY2UvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0L2Jhc2Uvc2VyaWVzLWJhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQvY2hhcnQvY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC9tb2RlbC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQvY2hhcnQtY29udGFpbmVyL3Nlcmllcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQvY29yZS9heGlzL2F4aXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC9jb3JlL3V0aWxzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9vYnNlcnZhYmxlL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Observable, pipe } from 'rxjs';
|
|
2
2
|
export function tetaZoneFull(ngZone) {
|
|
3
|
-
return source => new Observable(subscriber => source.subscribe({
|
|
4
|
-
next: value => ngZone.run(() => subscriber.next(value)),
|
|
3
|
+
return (source) => new Observable((subscriber) => source.subscribe({
|
|
4
|
+
next: (value) => ngZone.run(() => subscriber.next(value)),
|
|
5
5
|
error: (error) => ngZone.run(() => subscriber.error(error)),
|
|
6
6
|
complete: () => ngZone.run(() => subscriber.complete()),
|
|
7
7
|
}));
|
|
8
8
|
}
|
|
9
9
|
export function tetaZoneFree(ngZone) {
|
|
10
|
-
return source => new Observable(subscriber => ngZone.runOutsideAngular(() => source.subscribe(subscriber)));
|
|
10
|
+
return (source) => new Observable((subscriber) => ngZone.runOutsideAngular(() => source.subscribe(subscriber)));
|
|
11
11
|
}
|
|
12
12
|
export function tetaZoneOptimized(ngZone) {
|
|
13
13
|
return pipe(tetaZoneFree(ngZone), tetaZoneFull(ngZone));
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZU9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2JzZXJ2YWJsZS96b25lT2JzZXJ2YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTRCLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEUsTUFBTSxVQUFVLFlBQVksQ0FBSSxNQUFjO0lBQzVDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNoQixJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQzVCLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxLQUFLLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDeEQsQ0FBQyxDQUNILENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBSSxNQUFjO0lBQzVDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxNQUFjO0lBQ2pELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHBpcGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRldGFab25lRnVsbDxUPihuZ1pvbmU6IE5nWm9uZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiAoc291cmNlKSA9PlxuICAgIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PlxuICAgICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2YWx1ZSkgPT4gbmdab25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLm5leHQodmFsdWUpKSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogdW5rbm93bikgPT4gbmdab25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLmVycm9yKGVycm9yKSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBuZ1pvbmUucnVuKCgpID0+IHN1YnNjcmliZXIuY29tcGxldGUoKSksXG4gICAgICB9KVxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXRhWm9uZUZyZWU8VD4obmdab25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gKHNvdXJjZSkgPT4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXRhWm9uZU9wdGltaXplZDxUPihuZ1pvbmU6IE5nWm9uZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBwaXBlKHRldGFab25lRnJlZShuZ1pvbmUpLCB0ZXRhWm9uZUZ1bGwobmdab25lKSk7XG59XG4iXX0=
|