@schema-render/search-react
Version:
Conditional search component based on FormRender.
50 lines (49 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, /**
* 根据折叠个数,创建展示的 Schema
*/ "default", {
enumerable: true,
get: function() {
return createDisplayedSchema;
}
});
/**
* 创建折叠的 Schema
* @param rawSchema 原始 Schema
* @param collapsedNumber 折叠的个数
* @returns 折叠的 Schema
*/ function createCollapsedSchema(rawSchema, collapsedNumber) {
var collapsedProps = {};
var displayedKeys = Object.keys(rawSchema.properties).slice(0, collapsedNumber);
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
try {
for(var _iterator = displayedKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
var key = _step.value;
collapsedProps[key] = rawSchema.properties[key];
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally{
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally{
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return {
renderType: 'Root',
properties: collapsedProps
};
}
function createDisplayedSchema(param) {
var isCollapsed = param.isCollapsed, rawSchema = param.rawSchema, collapsedNumber = param.collapsedNumber;
return isCollapsed ? createCollapsedSchema(rawSchema, collapsedNumber) : rawSchema;
}