UNPKG

@ccs-design/rc-pro

Version:

ccs design basic react component

96 lines (84 loc) 4.19 kB
import "antd/es/space/style"; import _Space from "antd/es/space"; import "antd/es/button/style"; import _Button from "antd/es/button"; import "antd/es/form/style"; import _Form from "antd/es/form"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import React, { useMemo, cloneElement } from 'react'; import { classPrefix } from '.'; /** 操作按钮、查询,重置、列筛选、 */ function ToolbarComponent(_ref) { var form = _ref.form, toolbar = _ref.toolbar, _ref$formItems = _ref.formItems, formItems = _ref$formItems === void 0 ? [] : _ref$formItems, formInitValues = _ref.formInitValues, onSearch = _ref.onSearch; // render item 判断是否有依赖 var renderFormItem = function renderFormItem(items) { return items.map(function (item) { return item.depends ? /*#__PURE__*/React.createElement(_Form.Item, { noStyle: true, key: item.name, shouldUpdate: function shouldUpdate(l, n) { var _item$depends; return ((_item$depends = item.depends) === null || _item$depends === void 0 ? void 0 : _item$depends.some(function (i) { return l[i] !== n[i]; })) || false; } }, function (_ref2) { var _item$depends2; var getFieldValue = _ref2.getFieldValue; var dependParam = {}; (_item$depends2 = item.depends) === null || _item$depends2 === void 0 ? void 0 : _item$depends2.forEach(function (i) { var value = getFieldValue(i); dependParam[i] = value; }); return /*#__PURE__*/React.createElement(_Form.Item, { name: item.name, label: item.label, key: item.name, rules: item.rules }, /*#__PURE__*/cloneElement(item.value, _objectSpread(_objectSpread({}, dependParam), {}, { size: 'small' }))); }) : /*#__PURE__*/React.createElement(_Form.Item, { name: item.name, label: item.label, key: item.name, rules: item.rules }, /*#__PURE__*/cloneElement(item.value, { size: 'small' })); }); }; var flatFormItems = useMemo(function () { return formItems.flat(Infinity); }, []); // 查询部分 var renderSearch = function renderSearch() { return /*#__PURE__*/React.createElement(React.Fragment, null, renderFormItem(flatFormItems), /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Button, { type: "primary", onClick: function onClick() { return onSearch(); }, size: "small" }, "\u67E5\u8BE2"))); }; return /*#__PURE__*/React.createElement("div", { className: "".concat(classPrefix, "-simple-toolbar") }, toolbar ? /*#__PURE__*/React.createElement(_Space, { style: { minHeight: '32px' } }, toolbar) : /*#__PURE__*/React.createElement("div", null), /*#__PURE__*/React.createElement("div", { className: "".concat(classPrefix, "-form") }, /*#__PURE__*/React.createElement(_Form, { initialValues: formInitValues, form: form, layout: "inline" }, renderSearch()))); } export default ToolbarComponent;