UNPKG

d3chart.options

Version:
35 lines (24 loc) 945 B
'use strict' var core = require('d3chart._core/core.js'); var ALL_EVENTS = { 'click': 'click', 'mouseenter': 'mouseenter', 'mouseleave': 'mouseleave' }; function getEventsLib (defaultValue) { return core.map(_.cloneDeep(EVENTS), function (v, k, o) { return ((o[k] = (defaultValue != undefined ? defaultValue : false) || v) || true) && o; })[0]; } /** * @description 所有配置项的验证、补充都应该在这个文件中完成 * @param {Object} custom 用户的自定义 * @return {Object} 一套配置项集,可以保证直接使用,而不用担心取不到值 */ var buildEvents = function (custom, defaultValue) { var settings = getEventsLib(defaultValue); !core.isPlainObject(custom) && (custom = {}); for (var name in custom) { ALL_EVENTS[name] && core.isFunction(custom[name]) && settings[name] = custom[name]; } return settings; }; module.exports = buildEvents;