d3chart.options
Version:
options for d3chart
35 lines (24 loc) • 945 B
JavaScript
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;