uniforms-antd
Version:
Ant Design UI components for uniforms.
41 lines (40 loc) • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const QuestionCircleOutlined_1 = tslib_1.__importDefault(require("@ant-design/icons/QuestionCircleOutlined"));
const tooltip_1 = tslib_1.__importDefault(require("antd/lib/tooltip"));
const classnames_1 = tslib_1.__importDefault(require("classnames"));
const react_1 = tslib_1.__importStar(require("react"));
const uniforms_1 = require("uniforms");
const ListAddField_1 = tslib_1.__importDefault(require("./ListAddField"));
const ListItemField_1 = tslib_1.__importDefault(require("./ListItemField"));
const defaultStyle = {
marginBottom: '5px',
marginTop: '5px',
padding: '10px',
};
const errorStyle = { borderColor: 'rgb(255, 85, 0)' };
function List(_a) {
var { children = react_1.default.createElement(ListItemField_1.default, { name: "$" }), className, error, errorMessage, info, itemProps, label, labelCol, showInlineError, style = defaultStyle, value, wrapperCol } = _a, props = tslib_1.__rest(_a, ["children", "className", "error", "errorMessage", "info", "itemProps", "label", "labelCol", "showInlineError", "style", "value", "wrapperCol"]);
const wrapperStyle = error
? style
? Object.assign(Object.assign({}, errorStyle), style) : errorStyle
: style;
return (react_1.default.createElement("div", Object.assign({}, (0, uniforms_1.filterDOMProps)(props), { style: wrapperStyle, className: (0, classnames_1.default)([className, 'ant-list', 'ant-list-bordered']) }),
!!label && (react_1.default.createElement("div", null,
label,
!!info && (react_1.default.createElement("span", null,
"\u00A0",
react_1.default.createElement(tooltip_1.default, { title: info },
react_1.default.createElement(QuestionCircleOutlined_1.default, null)))))),
!!(error && showInlineError) && react_1.default.createElement("div", null, errorMessage), value === null || value === void 0 ? void 0 :
value.map((item, itemIndex) => react_1.Children.map(children, (child, childIndex) => {
var _a;
return (0, react_1.isValidElement)(child)
? (0, react_1.cloneElement)(child, Object.assign({ key: `${itemIndex}-${childIndex}`, name: (_a = child.props.name) === null || _a === void 0 ? void 0 : _a.replace('$', '' + itemIndex), labelCol,
wrapperCol }, itemProps))
: child;
})),
react_1.default.createElement(ListAddField_1.default, { name: "$" })));
}
exports.default = (0, uniforms_1.connectField)(List);