@tetacom/ng-components 1.0.11 → 1.0.15
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/component/chart/chart/chart.component.d.ts +2 -1
- package/component/chart/core/chart.d.ts +2 -0
- package/component/chart/model/enum/dispatch-type.d.ts +2 -1
- package/component/chart/model/enum/drag-point-type.d.ts +5 -0
- package/component/chart/model/enum/public-api.d.ts +1 -0
- package/component/chart/model/point/base-point.d.ts +2 -0
- package/component/chart/model/point/marker-options.d.ts +11 -0
- package/component/chart/model/point/public-api.d.ts +1 -0
- package/esm2020/component/chart/chart/chart.component.mjs +11 -4
- package/esm2020/component/chart/core/chart.mjs +13 -5
- package/esm2020/component/chart/drawer/line-drawer.mjs +49 -3
- package/esm2020/component/chart/drawer/spline-drawer.mjs +2 -1
- package/esm2020/component/chart/model/enum/dispatch-type.mjs +2 -1
- package/esm2020/component/chart/model/enum/drag-point-type.mjs +7 -0
- package/esm2020/component/chart/model/enum/public-api.mjs +2 -1
- package/esm2020/component/chart/model/point/base-point.mjs +1 -1
- package/esm2020/component/chart/model/point/marker-options.mjs +2 -0
- package/esm2020/component/chart/model/point/public-api.mjs +2 -1
- package/fesm2015/tetacom-ng-components.mjs +79 -11
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +79 -10
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as d3 from 'd3';
|
|
2
2
|
import { DispatchType } from '../model/enum/dispatch-type';
|
|
3
|
+
import { DragPointType } from '../model/enum/drag-point-type';
|
|
3
4
|
export class LineDrawer {
|
|
4
5
|
constructor() {
|
|
5
|
-
this.dispatch = d3.dispatch(DispatchType.moveLine);
|
|
6
|
+
this.dispatch = d3.dispatch(DispatchType.moveLine, DispatchType.movePoint);
|
|
6
7
|
}
|
|
7
8
|
draw(series, context, scaleX, scaleY, options) {
|
|
8
9
|
const points = series.data;
|
|
10
|
+
const markerPoints = points.filter((_) => _.marker);
|
|
9
11
|
const path = d3
|
|
10
12
|
.line()
|
|
11
13
|
.curve(series.curveType)
|
|
@@ -15,7 +17,7 @@ export class LineDrawer {
|
|
|
15
17
|
const seriesIndex = options.series.findIndex((_) => _.id === series.id);
|
|
16
18
|
context
|
|
17
19
|
.append('path')
|
|
18
|
-
.attr('class', (d) => series?.drag.enable ? 'draggable' :
|
|
20
|
+
.attr('class', (d) => series?.drag.enable ? 'draggable' : `series-${seriesIndex}`)
|
|
19
21
|
.attr('data-draggable-id', seriesIndex)
|
|
20
22
|
.attr('fill', 'none')
|
|
21
23
|
.attr('stroke', series.color)
|
|
@@ -101,6 +103,50 @@ export class LineDrawer {
|
|
|
101
103
|
if (series?.drag?.extendLine && points?.length) {
|
|
102
104
|
drawExtendedLine();
|
|
103
105
|
}
|
|
106
|
+
if (markerPoints?.length) {
|
|
107
|
+
const emit = (event, target) => {
|
|
108
|
+
this.dispatch.apply(DispatchType.movePoint, {
|
|
109
|
+
target: series,
|
|
110
|
+
point: {
|
|
111
|
+
...target,
|
|
112
|
+
},
|
|
113
|
+
event,
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
context
|
|
117
|
+
.selectAll(`draggable-marker-${seriesIndex}`)
|
|
118
|
+
.data(markerPoints)
|
|
119
|
+
.enter()
|
|
120
|
+
.append('circle')
|
|
121
|
+
.attr('class', `draggable-marker-${seriesIndex}`)
|
|
122
|
+
.attr('r', (d) => d.marker?.style?.radius || 5)
|
|
123
|
+
.attr('cx', function (d) {
|
|
124
|
+
return scaleX(d.x);
|
|
125
|
+
})
|
|
126
|
+
.attr('cy', function (d) {
|
|
127
|
+
return scaleY(d.y);
|
|
128
|
+
})
|
|
129
|
+
.style('cursor', 'pointer')
|
|
130
|
+
.style('fill', (d) => d.marker?.style?.color || 'none')
|
|
131
|
+
.attr('stroke', (d) => d.marker?.style?.stroke || 'none')
|
|
132
|
+
.attr('stroke-width', (d) => d.marker?.style?.strokeWidth || 0);
|
|
133
|
+
context.selectAll(`.draggable-marker-${seriesIndex}`).call(d3.drag().on('drag start end', function dragged(event, d) {
|
|
134
|
+
const node = d3.select(this);
|
|
135
|
+
if (event.type === 'start') {
|
|
136
|
+
node.raise().classed('active', true);
|
|
137
|
+
}
|
|
138
|
+
if (d.marker?.dragType === DragPointType.x) {
|
|
139
|
+
d.x = scaleX.invert(event.sourceEvent?.offsetX);
|
|
140
|
+
node.attr('cx', scaleX(d.x));
|
|
141
|
+
}
|
|
142
|
+
if (d.marker?.dragType === DragPointType.y) {
|
|
143
|
+
d.y = scaleY.invert(event.sourceEvent?.offsetY);
|
|
144
|
+
node.attr('cy', scaleY(d.y));
|
|
145
|
+
}
|
|
146
|
+
context.select(`.series-${seriesIndex}`).attr('d', path);
|
|
147
|
+
emit(event, d);
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
104
150
|
}
|
|
105
151
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kcmF3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvY2hhcnQvZHJhd2VyL2xpbmUtZHJhd2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBR3pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sVUFBVTtJQUdyQjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksQ0FDRixNQUF5QixFQUN6QixPQUEyRCxFQUMzRCxNQUFXLEVBQ1gsTUFBVyxFQUNYLE9BQXFCO1FBRXJCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFM0IsTUFBTSxJQUFJLEdBQUcsRUFBRTthQUNaLElBQUksRUFBYTthQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQzthQUN2QixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLENB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QUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFFdEMsT0FBTztpQkFDSixNQUFNLENBQUMsTUFBTSxDQUFDO2lCQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDO2lCQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDO2lCQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7aUJBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztpQkFDekMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUM7aUJBQ2pELElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDaEMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7UUFFRixJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxJQUFJLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDOUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmF3ZXIgfSBmcm9tICcuLi9tb2RlbC9pLWRyYXdlcic7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9tb2RlbC9wb2ludC9iYXNlLXBvaW50JztcbmltcG9ydCB7IFNlcmllcyB9IGZyb20gJy4uL21vZGVsL3Nlcmllcyc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5pbXBvcnQgeyBDaGFydE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9jaGFydC1vcHRpb25zJztcbmltcG9ydCB7IElEcmFnRXZlbnQgfSBmcm9tICcuLi9tb2RlbC9pLWRyYWctZXZlbnQnO1xuaW1wb3J0IHsgRGlzcGF0Y2hUeXBlIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9kaXNwYXRjaC10eXBlJztcblxuZXhwb3J0IGNsYXNzIExpbmVEcmF3ZXIgaW1wbGVtZW50cyBJRHJhd2VyPEJhc2VQb2ludD4ge1xuICBkaXNwYXRjaDogZDMuRGlzcGF0Y2g8SURyYWdFdmVudDxTZXJpZXM8QmFzZVBvaW50Pj4+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGlzcGF0Y2ggPSBkMy5kaXNwYXRjaChEaXNwYXRjaFR5cGUubW92ZUxpbmUpO1xuICB9XG5cbiAgZHJhdyhcbiAgICBzZXJpZXM6IFNlcmllczxCYXNlUG9pbnQ+LFxuICAgIGNvbnRleHQ6IGQzLlNlbGVjdGlvbjxTVkdFbGVtZW50LCB1bmtub3duLCBudWxsLCB1bmRlZmluZWQ+LFxuICAgIHNjYWxlWDogYW55LFxuICAgIHNjYWxlWTogYW55LFxuICAgIG9wdGlvbnM6IENoYXJ0T3B0aW9uc1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBwb2ludHMgPSBzZXJpZXMuZGF0YTtcblxuICAgIGNvbnN0IHBhdGggPSBkM1xuICAgICAgLmxpbmU8QmFzZVBvaW50PigpXG4gICAgICAuY3VydmUoc2VyaWVzLmN1cnZlVHlwZSlcbiAgICAgIC5kZWZpbmVkKChkKSA9PiBkLnggIT0gbnVsbCAmJiBkLnkgIT0gbnVsbClcbiAgICAgIC54KChkKSA9PiBzY2FsZVgoZC54KSlcbiAgICAgIC55KChkKSA9PiBzY2FsZVkoZC55KSk7XG4gICAgY29uc3Qgc2VyaWVzSW5kZXggPSBvcHRpb25zLnNlcmllcy5maW5kSW5kZXgoKF8pID0+IF8uaWQgPT09IHNlcmllcy5pZCk7XG5cbiAgICBjb250ZXh0XG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsIChkOiBCYXNlUG9pbnQpID0+XG4gICAgICAgIHNlcmllcz8uZHJhZy5lbmFibGUgPyAnZHJhZ2dhYmxlJyA6IG51bGxcbiAgICAgIClcbiAgICAgIC5hdHRyKCdkYXRhLWRyYWdnYWJsZS1pZCcsIHNlcmllc0luZGV4KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAnbm9uZScpXG4gICAgICAuYXR0cignc3Ryb2tlJywgc2VyaWVzLmNvbG9yKVxuICAgICAgLmF0dHIoJ3N0cm9rZS1kYXNoYXJyYXknLCBzZXJpZXM/LnN0cm9rZURhc2hhcnJheSlcbiAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCBzZXJpZXMuc3Ryb2tlV2lkdGggPyBzZXJpZXMuc3Ryb2tlV2lkdGggOiAxKVxuICAgICAgLnN0eWxlKCdjdXJzb3InLCBzZXJpZXM/LmRyYWc/LmVuYWJsZSA/ICdtb3ZlJyA6ICdkZWZhdWx0JylcbiAgICAgIC5kYXR1bShwb2ludHMpXG4gICAgICAuYXR0cignZCcsIHBhdGggYXMgYW55KTtcblxuICAgIGNvbnN0IHUgPSBjb250ZXh0LmFwcGVuZCgnZycpLmF0dHIoJ2NsYXNzJywgJ2dyYWJiZXJzJyk7XG5cbiAgICBjb25zdCBlbWl0ID0gKGV2ZW50OiBEcmFnRXZlbnQsIHRhcmdldDogU2VyaWVzPEJhc2VQb2ludD4pID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2guYXBwbHkoRGlzcGF0Y2hUeXBlLm1vdmVMaW5lLCB7XG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgZXZlbnQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaWYgKHNlcmllcy5kcmFnLmVuYWJsZSkge1xuICAgICAgdS5zZWxlY3RBbGwoJ2NpcmNsZScpXG4gICAgICAgIC5kYXRhKHBvaW50cylcbiAgICAgICAgLmVudGVyKClcbiAgICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2RhdGEtZ3JhYmJlci1pZCcsIHNlcmllc0luZGV4KVxuICAgICAgICAuYXR0cignc3Ryb2tlJywgc2VyaWVzPy5kcmFnPy5ncmFiYmVycz8uc3Ryb2tlID8/IHNlcmllcz8uY29sb3IpXG4gICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCBzZXJpZXM/LmRyYWc/LmdyYWJiZXJzPy5zdHJva2VXaWR0aCA/PyAxKVxuICAgICAgICAuYXR0cignZmlsbCcsIHNlcmllcz8uZHJhZz8uZ3JhYmJlcnM/LmZpbGwgPz8gc2VyaWVzPy5jb2xvcilcbiAgICAgICAgLmF0dHIoJ3InLCBzZXJpZXM/LmRyYWc/LmdyYWJiZXJzPy5yYWRpdXMgPz8gNClcbiAgICAgICAgLmF0dHIoJ2N4JywgZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICByZXR1cm4gc2NhbGVYKGQueCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5hdHRyKCdjeScsIGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNjYWxlWShkLnkpO1xuICAgICAgICB9KVxuICAgICAgICAuc3R5bGUoJ2N1cnNvcicsICdtb3ZlJylcbiAgICAgICAgLmNhbGwoXG4gICAgICAgICAgZDMuZHJhZygpLm9uKCdzdGFydCBkcmFnIGVuZCcsIGZ1bmN0aW9uIChldmVudCwgZDogQmFzZVBvaW50KSB7XG4gICAgICAgICAgICBkLnggPSBzY2FsZVguaW52ZXJ0KGV2ZW50LnNvdXJjZUV2ZW50Py5vZmZzZXRYKTtcbiAgICAgICAgICAgIGQueSA9IHNjYWxlWS5pbnZlcnQoZXZlbnQuc291cmNlRXZlbnQ/Lm9mZnNldFkpO1xuICAgICAgICAgICAgZDMuc2VsZWN0KHRoaXMpLmF0dHIoJ2N4Jywgc2NhbGVYKGQueCkpLmF0dHIoJ2N5Jywgc2NhbGVZKGQueSkpO1xuXG4gICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICAgIC5zZWxlY3QoYFtkYXRhLWRyYWdnYWJsZS1pZD0nJHtzZXJpZXNJbmRleH0nXWApXG4gICAgICAgICAgICAgIC5hdHRyKCdkJywgcGF0aCk7XG5cbiAgICAgICAgICAgIGVtaXQoZXZlbnQsIHNlcmllcyk7XG5cbiAgICAgICAgICAgIGlmIChzZXJpZXM/LmRyYWc/LmV4dGVuZExpbmUpIHtcbiAgICAgICAgICAgICAgZHJhd0V4dGVuZGVkTGluZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgIHUuZXhpdCgpLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGRyYXdFeHRlbmRlZExpbmUgPSAoKSA9PiB7XG4gICAgICBjb250ZXh0LnNlbGVjdEFsbChgW2RhdGEtZXh0ZW5kZWQtaWQ9JyR7c2VyaWVzSW5kZXh9J11gKS5yZW1vdmUoKTtcblxuICAgICAgY29uc3QgcDEgPSBwb2ludHNbMF07XG4gICAgICBjb25zdCBwMiA9IHBvaW50c1twb2ludHMubGVuZ3RoIC0gMV07XG5cbiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5zcXJ0KFxuICAgICAgICBNYXRoLnBvdyhwMi54IC0gcDEueCwgMikgKyBNYXRoLnBvdyhwMi55IC0gcDIueSwgMilcbiAgICAgICk7XG5cbiAgICAgIGlmIChkaXN0YW5jZSA8PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXh0ZW5kTGVuZ3RoID0gNTA7XG5cbiAgICAgIGNvbnN0IGV4dGVuZGVkRW5kWCA9IHAyLnggKyAoKHAyLnggLSBwMS54KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcbiAgICAgIGNvbnN0IGV4dGVuZGVkRW5kWSA9IHAyLnkgKyAoKHAyLnkgLSBwMS55KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcblxuICAgICAgY29uc3QgZXh0ZW5kZWRTdGFydFggPSBwMS54IC0gKChwMi54IC0gcDEueCkgLyBkaXN0YW5jZSkgKiBleHRlbmRMZW5ndGg7XG4gICAgICBjb25zdCBleHRlbmRlZFN0YXJ0WSA9IHAxLnkgLSAoKHAyLnkgLSBwMS55KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcblxuICAgICAgY29udGV4dFxuICAgICAgICAuYXBwZW5kKCdsaW5lJylcbiAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2V4dGVuZGVkTGluZScpXG4gICAgICAgIC5hdHRyKCdkYXRhLWV4dGVuZGVkLWlkJywgc2VyaWVzSW5kZXgpXG4gICAgICAgIC5hdHRyKCdzdHJva2UnLCBzZXJpZXM/LmNvbG9yKVxuICAgICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgc2VyaWVzPy5zdHJva2VXaWR0aClcbiAgICAgICAgLmF0dHIoJ3N0cm9rZS1kYXNoYXJyYXknLCBzZXJpZXM/LnN0cm9rZURhc2hhcnJheSlcbiAgICAgICAgLmF0dHIoJ3gxJywgc2NhbGVYKHAxLngpKVxuICAgICAgICAuYXR0cigneTEnLCBzY2FsZVkocDEueSkpXG4gICAgICAgIC5hdHRyKCd4MicsIHNjYWxlWChleHRlbmRlZFN0YXJ0WCkpXG4gICAgICAgIC5hdHRyKCd5MicsIHNjYWxlWShleHRlbmRlZFN0YXJ0WSkpO1xuXG4gICAgICBjb250ZXh0XG4gICAgICAgIC5hcHBlbmQoJ2xpbmUnKVxuICAgICAgICAuYXR0cignY2xhc3MnLCAnZXh0ZW5kZWRMaW5lJylcbiAgICAgICAgLmF0dHIoJ2RhdGEtZXh0ZW5kZWQtaWQnLCBzZXJpZXNJbmRleClcbiAgICAgICAgLmF0dHIoJ3N0cm9rZScsIHNlcmllcz8uY29sb3IpXG4gICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCBzZXJpZXM/LnN0cm9rZVdpZHRoKVxuICAgICAgICAuYXR0cignc3Ryb2tlLWRhc2hhcnJheScsIHNlcmllcz8uc3Ryb2tlRGFzaGFycmF5KVxuICAgICAgICAuYXR0cigneDEnLCBzY2FsZVgocDIueCkpXG4gICAgICAgIC5hdHRyKCd5MScsIHNjYWxlWShwMi55KSlcbiAgICAgICAgLmF0dHIoJ3gyJywgc2NhbGVYKGV4dGVuZGVkRW5kWCkpXG4gICAgICAgIC5hdHRyKCd5MicsIHNjYWxlWShleHRlbmRlZEVuZFkpKTtcbiAgICB9O1xuXG4gICAgaWYgKHNlcmllcz8uZHJhZz8uZXh0ZW5kTGluZSAmJiBwb2ludHM/Lmxlbmd0aCkge1xuICAgICAgZHJhd0V4dGVuZGVkTGluZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kcmF3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvY2hhcnQvZHJhd2VyL2xpbmUtZHJhd2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBR3pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFOUQsTUFBTSxPQUFPLFVBQVU7SUFHckI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQUksQ0FDRixNQUF5QixFQUN6QixPQUEyRCxFQUMzRCxNQUFXLEVBQ1gsTUFBVyxFQUNYLE9BQXFCO1FBRXJCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFM0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBELE1BQU0sSUFBSSxHQUFHLEVBQUU7YUFDWixJQUFJLEVBQWE7YUFDakIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7YUFDdkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQzthQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFF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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtnQkFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUV6RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmF3ZXIgfSBmcm9tICcuLi9tb2RlbC9pLWRyYXdlcic7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9tb2RlbC9wb2ludC9iYXNlLXBvaW50JztcbmltcG9ydCB7IFNlcmllcyB9IGZyb20gJy4uL21vZGVsL3Nlcmllcyc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5pbXBvcnQgeyBDaGFydE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9jaGFydC1vcHRpb25zJztcbmltcG9ydCB7IElEcmFnRXZlbnQgfSBmcm9tICcuLi9tb2RlbC9pLWRyYWctZXZlbnQnO1xuaW1wb3J0IHsgRGlzcGF0Y2hUeXBlIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9kaXNwYXRjaC10eXBlJztcbmltcG9ydCB7IERyYWdQb2ludFR5cGUgfSBmcm9tICcuLi9tb2RlbC9lbnVtL2RyYWctcG9pbnQtdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBMaW5lRHJhd2VyIGltcGxlbWVudHMgSURyYXdlcjxCYXNlUG9pbnQ+IHtcbiAgZGlzcGF0Y2g6IGQzLkRpc3BhdGNoPElEcmFnRXZlbnQ8U2VyaWVzPEJhc2VQb2ludD4+PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRpc3BhdGNoID0gZDMuZGlzcGF0Y2goRGlzcGF0Y2hUeXBlLm1vdmVMaW5lLCBEaXNwYXRjaFR5cGUubW92ZVBvaW50KTtcbiAgfVxuXG4gIGRyYXcoXG4gICAgc2VyaWVzOiBTZXJpZXM8QmFzZVBvaW50PixcbiAgICBjb250ZXh0OiBkMy5TZWxlY3Rpb248U1ZHRWxlbWVudCwgdW5rbm93biwgbnVsbCwgdW5kZWZpbmVkPixcbiAgICBzY2FsZVg6IGFueSxcbiAgICBzY2FsZVk6IGFueSxcbiAgICBvcHRpb25zOiBDaGFydE9wdGlvbnNcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnRzID0gc2VyaWVzLmRhdGE7XG5cbiAgICBjb25zdCBtYXJrZXJQb2ludHMgPSBwb2ludHMuZmlsdGVyKChfKSA9PiBfLm1hcmtlcik7XG5cbiAgICBjb25zdCBwYXRoID0gZDNcbiAgICAgIC5saW5lPEJhc2VQb2ludD4oKVxuICAgICAgLmN1cnZlKHNlcmllcy5jdXJ2ZVR5cGUpXG4gICAgICAuZGVmaW5lZCgoZCkgPT4gZC54ICE9IG51bGwgJiYgZC55ICE9IG51bGwpXG4gICAgICAueCgoZCkgPT4gc2NhbGVYKGQueCkpXG4gICAgICAueSgoZCkgPT4gc2NhbGVZKGQueSkpO1xuXG4gICAgY29uc3Qgc2VyaWVzSW5kZXggPSBvcHRpb25zLnNlcmllcy5maW5kSW5kZXgoKF8pID0+IF8uaWQgPT09IHNlcmllcy5pZCk7XG5cbiAgICBjb250ZXh0XG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsIChkOiBCYXNlUG9pbnQpID0+XG4gICAgICAgIHNlcmllcz8uZHJhZy5lbmFibGUgPyAnZHJhZ2dhYmxlJyA6IGBzZXJpZXMtJHtzZXJpZXNJbmRleH1gXG4gICAgICApXG4gICAgICAuYXR0cignZGF0YS1kcmFnZ2FibGUtaWQnLCBzZXJpZXNJbmRleClcbiAgICAgIC5hdHRyKCdmaWxsJywgJ25vbmUnKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsIHNlcmllcy5jb2xvcilcbiAgICAgIC5hdHRyKCdzdHJva2UtZGFzaGFycmF5Jywgc2VyaWVzPy5zdHJva2VEYXNoYXJyYXkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgc2VyaWVzLnN0cm9rZVdpZHRoID8gc2VyaWVzLnN0cm9rZVdpZHRoIDogMSlcbiAgICAgIC5zdHlsZSgnY3Vyc29yJywgc2VyaWVzPy5kcmFnPy5lbmFibGUgPyAnbW92ZScgOiAnZGVmYXVsdCcpXG4gICAgICAuZGF0dW0ocG9pbnRzKVxuICAgICAgLmF0dHIoJ2QnLCBwYXRoKTtcblxuICAgIGNvbnN0IHUgPSBjb250ZXh0LmFwcGVuZCgnZycpLmF0dHIoJ2NsYXNzJywgJ2dyYWJiZXJzJyk7XG5cbiAgICBjb25zdCBlbWl0ID0gKGV2ZW50OiBEcmFnRXZlbnQsIHRhcmdldDogU2VyaWVzPEJhc2VQb2ludD4pID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2guYXBwbHkoRGlzcGF0Y2hUeXBlLm1vdmVMaW5lLCB7XG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgZXZlbnQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaWYgKHNlcmllcy5kcmFnLmVuYWJsZSkge1xuICAgICAgdS5zZWxlY3RBbGwoJ2NpcmNsZScpXG4gICAgICAgIC5kYXRhKHBvaW50cylcbiAgICAgICAgLmVudGVyKClcbiAgICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2RhdGEtZ3JhYmJlci1pZCcsIHNlcmllc0luZGV4KVxuICAgICAgICAuYXR0cignc3Ryb2tlJywgc2VyaWVzPy5kcmFnPy5ncmFiYmVycz8uc3Ryb2tlID8/IHNlcmllcz8uY29sb3IpXG4gICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCBzZXJpZXM/LmRyYWc/LmdyYWJiZXJzPy5zdHJva2VXaWR0aCA/PyAxKVxuICAgICAgICAuYXR0cignZmlsbCcsIHNlcmllcz8uZHJhZz8uZ3JhYmJlcnM/LmZpbGwgPz8gc2VyaWVzPy5jb2xvcilcbiAgICAgICAgLmF0dHIoJ3InLCBzZXJpZXM/LmRyYWc/LmdyYWJiZXJzPy5yYWRpdXMgPz8gNClcbiAgICAgICAgLmF0dHIoJ2N4JywgZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICByZXR1cm4gc2NhbGVYKGQueCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5hdHRyKCdjeScsIGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNjYWxlWShkLnkpO1xuICAgICAgICB9KVxuICAgICAgICAuc3R5bGUoJ2N1cnNvcicsICdtb3ZlJylcbiAgICAgICAgLmNhbGwoXG4gICAgICAgICAgZDMuZHJhZygpLm9uKCdzdGFydCBkcmFnIGVuZCcsIGZ1bmN0aW9uIChldmVudCwgZDogQmFzZVBvaW50KSB7XG4gICAgICAgICAgICBkLnggPSBzY2FsZVguaW52ZXJ0KGV2ZW50LnNvdXJjZUV2ZW50Py5vZmZzZXRYKTtcbiAgICAgICAgICAgIGQueSA9IHNjYWxlWS5pbnZlcnQoZXZlbnQuc291cmNlRXZlbnQ/Lm9mZnNldFkpO1xuICAgICAgICAgICAgZDMuc2VsZWN0KHRoaXMpLmF0dHIoJ2N4Jywgc2NhbGVYKGQueCkpLmF0dHIoJ2N5Jywgc2NhbGVZKGQueSkpO1xuXG4gICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICAgIC5zZWxlY3QoYFtkYXRhLWRyYWdnYWJsZS1pZD0nJHtzZXJpZXNJbmRleH0nXWApXG4gICAgICAgICAgICAgIC5hdHRyKCdkJywgcGF0aCk7XG5cbiAgICAgICAgICAgIGVtaXQoZXZlbnQsIHNlcmllcyk7XG5cbiAgICAgICAgICAgIGlmIChzZXJpZXM/LmRyYWc/LmV4dGVuZExpbmUpIHtcbiAgICAgICAgICAgICAgZHJhd0V4dGVuZGVkTGluZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgIHUuZXhpdCgpLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGRyYXdFeHRlbmRlZExpbmUgPSAoKSA9PiB7XG4gICAgICBjb250ZXh0LnNlbGVjdEFsbChgW2RhdGEtZXh0ZW5kZWQtaWQ9JyR7c2VyaWVzSW5kZXh9J11gKS5yZW1vdmUoKTtcblxuICAgICAgY29uc3QgcDEgPSBwb2ludHNbMF07XG4gICAgICBjb25zdCBwMiA9IHBvaW50c1twb2ludHMubGVuZ3RoIC0gMV07XG5cbiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5zcXJ0KFxuICAgICAgICBNYXRoLnBvdyhwMi54IC0gcDEueCwgMikgKyBNYXRoLnBvdyhwMi55IC0gcDIueSwgMilcbiAgICAgICk7XG5cbiAgICAgIGlmIChkaXN0YW5jZSA8PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXh0ZW5kTGVuZ3RoID0gNTA7XG5cbiAgICAgIGNvbnN0IGV4dGVuZGVkRW5kWCA9IHAyLnggKyAoKHAyLnggLSBwMS54KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcbiAgICAgIGNvbnN0IGV4dGVuZGVkRW5kWSA9IHAyLnkgKyAoKHAyLnkgLSBwMS55KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcblxuICAgICAgY29uc3QgZXh0ZW5kZWRTdGFydFggPSBwMS54IC0gKChwMi54IC0gcDEueCkgLyBkaXN0YW5jZSkgKiBleHRlbmRMZW5ndGg7XG4gICAgICBjb25zdCBleHRlbmRlZFN0YXJ0WSA9IHAxLnkgLSAoKHAyLnkgLSBwMS55KSAvIGRpc3RhbmNlKSAqIGV4dGVuZExlbmd0aDtcblxuICAgICAgY29udGV4dFxuICAgICAgICAuYXBwZW5kKCdsaW5lJylcbiAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2V4dGVuZGVkTGluZScpXG4gICAgICAgIC5hdHRyKCdkYXRhLWV4dGVuZGVkLWlkJywgc2VyaWVzSW5kZXgpXG4gICAgICAgIC5hdHRyKCdzdHJva2UnLCBzZXJpZXM/LmNvbG9yKVxuICAgICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgc2VyaWVzPy5zdHJva2VXaWR0aClcbiAgICAgICAgLmF0dHIoJ3N0cm9rZS1kYXNoYXJyYXknLCBzZXJpZXM/LnN0cm9rZURhc2hhcnJheSlcbiAgICAgICAgLmF0dHIoJ3gxJywgc2NhbGVYKHAxLngpKVxuICAgICAgICAuYXR0cigneTEnLCBzY2FsZVkocDEueSkpXG4gICAgICAgIC5hdHRyKCd4MicsIHNjYWxlWChleHRlbmRlZFN0YXJ0WCkpXG4gICAgICAgIC5hdHRyKCd5MicsIHNjYWxlWShleHRlbmRlZFN0YXJ0WSkpO1xuXG4gICAgICBjb250ZXh0XG4gICAgICAgIC5hcHBlbmQoJ2xpbmUnKVxuICAgICAgICAuYXR0cignY2xhc3MnLCAnZXh0ZW5kZWRMaW5lJylcbiAgICAgICAgLmF0dHIoJ2RhdGEtZXh0ZW5kZWQtaWQnLCBzZXJpZXNJbmRleClcbiAgICAgICAgLmF0dHIoJ3N0cm9rZScsIHNlcmllcz8uY29sb3IpXG4gICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCBzZXJpZXM/LnN0cm9rZVdpZHRoKVxuICAgICAgICAuYXR0cignc3Ryb2tlLWRhc2hhcnJheScsIHNlcmllcz8uc3Ryb2tlRGFzaGFycmF5KVxuICAgICAgICAuYXR0cigneDEnLCBzY2FsZVgocDIueCkpXG4gICAgICAgIC5hdHRyKCd5MScsIHNjYWxlWShwMi55KSlcbiAgICAgICAgLmF0dHIoJ3gyJywgc2NhbGVYKGV4dGVuZGVkRW5kWCkpXG4gICAgICAgIC5hdHRyKCd5MicsIHNjYWxlWShleHRlbmRlZEVuZFkpKTtcbiAgICB9O1xuXG4gICAgaWYgKHNlcmllcz8uZHJhZz8uZXh0ZW5kTGluZSAmJiBwb2ludHM/Lmxlbmd0aCkge1xuICAgICAgZHJhd0V4dGVuZGVkTGluZSgpO1xuICAgIH1cblxuICAgIGlmIChtYXJrZXJQb2ludHM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgZW1pdCA9IChldmVudDogRHJhZ0V2ZW50LCB0YXJnZXQ6IEJhc2VQb2ludCkgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoLmFwcGx5KERpc3BhdGNoVHlwZS5tb3ZlUG9pbnQsIHtcbiAgICAgICAgICB0YXJnZXQ6IHNlcmllcyxcbiAgICAgICAgICBwb2ludDoge1xuICAgICAgICAgICAgLi4udGFyZ2V0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgY29udGV4dFxuICAgICAgICAuc2VsZWN0QWxsKGBkcmFnZ2FibGUtbWFya2VyLSR7c2VyaWVzSW5kZXh9YClcbiAgICAgICAgLmRhdGEobWFya2VyUG9pbnRzKVxuICAgICAgICAuZW50ZXIoKVxuICAgICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgICAuYXR0cignY2xhc3MnLCBgZHJhZ2dhYmxlLW1hcmtlci0ke3Nlcmllc0luZGV4fWApXG4gICAgICAgIC5hdHRyKCdyJywgKGQpID0+IGQubWFya2VyPy5zdHlsZT8ucmFkaXVzIHx8IDUpXG4gICAgICAgIC5hdHRyKCdjeCcsIGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNjYWxlWChkLngpO1xuICAgICAgICB9KVxuICAgICAgICAuYXR0cignY3knLCBmdW5jdGlvbiAoZCkge1xuICAgICAgICAgIHJldHVybiBzY2FsZVkoZC55KTtcbiAgICAgICAgfSlcbiAgICAgICAgLnN0eWxlKCdjdXJzb3InLCAncG9pbnRlcicpXG4gICAgICAgIC5zdHlsZSgnZmlsbCcsIChkKSA9PiBkLm1hcmtlcj8uc3R5bGU/LmNvbG9yIHx8ICdub25lJylcbiAgICAgICAgLmF0dHIoJ3N0cm9rZScsIChkKSA9PiBkLm1hcmtlcj8uc3R5bGU/LnN0cm9rZSB8fCAnbm9uZScpXG4gICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCAoZCkgPT4gZC5tYXJrZXI/LnN0eWxlPy5zdHJva2VXaWR0aCB8fCAwKTtcblxuICAgICAgY29udGV4dC5zZWxlY3RBbGwoYC5kcmFnZ2FibGUtbWFya2VyLSR7c2VyaWVzSW5kZXh9YCkuY2FsbChcbiAgICAgICAgZDMuZHJhZygpLm9uKCdkcmFnIHN0YXJ0IGVuZCcsIGZ1bmN0aW9uIGRyYWdnZWQoZXZlbnQsIGQ6IEJhc2VQb2ludCkge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSBkMy5zZWxlY3QodGhpcyk7XG5cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgICAgbm9kZS5yYWlzZSgpLmNsYXNzZWQoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChkLm1hcmtlcj8uZHJhZ1R5cGUgPT09IERyYWdQb2ludFR5cGUueCkge1xuICAgICAgICAgICAgZC54ID0gc2NhbGVYLmludmVydChldmVudC5zb3VyY2VFdmVudD8ub2Zmc2V0WCk7XG4gICAgICAgICAgICBub2RlLmF0dHIoJ2N4Jywgc2NhbGVYKGQueCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChkLm1hcmtlcj8uZHJhZ1R5cGUgPT09IERyYWdQb2ludFR5cGUueSkge1xuICAgICAgICAgICAgZC55ID0gc2NhbGVZLmludmVydChldmVudC5zb3VyY2VFdmVudD8ub2Zmc2V0WSk7XG4gICAgICAgICAgICBub2RlLmF0dHIoJ2N5Jywgc2NhbGVZKGQueSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRleHQuc2VsZWN0KGAuc2VyaWVzLSR7c2VyaWVzSW5kZXh9YCkuYXR0cignZCcsIHBhdGgpO1xuXG4gICAgICAgICAgZW1pdChldmVudCwgZCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -5,6 +5,7 @@ export class SplineDrawer {
|
|
|
5
5
|
const path = d3
|
|
6
6
|
.line()
|
|
7
7
|
.curve(d3.curveCatmullRom)
|
|
8
|
+
.defined((d) => d.x != null && d.y != null)
|
|
8
9
|
.x((d) => scaleX(d.x))
|
|
9
10
|
.y((d) => scaleY(d.y));
|
|
10
11
|
context
|
|
@@ -19,4 +20,4 @@ export class SplineDrawer {
|
|
|
19
20
|
.duration(750);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaW5lLWRyYXdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9kcmF3ZXIvc3BsaW5lLWRyYXdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixNQUFNLE9BQU8sWUFBWTtJQUN2QixJQUFJLENBQ0YsTUFBeUIsRUFDekIsT0FBMkQsRUFDM0QsTUFBVyxFQUNYLE1BQVc7UUFFWCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRTNCLE1BQU0sSUFBSSxHQUFHLEVBQUU7YUFDWixJQUFJLEVBQUU7YUFDTixLQUFLLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUN6QixPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixPQUFPO2FBQ0osTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUN2QyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUNwQixJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakUsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUNiLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBVyxDQUFDO2FBQ3RCLFVBQVUsRUFBRTthQUNaLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhd2VyIH0gZnJvbSAnLi4vbW9kZWwvaS1kcmF3ZXInO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi4vbW9kZWwvcG9pbnQvYmFzZS1wb2ludCc7XG5pbXBvcnQgeyBTZXJpZXMgfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuXG5leHBvcnQgY2xhc3MgU3BsaW5lRHJhd2VyIGltcGxlbWVudHMgSURyYXdlcjxCYXNlUG9pbnQ+IHtcbiAgZHJhdyhcbiAgICBzZXJpZXM6IFNlcmllczxCYXNlUG9pbnQ+LFxuICAgIGNvbnRleHQ6IGQzLlNlbGVjdGlvbjxTVkdFbGVtZW50LCB1bmtub3duLCBudWxsLCB1bmRlZmluZWQ+LFxuICAgIHNjYWxlWDogYW55LFxuICAgIHNjYWxlWTogYW55XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50cyA9IHNlcmllcy5kYXRhO1xuXG4gICAgY29uc3QgcGF0aCA9IGQzXG4gICAgICAubGluZSgpXG4gICAgICAuY3VydmUoZDMuY3VydmVDYXRtdWxsUm9tKVxuICAgICAgLmRlZmluZWQoKGQ6IGFueSkgPT4gZC54ICE9IG51bGwgJiYgZC55ICE9IG51bGwpXG4gICAgICAueCgoZDogYW55KSA9PiBzY2FsZVgoZC54KSlcbiAgICAgIC55KChkOiBhbnkpID0+IHNjYWxlWShkLnkpKTtcblxuICAgIGNvbnRleHRcbiAgICAgIC5hcHBlbmQoJ3BhdGgnKVxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoJHswfSwgMClgKVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAnbm9uZScpXG4gICAgICAuYXR0cignc3Ryb2tlJywgc2VyaWVzLmNvbG9yKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIHNlcmllcy5zdHJva2VXaWR0aCA/IHNlcmllcy5zdHJva2VXaWR0aCA6IDEpXG4gICAgICAuZGF0dW0ocG9pbnRzKVxuICAgICAgLmF0dHIoJ2QnLCBwYXRoIGFzIGFueSlcbiAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgIC5kdXJhdGlvbig3NTApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export var DispatchType;
|
|
2
2
|
(function (DispatchType) {
|
|
3
3
|
DispatchType["moveLine"] = "moveLine";
|
|
4
|
+
DispatchType["movePoint"] = "movePoint";
|
|
4
5
|
})(DispatchType || (DispatchType = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9lbnVtL2Rpc3BhdGNoLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixxQ0FBcUIsQ0FBQTtJQUNyQix1Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXNwYXRjaFR5cGUge1xuICBtb3ZlTGluZSA9ICdtb3ZlTGluZScsXG4gIG1vdmVQb2ludCA9ICdtb3ZlUG9pbnQnLFxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var DragPointType;
|
|
2
|
+
(function (DragPointType) {
|
|
3
|
+
DragPointType[DragPointType["x"] = 0] = "x";
|
|
4
|
+
DragPointType[DragPointType["y"] = 1] = "y";
|
|
5
|
+
DragPointType[DragPointType["xy"] = 2] = "xy";
|
|
6
|
+
})(DragPointType || (DragPointType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wb2ludC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29tcG9uZW50L2NoYXJ0L21vZGVsL2VudW0vZHJhZy1wb2ludC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsMkNBQUMsQ0FBQTtJQUNELDJDQUFDLENBQUE7SUFDRCw2Q0FBRSxDQUFBO0FBQ0osQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRHJhZ1BvaW50VHlwZSB7XG4gIHgsXG4gIHksXG4gIHh5LFxufVxuIl19
|
|
@@ -4,4 +4,5 @@ export * from './series-type';
|
|
|
4
4
|
export * from './legend-type';
|
|
5
5
|
export * from './scale-type';
|
|
6
6
|
export * from './zoom-type';
|
|
7
|
-
|
|
7
|
+
export * from './drag-point-type';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9lbnVtL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXhpcy10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2NhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJpZXMtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xlZ2VuZC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2NhbGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20tdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWctcG9pbnQtdHlwZSc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9wb2ludC9iYXNlLXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXJrZXJPcHRpb25zIH0gZnJvbSAnLi9tYXJrZXItb3B0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB4MT86IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB5MT86IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1hcmtlcj86IE1hcmtlck9wdGlvbnM7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvY2hhcnQvbW9kZWwvcG9pbnQvbWFya2VyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdQb2ludFR5cGUgfSBmcm9tICcuLi9lbnVtL2RyYWctcG9pbnQtdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2VyT3B0aW9ucyB7XG4gIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gIGRyYWdUeXBlOiBEcmFnUG9pbnRUeXBlO1xuICBzdHlsZT86IHtcbiAgICByYWRpdXM/OiBudW1iZXI7XG4gICAgc3Ryb2tlPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICB9O1xufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './base-point';
|
|
2
2
|
export * from './bar-point';
|
|
3
|
-
|
|
3
|
+
export * from './marker-options';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9wb2ludC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXItcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItb3B0aW9ucyc7XG4iXX0=
|
|
@@ -10062,15 +10062,24 @@ class BarDrawer {
|
|
|
10062
10062
|
var DispatchType;
|
|
10063
10063
|
(function (DispatchType) {
|
|
10064
10064
|
DispatchType["moveLine"] = "moveLine";
|
|
10065
|
+
DispatchType["movePoint"] = "movePoint";
|
|
10065
10066
|
})(DispatchType || (DispatchType = {}));
|
|
10066
10067
|
|
|
10068
|
+
var DragPointType;
|
|
10069
|
+
(function (DragPointType) {
|
|
10070
|
+
DragPointType[DragPointType["x"] = 0] = "x";
|
|
10071
|
+
DragPointType[DragPointType["y"] = 1] = "y";
|
|
10072
|
+
DragPointType[DragPointType["xy"] = 2] = "xy";
|
|
10073
|
+
})(DragPointType || (DragPointType = {}));
|
|
10074
|
+
|
|
10067
10075
|
class LineDrawer {
|
|
10068
10076
|
constructor() {
|
|
10069
|
-
this.dispatch = d3.dispatch(DispatchType.moveLine);
|
|
10077
|
+
this.dispatch = d3.dispatch(DispatchType.moveLine, DispatchType.movePoint);
|
|
10070
10078
|
}
|
|
10071
10079
|
draw(series, context, scaleX, scaleY, options) {
|
|
10072
10080
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
10073
10081
|
const points = series.data;
|
|
10082
|
+
const markerPoints = points.filter((_) => _.marker);
|
|
10074
10083
|
const path = d3
|
|
10075
10084
|
.line()
|
|
10076
10085
|
.curve(series.curveType)
|
|
@@ -10080,7 +10089,7 @@ class LineDrawer {
|
|
|
10080
10089
|
const seriesIndex = options.series.findIndex((_) => _.id === series.id);
|
|
10081
10090
|
context
|
|
10082
10091
|
.append('path')
|
|
10083
|
-
.attr('class', (d) => (series === null || series === void 0 ? void 0 : series.drag.enable) ? 'draggable' :
|
|
10092
|
+
.attr('class', (d) => (series === null || series === void 0 ? void 0 : series.drag.enable) ? 'draggable' : `series-${seriesIndex}`)
|
|
10084
10093
|
.attr('data-draggable-id', seriesIndex)
|
|
10085
10094
|
.attr('fill', 'none')
|
|
10086
10095
|
.attr('stroke', series.color)
|
|
@@ -10167,6 +10176,49 @@ class LineDrawer {
|
|
|
10167
10176
|
if (((_p = series === null || series === void 0 ? void 0 : series.drag) === null || _p === void 0 ? void 0 : _p.extendLine) && (points === null || points === void 0 ? void 0 : points.length)) {
|
|
10168
10177
|
drawExtendedLine();
|
|
10169
10178
|
}
|
|
10179
|
+
if (markerPoints === null || markerPoints === void 0 ? void 0 : markerPoints.length) {
|
|
10180
|
+
const emit = (event, target) => {
|
|
10181
|
+
this.dispatch.apply(DispatchType.movePoint, {
|
|
10182
|
+
target: series,
|
|
10183
|
+
point: Object.assign({}, target),
|
|
10184
|
+
event,
|
|
10185
|
+
});
|
|
10186
|
+
};
|
|
10187
|
+
context
|
|
10188
|
+
.selectAll(`draggable-marker-${seriesIndex}`)
|
|
10189
|
+
.data(markerPoints)
|
|
10190
|
+
.enter()
|
|
10191
|
+
.append('circle')
|
|
10192
|
+
.attr('class', `draggable-marker-${seriesIndex}`)
|
|
10193
|
+
.attr('r', (d) => { var _a, _b; return ((_b = (_a = d.marker) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.radius) || 5; })
|
|
10194
|
+
.attr('cx', function (d) {
|
|
10195
|
+
return scaleX(d.x);
|
|
10196
|
+
})
|
|
10197
|
+
.attr('cy', function (d) {
|
|
10198
|
+
return scaleY(d.y);
|
|
10199
|
+
})
|
|
10200
|
+
.style('cursor', 'pointer')
|
|
10201
|
+
.style('fill', (d) => { var _a, _b; return ((_b = (_a = d.marker) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.color) || 'none'; })
|
|
10202
|
+
.attr('stroke', (d) => { var _a, _b; return ((_b = (_a = d.marker) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.stroke) || 'none'; })
|
|
10203
|
+
.attr('stroke-width', (d) => { var _a, _b; return ((_b = (_a = d.marker) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.strokeWidth) || 0; });
|
|
10204
|
+
context.selectAll(`.draggable-marker-${seriesIndex}`).call(d3.drag().on('drag start end', function dragged(event, d) {
|
|
10205
|
+
var _a, _b, _c, _d;
|
|
10206
|
+
const node = d3.select(this);
|
|
10207
|
+
if (event.type === 'start') {
|
|
10208
|
+
node.raise().classed('active', true);
|
|
10209
|
+
}
|
|
10210
|
+
if (((_a = d.marker) === null || _a === void 0 ? void 0 : _a.dragType) === DragPointType.x) {
|
|
10211
|
+
d.x = scaleX.invert((_b = event.sourceEvent) === null || _b === void 0 ? void 0 : _b.offsetX);
|
|
10212
|
+
node.attr('cx', scaleX(d.x));
|
|
10213
|
+
}
|
|
10214
|
+
if (((_c = d.marker) === null || _c === void 0 ? void 0 : _c.dragType) === DragPointType.y) {
|
|
10215
|
+
d.y = scaleY.invert((_d = event.sourceEvent) === null || _d === void 0 ? void 0 : _d.offsetY);
|
|
10216
|
+
node.attr('cy', scaleY(d.y));
|
|
10217
|
+
}
|
|
10218
|
+
context.select(`.series-${seriesIndex}`).attr('d', path);
|
|
10219
|
+
emit(event, d);
|
|
10220
|
+
}));
|
|
10221
|
+
}
|
|
10170
10222
|
}
|
|
10171
10223
|
}
|
|
10172
10224
|
|
|
@@ -10180,6 +10232,7 @@ class SplineDrawer {
|
|
|
10180
10232
|
const path = d3
|
|
10181
10233
|
.line()
|
|
10182
10234
|
.curve(d3.curveCatmullRom)
|
|
10235
|
+
.defined((d) => d.x != null && d.y != null)
|
|
10183
10236
|
.x((d) => scaleX(d.x))
|
|
10184
10237
|
.y((d) => scaleY(d.y));
|
|
10185
10238
|
context
|
|
@@ -10538,6 +10591,7 @@ class TetaChart {
|
|
|
10538
10591
|
this.plotLinesMove$ = new Subject();
|
|
10539
10592
|
this.plotBandsMove$ = new Subject();
|
|
10540
10593
|
this.seriesMove$ = new Subject();
|
|
10594
|
+
this.pointMove$ = new Subject();
|
|
10541
10595
|
this.zoom$ = new Subject();
|
|
10542
10596
|
this._container = null;
|
|
10543
10597
|
this._width = 0;
|
|
@@ -10559,6 +10613,7 @@ class TetaChart {
|
|
|
10559
10613
|
this.plotLinesMove = this.plotLinesMove$.asObservable();
|
|
10560
10614
|
this.plotBandsMove = this.plotBandsMove$.asObservable();
|
|
10561
10615
|
this.seriesMove = this.seriesMove$.asObservable();
|
|
10616
|
+
this.pointMove = this.pointMove$.asObservable();
|
|
10562
10617
|
this.zoom = this.zoom$.asObservable();
|
|
10563
10618
|
}
|
|
10564
10619
|
redraw(options) {
|
|
@@ -10671,11 +10726,11 @@ class TetaChart {
|
|
|
10671
10726
|
this.visibleChartWindowWidth = this.caluclateChartWidth();
|
|
10672
10727
|
}
|
|
10673
10728
|
_redraw() {
|
|
10729
|
+
this.drawPlotBands();
|
|
10730
|
+
this.drawPlotLines();
|
|
10674
10731
|
this.drawChart();
|
|
10675
10732
|
this.drawAxis();
|
|
10676
10733
|
this.drawGridLines();
|
|
10677
|
-
this.drawPlotBands();
|
|
10678
|
-
this.drawPlotLines();
|
|
10679
10734
|
this.drawAnnotations();
|
|
10680
10735
|
}
|
|
10681
10736
|
addZoom() {
|
|
@@ -11365,7 +11420,7 @@ class TetaChart {
|
|
|
11365
11420
|
.attr('class', 'series')
|
|
11366
11421
|
.attr('clip-path', `url(#draw-window-${this.uniqId})`);
|
|
11367
11422
|
series === null || series === void 0 ? void 0 : series.forEach((seriesItem, index) => {
|
|
11368
|
-
var _a;
|
|
11423
|
+
var _a, _b;
|
|
11369
11424
|
if (seriesItem.renderTo === 'canvas') {
|
|
11370
11425
|
d3.select(this._container.nativeElement)
|
|
11371
11426
|
.select('canvas')
|
|
@@ -11423,9 +11478,15 @@ class TetaChart {
|
|
|
11423
11478
|
const emit = (event) => {
|
|
11424
11479
|
this.seriesMove$.next(event);
|
|
11425
11480
|
};
|
|
11481
|
+
const emitPoint = (event) => {
|
|
11482
|
+
this.pointMove$.next(event);
|
|
11483
|
+
};
|
|
11426
11484
|
(_a = drawer === null || drawer === void 0 ? void 0 : drawer.dispatch) === null || _a === void 0 ? void 0 : _a.on(DispatchType.moveLine, function () {
|
|
11427
11485
|
emit(this);
|
|
11428
11486
|
});
|
|
11487
|
+
(_b = drawer === null || drawer === void 0 ? void 0 : drawer.dispatch) === null || _b === void 0 ? void 0 : _b.on(DispatchType.movePoint, function () {
|
|
11488
|
+
emitPoint(this);
|
|
11489
|
+
});
|
|
11429
11490
|
});
|
|
11430
11491
|
}
|
|
11431
11492
|
createTooltip() {
|
|
@@ -11473,7 +11534,7 @@ class TetaChart {
|
|
|
11473
11534
|
color: d.color,
|
|
11474
11535
|
name: d.name,
|
|
11475
11536
|
});
|
|
11476
|
-
return `translate(${!isNaN(data === null || data === void 0 ? void 0 : data.x) ? foundX(data.x) : -10}, ${!isNaN(data === null || data === void 0 ? void 0 : data.y) ? foundY(data.y) : -10})`;
|
|
11537
|
+
return `translate(${!isNaN(data === null || data === void 0 ? void 0 : data.x) && (data === null || data === void 0 ? void 0 : data.x) != null ? foundX(data.x) : -10}, ${!isNaN(data === null || data === void 0 ? void 0 : data.y) && (data === null || data === void 0 ? void 0 : data.y) != null ? foundY(data.y) : -10})`;
|
|
11477
11538
|
}
|
|
11478
11539
|
if (this._options.tooltip.tracking === 'y') {
|
|
11479
11540
|
const sorted = [...d.data].sort((a, b) => d3.ascending(a.y, b.y));
|
|
@@ -11486,7 +11547,7 @@ class TetaChart {
|
|
|
11486
11547
|
color: d.color,
|
|
11487
11548
|
name: d.name,
|
|
11488
11549
|
});
|
|
11489
|
-
return `translate(${foundX(data.x)}, ${foundY(data.y)})`;
|
|
11550
|
+
return `translate(${!isNaN(data === null || data === void 0 ? void 0 : data.x) && (data === null || data === void 0 ? void 0 : data.x) != null ? foundX(data.x) : -10}, ${!isNaN(data === null || data === void 0 ? void 0 : data.y) && (data === null || data === void 0 ? void 0 : data.y) != null ? foundY(data.y) : -10})`;
|
|
11490
11551
|
}
|
|
11491
11552
|
});
|
|
11492
11553
|
if ((_a = this._options.tooltip) === null || _a === void 0 ? void 0 : _a.format) {
|
|
@@ -11874,6 +11935,7 @@ class ChartComponent {
|
|
|
11874
11935
|
this.plotLinesMove = new EventEmitter();
|
|
11875
11936
|
this.plotBandsMove = new EventEmitter();
|
|
11876
11937
|
this.seriesMove = new EventEmitter();
|
|
11938
|
+
this.pointMove = new EventEmitter();
|
|
11877
11939
|
this.zoomChange = new EventEmitter();
|
|
11878
11940
|
this._alive = true;
|
|
11879
11941
|
this.size$ = new Subject();
|
|
@@ -11922,8 +11984,7 @@ class ChartComponent {
|
|
|
11922
11984
|
(_b = this._chart) === null || _b === void 0 ? void 0 : _b.setZoom(this.zoom);
|
|
11923
11985
|
}
|
|
11924
11986
|
}
|
|
11925
|
-
ngOnInit() {
|
|
11926
|
-
}
|
|
11987
|
+
ngOnInit() { }
|
|
11927
11988
|
ngAfterViewInit() {
|
|
11928
11989
|
this._observer = new ResizeObserver((entries) => {
|
|
11929
11990
|
const { contentRect } = entries[0];
|
|
@@ -11971,6 +12032,11 @@ class ChartComponent {
|
|
|
11971
12032
|
this._chart.seriesMove
|
|
11972
12033
|
.pipe(takeWhile((_) => this._alive))
|
|
11973
12034
|
.subscribe((_) => this.seriesMove.emit(_));
|
|
12035
|
+
this._chart.pointMove
|
|
12036
|
+
.pipe(takeWhile((_) => this._alive))
|
|
12037
|
+
.subscribe((_) => {
|
|
12038
|
+
this.pointMove.emit(_);
|
|
12039
|
+
});
|
|
11974
12040
|
this._chart.zoom
|
|
11975
12041
|
.pipe(takeWhile((_) => this._alive), map((_) => {
|
|
11976
12042
|
this.zoomChange.emit(_);
|
|
@@ -11988,7 +12054,7 @@ class ChartComponent {
|
|
|
11988
12054
|
}
|
|
11989
12055
|
}
|
|
11990
12056
|
ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ChartComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
11991
|
-
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ChartComponent, selector: "teta-chart", inputs: { zoom: "zoom", config: "config" }, outputs: { plotLinesMove: "plotLinesMove", plotBandsMove: "plotBandsMove", seriesMove: "seriesMove", zoomChange: "zoomChange" }, host: { listeners: { "click": "click($event)" } }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chart"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div [style.display]=\"hasSeriesData ? 'contents' : 'none'\">\n <div #chart class=\"chart-container\"></div>\n <div class=\"legend-container\"></div>\n</div>\n<div [style.display]=\"!hasSeriesData ? 'block' : 'none'\" class=\"chart-placeholder text-align-center\">\n <span class=\"font-body-3 color-text-40\">\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442</span>\n</div>\n\n\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.chart-container{position:relative;min-height:0;flex-grow:1;flex-basis:1px}.chart-placeholder{margin:auto;width:100%}.chart-placeholder span{text-overflow:ellipsis;overflow:hidden;display:block}.legend-container{flex-shrink:0;flex-basis:1px}::ng-deep .grid line{stroke-dasharray:1,4}::ng-deep .tooltip-chart{padding:8px 12px;border-radius:2px}::ng-deep .legend{grid-gap:8px;padding-bottom:5px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly}::ng-deep .legend .item{display:flex;align-items:center;cursor:pointer}::ng-deep .legend .item .swatch{width:10px;height:10px}::ng-deep .legend .item .line{width:12px;height:2px}::ng-deep .legend .item .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12057
|
+
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ChartComponent, selector: "teta-chart", inputs: { zoom: "zoom", config: "config" }, outputs: { plotLinesMove: "plotLinesMove", plotBandsMove: "plotBandsMove", seriesMove: "seriesMove", pointMove: "pointMove", zoomChange: "zoomChange" }, host: { listeners: { "click": "click($event)" } }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chart"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div [style.display]=\"hasSeriesData ? 'contents' : 'none'\">\n <div #chart class=\"chart-container\"></div>\n <div class=\"legend-container\"></div>\n</div>\n<div [style.display]=\"!hasSeriesData ? 'block' : 'none'\" class=\"chart-placeholder text-align-center\">\n <span class=\"font-body-3 color-text-40\">\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442</span>\n</div>\n\n\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.chart-container{position:relative;min-height:0;flex-grow:1;flex-basis:1px}.chart-placeholder{margin:auto;width:100%}.chart-placeholder span{text-overflow:ellipsis;overflow:hidden;display:block}.legend-container{flex-shrink:0;flex-basis:1px}::ng-deep .grid line{stroke-dasharray:1,4}::ng-deep .tooltip-chart{padding:8px 12px;border-radius:2px}::ng-deep .legend{grid-gap:8px;padding-bottom:5px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly}::ng-deep .legend .item{display:flex;align-items:center;cursor:pointer}::ng-deep .legend .item .swatch{width:10px;height:10px}::ng-deep .legend .item .line{width:12px;height:2px}::ng-deep .legend .item .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11992
12058
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ChartComponent, decorators: [{
|
|
11993
12059
|
type: Component,
|
|
11994
12060
|
args: [{ selector: 'teta-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.display]=\"hasSeriesData ? 'contents' : 'none'\">\n <div #chart class=\"chart-container\"></div>\n <div class=\"legend-container\"></div>\n</div>\n<div [style.display]=\"!hasSeriesData ? 'block' : 'none'\" class=\"chart-placeholder text-align-center\">\n <span class=\"font-body-3 color-text-40\">\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442</span>\n</div>\n\n\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.chart-container{position:relative;min-height:0;flex-grow:1;flex-basis:1px}.chart-placeholder{margin:auto;width:100%}.chart-placeholder span{text-overflow:ellipsis;overflow:hidden;display:block}.legend-container{flex-shrink:0;flex-basis:1px}::ng-deep .grid line{stroke-dasharray:1,4}::ng-deep .tooltip-chart{padding:8px 12px;border-radius:2px}::ng-deep .legend{grid-gap:8px;padding-bottom:5px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly}::ng-deep .legend .item{display:flex;align-items:center;cursor:pointer}::ng-deep .legend .item .swatch{width:10px;height:10px}::ng-deep .legend .item .line{width:12px;height:2px}::ng-deep .legend .item .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:5px}\n"] }]
|
|
@@ -12002,6 +12068,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
12002
12068
|
type: Output
|
|
12003
12069
|
}], seriesMove: [{
|
|
12004
12070
|
type: Output
|
|
12071
|
+
}], pointMove: [{
|
|
12072
|
+
type: Output
|
|
12005
12073
|
}], zoomChange: [{
|
|
12006
12074
|
type: Output
|
|
12007
12075
|
}], chart: [{
|
|
@@ -13233,5 +13301,5 @@ class StringUtil {
|
|
|
13233
13301
|
* Generated bundle index. Do not edit.
|
|
13234
13302
|
*/
|
|
13235
13303
|
|
|
13236
|
-
export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, Annotation, AreaDrawer, ArrayUtil, Axis, AxisOptions, AxisType, BarDrawer, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, ChartBounds, ChartComponent, ChartModule, ChartOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule, FilterPanelComponent, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, GroupRowComponent, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HighlightModule, HintDirective, HintModule, IconComponent, IconModule, IconService, IconSpriteDirective, InputComponent, InputModule, LegendType, LineDrawer, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, LoaderModule, MONTH_PICKER_CONTROL_VALUE_ACCESSOR, Message, MessageComponent, MessageHostComponent, MessageModule, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, MonthPickerComponent, NoAutofillDirective, NoAutofillModule, NumberPipe, NumberPipeModule, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OnlyNumberModule, OverlayContainerService, PagerComponent, PagerModule, PagerState, PagerUtil, PanelComponent, PanelModule, PieDrawer, PlotBand, PlotLine, PopupContentComponent, PositionUtil, ProgressBarComponent, ProgressBarModule, PropertyGridComponent, PropertyGridModule, RadioButtonComponent, RadioComponent, RadioModule, ResizeDragDirective, ResizeDragModule, ResizePanelComponent, ResizePanelModule, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, Scale, ScaleType, ScatterDrawer, SelectComponent, SelectModule, SelectOptionDirective, SelectType, SelectValueDirective, Series, SeriesType, SidebarComponent, SidebarModule, SidebarPosition, SortEvent, SortParam, SplineDrawer, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, SwitchModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableContextMenuConfig, TableHeadComponent, TableModule, TableRow, TableService, TabsComponent, TabsModule, TetaChart, TetaContentRef, TetaSize, TetaTemplateDirective, TetaTemplateModule, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchModule, ThemeSwitchService, ToggleComponent, ToggleModule, ToolbarComponent, ToolbarModule, TooltipDirective, TooltipModule, TooltipOptions, TreeComponent, TreeItemToggleComponent, TreeModule, TreeService, VerticalAlign, ZoomType, getCellComponent };
|
|
13304
|
+
export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, Annotation, AreaDrawer, ArrayUtil, Axis, AxisOptions, AxisType, BarDrawer, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, ChartBounds, ChartComponent, ChartModule, ChartOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragPointType, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule, FilterPanelComponent, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, GroupRowComponent, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HighlightModule, HintDirective, HintModule, IconComponent, IconModule, IconService, IconSpriteDirective, InputComponent, InputModule, LegendType, LineDrawer, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, LoaderModule, MONTH_PICKER_CONTROL_VALUE_ACCESSOR, Message, MessageComponent, MessageHostComponent, MessageModule, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, MonthPickerComponent, NoAutofillDirective, NoAutofillModule, NumberPipe, NumberPipeModule, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OnlyNumberModule, OverlayContainerService, PagerComponent, PagerModule, PagerState, PagerUtil, PanelComponent, PanelModule, PieDrawer, PlotBand, PlotLine, PopupContentComponent, PositionUtil, ProgressBarComponent, ProgressBarModule, PropertyGridComponent, PropertyGridModule, RadioButtonComponent, RadioComponent, RadioModule, ResizeDragDirective, ResizeDragModule, ResizePanelComponent, ResizePanelModule, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, Scale, ScaleType, ScatterDrawer, SelectComponent, SelectModule, SelectOptionDirective, SelectType, SelectValueDirective, Series, SeriesType, SidebarComponent, SidebarModule, SidebarPosition, SortEvent, SortParam, SplineDrawer, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, SwitchModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableContextMenuConfig, TableHeadComponent, TableModule, TableRow, TableService, TabsComponent, TabsModule, TetaChart, TetaContentRef, TetaSize, TetaTemplateDirective, TetaTemplateModule, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchModule, ThemeSwitchService, ToggleComponent, ToggleModule, ToolbarComponent, ToolbarModule, TooltipDirective, TooltipModule, TooltipOptions, TreeComponent, TreeItemToggleComponent, TreeModule, TreeService, VerticalAlign, ZoomType, getCellComponent };
|
|
13237
13305
|
//# sourceMappingURL=tetacom-ng-components.mjs.map
|