zent
Version:
一套前端设计语言和基于React的实现
79 lines (55 loc) • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.COMPONENT_GROUP_DESIGN_TYPE = undefined;
exports.getDesignType = getDesignType;
exports.isExpectedDesginType = isExpectedDesginType;
exports.serializeDesignType = serializeDesignType;
var _isString = require('lodash/isString');
var _isString2 = _interopRequireDefault(_isString);
var _isArray = require('lodash/isArray');
var _isArray2 = _interopRequireDefault(_isArray);
var _isNumber = require('lodash/isNumber');
var _isNumber2 = _interopRequireDefault(_isNumber);
var _isFunction = require('lodash/isFunction');
var _isFunction2 = _interopRequireDefault(_isFunction);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getDesignType(editor, defaultType) {
var designType = editor.designType;
if ((0, _isString2['default'])(designType)) {
if ((0, _isFunction2['default'])(defaultType)) {
return defaultType(designType);
}
return designType;
}
if ((0, _isArray2['default'])(designType) && designType.length > 0) {
if ((0, _isNumber2['default'])(defaultType)) {
return designType[defaultType || 0];
} else if ((0, _isFunction2['default'])(defaultType)) {
return defaultType(designType);
}
return designType[0];
}
throw new TypeError('designType should be a string or an array of strings');
}
function isExpectedDesginType(component, expected) {
var type = component.type;
if ((0, _isString2['default'])(type)) {
return expected === type;
}
if ((0, _isArray2['default'])(type)) {
return type.indexOf(expected) !== -1;
}
return false;
}
function serializeDesignType(designType) {
if ((0, _isString2['default'])(designType)) {
return designType;
}
if ((0, _isArray2['default'])(designType)) {
return designType.join(' | ');
}
throw new TypeError('designType should be a string or an array of strings');
}
var COMPONENT_GROUP_DESIGN_TYPE = exports.COMPONENT_GROUP_DESIGN_TYPE = '__zent-design-component-group__';