d3chart.options
Version:
options for d3chart
52 lines (41 loc) • 1.4 kB
JavaScript
var core = require('d3chart._core/core.js');
var buildChart = require('./chart.js');
var buildItemStyle = require('./itemStyle.js');
var buildTooltip = require('./tooltip.js');
var buildEvents = require('./events.js');
var options = {
color: ['#f05c6c', '#0d89d5', '#f9a0c6', '#bbd931', '#52c0fe', '#f7d370'],
animation: 400,
tooltip: null
};
/**
* @description 所有配置项的验证、补充都应该在这个文件中完成
* @param {Object} custom 用户的自定义
* @return {Object} 一套配置项集,可以保证直接使用,而不用担心取不到值
*/
var buildOptions = function (custom) {
var settings = core.cloneDeep(options);
//全部默认
if (!core.isPlainObject(custom)) { return settings; }
//1. 验证色彩
if (custom.hasOwnProperty('color')) {
if (!core.isArray(custom.color)) {
custom.color = settings.color;
}
}
//2. 验证动画时间
if (custom.hasOwnProperty('animation')) {
if (!core.isNumber(custom.animation)) {
custom.animation = false;
}
}
//
custom.events = buildEvents(custom.events);
//tooltip 组件的配置
custom.tooltip = buildTooltip(custom.tooltip);
//3. chart 配置
custom.chart = buildChart(custom.chart);
return core.merge(settings, custom);
};
module.exports = buildOptions;