| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.brushInteraction = void 0;
- var util_1 = require("@antv/util");
- /** 先引入brush 交互 */
- require("../interactions/brush");
- var brush_1 = require("../interactions/brush");
- var utils_1 = require("../utils");
- var BRUSH_TYPES = ['brush', 'brush-x', 'brush-y', 'brush-highlight', 'brush-x-highlight', 'brush-y-highlight'];
- /**
- * brush 交互
- */
- function brushInteraction(params) {
- var options = params.options;
- var brush = options.brush;
- // 先过滤掉 brush 等交互
- var interactions = (0, util_1.filter)(options.interactions || [], function (i) { return BRUSH_TYPES.indexOf(i.type) === -1; });
- // 设置 brush 交互
- if (brush === null || brush === void 0 ? void 0 : brush.enabled) {
- BRUSH_TYPES.forEach(function (type) {
- var enable = false;
- switch (brush.type) {
- case 'x-rect':
- enable = type === (brush.action === 'highlight' ? 'brush-x-highlight' : 'brush-x');
- break;
- case 'y-rect':
- enable = type === (brush.action === 'highlight' ? 'brush-y-highlight' : 'brush-y');
- break;
- default:
- enable = type === (brush.action === 'highlight' ? 'brush-highlight' : 'brush');
- break;
- }
- var obj = { type: type, enable: enable };
- if (brush) {
- obj.cfg = (0, brush_1.getInteractionCfg)(type, brush.type, brush);
- }
- interactions.push(obj);
- });
- // 塞入 button 配置 (G2Plot 的封装)
- if ((brush === null || brush === void 0 ? void 0 : brush.action) !== 'highlight') {
- interactions.push({
- type: 'filter-action',
- cfg: {
- buttonConfig: brush.button,
- },
- });
- }
- }
- return (0, utils_1.deepAssign)({}, params, { options: { interactions: interactions } });
- }
- exports.brushInteraction = brushInteraction;
- //# sourceMappingURL=brush.js.map
|