UNPKG

d3chart.options

Version:
52 lines (41 loc) 1.4 kB
'use strict' 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;