@ccs-ui/rc-pro 1.1.25-beta-3 → 1.1.25-beta-6
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/auth/index.d.ts +5 -2
- package/es/auth/index.js +21 -9
- package/es/ccs.d.ts +16 -0
- package/es/dialog/HookModal.d.ts +1 -1
- package/es/pro-grid/index.js +0 -1
- package/es/pro-table/_utils.d.ts +12 -0
- package/es/pro-table/_utils.js +94 -0
- package/es/pro-table/index.less +41 -12
- package/es/pro-table/operation.d.ts +11 -0
- package/es/pro-table/operation.js +165 -0
- package/es/pro-table/search.d.ts +3 -8
- package/es/pro-table/search.js +108 -251
- package/es/pro-table/table.d.ts +18 -4
- package/es/pro-table/table.js +74 -91
- package/es/pro-table/tree.d.ts +4 -6
- package/es/pro-table/tree.js +3 -5
- package/es/table/index.d.ts +9 -1
- package/es/table/index.js +28 -27
- package/package.json +2 -2
package/es/pro-table/table.js
CHANGED
|
@@ -13,89 +13,21 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
13
13
|
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; }
|
|
14
14
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
15
15
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
-
import { useEventEmitter } from 'ahooks';
|
|
17
16
|
import { Empty, Form, theme } from 'antd';
|
|
18
17
|
import classNames from 'classnames';
|
|
19
|
-
import _isArray from 'lodash/isArray';
|
|
20
18
|
import React, { useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
21
19
|
import { CcsUtils, CcsWaterMark } from '..';
|
|
22
20
|
import { useCcsPage } from "../";
|
|
23
21
|
import CcsTable from "../table";
|
|
22
|
+
import { getAllChildrenId, getDataById, isComponent, onTableInModalOrDrawer, onTableInTabItem } from "./_utils";
|
|
24
23
|
import "./index.less";
|
|
24
|
+
import TableOperation from "./operation";
|
|
25
25
|
import SearchComponent from "./search";
|
|
26
26
|
import TableTree from "./tree";
|
|
27
|
+
|
|
28
|
+
// 同 antd FormLayout; tradition为传统布局模式
|
|
27
29
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
30
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
-
// 判断组件所处dom
|
|
30
|
-
var onTableInModalOrDrawer = function onTableInModalOrDrawer(node) {
|
|
31
|
-
var _parent$classList, _parent$classList2, _parent$classList3, _parent$classList4, _parent$classList5;
|
|
32
|
-
var parent = node.parentNode;
|
|
33
|
-
if (!parent) return false;
|
|
34
|
-
if (
|
|
35
|
-
// 通过指定dom吸顶
|
|
36
|
-
(_parent$classList = parent.classList) !== null && _parent$classList !== void 0 && _parent$classList.contains('ccs-trigger-container') || (_parent$classList2 = parent.classList) !== null && _parent$classList2 !== void 0 && _parent$classList2.contains('ccs-drawer-content') || (_parent$classList3 = parent.classList) !== null && _parent$classList3 !== void 0 && _parent$classList3.contains('ant-drawer-body')) {
|
|
37
|
-
return {
|
|
38
|
-
getContainer: function getContainer() {
|
|
39
|
-
return parent;
|
|
40
|
-
},
|
|
41
|
-
isInDialog: true
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// 在弹出框中吸顶top
|
|
46
|
-
if ((_parent$classList4 = parent.classList) !== null && _parent$classList4 !== void 0 && _parent$classList4.contains('ant-modal') || (_parent$classList5 = parent.classList) !== null && _parent$classList5 !== void 0 && _parent$classList5.contains('ant-drawer')) {
|
|
47
|
-
return {
|
|
48
|
-
offsetHeader: 0,
|
|
49
|
-
isInDialog: true
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
return onTableInModalOrDrawer(parent);
|
|
53
|
-
};
|
|
54
|
-
var onTableInTabItem = function onTableInTabItem(node) {
|
|
55
|
-
var _parent$classList6;
|
|
56
|
-
var parent = node.parentNode;
|
|
57
|
-
if (!parent) return false;
|
|
58
|
-
if ( // 通过指定dom吸顶
|
|
59
|
-
(_parent$classList6 = parent.classList) !== null && _parent$classList6 !== void 0 && _parent$classList6.contains('ccs-table-item-scroll')) {
|
|
60
|
-
return {
|
|
61
|
-
getContainer: function getContainer() {
|
|
62
|
-
return node;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// if (
|
|
68
|
-
// // 通过指定dom吸顶
|
|
69
|
-
// parent.classList?.contains('ccs-single-page')
|
|
70
|
-
// ) {
|
|
71
|
-
// return { getContainer: () => node };
|
|
72
|
-
// }
|
|
73
|
-
|
|
74
|
-
return onTableInTabItem(parent);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// 根据ID查找树形节点
|
|
78
|
-
var getDataById = function getDataById(data, rowKey, id) {
|
|
79
|
-
if (!_isArray(data)) return;
|
|
80
|
-
for (var i = 0; i < data.length; i += 1) {
|
|
81
|
-
if (data[i][rowKey] === id) {
|
|
82
|
-
return data[i];
|
|
83
|
-
}
|
|
84
|
-
if (data[i].children) {
|
|
85
|
-
var v = getDataById(data[i].children, rowKey, id);
|
|
86
|
-
if (v) return v;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
var getAllChildrenId = function getAllChildrenId(data, rowKey) {
|
|
91
|
-
return data.reduce(function (keys, item) {
|
|
92
|
-
keys.push(item[rowKey]);
|
|
93
|
-
if (item.children && _isArray(item.children)) {
|
|
94
|
-
return keys.concat(getAllChildrenId(item.children, rowKey));
|
|
95
|
-
}
|
|
96
|
-
return keys;
|
|
97
|
-
}, []);
|
|
98
|
-
};
|
|
99
31
|
export var classPrefix = 'ccs-pl';
|
|
100
32
|
|
|
101
33
|
/**
|
|
@@ -126,7 +58,6 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
126
58
|
formInitValues = _props$formInitValues === void 0 ? {} : _props$formInitValues,
|
|
127
59
|
onSearchBefore = props.onSearchBefore,
|
|
128
60
|
onSearchAfter = props.onSearchAfter;
|
|
129
|
-
var tableRef = useRef(null);
|
|
130
61
|
var _useCcsPage = useCcsPage(),
|
|
131
62
|
onAuth = _useCcsPage.onAuth;
|
|
132
63
|
var _ref = table || {},
|
|
@@ -140,6 +71,10 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
140
71
|
var stickyRef = useRef(false);
|
|
141
72
|
// column filter
|
|
142
73
|
var filtersRef = useRef({});
|
|
74
|
+
// table content
|
|
75
|
+
var tableContentRef = useRef(null);
|
|
76
|
+
// table ref
|
|
77
|
+
var tableRef = useRef();
|
|
143
78
|
// 查询form
|
|
144
79
|
var _Form$useForm = Form.useForm(),
|
|
145
80
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
@@ -154,10 +89,13 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
154
89
|
_useState2 = _slicedToArray(_useState, 2),
|
|
155
90
|
data = _useState2[0],
|
|
156
91
|
setData = _useState2[1];
|
|
157
|
-
var event$ = useEventEmitter();
|
|
158
92
|
var treeRef = useRef(null);
|
|
159
93
|
var _theme$useToken = theme.useToken(),
|
|
160
94
|
token = _theme$useToken.token;
|
|
95
|
+
var _useState3 = useState([]),
|
|
96
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
97
|
+
selectedRows = _useState4[0],
|
|
98
|
+
setSelectedRows = _useState4[1];
|
|
161
99
|
|
|
162
100
|
// 权限判断
|
|
163
101
|
var isAuth = useMemo(function () {
|
|
@@ -322,14 +260,14 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
322
260
|
|
|
323
261
|
useEffect(function () {
|
|
324
262
|
// 判断是否在弹出框中
|
|
325
|
-
var inMd = onTableInModalOrDrawer(
|
|
263
|
+
var inMd = onTableInModalOrDrawer(tableContentRef.current);
|
|
326
264
|
if (inMd) {
|
|
327
265
|
stickyRef.current = inMd;
|
|
328
266
|
return;
|
|
329
267
|
}
|
|
330
268
|
|
|
331
269
|
// 判断在tab中
|
|
332
|
-
var inTab = onTableInTabItem(
|
|
270
|
+
var inTab = onTableInTabItem(tableContentRef.current);
|
|
333
271
|
if (inTab) {
|
|
334
272
|
stickyRef.current = inTab;
|
|
335
273
|
return;
|
|
@@ -380,6 +318,9 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
380
318
|
// form 数据 查询,重载,重置方法
|
|
381
319
|
useImperativeHandle(proRef, function () {
|
|
382
320
|
return {
|
|
321
|
+
data: data,
|
|
322
|
+
selectedRows: selectedRows,
|
|
323
|
+
formValues: form.getFieldsValue(),
|
|
383
324
|
onSearch: function onSearch() {
|
|
384
325
|
_onSearch();
|
|
385
326
|
},
|
|
@@ -393,8 +334,9 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
393
334
|
_onReset();
|
|
394
335
|
},
|
|
395
336
|
onChangeData: setData,
|
|
396
|
-
|
|
397
|
-
|
|
337
|
+
onClearSelected: function onClearSelected() {
|
|
338
|
+
return setSelectedRows([]);
|
|
339
|
+
}
|
|
398
340
|
};
|
|
399
341
|
});
|
|
400
342
|
|
|
@@ -478,13 +420,38 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
478
420
|
}
|
|
479
421
|
}
|
|
480
422
|
|
|
423
|
+
// selection
|
|
424
|
+
var rowSelection = table.rowSelection && CcsUtils.isEmpty(table.rowSelection) ? {
|
|
425
|
+
selectedRowKeys: selectedRows.map(function (k) {
|
|
426
|
+
return k[rowKey];
|
|
427
|
+
}),
|
|
428
|
+
onChange: function onChange(_, rows) {
|
|
429
|
+
return setSelectedRows(rows);
|
|
430
|
+
},
|
|
431
|
+
preserveSelectedRowKeys: true
|
|
432
|
+
} : table.rowSelection;
|
|
433
|
+
|
|
434
|
+
// table title
|
|
435
|
+
var tableTitle = table.title ? table.title({
|
|
436
|
+
selectedRows: selectedRows,
|
|
437
|
+
data: data.result || [],
|
|
438
|
+
onClear: function onClear() {
|
|
439
|
+
return setSelectedRows([]);
|
|
440
|
+
}
|
|
441
|
+
}) : undefined;
|
|
442
|
+
|
|
481
443
|
// 异步树
|
|
482
444
|
if (parentFieldName) {
|
|
483
445
|
return /*#__PURE__*/_jsx(TableTree, {
|
|
484
446
|
data: data,
|
|
485
|
-
table: table,
|
|
486
|
-
|
|
447
|
+
table: _objectSpread(_objectSpread({}, table), {}, {
|
|
448
|
+
rowSelection: rowSelection,
|
|
449
|
+
title: tableTitle ? function () {
|
|
450
|
+
return tableTitle;
|
|
451
|
+
} : undefined
|
|
452
|
+
}),
|
|
487
453
|
treeRef: treeRef,
|
|
454
|
+
tableRef: tableRef,
|
|
488
455
|
sticky: stickyRef.current || true,
|
|
489
456
|
parentFieldName: parentFieldName,
|
|
490
457
|
setData: setData,
|
|
@@ -495,18 +462,32 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
495
462
|
});
|
|
496
463
|
}
|
|
497
464
|
return /*#__PURE__*/_jsx(CcsTable, _objectSpread(_objectSpread({
|
|
498
|
-
onChange: handlePageChange,
|
|
499
465
|
data: data,
|
|
500
|
-
|
|
466
|
+
tableRef: tableRef,
|
|
467
|
+
onChange: handlePageChange,
|
|
501
468
|
size: isInModalOrDrawer ? 'small' : 'middle',
|
|
502
469
|
sticky: stickyRef.current || true
|
|
503
470
|
}, table), {}, {
|
|
504
471
|
columns: columns,
|
|
505
472
|
showSorterTooltip: true,
|
|
473
|
+
rowSelection: rowSelection,
|
|
474
|
+
showNumber: props.showNumber,
|
|
506
475
|
loading: table.loading || data.loading || false,
|
|
507
|
-
|
|
476
|
+
title: tableTitle ? function () {
|
|
477
|
+
return tableTitle;
|
|
478
|
+
} : undefined
|
|
508
479
|
}));
|
|
509
480
|
};
|
|
481
|
+
var isAuthGroupToolbar = isComponent(toolbar, 'AuthGroup');
|
|
482
|
+
var isAuthGroupToolbarExtra = isComponent(toolbarExtra, 'AuthGroup');
|
|
483
|
+
var newToolbar = isAuthGroupToolbar ? /*#__PURE__*/React.cloneElement(toolbar, {
|
|
484
|
+
selectedRows: selectedRows
|
|
485
|
+
}) : toolbar;
|
|
486
|
+
var newToolbarExtra = isAuthGroupToolbarExtra ? /*#__PURE__*/React.cloneElement(toolbarExtra, {
|
|
487
|
+
selectedRows: selectedRows
|
|
488
|
+
}) : toolbarExtra;
|
|
489
|
+
|
|
490
|
+
// 暗黑模式
|
|
510
491
|
var isDark = token._appTheme === 'dark';
|
|
511
492
|
var render = /*#__PURE__*/_jsxs("div", {
|
|
512
493
|
className: classNames(classPrefix, className, _defineProperty({}, 'dark-table', isDark)),
|
|
@@ -515,23 +496,25 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
515
496
|
form: form,
|
|
516
497
|
title: title,
|
|
517
498
|
titleBordered: table === null || table === void 0 ? void 0 : table.bordered,
|
|
518
|
-
toolbar:
|
|
519
|
-
columns: columns,
|
|
499
|
+
toolbar: newToolbar,
|
|
520
500
|
formItems: formItems,
|
|
521
501
|
expandForm: expandForm,
|
|
522
502
|
formInitValues: formInitValues,
|
|
523
|
-
isInModalOrDrawer: isInModalOrDrawer,
|
|
524
503
|
formItemLabelWidth: props.formItemLabelWidth,
|
|
525
504
|
formItemLayout: props.formItemLayout,
|
|
526
505
|
formItemCol: props.formItemCol,
|
|
527
|
-
event$: event$,
|
|
528
506
|
onSearch: _onSearch,
|
|
529
|
-
|
|
530
|
-
|
|
507
|
+
tableOperation: /*#__PURE__*/_jsx(TableOperation, {
|
|
508
|
+
isInModalOrDrawer: isInModalOrDrawer,
|
|
509
|
+
onReset: _onReset,
|
|
510
|
+
columns: columns,
|
|
511
|
+
tableRef: tableRef
|
|
512
|
+
}),
|
|
513
|
+
children: newToolbarExtra
|
|
531
514
|
}), /*#__PURE__*/_jsxs("div", {
|
|
532
|
-
className: "".concat(classPrefix, "-table-content"),
|
|
515
|
+
className: "".concat(classPrefix, "-table-content ").concat(props.formItemLayout),
|
|
533
516
|
style: tableStyle,
|
|
534
|
-
ref:
|
|
517
|
+
ref: tableContentRef,
|
|
535
518
|
children: [renderTable(), children]
|
|
536
519
|
})]
|
|
537
520
|
});
|
package/es/pro-table/tree.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EventEmitter } from 'ahooks/lib/useEventEmitter';
|
|
2
1
|
import { TableSticky } from 'rc-table/lib/interface';
|
|
3
2
|
import { RefObject } from 'react';
|
|
4
3
|
import CCS from '..';
|
|
5
4
|
import { HttpResult } from '../ccs';
|
|
5
|
+
import { TableRefType } from '../table';
|
|
6
6
|
import { CcsProTableProps, SearchEventType } from './table';
|
|
7
7
|
export type TreeInstance<T> = {
|
|
8
8
|
onRequestTree: (query: any, record: T | any) => void;
|
|
@@ -10,17 +10,15 @@ export type TreeInstance<T> = {
|
|
|
10
10
|
};
|
|
11
11
|
type TreeTableProps<T> = Pick<CcsProTableProps<T>, 'table' | 'onSearchBefore' | 'parentFieldName'> & {
|
|
12
12
|
data: CCS.TableData<T>;
|
|
13
|
-
event$: EventEmitter<{
|
|
14
|
-
key: 'formFilter' | 'columnFilter' | 'columnFilter';
|
|
15
|
-
}>;
|
|
16
|
-
treeRef: RefObject<TreeInstance<T>>;
|
|
17
13
|
isInModalOrDrawer: boolean;
|
|
18
14
|
sticky: boolean | TableSticky;
|
|
15
|
+
treeRef: RefObject<TreeInstance<T>>;
|
|
16
|
+
tableRef: React.MutableRefObject<TableRefType | undefined>;
|
|
19
17
|
setData: React.Dispatch<React.SetStateAction<CCS.TableData<T>>>;
|
|
20
18
|
handlePageChange: any;
|
|
21
19
|
onSearchAfter: (data: HttpResult<T[]>, eventType?: SearchEventType) => HttpResult<(T & {
|
|
22
20
|
children: T[];
|
|
23
21
|
})[]>;
|
|
24
22
|
};
|
|
25
|
-
declare const TableTree: <T extends object = any>({ data, table,
|
|
23
|
+
declare const TableTree: <T extends object = any>({ data, table, sticky, treeRef, tableRef, setData, onSearchAfter, onSearchBefore, parentFieldName, handlePageChange, isInModalOrDrawer, }: TreeTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
26
24
|
export default TableTree;
|
package/es/pro-table/tree.js
CHANGED
|
@@ -23,9 +23,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
23
23
|
var TableTree = function TableTree(_ref) {
|
|
24
24
|
var data = _ref.data,
|
|
25
25
|
table = _ref.table,
|
|
26
|
-
event$ = _ref.event$,
|
|
27
|
-
treeRef = _ref.treeRef,
|
|
28
26
|
sticky = _ref.sticky,
|
|
27
|
+
treeRef = _ref.treeRef,
|
|
28
|
+
tableRef = _ref.tableRef,
|
|
29
29
|
setData = _ref.setData,
|
|
30
30
|
onSearchAfter = _ref.onSearchAfter,
|
|
31
31
|
onSearchBefore = _ref.onSearchBefore,
|
|
@@ -150,8 +150,6 @@ var TableTree = function TableTree(_ref) {
|
|
|
150
150
|
}));
|
|
151
151
|
}
|
|
152
152
|
};
|
|
153
|
-
|
|
154
|
-
// 添加吸顶
|
|
155
153
|
var tableParams = _objectSpread(_objectSpread({
|
|
156
154
|
sticky: sticky
|
|
157
155
|
}, table), {}, {
|
|
@@ -161,7 +159,7 @@ var TableTree = function TableTree(_ref) {
|
|
|
161
159
|
return /*#__PURE__*/_jsx(CcsTable, _objectSpread(_objectSpread({
|
|
162
160
|
onChange: handlePageChange,
|
|
163
161
|
data: data,
|
|
164
|
-
|
|
162
|
+
tableRef: tableRef,
|
|
165
163
|
size: isInModalOrDrawer ? 'small' : 'middle'
|
|
166
164
|
}, tableParams), {}, {
|
|
167
165
|
columns: columns,
|
package/es/table/index.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { CcsProTableProps, CcsTableProps } from '../pro-table/table';
|
|
2
3
|
import './index.less';
|
|
3
|
-
type TableProps<T> = Omit<CcsTableProps<T>, 'request' | 'requestParam'> & Pick<CcsProTableProps<T>, 'showNumber'
|
|
4
|
+
type TableProps<T> = Omit<CcsTableProps<T>, 'request' | 'requestParam' | 'title'> & Pick<CcsProTableProps<T>, 'showNumber'> & {
|
|
5
|
+
title?: any;
|
|
6
|
+
tableRef?: React.MutableRefObject<TableRefType | undefined>;
|
|
7
|
+
};
|
|
8
|
+
export type TableRefType = {
|
|
9
|
+
onColumnFilter: (e: any) => void;
|
|
10
|
+
onFullScreen: () => void;
|
|
11
|
+
};
|
|
4
12
|
declare const CustomTable: <T extends object = any>(props: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
5
13
|
export default CustomTable;
|
package/es/table/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
2
|
var _excluded = ["onResize", "width"],
|
|
3
|
-
_excluded2 = ["data", "style", "scroll", "
|
|
3
|
+
_excluded2 = ["data", "style", "scroll", "rowKey", "columns", "tableRef", "pagination", "rowSelection", "className"];
|
|
4
4
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -11,7 +11,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
11
11
|
import { useDebounceFn, useEventListener, useUpdate, useUpdateEffect } from 'ahooks';
|
|
12
12
|
import { Table, Tooltip, theme } from 'antd';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
|
-
import { useRef } from 'react';
|
|
14
|
+
import { useImperativeHandle, useRef } from 'react';
|
|
15
15
|
import { Resizable } from 'react-resizable';
|
|
16
16
|
import CcsResult from "../result";
|
|
17
17
|
import "./index.less";
|
|
@@ -50,9 +50,9 @@ var CustomTable = function CustomTable(props) {
|
|
|
50
50
|
var data = props.data,
|
|
51
51
|
style = props.style,
|
|
52
52
|
scroll = props.scroll,
|
|
53
|
-
event$ = props.event$,
|
|
54
53
|
rowKey = props.rowKey,
|
|
55
54
|
columns = props.columns,
|
|
55
|
+
tableRef = props.tableRef,
|
|
56
56
|
pagination = props.pagination,
|
|
57
57
|
rowSelection = props.rowSelection,
|
|
58
58
|
_props$className = props.className,
|
|
@@ -71,29 +71,30 @@ var CustomTable = function CustomTable(props) {
|
|
|
71
71
|
// table 固定表头,内容滚动
|
|
72
72
|
var _useDebounceFn = useDebounceFn(function () {
|
|
73
73
|
if ((scroll === null || scroll === void 0 ? void 0 : scroll.y) === 'auto') {
|
|
74
|
-
var _ref$current, _ref$current2
|
|
75
|
-
var
|
|
74
|
+
var _ref$current, _ref$current2;
|
|
75
|
+
var tableBody = ref.current.getElementsByClassName('ant-table-body')[0];
|
|
76
|
+
if (!tableBody) return;
|
|
77
|
+
var _ref2 = tableBody.getBoundingClientRect() || {
|
|
76
78
|
top: 0
|
|
77
79
|
},
|
|
78
80
|
top = _ref2.top;
|
|
79
81
|
var bodyHeight = document.body.clientHeight;
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
var
|
|
83
|
-
if (thead && thead.length > 0) {
|
|
84
|
-
theadHeight = thead[0].clientHeight;
|
|
85
|
-
}
|
|
86
|
-
var _pagination = (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.getElementsByClassName('ant-pagination');
|
|
82
|
+
var pageHeight = 0,
|
|
83
|
+
footerHeight = 0;
|
|
84
|
+
var _pagination = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getElementsByClassName('ant-pagination');
|
|
87
85
|
if (_pagination && _pagination.length > 0) {
|
|
88
86
|
pageHeight = _pagination[0].clientHeight;
|
|
89
87
|
}
|
|
90
|
-
var
|
|
88
|
+
var footer = (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.getElementsByClassName('ant-table-footer');
|
|
89
|
+
if (footer && footer.length > 0) {
|
|
90
|
+
footerHeight = footer[0].clientHeight;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// 计算table数据区高度
|
|
94
|
+
var scrollHeight = bodyHeight - top - pageHeight - footerHeight - 16;
|
|
91
95
|
|
|
92
96
|
// 固定tbody高度
|
|
93
|
-
|
|
94
|
-
if (tbody && tbody.length > 0 && tbody[0].style) {
|
|
95
|
-
tbody[0].style.height = "".concat(scrollHeight, "px");
|
|
96
|
-
}
|
|
97
|
+
tableBody.style.height = "".concat(scrollHeight, "px");
|
|
97
98
|
}
|
|
98
99
|
}, {
|
|
99
100
|
wait: 500,
|
|
@@ -110,16 +111,16 @@ var CustomTable = function CustomTable(props) {
|
|
|
110
111
|
});
|
|
111
112
|
|
|
112
113
|
// 监听列筛选事件
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
onFixedThead
|
|
122
|
-
}
|
|
114
|
+
useImperativeHandle(tableRef, function () {
|
|
115
|
+
return {
|
|
116
|
+
onColumnFilter: function onColumnFilter(e) {
|
|
117
|
+
columns === null || columns === void 0 ? void 0 : columns.forEach(function (c) {
|
|
118
|
+
c.hidden = e.columnHiddenKeys.includes(c.dataIndex);
|
|
119
|
+
});
|
|
120
|
+
update();
|
|
121
|
+
},
|
|
122
|
+
onFullScreen: onFixedThead
|
|
123
|
+
};
|
|
123
124
|
});
|
|
124
125
|
|
|
125
126
|
// 改变列宽
|
package/package.json
CHANGED