@jannie-shao/components-antd4
Version:
79 lines • 2.35 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import { GRID_GAP } from "../const";
import RenderCard from "./render-card";
import RenderGroup from "./render-group";
import RenderDependent from "./render-dependent";
import RenderList from "./render-list";
import RenderTable from "./render-table";
import RenderFun from "./render-fun";
var maker = function maker(models) {
if (models === void 0) {
models = [];
}
return models.map(function (m) {
if (!m) return null;
var props = _extends({}, m.formProps || {});
if (m.type === 'card') {
props.key = props.key || m.items.map(function (i) {
return i.name;
}).join('-');
return /*#__PURE__*/React.createElement(RenderCard, _extends({}, props, {
model: m,
itemRender: maker
}));
}
if (m.type === 'group') {
props.key = props.key || m.items.map(function (i) {
return i.name;
}).join('-');
return /*#__PURE__*/React.createElement(RenderGroup, _extends({}, props, {
model: m,
itemRender: maker
}));
}
if (m.type === 'dependent') {
props.key = props.key || m.dependencies.key + ":" + m.dependencies.val;
return /*#__PURE__*/React.createElement(RenderDependent, _extends({}, props, {
model: m,
itemRender: maker
}));
}
if (m.name) {
props.name = m.name;
props.key = m.name;
} else if (!props.key) {
props.key = Math.random().toString(36).substring(2);
}
if (m.type === 'list') {
return /*#__PURE__*/React.createElement(RenderList, _extends({}, props, {
model: m,
itemRender: maker
}));
}
if (m.type === 'table') {
return /*#__PURE__*/React.createElement(RenderTable, _extends({}, props, {
model: m
}));
}
return /*#__PURE__*/React.createElement(RenderFun, _extends({}, props, {
model: m
}));
});
};
export default maker;
export var getRealCol = function getRealCol(dom, perMax, min) {
if (dom === void 0) {
dom = {};
}
if (perMax === void 0) {
perMax = 240;
}
if (min === void 0) {
min = 1;
}
var width = dom.clientWidth || 0;
if (width === 0) return min;
var now = parseInt((width - perMax) / (perMax + GRID_GAP), 10) + 1;
return now < min ? min : now;
};