@visactor/vrender-components 1.0.42 → 1.0.43-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/crosshair/rect.js +1 -2
- package/cjs/crosshair/sector.js +2 -1
- package/cjs/data-zoom/config.d.ts +10 -0
- package/cjs/data-zoom/config.js +10 -1
- package/cjs/data-zoom/config.js.map +1 -1
- package/cjs/data-zoom/renderer.js +40 -22
- package/cjs/data-zoom/renderer.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/slider/slider.d.ts +0 -3
- package/cjs/slider/slider.js +18 -26
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/slider/type.d.ts +3 -14
- package/cjs/slider/type.js.map +1 -1
- package/dist/index.es.js +46 -49
- package/es/crosshair/rect.js +1 -2
- package/es/crosshair/sector.js +2 -1
- package/es/data-zoom/config.d.ts +10 -0
- package/es/data-zoom/config.js +11 -0
- package/es/data-zoom/config.js.map +1 -1
- package/es/data-zoom/renderer.js +41 -23
- package/es/data-zoom/renderer.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/slider/slider.d.ts +0 -3
- package/es/slider/slider.js +19 -27
- package/es/slider/slider.js.map +1 -1
- package/es/slider/type.d.ts +3 -14
- package/es/slider/type.js.map +1 -1
- package/package.json +4 -4
package/cjs/crosshair/rect.js
CHANGED
package/cjs/crosshair/sector.js
CHANGED
|
@@ -114,3 +114,13 @@ export declare const DEFAULT_HANDLER_ATTR_MAP: {
|
|
|
114
114
|
strokeBoundsBuffer: number;
|
|
115
115
|
};
|
|
116
116
|
};
|
|
117
|
+
export declare const LAYOUT_LEVEL: {
|
|
118
|
+
background: number;
|
|
119
|
+
preview: number;
|
|
120
|
+
dragMask: number;
|
|
121
|
+
selectedBackground: number;
|
|
122
|
+
selectedPreview: number;
|
|
123
|
+
handler: number;
|
|
124
|
+
handlerText: number;
|
|
125
|
+
handlerMask: number;
|
|
126
|
+
};
|
package/cjs/data-zoom/config.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.DEFAULT_HANDLER_ATTR_MAP = exports.DEFAULT_DATA_ZOOM_ATTRIBUTES = exports.DEFAULT_HANDLER_PATH = void 0,
|
|
5
|
+
}), exports.LAYOUT_LEVEL = exports.DEFAULT_HANDLER_ATTR_MAP = exports.DEFAULT_DATA_ZOOM_ATTRIBUTES = exports.DEFAULT_HANDLER_PATH = void 0,
|
|
6
6
|
exports.DEFAULT_HANDLER_PATH = "M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z",
|
|
7
7
|
exports.DEFAULT_DATA_ZOOM_ATTRIBUTES = {
|
|
8
8
|
orient: "bottom",
|
|
@@ -117,5 +117,14 @@ exports.DEFAULT_DATA_ZOOM_ATTRIBUTES = {
|
|
|
117
117
|
pickMode: "imprecise",
|
|
118
118
|
strokeBoundsBuffer: 0
|
|
119
119
|
}
|
|
120
|
+
}, exports.LAYOUT_LEVEL = {
|
|
121
|
+
background: 0,
|
|
122
|
+
preview: 1,
|
|
123
|
+
dragMask: 2,
|
|
124
|
+
selectedBackground: 3,
|
|
125
|
+
selectedPreview: 4,
|
|
126
|
+
handler: 5,
|
|
127
|
+
handlerText: 5,
|
|
128
|
+
handlerMask: 999
|
|
120
129
|
};
|
|
121
130
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data-zoom/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["export const DEFAULT_HANDLER_PATH =\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z';\nexport const DEFAULT_DATA_ZOOM_ATTRIBUTES = {\n orient: 'bottom',\n showDetail: 'auto',\n brushSelect: true,\n zoomLock: false,\n minSpan: 0,\n maxSpan: 1,\n delayType: 'throttle',\n delayTime: 0,\n realTime: true,\n backgroundStyle: {\n fill: 'white',\n stroke: '#D1DBEE',\n lineWidth: 1,\n cornerRadius: 2\n },\n dragMaskStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2\n },\n backgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1,\n fill: '#F6F8FC'\n },\n line: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1\n }\n },\n selectedBackgroundStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.5\n },\n selectedBackgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#B0C8F9',\n lineWidth: 1,\n fill: '#fbb934'\n },\n line: {\n visible: true,\n stroke: '#fbb934',\n lineWidth: 1\n }\n },\n middleHandlerStyle: {\n visible: true,\n background: {\n size: 8,\n style: {\n fill: 'white',\n stroke: '#B0C8F9',\n cornerRadius: 2\n }\n },\n icon: {\n size: 6,\n fill: 'white',\n stroke: '#B0C8F9',\n symbolType:\n // eslint-disable-next-line max-len\n 'M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z',\n lineWidth: 0.5\n }\n },\n startHandlerStyle: {\n visible: true,\n triggerMinSize: 0,\n symbolType: DEFAULT_HANDLER_PATH,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n endHandlerStyle: {\n visible: true,\n triggerMinSize: 0,\n symbolType: DEFAULT_HANDLER_PATH,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n startTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n },\n endTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n }\n};\n\nexport const DEFAULT_HANDLER_ATTR_MAP = {\n horizontal: {\n angle: 0,\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n cursor: 'ew-resize'\n },\n vertical: {\n angle: 90 * (Math.PI / 180),\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/data-zoom/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["export const DEFAULT_HANDLER_PATH =\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z';\nexport const DEFAULT_DATA_ZOOM_ATTRIBUTES = {\n orient: 'bottom',\n showDetail: 'auto',\n brushSelect: true,\n zoomLock: false,\n minSpan: 0,\n maxSpan: 1,\n delayType: 'throttle',\n delayTime: 0,\n realTime: true,\n backgroundStyle: {\n fill: 'white',\n stroke: '#D1DBEE',\n lineWidth: 1,\n cornerRadius: 2\n },\n dragMaskStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2\n },\n backgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1,\n fill: '#F6F8FC'\n },\n line: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1\n }\n },\n selectedBackgroundStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.5\n },\n selectedBackgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#B0C8F9',\n lineWidth: 1,\n fill: '#fbb934'\n },\n line: {\n visible: true,\n stroke: '#fbb934',\n lineWidth: 1\n }\n },\n middleHandlerStyle: {\n visible: true,\n background: {\n size: 8,\n style: {\n fill: 'white',\n stroke: '#B0C8F9',\n cornerRadius: 2\n }\n },\n icon: {\n size: 6,\n fill: 'white',\n stroke: '#B0C8F9',\n symbolType:\n // eslint-disable-next-line max-len\n 'M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z',\n lineWidth: 0.5\n }\n },\n startHandlerStyle: {\n visible: true,\n triggerMinSize: 0,\n symbolType: DEFAULT_HANDLER_PATH,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n endHandlerStyle: {\n visible: true,\n triggerMinSize: 0,\n symbolType: DEFAULT_HANDLER_PATH,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n startTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n },\n endTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n }\n};\n\nexport const DEFAULT_HANDLER_ATTR_MAP = {\n horizontal: {\n angle: 0,\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n cursor: 'ew-resize'\n },\n vertical: {\n angle: 90 * (Math.PI / 180),\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0\n }\n};\n\nexport const LAYOUT_LEVEL = {\n background: 0, // 背景\n preview: 1, // 背景图表\n dragMask: 2, // 背景选框\n selectedBackground: 3, // 选中背景\n selectedPreview: 4, // 选中背景图表\n handler: 5, // 手柄\n handlerText: 5, // 文字\n handlerMask: 999 // 热区\n};\n"]}
|
|
@@ -112,12 +112,14 @@ class DataZoomRenderer {
|
|
|
112
112
|
x: position.x + start * width,
|
|
113
113
|
y: position.y,
|
|
114
114
|
width: (end - start) * width,
|
|
115
|
-
height: height
|
|
115
|
+
height: height,
|
|
116
|
+
zIndex: config_1.LAYOUT_LEVEL.dragMask
|
|
116
117
|
}, dragMaskStyle), "rect") : this._dragMask = this._getContainer().createOrUpdateChild("dragMask", Object.assign({
|
|
117
118
|
x: position.x,
|
|
118
119
|
y: position.y + start * height,
|
|
119
120
|
width: width,
|
|
120
|
-
height: (end - start) * height
|
|
121
|
+
height: (end - start) * height,
|
|
122
|
+
zIndex: config_1.LAYOUT_LEVEL.dragMask
|
|
121
123
|
}, dragMaskStyle), "rect"), {
|
|
122
124
|
start: start,
|
|
123
125
|
end: end
|
|
@@ -131,7 +133,8 @@ class DataZoomRenderer {
|
|
|
131
133
|
y: position.y,
|
|
132
134
|
width: width,
|
|
133
135
|
height: height,
|
|
134
|
-
cursor: brushSelect ? "crosshair" : "auto"
|
|
136
|
+
cursor: brushSelect ? "crosshair" : "auto",
|
|
137
|
+
zIndex: config_1.LAYOUT_LEVEL.background
|
|
135
138
|
}, backgroundStyle), {
|
|
136
139
|
pickable: !zoomLock && (null === (_a = backgroundStyle.pickable) || void 0 === _a || _a)
|
|
137
140
|
}), "rect");
|
|
@@ -146,7 +149,8 @@ class DataZoomRenderer {
|
|
|
146
149
|
x: position.x + start * width,
|
|
147
150
|
y: position.y - middleHandlerBackgroundSize,
|
|
148
151
|
width: (end - start) * width,
|
|
149
|
-
height: middleHandlerBackgroundSize
|
|
152
|
+
height: middleHandlerBackgroundSize,
|
|
153
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
150
154
|
}, null === (_d = middleHandlerStyle.background) || void 0 === _d ? void 0 : _d.style), {
|
|
151
155
|
pickable: !zoomLock && (null === (_g = null === (_f = null === (_e = middleHandlerStyle.background) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.pickable) || void 0 === _g || _g)
|
|
152
156
|
}), "rect"), this._middleHandlerSymbol = group.createOrUpdateChild("middleHandlerSymbol", Object.assign(Object.assign({
|
|
@@ -154,24 +158,29 @@ class DataZoomRenderer {
|
|
|
154
158
|
y: position.y - middleHandlerBackgroundSize / 2,
|
|
155
159
|
strokeBoundsBuffer: 0,
|
|
156
160
|
angle: 0,
|
|
157
|
-
symbolType: null !== (_j = null === (_h = middleHandlerStyle.icon) || void 0 === _h ? void 0 : _h.symbolType) && void 0 !== _j ? _j : "square"
|
|
161
|
+
symbolType: null !== (_j = null === (_h = middleHandlerStyle.icon) || void 0 === _h ? void 0 : _h.symbolType) && void 0 !== _j ? _j : "square",
|
|
162
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
158
163
|
}, middleHandlerStyle.icon), {
|
|
159
164
|
pickable: !zoomLock && (null === (_k = middleHandlerStyle.icon.pickable) || void 0 === _k || _k)
|
|
160
165
|
}), "symbol");
|
|
161
166
|
}
|
|
162
|
-
this._startHandler = group.createOrUpdateChild("startHandler", Object.assign(Object.assign(Object.assign({
|
|
167
|
+
this._startHandler = group.createOrUpdateChild("startHandler", Object.assign(Object.assign(Object.assign(Object.assign({
|
|
163
168
|
x: position.x + start * width,
|
|
164
169
|
y: position.y + height / 2,
|
|
165
170
|
size: height,
|
|
166
171
|
symbolType: null !== (_l = startHandlerStyle.symbolType) && void 0 !== _l ? _l : "square"
|
|
167
|
-
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal),
|
|
172
|
+
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal), {
|
|
173
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
174
|
+
}), startHandlerStyle), {
|
|
168
175
|
pickable: !zoomLock && (null === (_m = startHandlerStyle.pickable) || void 0 === _m || _m)
|
|
169
|
-
}), "symbol"), this._endHandler = group.createOrUpdateChild("endHandler", Object.assign(Object.assign(Object.assign({
|
|
176
|
+
}), "symbol"), this._endHandler = group.createOrUpdateChild("endHandler", Object.assign(Object.assign(Object.assign(Object.assign({
|
|
170
177
|
x: position.x + end * width,
|
|
171
178
|
y: position.y + height / 2,
|
|
172
179
|
size: height,
|
|
173
180
|
symbolType: null !== (_o = endHandlerStyle.symbolType) && void 0 !== _o ? _o : "square"
|
|
174
|
-
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal),
|
|
181
|
+
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal), {
|
|
182
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
183
|
+
}), endHandlerStyle), {
|
|
175
184
|
pickable: !zoomLock && (null === (_p = endHandlerStyle.pickable) || void 0 === _p || _p)
|
|
176
185
|
}), "symbol");
|
|
177
186
|
const startHandlerWidth = Math.max(this._startHandler.AABBBounds.width(), startHandlerMinSize), startHandlerHeight = Math.max(this._startHandler.AABBBounds.height(), startHandlerMinSize), endHandlerWidth = Math.max(this._endHandler.AABBBounds.width(), endHandlerMinSize), endHandlerHeight = Math.max(this._endHandler.AABBBounds.height(), endHandlerMinSize);
|
|
@@ -182,7 +191,7 @@ class DataZoomRenderer {
|
|
|
182
191
|
height: startHandlerHeight,
|
|
183
192
|
fill: "white",
|
|
184
193
|
fillOpacity: 0,
|
|
185
|
-
zIndex:
|
|
194
|
+
zIndex: config_1.LAYOUT_LEVEL.handlerMask
|
|
186
195
|
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal), {
|
|
187
196
|
pickable: !zoomLock
|
|
188
197
|
}), "rect"), this._endHandlerMask = group.createOrUpdateChild("endHandlerMask", Object.assign(Object.assign({
|
|
@@ -192,7 +201,7 @@ class DataZoomRenderer {
|
|
|
192
201
|
height: endHandlerHeight,
|
|
193
202
|
fill: "white",
|
|
194
203
|
fillOpacity: 0,
|
|
195
|
-
zIndex:
|
|
204
|
+
zIndex: config_1.LAYOUT_LEVEL.handlerMask
|
|
196
205
|
}, config_1.DEFAULT_HANDLER_ATTR_MAP.horizontal), {
|
|
197
206
|
pickable: !zoomLock
|
|
198
207
|
}), "rect");
|
|
@@ -203,7 +212,8 @@ class DataZoomRenderer {
|
|
|
203
212
|
x: "left" === orient ? position.x - middleHandlerBackgroundSize : position.x + width,
|
|
204
213
|
y: position.y + start * height,
|
|
205
214
|
width: middleHandlerBackgroundSize,
|
|
206
|
-
height: (end - start) * height
|
|
215
|
+
height: (end - start) * height,
|
|
216
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
207
217
|
}, null === (_r = middleHandlerStyle.background) || void 0 === _r ? void 0 : _r.style), {
|
|
208
218
|
pickable: !zoomLock && (null === (_u = null === (_t = null === (_s = middleHandlerStyle.background) || void 0 === _s ? void 0 : _s.style) || void 0 === _t ? void 0 : _t.pickable) || void 0 === _u || _u)
|
|
209
219
|
}), "rect"), this._middleHandlerSymbol = group.createOrUpdateChild("middleHandlerSymbol", Object.assign(Object.assign({
|
|
@@ -211,23 +221,27 @@ class DataZoomRenderer {
|
|
|
211
221
|
y: position.y + (start + end) / 2 * height,
|
|
212
222
|
angle: Math.PI / 180 * 90,
|
|
213
223
|
symbolType: null !== (_w = null === (_v = middleHandlerStyle.icon) || void 0 === _v ? void 0 : _v.symbolType) && void 0 !== _w ? _w : "square",
|
|
214
|
-
strokeBoundsBuffer: 0
|
|
224
|
+
strokeBoundsBuffer: 0,
|
|
225
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
215
226
|
}, middleHandlerStyle.icon), {
|
|
216
227
|
pickable: !zoomLock && (null === (_y = null === (_x = middleHandlerStyle.icon) || void 0 === _x ? void 0 : _x.pickable) || void 0 === _y || _y)
|
|
217
228
|
}), "symbol");
|
|
218
229
|
}
|
|
219
|
-
this._startHandler = group.createOrUpdateChild("startHandler", Object.assign(Object.assign(Object.assign({
|
|
230
|
+
this._startHandler = group.createOrUpdateChild("startHandler", Object.assign(Object.assign(Object.assign(Object.assign({
|
|
220
231
|
x: position.x + width / 2,
|
|
221
232
|
y: position.y + start * height,
|
|
222
233
|
size: width,
|
|
223
234
|
symbolType: null !== (_z = startHandlerStyle.symbolType) && void 0 !== _z ? _z : "square"
|
|
224
|
-
}, config_1.DEFAULT_HANDLER_ATTR_MAP.vertical),
|
|
235
|
+
}, config_1.DEFAULT_HANDLER_ATTR_MAP.vertical), {
|
|
236
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
237
|
+
}), startHandlerStyle), {
|
|
225
238
|
pickable: !zoomLock && (null === (_0 = startHandlerStyle.pickable) || void 0 === _0 || _0)
|
|
226
239
|
}), "symbol"), this._endHandler = group.createOrUpdateChild("endHandler", Object.assign(Object.assign(Object.assign({
|
|
227
240
|
x: position.x + width / 2,
|
|
228
241
|
y: position.y + end * height,
|
|
229
242
|
size: width,
|
|
230
|
-
symbolType: null !== (_1 = endHandlerStyle.symbolType) && void 0 !== _1 ? _1 : "square"
|
|
243
|
+
symbolType: null !== (_1 = endHandlerStyle.symbolType) && void 0 !== _1 ? _1 : "square",
|
|
244
|
+
zIndex: config_1.LAYOUT_LEVEL.handler
|
|
231
245
|
}, config_1.DEFAULT_HANDLER_ATTR_MAP.vertical), endHandlerStyle), {
|
|
232
246
|
pickable: !zoomLock && (null === (_2 = endHandlerStyle.pickable) || void 0 === _2 || _2)
|
|
233
247
|
}), "symbol");
|
|
@@ -239,7 +253,7 @@ class DataZoomRenderer {
|
|
|
239
253
|
height: endHandlerWidth,
|
|
240
254
|
fill: "white",
|
|
241
255
|
fillOpacity: 0,
|
|
242
|
-
zIndex:
|
|
256
|
+
zIndex: config_1.LAYOUT_LEVEL.handlerMask
|
|
243
257
|
}, config_1.DEFAULT_HANDLER_ATTR_MAP.vertical), {
|
|
244
258
|
pickable: !zoomLock
|
|
245
259
|
}), "rect"), this._endHandlerMask = group.createOrUpdateChild("endHandlerMask", Object.assign(Object.assign({
|
|
@@ -249,7 +263,7 @@ class DataZoomRenderer {
|
|
|
249
263
|
height: endHandlerWidth,
|
|
250
264
|
fill: "white",
|
|
251
265
|
fillOpacity: 0,
|
|
252
|
-
zIndex:
|
|
266
|
+
zIndex: config_1.LAYOUT_LEVEL.handlerMask
|
|
253
267
|
}, config_1.DEFAULT_HANDLER_ATTR_MAP.vertical), {
|
|
254
268
|
pickable: !zoomLock
|
|
255
269
|
}), "rect");
|
|
@@ -263,7 +277,8 @@ class DataZoomRenderer {
|
|
|
263
277
|
y: position.y,
|
|
264
278
|
width: (end - start) * width,
|
|
265
279
|
height: height,
|
|
266
|
-
cursor: brushSelect ? "crosshair" : "move"
|
|
280
|
+
cursor: brushSelect ? "crosshair" : "move",
|
|
281
|
+
zIndex: config_1.LAYOUT_LEVEL.selectedBackground
|
|
267
282
|
}, selectedBackgroundStyle), {
|
|
268
283
|
pickable: !zoomLock && (null === (_a = selectedBackgroundChartStyle.pickable) || void 0 === _a || _a)
|
|
269
284
|
}), "rect") : this._selectedBackground = group.createOrUpdateChild("selectedBackground", Object.assign(Object.assign({
|
|
@@ -271,14 +286,16 @@ class DataZoomRenderer {
|
|
|
271
286
|
y: position.y + start * height,
|
|
272
287
|
width: width,
|
|
273
288
|
height: (end - start) * height,
|
|
274
|
-
cursor: brushSelect ? "crosshair" : "move"
|
|
289
|
+
cursor: brushSelect ? "crosshair" : "move",
|
|
290
|
+
zIndex: config_1.LAYOUT_LEVEL.selectedBackground
|
|
275
291
|
}, selectedBackgroundStyle), {
|
|
276
292
|
pickable: !zoomLock && (null === (_b = selectedBackgroundStyle.pickable) || void 0 === _b || _b)
|
|
277
293
|
}), "rect");
|
|
278
294
|
}
|
|
279
295
|
_setPreviewAttributes(type, group) {
|
|
280
296
|
this._previewGroup || (this._previewGroup = group.createOrUpdateChild("previewGroup", {
|
|
281
|
-
pickable: !1
|
|
297
|
+
pickable: !1,
|
|
298
|
+
zIndex: config_1.LAYOUT_LEVEL.preview
|
|
282
299
|
}, "group")), "line" === type ? this._previewLine = this._previewGroup.createOrUpdateChild("previewLine", {}, "line") : this._previewArea = this._previewGroup.createOrUpdateChild("previewArea", {
|
|
283
300
|
curveType: "basis"
|
|
284
301
|
}, "area");
|
|
@@ -295,7 +312,8 @@ class DataZoomRenderer {
|
|
|
295
312
|
}
|
|
296
313
|
_setSelectedPreviewClipAttributes(type, group) {
|
|
297
314
|
this._selectedPreviewGroupClip || (this._selectedPreviewGroupClip = group.createOrUpdateChild("selectedPreviewGroupClip", {
|
|
298
|
-
pickable: !1
|
|
315
|
+
pickable: !1,
|
|
316
|
+
zIndex: config_1.LAYOUT_LEVEL.selectedPreview
|
|
299
317
|
}, "group"), this._selectedPreviewGroup = this._selectedPreviewGroupClip.createOrUpdateChild("selectedPreviewGroup", {}, "group"));
|
|
300
318
|
const {start: start, end: end} = this._getState(), {position: position, width: width, height: height} = this._getLayoutAttrFromConfig();
|
|
301
319
|
this._selectedPreviewGroupClip.setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data-zoom/renderer.ts"],"names":[],"mappings":"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","file":"renderer.js","sourcesContent":["import type { DataZoomAttributes } from './type';\nimport type { IBoundsLike, IPointLike } from '@visactor/vutils';\nimport { flatten_simplify } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IArea, IGroup, ILine, IRect, ISymbol, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isFunction, merge } from '@visactor/vutils';\nimport { Tag, type TagAttributes } from '../tag';\nimport { DEFAULT_HANDLER_ATTR_MAP } from './config';\nimport { isTextOverflow } from './utils';\nexport interface DataZoomRendererAttrs {\n attribute: Partial<Required<DataZoomAttributes>>;\n getLayoutAttrFromConfig: any;\n getState: () => { start: number; end: number };\n setState: (state: { start: number; end: number }) => void;\n getContainer: () => IGroup;\n}\nexport class DataZoomRenderer {\n /** 上层透传 */\n attribute: Partial<Required<DataZoomAttributes>>;\n private _getLayoutAttrFromConfig: any;\n private _getState: () => { start: number; end: number };\n private _getContainer: () => IGroup;\n\n /** 中间变量 */\n private _isHorizontal: boolean;\n\n /** 手柄 */\n private _startHandlerMask!: IRect;\n get startHandlerMask() {\n return this._startHandlerMask;\n }\n private _startHandler!: ISymbol;\n private _middleHandlerSymbol!: ISymbol;\n get middleHandlerSymbol() {\n return this._middleHandlerSymbol;\n }\n private _middleHandlerRect!: IRect;\n get middleHandlerRect() {\n return this._middleHandlerRect;\n }\n private _endHandlerMask!: IRect;\n get endHandlerMask() {\n return this._endHandlerMask;\n }\n private _endHandler!: ISymbol;\n private _selectedBackground!: IRect;\n get selectedBackground() {\n return this._selectedBackground;\n }\n private _dragMask!: IRect;\n get dragMask() {\n return this._dragMask;\n }\n private _startText!: Tag;\n get startText() {\n return this._startText;\n }\n private _endText!: Tag;\n get endText() {\n return this._endText;\n }\n private _startValue!: string | number;\n get startValue() {\n return this._startValue;\n }\n private _endValue!: string | number;\n get endValue() {\n return this._endValue;\n }\n private _showText!: boolean;\n set showText(showText: boolean) {\n this._showText = showText;\n }\n\n /** 背景图表 */\n private _background!: IRect;\n get background() {\n return this._background;\n }\n private _previewData: any[] = [];\n set previewData(previewData: any[]) {\n this._previewData = previewData;\n }\n private _previewGroup!: IGroup;\n get previewGroup() {\n return this._previewGroup;\n }\n private _previewLine!: ILine;\n private _previewArea!: IArea;\n private _selectedPreviewGroupClip!: IGroup;\n private _selectedPreviewGroup!: IGroup;\n get selectedPreviewGroup() {\n return this._selectedPreviewGroup;\n }\n private _selectedPreviewLine!: ILine;\n private _selectedPreviewArea!: IArea;\n\n /** 回调函数 */\n private _previewPointsX!: (datum: any) => number;\n set previewPointsX(previewPointsX: (datum: any) => number) {\n this._previewPointsX = previewPointsX;\n }\n private _previewPointsY!: (datum: any) => number;\n set previewPointsY(previewPointsY: (datum: any) => number) {\n this._previewPointsY = previewPointsY;\n }\n private _previewPointsX1!: (datum: any) => number;\n set previewPointsX1(previewPointsX1: (datum: any) => number) {\n this._previewPointsX1 = previewPointsX1;\n }\n private _previewPointsY1!: (datum: any) => number;\n set previewPointsY1(previewPointsY1: (datum: any) => number) {\n this._previewPointsY1 = previewPointsY1;\n }\n private _statePointToData: (state: number) => any = state => state;\n set statePointToData(statePointToData: (state: number) => any) {\n this._statePointToData = statePointToData;\n }\n\n private _initAttrs(props: DataZoomRendererAttrs) {\n this.attribute = props.attribute;\n this._isHorizontal = this.attribute.orient === 'top' || this.attribute.orient === 'bottom';\n const { previewData, previewPointsX, previewPointsY, previewPointsX1, previewPointsY1 } = this\n .attribute as DataZoomAttributes;\n\n previewData && (this._previewData = previewData);\n isFunction(previewPointsX) && (this._previewPointsX = previewPointsX);\n isFunction(previewPointsY) && (this._previewPointsY = previewPointsY);\n isFunction(previewPointsX1) && (this._previewPointsX1 = previewPointsX1);\n isFunction(previewPointsY1) && (this._previewPointsY1 = previewPointsY1);\n this._getState = props.getState;\n this._getLayoutAttrFromConfig = props.getLayoutAttrFromConfig;\n this._getContainer = props.getContainer;\n }\n\n constructor(props: DataZoomRendererAttrs) {\n const { showDetail } = props.attribute as DataZoomAttributes;\n this._showText = showDetail === 'auto' ? false : showDetail;\n this._initAttrs(props);\n }\n\n setAttributes(props: DataZoomRendererAttrs): void {\n this._initAttrs(props);\n }\n\n renderDataZoom(onlyStateChange: boolean = false) {\n const {\n backgroundChartStyle = {},\n selectedBackgroundChartStyle = {},\n brushSelect\n } = this.attribute as DataZoomAttributes;\n\n this._renderBackground();\n\n /** 背景图表 */\n backgroundChartStyle.line?.visible && !onlyStateChange && this._setPreviewAttributes('line', this._getContainer());\n backgroundChartStyle.area?.visible && !onlyStateChange && this._setPreviewAttributes('area', this._getContainer());\n\n /** 背景选框 */\n brushSelect && this.renderDragMask();\n\n /** 选中背景 */\n this._renderSelectedBackground();\n\n /** 选中的背景图表 */\n selectedBackgroundChartStyle.line?.visible && this._setSelectedPreviewClipAttributes('line', this._getContainer());\n selectedBackgroundChartStyle.line?.visible && !onlyStateChange && this._setSelectedPreviewAttributes('line');\n\n selectedBackgroundChartStyle.line?.visible && this._setSelectedPreviewClipAttributes('area', this._getContainer());\n selectedBackgroundChartStyle.area?.visible && !onlyStateChange && this._setSelectedPreviewAttributes('area');\n\n /** 左右 和 中间手柄 */\n this._renderHandler();\n\n /** 左右文字 */\n if (this._showText) {\n this.renderText();\n }\n }\n\n /**\n * @description 渲染拖拽mask\n */\n renderDragMask() {\n const { dragMaskStyle } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const { start, end } = this._getState();\n if (this._isHorizontal) {\n this._dragMask = this._getContainer().createOrUpdateChild(\n 'dragMask',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n } else {\n this._dragMask = this._getContainer().createOrUpdateChild(\n 'dragMask',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n }\n return { start, end };\n }\n\n /**\n * @description 渲染背景\n */\n private _renderBackground() {\n const { backgroundStyle, brushSelect, zoomLock } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const group = this._getContainer();\n this._background = group.createOrUpdateChild(\n 'background',\n {\n x: position.x,\n y: position.y,\n width,\n height,\n cursor: brushSelect ? 'crosshair' : 'auto',\n ...backgroundStyle,\n pickable: zoomLock ? false : backgroundStyle.pickable ?? true\n },\n 'rect'\n ) as IRect;\n }\n /**\n * @description 渲染手柄\n */\n private _renderHandler() {\n const {\n orient,\n middleHandlerStyle = {},\n startHandlerStyle = {},\n endHandlerStyle = {},\n zoomLock\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this._getState();\n\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const startHandlerMinSize = startHandlerStyle.triggerMinSize ?? 40;\n const endHandlerMinSize = endHandlerStyle.triggerMinSize ?? 40;\n\n const group = this._getContainer();\n if (this._isHorizontal) {\n if (middleHandlerStyle.visible) {\n const middleHandlerBackgroundSize = middleHandlerStyle.background?.size || 10;\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: position.x + start * width,\n y: position.y - middleHandlerBackgroundSize,\n width: (end - start) * width,\n height: middleHandlerBackgroundSize,\n ...middleHandlerStyle.background?.style,\n pickable: zoomLock ? false : middleHandlerStyle.background?.style?.pickable ?? true\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x: position.x + ((start + end) / 2) * width,\n y: position.y - middleHandlerBackgroundSize / 2,\n strokeBoundsBuffer: 0,\n angle: 0,\n symbolType: middleHandlerStyle.icon?.symbolType ?? 'square',\n ...middleHandlerStyle.icon,\n pickable: zoomLock ? false : middleHandlerStyle.icon.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n }\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + start * width,\n y: position.y + height / 2,\n size: height,\n symbolType: startHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n ...startHandlerStyle,\n pickable: zoomLock ? false : startHandlerStyle.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + end * width,\n y: position.y + height / 2,\n size: height,\n symbolType: endHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n ...endHandlerStyle,\n pickable: zoomLock ? false : endHandlerStyle.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n\n // 透明mask构造热区, 热区大小配置来自handler bounds\n const startHandlerWidth = Math.max(this._startHandler.AABBBounds.width(), startHandlerMinSize);\n const startHandlerHeight = Math.max(this._startHandler.AABBBounds.height(), startHandlerMinSize);\n const endHandlerWidth = Math.max(this._endHandler.AABBBounds.width(), endHandlerMinSize);\n const endHandlerHeight = Math.max(this._endHandler.AABBBounds.height(), endHandlerMinSize);\n\n this._startHandlerMask = group.createOrUpdateChild(\n 'startHandlerMask',\n {\n x: position.x + start * width - startHandlerWidth / 2,\n y: position.y + height / 2 - startHandlerHeight / 2,\n width: startHandlerWidth,\n height: startHandlerHeight,\n fill: 'white',\n fillOpacity: 0,\n zIndex: 999,\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n this._endHandlerMask = group.createOrUpdateChild(\n 'endHandlerMask',\n {\n x: position.x + end * width - endHandlerWidth / 2,\n y: position.y + height / 2 - endHandlerHeight / 2,\n width: endHandlerWidth,\n height: endHandlerHeight,\n fill: 'white',\n fillOpacity: 0,\n zIndex: 999,\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n } else {\n if (middleHandlerStyle.visible) {\n const middleHandlerBackgroundSize = middleHandlerStyle.background?.size || 10;\n\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: orient === 'left' ? position.x - middleHandlerBackgroundSize : position.x + width,\n y: position.y + start * height,\n width: middleHandlerBackgroundSize,\n height: (end - start) * height,\n ...middleHandlerStyle.background?.style,\n pickable: zoomLock ? false : middleHandlerStyle.background?.style?.pickable ?? true\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x:\n orient === 'left'\n ? position.x - middleHandlerBackgroundSize / 2\n : position.x + width + middleHandlerBackgroundSize / 2,\n y: position.y + ((start + end) / 2) * height,\n // size: height,\n angle: 90 * (Math.PI / 180),\n symbolType: middleHandlerStyle.icon?.symbolType ?? 'square',\n strokeBoundsBuffer: 0,\n ...middleHandlerStyle.icon,\n pickable: zoomLock ? false : middleHandlerStyle.icon?.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n }\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + width / 2,\n y: position.y + start * height,\n size: width,\n symbolType: startHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n ...startHandlerStyle,\n pickable: zoomLock ? false : startHandlerStyle.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + width / 2,\n y: position.y + end * height,\n size: width,\n symbolType: endHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n ...endHandlerStyle,\n pickable: zoomLock ? false : endHandlerStyle.pickable ?? true\n },\n 'symbol'\n ) as ISymbol;\n\n // 透明mask构造热区, 热区大小配置来自handler bounds\n const startHandlerWidth = Math.max(this._startHandler.AABBBounds.width(), startHandlerMinSize);\n const startHandlerHeight = Math.max(this._startHandler.AABBBounds.height(), startHandlerMinSize);\n const endHandlerWidth = Math.max(this._endHandler.AABBBounds.width(), endHandlerMinSize);\n const endHandlerHeight = Math.max(this._endHandler.AABBBounds.height(), endHandlerMinSize);\n\n this._startHandlerMask = group.createOrUpdateChild(\n 'startHandlerMask',\n {\n x: position.x + width / 2 + startHandlerWidth / 2,\n y: position.y + start * height - startHandlerHeight / 2,\n width: endHandlerHeight,\n height: endHandlerWidth,\n fill: 'white',\n fillOpacity: 0,\n zIndex: 999,\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n this._endHandlerMask = group.createOrUpdateChild(\n 'endHandlerMask',\n {\n x: position.x + width / 2 + endHandlerWidth / 2,\n y: position.y + end * height - endHandlerHeight / 2,\n width: endHandlerHeight,\n height: endHandlerWidth,\n fill: 'white',\n fillOpacity: 0,\n zIndex: 999,\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n }\n }\n\n /**\n * @description 渲染选中背景\n */\n private _renderSelectedBackground() {\n const {\n selectedBackgroundStyle = {},\n selectedBackgroundChartStyle = {},\n brushSelect,\n zoomLock\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this._getState();\n\n const { position, width, height } = this._getLayoutAttrFromConfig();\n\n const group = this._getContainer();\n if (this._isHorizontal) {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle,\n pickable: zoomLock ? false : (selectedBackgroundChartStyle as any).pickable ?? true\n },\n 'rect'\n ) as IRect;\n } else {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle,\n pickable: zoomLock ? false : selectedBackgroundStyle.pickable ?? true\n },\n 'rect'\n ) as IRect;\n }\n }\n\n // 使用callback绘制背景图表 (数据和数据映射从外部传进来)\n private _setPreviewAttributes(type: 'line' | 'area', group: IGroup) {\n if (!this._previewGroup) {\n this._previewGroup = group.createOrUpdateChild('previewGroup', { pickable: false }, 'group') as IGroup;\n }\n if (type === 'line') {\n this._previewLine = this._previewGroup.createOrUpdateChild('previewLine', {}, 'line') as ILine;\n } else {\n this._previewArea = this._previewGroup.createOrUpdateChild(\n 'previewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { backgroundChartStyle = {} } = this.attribute as DataZoomAttributes;\n\n type === 'line' &&\n this._previewLine.setAttributes({\n points: this._getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle.line\n });\n type === 'area' &&\n this._previewArea.setAttributes({\n points: this._getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle.area\n });\n }\n\n // 使用callback绘制选中的背景图表 (数据和数据映射从外部传进来)\n private _setSelectedPreviewClipAttributes(type: 'area' | 'line', group: IGroup) {\n if (!this._selectedPreviewGroupClip) {\n this._selectedPreviewGroupClip = group.createOrUpdateChild(\n 'selectedPreviewGroupClip',\n { pickable: false },\n 'group'\n ) as IGroup;\n this._selectedPreviewGroup = this._selectedPreviewGroupClip.createOrUpdateChild(\n 'selectedPreviewGroup',\n {},\n 'group'\n ) as IGroup;\n }\n\n const { start, end } = this._getState();\n const { position, width, height } = this._getLayoutAttrFromConfig();\n this._selectedPreviewGroupClip.setAttributes({\n x: this._isHorizontal ? position.x + start * width : position.x,\n y: this._isHorizontal ? position.y : position.y + start * height,\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n clip: true,\n pickable: false\n } as any);\n this._selectedPreviewGroup.setAttributes({\n x: -(this._isHorizontal ? position.x + start * width : position.x),\n y: -(this._isHorizontal ? position.y : position.y + start * height),\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n pickable: false\n } as any);\n }\n\n private _setSelectedPreviewAttributes(type: 'line' | 'area') {\n const { selectedBackgroundChartStyle = {} } = this.attribute as DataZoomAttributes;\n if (type === 'line') {\n this._selectedPreviewLine = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewLine',\n {},\n 'line'\n ) as ILine;\n } else {\n this._selectedPreviewArea = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n type === 'line' &&\n this._selectedPreviewLine.setAttributes({\n points: this._getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle.line\n });\n type === 'area' &&\n this._selectedPreviewArea.setAttributes({\n points: this._getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle.area\n });\n }\n\n private _computeBasePoints(points: IPointLike[]) {\n const { orient } = this.attribute as DataZoomAttributes;\n const key = orient === 'bottom' || orient === 'top' ? 'x' : 'y';\n let lastPointSide = Math.sign(points[points.length - 1][key] - points[0][key]);\n if (lastPointSide === 0) {\n lastPointSide = 1;\n }\n const { position, width, height } = this._getLayoutAttrFromConfig();\n let basePointStart: any;\n let basePointEnd: any;\n if (this._isHorizontal) {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else if (orient === 'left') {\n basePointStart = [\n {\n x: position.x + width,\n y: position.y\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x,\n y: position.y\n }\n ];\n }\n\n if (Math.sign(basePointEnd[0][key] - basePointStart[0][key]) !== lastPointSide) {\n return {\n basePointStart: basePointEnd,\n basePointEnd: basePointStart\n };\n }\n\n return {\n basePointStart,\n basePointEnd\n };\n }\n\n private _simplifyPoints(points: IPointLike[]) {\n // 采样压缩率策略: 如果没做任何配置, 那么限制在niceCount内, 如果做了配置, 则按照配置计算\n const niceCount = 10000; // 经验值\n if (points.length > niceCount) {\n const tolerance = this.attribute.tolerance ?? this._previewData.length / niceCount;\n return flatten_simplify(points, tolerance, false);\n }\n return points;\n }\n\n private _getPreviewLinePoints() {\n let previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n\n // 采样\n previewPoints = this._simplifyPoints(previewPoints);\n\n const { basePointStart, basePointEnd } = this._computeBasePoints(previewPoints);\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n private _getPreviewAreaPoints() {\n let previewPoints: IPointLike[] = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d),\n x1: this._previewPointsX1 && this._previewPointsX1(d),\n y1: this._previewPointsY1 && this._previewPointsY1(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n\n // 采样\n previewPoints = this._simplifyPoints(previewPoints);\n\n const { basePointStart, basePointEnd } = this._computeBasePoints(previewPoints);\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n /**\n * @description 渲染文本\n */\n renderText() {\n let startTextBounds: IBoundsLike | null = null;\n let endTextBounds: IBoundsLike | null = null;\n\n // 第一次绘制\n this._setTextAttr(startTextBounds, endTextBounds);\n if (this._showText) {\n // 得到bounds\n startTextBounds = this._startText.AABBBounds;\n endTextBounds = this._endText.AABBBounds;\n\n // 第二次绘制: 将text限制在组件bounds内\n this._setTextAttr(startTextBounds, endTextBounds);\n // 得到bounds\n startTextBounds = this._startText.AABBBounds;\n endTextBounds = this._endText.AABBBounds;\n const { x1, x2, y1, y2 } = startTextBounds;\n const { dx: startTextDx = 0, dy: startTextDy = 0 } = this.attribute.startTextStyle;\n\n // 第三次绘制: 避免startText和endText重叠, 如果重叠了, 对startText做位置调整(考虑到调整的最小化,只单独调整startText而不调整endText)\n if (new Bounds().set(x1, y1, x2, y2).intersects(endTextBounds)) {\n const direction = this.attribute.orient === 'bottom' || this.attribute.orient === 'right' ? -1 : 1;\n if (this._isHorizontal) {\n this._startText.setAttribute('dy', startTextDy + direction * Math.abs(endTextBounds.y1 - endTextBounds.y2));\n } else {\n this._startText.setAttribute('dx', startTextDx + direction * Math.abs(endTextBounds.x1 - endTextBounds.x2));\n }\n } else {\n if (this._isHorizontal) {\n this._startText.setAttribute('dy', startTextDy);\n } else {\n this._startText.setAttribute('dx', startTextDx);\n }\n }\n }\n }\n private _setTextAttr(startTextBounds: IBoundsLike, endTextBounds: IBoundsLike) {\n const { startTextStyle, endTextStyle } = this.attribute as DataZoomAttributes;\n const { formatMethod: startTextFormat, ...restStartTextStyle } = startTextStyle;\n const { formatMethod: endTextFormat, ...restEndTextStyle } = endTextStyle;\n const { start, end } = this._getState();\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n const { position, width, height } = this._getLayoutAttrFromConfig();\n\n const startTextValue = startTextFormat ? startTextFormat(this._startValue) : this._startValue;\n const endTextValue = endTextFormat ? endTextFormat(this._endValue) : this._endValue;\n const componentBoundsLike = {\n x1: position.x,\n y1: position.y,\n x2: position.x + width,\n y2: position.y + height\n };\n let startTextPosition: IPointLike;\n let endTextPosition: IPointLike;\n let startTextAlignStyle: any;\n let endTextAlignStyle: any;\n if (this._isHorizontal) {\n startTextPosition = {\n x: position.x + start * width,\n y: position.y + height / 2\n };\n endTextPosition = {\n x: position.x + end * width,\n y: position.y + height / 2\n };\n startTextAlignStyle = {\n textAlign: isTextOverflow(componentBoundsLike, startTextBounds, 'start', this._isHorizontal) ? 'left' : 'right',\n textBaseline: restStartTextStyle?.textStyle?.textBaseline ?? 'middle'\n };\n endTextAlignStyle = {\n textAlign: isTextOverflow(componentBoundsLike, endTextBounds, 'end', this._isHorizontal) ? 'right' : 'left',\n textBaseline: restEndTextStyle?.textStyle?.textBaseline ?? 'middle'\n };\n } else {\n startTextPosition = {\n x: position.x + width / 2,\n y: position.y + start * height\n };\n endTextPosition = {\n x: position.x + width / 2,\n y: position.y + end * height\n };\n startTextAlignStyle = {\n textAlign: restStartTextStyle?.textStyle?.textAlign ?? 'center',\n textBaseline: isTextOverflow(componentBoundsLike, startTextBounds, 'start', this._isHorizontal)\n ? 'top'\n : 'bottom'\n };\n endTextAlignStyle = {\n textAlign: restEndTextStyle?.textStyle?.textAlign ?? 'center',\n textBaseline: isTextOverflow(componentBoundsLike, endTextBounds, 'end', this._isHorizontal) ? 'bottom' : 'top'\n };\n }\n\n this._startText = this._maybeAddLabel(\n this._getContainer(),\n merge({}, restStartTextStyle, {\n text: startTextValue,\n x: startTextPosition.x,\n y: startTextPosition.y,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: startTextAlignStyle\n }),\n `data-zoom-start-text`\n );\n this._endText = this._maybeAddLabel(\n this._getContainer(),\n merge({}, restEndTextStyle, {\n text: endTextValue,\n x: endTextPosition.x,\n y: endTextPosition.y,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: endTextAlignStyle\n }),\n `data-zoom-end-text`\n );\n }\n private _maybeAddLabel(container: IGroup, attributes: TagAttributes, name: string): Tag {\n let labelShape = container.find(node => node.name === name, true) as unknown as Tag;\n if (labelShape) {\n labelShape.setAttributes(attributes);\n } else {\n labelShape = new Tag(attributes);\n labelShape.name = name;\n container.add(labelShape as unknown as INode);\n }\n\n return labelShape;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/data-zoom/renderer.ts"],"names":[],"mappings":"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","file":"renderer.js","sourcesContent":["import type { DataZoomAttributes } from './type';\nimport type { IBoundsLike, IPointLike } from '@visactor/vutils';\nimport { flatten_simplify } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IArea, IGroup, ILine, IRect, ISymbol, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isFunction, merge } from '@visactor/vutils';\nimport { Tag, type TagAttributes } from '../tag';\nimport { DEFAULT_HANDLER_ATTR_MAP, LAYOUT_LEVEL } from './config';\nimport { isTextOverflow } from './utils';\nexport interface DataZoomRendererAttrs {\n attribute: Partial<Required<DataZoomAttributes>>;\n getLayoutAttrFromConfig: any;\n getState: () => { start: number; end: number };\n setState: (state: { start: number; end: number }) => void;\n getContainer: () => IGroup;\n}\nexport class DataZoomRenderer {\n /** 上层透传 */\n attribute: Partial<Required<DataZoomAttributes>>;\n private _getLayoutAttrFromConfig: any;\n private _getState: () => { start: number; end: number };\n private _getContainer: () => IGroup;\n\n /** 中间变量 */\n private _isHorizontal: boolean;\n\n /** 手柄 */\n private _startHandlerMask!: IRect;\n get startHandlerMask() {\n return this._startHandlerMask;\n }\n private _startHandler!: ISymbol;\n private _middleHandlerSymbol!: ISymbol;\n get middleHandlerSymbol() {\n return this._middleHandlerSymbol;\n }\n private _middleHandlerRect!: IRect;\n get middleHandlerRect() {\n return this._middleHandlerRect;\n }\n private _endHandlerMask!: IRect;\n get endHandlerMask() {\n return this._endHandlerMask;\n }\n private _endHandler!: ISymbol;\n private _selectedBackground!: IRect;\n get selectedBackground() {\n return this._selectedBackground;\n }\n private _dragMask!: IRect;\n get dragMask() {\n return this._dragMask;\n }\n private _startText!: Tag;\n get startText() {\n return this._startText;\n }\n private _endText!: Tag;\n get endText() {\n return this._endText;\n }\n private _startValue!: string | number;\n get startValue() {\n return this._startValue;\n }\n private _endValue!: string | number;\n get endValue() {\n return this._endValue;\n }\n private _showText!: boolean;\n set showText(showText: boolean) {\n this._showText = showText;\n }\n\n /** 背景图表 */\n private _background!: IRect;\n get background() {\n return this._background;\n }\n private _previewData: any[] = [];\n set previewData(previewData: any[]) {\n this._previewData = previewData;\n }\n private _previewGroup!: IGroup;\n get previewGroup() {\n return this._previewGroup;\n }\n private _previewLine!: ILine;\n private _previewArea!: IArea;\n private _selectedPreviewGroupClip!: IGroup;\n private _selectedPreviewGroup!: IGroup;\n get selectedPreviewGroup() {\n return this._selectedPreviewGroup;\n }\n private _selectedPreviewLine!: ILine;\n private _selectedPreviewArea!: IArea;\n\n /** 回调函数 */\n private _previewPointsX!: (datum: any) => number;\n set previewPointsX(previewPointsX: (datum: any) => number) {\n this._previewPointsX = previewPointsX;\n }\n private _previewPointsY!: (datum: any) => number;\n set previewPointsY(previewPointsY: (datum: any) => number) {\n this._previewPointsY = previewPointsY;\n }\n private _previewPointsX1!: (datum: any) => number;\n set previewPointsX1(previewPointsX1: (datum: any) => number) {\n this._previewPointsX1 = previewPointsX1;\n }\n private _previewPointsY1!: (datum: any) => number;\n set previewPointsY1(previewPointsY1: (datum: any) => number) {\n this._previewPointsY1 = previewPointsY1;\n }\n private _statePointToData: (state: number) => any = state => state;\n set statePointToData(statePointToData: (state: number) => any) {\n this._statePointToData = statePointToData;\n }\n\n private _initAttrs(props: DataZoomRendererAttrs) {\n this.attribute = props.attribute;\n this._isHorizontal = this.attribute.orient === 'top' || this.attribute.orient === 'bottom';\n const { previewData, previewPointsX, previewPointsY, previewPointsX1, previewPointsY1 } = this\n .attribute as DataZoomAttributes;\n\n previewData && (this._previewData = previewData);\n isFunction(previewPointsX) && (this._previewPointsX = previewPointsX);\n isFunction(previewPointsY) && (this._previewPointsY = previewPointsY);\n isFunction(previewPointsX1) && (this._previewPointsX1 = previewPointsX1);\n isFunction(previewPointsY1) && (this._previewPointsY1 = previewPointsY1);\n this._getState = props.getState;\n this._getLayoutAttrFromConfig = props.getLayoutAttrFromConfig;\n this._getContainer = props.getContainer;\n }\n\n constructor(props: DataZoomRendererAttrs) {\n const { showDetail } = props.attribute as DataZoomAttributes;\n this._showText = showDetail === 'auto' ? false : showDetail;\n this._initAttrs(props);\n }\n\n setAttributes(props: DataZoomRendererAttrs): void {\n this._initAttrs(props);\n }\n\n renderDataZoom(onlyStateChange: boolean = false) {\n const {\n backgroundChartStyle = {},\n selectedBackgroundChartStyle = {},\n brushSelect\n } = this.attribute as DataZoomAttributes;\n\n this._renderBackground();\n\n /** 背景图表 */\n backgroundChartStyle.line?.visible && !onlyStateChange && this._setPreviewAttributes('line', this._getContainer());\n backgroundChartStyle.area?.visible && !onlyStateChange && this._setPreviewAttributes('area', this._getContainer());\n\n /** 背景选框 */\n brushSelect && this.renderDragMask();\n\n /** 选中背景 */\n this._renderSelectedBackground();\n\n /** 选中的背景图表 */\n selectedBackgroundChartStyle.line?.visible && this._setSelectedPreviewClipAttributes('line', this._getContainer());\n selectedBackgroundChartStyle.line?.visible && !onlyStateChange && this._setSelectedPreviewAttributes('line');\n\n selectedBackgroundChartStyle.line?.visible && this._setSelectedPreviewClipAttributes('area', this._getContainer());\n selectedBackgroundChartStyle.area?.visible && !onlyStateChange && this._setSelectedPreviewAttributes('area');\n\n /** 左右 和 中间手柄 */\n this._renderHandler();\n\n /** 左右文字 */\n if (this._showText) {\n this.renderText();\n }\n }\n\n /**\n * @description 渲染拖拽mask\n */\n renderDragMask() {\n const { dragMaskStyle } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const { start, end } = this._getState();\n if (this._isHorizontal) {\n this._dragMask = this._getContainer().createOrUpdateChild(\n 'dragMask',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n zIndex: LAYOUT_LEVEL.dragMask,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n } else {\n this._dragMask = this._getContainer().createOrUpdateChild(\n 'dragMask',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n zIndex: LAYOUT_LEVEL.dragMask,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n }\n return { start, end };\n }\n\n /**\n * @description 渲染背景\n */\n private _renderBackground() {\n const { backgroundStyle, brushSelect, zoomLock } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const group = this._getContainer();\n this._background = group.createOrUpdateChild(\n 'background',\n {\n x: position.x,\n y: position.y,\n width,\n height,\n cursor: brushSelect ? 'crosshair' : 'auto',\n zIndex: LAYOUT_LEVEL.background,\n ...backgroundStyle,\n pickable: zoomLock ? false : (backgroundStyle.pickable ?? true)\n },\n 'rect'\n ) as IRect;\n }\n /**\n * @description 渲染手柄\n */\n private _renderHandler() {\n const {\n orient,\n middleHandlerStyle = {},\n startHandlerStyle = {},\n endHandlerStyle = {},\n zoomLock\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this._getState();\n\n const { position, width, height } = this._getLayoutAttrFromConfig();\n const startHandlerMinSize = startHandlerStyle.triggerMinSize ?? 40;\n const endHandlerMinSize = endHandlerStyle.triggerMinSize ?? 40;\n\n const group = this._getContainer();\n if (this._isHorizontal) {\n if (middleHandlerStyle.visible) {\n const middleHandlerBackgroundSize = middleHandlerStyle.background?.size || 10;\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: position.x + start * width,\n y: position.y - middleHandlerBackgroundSize,\n width: (end - start) * width,\n height: middleHandlerBackgroundSize,\n zIndex: LAYOUT_LEVEL.handler,\n ...middleHandlerStyle.background?.style,\n pickable: zoomLock ? false : (middleHandlerStyle.background?.style?.pickable ?? true)\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x: position.x + ((start + end) / 2) * width,\n y: position.y - middleHandlerBackgroundSize / 2,\n strokeBoundsBuffer: 0,\n angle: 0,\n symbolType: middleHandlerStyle.icon?.symbolType ?? 'square',\n zIndex: LAYOUT_LEVEL.handler,\n ...middleHandlerStyle.icon,\n pickable: zoomLock ? false : (middleHandlerStyle.icon.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n }\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + start * width,\n y: position.y + height / 2,\n size: height,\n symbolType: startHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n zIndex: LAYOUT_LEVEL.handler,\n ...startHandlerStyle,\n pickable: zoomLock ? false : (startHandlerStyle.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + end * width,\n y: position.y + height / 2,\n size: height,\n symbolType: endHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n zIndex: LAYOUT_LEVEL.handler,\n ...endHandlerStyle,\n pickable: zoomLock ? false : (endHandlerStyle.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n\n // 透明mask构造热区, 热区大小配置来自handler bounds\n const startHandlerWidth = Math.max(this._startHandler.AABBBounds.width(), startHandlerMinSize);\n const startHandlerHeight = Math.max(this._startHandler.AABBBounds.height(), startHandlerMinSize);\n const endHandlerWidth = Math.max(this._endHandler.AABBBounds.width(), endHandlerMinSize);\n const endHandlerHeight = Math.max(this._endHandler.AABBBounds.height(), endHandlerMinSize);\n\n this._startHandlerMask = group.createOrUpdateChild(\n 'startHandlerMask',\n {\n x: position.x + start * width - startHandlerWidth / 2,\n y: position.y + height / 2 - startHandlerHeight / 2,\n width: startHandlerWidth,\n height: startHandlerHeight,\n fill: 'white',\n fillOpacity: 0,\n zIndex: LAYOUT_LEVEL.handlerMask,\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n this._endHandlerMask = group.createOrUpdateChild(\n 'endHandlerMask',\n {\n x: position.x + end * width - endHandlerWidth / 2,\n y: position.y + height / 2 - endHandlerHeight / 2,\n width: endHandlerWidth,\n height: endHandlerHeight,\n fill: 'white',\n fillOpacity: 0,\n zIndex: LAYOUT_LEVEL.handlerMask,\n ...(DEFAULT_HANDLER_ATTR_MAP.horizontal as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n } else {\n if (middleHandlerStyle.visible) {\n const middleHandlerBackgroundSize = middleHandlerStyle.background?.size || 10;\n\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: orient === 'left' ? position.x - middleHandlerBackgroundSize : position.x + width,\n y: position.y + start * height,\n width: middleHandlerBackgroundSize,\n height: (end - start) * height,\n zIndex: LAYOUT_LEVEL.handler,\n ...middleHandlerStyle.background?.style,\n pickable: zoomLock ? false : (middleHandlerStyle.background?.style?.pickable ?? true)\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x:\n orient === 'left'\n ? position.x - middleHandlerBackgroundSize / 2\n : position.x + width + middleHandlerBackgroundSize / 2,\n y: position.y + ((start + end) / 2) * height,\n // size: height,\n angle: 90 * (Math.PI / 180),\n symbolType: middleHandlerStyle.icon?.symbolType ?? 'square',\n strokeBoundsBuffer: 0,\n zIndex: LAYOUT_LEVEL.handler,\n ...middleHandlerStyle.icon,\n pickable: zoomLock ? false : (middleHandlerStyle.icon?.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n }\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + width / 2,\n y: position.y + start * height,\n size: width,\n symbolType: startHandlerStyle.symbolType ?? 'square',\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n zIndex: LAYOUT_LEVEL.handler,\n ...startHandlerStyle,\n pickable: zoomLock ? false : (startHandlerStyle.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + width / 2,\n y: position.y + end * height,\n size: width,\n symbolType: endHandlerStyle.symbolType ?? 'square',\n zIndex: LAYOUT_LEVEL.handler,\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n ...endHandlerStyle,\n pickable: zoomLock ? false : (endHandlerStyle.pickable ?? true)\n },\n 'symbol'\n ) as ISymbol;\n\n // 透明mask构造热区, 热区大小配置来自handler bounds\n const startHandlerWidth = Math.max(this._startHandler.AABBBounds.width(), startHandlerMinSize);\n const startHandlerHeight = Math.max(this._startHandler.AABBBounds.height(), startHandlerMinSize);\n const endHandlerWidth = Math.max(this._endHandler.AABBBounds.width(), endHandlerMinSize);\n const endHandlerHeight = Math.max(this._endHandler.AABBBounds.height(), endHandlerMinSize);\n\n this._startHandlerMask = group.createOrUpdateChild(\n 'startHandlerMask',\n {\n x: position.x + width / 2 + startHandlerWidth / 2,\n y: position.y + start * height - startHandlerHeight / 2,\n width: endHandlerHeight,\n height: endHandlerWidth,\n fill: 'white',\n fillOpacity: 0,\n zIndex: LAYOUT_LEVEL.handlerMask,\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n this._endHandlerMask = group.createOrUpdateChild(\n 'endHandlerMask',\n {\n x: position.x + width / 2 + endHandlerWidth / 2,\n y: position.y + end * height - endHandlerHeight / 2,\n width: endHandlerHeight,\n height: endHandlerWidth,\n fill: 'white',\n fillOpacity: 0,\n zIndex: LAYOUT_LEVEL.handlerMask,\n ...(DEFAULT_HANDLER_ATTR_MAP.vertical as any),\n pickable: !zoomLock\n },\n 'rect'\n ) as IRect;\n }\n }\n\n /**\n * @description 渲染选中背景\n */\n private _renderSelectedBackground() {\n const {\n selectedBackgroundStyle = {},\n selectedBackgroundChartStyle = {},\n brushSelect,\n zoomLock\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this._getState();\n\n const { position, width, height } = this._getLayoutAttrFromConfig();\n\n const group = this._getContainer();\n if (this._isHorizontal) {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n cursor: brushSelect ? 'crosshair' : 'move',\n zIndex: LAYOUT_LEVEL.selectedBackground,\n ...selectedBackgroundStyle,\n pickable: zoomLock ? false : ((selectedBackgroundChartStyle as any).pickable ?? true)\n },\n 'rect'\n ) as IRect;\n } else {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n cursor: brushSelect ? 'crosshair' : 'move',\n zIndex: LAYOUT_LEVEL.selectedBackground,\n ...selectedBackgroundStyle,\n pickable: zoomLock ? false : (selectedBackgroundStyle.pickable ?? true)\n },\n 'rect'\n ) as IRect;\n }\n }\n\n // 使用callback绘制背景图表 (数据和数据映射从外部传进来)\n private _setPreviewAttributes(type: 'line' | 'area', group: IGroup) {\n if (!this._previewGroup) {\n this._previewGroup = group.createOrUpdateChild(\n 'previewGroup',\n { pickable: false, zIndex: LAYOUT_LEVEL.preview },\n 'group'\n ) as IGroup;\n }\n if (type === 'line') {\n this._previewLine = this._previewGroup.createOrUpdateChild('previewLine', {}, 'line') as ILine;\n } else {\n this._previewArea = this._previewGroup.createOrUpdateChild(\n 'previewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { backgroundChartStyle = {} } = this.attribute as DataZoomAttributes;\n\n type === 'line' &&\n this._previewLine.setAttributes({\n points: this._getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle.line\n });\n type === 'area' &&\n this._previewArea.setAttributes({\n points: this._getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle.area\n });\n }\n\n // 使用callback绘制选中的背景图表 (数据和数据映射从外部传进来)\n private _setSelectedPreviewClipAttributes(type: 'area' | 'line', group: IGroup) {\n if (!this._selectedPreviewGroupClip) {\n this._selectedPreviewGroupClip = group.createOrUpdateChild(\n 'selectedPreviewGroupClip',\n { pickable: false, zIndex: LAYOUT_LEVEL.selectedPreview },\n 'group'\n ) as IGroup;\n this._selectedPreviewGroup = this._selectedPreviewGroupClip.createOrUpdateChild(\n 'selectedPreviewGroup',\n {},\n 'group'\n ) as IGroup;\n }\n\n const { start, end } = this._getState();\n const { position, width, height } = this._getLayoutAttrFromConfig();\n this._selectedPreviewGroupClip.setAttributes({\n x: this._isHorizontal ? position.x + start * width : position.x,\n y: this._isHorizontal ? position.y : position.y + start * height,\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n clip: true,\n pickable: false\n } as any);\n this._selectedPreviewGroup.setAttributes({\n x: -(this._isHorizontal ? position.x + start * width : position.x),\n y: -(this._isHorizontal ? position.y : position.y + start * height),\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n pickable: false\n } as any);\n }\n\n private _setSelectedPreviewAttributes(type: 'line' | 'area') {\n const { selectedBackgroundChartStyle = {} } = this.attribute as DataZoomAttributes;\n if (type === 'line') {\n this._selectedPreviewLine = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewLine',\n {},\n 'line'\n ) as ILine;\n } else {\n this._selectedPreviewArea = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n type === 'line' &&\n this._selectedPreviewLine.setAttributes({\n points: this._getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle.line\n });\n type === 'area' &&\n this._selectedPreviewArea.setAttributes({\n points: this._getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle.area\n });\n }\n\n private _computeBasePoints(points: IPointLike[]) {\n const { orient } = this.attribute as DataZoomAttributes;\n const key = orient === 'bottom' || orient === 'top' ? 'x' : 'y';\n let lastPointSide = Math.sign(points[points.length - 1][key] - points[0][key]);\n if (lastPointSide === 0) {\n lastPointSide = 1;\n }\n const { position, width, height } = this._getLayoutAttrFromConfig();\n let basePointStart: any;\n let basePointEnd: any;\n if (this._isHorizontal) {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else if (orient === 'left') {\n basePointStart = [\n {\n x: position.x + width,\n y: position.y\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x,\n y: position.y\n }\n ];\n }\n\n if (Math.sign(basePointEnd[0][key] - basePointStart[0][key]) !== lastPointSide) {\n return {\n basePointStart: basePointEnd,\n basePointEnd: basePointStart\n };\n }\n\n return {\n basePointStart,\n basePointEnd\n };\n }\n\n private _simplifyPoints(points: IPointLike[]) {\n // 采样压缩率策略: 如果没做任何配置, 那么限制在niceCount内, 如果做了配置, 则按照配置计算\n const niceCount = 10000; // 经验值\n if (points.length > niceCount) {\n const tolerance = this.attribute.tolerance ?? this._previewData.length / niceCount;\n return flatten_simplify(points, tolerance, false);\n }\n return points;\n }\n\n private _getPreviewLinePoints() {\n let previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n\n // 采样\n previewPoints = this._simplifyPoints(previewPoints);\n\n const { basePointStart, basePointEnd } = this._computeBasePoints(previewPoints);\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n private _getPreviewAreaPoints() {\n let previewPoints: IPointLike[] = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d),\n x1: this._previewPointsX1 && this._previewPointsX1(d),\n y1: this._previewPointsY1 && this._previewPointsY1(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n\n // 采样\n previewPoints = this._simplifyPoints(previewPoints);\n\n const { basePointStart, basePointEnd } = this._computeBasePoints(previewPoints);\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n /**\n * @description 渲染文本\n */\n renderText() {\n let startTextBounds: IBoundsLike | null = null;\n let endTextBounds: IBoundsLike | null = null;\n\n // 第一次绘制\n this._setTextAttr(startTextBounds, endTextBounds);\n if (this._showText) {\n // 得到bounds\n startTextBounds = this._startText.AABBBounds;\n endTextBounds = this._endText.AABBBounds;\n\n // 第二次绘制: 将text限制在组件bounds内\n this._setTextAttr(startTextBounds, endTextBounds);\n // 得到bounds\n startTextBounds = this._startText.AABBBounds;\n endTextBounds = this._endText.AABBBounds;\n const { x1, x2, y1, y2 } = startTextBounds;\n const { dx: startTextDx = 0, dy: startTextDy = 0 } = this.attribute.startTextStyle;\n\n // 第三次绘制: 避免startText和endText重叠, 如果重叠了, 对startText做位置调整(考虑到调整的最小化,只单独调整startText而不调整endText)\n if (new Bounds().set(x1, y1, x2, y2).intersects(endTextBounds)) {\n const direction = this.attribute.orient === 'bottom' || this.attribute.orient === 'right' ? -1 : 1;\n if (this._isHorizontal) {\n this._startText.setAttribute('dy', startTextDy + direction * Math.abs(endTextBounds.y1 - endTextBounds.y2));\n } else {\n this._startText.setAttribute('dx', startTextDx + direction * Math.abs(endTextBounds.x1 - endTextBounds.x2));\n }\n } else {\n if (this._isHorizontal) {\n this._startText.setAttribute('dy', startTextDy);\n } else {\n this._startText.setAttribute('dx', startTextDx);\n }\n }\n }\n }\n private _setTextAttr(startTextBounds: IBoundsLike, endTextBounds: IBoundsLike) {\n const { startTextStyle, endTextStyle } = this.attribute as DataZoomAttributes;\n const { formatMethod: startTextFormat, ...restStartTextStyle } = startTextStyle;\n const { formatMethod: endTextFormat, ...restEndTextStyle } = endTextStyle;\n const { start, end } = this._getState();\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n const { position, width, height } = this._getLayoutAttrFromConfig();\n\n const startTextValue = startTextFormat ? startTextFormat(this._startValue) : this._startValue;\n const endTextValue = endTextFormat ? endTextFormat(this._endValue) : this._endValue;\n const componentBoundsLike = {\n x1: position.x,\n y1: position.y,\n x2: position.x + width,\n y2: position.y + height\n };\n let startTextPosition: IPointLike;\n let endTextPosition: IPointLike;\n let startTextAlignStyle: any;\n let endTextAlignStyle: any;\n if (this._isHorizontal) {\n startTextPosition = {\n x: position.x + start * width,\n y: position.y + height / 2\n };\n endTextPosition = {\n x: position.x + end * width,\n y: position.y + height / 2\n };\n startTextAlignStyle = {\n textAlign: isTextOverflow(componentBoundsLike, startTextBounds, 'start', this._isHorizontal) ? 'left' : 'right',\n textBaseline: restStartTextStyle?.textStyle?.textBaseline ?? 'middle'\n };\n endTextAlignStyle = {\n textAlign: isTextOverflow(componentBoundsLike, endTextBounds, 'end', this._isHorizontal) ? 'right' : 'left',\n textBaseline: restEndTextStyle?.textStyle?.textBaseline ?? 'middle'\n };\n } else {\n startTextPosition = {\n x: position.x + width / 2,\n y: position.y + start * height\n };\n endTextPosition = {\n x: position.x + width / 2,\n y: position.y + end * height\n };\n startTextAlignStyle = {\n textAlign: restStartTextStyle?.textStyle?.textAlign ?? 'center',\n textBaseline: isTextOverflow(componentBoundsLike, startTextBounds, 'start', this._isHorizontal)\n ? 'top'\n : 'bottom'\n };\n endTextAlignStyle = {\n textAlign: restEndTextStyle?.textStyle?.textAlign ?? 'center',\n textBaseline: isTextOverflow(componentBoundsLike, endTextBounds, 'end', this._isHorizontal) ? 'bottom' : 'top'\n };\n }\n\n this._startText = this._maybeAddLabel(\n this._getContainer(),\n merge({}, restStartTextStyle, {\n text: startTextValue,\n x: startTextPosition.x,\n y: startTextPosition.y,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: startTextAlignStyle\n }),\n `data-zoom-start-text`\n );\n this._endText = this._maybeAddLabel(\n this._getContainer(),\n merge({}, restEndTextStyle, {\n text: endTextValue,\n x: endTextPosition.x,\n y: endTextPosition.y,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: endTextAlignStyle\n }),\n `data-zoom-end-text`\n );\n }\n private _maybeAddLabel(container: IGroup, attributes: TagAttributes, name: string): Tag {\n let labelShape = container.find(node => node.name === name, true) as unknown as Tag;\n if (labelShape) {\n labelShape.setAttributes(attributes);\n } else {\n labelShape = new Tag(attributes);\n labelShape.name = name;\n container.add(labelShape as unknown as INode);\n }\n\n return labelShape;\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
|
-
}), exports.version = void 0, exports.version = "1.0.
|
|
20
|
+
}), exports.version = void 0, exports.version = "1.0.43-alpha.0", __exportStar(require("./core/base"), exports),
|
|
21
21
|
__exportStar(require("./core/type"), exports), __exportStar(require("./scrollbar"), exports),
|
|
22
22
|
__exportStar(require("./tag"), exports), __exportStar(require("./poptip"), exports),
|
|
23
23
|
__exportStar(require("./crosshair"), exports), __exportStar(require("./label"), exports),
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B;AAC7B,wDAAsC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"1.0.43-alpha.0\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './timeline';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './empty-tip';\nexport * from './weather';\nexport * from './util';\nexport * from './switch';\nexport * from './label-item';\nexport * from './table-series-number';\n"]}
|
package/cjs/slider/slider.d.ts
CHANGED
|
@@ -101,9 +101,6 @@ export declare class Slider extends AbstractComponent<Required<SliderAttributes>
|
|
|
101
101
|
protected _renderTrack(container: IGroup): void;
|
|
102
102
|
protected _renderHandler(style: Partial<ISymbolGraphicAttribute>): ISymbol;
|
|
103
103
|
private _renderHandlerText;
|
|
104
|
-
private _getHandlerPosition;
|
|
105
|
-
private _getHandlerTextStyle;
|
|
106
|
-
private _getHandlerTextAttributes;
|
|
107
104
|
private _renderTooltip;
|
|
108
105
|
private _updateTooltip;
|
|
109
106
|
private _bindEvents;
|