amis-theme-editor
Version:
amis主题编辑器
78 lines (70 loc) • 2.09 kB
JavaScript
/**
* amis-theme-editor v2.0.22-beta.2
* Copyright 2018-2023 @fex
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var find = require('lodash/find');
var cloneDeep = require('lodash/cloneDeep');
var i18nRuntime = require('i18n-runtime');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
var componentFactory = {};
var componentGroup = [{
label: i18nRuntime.i18n("aa05fd09a619ddbf07d8d903e6d32c5e"),
key: 'common',
children: []
}, {
label: i18nRuntime.i18n("5aefca559c5a41d10078e21e6d616825"),
key: 'layout',
children: []
}, {
label: i18nRuntime.i18n("9f03503d5c6df67ce0f7a8942734f7ca"),
key: 'data-entry',
children: []
}, {
label: i18nRuntime.i18n("b590af8d54b0b9151594c51239acffdc"),
key: 'data-show',
children: []
}, {
label: i18nRuntime.i18n("1d50fa5b3a01d0b513df8f4b8be40158"),
key: 'feedback',
children: []
}];
function getComponent(key) {
return componentFactory[key];
}
function getAllComponent() {
var allComponent = cloneDeep__default["default"](componentGroup);
allComponent.forEach(function (item) {
for (var key in componentFactory) {
if (componentFactory[key].type === item.key) {
item.children.push(componentFactory[key]);
}
}
});
return allComponent;
}
function hasComponent(name) {
return !!getComponent(name);
}
function registerComponent(key, component) {
componentFactory[key] = component;
}
function registerGroup(option) {
if (find__default["default"](componentGroup, function (item) {
return item.key === option.key;
})) {
return;
}
componentGroup.push(tslib.__assign({
children: []
}, option));
}
exports.getAllComponent = getAllComponent;
exports.getComponent = getComponent;
exports.hasComponent = hasComponent;
exports.registerComponent = registerComponent;
exports.registerGroup = registerGroup;