| 1234567891011121314151617181920212223242526272829303132333435 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.doSliderFilter = void 0;
- var util_1 = require("@antv/util");
- var utils_1 = require("../../../utils");
- /**
- * 右侧 View 进行 slider 过滤
- * 由于双轴图是多 View , 需要监听左侧 Slider 的 change 事件来同步右侧 View
- * @param { View } view 右侧视图
- * @param { number[] } sliderValue 滑块当前值
- * @returns void
- */
- var doSliderFilter = function (view, sliderValue) {
- var min = sliderValue[0], max = sliderValue[1];
- var data = view.getOptions().data;
- var xScale = view.getXScale();
- var dataSize = (0, util_1.size)(data);
- if (!xScale || !dataSize) {
- return;
- }
- var isHorizontal = true;
- var values = (0, util_1.valuesOfKey)(data, xScale.field);
- var xValues = isHorizontal ? values : values.reverse();
- var xTickCount = (0, util_1.size)(xValues);
- var minIndex = Math.floor(min * (xTickCount - 1));
- var maxIndex = Math.floor(max * (xTickCount - 1));
- // 增加 x 轴的过滤器
- view.filter(xScale.field, function (value) {
- var idx = xValues.indexOf(value);
- return idx > -1 ? (0, utils_1.isBetween)(idx, minIndex, maxIndex) : true;
- });
- view.getRootView().render(true);
- };
- exports.doSliderFilter = doSliderFilter;
- //# sourceMappingURL=render-sider.js.map
|