UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

59 lines (49 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.highlightDefaultOptions = exports.generateFilterValue = exports.filterMarksOfInteraction = exports.groupMarksByState = exports.parseTriggerOffOfSelect = void 0; const vutils_1 = require("@visactor/vutils"), util_1 = require("../../util"), interface_1 = require("../../compile/mark/interface"), parseTriggerOffOfSelect = triggerOff => { const triggerOffArray = (0, vutils_1.array)(triggerOff), resetType = [], eventNames = []; return triggerOffArray.forEach((off => { "empty" === off ? resetType.push("view") : (0, vutils_1.isString)(off) && "none" !== off ? off.includes("view:") ? (eventNames.push(off.replace("view:", "")), resetType.push("view")) : (eventNames.push(off), resetType.push("self")) : (0, vutils_1.isNumber)(off) && resetType.push("timeout"); })), { eventNames: eventNames, resetType: resetType }; }; exports.parseTriggerOffOfSelect = parseTriggerOffOfSelect; const groupMarksByState = (marks, states) => { if (!states || !marks) return null; const res = {}; return marks.forEach((mark => { const stateStyle = mark.stateStyle; stateStyle && states.forEach((state => { state && stateStyle[state] && (res[state] || (res[state] = []), res[state].push(mark.id)); })); })), res; }; exports.groupMarksByState = groupMarksByState; const filterMarksOfInteraction = (interactionSpec, marks) => { if (!marks || !marks.length) return []; const selector = []; return interactionSpec.markIds ? marks.filter((mark => { interactionSpec.markIds.includes(mark.getProductId()) && selector.push(mark); })) : interactionSpec.markNames ? marks.forEach((mark => { interactionSpec.markNames.includes(mark.name) && selector.push(mark); })) : marks.forEach((mark => { selector.push(mark); })), selector; }; exports.filterMarksOfInteraction = filterMarksOfInteraction; const generateFilterValue = options => options.filterField ? g => { var _a; return null === (_a = (0, util_1.getDatumOfGraphic)(g)) || void 0 === _a ? void 0 : _a[options.filterField]; } : el => el.context[options.filterType]; exports.generateFilterValue = generateFilterValue, exports.highlightDefaultOptions = { highlightState: interface_1.STATE_VALUE_ENUM.STATE_HIGHLIGHT, blurState: interface_1.STATE_VALUE_ENUM.STATE_BLUR, trigger: "pointerover", triggerOff: "pointerout" }; //# sourceMappingURL=util.js.map