UNPKG

@vxe-ui/core

Version:
52 lines (51 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderer = void 0; var _xeUtils = _interopRequireDefault(require("xe-utils")); var _log = require("./log"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * 内置的组件渲染 */ const renderMap = {}; /** * 全局渲染器 */ const renderer = exports.renderer = { mixin(opts) { _xeUtils.default.each(opts, (options, name) => renderer.add(name, options)); return renderer; }, get(name) { return renderMap[name] || null; }, add(name, options) { if (name && options) { const renders = renderMap[name]; if (renders) { // 检测是否覆盖 if (process.env.NODE_ENV === 'development') { _xeUtils.default.each(options, (val, key) => { if (!_xeUtils.default.eqNull(renders[key]) && renders[key] !== val) { _log.log.warn('vxe.error.coverProp', [`Renderer.${name}`, key]); } }); } Object.assign(renders, options); } else { renderMap[name] = options; } } return renderer; }, forEach(callback) { _xeUtils.default.objectEach(renderMap, callback); return renderer; }, delete(name) { delete renderMap[name]; return renderer; } };