@ccs-design/rc-pro
Version:
ccs design basic react component
795 lines (632 loc) • 30.9 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.classPrefix = void 0;
var _react = _interopRequireWildcard(require("react"));
var _antd = require("antd");
var _classnames = _interopRequireDefault(require("classnames"));
var _ahooks = require("ahooks");
var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
var _ = require("..");
var _form = _interopRequireDefault(require("./form"));
var _toolbar = _interopRequireDefault(require("./toolbar"));
var _toolbarMin = _interopRequireDefault(require("./toolbar-min"));
var _CcsTable = _interopRequireDefault(require("../CcsTable"));
var _context4 = require("../CcsBasicLayout/context");
var _utils = require("../utils");
require("./index.less");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
/** 查找所有父级依赖 */
var getShowDpends = function getShowDpends(items, item, depends) {
var showDepends = item.showDepends;
if (showDepends) {
var dependItems = items.filter(function (i) {
return showDepends.some(function (e) {
return e && e.name === i.name;
});
}) || [];
dependItems.forEach(function (dependItem) {
if (dependItem === null || dependItem === void 0 ? void 0 : dependItem.showDepends) {
dependItem.showDepends.forEach(function (e) {
return depends.push(e);
});
return getShowDpends(items, dependItem, depends);
}
return false;
});
return depends;
}
return depends;
}; // 根据ID查找树形节点
var getDataById = function getDataById(data, rowKey, id) {
if (!(0, _isArray2.default)(data)) return;
for (var i = 0; i < data.length; i += 1) {
if (data[i][rowKey] === id) {
return data[i];
}
if (data[i].children) {
var v = getDataById(data[i].children, rowKey, id);
if (v) return v;
}
}
};
var getAllChildrenId = function getAllChildrenId(data, rowKey) {
return data.reduce(function (keys, item) {
keys.push(item[rowKey]);
if (item.children && (0, _isArray2.default)(item.children)) {
return keys.concat(getAllChildrenId(item.children, rowKey));
}
return keys;
}, []);
}; // 判断组件所处dom
var isInModalOrDrawer = function isInModalOrDrawer(node) {
var _parent$classList, _parent$classList2, _parent$classList3, _parent$classList4, _parent$classList5;
var parent = node.parentNode;
if (!parent) return false;
if ( // 通过指定dom吸顶
((_parent$classList = parent.classList) === null || _parent$classList === void 0 ? void 0 : _parent$classList.contains('ccs-trigger-container')) || ((_parent$classList2 = parent.classList) === null || _parent$classList2 === void 0 ? void 0 : _parent$classList2.contains('ccs-drawer-content'))) {
return {
getContainer: function getContainer() {
return parent;
}
};
} // 在弹出框中吸顶top
if (((_parent$classList3 = parent.classList) === null || _parent$classList3 === void 0 ? void 0 : _parent$classList3.contains('ant-modal')) || ((_parent$classList4 = parent.classList) === null || _parent$classList4 === void 0 ? void 0 : _parent$classList4.contains('ant-drawer'))) {
return {
offsetHeader: 0
};
}
if ((_parent$classList5 = parent.classList) === null || _parent$classList5 === void 0 ? void 0 : _parent$classList5.contains('ccs-bl')) {
return {
offsetHeader: 48
};
}
return isInModalOrDrawer(parent);
};
var classPrefix = 'ccs-pl';
/**
* 布局组件 包括form、查询、toolbar、table 自动初始化数据
* @param CcsProTableType
* @param ref
* @returns
*/
exports.classPrefix = classPrefix;
function CcsProTable(props) {
var _stickyRef$current, _stickyRef$current2;
var init = props.init,
auth = props.auth,
table = props.table,
title = props.title,
proRef = props.proRef,
loading = props.loading,
toolbar = props.toolbar,
isSimple = props.isSimple,
children = props.children,
watermark = props.watermark,
className = props.className,
tableStyle = props.tableStyle,
tableHeader = props.tableHeader,
searchEvent = props.searchEvent,
_props$formItems = props.formItems,
formItems = _props$formItems === void 0 ? [] : _props$formItems,
_props$fillSpace = props.fillSpace,
fillSpace = _props$fillSpace === void 0 ? true : _props$fillSpace,
_props$formInitValues = props.formInitValues,
formInitValues = _props$formInitValues === void 0 ? {} : _props$formInitValues,
onSearchBefore = props.onSearchBefore,
onSearchAfter = props.onSearchAfter;
var _useContext = (0, _react.useContext)(_context4.AuthContext),
onAuth = _useContext.onAuth; // 是否启用权限按钮
var _useContext2 = (0, _react.useContext)(_context4.GlobalContext),
IsAuthButton = _useContext2.IsAuthButton,
IsCompact = _useContext2.IsCompact,
layout = _useContext2.layout,
IsTabsPage = _useContext2.IsTabsPage;
var _ref = table || {},
pagination = _ref.pagination,
request = _ref.request,
_ref$requestParam = _ref.requestParam,
requestParam = _ref$requestParam === void 0 ? {} : _ref$requestParam,
columns = _ref.columns,
asyncTree = _ref.asyncTree,
rowKey = _ref.rowKey,
_ref$childrenColumnNa = _ref.childrenColumnName,
childrenColumnName = _ref$childrenColumnNa === void 0 ? 'children' : _ref$childrenColumnNa; // table 高度撑满剩余空间
var heightRef = (0, _react.useRef)(null);
var stickyRef = (0, _react.useRef)({
offsetHeader: 0
});
var filtersRef = (0, _react.useRef)({}); // 查询form
var _Form$useForm = _antd.Form.useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0]; // table data
var _useState = (0, _react.useState)({
totalNum: 0,
result: [],
pageSize: 10,
pageNo: 1
}),
_useState2 = _slicedToArray(_useState, 2),
data = _useState2[0],
setData = _useState2[1]; // async tree expand key
var _useState3 = (0, _react.useState)([]),
_useState4 = _slicedToArray(_useState3, 2),
expandKeys = _useState4[0],
setExpandKeys = _useState4[1]; // 权限判断
var isAuth = (0, _react.useMemo)(function () {
if (auth && IsAuthButton && auth !== 'ignore') {
return !!onAuth(auth);
}
if (!auth && IsAuthButton && table) {
(0, _utils.showLogWarning)('CcsProTable:未传入auth权限标识');
}
return true;
}, []);
var formatFormItems = (0, _react.useMemo)(function () {
return formItems.flat(Infinity).filter(function (f) {
return f.onFormat;
});
}, []); // 获取数据
var onRequestTree = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var query,
record,
params,
newParams,
requestResult,
newRequestResult,
treeData,
_args = arguments;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
query = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
record = _args.length > 1 ? _args[1] : undefined;
params = query;
if (record && (asyncTree === null || asyncTree === void 0 ? void 0 : asyncTree.parentName)) {
params[asyncTree === null || asyncTree === void 0 ? void 0 : asyncTree.parentName] = record[rowKey];
} // onSearchBefore 请求前回传参数,可以在父组件进行修改
newParams = onSearchBefore ? onSearchBefore(params) : params; // 发起请求
setData(function (d) {
return _objectSpread(_objectSpread({}, d), {}, {
loading: true
});
});
_context.t0 = request;
if (!_context.t0) {
_context.next = 11;
break;
}
_context.next = 10;
return request(_objectSpread({}, newParams));
case 10:
_context.t0 = _context.sent;
case 11:
requestResult = _context.t0;
// 请求结果
if (requestResult && requestResult.success) {
// onSearchAfter 处理请求结果
newRequestResult = onSearchAfter ? onSearchAfter(requestResult) : requestResult;
treeData = newRequestResult.data;
if (record) {
// 异步树
record[childrenColumnName] = treeData;
setData(function (d) {
return _objectSpread(_objectSpread({}, d), {}, {
result: _toConsumableArray(d.result || []),
loading: false
});
});
} else {
setExpandKeys([]);
setData({
loading: false,
result: treeData || []
});
}
} else {
setData(function (d) {
return _objectSpread(_objectSpread({}, d), {}, {
loading: false
});
});
}
case 13:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function onRequestTree() {
return _ref2.apply(this, arguments);
};
}(); // 获取数据
var onRequest = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(eventType) {
var pageNo,
pageSize,
record,
_args3 = arguments;
return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
pageNo = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 1;
pageSize = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (pagination ? pagination.defaultPageSize : 10) || 10;
record = _args3.length > 3 ? _args3[3] : undefined;
if (!(!isAuth || !request)) {
_context3.next = 5;
break;
}
return _context3.abrupt("return");
case 5:
// 构建查询条件:表单数据、请求额外参数、分页参数、其他参数
form.validateFields().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var formValues,
pageValue,
params,
newParams,
requestResult,
newRequestResult,
_newRequestResult$dat,
totalNum,
size,
no,
_newRequestResult$dat2,
result,
_args2 = arguments;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
formValues = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
// 格式化条件
if (formatFormItems.length) {
Object.keys(formValues).forEach(function (k) {
if (formValues[k] !== undefined) {
var s = formatFormItems.find(function (f) {
return f.name === k;
});
if (s) formValues[k] = s.onFormat && s.onFormat(formValues[k]);
}
});
}
pageValue = pagination === false ? {} : {
pageNo: pageNo,
pageSize: pageSize
};
params = _objectSpread(_objectSpread({
query: _objectSpread(_objectSpread({}, formValues), requestParam)
}, pageValue), filtersRef.current); // 异步树
if (!asyncTree) {
_context2.next = 7;
break;
}
onRequestTree(params.query, record);
return _context2.abrupt("return");
case 7:
// onSearchBefore 请求前回传参数,可以在父组件进行修改
newParams = onSearchBefore ? onSearchBefore(params, eventType) : params; // 发起请求
setData(function (d) {
return _objectSpread(_objectSpread({}, d), {}, {
loading: true
});
});
_context2.next = 11;
return request(_objectSpread({}, newParams));
case 11:
requestResult = _context2.sent;
// 请求结果
if (requestResult && requestResult.success) {
// onSearchAfter 处理请求结果
newRequestResult = onSearchAfter ? onSearchAfter(requestResult, eventType) : requestResult;
_newRequestResult$dat = newRequestResult.data, totalNum = _newRequestResult$dat.totalNum, size = _newRequestResult$dat.pageSize, no = _newRequestResult$dat.pageNo, _newRequestResult$dat2 = _newRequestResult$dat.result, result = _newRequestResult$dat2 === void 0 ? [] : _newRequestResult$dat2; // 当前页无数据,返回上一页
if (!result.length && no !== 1) {
onRequest('reload', no - 1);
} else {
setData({
pageNo: no,
pageSize: size,
loading: false,
result: result,
totalNum: totalNum || 0
});
}
} else {
setData(function (d) {
return _objectSpread(_objectSpread({}, d), {}, {
loading: false
});
});
}
case 13:
case "end":
return _context2.stop();
}
}
}, _callee2);
}))).catch(function () {});
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function onRequest(_x) {
return _ref3.apply(this, arguments);
};
}(); // 异步树、局部刷新方法
var _onPartialReload = function onPartialReload(id) {
// 查找需要刷新的节点
var treeNode = getDataById(data.result || [], rowKey, id); // 没有查找到、全部刷新
if (!treeNode) {
onRequest('search');
return;
} // 获取所有下级ID
var ids = getAllChildrenId(treeNode.children || [], rowKey); // 局部重载
setExpandKeys(expandKeys.filter(function (e) {
return !ids.includes(e);
}));
onRequestTree({}, treeNode);
}; // 尺寸变化重设尺寸
var resizeFn = (0, _debounce2.default)(function () {
var _heightRef$current2;
if (!heightRef.current) return;
if (!fillSpace) {
var _heightRef$current;
if (((_heightRef$current = heightRef.current) === null || _heightRef$current === void 0 ? void 0 : _heightRef$current.style.minHeight) !== 'auto') {
heightRef.current.style.minHeight = 'auto';
}
return;
}
var h = (_heightRef$current2 = heightRef.current) === null || _heightRef$current2 === void 0 ? void 0 : _heightRef$current2.getBoundingClientRect();
heightRef.current.style.minHeight = "".concat(document.body.clientHeight - h.top - 10, "px");
}, 200);
(0, _react.useEffect)(function () {
resizeFn();
}, [fillSpace]); // 高度占满剩余空间
(0, _react.useEffect)(function () {
// 判断当前dom所处的滚动区域
var inMd = isInModalOrDrawer(heightRef.current);
if (inMd) stickyRef.current = inMd; // 监听resize
window.addEventListener('resize', resizeFn);
return function () {
window.removeEventListener('resize', resizeFn);
};
}, []); // 初始查询
(0, _react.useEffect)(function () {
if (init !== false && request) {
onRequest('initSearch');
}
}, [Object.keys(requestParam || {}).toString(), Object.values(requestParam || {}).toString()]); // 查询按钮
var _onSearch = function onSearch() {
if (searchEvent) searchEvent();
onRequest('search');
}; // 重置
var _onReset = function onReset() {
form === null || form === void 0 ? void 0 : form.resetFields(); // 清空columns显示filter和sort值
columns === null || columns === void 0 ? void 0 : columns.forEach(function (c) {
if (c.filterDropdown || c.filters) {
c.filteredValue = null;
}
if (c.sorter) {
c.sortOrder = undefined;
}
}); // 清空filter请求值
filtersRef.current = {};
onRequest('reset');
}; // 刷新
var _onReload = function onReload() {
onRequest('reload', data.pageNo, data.pageSize);
}; // form 数据 查询,重载,重置方法
(0, _react.useImperativeHandle)(proRef, function () {
return {
onSearch: function onSearch() {
_onSearch();
},
onReload: function onReload() {
_onReload();
},
onPartialReload: function onPartialReload(param) {
_onPartialReload(param);
},
onReset: function onReset() {
_onReset();
},
onChangeData: setData,
formValues: form.getFieldsValue(),
data: data
};
}); // 分页查询
var handlePageChange = function handlePageChange(paginationTable, filters, sorter) {
// 记录filter,sorter,以便重置的时候可以清除数据
if (filters) {
columns === null || columns === void 0 ? void 0 : columns.forEach(function (c) {
if (c.filterDropdown || c.filters) {
// @ts-ignore
c.filteredValue = filters[c.dataIndex];
}
});
filtersRef.current = _objectSpread(_objectSpread({}, filtersRef.current), {}, {
filters: filters
});
} // @ts-ignore
if (sorter) {
columns === null || columns === void 0 ? void 0 : columns.forEach(function (c) {
if (c.sorter) {
// @ts-ignore
if (c.dataIndex !== sorter.field) {
c.sortOrder = undefined;
return;
} // @ts-ignore
c.sortOrder = sorter === null || sorter === void 0 ? void 0 : sorter.order;
}
});
filtersRef.current = _objectSpread(_objectSpread({}, filtersRef.current), {}, {
sorter: sorter
});
}
onRequest('changePage', paginationTable.current || 0, paginationTable.pageSize || 10);
}; // 发布订阅、组件通信模式
var event$ = (0, _ahooks.useEventEmitter)();
var onExpand = function onExpand(expanded, record) {
var _table$asyncTree;
if (!(table === null || table === void 0 ? void 0 : table.asyncTree)) return;
if (!(table === null || table === void 0 ? void 0 : (_table$asyncTree = table.asyncTree) === null || _table$asyncTree === void 0 ? void 0 : _table$asyncTree.parentName)) {
(0, _utils.showLogWarning)('执行失败、参数treeParentName为空!!!');
return;
}
if (!rowKey || (rowKey && record[rowKey]) === undefined) {
(0, _utils.showLogWarning)('rowKey未传入或传入rowKey不正确');
return;
}
var expandId = record[rowKey];
if (expanded) {
var _record$childrenColum;
expandKeys.push(expandId);
if (((_record$childrenColum = record[childrenColumnName]) === null || _record$childrenColum === void 0 ? void 0 : _record$childrenColum.length) > 0) return;
onRequestTree({}, record);
} else {
setExpandKeys(expandKeys.filter(function (e) {
return e !== expandId;
}));
}
};
var renderTable = function renderTable() {
if (!table) return null; // 添加吸顶
var tableParams = _objectSpread({
sticky: stickyRef.current
}, table); // 异步树
if (table === null || table === void 0 ? void 0 : table.asyncTree) {
tableParams.onExpand = onExpand;
tableParams.expandedRowKeys = expandKeys;
}
return isAuth ? /*#__PURE__*/_react.default.createElement(_CcsTable.default, _extends({
onChange: handlePageChange,
data: data,
event$: event$,
size: isSimple ? 'small' : 'middle' // 精简模式size:small
}, tableParams, {
columns: columns,
showSorterTooltip: true
})) : /*#__PURE__*/_react.default.createElement(_antd.Empty, {
style: {
margin: 0,
padding: '32px 0',
color: 'red'
},
image: _antd.Empty.PRESENTED_IMAGE_DEFAULT,
description: "\u6CA1\u6709\u6570\u636E\u8BF7\u6C42\u6743\u9650"
});
}; // 处理form item 依赖
var initHighFormItems = (0, _react.useMemo)(function () {
var fis = formItems.flat(Infinity);
fis.forEach(function (item) {
var depend = item.showDepends || [];
if (depend && depend.length > 0) {
getShowDpends(fis, item, depend);
}
});
return fis;
}, []); // toolbar
var renderToolbar = function renderToolbar() {
if (!formItems.length && !toolbar) {
return null;
}
var fis = [];
if (formItems.length > 0) {
var fs = formItems[0];
if ((0, _isArray2.default)(fs)) {
fis = initHighFormItems.slice(0, fs.length);
} else {
fis.push(initHighFormItems[0]);
}
}
return isSimple ? /*#__PURE__*/_react.default.createElement(_toolbarMin.default, {
form: form,
formItems: initHighFormItems,
formInitValues: formInitValues,
toolbar: toolbar,
onSearch: _onSearch
}) : /*#__PURE__*/_react.default.createElement(_toolbar.default, {
isCompact: IsCompact,
form: form,
formItems: fis,
hasMore: formItems.length > 1,
formInitValues: formInitValues,
toolbar: toolbar,
columns: columns,
onSearch: _onSearch,
onReset: _onReset,
event$: event$
});
};
var isToplayout = layout === 'top' && !IsTabsPage; // table
var ProTable = /*#__PURE__*/_react.default.createElement(_antd.Spin, {
spinning: loading || data.loading || false
}, /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)(classPrefix, className),
style: isToplayout && !isSimple ? {
margin: 10
} : {}
}, /*#__PURE__*/_react.default.createElement(_antd.Card, {
bodyStyle: {
padding: 0
},
style: {
borderRadius: 0
},
bordered: false
}, title ? /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(classPrefix, "-title"),
style: {}
}, title) : null, renderToolbar()),
/** 传入formItem、非精简模式、有查询权限 */
formItems.length > 1 && !isSimple ? /*#__PURE__*/_react.default.createElement(_form.default, {
form: form,
formItems: initHighFormItems,
formInitValues: formInitValues,
onReset: _onReset,
onSearch: _onSearch,
event$: event$
}) : null, tableHeader ? /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(classPrefix, "-table-header")
}, tableHeader) : null, /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)(_defineProperty({}, "".concat(classPrefix, "-table-content"), !isSimple)),
ref: heightRef,
style: _objectSpread({
margin: isToplayout || ((_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.getContainer) || ((_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 ? void 0 : _stickyRef$current2.offsetHeader) === 0 ? 0 : 10
}, tableStyle)
}, renderTable(), children)));
return watermark ? /*#__PURE__*/_react.default.createElement(_.CcsWaterMark, {
content: watermark,
fontColor: "rgba(0,0,0,.15)",
zIndex: 105
}, ProTable) : ProTable;
}
var _default = CcsProTable;
exports.default = _default;