UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

44 lines (38 loc) 2.28 kB
import { degreeToRadian, isEmpty, isFunction } from "@visactor/vutils"; export function transformComponentStyle(cfg = {}) { const newConfig = Object.assign({}, cfg); if (isFunction(cfg.style) ? newConfig.style = (item, isSelected, index, allItems) => transformToGraphic(cfg.style(item, isSelected, index, allItems)) : isEmpty(cfg.style) || (newConfig.style = transformToGraphic(cfg.style)), !isEmpty(cfg.state)) { const newStateStyle = {}; Object.keys(cfg.state).forEach((key => { isFunction(cfg.state[key]) ? newStateStyle[key] = (item, isSelected, index, allItems) => transformToGraphic(cfg.state[key](item, isSelected, index, allItems)) : isEmpty(cfg.state[key]) || (newStateStyle[key] = transformToGraphic(cfg.state[key])); })), newConfig.state = newStateStyle; } return newConfig; } export function transformStateStyle(stateStyle) { if (isEmpty(stateStyle)) return null; const newStateStyle = {}; return Object.keys(stateStyle).forEach((key => { isFunction(stateStyle[key]) ? newStateStyle[key] = (value, index, datum, data) => transformToGraphic(stateStyle[key](value, index, datum, data)) : isEmpty(stateStyle[key]) || (newStateStyle[key] = transformToGraphic(stateStyle[key])); })), newStateStyle; } export function transformAxisLabelStateStyle(stateStyle) { if (isEmpty(stateStyle)) return null; const newStateStyle = {}; return Object.keys(stateStyle).forEach((key => { isFunction(stateStyle[key]) ? newStateStyle[key] = (datum, index, data, layer) => transformToGraphic(stateStyle[key](datum.rawValue, index, datum, data, layer)) : isEmpty(stateStyle[key]) || (newStateStyle[key] = transformToGraphic(stateStyle[key])); })), newStateStyle; } export function transformIndicatorStyle(style, datum) { if (isEmpty(style)) return null; const newStateStyle = {}; return Object.keys(style).forEach((key => { isFunction(style[key]) ? newStateStyle[key] = style[key](datum) : newStateStyle[key] = style[key]; })), transformToGraphic(newStateStyle); } export function transformToGraphic(style) { return (null == style ? void 0 : style.angle) && (style.angle = degreeToRadian(style.angle)), style; } //# sourceMappingURL=style.js.map