vxe-table
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
57 lines (45 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ctor = _interopRequireDefault(require("xe-utils/ctor"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toType(type) {
return _ctor.default.toString(type).replace('_', '').toLowerCase();
}
var eventTypes = 'created,mounted,activated,beforeDestroy,destroyed,event.clearActived,event.clearFilter,event.showMenu,event.keydown,event.export,event.import'.split(',').map(toType);
var storeMap = {};
var interceptor = {
mixin: function mixin(map) {
_ctor.default.each(map, function (evntFn, type) {
return interceptor.add(type, evntFn);
});
return interceptor;
},
get: function get(type) {
return storeMap[toType(type)] || [];
},
add: function add(type, evntFn) {
type = toType(type);
if (evntFn && eventTypes.indexOf(type) > -1) {
var eList = storeMap[type];
if (!eList) {
eList = storeMap[type] = [];
}
eList.push(evntFn);
}
return interceptor;
},
delete: function _delete(type, evntFn) {
var eList = storeMap[toType(type)];
if (eList) {
_ctor.default.remove(eList, function (fn) {
return fn === evntFn;
});
}
return interceptor;
}
};
var _default = interceptor;
exports.default = _default;