@pointcloud/pcloud-components 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -31
- package/dist/esm/AdvancedFilter/FormFilter.d.ts +4 -4
- package/dist/esm/AdvancedFilter/index.d.ts +5 -5
- package/dist/esm/AdvancedFilter/interface.d.ts +101 -101
- package/dist/esm/AnimatedScrollList/index.d.ts +7 -7
- package/dist/esm/AnimatedScrollList/interface.d.ts +71 -71
- package/dist/esm/AspectRatio/index.d.ts +9 -9
- package/dist/esm/AuthComponent/index.d.ts +3 -3
- package/dist/esm/AuthComponent/interface.d.ts +24 -24
- package/dist/esm/CRUD/config.d.ts +2 -0
- package/dist/esm/CRUD/config.js +21 -0
- package/dist/esm/CRUD/index.d.ts +98 -0
- package/dist/esm/CRUD/index.js +669 -0
- package/dist/esm/CRUD/index.less +140 -0
- package/dist/esm/CRUD/toolbar.d.ts +16 -0
- package/dist/esm/CRUD/toolbar.js +249 -0
- package/dist/esm/ColorPicker/index.d.ts +17 -18
- package/dist/esm/ColorPicker/interface.d.ts +164 -164
- package/dist/esm/ConfigProvider/index.d.ts +6 -6
- package/dist/esm/ConfigProvider/index.js +7 -13
- package/dist/esm/ConfigProvider/interface.d.ts +9 -9
- package/dist/esm/ContextMenu/index.d.ts +28 -28
- package/dist/esm/DCascader/index.d.ts +24 -24
- package/dist/esm/DForm/DItem/index.d.ts +5 -5
- package/dist/esm/DForm/DItem/itemType.d.ts +123 -119
- package/dist/esm/DForm/DItem/itemsRender.d.ts +47 -45
- package/dist/esm/DForm/DItem/itemsRender.js +6 -0
- package/dist/esm/DForm/helper.d.ts +8 -8
- package/dist/esm/DForm/index.d.ts +29 -29
- package/dist/esm/DInput/index.d.ts +19 -19
- package/dist/esm/DModal/index.d.ts +19 -18
- package/dist/esm/DModal/index.js +11 -9
- package/dist/esm/DModal/interface.d.ts +8 -14
- package/dist/esm/DRangePicker/index.d.ts +7 -0
- package/dist/esm/DRangePicker/index.js +24 -0
- package/dist/esm/DRangePicker/index.less +30 -0
- package/dist/esm/DRangePicker/interface.d.ts +5 -0
- package/dist/esm/DRangePicker/interface.js +1 -0
- package/dist/esm/DSelect/index.d.ts +24 -24
- package/dist/esm/DTable/index.d.ts +62 -46
- package/dist/esm/DTable/index.js +43 -13
- package/dist/esm/DTreeSelect/index.d.ts +16 -16
- package/dist/esm/DUpload/helper.d.ts +107 -107
- package/dist/esm/DUpload/index.d.ts +55 -55
- package/dist/esm/ErrorBoundary/index.d.ts +5 -6
- package/dist/esm/IPAddress/index.d.ts +20 -20
- package/dist/esm/IconFont/index.d.ts +17 -17
- package/dist/esm/InfiniteScrollList/index.d.ts +63 -63
- package/dist/esm/LabelValue/index.d.ts +16 -16
- package/dist/esm/LabelValue/interface.d.ts +39 -39
- package/dist/esm/Loading/hooks/useLoading.d.ts +6 -6
- package/dist/esm/Loading/index.d.ts +10 -10
- package/dist/esm/Loading/interface.d.ts +23 -23
- package/dist/esm/Loading/loading.d.ts +9 -8
- package/dist/esm/Loading/loading.js +48 -23
- package/dist/esm/Loading/styles/index.less +37 -25
- package/dist/esm/LoginForm/defaultConfig.d.ts +4 -4
- package/dist/esm/LoginForm/index.d.ts +21 -21
- package/dist/esm/ModalForm/index.d.ts +13 -11
- package/dist/esm/ModalForm/index.js +76 -7
- package/dist/esm/NoData/index.d.ts +4 -5
- package/dist/esm/NoData/interface.d.ts +13 -13
- package/dist/esm/OrgTree/index.d.ts +5 -5
- package/dist/esm/OrgTree/interface.d.ts +41 -41
- package/dist/esm/PictureCard/index.d.ts +16 -16
- package/dist/esm/RCropper/handler.d.ts +16 -16
- package/dist/esm/RCropper/index.d.ts +4 -4
- package/dist/esm/RCropper/interface.d.ts +70 -70
- package/dist/esm/RCropper/svgIcons.d.ts +28 -28
- package/dist/esm/RCropper/toolbar.d.ts +5 -5
- package/dist/esm/RndDrag/index.d.ts +5 -6
- package/dist/esm/ScrollNumber/index.d.ts +7 -8
- package/dist/esm/SignaturePad/index.d.ts +32 -32
- package/dist/esm/TypewriterText/index.d.ts +5 -5
- package/dist/esm/TypewriterText/interface.d.ts +42 -42
- package/dist/esm/WordCloud/index.d.ts +10 -11
- package/dist/esm/index.d.ts +66 -62
- package/dist/esm/index.js +3 -1
- package/dist/umd/pcloud-components.min.css +1 -1
- package/dist/umd/pcloud-components.min.js +1 -1
- package/package.json +15 -5
|
@@ -0,0 +1,669 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
5
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
6
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
var _excluded = ["immediate"],
|
|
9
|
+
_excluded2 = ["columns", "extraParams"];
|
|
10
|
+
import React, { useMemo, useState, useContext, useCallback, useRef, forwardRef, useImperativeHandle, useEffect } from 'react';
|
|
11
|
+
import classNames from 'classnames';
|
|
12
|
+
import { Button } from 'antd';
|
|
13
|
+
import { PlusOutlined, EditOutlined, DeleteOutlined, EyeOutlined } from '@ant-design/icons';
|
|
14
|
+
import { ConfigContext } from "../ConfigProvider";
|
|
15
|
+
import { SearchButtons } from "./config";
|
|
16
|
+
import DForm from "../DForm";
|
|
17
|
+
import DTable from "../DTable";
|
|
18
|
+
import DModal from "../DModal";
|
|
19
|
+
import ModalForm from "../ModalForm";
|
|
20
|
+
import Toolbar from "./toolbar";
|
|
21
|
+
import "./index.less";
|
|
22
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
// 定义默认策略
|
|
25
|
+
var defaultStrategies = {
|
|
26
|
+
add: {
|
|
27
|
+
keepSearchValues: true,
|
|
28
|
+
keepPage: false
|
|
29
|
+
},
|
|
30
|
+
edit: {
|
|
31
|
+
keepSearchValues: true,
|
|
32
|
+
keepPage: true
|
|
33
|
+
},
|
|
34
|
+
delete: {
|
|
35
|
+
keepSearchValues: true,
|
|
36
|
+
keepPage: true
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var forwardCRUD = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
40
|
+
var _props$tableProps;
|
|
41
|
+
var className = props.className,
|
|
42
|
+
_props$style = props.style,
|
|
43
|
+
style = _props$style === void 0 ? {} : _props$style,
|
|
44
|
+
searchFormProps = props.searchFormProps,
|
|
45
|
+
tableProps = props.tableProps,
|
|
46
|
+
modalFormProps = props.modalFormProps,
|
|
47
|
+
addButtonProps = props.addButtonProps,
|
|
48
|
+
_props$deleteModalPro = props.deleteModalProps,
|
|
49
|
+
deleteModalProps = _props$deleteModalPro === void 0 ? {} : _props$deleteModalPro,
|
|
50
|
+
_props$showAddButton = props.showAddButton,
|
|
51
|
+
showAddButton = _props$showAddButton === void 0 ? true : _props$showAddButton,
|
|
52
|
+
_props$showBatchDelet = props.showBatchDelete,
|
|
53
|
+
showBatchDelete = _props$showBatchDelet === void 0 ? true : _props$showBatchDelet,
|
|
54
|
+
batchDeleteButtonProps = props.batchDeleteButtonProps,
|
|
55
|
+
_props$showEdit = props.showEdit,
|
|
56
|
+
showEdit = _props$showEdit === void 0 ? true : _props$showEdit,
|
|
57
|
+
_props$showDelete = props.showDelete,
|
|
58
|
+
showDelete = _props$showDelete === void 0 ? true : _props$showDelete,
|
|
59
|
+
_props$showView = props.showView,
|
|
60
|
+
showView = _props$showView === void 0 ? true : _props$showView,
|
|
61
|
+
_props$editButtonProp = props.editButtonProps,
|
|
62
|
+
editButtonProps = _props$editButtonProp === void 0 ? {} : _props$editButtonProp,
|
|
63
|
+
_props$deleteButtonPr = props.deleteButtonProps,
|
|
64
|
+
deleteButtonProps = _props$deleteButtonPr === void 0 ? {} : _props$deleteButtonPr,
|
|
65
|
+
_props$viewButtonProp = props.viewButtonProps,
|
|
66
|
+
viewButtonProps = _props$viewButtonProp === void 0 ? {} : _props$viewButtonProp,
|
|
67
|
+
_props$addButtonText = props.addButtonText,
|
|
68
|
+
addButtonText = _props$addButtonText === void 0 ? '新增' : _props$addButtonText,
|
|
69
|
+
_props$editButtonText = props.editButtonText,
|
|
70
|
+
editButtonText = _props$editButtonText === void 0 ? '编辑' : _props$editButtonText,
|
|
71
|
+
_props$deleteButtonTe = props.deleteButtonText,
|
|
72
|
+
deleteButtonText = _props$deleteButtonTe === void 0 ? '删除' : _props$deleteButtonTe,
|
|
73
|
+
_props$viewButtonText = props.viewButtonText,
|
|
74
|
+
viewButtonText = _props$viewButtonText === void 0 ? '查看' : _props$viewButtonText,
|
|
75
|
+
_props$batchDeleteBut = props.batchDeleteButtonText,
|
|
76
|
+
batchDeleteButtonText = _props$batchDeleteBut === void 0 ? '批量删除' : _props$batchDeleteBut,
|
|
77
|
+
actionBar = props.actionBar,
|
|
78
|
+
onRefresh = props.onRefresh,
|
|
79
|
+
crudApi = props.crudApi,
|
|
80
|
+
_props$refreshStrateg = props.refreshStrategy,
|
|
81
|
+
refreshStrategy = _props$refreshStrateg === void 0 ? {} : _props$refreshStrateg,
|
|
82
|
+
_props$addRefreshStra = props.addRefreshStrategy,
|
|
83
|
+
addRefreshStrategy = _props$addRefreshStra === void 0 ? {} : _props$addRefreshStra,
|
|
84
|
+
_props$editRefreshStr = props.editRefreshStrategy,
|
|
85
|
+
editRefreshStrategy = _props$editRefreshStr === void 0 ? {} : _props$editRefreshStr,
|
|
86
|
+
_props$deleteRefreshS = props.deleteRefreshStrategy,
|
|
87
|
+
deleteRefreshStrategy = _props$deleteRefreshS === void 0 ? {} : _props$deleteRefreshS;
|
|
88
|
+
var _useContext = useContext(ConfigContext),
|
|
89
|
+
prefixCls = _useContext.prefixCls,
|
|
90
|
+
getPrefixCls = _useContext.getPrefixCls;
|
|
91
|
+
var classname = getPrefixCls('crud');
|
|
92
|
+
var actionColumnClass = classNames(_defineProperty({}, "".concat(prefixCls, "-crud-action-column"), !!prefixCls), "".concat(classname, "-action-column"));
|
|
93
|
+
var currentRecordRef = useRef(null);
|
|
94
|
+
var tableRef = useRef(null);
|
|
95
|
+
|
|
96
|
+
// 模态框状态管理
|
|
97
|
+
var _useState = useState({
|
|
98
|
+
visible: false,
|
|
99
|
+
mode: 'add'
|
|
100
|
+
}),
|
|
101
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
102
|
+
modalConfig = _useState2[0],
|
|
103
|
+
setModalConfig = _useState2[1];
|
|
104
|
+
// 详情数据
|
|
105
|
+
var _useState3 = useState(null),
|
|
106
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
107
|
+
detailData = _useState4[0],
|
|
108
|
+
setDetailData = _useState4[1];
|
|
109
|
+
var _useState5 = useState({}),
|
|
110
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
111
|
+
searchValues = _useState6[0],
|
|
112
|
+
setSearchValues = _useState6[1];
|
|
113
|
+
var _useState7 = useState({
|
|
114
|
+
selectedRowKeys: [],
|
|
115
|
+
selectedRows: []
|
|
116
|
+
}),
|
|
117
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
118
|
+
selectedData = _useState8[0],
|
|
119
|
+
setSelectedData = _useState8[1];
|
|
120
|
+
var _useState9 = useState(false),
|
|
121
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
122
|
+
fullScreen = _useState10[0],
|
|
123
|
+
setFullScreen = _useState10[1];
|
|
124
|
+
var _useState11 = useState(0),
|
|
125
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
126
|
+
refreshKey = _useState12[0],
|
|
127
|
+
setRefreshKey = _useState12[1];
|
|
128
|
+
var _useState13 = useState(props.tableProps || {}),
|
|
129
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
130
|
+
tablePropsState = _useState14[0],
|
|
131
|
+
setTablePropsState = _useState14[1];
|
|
132
|
+
var originalColumnsRef = useRef(((_props$tableProps = props.tableProps) === null || _props$tableProps === void 0 ? void 0 : _props$tableProps.columns) || []);
|
|
133
|
+
var _DForm$useForm = DForm.useForm(),
|
|
134
|
+
_DForm$useForm2 = _slicedToArray(_DForm$useForm, 1),
|
|
135
|
+
form = _DForm$useForm2[0];
|
|
136
|
+
var wrapperClass = useMemo(function () {
|
|
137
|
+
return classNames(_defineProperty({
|
|
138
|
+
fullscreen: fullScreen
|
|
139
|
+
}, "".concat(prefixCls, "-crud"), !!prefixCls), classname, className);
|
|
140
|
+
}, [fullScreen]);
|
|
141
|
+
var deleteApi = useCallback(crudApi.delete, [crudApi.delete]);
|
|
142
|
+
var addApi = useCallback(crudApi.add, [crudApi.add]);
|
|
143
|
+
var editApi = useCallback(crudApi.edit, [crudApi.edit]);
|
|
144
|
+
var detailApi = useCallback(crudApi.detail || ( /*#__PURE__*/function () {
|
|
145
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_params) {
|
|
146
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
147
|
+
while (1) switch (_context.prev = _context.next) {
|
|
148
|
+
case 0:
|
|
149
|
+
return _context.abrupt("return", _params);
|
|
150
|
+
case 1:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee);
|
|
155
|
+
}));
|
|
156
|
+
return function (_x) {
|
|
157
|
+
return _ref.apply(this, arguments);
|
|
158
|
+
};
|
|
159
|
+
}()), [crudApi.detail]);
|
|
160
|
+
var listApi = useCallback(function (params) {
|
|
161
|
+
var _crudApi$list;
|
|
162
|
+
return (_crudApi$list = crudApi.list) === null || _crudApi$list === void 0 ? void 0 : _crudApi$list.call(crudApi, params);
|
|
163
|
+
}, [crudApi.list]);
|
|
164
|
+
var memoizedRefreshStrategy = useMemo(function () {
|
|
165
|
+
var _refreshStrategy$keep, _refreshStrategy$keep2;
|
|
166
|
+
return _objectSpread(_objectSpread({}, refreshStrategy), {}, {
|
|
167
|
+
keepSearchValues: (_refreshStrategy$keep = refreshStrategy.keepSearchValues) !== null && _refreshStrategy$keep !== void 0 ? _refreshStrategy$keep : true,
|
|
168
|
+
keepPage: (_refreshStrategy$keep2 = refreshStrategy.keepPage) !== null && _refreshStrategy$keep2 !== void 0 ? _refreshStrategy$keep2 : false
|
|
169
|
+
});
|
|
170
|
+
}, [refreshStrategy.keepSearchValues, refreshStrategy.keepPage]);
|
|
171
|
+
var memoizedAddRefreshStrategy = useMemo(function () {
|
|
172
|
+
var _addRefreshStrategy$k, _addRefreshStrategy$k2;
|
|
173
|
+
return _objectSpread(_objectSpread({}, addRefreshStrategy), {}, {
|
|
174
|
+
keepSearchValues: (_addRefreshStrategy$k = addRefreshStrategy.keepSearchValues) !== null && _addRefreshStrategy$k !== void 0 ? _addRefreshStrategy$k : defaultStrategies.add.keepSearchValues,
|
|
175
|
+
keepPage: (_addRefreshStrategy$k2 = addRefreshStrategy.keepPage) !== null && _addRefreshStrategy$k2 !== void 0 ? _addRefreshStrategy$k2 : defaultStrategies.add.keepPage
|
|
176
|
+
});
|
|
177
|
+
}, [addRefreshStrategy.keepSearchValues, addRefreshStrategy.keepPage]);
|
|
178
|
+
var memoizedEditRefreshStrategy = useMemo(function () {
|
|
179
|
+
var _editRefreshStrategy$, _editRefreshStrategy$2;
|
|
180
|
+
return _objectSpread(_objectSpread({}, editRefreshStrategy), {}, {
|
|
181
|
+
keepSearchValues: (_editRefreshStrategy$ = editRefreshStrategy.keepSearchValues) !== null && _editRefreshStrategy$ !== void 0 ? _editRefreshStrategy$ : defaultStrategies.edit.keepSearchValues,
|
|
182
|
+
keepPage: (_editRefreshStrategy$2 = editRefreshStrategy.keepPage) !== null && _editRefreshStrategy$2 !== void 0 ? _editRefreshStrategy$2 : defaultStrategies.edit.keepPage
|
|
183
|
+
});
|
|
184
|
+
}, [editRefreshStrategy.keepSearchValues, editRefreshStrategy.keepPage]);
|
|
185
|
+
var memoizedDeleteRefreshStrategy = useMemo(function () {
|
|
186
|
+
var _deleteRefreshStrateg, _deleteRefreshStrateg2;
|
|
187
|
+
return _objectSpread(_objectSpread({}, deleteRefreshStrategy), {}, {
|
|
188
|
+
keepSearchValues: (_deleteRefreshStrateg = deleteRefreshStrategy.keepSearchValues) !== null && _deleteRefreshStrateg !== void 0 ? _deleteRefreshStrateg : defaultStrategies.delete.keepSearchValues,
|
|
189
|
+
keepPage: (_deleteRefreshStrateg2 = deleteRefreshStrategy.keepPage) !== null && _deleteRefreshStrateg2 !== void 0 ? _deleteRefreshStrateg2 : defaultStrategies.delete.keepPage
|
|
190
|
+
});
|
|
191
|
+
}, [deleteRefreshStrategy.keepSearchValues, deleteRefreshStrategy.keepPage]);
|
|
192
|
+
var mergedFormProps = useMemo(function () {
|
|
193
|
+
var _restSearchFormProps$;
|
|
194
|
+
if (!searchFormProps) return {};
|
|
195
|
+
var immediate = searchFormProps.immediate,
|
|
196
|
+
restSearchFormProps = _objectWithoutProperties(searchFormProps, _excluded);
|
|
197
|
+
var isExistFormButton = (_restSearchFormProps$ = restSearchFormProps['items']) === null || _restSearchFormProps$ === void 0 ? void 0 : _restSearchFormProps$.some(function (item) {
|
|
198
|
+
return item['htmlType'] && ['submit', 'reset'].includes(item['htmlType']);
|
|
199
|
+
});
|
|
200
|
+
var searchBtns = immediate || isExistFormButton ? [] : SearchButtons;
|
|
201
|
+
return _objectSpread(_objectSpread({}, restSearchFormProps), {}, {
|
|
202
|
+
items: [].concat(_toConsumableArray((searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps['items']) || []), _toConsumableArray(searchBtns))
|
|
203
|
+
});
|
|
204
|
+
}, [searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.immediate, searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.items, searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.initialValues]);
|
|
205
|
+
var isNeedRefreshToPage = useCallback(function () {
|
|
206
|
+
var _tableRef$current, _tableRef$current$get;
|
|
207
|
+
var deletedCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
208
|
+
var paginationState = tableRef === null || tableRef === void 0 || (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 || (_tableRef$current$get = _tableRef$current.getPaginationState) === null || _tableRef$current$get === void 0 ? void 0 : _tableRef$current$get.call(_tableRef$current);
|
|
209
|
+
if (!paginationState && !tableRef.current) return {
|
|
210
|
+
needRefreshToPage: false,
|
|
211
|
+
currentPage: 1,
|
|
212
|
+
targetPage: 1
|
|
213
|
+
};
|
|
214
|
+
var currentPage = paginationState.current,
|
|
215
|
+
pageSize = paginationState.size,
|
|
216
|
+
total = paginationState.total;
|
|
217
|
+
|
|
218
|
+
// 计算删除后的总数
|
|
219
|
+
var newTotal = total - deletedCount;
|
|
220
|
+
var totalPagesAfterDelete = Math.ceil(newTotal / pageSize);
|
|
221
|
+
// 判断删除后当前页是否为空
|
|
222
|
+
var isEmptyPage = currentPage > totalPagesAfterDelete && totalPagesAfterDelete > 0;
|
|
223
|
+
// 如果当前页变空且不是第一页,则需要跳转页码
|
|
224
|
+
var needRefreshToPage = isEmptyPage && currentPage > 1;
|
|
225
|
+
var targetPage = needRefreshToPage ? Math.min(currentPage - 1, totalPagesAfterDelete) : currentPage;
|
|
226
|
+
return {
|
|
227
|
+
needRefreshToPage: needRefreshToPage,
|
|
228
|
+
targetPage: targetPage,
|
|
229
|
+
currentPage: currentPage
|
|
230
|
+
};
|
|
231
|
+
}, []);
|
|
232
|
+
var handleSearch = useCallback(function (values) {
|
|
233
|
+
setSearchValues(values);
|
|
234
|
+
}, []);
|
|
235
|
+
var handleValuesChange = useCallback(function (_changedValues, allValues) {
|
|
236
|
+
if (searchFormProps !== null && searchFormProps !== void 0 && searchFormProps.immediate) {
|
|
237
|
+
handleSearch(allValues);
|
|
238
|
+
}
|
|
239
|
+
}, [searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.immediate, handleSearch]);
|
|
240
|
+
var handleReset = useCallback(function () {
|
|
241
|
+
var _searchFormProps$init;
|
|
242
|
+
form.resetFields();
|
|
243
|
+
setSearchValues((_searchFormProps$init = searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.initialValues) !== null && _searchFormProps$init !== void 0 ? _searchFormProps$init : {});
|
|
244
|
+
}, [form, searchFormProps === null || searchFormProps === void 0 ? void 0 : searchFormProps.initialValues]);
|
|
245
|
+
var handleAdd = useCallback(function () {
|
|
246
|
+
currentRecordRef.current = null;
|
|
247
|
+
setDetailData(null);
|
|
248
|
+
setModalConfig({
|
|
249
|
+
visible: true,
|
|
250
|
+
mode: 'add'
|
|
251
|
+
});
|
|
252
|
+
}, []);
|
|
253
|
+
var handleEdit = useCallback( /*#__PURE__*/function () {
|
|
254
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(record) {
|
|
255
|
+
var data;
|
|
256
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
257
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
258
|
+
case 0:
|
|
259
|
+
currentRecordRef.current = _objectSpread({}, record);
|
|
260
|
+
if (!detailApi) {
|
|
261
|
+
_context2.next = 7;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
_context2.next = 4;
|
|
265
|
+
return detailApi(record);
|
|
266
|
+
case 4:
|
|
267
|
+
_context2.t0 = _context2.sent;
|
|
268
|
+
_context2.next = 8;
|
|
269
|
+
break;
|
|
270
|
+
case 7:
|
|
271
|
+
_context2.t0 = record;
|
|
272
|
+
case 8:
|
|
273
|
+
data = _context2.t0;
|
|
274
|
+
setDetailData(data);
|
|
275
|
+
setModalConfig({
|
|
276
|
+
visible: true,
|
|
277
|
+
mode: 'edit'
|
|
278
|
+
});
|
|
279
|
+
case 11:
|
|
280
|
+
case "end":
|
|
281
|
+
return _context2.stop();
|
|
282
|
+
}
|
|
283
|
+
}, _callee2);
|
|
284
|
+
}));
|
|
285
|
+
return function (_x2) {
|
|
286
|
+
return _ref2.apply(this, arguments);
|
|
287
|
+
};
|
|
288
|
+
}(), [detailApi]);
|
|
289
|
+
var handleRefresh = useCallback(function (strategy, refreshOptions) {
|
|
290
|
+
// 合并策略优先级:strategy(当前调用传入) > 全局策略 > 默认策略
|
|
291
|
+
var finalStrategy = _objectSpread(_objectSpread({}, memoizedRefreshStrategy), strategy);
|
|
292
|
+
if (!finalStrategy.keepSearchValues) {
|
|
293
|
+
form.resetFields();
|
|
294
|
+
setSearchValues({});
|
|
295
|
+
onRefresh === null || onRefresh === void 0 || onRefresh();
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
// 如果指定了特定的分页处理
|
|
299
|
+
if (refreshOptions !== null && refreshOptions !== void 0 && refreshOptions.needRefreshToPage && refreshOptions !== null && refreshOptions !== void 0 && refreshOptions.targetPage) {
|
|
300
|
+
var _tableRef$current2, _tableRef$current2$re;
|
|
301
|
+
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 || (_tableRef$current2$re = _tableRef$current2.refreshToPage) === null || _tableRef$current2$re === void 0 || _tableRef$current2$re.call(_tableRef$current2, refreshOptions.targetPage);
|
|
302
|
+
} else if (!finalStrategy.keepPage) {
|
|
303
|
+
setRefreshKey(function (prev) {
|
|
304
|
+
return prev + 1;
|
|
305
|
+
});
|
|
306
|
+
} else {
|
|
307
|
+
var _tableRef$current3;
|
|
308
|
+
(_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 || _tableRef$current3.refresh();
|
|
309
|
+
}
|
|
310
|
+
onRefresh === null || onRefresh === void 0 || onRefresh();
|
|
311
|
+
}, [memoizedRefreshStrategy, onRefresh, form]);
|
|
312
|
+
var onColumnSettingChanged = useCallback(function (checkedList, sortedColumns) {
|
|
313
|
+
// 更新表格列的显示状态和排序
|
|
314
|
+
setTablePropsState(function (prevTableProps) {
|
|
315
|
+
if (!(prevTableProps !== null && prevTableProps !== void 0 && prevTableProps.columns)) return prevTableProps;
|
|
316
|
+
|
|
317
|
+
// 如果提供了排序后的列,则使用排序后的列,否则使用原有的列
|
|
318
|
+
var sourceColumns = sortedColumns || prevTableProps.columns;
|
|
319
|
+
|
|
320
|
+
// 根据选中的标题过滤列
|
|
321
|
+
var filteredColumns = sourceColumns.filter(function (column) {
|
|
322
|
+
// 如果列没有title,则默认显示
|
|
323
|
+
if (column.title === undefined) return true;
|
|
324
|
+
|
|
325
|
+
// 只有当title是字符串或数字时才参与过滤
|
|
326
|
+
var isFilterable = typeof column.title === 'string' || typeof column.title === 'number';
|
|
327
|
+
return !isFilterable || checkedList.includes(column.title);
|
|
328
|
+
});
|
|
329
|
+
return _objectSpread(_objectSpread({}, prevTableProps), {}, {
|
|
330
|
+
columns: filteredColumns
|
|
331
|
+
});
|
|
332
|
+
});
|
|
333
|
+
}, []);
|
|
334
|
+
var handleBatchDelete = useCallback(function () {
|
|
335
|
+
DModal.delete(_objectSpread({
|
|
336
|
+
title: '确定要删除所选数据吗?',
|
|
337
|
+
onOk: function () {
|
|
338
|
+
var _onOk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
339
|
+
var _isNeedRefreshToPage, needRefreshToPage, targetPage;
|
|
340
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
341
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
342
|
+
case 0:
|
|
343
|
+
_context3.next = 2;
|
|
344
|
+
return deleteApi(_objectSpread({}, selectedData));
|
|
345
|
+
case 2:
|
|
346
|
+
_isNeedRefreshToPage = isNeedRefreshToPage(selectedData.selectedRows.length), needRefreshToPage = _isNeedRefreshToPage.needRefreshToPage, targetPage = _isNeedRefreshToPage.targetPage;
|
|
347
|
+
handleRefresh(memoizedDeleteRefreshStrategy, {
|
|
348
|
+
needRefreshToPage: needRefreshToPage,
|
|
349
|
+
targetPage: targetPage
|
|
350
|
+
});
|
|
351
|
+
setSelectedData({
|
|
352
|
+
selectedRowKeys: [],
|
|
353
|
+
selectedRows: []
|
|
354
|
+
});
|
|
355
|
+
case 5:
|
|
356
|
+
case "end":
|
|
357
|
+
return _context3.stop();
|
|
358
|
+
}
|
|
359
|
+
}, _callee3);
|
|
360
|
+
}));
|
|
361
|
+
function onOk() {
|
|
362
|
+
return _onOk.apply(this, arguments);
|
|
363
|
+
}
|
|
364
|
+
return onOk;
|
|
365
|
+
}()
|
|
366
|
+
}, deleteModalProps));
|
|
367
|
+
}, [deleteApi, memoizedDeleteRefreshStrategy, handleRefresh, selectedData, isNeedRefreshToPage]);
|
|
368
|
+
var handleDelete = useCallback( /*#__PURE__*/function () {
|
|
369
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(record) {
|
|
370
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
371
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
372
|
+
case 0:
|
|
373
|
+
DModal.delete({
|
|
374
|
+
title: '确定要删除此条数据吗?',
|
|
375
|
+
onOk: function () {
|
|
376
|
+
var _onOk2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
377
|
+
var _isNeedRefreshToPage2, needRefreshToPage, targetPage;
|
|
378
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
379
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
380
|
+
case 0:
|
|
381
|
+
_context4.next = 2;
|
|
382
|
+
return deleteApi(record);
|
|
383
|
+
case 2:
|
|
384
|
+
_isNeedRefreshToPage2 = isNeedRefreshToPage(), needRefreshToPage = _isNeedRefreshToPage2.needRefreshToPage, targetPage = _isNeedRefreshToPage2.targetPage;
|
|
385
|
+
handleRefresh(memoizedDeleteRefreshStrategy, {
|
|
386
|
+
needRefreshToPage: needRefreshToPage,
|
|
387
|
+
targetPage: targetPage
|
|
388
|
+
});
|
|
389
|
+
case 4:
|
|
390
|
+
case "end":
|
|
391
|
+
return _context4.stop();
|
|
392
|
+
}
|
|
393
|
+
}, _callee4);
|
|
394
|
+
}));
|
|
395
|
+
function onOk() {
|
|
396
|
+
return _onOk2.apply(this, arguments);
|
|
397
|
+
}
|
|
398
|
+
return onOk;
|
|
399
|
+
}()
|
|
400
|
+
});
|
|
401
|
+
case 1:
|
|
402
|
+
case "end":
|
|
403
|
+
return _context5.stop();
|
|
404
|
+
}
|
|
405
|
+
}, _callee5);
|
|
406
|
+
}));
|
|
407
|
+
return function (_x3) {
|
|
408
|
+
return _ref3.apply(this, arguments);
|
|
409
|
+
};
|
|
410
|
+
}(), [deleteApi, memoizedDeleteRefreshStrategy, handleRefresh, isNeedRefreshToPage]);
|
|
411
|
+
var handleModalOk = useCallback( /*#__PURE__*/function () {
|
|
412
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(values) {
|
|
413
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
414
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
415
|
+
case 0:
|
|
416
|
+
_context6.prev = 0;
|
|
417
|
+
if (!(modalConfig.mode === 'edit' && currentRecordRef.current)) {
|
|
418
|
+
_context6.next = 7;
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
_context6.next = 4;
|
|
422
|
+
return editApi(_objectSpread(_objectSpread({}, currentRecordRef.current || {}), values));
|
|
423
|
+
case 4:
|
|
424
|
+
handleRefresh(memoizedEditRefreshStrategy);
|
|
425
|
+
_context6.next = 11;
|
|
426
|
+
break;
|
|
427
|
+
case 7:
|
|
428
|
+
if (!(modalConfig.mode === 'add')) {
|
|
429
|
+
_context6.next = 11;
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
_context6.next = 10;
|
|
433
|
+
return addApi(values);
|
|
434
|
+
case 10:
|
|
435
|
+
handleRefresh(memoizedAddRefreshStrategy);
|
|
436
|
+
case 11:
|
|
437
|
+
currentRecordRef.current = null;
|
|
438
|
+
setModalConfig(_objectSpread(_objectSpread({}, modalConfig), {}, {
|
|
439
|
+
visible: false
|
|
440
|
+
}));
|
|
441
|
+
setDetailData(null);
|
|
442
|
+
_context6.next = 19;
|
|
443
|
+
break;
|
|
444
|
+
case 16:
|
|
445
|
+
_context6.prev = 16;
|
|
446
|
+
_context6.t0 = _context6["catch"](0);
|
|
447
|
+
return _context6.abrupt("return", Promise.reject(_context6.t0));
|
|
448
|
+
case 19:
|
|
449
|
+
case "end":
|
|
450
|
+
return _context6.stop();
|
|
451
|
+
}
|
|
452
|
+
}, _callee6, null, [[0, 16]]);
|
|
453
|
+
}));
|
|
454
|
+
return function (_x4) {
|
|
455
|
+
return _ref4.apply(this, arguments);
|
|
456
|
+
};
|
|
457
|
+
}(), [modalConfig.mode, addApi, editApi, memoizedAddRefreshStrategy, memoizedEditRefreshStrategy, handleRefresh]);
|
|
458
|
+
var handleCancel = useCallback(function () {
|
|
459
|
+
setModalConfig(function (prev) {
|
|
460
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
461
|
+
visible: false
|
|
462
|
+
});
|
|
463
|
+
});
|
|
464
|
+
setDetailData(null);
|
|
465
|
+
currentRecordRef.current = null;
|
|
466
|
+
}, []);
|
|
467
|
+
var handleView = useCallback( /*#__PURE__*/function () {
|
|
468
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(record) {
|
|
469
|
+
var data;
|
|
470
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
471
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
472
|
+
case 0:
|
|
473
|
+
currentRecordRef.current = _objectSpread({}, record);
|
|
474
|
+
if (!detailApi) {
|
|
475
|
+
_context7.next = 7;
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
_context7.next = 4;
|
|
479
|
+
return detailApi(record);
|
|
480
|
+
case 4:
|
|
481
|
+
_context7.t0 = _context7.sent;
|
|
482
|
+
_context7.next = 8;
|
|
483
|
+
break;
|
|
484
|
+
case 7:
|
|
485
|
+
_context7.t0 = record;
|
|
486
|
+
case 8:
|
|
487
|
+
data = _context7.t0;
|
|
488
|
+
setDetailData(data);
|
|
489
|
+
setModalConfig({
|
|
490
|
+
visible: true,
|
|
491
|
+
mode: 'view'
|
|
492
|
+
});
|
|
493
|
+
case 11:
|
|
494
|
+
case "end":
|
|
495
|
+
return _context7.stop();
|
|
496
|
+
}
|
|
497
|
+
}, _callee7);
|
|
498
|
+
}));
|
|
499
|
+
return function (_x5) {
|
|
500
|
+
return _ref5.apply(this, arguments);
|
|
501
|
+
};
|
|
502
|
+
}(), [detailApi]);
|
|
503
|
+
var actionColumn = useMemo(function () {
|
|
504
|
+
// 捕获当前的API方法引用,避免闭包问题
|
|
505
|
+
var currentHandleEdit = handleEdit;
|
|
506
|
+
var currentHandleDelete = handleDelete;
|
|
507
|
+
var currentHandleView = handleView;
|
|
508
|
+
return function (_text, record) {
|
|
509
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
510
|
+
className: actionColumnClass,
|
|
511
|
+
children: [showEdit && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
512
|
+
type: "link",
|
|
513
|
+
icon: /*#__PURE__*/_jsx(EditOutlined, {}),
|
|
514
|
+
onClick: function onClick() {
|
|
515
|
+
return currentHandleEdit(record);
|
|
516
|
+
},
|
|
517
|
+
size: "small"
|
|
518
|
+
}, editButtonProps), {}, {
|
|
519
|
+
children: editButtonText
|
|
520
|
+
})), showDelete && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
521
|
+
type: "link",
|
|
522
|
+
danger: true,
|
|
523
|
+
icon: /*#__PURE__*/_jsx(DeleteOutlined, {}),
|
|
524
|
+
onClick: function onClick() {
|
|
525
|
+
return currentHandleDelete(record);
|
|
526
|
+
},
|
|
527
|
+
size: "small"
|
|
528
|
+
}, deleteButtonProps), {}, {
|
|
529
|
+
children: deleteButtonText
|
|
530
|
+
})), showView && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
531
|
+
type: "link",
|
|
532
|
+
icon: /*#__PURE__*/_jsx(EyeOutlined, {}),
|
|
533
|
+
onClick: function onClick() {
|
|
534
|
+
return currentHandleView(record);
|
|
535
|
+
},
|
|
536
|
+
size: "small"
|
|
537
|
+
}, viewButtonProps), {}, {
|
|
538
|
+
children: viewButtonText
|
|
539
|
+
}))]
|
|
540
|
+
});
|
|
541
|
+
};
|
|
542
|
+
}, [handleEdit, handleDelete, handleView, showEdit, showDelete, showView, editButtonText, deleteButtonText, viewButtonText]);
|
|
543
|
+
var tablePropsWithSearch = useMemo(function () {
|
|
544
|
+
var _ref6 = tableProps || {},
|
|
545
|
+
_ref6$columns = _ref6.columns,
|
|
546
|
+
columns = _ref6$columns === void 0 ? [] : _ref6$columns,
|
|
547
|
+
tableExtraParams = _ref6.extraParams,
|
|
548
|
+
otherTableProps = _objectWithoutProperties(_ref6, _excluded2);
|
|
549
|
+
return _objectSpread({
|
|
550
|
+
actionColumn: actionColumn,
|
|
551
|
+
columns: tablePropsState.columns || columns,
|
|
552
|
+
extraParams: _objectSpread(_objectSpread({}, tableExtraParams || {}), searchValues),
|
|
553
|
+
rowSelection: {
|
|
554
|
+
fixed: true,
|
|
555
|
+
onChange: function onChange(selectedRowKeys, selectedRows) {
|
|
556
|
+
setSelectedData({
|
|
557
|
+
selectedRowKeys: selectedRowKeys,
|
|
558
|
+
selectedRows: selectedRows
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
loadMore: listApi
|
|
563
|
+
}, otherTableProps);
|
|
564
|
+
}, [tableProps, tablePropsState.columns, searchValues, actionColumn, listApi]);
|
|
565
|
+
var mergedModalFormProps = useMemo(function () {
|
|
566
|
+
var _modalFormProps$modal;
|
|
567
|
+
if (!(modalFormProps !== null && modalFormProps !== void 0 && modalFormProps.formProps)) return null;
|
|
568
|
+
var isViewMode = modalConfig.mode === 'view';
|
|
569
|
+
var modalTitle = (modalFormProps === null || modalFormProps === void 0 || (_modalFormProps$modal = modalFormProps.modalProps) === null || _modalFormProps$modal === void 0 ? void 0 : _modalFormProps$modal.title) || '';
|
|
570
|
+
return {
|
|
571
|
+
modalProps: _objectSpread(_objectSpread({
|
|
572
|
+
open: modalConfig.visible,
|
|
573
|
+
onCancel: handleCancel,
|
|
574
|
+
onOk: isViewMode ? undefined : handleModalOk
|
|
575
|
+
}, modalFormProps === null || modalFormProps === void 0 ? void 0 : modalFormProps.modalProps), {}, {
|
|
576
|
+
title: isViewMode ? "".concat(modalTitle, "\u8BE6\u60C5") : modalConfig.mode === 'edit' ? "\u7F16\u8F91".concat(modalTitle) : "\u65B0\u589E".concat(modalTitle)
|
|
577
|
+
}),
|
|
578
|
+
formProps: _objectSpread({
|
|
579
|
+
values: detailData || currentRecordRef.current || {},
|
|
580
|
+
disabled: isViewMode,
|
|
581
|
+
// 详情模式下禁用表单编辑
|
|
582
|
+
className: "".concat(classname, "-modalform-").concat(modalConfig.mode)
|
|
583
|
+
}, modalFormProps === null || modalFormProps === void 0 ? void 0 : modalFormProps.formProps)
|
|
584
|
+
};
|
|
585
|
+
}, [modalConfig, detailData, handleCancel, handleModalOk, modalFormProps, classname]);
|
|
586
|
+
useImperativeHandle(ref, function () {
|
|
587
|
+
return {
|
|
588
|
+
refresh: function refresh(strategy, refreshOptions) {
|
|
589
|
+
return handleRefresh(strategy || {}, refreshOptions || {});
|
|
590
|
+
},
|
|
591
|
+
getSelectedRows: function getSelectedRows() {
|
|
592
|
+
return selectedData;
|
|
593
|
+
},
|
|
594
|
+
getSearchValues: function getSearchValues() {
|
|
595
|
+
return form.getFieldsValue();
|
|
596
|
+
},
|
|
597
|
+
openAddModal: function openAddModal() {
|
|
598
|
+
return handleAdd();
|
|
599
|
+
},
|
|
600
|
+
openEditModal: function openEditModal(params) {
|
|
601
|
+
return handleEdit(params);
|
|
602
|
+
},
|
|
603
|
+
openDetailModal: function openDetailModal(params) {
|
|
604
|
+
return handleView(params);
|
|
605
|
+
},
|
|
606
|
+
openDeleteModal: function openDeleteModal(params) {
|
|
607
|
+
return handleDelete(params);
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
});
|
|
611
|
+
useEffect(function () {
|
|
612
|
+
if (mergedFormProps !== null && mergedFormProps !== void 0 && mergedFormProps.initialValues) {
|
|
613
|
+
form.setFieldsValue(mergedFormProps === null || mergedFormProps === void 0 ? void 0 : mergedFormProps.initialValues);
|
|
614
|
+
setSearchValues(function (prev) {
|
|
615
|
+
return _objectSpread(_objectSpread({}, prev), mergedFormProps === null || mergedFormProps === void 0 ? void 0 : mergedFormProps.initialValues);
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
}, [mergedFormProps === null || mergedFormProps === void 0 ? void 0 : mergedFormProps.initialValues]);
|
|
619
|
+
useEffect(function () {
|
|
620
|
+
// 当tableProps.columns变化时更新originalColumnsRef
|
|
621
|
+
if (tableProps !== null && tableProps !== void 0 && tableProps.columns && tableProps.columns.length > 0) {
|
|
622
|
+
originalColumnsRef.current = tableProps.columns;
|
|
623
|
+
}
|
|
624
|
+
}, [tableProps === null || tableProps === void 0 ? void 0 : tableProps.columns]);
|
|
625
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
626
|
+
className: wrapperClass,
|
|
627
|
+
style: style,
|
|
628
|
+
children: [searchFormProps && /*#__PURE__*/_jsx(DForm, _objectSpread({
|
|
629
|
+
form: form,
|
|
630
|
+
onFinish: handleSearch,
|
|
631
|
+
onReset: handleReset,
|
|
632
|
+
onValuesChange: handleValuesChange
|
|
633
|
+
}, mergedFormProps)), /*#__PURE__*/_jsxs("div", {
|
|
634
|
+
className: "".concat(classname, "-action-tool-bar"),
|
|
635
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
636
|
+
className: "".concat(classname, "-action-bar"),
|
|
637
|
+
children: [showAddButton && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
638
|
+
type: "primary",
|
|
639
|
+
icon: /*#__PURE__*/_jsx(PlusOutlined, {}),
|
|
640
|
+
onClick: handleAdd
|
|
641
|
+
}, addButtonProps), {}, {
|
|
642
|
+
children: addButtonText
|
|
643
|
+
})), showBatchDelete && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
644
|
+
type: "primary",
|
|
645
|
+
danger: true,
|
|
646
|
+
icon: /*#__PURE__*/_jsx(DeleteOutlined, {}),
|
|
647
|
+
onClick: handleBatchDelete,
|
|
648
|
+
disabled: selectedData.selectedRowKeys.length === 0
|
|
649
|
+
}, batchDeleteButtonProps), {}, {
|
|
650
|
+
children: selectedData.selectedRowKeys.length > 0 ? "".concat(batchDeleteButtonText, "(").concat(selectedData.selectedRowKeys.length, ")") : batchDeleteButtonText
|
|
651
|
+
})), actionBar]
|
|
652
|
+
}), /*#__PURE__*/_jsx(Toolbar, {
|
|
653
|
+
className: "".concat(classname, "-tool-bar"),
|
|
654
|
+
fullScreen: fullScreen,
|
|
655
|
+
columns: originalColumnsRef.current,
|
|
656
|
+
onActions: {
|
|
657
|
+
setFullScreen: setFullScreen,
|
|
658
|
+
handleRefresh: handleRefresh,
|
|
659
|
+
onColumnSettingChanged: onColumnSettingChanged
|
|
660
|
+
}
|
|
661
|
+
})]
|
|
662
|
+
}), /*#__PURE__*/_jsx(DTable, _objectSpread(_objectSpread({
|
|
663
|
+
ref: tableRef
|
|
664
|
+
}, tablePropsWithSearch), {}, {
|
|
665
|
+
className: "".concat(classname, "-table")
|
|
666
|
+
}), refreshKey), mergedModalFormProps && /*#__PURE__*/_jsx(ModalForm, _objectSpread({}, mergedModalFormProps))]
|
|
667
|
+
});
|
|
668
|
+
});
|
|
669
|
+
export default forwardCRUD;
|