@ccs-ui/rc-pro 2.3.6-beta-7 → 2.3.6-beta-8
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/es/dialog/button.d.ts +1 -1
- package/es/pro-table/head.d.ts +1 -3
- package/es/pro-table/head.js +26 -31
- package/es/pro-table/index.d.ts +3 -8
- package/es/pro-table/index.js +1 -3
- package/es/pro-table/index.less +8 -3
- package/es/pro-table/table.d.ts +12 -10
- package/es/pro-table/table.js +71 -76
- package/es/pro-table/tree.d.ts +1 -1
- package/es/pro-table/tree.js +9 -15
- package/es/resize-observer.d.ts +2 -2
- package/es/resize-observer.js +2 -2
- package/es/table/index.d.ts +1 -1
- package/es/table/index.js +31 -24
- package/es/table/index.less +4 -0
- package/package.json +1 -1
package/es/dialog/button.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type DialogButtonsProps<T> = Pick<CcsDialogModalProps, 'okText' | 'onClos
|
|
|
16
16
|
export type DialogButtonRef = {
|
|
17
17
|
onSetButtons: (e: React.ReactElement) => void;
|
|
18
18
|
};
|
|
19
|
-
export declare const DialogButtonHolder: <TParams, TData>({ auth, extraBtn, formRef, request, onOk, onClose, buttonRef, requestFieldNames, formInitialValues, preventRequestHandle, }: Pick<CcsDialogModalProps<TParams, TData>, "auth" | "
|
|
19
|
+
export declare const DialogButtonHolder: <TParams, TData>({ auth, extraBtn, formRef, request, onOk, onClose, buttonRef, requestFieldNames, formInitialValues, preventRequestHandle, }: Pick<CcsDialogModalProps<TParams, TData>, "auth" | "request" | "onClose" | "onOk" | "extraBtn" | "requestFieldNames" | "preventRequestHandle"> & {
|
|
20
20
|
formRef: React.RefObject<DialogFormRef<TParams>>;
|
|
21
21
|
formInitialValues: FormProps['initialValues'];
|
|
22
22
|
buttonRef: RefObject<DialogButtonRef>;
|
package/es/pro-table/head.d.ts
CHANGED
|
@@ -10,9 +10,7 @@ type PropsType<T> = Pick<CcsProTableProps<T>, 'toolbar' | 'formItems' | 'formIni
|
|
|
10
10
|
tableOperation: ReactElement;
|
|
11
11
|
/** 查询 */
|
|
12
12
|
onSearch: () => void;
|
|
13
|
-
/** header 高度改变 */
|
|
14
|
-
onHeaderResize: () => void;
|
|
15
13
|
};
|
|
16
14
|
/** 操作按钮、查询,重置、列筛选、 */
|
|
17
|
-
declare function HeadComponent<T>({ form, title, toolbar, children, expandForm, formItems, formInitValues, formItemLabelWidth, tableOperation, onSearch,
|
|
15
|
+
declare function HeadComponent<T>({ form, title, toolbar, children, expandForm, formItems, formInitValues, formItemLabelWidth, tableOperation, onSearch, }: PropsType<T>): import("react/jsx-runtime").JSX.Element;
|
|
18
16
|
export default HeadComponent;
|
package/es/pro-table/head.js
CHANGED
|
@@ -28,18 +28,21 @@ function HeadComponent(_ref) {
|
|
|
28
28
|
formInitValues = _ref.formInitValues,
|
|
29
29
|
formItemLabelWidth = _ref.formItemLabelWidth,
|
|
30
30
|
tableOperation = _ref.tableOperation,
|
|
31
|
-
onSearch = _ref.onSearch
|
|
32
|
-
onHeaderResize = _ref.onHeaderResize;
|
|
31
|
+
onSearch = _ref.onSearch;
|
|
33
32
|
var formItemsRef = useRef(null);
|
|
33
|
+
|
|
34
|
+
// 根据位置判断是否换行ref
|
|
35
|
+
var endItemRef = useRef(null);
|
|
36
|
+
|
|
34
37
|
// 查询条件是否展开
|
|
35
38
|
var _useState = useState(expandForm),
|
|
36
39
|
_useState2 = _slicedToArray(_useState, 2),
|
|
37
40
|
isExpand = _useState2[0],
|
|
38
41
|
setIsExpand = _useState2[1];
|
|
39
|
-
var _useState3 = useState(
|
|
42
|
+
var _useState3 = useState(false),
|
|
40
43
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
hasMore = _useState4[0],
|
|
45
|
+
onToggle = _useState4[1];
|
|
43
46
|
useUpdateEffect(function () {
|
|
44
47
|
setIsExpand(expandForm);
|
|
45
48
|
}, [expandForm]);
|
|
@@ -55,34 +58,23 @@ function HeadComponent(_ref) {
|
|
|
55
58
|
return formItems;
|
|
56
59
|
}, [formItems]);
|
|
57
60
|
|
|
58
|
-
//
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var resizeFn = _debounce(function (hm) {
|
|
64
|
-
setVisible(hm);
|
|
65
|
-
onHeaderResize();
|
|
66
|
-
}, 500);
|
|
61
|
+
// 判断是否有更多条件无法一行显示
|
|
62
|
+
var onEventMore = function onEventMore() {
|
|
63
|
+
var _endItemRef$current, _formItemsRef$current;
|
|
64
|
+
onToggle(((_endItemRef$current = endItemRef.current) === null || _endItemRef$current === void 0 ? void 0 : _endItemRef$current.getClientRects()[0].top) !== ((_formItemsRef$current = formItemsRef.current) === null || _formItemsRef$current === void 0 ? void 0 : _formItemsRef$current.getClientRects()[0].top));
|
|
65
|
+
};
|
|
67
66
|
|
|
68
67
|
// 监听dom尺寸变化
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
if (visible === 'hidden') return;
|
|
72
|
-
var scrollHeight = ((_formItemsRef$current = formItemsRef.current) === null || _formItemsRef$current === void 0 ? void 0 : _formItemsRef$current.scrollHeight) || 0;
|
|
73
|
-
if (scrollHeight === 0) return;
|
|
74
|
-
var hm = scrollHeight > 40 ? 'more' : 'visible';
|
|
75
|
-
resizeFn(hm);
|
|
68
|
+
var resizeFn = function resizeFn() {
|
|
69
|
+
onEventMore();
|
|
76
70
|
};
|
|
71
|
+
|
|
72
|
+
// 监听容器尺寸变化
|
|
73
|
+
var onResize = _debounce(resizeFn, 500);
|
|
77
74
|
useEffect(function () {
|
|
78
|
-
|
|
79
|
-
var scrollHeight = ((_formItemsRef$current2 = formItemsRef.current) === null || _formItemsRef$current2 === void 0 ? void 0 : _formItemsRef$current2.scrollHeight) || 0;
|
|
80
|
-
setVisible(scrollHeight > 40 ? 'more' : 'visible');
|
|
75
|
+
onEventMore();
|
|
81
76
|
}, []);
|
|
82
77
|
|
|
83
|
-
// 是否有更多
|
|
84
|
-
var hasMore = itemLen > 1 && visible === 'more';
|
|
85
|
-
|
|
86
78
|
// 操作按钮
|
|
87
79
|
var renderSearchBtn = /*#__PURE__*/_jsxs("div", {
|
|
88
80
|
style: {
|
|
@@ -172,16 +164,17 @@ function HeadComponent(_ref) {
|
|
|
172
164
|
// 获取Input的高度
|
|
173
165
|
var token = theme.useToken().token;
|
|
174
166
|
var controlHeight = token.rootValue ? "".concat((token.controlHeight / token.rootValue).toFixed(3), "rem") : token.controlHeight;
|
|
167
|
+
var adaptationRef = useRef(null);
|
|
175
168
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
176
|
-
children: [
|
|
169
|
+
children: [allFormItems.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
177
170
|
children: [/*#__PURE__*/_jsx(CcsResizeObserver.Target, {
|
|
178
171
|
targetRef: formItemsRef,
|
|
179
172
|
onResize: onResize
|
|
180
173
|
}), /*#__PURE__*/_jsx(Card, {
|
|
174
|
+
ref: adaptationRef,
|
|
181
175
|
className: "ccs-pl-adaptation",
|
|
182
176
|
style: {
|
|
183
|
-
boxShadow: 'none'
|
|
184
|
-
visibility: visible === 'hidden' ? 'hidden' : 'visible'
|
|
177
|
+
boxShadow: 'none'
|
|
185
178
|
},
|
|
186
179
|
styles: {
|
|
187
180
|
body: {
|
|
@@ -203,7 +196,9 @@ function HeadComponent(_ref) {
|
|
|
203
196
|
},
|
|
204
197
|
className: "ccs-pl-adaptation-form",
|
|
205
198
|
ref: formItemsRef,
|
|
206
|
-
children: [renderFormItems(),
|
|
199
|
+
children: [renderFormItems(), /*#__PURE__*/_jsx("div", {
|
|
200
|
+
ref: endItemRef
|
|
201
|
+
}), isExpand && renderSearchBtn]
|
|
207
202
|
}), !isExpand && /*#__PURE__*/_jsx("div", {
|
|
208
203
|
style: {
|
|
209
204
|
flex: '0 0 auto'
|
package/es/pro-table/index.d.ts
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import './index.less';
|
|
2
|
-
import { CcsProTableProps
|
|
3
|
-
type TableProps<T> = Omit<CcsProTableProps<T>, '
|
|
4
|
-
|
|
5
|
-
onSearchAfter?: (data: any, eventType?: SearchEventType) => any;
|
|
6
|
-
};
|
|
7
|
-
type TableTreeProps<T> = Omit<CcsProTableProps<T>, 'onSearchAfter'> & {
|
|
2
|
+
import { CcsProTableProps } from './table';
|
|
3
|
+
type TableProps<T> = Omit<CcsProTableProps<T>, 'parentFieldName'>;
|
|
4
|
+
type TableTreeProps<T> = CcsProTableProps<T> & {
|
|
8
5
|
/** 父级值字段 */
|
|
9
6
|
parentFieldName: string;
|
|
10
|
-
/** 请求后格式化结果 */
|
|
11
|
-
onSearchAfter?: (data: any, eventType?: SearchEventType) => any;
|
|
12
7
|
};
|
|
13
8
|
/**
|
|
14
9
|
* 查询表格组件
|
package/es/pro-table/index.js
CHANGED
|
@@ -24,9 +24,7 @@ var ProTable = function ProTable(props) {
|
|
|
24
24
|
* @returns
|
|
25
25
|
*/
|
|
26
26
|
var ProTableTree = function ProTableTree(props) {
|
|
27
|
-
return /*#__PURE__*/_jsx(InternalProTable, _objectSpread(
|
|
28
|
-
onSearchAfter: props.onSearchAfter
|
|
29
|
-
}));
|
|
27
|
+
return /*#__PURE__*/_jsx(InternalProTable, _objectSpread({}, props));
|
|
30
28
|
};
|
|
31
29
|
ProTable.Tree = ProTableTree;
|
|
32
30
|
export default ProTable;
|
package/es/pro-table/index.less
CHANGED
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
&-table-content {
|
|
50
50
|
position: relative;
|
|
51
51
|
flex: auto;
|
|
52
|
+
|
|
53
|
+
.ant-table-title {
|
|
54
|
+
padding: 0 !important;
|
|
55
|
+
}
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
&-adaptation {
|
|
@@ -61,13 +65,14 @@
|
|
|
61
65
|
&-adaptation-form {
|
|
62
66
|
flex: 1 1 auto;
|
|
63
67
|
display: flex;
|
|
68
|
+
justify-content: flex-end;
|
|
64
69
|
flex-wrap: wrap;
|
|
65
70
|
gap: 16px 10px;
|
|
66
71
|
overflow: hidden;
|
|
67
72
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
&::-webkit-scrollbar {
|
|
74
|
+
display: none;
|
|
75
|
+
}
|
|
71
76
|
}
|
|
72
77
|
|
|
73
78
|
.ant-form-item {
|
package/es/pro-table/table.d.ts
CHANGED
|
@@ -13,9 +13,6 @@ export type ShowDependType = {
|
|
|
13
13
|
value: any;
|
|
14
14
|
};
|
|
15
15
|
export type SearchEventType = 'search' | 'reset' | 'reload' | 'changePage' | 'initSearch';
|
|
16
|
-
type SearchBeforeType = ParamType & {
|
|
17
|
-
query: ParamType;
|
|
18
|
-
};
|
|
19
16
|
export type TableColumn<RecordType = any> = (Omit<ColumnGroupType<RecordType>, 'ellipsis'> | Omit<ColumnType<RecordType>, 'ellipsis'>) & {
|
|
20
17
|
/** 隐藏列 */
|
|
21
18
|
hidden?: boolean;
|
|
@@ -27,10 +24,21 @@ type TableTitleType<T> = {
|
|
|
27
24
|
data: T[];
|
|
28
25
|
onClear: () => void;
|
|
29
26
|
};
|
|
27
|
+
export type CcsRequestProps = {
|
|
28
|
+
pageNo?: number;
|
|
29
|
+
pageSize?: number;
|
|
30
|
+
query?: Record<string, any>;
|
|
31
|
+
filters?: Record<string, any>;
|
|
32
|
+
orderProps?: {
|
|
33
|
+
prop: string;
|
|
34
|
+
ascending: boolean;
|
|
35
|
+
}[];
|
|
36
|
+
eventType?: SearchEventType;
|
|
37
|
+
};
|
|
30
38
|
export type CcsTableProps<T> = Omit<TableProps<T>, 'columns' | 'title'> & {
|
|
31
39
|
data?: CCS.TableData<T>;
|
|
32
40
|
/** request 方法 */
|
|
33
|
-
request?: (params:
|
|
41
|
+
request?: (params: CcsRequestProps) => Promise<any>;
|
|
34
42
|
/** request 额外参数 dataSource: ['data', 'result']; current: ['data', 'pageNo']; pageSize: ['data', 'pageSize']; total: ['data', 'totalNum'] */
|
|
35
43
|
requestParam?: ParamType;
|
|
36
44
|
/** 接口字段指定,默认: */
|
|
@@ -80,12 +88,6 @@ export type CcsProTableProps<RecordType> = Pick<PropsWithCss, 'className'> & Pro
|
|
|
80
88
|
proRef?: CCS.TableInstanceRef<RecordType>;
|
|
81
89
|
/** 显示序号 */
|
|
82
90
|
showNumber?: boolean;
|
|
83
|
-
/** 执行search 后回调函数 */
|
|
84
|
-
searchEvent?: () => void;
|
|
85
|
-
/** 请求前格式化参数 */
|
|
86
|
-
onSearchBefore?: (params: SearchBeforeType, eventType?: SearchEventType) => SearchBeforeType;
|
|
87
|
-
/** 请求后格式化结果 */
|
|
88
|
-
onSearchAfter?: (result: any, eventType?: SearchEventType) => any;
|
|
89
91
|
};
|
|
90
92
|
export type TableEventType = {
|
|
91
93
|
key: 'columnFilter' | 'fullScreen';
|
package/es/pro-table/table.js
CHANGED
|
@@ -17,12 +17,12 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
17
17
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
18
18
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
19
|
import CcsUtils from '@ccs-ui/utils';
|
|
20
|
-
import {
|
|
20
|
+
import { useUpdateEffect } from 'ahooks';
|
|
21
21
|
import { theme as antTheme, Empty, Form } from 'antd';
|
|
22
22
|
import classNames from 'classnames';
|
|
23
|
+
import _debounce from 'lodash.debounce';
|
|
23
24
|
import React, { useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
24
|
-
import { useAppConfig, useCcsPage } from '..';
|
|
25
|
-
import { onDefaultFormat } from "../config";
|
|
25
|
+
import { CcsResizeObserver, useAppConfig, useCcsPage } from '..';
|
|
26
26
|
import { useProTableFields } from "../hooks/use-app";
|
|
27
27
|
import { getDataFromFields } from "../select";
|
|
28
28
|
import CcsTable from "../table";
|
|
@@ -57,7 +57,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
57
57
|
children = props.children,
|
|
58
58
|
className = props.className,
|
|
59
59
|
expandForm = props.expandForm,
|
|
60
|
-
searchEvent = props.searchEvent,
|
|
61
60
|
toolbarExtra = props.toolbarExtra,
|
|
62
61
|
_props$formItems = props.formItems,
|
|
63
62
|
formItems = _props$formItems === void 0 ? [] : _props$formItems,
|
|
@@ -138,8 +137,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
138
137
|
var globalFieldNames = useProTableFields();
|
|
139
138
|
// 接口字段指定
|
|
140
139
|
var fieldNames = _objectSpread(_objectSpread({}, globalFieldNames), (_props$table = props.table) === null || _props$table === void 0 ? void 0 : _props$table.fieldNames);
|
|
141
|
-
var onSearchBefore = props.onSearchBefore || onDefaultFormat;
|
|
142
|
-
var onSearchAfter = props.onSearchAfter || onDefaultFormat;
|
|
143
140
|
|
|
144
141
|
// 暗黑模式
|
|
145
142
|
var isDark = theme === 'dark';
|
|
@@ -155,16 +152,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
155
152
|
});
|
|
156
153
|
}, []);
|
|
157
154
|
|
|
158
|
-
// 监听容器尺寸变化
|
|
159
|
-
var size = useSize(containerRef);
|
|
160
|
-
useEffect(function () {
|
|
161
|
-
var _table$scroll, _tableContentRef$curr;
|
|
162
|
-
if ((table === null || table === void 0 || (_table$scroll = table.scroll) === null || _table$scroll === void 0 ? void 0 : _table$scroll.y) === 'auto' && ((_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.clientHeight) !== 0) {
|
|
163
|
-
var _tableRef$current;
|
|
164
|
-
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 || _tableRef$current.onFixedThead();
|
|
165
|
-
}
|
|
166
|
-
}, [size === null || size === void 0 ? void 0 : size.height]);
|
|
167
|
-
|
|
168
155
|
// 获取数据
|
|
169
156
|
var onRequest = /*#__PURE__*/function () {
|
|
170
157
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(eventType) {
|
|
@@ -190,9 +177,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
190
177
|
pageValue,
|
|
191
178
|
params,
|
|
192
179
|
_treeRef$current,
|
|
193
|
-
newParams,
|
|
194
180
|
requestResult,
|
|
195
|
-
newReqResult,
|
|
196
181
|
dataSource,
|
|
197
182
|
_pageSize,
|
|
198
183
|
current,
|
|
@@ -217,9 +202,11 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
217
202
|
pageNo: pageNo,
|
|
218
203
|
pageSize: pageSize
|
|
219
204
|
};
|
|
220
|
-
params = _objectSpread(_objectSpread({
|
|
221
|
-
query: _objectSpread(_objectSpread({},
|
|
222
|
-
}, pageValue), filtersRef.current)
|
|
205
|
+
params = _objectSpread(_objectSpread(_objectSpread({
|
|
206
|
+
query: _objectSpread(_objectSpread({}, requestParam), formValues)
|
|
207
|
+
}, pageValue), filtersRef.current), {}, {
|
|
208
|
+
eventType: eventType
|
|
209
|
+
}); // 异步树
|
|
223
210
|
if (!parentFieldName) {
|
|
224
211
|
_context.next = 7;
|
|
225
212
|
break;
|
|
@@ -227,29 +214,27 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
227
214
|
(_treeRef$current = treeRef.current) === null || _treeRef$current === void 0 || _treeRef$current.onRequestTree(params.query, record);
|
|
228
215
|
return _context.abrupt("return");
|
|
229
216
|
case 7:
|
|
230
|
-
//
|
|
231
|
-
newParams = onSearchBefore(params, eventType); // 发起请求
|
|
217
|
+
// 发起请求
|
|
232
218
|
setData(function (d) {
|
|
233
219
|
return _objectSpread(_objectSpread({}, d), {}, {
|
|
234
220
|
loading: true
|
|
235
221
|
});
|
|
236
222
|
});
|
|
237
|
-
_context.next =
|
|
238
|
-
return httpRequest(
|
|
239
|
-
case
|
|
223
|
+
_context.next = 10;
|
|
224
|
+
return httpRequest(params);
|
|
225
|
+
case 10:
|
|
240
226
|
requestResult = _context.sent;
|
|
241
227
|
if (!requestResult) {
|
|
242
|
-
_context.next =
|
|
228
|
+
_context.next = 22;
|
|
243
229
|
break;
|
|
244
230
|
}
|
|
245
|
-
//
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
total = getDataFromFields(newReqResult, fieldNames.total);
|
|
231
|
+
// 获取table数据
|
|
232
|
+
dataSource = getDataFromFields(requestResult, fieldNames.dataSource);
|
|
233
|
+
_pageSize = getDataFromFields(requestResult, fieldNames.pageSize);
|
|
234
|
+
current = getDataFromFields(requestResult, fieldNames.current);
|
|
235
|
+
total = getDataFromFields(requestResult, fieldNames.total);
|
|
251
236
|
if (!(total === undefined || _pageSize === undefined || current === undefined || dataSource === undefined)) {
|
|
252
|
-
_context.next =
|
|
237
|
+
_context.next = 19;
|
|
253
238
|
break;
|
|
254
239
|
}
|
|
255
240
|
setData({
|
|
@@ -260,7 +245,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
260
245
|
loading: false
|
|
261
246
|
});
|
|
262
247
|
return _context.abrupt("return");
|
|
263
|
-
case
|
|
248
|
+
case 19:
|
|
264
249
|
// 当前页无数据,返回上一页
|
|
265
250
|
if (!dataSource.length && current !== 1 && current !== undefined) {
|
|
266
251
|
onRequest('reload', current - 1);
|
|
@@ -273,15 +258,15 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
273
258
|
total: total || 0
|
|
274
259
|
});
|
|
275
260
|
}
|
|
276
|
-
_context.next =
|
|
261
|
+
_context.next = 23;
|
|
277
262
|
break;
|
|
278
|
-
case
|
|
263
|
+
case 22:
|
|
279
264
|
setData(function (d) {
|
|
280
265
|
return _objectSpread(_objectSpread({}, d), {}, {
|
|
281
266
|
loading: false
|
|
282
267
|
});
|
|
283
268
|
});
|
|
284
|
-
case
|
|
269
|
+
case 23:
|
|
285
270
|
case "end":
|
|
286
271
|
return _context.stop();
|
|
287
272
|
}
|
|
@@ -346,7 +331,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
346
331
|
|
|
347
332
|
// 查询按钮
|
|
348
333
|
var _onSearch = function onSearch() {
|
|
349
|
-
if (searchEvent) searchEvent();
|
|
350
334
|
onRequest('search');
|
|
351
335
|
};
|
|
352
336
|
|
|
@@ -526,8 +510,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
526
510
|
sticky: stickyRef.current || true,
|
|
527
511
|
parentFieldName: parentFieldName,
|
|
528
512
|
setData: setData,
|
|
529
|
-
onSearchAfter: onSearchAfter,
|
|
530
|
-
onSearchBefore: onSearchBefore,
|
|
531
513
|
handlePageChange: handlePageChange
|
|
532
514
|
});
|
|
533
515
|
}
|
|
@@ -582,43 +564,56 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
582
564
|
style.backgroundColor = 'transparent';
|
|
583
565
|
}
|
|
584
566
|
};
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
return (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.onFixedThead();
|
|
602
|
-
},
|
|
603
|
-
title: props.title,
|
|
604
|
-
tableOperation: (table === null || table === void 0 ? void 0 : table.hideOperation) !== true ? /*#__PURE__*/_jsx(TableOperation, {
|
|
605
|
-
onChangeRowSize: function onChangeRowSize(e) {
|
|
606
|
-
return setTableRowSize(e);
|
|
607
|
-
},
|
|
608
|
-
tableRowSize: tableRowSize,
|
|
609
|
-
onReset: _onReset,
|
|
610
|
-
columns: columns,
|
|
611
|
-
tableRef: tableRef,
|
|
612
|
-
onFullScreen: onFullScreen
|
|
613
|
-
}) : /*#__PURE__*/_jsx(_Fragment, {}),
|
|
614
|
-
children: newToolbarExtra
|
|
567
|
+
|
|
568
|
+
// 尺寸变化重设尺寸
|
|
569
|
+
var resizeFn = function resizeFn() {
|
|
570
|
+
var _table$scroll, _tableContentRef$curr;
|
|
571
|
+
if ((table === null || table === void 0 || (_table$scroll = table.scroll) === null || _table$scroll === void 0 ? void 0 : _table$scroll.y) === 'auto' && ((_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.clientHeight) !== 0) {
|
|
572
|
+
var _tableRef$current;
|
|
573
|
+
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 || _tableRef$current.onFixedThead();
|
|
574
|
+
}
|
|
575
|
+
};
|
|
576
|
+
|
|
577
|
+
// 监听容器尺寸变化
|
|
578
|
+
var onResize = _debounce(resizeFn, 500);
|
|
579
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
580
|
+
children: [/*#__PURE__*/_jsx(CcsResizeObserver.Target, {
|
|
581
|
+
targetRef: tableContentRef,
|
|
582
|
+
onResize: onResize
|
|
615
583
|
}), /*#__PURE__*/_jsxs("div", {
|
|
616
|
-
className:
|
|
617
|
-
style: _objectSpread(_objectSpread({},
|
|
618
|
-
overflow: (table === null || table === void 0 || (_table$
|
|
584
|
+
className: classNames(classPrefix, className, _defineProperty({}, 'dark-table', isDark)),
|
|
585
|
+
style: _objectSpread(_objectSpread({}, rootStyle), {}, {
|
|
586
|
+
overflow: (table === null || table === void 0 || (_table$scroll2 = table.scroll) === null || _table$scroll2 === void 0 ? void 0 : _table$scroll2.y) === 'auto' ? 'hidden' : 'unset'
|
|
619
587
|
}),
|
|
620
|
-
ref:
|
|
621
|
-
children: [
|
|
588
|
+
ref: containerRef,
|
|
589
|
+
children: [!(!formItems.length && !toolbar) && isAuth && /*#__PURE__*/_jsx(HeadComponent, {
|
|
590
|
+
form: form,
|
|
591
|
+
toolbar: newToolbar,
|
|
592
|
+
formItems: formItems,
|
|
593
|
+
expandForm: expandForm,
|
|
594
|
+
formInitValues: formInitValues,
|
|
595
|
+
formItemLabelWidth: props.formItemLabelWidth,
|
|
596
|
+
onSearch: _onSearch,
|
|
597
|
+
title: props.title,
|
|
598
|
+
tableOperation: (table === null || table === void 0 ? void 0 : table.hideOperation) !== true ? /*#__PURE__*/_jsx(TableOperation, {
|
|
599
|
+
onChangeRowSize: function onChangeRowSize(e) {
|
|
600
|
+
return setTableRowSize(e);
|
|
601
|
+
},
|
|
602
|
+
tableRowSize: tableRowSize,
|
|
603
|
+
onReset: _onReset,
|
|
604
|
+
columns: columns,
|
|
605
|
+
tableRef: tableRef,
|
|
606
|
+
onFullScreen: onFullScreen
|
|
607
|
+
}) : /*#__PURE__*/_jsx(_Fragment, {}),
|
|
608
|
+
children: newToolbarExtra
|
|
609
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
610
|
+
className: "".concat(classPrefix, "-table-content"),
|
|
611
|
+
style: _objectSpread(_objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.table), {}, {
|
|
612
|
+
overflow: (table === null || table === void 0 || (_table$scroll3 = table.scroll) === null || _table$scroll3 === void 0 ? void 0 : _table$scroll3.y) === 'auto' ? 'hidden' : 'unset'
|
|
613
|
+
}),
|
|
614
|
+
ref: tableContentRef,
|
|
615
|
+
children: [renderTable(), children]
|
|
616
|
+
})]
|
|
622
617
|
})]
|
|
623
618
|
});
|
|
624
619
|
};
|
package/es/pro-table/tree.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type TreeInstance<T> = {
|
|
|
9
9
|
onRequestTree: (query: any, record: T | any) => void;
|
|
10
10
|
onExpandKeys: (ids: string[]) => void;
|
|
11
11
|
};
|
|
12
|
-
type TreeTableProps<T> = Pick<CcsProTableProps<T>, 'table' | '
|
|
12
|
+
type TreeTableProps<T> = Pick<CcsProTableProps<T>, 'table' | 'parentFieldName' | 'leafNode'> & {
|
|
13
13
|
data: CCS.TableData<T>;
|
|
14
14
|
sticky: boolean | TableSticky;
|
|
15
15
|
tableRowSize: TableProps['size'];
|
package/es/pro-table/tree.js
CHANGED
|
@@ -34,8 +34,6 @@ var TableTree = function TableTree(props) {
|
|
|
34
34
|
tableContentRef = props.tableContentRef,
|
|
35
35
|
parentFieldName = props.parentFieldName,
|
|
36
36
|
handlePageChange = props.handlePageChange,
|
|
37
|
-
onSearchAfter = props.onSearchAfter,
|
|
38
|
-
onSearchBefore = props.onSearchBefore,
|
|
39
37
|
setData = props.setData;
|
|
40
38
|
// async tree expand key
|
|
41
39
|
var _useState = useState([]),
|
|
@@ -60,9 +58,7 @@ var TableTree = function TableTree(props) {
|
|
|
60
58
|
var query,
|
|
61
59
|
record,
|
|
62
60
|
params,
|
|
63
|
-
newParams,
|
|
64
61
|
requestResult,
|
|
65
|
-
newReqResult,
|
|
66
62
|
dataSource,
|
|
67
63
|
_args = arguments;
|
|
68
64
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -75,8 +71,7 @@ var TableTree = function TableTree(props) {
|
|
|
75
71
|
params[parentFieldName] = record[rowKey];
|
|
76
72
|
}
|
|
77
73
|
|
|
78
|
-
//
|
|
79
|
-
newParams = onSearchBefore(params); // 发起请求
|
|
74
|
+
// 发起请求
|
|
80
75
|
setData(function (d) {
|
|
81
76
|
return _objectSpread(_objectSpread({}, d), {}, {
|
|
82
77
|
loading: true
|
|
@@ -84,20 +79,19 @@ var TableTree = function TableTree(props) {
|
|
|
84
79
|
});
|
|
85
80
|
_context.t0 = httpRequest;
|
|
86
81
|
if (!_context.t0) {
|
|
87
|
-
_context.next =
|
|
82
|
+
_context.next = 10;
|
|
88
83
|
break;
|
|
89
84
|
}
|
|
90
|
-
_context.next =
|
|
91
|
-
return httpRequest(
|
|
92
|
-
case
|
|
85
|
+
_context.next = 9;
|
|
86
|
+
return httpRequest(params);
|
|
87
|
+
case 9:
|
|
93
88
|
_context.t0 = _context.sent;
|
|
94
|
-
case
|
|
89
|
+
case 10:
|
|
95
90
|
requestResult = _context.t0;
|
|
96
91
|
// 请求结果
|
|
97
92
|
if (requestResult) {
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
dataSource = getDataFromFields(newReqResult, fieldNames.dataSource); // 判断非叶子节点,添加children
|
|
93
|
+
// 获取table数据
|
|
94
|
+
dataSource = getDataFromFields(requestResult, fieldNames.dataSource); // 判断非叶子节点,添加children
|
|
101
95
|
if (leafNode && dataSource && Array.isArray(dataSource)) {
|
|
102
96
|
dataSource.forEach(function (d) {
|
|
103
97
|
if (typeof leafNode === 'string' && !d[leafNode]) {
|
|
@@ -132,7 +126,7 @@ var TableTree = function TableTree(props) {
|
|
|
132
126
|
});
|
|
133
127
|
});
|
|
134
128
|
}
|
|
135
|
-
case
|
|
129
|
+
case 12:
|
|
136
130
|
case "end":
|
|
137
131
|
return _context.stop();
|
|
138
132
|
}
|
package/es/resize-observer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
type Size = {
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
@@ -9,7 +9,7 @@ type PropsType = {
|
|
|
9
9
|
};
|
|
10
10
|
declare function ResizeObserver({ onResize }: Omit<PropsType, 'targetRef'>): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
declare namespace ResizeObserver {
|
|
12
|
-
var Target: typeof ResizeObserverTarget
|
|
12
|
+
var Target: React.MemoExoticComponent<typeof ResizeObserverTarget>;
|
|
13
13
|
}
|
|
14
14
|
declare function ResizeObserverTarget({ targetRef, onResize }: PropsType): null;
|
|
15
15
|
export default ResizeObserver;
|
package/es/resize-observer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useSize } from 'ahooks';
|
|
2
|
-
import { useEffect, useRef } from 'react';
|
|
2
|
+
import React, { useEffect, useRef } from 'react';
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
function ResizeObserver(_ref) {
|
|
5
5
|
var onResize = _ref.onResize;
|
|
@@ -33,5 +33,5 @@ function ResizeObserverTarget(_ref2) {
|
|
|
33
33
|
}, [size === null || size === void 0 ? void 0 : size.height, size === null || size === void 0 ? void 0 : size.width]);
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
|
-
ResizeObserver.Target = ResizeObserverTarget;
|
|
36
|
+
ResizeObserver.Target = /*#__PURE__*/React.memo(ResizeObserverTarget);
|
|
37
37
|
export default ResizeObserver;
|
package/es/table/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CcsProTableProps, CcsTableProps } from '../pro-table/table';
|
|
3
3
|
import './index.less';
|
|
4
|
-
type TableProps<T> = Omit<CcsTableProps<T>, 'request' | '
|
|
4
|
+
type TableProps<T> = Omit<CcsTableProps<T>, 'request' | 'title'> & Pick<CcsProTableProps<T>, 'showNumber'> & {
|
|
5
5
|
title?: any;
|
|
6
6
|
tableRef?: React.MutableRefObject<TableRefType | undefined>;
|
|
7
7
|
tableContentRef: React.RefObject<HTMLDivElement>;
|
package/es/table/index.js
CHANGED
|
@@ -79,34 +79,41 @@ var CustomTable = function CustomTable(props) {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
if (!tableTarget) return;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
|
|
83
|
+
// 容器最大高度
|
|
84
|
+
var maxHeight = (_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.clientHeight;
|
|
85
|
+
|
|
86
|
+
// 计算所有dom高度
|
|
87
|
+
var tableEle = tableTarget.getElementsByClassName('ant-table')[0];
|
|
88
|
+
var childHeights = [];
|
|
89
|
+
var antTablebody = undefined;
|
|
90
|
+
tableEle.childNodes.forEach(function (e) {
|
|
91
|
+
if (e.classList.contains('ant-table-container')) {
|
|
92
|
+
e.childNodes.forEach(function (node) {
|
|
93
|
+
if (node.classList.contains('ant-table-body')) {
|
|
94
|
+
antTablebody = node;
|
|
95
|
+
} else {
|
|
96
|
+
childHeights.push(node.clientHeight || 0);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
} else {
|
|
100
|
+
childHeights.push(e.clientHeight || 0);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// 分页高度
|
|
88
105
|
var _pagination = tableTarget.getElementsByClassName('ant-pagination');
|
|
89
106
|
if (_pagination && _pagination.length > 0) {
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
var header = tableTarget.getElementsByClassName('ant-table-header');
|
|
93
|
-
var footer = tableTarget.getElementsByClassName('ant-table-footer');
|
|
94
|
-
var summary = tableTarget.getElementsByClassName('ant-table-summary');
|
|
95
|
-
if (footer && footer.length > 0) {
|
|
96
|
-
footerHeight = footer[0].clientHeight;
|
|
97
|
-
}
|
|
98
|
-
if (header && header.length > 0) {
|
|
99
|
-
headerHeight = header[0].clientHeight;
|
|
100
|
-
}
|
|
101
|
-
if (summary && summary.length > 0) {
|
|
102
|
-
summaryHeight = summary[0].clientHeight;
|
|
107
|
+
childHeights.push(_pagination[0].clientHeight);
|
|
103
108
|
}
|
|
104
109
|
|
|
105
|
-
// 计算
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
// 计算body滚动高度
|
|
111
|
+
if (antTablebody) {
|
|
112
|
+
var scrollHeight = maxHeight - childHeights.reduce(function (c, s) {
|
|
113
|
+
return c + s;
|
|
114
|
+
}, 0);
|
|
115
|
+
antTablebody.style.height = "".concat(scrollHeight, "px");
|
|
116
|
+
}
|
|
110
117
|
}
|
|
111
118
|
}, {
|
|
112
119
|
wait: 500,
|
package/es/table/index.less
CHANGED
|
@@ -133,12 +133,16 @@
|
|
|
133
133
|
.ccs-tabs-auto-height {
|
|
134
134
|
flex: 1 1 auto;
|
|
135
135
|
overflow: hidden;
|
|
136
|
+
|
|
136
137
|
> .ant-tabs-content-holder {
|
|
137
138
|
height: 100%;
|
|
139
|
+
|
|
138
140
|
> .ant-tabs-content {
|
|
139
141
|
height: 100%;
|
|
142
|
+
|
|
140
143
|
> div {
|
|
141
144
|
height: 100%;
|
|
145
|
+
|
|
142
146
|
> .ccs-pl {
|
|
143
147
|
height: 100%;
|
|
144
148
|
}
|