@visactor/vchart
Version:
charts lib based @visactor/VGrammar
58 lines (49 loc) • 2.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.transformToGraphic = exports.transformIndicatorStyle = exports.transformAxisLabelStateStyle = exports.transformStateStyle = exports.transformComponentStyle = void 0;
const vutils_1 = require("@visactor/vutils");
function transformComponentStyle(cfg = {}) {
const newConfig = Object.assign({}, cfg);
if ((0, vutils_1.isFunction)(cfg.style) ? newConfig.style = (item, isSelected, index, allItems) => transformToGraphic(cfg.style(item, isSelected, index, allItems)) : (0,
vutils_1.isEmpty)(cfg.style) || (newConfig.style = transformToGraphic(cfg.style)),
!(0, vutils_1.isEmpty)(cfg.state)) {
const newStateStyle = {};
Object.keys(cfg.state).forEach((key => {
(0, vutils_1.isFunction)(cfg.state[key]) ? newStateStyle[key] = (item, isSelected, index, allItems) => transformToGraphic(cfg.state[key](item, isSelected, index, allItems)) : (0,
vutils_1.isEmpty)(cfg.state[key]) || (newStateStyle[key] = transformToGraphic(cfg.state[key]));
})), newConfig.state = newStateStyle;
}
return newConfig;
}
function transformStateStyle(stateStyle) {
if ((0, vutils_1.isEmpty)(stateStyle)) return null;
const newStateStyle = {};
return Object.keys(stateStyle).forEach((key => {
(0, vutils_1.isFunction)(stateStyle[key]) ? newStateStyle[key] = (value, index, datum, data) => transformToGraphic(stateStyle[key](value, index, datum, data)) : (0,
vutils_1.isEmpty)(stateStyle[key]) || (newStateStyle[key] = transformToGraphic(stateStyle[key]));
})), newStateStyle;
}
function transformAxisLabelStateStyle(stateStyle) {
if ((0, vutils_1.isEmpty)(stateStyle)) return null;
const newStateStyle = {};
return Object.keys(stateStyle).forEach((key => {
(0, vutils_1.isFunction)(stateStyle[key]) ? newStateStyle[key] = (datum, index, data, layer) => transformToGraphic(stateStyle[key](datum.rawValue, index, datum, data, layer)) : (0,
vutils_1.isEmpty)(stateStyle[key]) || (newStateStyle[key] = transformToGraphic(stateStyle[key]));
})), newStateStyle;
}
function transformIndicatorStyle(style, datum) {
if ((0, vutils_1.isEmpty)(style)) return null;
const newStateStyle = {};
return Object.keys(style).forEach((key => {
(0, vutils_1.isFunction)(style[key]) ? newStateStyle[key] = style[key](datum) : newStateStyle[key] = style[key];
})), transformToGraphic(newStateStyle);
}
function transformToGraphic(style) {
return (null == style ? void 0 : style.angle) && (style.angle = (0, vutils_1.degreeToRadian)(style.angle)),
style;
}
exports.transformComponentStyle = transformComponentStyle, exports.transformStateStyle = transformStateStyle,
exports.transformAxisLabelStateStyle = transformAxisLabelStateStyle, exports.transformIndicatorStyle = transformIndicatorStyle,
exports.transformToGraphic = transformToGraphic;
//# sourceMappingURL=style.js.map