@para-ui/core 4.0.55 → 4.0.56
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/Argv/index.js +1 -1
- package/AutoButton/index.js +14 -11
- package/Button/SplitButton.d.ts +2 -0
- package/Button/index.js +1 -1
- package/ButtonGroup/index.js +1 -1
- package/ComboSelect/index.js +5 -4
- package/CycleSelector/index.js +1 -1
- package/DatePicker/index.js +1 -1
- package/Descriptions/index.js +1 -1
- package/Desktop/index.js +1 -1
- package/Drawer/index.js +1 -1
- package/DynamicMultiBox/index.js +5 -4
- package/FieldForm/FieldFormItem/index.d.ts +1 -0
- package/FieldForm/FormItemInput.d.ts +2 -0
- package/FieldForm/index.js +15 -7
- package/Form/index.js +5 -4
- package/FormItem/index.js +5 -4
- package/FunctionModal/index.js +3 -3
- package/InputCode/index.js +1 -1
- package/Modal/index.js +1 -1
- package/OperateBtn/index.js +1 -1
- package/PageHeader/index.js +1 -1
- package/Pagination/index.js +1 -1
- package/PopConfirm/index.js +1 -1
- package/QuickReply/index.js +1 -1
- package/README.md +7 -0
- package/Selector/index.js +3 -2
- package/Stepper/index.js +1 -1
- package/Switch/index.js +2 -2
- package/Table/index.js +499 -484
- package/Tabs/index.js +1 -1
- package/TimePicker/index.js +1 -1
- package/ToggleButton/index.js +1 -1
- package/Transfer/index.js +1 -1
- package/Upload/index.js +1 -1
- package/_verture/{index-0e866545.js → index-7558fb61.js} +1 -1
- package/_verture/{index-7e60b72c.js → index-cd9ede02.js} +6 -3
- package/_verture/useResizeObserver-960e470e.js +54 -0
- package/index.js +4 -3
- package/package.json +1 -1
- package/umd/Argv.js +1 -1
- package/umd/AutoButton.js +4 -4
- package/umd/Button.js +1 -1
- package/umd/ButtonGroup.js +4 -4
- package/umd/ComboSelect.js +1 -1
- package/umd/CycleSelector.js +1 -1
- package/umd/DatePicker.js +1 -1
- package/umd/Descriptions.js +1 -1
- package/umd/Desktop.js +1 -1
- package/umd/Drawer.js +1 -1
- package/umd/DynamicMultiBox.js +1 -1
- package/umd/FieldForm.js +2 -2
- package/umd/Form.js +1 -1
- package/umd/FormItem.js +1 -1
- package/umd/FunctionModal.js +1 -1
- package/umd/InputCode.js +1 -1
- package/umd/Modal.js +1 -1
- package/umd/OperateBtn.js +4 -4
- package/umd/PageHeader.js +1 -1
- package/umd/Pagination.js +1 -1
- package/umd/PopConfirm.js +1 -1
- package/umd/QuickReply.js +1 -1
- package/umd/Selector.js +1 -1
- package/umd/SelectorPicker.js +1 -1
- package/umd/Table.js +1 -1
- package/umd/Tabs.js +1 -1
- package/umd/TimePicker.js +1 -1
- package/umd/ToggleButton.js +1 -1
- package/umd/Transfer.js +1 -1
- package/umd/Upload.js +1 -1
- /package/_verture/{modalContext-3ed7e7f6.js → modalContext-ce07f2de.js} +0 -0
package/Table/index.js
CHANGED
|
@@ -2,11 +2,13 @@ import { _ as __rest, a as __awaiter } from '../_verture/tslib.es6-55ed4bd2.js';
|
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import { useRef, useState, useEffect, useMemo, useCallback, Fragment as Fragment$1 } from 'react';
|
|
4
4
|
import { Get, Post, DeepClone, GetBrowserClass, Cancel, ArrayToObject, UUID } from '@paraview/lib';
|
|
5
|
+
import { _ as _typeof } from '../_verture/typeof-adeedc13.js';
|
|
6
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-61604a6c.js';
|
|
5
7
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
6
8
|
import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
|
|
7
9
|
import { Popover } from '../Popover/index.js';
|
|
8
10
|
import { Checkbox } from '../Checkbox/index.js';
|
|
9
|
-
import { B as Button } from '../_verture/index-
|
|
11
|
+
import { B as Button } from '../_verture/index-cd9ede02.js';
|
|
10
12
|
import AutoTips from '../AutoTips/index.js';
|
|
11
13
|
import Screen from '@para-ui/icons/ScreenF';
|
|
12
14
|
import SolidArrowUp from '@para-ui/icons/UpTriangleF';
|
|
@@ -14,6 +16,7 @@ import SolidArrowDown from '@para-ui/icons/DownTriangleF';
|
|
|
14
16
|
import Panel from '@para-ui/icons/Panel';
|
|
15
17
|
import { u as useFormatMessage } from '../_verture/useFormatMessage-1fc7c957.js';
|
|
16
18
|
import Empty from '../Empty/index.js';
|
|
19
|
+
import { _ as _defineProperty } from '../_verture/defineProperty-6f62bb2a.js';
|
|
17
20
|
import { d as dist } from '../_verture/index-0f5ee6f7.js';
|
|
18
21
|
import { Radio } from '../Radio/index.js';
|
|
19
22
|
import OperateBtn from '../OperateBtn/index.js';
|
|
@@ -24,6 +27,7 @@ import { Pagination } from '../Pagination/index.js';
|
|
|
24
27
|
import { Loading } from '../Loading/index.js';
|
|
25
28
|
import { u as useGlobalProps } from '../_verture/useGlobalProps-4ae1a007.js';
|
|
26
29
|
import ScrollBar from '../ScrollBar/index.js';
|
|
30
|
+
import { u as useResizeObserver } from '../_verture/useResizeObserver-960e470e.js';
|
|
27
31
|
import '../Tooltip/index.js';
|
|
28
32
|
import 'rc-tooltip';
|
|
29
33
|
import 'rc-tooltip/lib/placements';
|
|
@@ -62,25 +66,23 @@ import '@para-ui/icons/DoubleRight';
|
|
|
62
66
|
* 发送请求
|
|
63
67
|
* @param obj {ReqProps} 请求信息
|
|
64
68
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
data
|
|
71
|
-
} = obj,
|
|
69
|
+
var requestFunc = function requestFunc(obj) {
|
|
70
|
+
var method = obj.method,
|
|
71
|
+
url = obj.url,
|
|
72
|
+
ctx = obj.ctx,
|
|
73
|
+
data = obj.data,
|
|
72
74
|
otherProps = __rest(obj, ["method", "url", "ctx", "data"]);
|
|
73
75
|
if (method === 'Get') {
|
|
74
76
|
return Get(Object.assign({
|
|
75
77
|
url: url,
|
|
76
|
-
ctx
|
|
78
|
+
ctx: ctx
|
|
77
79
|
}, otherProps));
|
|
78
80
|
}
|
|
79
81
|
if (method === 'Post') {
|
|
80
82
|
return Post(Object.assign({
|
|
81
83
|
url: url,
|
|
82
|
-
ctx,
|
|
83
|
-
data
|
|
84
|
+
ctx: ctx,
|
|
85
|
+
data: data
|
|
84
86
|
}, otherProps));
|
|
85
87
|
}
|
|
86
88
|
};
|
|
@@ -89,23 +91,23 @@ const requestFunc = obj => {
|
|
|
89
91
|
* @param obj {ReqProps} 请求信息
|
|
90
92
|
* @return string get请求地址参数
|
|
91
93
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
for (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (
|
|
94
|
+
var handGetReqParams = function handGetReqParams(obj) {
|
|
95
|
+
var str = obj.url;
|
|
96
|
+
var params = obj.data || {};
|
|
97
|
+
var arrKey = Object.keys(params);
|
|
98
|
+
var paramsArr = [];
|
|
99
|
+
for (var i = 0, l = arrKey.length; i < l; i++) {
|
|
100
|
+
var key = arrKey[i];
|
|
101
|
+
var val = params[key];
|
|
102
|
+
if (_typeof(val) === 'object') {
|
|
101
103
|
val = encodeURIComponent(JSON.stringify(val));
|
|
102
104
|
} else {
|
|
103
105
|
val = encodeURIComponent(val);
|
|
104
106
|
}
|
|
105
107
|
paramsArr.push("".concat(key, "=").concat(val));
|
|
106
108
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
var paramsStr = paramsArr.join('&');
|
|
110
|
+
var pos = str.indexOf('?');
|
|
109
111
|
if (pos !== -1) {
|
|
110
112
|
str += (pos === str.length - 1 ? '' : '&') + paramsStr;
|
|
111
113
|
} else {
|
|
@@ -116,9 +118,9 @@ const handGetReqParams = obj => {
|
|
|
116
118
|
/**
|
|
117
119
|
* 提取字符串里面的数字
|
|
118
120
|
* */
|
|
119
|
-
|
|
121
|
+
var getStringInNumber = function getStringInNumber(str) {
|
|
120
122
|
if (typeof str === 'number') return str;
|
|
121
|
-
|
|
123
|
+
var strHand = str.replace(/[^0-9$]/gi, '');
|
|
122
124
|
return Number(strHand);
|
|
123
125
|
};
|
|
124
126
|
/**
|
|
@@ -126,23 +128,23 @@ const getStringInNumber = str => {
|
|
|
126
128
|
* @param key {string} 键值
|
|
127
129
|
* @param num {number} 过期天数
|
|
128
130
|
* */
|
|
129
|
-
|
|
131
|
+
var getLocalStorageSelectHead = function getLocalStorageSelectHead(key, num) {
|
|
130
132
|
//debugger
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
for (
|
|
135
|
-
|
|
136
|
-
|
|
133
|
+
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
134
|
+
var headJson = JSON.parse(headJsonStr);
|
|
135
|
+
var headJsonArr = Object.keys(headJson);
|
|
136
|
+
for (var i = 0, l = headJsonArr.length; i < l; i++) {
|
|
137
|
+
var keyStr = headJsonArr[i];
|
|
138
|
+
var item = headJson[i];
|
|
137
139
|
if (!item) continue;
|
|
138
|
-
|
|
139
|
-
|
|
140
|
+
var newDate = new Date().getTime(); // 当前时间
|
|
141
|
+
var endTime = item.storageTime + item.validity; // 过期时间
|
|
140
142
|
// 过期时间 小于 当前时间, 说明已经过期了, 删除当前表格列数据
|
|
141
143
|
if (endTime < newDate) {
|
|
142
144
|
delete headJson[keyStr];
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
|
-
|
|
147
|
+
var headJsonItem = headJson[key];
|
|
146
148
|
// 重置过期时间
|
|
147
149
|
if (headJsonItem) {
|
|
148
150
|
headJsonItem.storageTime = new Date().getTime();
|
|
@@ -155,9 +157,9 @@ const getLocalStorageSelectHead = (key, num) => {
|
|
|
155
157
|
* @param key {string} 键值
|
|
156
158
|
* @param val {HeadLocalStorageItem} 保存值
|
|
157
159
|
* */
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
160
|
+
var setLocalStorageSelectHead = function setLocalStorageSelectHead(key, val) {
|
|
161
|
+
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
162
|
+
var headJson = JSON.parse(headJsonStr);
|
|
161
163
|
headJson[key] = val;
|
|
162
164
|
window.localStorage.setItem('_paraui_table_head', JSON.stringify(headJson));
|
|
163
165
|
};
|
|
@@ -166,8 +168,8 @@ const setLocalStorageSelectHead = (key, val) => {
|
|
|
166
168
|
* @param el 当前元素
|
|
167
169
|
* @param selector 查找元素class
|
|
168
170
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
|
+
var closest = function closest(el, selector) {
|
|
172
|
+
var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
|
|
171
173
|
while (el) {
|
|
172
174
|
if (matchesSelector.call(el, selector)) {
|
|
173
175
|
break;
|
|
@@ -363,50 +365,70 @@ var zh = {
|
|
|
363
365
|
};
|
|
364
366
|
|
|
365
367
|
var localeJson = {
|
|
366
|
-
zh,
|
|
367
|
-
en
|
|
368
|
+
zh: zh,
|
|
369
|
+
en: en
|
|
368
370
|
};
|
|
369
371
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
headData = [],
|
|
373
|
-
sortTable,
|
|
374
|
-
filter,
|
|
375
|
-
expandable,
|
|
376
|
-
check,
|
|
377
|
-
radio,
|
|
378
|
-
onRequestSort,
|
|
379
|
-
orderFieldArr =
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
372
|
+
var TableHead$1 = function TableHead(props) {
|
|
373
|
+
var _props$headData = props.headData,
|
|
374
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
375
|
+
sortTable = props.sortTable,
|
|
376
|
+
filter = props.filter,
|
|
377
|
+
expandable = props.expandable,
|
|
378
|
+
check = props.check,
|
|
379
|
+
radio = props.radio,
|
|
380
|
+
onRequestSort = props.onRequestSort,
|
|
381
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
382
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
383
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
384
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
385
|
+
selectAll = props.selectAll,
|
|
386
|
+
selectStatus = props.selectStatus,
|
|
387
|
+
align = props.align,
|
|
388
|
+
_props$showList = props.showList,
|
|
389
|
+
showList = _props$showList === void 0 ? [] : _props$showList,
|
|
390
|
+
changeShowList = props.changeShowList,
|
|
391
|
+
selectFilter = props.selectFilter,
|
|
392
|
+
changeFilter = props.changeFilter,
|
|
393
|
+
operate = props.operate,
|
|
394
|
+
showColumns = props.showColumns,
|
|
395
|
+
fixedTable = props.fixedTable,
|
|
396
|
+
fixedColumn = props.fixedColumn,
|
|
397
|
+
posFixed = props.posFixed,
|
|
398
|
+
beyondText = props.beyondText,
|
|
399
|
+
lineWidth = props.lineWidth,
|
|
400
|
+
dragColumn = props.dragColumn,
|
|
401
|
+
dragRow = props.dragRow,
|
|
402
|
+
changeColumnWidth = props.changeColumnWidth,
|
|
403
|
+
headDataConfig = props.headDataConfig,
|
|
404
|
+
getPopupContainer = props.getPopupContainer,
|
|
405
|
+
tipMaxWidth = props.tipMaxWidth;
|
|
406
|
+
var _useState = useState(false),
|
|
407
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
408
|
+
indeterminate = _useState2[0],
|
|
409
|
+
setIndeterminate = _useState2[1]; // 半选中
|
|
410
|
+
var _useState3 = useState(false),
|
|
411
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
412
|
+
checked = _useState4[0],
|
|
413
|
+
setChecked = _useState4[1]; // 选中
|
|
414
|
+
var _useState5 = useState(null),
|
|
415
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
416
|
+
anchorElColums = _useState6[0],
|
|
417
|
+
setAnchorElColums = _useState6[1]; // 显示列定位元素
|
|
418
|
+
var _useState7 = useState({}),
|
|
419
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
420
|
+
headDataJson = _useState8[0],
|
|
421
|
+
setHeadDataJson = _useState8[1]; // 显示列json
|
|
422
|
+
var _useState9 = useState({}),
|
|
423
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
424
|
+
filterHead = _useState10[0],
|
|
425
|
+
setFilterHead = _useState10[1]; // 过滤项当前表头数据
|
|
426
|
+
var _useState11 = useState({}),
|
|
427
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
428
|
+
selectFilterCom = _useState12[0],
|
|
429
|
+
setSelectFilterCom = _useState12[1]; // 过滤项当前选中值
|
|
430
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
431
|
+
useEffect(function () {
|
|
410
432
|
// 全选
|
|
411
433
|
if (selectStatus === 'all') {
|
|
412
434
|
setChecked(true);
|
|
@@ -423,17 +445,17 @@ const TableHead$1 = props => {
|
|
|
423
445
|
setIndeterminate(false);
|
|
424
446
|
}
|
|
425
447
|
}, [selectStatus]);
|
|
426
|
-
useEffect(()
|
|
448
|
+
useEffect(function () {
|
|
427
449
|
if (headData) {
|
|
428
|
-
|
|
429
|
-
for (
|
|
430
|
-
|
|
450
|
+
var json = [];
|
|
451
|
+
for (var i = 0, l = headData.length; i < l; i++) {
|
|
452
|
+
var item = headData[i];
|
|
431
453
|
json[item.name] = item;
|
|
432
454
|
}
|
|
433
455
|
setHeadDataJson(json);
|
|
434
456
|
}
|
|
435
457
|
}, [headData]);
|
|
436
|
-
useEffect(()
|
|
458
|
+
useEffect(function () {
|
|
437
459
|
if (selectFilter) setSelectFilterCom(DeepClone(selectFilter));
|
|
438
460
|
}, [selectFilter]);
|
|
439
461
|
/**
|
|
@@ -441,28 +463,30 @@ const TableHead$1 = props => {
|
|
|
441
463
|
* @param name 排序列
|
|
442
464
|
* @param event 当前排序元素
|
|
443
465
|
*/
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
466
|
+
var createSortHandler = function createSortHandler(name, item) {
|
|
467
|
+
return function (event) {
|
|
468
|
+
// 不存在排序,不触发事件
|
|
469
|
+
if (!(sortTable && item.name && item.sort !== false)) return;
|
|
470
|
+
if (onRequestSort) onRequestSort(event, name);
|
|
471
|
+
};
|
|
448
472
|
};
|
|
449
473
|
/**
|
|
450
474
|
* 全选 / 全不选
|
|
451
475
|
* @param event 操作元素
|
|
452
476
|
* @param bol 选中 / 不选中
|
|
453
477
|
*/
|
|
454
|
-
|
|
478
|
+
var onSelectAll = function onSelectAll(event, bol) {
|
|
455
479
|
if (selectAll) selectAll(event, bol);
|
|
456
480
|
};
|
|
457
481
|
/**
|
|
458
482
|
* 点击显示选择列
|
|
459
483
|
* @param event 点击元素
|
|
460
484
|
*/
|
|
461
|
-
|
|
485
|
+
var clickShowColums = function clickShowColums(event) {
|
|
462
486
|
setAnchorElColums(event.currentTarget);
|
|
463
487
|
};
|
|
464
488
|
// 点击隐藏选择列
|
|
465
|
-
|
|
489
|
+
var clickHideColums = function clickHideColums(bol) {
|
|
466
490
|
if (bol) return;
|
|
467
491
|
setAnchorElColums(null);
|
|
468
492
|
};
|
|
@@ -470,27 +494,29 @@ const TableHead$1 = props => {
|
|
|
470
494
|
* 点击显示列 列表
|
|
471
495
|
* @param item 详细
|
|
472
496
|
*/
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
497
|
+
var clickColumsList = function clickColumsList(item) {
|
|
498
|
+
return function () {
|
|
499
|
+
if (item.disabledSelection) return;
|
|
500
|
+
var name = item.name;
|
|
501
|
+
var itemHead = headDataJson[name];
|
|
502
|
+
if (itemHead) {
|
|
503
|
+
// 取消勾选
|
|
504
|
+
delete headDataJson[name];
|
|
505
|
+
var arr = Object.keys(headDataJson);
|
|
506
|
+
var arr1 = [];
|
|
507
|
+
for (var i = 0, l = arr.length; i < l; i++) {
|
|
508
|
+
var _name = arr[i];
|
|
509
|
+
arr1.push(headDataJson[_name]);
|
|
510
|
+
}
|
|
511
|
+
changeShowList && changeShowList(arr1, false, item);
|
|
512
|
+
} else {
|
|
513
|
+
headData.push(item);
|
|
514
|
+
changeShowList && changeShowList(headData, false, item);
|
|
485
515
|
}
|
|
486
|
-
|
|
487
|
-
} else {
|
|
488
|
-
headData.push(item);
|
|
489
|
-
changeShowList && changeShowList(headData, false, item);
|
|
490
|
-
}
|
|
516
|
+
};
|
|
491
517
|
};
|
|
492
518
|
// 重置显示列
|
|
493
|
-
|
|
519
|
+
var resetShowList = function resetShowList() {
|
|
494
520
|
changeShowList && changeShowList(headData, true);
|
|
495
521
|
};
|
|
496
522
|
/**
|
|
@@ -498,63 +524,69 @@ const TableHead$1 = props => {
|
|
|
498
524
|
* @param headCell 当前列信息
|
|
499
525
|
* @param event 元素
|
|
500
526
|
*/
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
527
|
+
var clickShowFilter = function clickShowFilter(headCell) {
|
|
528
|
+
return function (event) {
|
|
529
|
+
setFilterHead(headCell);
|
|
530
|
+
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
531
|
+
};
|
|
504
532
|
};
|
|
505
533
|
// 点击隐藏过滤
|
|
506
|
-
|
|
534
|
+
var clickHideFilter = function clickHideFilter(bol) {
|
|
507
535
|
if (bol) return;
|
|
508
536
|
setFilterHead({});
|
|
509
537
|
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
510
538
|
};
|
|
511
539
|
// 点击过滤
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
const filterRadio = filterHead.filterRadio;
|
|
524
|
-
if (filterRadio) {
|
|
525
|
-
// 过滤单个
|
|
526
|
-
const num = filterValue.indexOf(item.value);
|
|
527
|
-
if (num !== -1) {
|
|
528
|
-
filterValue = [filterValue[num]];
|
|
540
|
+
var clickFilter = function clickFilter(item) {
|
|
541
|
+
return function () {
|
|
542
|
+
var name = filterHead.name;
|
|
543
|
+
var filterValue = DeepClone(selectFilterCom[name] || []);
|
|
544
|
+
var index = filterValue.indexOf(item.value);
|
|
545
|
+
if (index !== -1) {
|
|
546
|
+
// 勾选 -> 不勾选
|
|
547
|
+
filterValue.splice(index, 1);
|
|
548
|
+
} else {
|
|
549
|
+
// 不勾选 -> 勾选
|
|
550
|
+
filterValue.push(item.value);
|
|
529
551
|
}
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
552
|
+
var filterRadio = filterHead.filterRadio;
|
|
553
|
+
if (filterRadio) {
|
|
554
|
+
// 过滤单个
|
|
555
|
+
var num = filterValue.indexOf(item.value);
|
|
556
|
+
if (num !== -1) {
|
|
557
|
+
filterValue = [filterValue[num]];
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
selectFilterCom[name] = filterValue;
|
|
561
|
+
setSelectFilterCom(Object.assign({}, selectFilterCom));
|
|
562
|
+
};
|
|
533
563
|
};
|
|
534
564
|
/**
|
|
535
565
|
* 重置 / 确定过滤
|
|
536
566
|
* @param type {'reset' | 'confirm'} 重置 / 确定过滤
|
|
537
567
|
*/
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
568
|
+
var filterFunc = function filterFunc(type) {
|
|
569
|
+
return function () {
|
|
570
|
+
if (type === 'confirm') {
|
|
571
|
+
// 确定
|
|
572
|
+
changeFilter && changeFilter(Object.assign({}, selectFilterCom));
|
|
573
|
+
setFilterHead({});
|
|
574
|
+
} else {
|
|
575
|
+
// 重置
|
|
576
|
+
var json = DeepClone(selectFilterCom);
|
|
577
|
+
delete json[filterHead.name];
|
|
578
|
+
setSelectFilterCom(json);
|
|
579
|
+
changeFilter && changeFilter(Object.assign({}, json));
|
|
580
|
+
setFilterHead({});
|
|
581
|
+
}
|
|
582
|
+
};
|
|
551
583
|
};
|
|
552
584
|
/**
|
|
553
585
|
* 自定义过滤确定
|
|
554
586
|
* @param val {[name: string]: any[]}
|
|
555
587
|
* */
|
|
556
|
-
|
|
557
|
-
|
|
588
|
+
var filterCustomConfirm = function filterCustomConfirm() {
|
|
589
|
+
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
558
590
|
changeFilter && changeFilter(Object.assign({}, val));
|
|
559
591
|
setFilterHead({});
|
|
560
592
|
};
|
|
@@ -562,12 +594,12 @@ const TableHead$1 = props => {
|
|
|
562
594
|
* 处理TableCell
|
|
563
595
|
* @param item 当前列信息
|
|
564
596
|
*/
|
|
565
|
-
|
|
566
|
-
|
|
597
|
+
var handCellClass = function handCellClass(item) {
|
|
598
|
+
var str = 'table-header-box';
|
|
567
599
|
// 排序
|
|
568
600
|
if (sortTable && item.name && item.sort !== false) {
|
|
569
601
|
str += ' table-header-box-sort';
|
|
570
|
-
|
|
602
|
+
var index = orderFieldArr.indexOf(item.name);
|
|
571
603
|
if (index !== -1) {
|
|
572
604
|
// 升序
|
|
573
605
|
if (orderTypeArr[index] === 'asc') {
|
|
@@ -586,10 +618,10 @@ const TableHead$1 = props => {
|
|
|
586
618
|
return str;
|
|
587
619
|
};
|
|
588
620
|
// 复选框memo
|
|
589
|
-
|
|
621
|
+
var TableCheckMemo = useMemo(function () {
|
|
590
622
|
if (check) {
|
|
591
|
-
|
|
592
|
-
|
|
623
|
+
var handCls = function handCls() {
|
|
624
|
+
var str = 'table-checkbox table-head-btn';
|
|
593
625
|
if (fixedColumn) {
|
|
594
626
|
str += ' table-fixed-dom-left';
|
|
595
627
|
// 左边没有定位,且没有单选,没有嵌套表格
|
|
@@ -617,10 +649,10 @@ const TableHead$1 = props => {
|
|
|
617
649
|
}
|
|
618
650
|
}, [check, indeterminate, checked, selectAll, posFixed, radio, expandable, fixedColumn]);
|
|
619
651
|
// 单选框memo
|
|
620
|
-
|
|
652
|
+
var TableRadioMemo = useMemo(function () {
|
|
621
653
|
if (radio) {
|
|
622
|
-
|
|
623
|
-
|
|
654
|
+
var handCls = function handCls() {
|
|
655
|
+
var str = 'table-radio table-head-btn';
|
|
624
656
|
if (fixedColumn) {
|
|
625
657
|
str += ' table-fixed-dom-left';
|
|
626
658
|
// 左边没有定位,没有嵌套表格
|
|
@@ -642,10 +674,10 @@ const TableHead$1 = props => {
|
|
|
642
674
|
}
|
|
643
675
|
}, [radio, posFixed, expandable, fixedColumn]);
|
|
644
676
|
// 嵌套表格memo
|
|
645
|
-
|
|
677
|
+
var TableExpandableMemo = useMemo(function () {
|
|
646
678
|
if (expandable) {
|
|
647
|
-
|
|
648
|
-
|
|
679
|
+
var handCls = function handCls() {
|
|
680
|
+
var str = 'table-expandable table-head-btn';
|
|
649
681
|
if (fixedColumn) {
|
|
650
682
|
str += ' table-fixed-dom-left';
|
|
651
683
|
// 左边没有定位,没有嵌套表格
|
|
@@ -667,21 +699,21 @@ const TableHead$1 = props => {
|
|
|
667
699
|
}
|
|
668
700
|
}, [expandable, posFixed, fixedColumn]);
|
|
669
701
|
// 过滤弹窗内容
|
|
670
|
-
|
|
671
|
-
|
|
702
|
+
var filterPopoverContent = function filterPopoverContent() {
|
|
703
|
+
var name = filterHead.name;
|
|
672
704
|
if (!name) return;
|
|
673
|
-
|
|
705
|
+
var filterValue = selectFilterCom[name] || [];
|
|
674
706
|
if (filterHead.filterRender) {
|
|
675
707
|
// 自定义渲染过滤
|
|
676
708
|
return filterHead.filterRender({
|
|
677
|
-
filterValue,
|
|
709
|
+
filterValue: filterValue,
|
|
678
710
|
selectFilter: selectFilterCom,
|
|
679
|
-
filterHead,
|
|
711
|
+
filterHead: filterHead,
|
|
680
712
|
setFilter: filterCustomConfirm
|
|
681
713
|
});
|
|
682
714
|
}
|
|
683
|
-
|
|
684
|
-
|
|
715
|
+
var arr = filterHead.enums || [];
|
|
716
|
+
var str = 'filter-select';
|
|
685
717
|
if (arr.length === 0) str += ' filter-select-none';
|
|
686
718
|
return jsx("div", Object.assign({
|
|
687
719
|
className: str
|
|
@@ -696,8 +728,8 @@ const TableHead$1 = props => {
|
|
|
696
728
|
children: [jsx("div", Object.assign({
|
|
697
729
|
className: "filter-select-box"
|
|
698
730
|
}, {
|
|
699
|
-
children: arr.map((item, index)
|
|
700
|
-
|
|
731
|
+
children: arr.map(function (item, index) {
|
|
732
|
+
var checked = filterValue.indexOf(item.value) !== -1;
|
|
701
733
|
return jsxs("div", Object.assign({
|
|
702
734
|
onClick: clickFilter(item),
|
|
703
735
|
className: checked ? 'filter-select-item filter-select-item-select' : 'filter-select-item'
|
|
@@ -736,28 +768,30 @@ const TableHead$1 = props => {
|
|
|
736
768
|
}));
|
|
737
769
|
};
|
|
738
770
|
// 表格列拖拽放下
|
|
739
|
-
|
|
740
|
-
|
|
771
|
+
var onDragDown = function onDragDown(headCell) {
|
|
772
|
+
return function (result) {
|
|
773
|
+
changeColumnWidth && changeColumnWidth(headCell, result);
|
|
774
|
+
};
|
|
741
775
|
};
|
|
742
776
|
// 获取宽度
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
777
|
+
var getWidth = function getWidth(item) {
|
|
778
|
+
var w = item.width || '';
|
|
779
|
+
var name = item.name || '';
|
|
780
|
+
var wDrag = headDataConfig[name] && headDataConfig[name].width;
|
|
747
781
|
if (wDrag) w = "".concat(wDrag, "px");
|
|
748
782
|
return w;
|
|
749
783
|
};
|
|
750
784
|
// 内容列memo
|
|
751
|
-
|
|
785
|
+
var TableContentMemo = useMemo(function () {
|
|
752
786
|
// 处理过滤的class
|
|
753
|
-
|
|
754
|
-
|
|
787
|
+
var handFilterClass = function handFilterClass(item) {
|
|
788
|
+
var str = 'table-header-filter';
|
|
755
789
|
if (filterHead.name === item.name) str += ' table-header-filter-show';
|
|
756
790
|
if (item.name && selectFilterCom[item.name] && selectFilterCom[item.name].length > 0) str += ' table-header-filter-select';
|
|
757
791
|
return str;
|
|
758
792
|
};
|
|
759
|
-
|
|
760
|
-
|
|
793
|
+
var handCls = function handCls(item) {
|
|
794
|
+
var str = '';
|
|
761
795
|
if (item.className) str += item.className;
|
|
762
796
|
if (fixedColumn && item.fixed) {
|
|
763
797
|
str += " table-fixed-dom-".concat(item.fixed);
|
|
@@ -772,8 +806,8 @@ const TableHead$1 = props => {
|
|
|
772
806
|
}
|
|
773
807
|
return str;
|
|
774
808
|
};
|
|
775
|
-
|
|
776
|
-
|
|
809
|
+
var handStyle = function handStyle(item) {
|
|
810
|
+
var json = {
|
|
777
811
|
width: getWidth(item)
|
|
778
812
|
};
|
|
779
813
|
if (fixedColumn && item.fixed && item.width) {
|
|
@@ -787,13 +821,13 @@ const TableHead$1 = props => {
|
|
|
787
821
|
return Object.assign(Object.assign({}, json), item.style);
|
|
788
822
|
};
|
|
789
823
|
// 处理拖拽
|
|
790
|
-
|
|
824
|
+
var handDrag = function handDrag(item) {
|
|
791
825
|
if (item.name === 'table-serial-number') return false; // 序号不拖拽
|
|
792
826
|
if (dragColumn && item.drag !== false) return true;
|
|
793
827
|
return false;
|
|
794
828
|
};
|
|
795
|
-
return headData.map((headCell, index)
|
|
796
|
-
|
|
829
|
+
return headData.map(function (headCell, index) {
|
|
830
|
+
var str = "".concat($prefixCls, "-filter-popover ").concat($prefixCls, "-scrollbar-small");
|
|
797
831
|
if (!headCell.filterRender) str += " ".concat($prefixCls, "-filter-popover-default");
|
|
798
832
|
return jsx(ThElement, Object.assign({
|
|
799
833
|
className: handCls(headCell),
|
|
@@ -813,7 +847,9 @@ const TableHead$1 = props => {
|
|
|
813
847
|
content: headCell.name !== undefined && filterHead.name === headCell.name && filterPopoverContent(),
|
|
814
848
|
onVisibleChange: clickHideFilter,
|
|
815
849
|
overlayClassName: str,
|
|
816
|
-
getPopupContainer: getPopupContainer ? getPopupContainer : ()
|
|
850
|
+
getPopupContainer: getPopupContainer ? getPopupContainer : function () {
|
|
851
|
+
return document.body;
|
|
852
|
+
},
|
|
817
853
|
maxWidth: headCell.filterMaxWidth
|
|
818
854
|
}, {
|
|
819
855
|
children: jsxs("div", Object.assign({
|
|
@@ -858,10 +894,10 @@ const TableHead$1 = props => {
|
|
|
858
894
|
});
|
|
859
895
|
}, [headData, sortTable, filter, orderFieldArr, orderTypeArr, align, filterHead, selectFilterCom, beyondText, selectFilter, fixedColumn, lineWidth, dragColumn, changeColumnWidth, headDataConfig, getPopupContainer, tipMaxWidth]);
|
|
860
896
|
// 操作栏memo
|
|
861
|
-
|
|
897
|
+
var TableOperateMemo = useMemo(function () {
|
|
862
898
|
if (operate) {
|
|
863
|
-
|
|
864
|
-
|
|
899
|
+
var handCls = function handCls() {
|
|
900
|
+
var str = 'table-operate';
|
|
865
901
|
if (operate.operateBtnRender) str += ' table-operate-small';
|
|
866
902
|
if (showColumns === false) str += ' table-operate-not-columns';
|
|
867
903
|
if (dragRow) str += ' table-operate-drag-row';
|
|
@@ -874,8 +910,8 @@ const TableHead$1 = props => {
|
|
|
874
910
|
}
|
|
875
911
|
return str;
|
|
876
912
|
};
|
|
877
|
-
|
|
878
|
-
|
|
913
|
+
var handStyle = function handStyle() {
|
|
914
|
+
var json = {
|
|
879
915
|
width: operate.width
|
|
880
916
|
};
|
|
881
917
|
if (fixedColumn) {
|
|
@@ -911,16 +947,16 @@ const TableHead$1 = props => {
|
|
|
911
947
|
}
|
|
912
948
|
}, [operate, align, posFixed, showColumns, posFixed, beyondText, fixedColumn, tipMaxWidth, dragRow]);
|
|
913
949
|
// 显示列弹窗内容
|
|
914
|
-
|
|
950
|
+
var showListContent = function showListContent() {
|
|
915
951
|
return jsxs("div", Object.assign({
|
|
916
952
|
className: "show-colums-select"
|
|
917
953
|
}, {
|
|
918
954
|
children: [jsx("div", Object.assign({
|
|
919
955
|
className: "show-colums-select-box"
|
|
920
956
|
}, {
|
|
921
|
-
children: showList.map((item, index)
|
|
922
|
-
|
|
923
|
-
|
|
957
|
+
children: showList.map(function (item, index) {
|
|
958
|
+
var checked = Boolean(headDataJson[item.name]);
|
|
959
|
+
var str = 'show-colums-select-item';
|
|
924
960
|
if (checked) str += ' show-colums-select-item-select';
|
|
925
961
|
if (item.disabledSelection) str += ' show-colums-select-item-disabled';
|
|
926
962
|
return jsxs("div", Object.assign({
|
|
@@ -954,9 +990,9 @@ const TableHead$1 = props => {
|
|
|
954
990
|
}));
|
|
955
991
|
};
|
|
956
992
|
// 显示列memo
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
993
|
+
var TableShowList = useMemo(function () {
|
|
994
|
+
var handCls = function handCls() {
|
|
995
|
+
var str = 'show-colums table-fixed-dom-right';
|
|
960
996
|
// 没有固定列参数 或者 没有操作栏且没有右侧固定列
|
|
961
997
|
if (!fixedColumn || !operate && !(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
962
998
|
str += ' table-fixed-dom-right-first';
|
|
@@ -969,7 +1005,9 @@ const TableHead$1 = props => {
|
|
|
969
1005
|
content: showListContent(),
|
|
970
1006
|
onVisibleChange: clickHideColums,
|
|
971
1007
|
overlayClassName: "".concat($prefixCls, "-table-show-colums-popover ").concat($prefixCls, "-scrollbar-small"),
|
|
972
|
-
getPopupContainer: getPopupContainer ? getPopupContainer : ()
|
|
1008
|
+
getPopupContainer: getPopupContainer ? getPopupContainer : function () {
|
|
1009
|
+
return document.body;
|
|
1010
|
+
}
|
|
973
1011
|
}, {
|
|
974
1012
|
children: jsx(ThElement, Object.assign({
|
|
975
1013
|
align: "center",
|
|
@@ -986,10 +1024,10 @@ const TableHead$1 = props => {
|
|
|
986
1024
|
}));
|
|
987
1025
|
}, [showColumns, posFixed, operate, anchorElColums, showList, headDataJson, getPopupContainer, tipMaxWidth]);
|
|
988
1026
|
// 拖动行
|
|
989
|
-
|
|
1027
|
+
var TbaleDragRow = useMemo(function () {
|
|
990
1028
|
if (!dragRow || operate || showColumns === 'inside') return null;
|
|
991
|
-
|
|
992
|
-
|
|
1029
|
+
var handCls = function handCls() {
|
|
1030
|
+
var str = 'drag-row table-fixed-dom-right';
|
|
993
1031
|
// 没有固定列参数 或者 没有操作栏且没有右侧固定列
|
|
994
1032
|
if (!fixedColumn || !operate && !(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
995
1033
|
str += ' table-fixed-dom-right-first';
|
|
@@ -1003,8 +1041,8 @@ const TableHead$1 = props => {
|
|
|
1003
1041
|
});
|
|
1004
1042
|
}, [operate, showColumns, fixedColumn, posFixed, dragRow]);
|
|
1005
1043
|
// 处理class
|
|
1006
|
-
|
|
1007
|
-
|
|
1044
|
+
var handClass = function handClass() {
|
|
1045
|
+
var str = 'table-head';
|
|
1008
1046
|
if (showColumns === 'inside') str += ' table-head-inside';
|
|
1009
1047
|
if (!fixedTable) str += ' table-head-scroll'; // 防止长度过长
|
|
1010
1048
|
// 没有 复选框,单选框,展开 按钮
|
|
@@ -1082,76 +1120,100 @@ var TdElement = function TdElement(props) {
|
|
|
1082
1120
|
}));
|
|
1083
1121
|
};
|
|
1084
1122
|
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
rowData = [],
|
|
1090
|
-
rowKey =
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1123
|
+
var TableBody = function TableBody(props) {
|
|
1124
|
+
var url = props.url,
|
|
1125
|
+
emptyProps = props.emptyProps,
|
|
1126
|
+
_props$rowData = props.rowData,
|
|
1127
|
+
rowData = _props$rowData === void 0 ? [] : _props$rowData,
|
|
1128
|
+
_props$rowKey = props.rowKey,
|
|
1129
|
+
rowKey = _props$rowKey === void 0 ? 'key' : _props$rowKey,
|
|
1130
|
+
check = props.check,
|
|
1131
|
+
radio = props.radio,
|
|
1132
|
+
tableCell = props.tableCell,
|
|
1133
|
+
expandable = props.expandable,
|
|
1134
|
+
_props$headData = props.headData,
|
|
1135
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
1136
|
+
_props$disabledJson = props.disabledJson,
|
|
1137
|
+
disabledJson = _props$disabledJson === void 0 ? {} : _props$disabledJson,
|
|
1138
|
+
disabledArrStatus = props.disabledArrStatus,
|
|
1139
|
+
_props$checkJson = props.checkJson,
|
|
1140
|
+
checkJson = _props$checkJson === void 0 ? {} : _props$checkJson,
|
|
1141
|
+
radioValue = props.radioValue,
|
|
1142
|
+
selectCheck = props.selectCheck,
|
|
1143
|
+
selectRadio = props.selectRadio,
|
|
1144
|
+
align = props.align,
|
|
1145
|
+
operate = props.operate,
|
|
1146
|
+
showColumns = props.showColumns,
|
|
1147
|
+
fixedTable = props.fixedTable,
|
|
1148
|
+
fixedColumn = props.fixedColumn,
|
|
1149
|
+
formatter = props.formatter,
|
|
1150
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
1151
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
1152
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
1153
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
1154
|
+
sortTable = props.sortTable,
|
|
1155
|
+
loadState = props.loadState,
|
|
1156
|
+
loadMore = props.loadMore,
|
|
1157
|
+
loadMoreRender = props.loadMoreRender,
|
|
1158
|
+
onClickMore = props.onClickMore,
|
|
1159
|
+
total = props.total,
|
|
1160
|
+
page = props.page,
|
|
1161
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1162
|
+
changePage = props.changePage,
|
|
1163
|
+
loadMoreUrl = props.loadMoreUrl,
|
|
1164
|
+
_props$expandMultiple = props.expandMultiple,
|
|
1165
|
+
expandMultiple = _props$expandMultiple === void 0 ? false : _props$expandMultiple,
|
|
1166
|
+
_props$expandValue = props.expandValue,
|
|
1167
|
+
expandValue = _props$expandValue === void 0 ? [] : _props$expandValue,
|
|
1168
|
+
_props$disabledExpand = props.disabledExpand,
|
|
1169
|
+
disabledExpand = _props$disabledExpand === void 0 ? [] : _props$disabledExpand,
|
|
1170
|
+
_props$defaultExpandA = props.defaultExpandAllRows,
|
|
1171
|
+
defaultExpandAllRows = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
1172
|
+
onExpand = props.onExpand,
|
|
1173
|
+
_onRefresh = props.onRefresh,
|
|
1174
|
+
posFixed = props.posFixed,
|
|
1175
|
+
beyondText = props.beyondText,
|
|
1176
|
+
onClickRow = props.onClickRow,
|
|
1177
|
+
rowClassMapping = props.rowClassMapping,
|
|
1178
|
+
tipMaxWidth = props.tipMaxWidth,
|
|
1179
|
+
lineHeight = props.lineHeight,
|
|
1180
|
+
dragRow = props.dragRow,
|
|
1181
|
+
onDragRow = props.onDragRow,
|
|
1182
|
+
virtualIndex = props.virtualIndex,
|
|
1183
|
+
virtual = props.virtual;
|
|
1184
|
+
var _useState = useState(0),
|
|
1185
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1186
|
+
expandableColSpan = _useState2[0],
|
|
1187
|
+
setExpandableColSpan = _useState2[1]; // 嵌套表格合并列数
|
|
1188
|
+
var _useState3 = useState({}),
|
|
1189
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1190
|
+
expandableRow = _useState4[0],
|
|
1191
|
+
setExpandableRow = _useState4[1]; // 当前哪行展开表格嵌套
|
|
1192
|
+
var _useState5 = useState(true),
|
|
1193
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1194
|
+
showMoreBtn = _useState6[0],
|
|
1195
|
+
setShowMoreBtn = _useState6[1]; // 加载更多
|
|
1196
|
+
var _useState7 = useState({}),
|
|
1197
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1198
|
+
disabledExpandJson = _useState8[0],
|
|
1199
|
+
setDisabledExpand = _useState8[1]; // 禁用加减部分嵌套
|
|
1200
|
+
var _useState9 = useState(false),
|
|
1201
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
1202
|
+
dragBol = _useState10[0],
|
|
1203
|
+
setDragBol = _useState10[1];
|
|
1204
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
1143
1205
|
// 默认是否展开所有
|
|
1144
|
-
useEffect(()
|
|
1206
|
+
useEffect(function () {
|
|
1145
1207
|
if (!defaultExpandAllRows) {
|
|
1146
1208
|
setExpandableRow({});
|
|
1147
1209
|
return;
|
|
1148
1210
|
}
|
|
1149
|
-
|
|
1150
|
-
for (
|
|
1151
|
-
|
|
1152
|
-
|
|
1211
|
+
var json = {};
|
|
1212
|
+
for (var i = 0, l = rowData.length; i < l; i++) {
|
|
1213
|
+
var item = rowData[i] || {};
|
|
1214
|
+
var id = item[rowKey];
|
|
1153
1215
|
json[id] = {
|
|
1154
|
-
id,
|
|
1216
|
+
id: id,
|
|
1155
1217
|
status: 'develop'
|
|
1156
1218
|
};
|
|
1157
1219
|
}
|
|
@@ -1159,41 +1221,41 @@ const TableBody = props => {
|
|
|
1159
1221
|
}, [defaultExpandAllRows, rowData, rowKey]);
|
|
1160
1222
|
// 监听展开表格
|
|
1161
1223
|
// 如果直接写expandMultiple, expandValue会死循环
|
|
1162
|
-
useEffect(()
|
|
1224
|
+
useEffect(function () {
|
|
1163
1225
|
if (props.expandValue === undefined) return;
|
|
1164
|
-
|
|
1165
|
-
|
|
1226
|
+
var json = {};
|
|
1227
|
+
var expandValueHand = expandValue;
|
|
1166
1228
|
// 只展开一个,去第一个值
|
|
1167
1229
|
if (!expandMultiple && expandValue.length > 0) {
|
|
1168
1230
|
expandValueHand = [expandValue[0]];
|
|
1169
1231
|
}
|
|
1170
|
-
for (
|
|
1171
|
-
|
|
1232
|
+
for (var i = 0, l = expandValueHand.length; i < l; i++) {
|
|
1233
|
+
var id = expandValueHand[i];
|
|
1172
1234
|
json[id] = {
|
|
1173
|
-
id,
|
|
1235
|
+
id: id,
|
|
1174
1236
|
status: 'develop'
|
|
1175
1237
|
};
|
|
1176
1238
|
}
|
|
1177
1239
|
setExpandableRow(json);
|
|
1178
1240
|
}, [props.expandMultiple, props.expandValue, rowData]);
|
|
1179
1241
|
// 监听禁用嵌套 props.disabledExpand 防止死循环
|
|
1180
|
-
useEffect(()
|
|
1181
|
-
|
|
1182
|
-
for (
|
|
1183
|
-
|
|
1242
|
+
useEffect(function () {
|
|
1243
|
+
var json = {};
|
|
1244
|
+
for (var i = 0, l = disabledExpand.length; i < l; i++) {
|
|
1245
|
+
var id = disabledExpand[i];
|
|
1184
1246
|
json[id] = true;
|
|
1185
1247
|
}
|
|
1186
1248
|
setDisabledExpand(json);
|
|
1187
1249
|
}, [props.disabledExpand]);
|
|
1188
|
-
useEffect(()
|
|
1250
|
+
useEffect(function () {
|
|
1189
1251
|
if (loadMoreUrl) {
|
|
1190
|
-
|
|
1252
|
+
var bol = Number(total) > Number(page) * Number(currentRowsPerPage);
|
|
1191
1253
|
setShowMoreBtn(bol);
|
|
1192
1254
|
}
|
|
1193
1255
|
}, [loadMoreUrl, total, page, currentRowsPerPage]);
|
|
1194
1256
|
// 处理嵌套表格合并列数
|
|
1195
|
-
useEffect(()
|
|
1196
|
-
|
|
1257
|
+
useEffect(function () {
|
|
1258
|
+
var num = headData.length;
|
|
1197
1259
|
if (expandable) num += 1;
|
|
1198
1260
|
if (check) num += 1;
|
|
1199
1261
|
if (radio) num += 1;
|
|
@@ -1202,55 +1264,55 @@ const TableBody = props => {
|
|
|
1202
1264
|
setExpandableColSpan(num);
|
|
1203
1265
|
}, [headData, expandable, check, radio]);
|
|
1204
1266
|
// 展开/收起嵌套表格
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1267
|
+
var handClickNestTable = function handClickNestTable(row) {
|
|
1268
|
+
return function (event) {
|
|
1269
|
+
var id = row[rowKey];
|
|
1270
|
+
var expandItem = expandableRow[id] || {};
|
|
1271
|
+
var status = 'develop';
|
|
1272
|
+
if (expandItem.status === 'develop') status = 'retract';
|
|
1273
|
+
expandItem = {
|
|
1274
|
+
id: id,
|
|
1275
|
+
status: status
|
|
1276
|
+
};
|
|
1277
|
+
if (expandMultiple) {
|
|
1278
|
+
// 展开多个
|
|
1279
|
+
expandableRow[id] = expandItem;
|
|
1280
|
+
setExpandableRow(Object.assign({}, expandableRow));
|
|
1281
|
+
} else {
|
|
1282
|
+
// 展开一个
|
|
1283
|
+
setExpandableRow(_defineProperty({}, id, expandItem));
|
|
1284
|
+
}
|
|
1285
|
+
onExpand && onExpand(row, status);
|
|
1286
|
+
event.stopPropagation();
|
|
1213
1287
|
};
|
|
1214
|
-
if (expandMultiple) {
|
|
1215
|
-
// 展开多个
|
|
1216
|
-
expandableRow[id] = expandItem;
|
|
1217
|
-
setExpandableRow(Object.assign({}, expandableRow));
|
|
1218
|
-
} else {
|
|
1219
|
-
// 展开一个
|
|
1220
|
-
setExpandableRow({
|
|
1221
|
-
[id]: expandItem
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1224
|
-
onExpand && onExpand(row, status);
|
|
1225
|
-
event.stopPropagation();
|
|
1226
1288
|
};
|
|
1227
1289
|
// 处理class
|
|
1228
|
-
|
|
1229
|
-
|
|
1290
|
+
var handClass = function handClass() {
|
|
1291
|
+
var str = 'table-body';
|
|
1230
1292
|
if (!fixedTable) str += ' table-body-scroll';
|
|
1231
1293
|
// 没有 复选框,单选框,展开 按钮
|
|
1232
1294
|
if (!check && !radio && !expandable) str += ' table-body-no-btn';
|
|
1233
1295
|
return str;
|
|
1234
1296
|
};
|
|
1235
1297
|
// 处理嵌套表格class
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1298
|
+
var handExpandClass = function handExpandClass(row) {
|
|
1299
|
+
var id = row[rowKey];
|
|
1300
|
+
var expandItem = expandableRow[id] || {};
|
|
1301
|
+
var str = 'retract';
|
|
1240
1302
|
if (expandItem.status === 'develop') {
|
|
1241
1303
|
str = 'expand';
|
|
1242
1304
|
}
|
|
1243
1305
|
return str;
|
|
1244
1306
|
};
|
|
1245
1307
|
// 点击加载更多
|
|
1246
|
-
|
|
1308
|
+
var clickMore = function clickMore() {
|
|
1247
1309
|
if (loadMoreUrl) changePage && changePage();
|
|
1248
1310
|
onClickMore && onClickMore();
|
|
1249
1311
|
};
|
|
1250
1312
|
// 暂无数据memo
|
|
1251
|
-
|
|
1313
|
+
var NodataMemo = useMemo(function () {
|
|
1252
1314
|
// 处理刷新按钮
|
|
1253
|
-
|
|
1315
|
+
var handRefreshBtn = function handRefreshBtn() {
|
|
1254
1316
|
if ((emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh) !== undefined) {
|
|
1255
1317
|
return emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh;
|
|
1256
1318
|
}
|
|
@@ -1260,7 +1322,7 @@ const TableBody = props => {
|
|
|
1260
1322
|
return false;
|
|
1261
1323
|
};
|
|
1262
1324
|
// 处理非首页非空状态
|
|
1263
|
-
|
|
1325
|
+
var handleDescription = function handleDescription() {
|
|
1264
1326
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.description) return emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.description;
|
|
1265
1327
|
if (Number(page) > 1) {
|
|
1266
1328
|
return jsxs("div", Object.assign({
|
|
@@ -1278,7 +1340,7 @@ const TableBody = props => {
|
|
|
1278
1340
|
children: jsx(Button, Object.assign({
|
|
1279
1341
|
variant: "text",
|
|
1280
1342
|
size: "small",
|
|
1281
|
-
onClick: ()
|
|
1343
|
+
onClick: function onClick() {
|
|
1282
1344
|
changePage && changePage(Number(page) - 1);
|
|
1283
1345
|
}
|
|
1284
1346
|
}, {
|
|
@@ -1291,8 +1353,8 @@ const TableBody = props => {
|
|
|
1291
1353
|
}
|
|
1292
1354
|
};
|
|
1293
1355
|
// 处理className
|
|
1294
|
-
|
|
1295
|
-
|
|
1356
|
+
var handClassNoData = function handClassNoData() {
|
|
1357
|
+
var str = 'table-no-data';
|
|
1296
1358
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size) str += " table-no-data-".concat(emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size);
|
|
1297
1359
|
return str;
|
|
1298
1360
|
};
|
|
@@ -1306,24 +1368,24 @@ const TableBody = props => {
|
|
|
1306
1368
|
children: jsx(Empty, Object.assign({}, emptyProps, {
|
|
1307
1369
|
description: handleDescription(),
|
|
1308
1370
|
showRefresh: handRefreshBtn(),
|
|
1309
|
-
onRefresh: event
|
|
1371
|
+
onRefresh: function onRefresh(event) {
|
|
1310
1372
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.onRefresh) {
|
|
1311
1373
|
emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.onRefresh(event);
|
|
1312
1374
|
return;
|
|
1313
1375
|
}
|
|
1314
|
-
|
|
1376
|
+
_onRefresh && _onRefresh();
|
|
1315
1377
|
}
|
|
1316
1378
|
}))
|
|
1317
1379
|
}))
|
|
1318
1380
|
}));
|
|
1319
|
-
}, [expandableColSpan, emptyProps, url,
|
|
1381
|
+
}, [expandableColSpan, emptyProps, url, _onRefresh, page, changePage]);
|
|
1320
1382
|
// 复选框useCallback
|
|
1321
|
-
|
|
1383
|
+
var TableCheckCallback = useCallback(function (row) {
|
|
1322
1384
|
if (check) {
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1385
|
+
var handId = row[rowKey];
|
|
1386
|
+
var disabledHand = Boolean(disabledJson[handId]);
|
|
1387
|
+
var checkHand = checkJson[handId] || false;
|
|
1388
|
+
var showCheck = true;
|
|
1327
1389
|
if (disabledHand && disabledArrStatus) {
|
|
1328
1390
|
// 选中
|
|
1329
1391
|
if (disabledArrStatus[handId] === true) {
|
|
@@ -1338,8 +1400,8 @@ const TableBody = props => {
|
|
|
1338
1400
|
showCheck = false;
|
|
1339
1401
|
}
|
|
1340
1402
|
}
|
|
1341
|
-
|
|
1342
|
-
|
|
1403
|
+
var handCls = function handCls() {
|
|
1404
|
+
var str = 'table-checkbox table-body-btn';
|
|
1343
1405
|
if (fixedColumn) {
|
|
1344
1406
|
str += ' table-fixed-dom-left';
|
|
1345
1407
|
// 左边没有定位,且没有单选,没有嵌套表格
|
|
@@ -1356,7 +1418,7 @@ const TableBody = props => {
|
|
|
1356
1418
|
children: showCheck && jsx(Checkbox, {
|
|
1357
1419
|
disabled: disabledHand,
|
|
1358
1420
|
checked: checkHand,
|
|
1359
|
-
onChange: (event, bol)
|
|
1421
|
+
onChange: function onChange(event, bol) {
|
|
1360
1422
|
event.stopPropagation();
|
|
1361
1423
|
selectCheck && selectCheck(event, bol, row[rowKey]);
|
|
1362
1424
|
}
|
|
@@ -1365,12 +1427,12 @@ const TableBody = props => {
|
|
|
1365
1427
|
}
|
|
1366
1428
|
}, [check, disabledJson, rowKey, checkJson, selectCheck, disabledArrStatus, posFixed, expandable, radio, fixedColumn]);
|
|
1367
1429
|
// 单选框useCallback
|
|
1368
|
-
|
|
1430
|
+
var TableRadioCallback = useCallback(function (row) {
|
|
1369
1431
|
if (radio) {
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1432
|
+
var handId = row[rowKey];
|
|
1433
|
+
var disabledHand = Boolean(disabledJson[handId]);
|
|
1434
|
+
var checkHand = radioValue === row[rowKey];
|
|
1435
|
+
var showRadio = true;
|
|
1374
1436
|
if (disabledHand && disabledArrStatus) {
|
|
1375
1437
|
// 选中
|
|
1376
1438
|
if (disabledArrStatus[handId] === true) {
|
|
@@ -1385,8 +1447,8 @@ const TableBody = props => {
|
|
|
1385
1447
|
showRadio = false;
|
|
1386
1448
|
}
|
|
1387
1449
|
}
|
|
1388
|
-
|
|
1389
|
-
|
|
1450
|
+
var handCls = function handCls() {
|
|
1451
|
+
var str = 'table-radio table-body-btn';
|
|
1390
1452
|
if (fixedColumn) {
|
|
1391
1453
|
str += ' table-fixed-dom-left';
|
|
1392
1454
|
// 左边没有定位,没有嵌套表格
|
|
@@ -1403,7 +1465,7 @@ const TableBody = props => {
|
|
|
1403
1465
|
children: showRadio && jsx(Radio, {
|
|
1404
1466
|
disabled: disabledHand,
|
|
1405
1467
|
checked: checkHand,
|
|
1406
|
-
onChange: event
|
|
1468
|
+
onChange: function onChange(event) {
|
|
1407
1469
|
event.stopPropagation();
|
|
1408
1470
|
selectRadio && selectRadio(event, row[rowKey]);
|
|
1409
1471
|
}
|
|
@@ -1412,13 +1474,13 @@ const TableBody = props => {
|
|
|
1412
1474
|
}
|
|
1413
1475
|
}, [radio, disabledJson, radioValue, rowKey, selectRadio, disabledArrStatus, expandable, posFixed, fixedColumn]);
|
|
1414
1476
|
// 嵌套加减useCallback
|
|
1415
|
-
|
|
1477
|
+
var TableExpandableMemo = useCallback(function (row) {
|
|
1416
1478
|
if (!expandable) return null;
|
|
1417
|
-
|
|
1479
|
+
var expandableDemo = expandable(row);
|
|
1418
1480
|
// 禁用一行表格展开 或者 展开表格返回值为false,返回空列
|
|
1419
1481
|
if (disabledExpandJson[row[rowKey]] || expandableDemo === false) return jsx(TdElement, {});
|
|
1420
|
-
|
|
1421
|
-
|
|
1482
|
+
var handCls = function handCls() {
|
|
1483
|
+
var str = 'table-expandable table-body-btn';
|
|
1422
1484
|
if (fixedColumn) {
|
|
1423
1485
|
str += ' table-fixed-dom-left';
|
|
1424
1486
|
// 左边没有定位,没有嵌套表格
|
|
@@ -1439,17 +1501,17 @@ const TableBody = props => {
|
|
|
1439
1501
|
}));
|
|
1440
1502
|
}, [expandable, expandableRow, rowKey, disabledExpandJson, onExpand, fixedColumn]);
|
|
1441
1503
|
// 表格一行内容useCallback
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
orderFieldArr,
|
|
1445
|
-
orderTypeArr
|
|
1504
|
+
var TableContentUseCallback = useCallback(function (row, rowIndex) {
|
|
1505
|
+
var params = {
|
|
1506
|
+
orderFieldArr: orderFieldArr,
|
|
1507
|
+
orderTypeArr: orderTypeArr
|
|
1446
1508
|
};
|
|
1447
|
-
|
|
1448
|
-
|
|
1509
|
+
var handContentClass = function handContentClass(item) {
|
|
1510
|
+
var str = 'table-content-columms';
|
|
1449
1511
|
if (item.className) str += " ".concat(item.className);
|
|
1450
1512
|
// 排序
|
|
1451
1513
|
if (sortTable && item.name && item.sort !== false) {
|
|
1452
|
-
|
|
1514
|
+
var index = orderFieldArr.indexOf(item.name);
|
|
1453
1515
|
if (index !== -1) {
|
|
1454
1516
|
// 升序
|
|
1455
1517
|
if (orderTypeArr[index] === 'asc') {
|
|
@@ -1474,8 +1536,8 @@ const TableBody = props => {
|
|
|
1474
1536
|
}
|
|
1475
1537
|
return str;
|
|
1476
1538
|
};
|
|
1477
|
-
|
|
1478
|
-
|
|
1539
|
+
var handStyle = function handStyle(item) {
|
|
1540
|
+
var json = {};
|
|
1479
1541
|
if (fixedColumn && item.fixed && item.width) {
|
|
1480
1542
|
if (item.fixed === 'left') {
|
|
1481
1543
|
json.left = "".concat(item.paraui_left_width, "px");
|
|
@@ -1486,12 +1548,12 @@ const TableBody = props => {
|
|
|
1486
1548
|
}
|
|
1487
1549
|
return json;
|
|
1488
1550
|
};
|
|
1489
|
-
return tableCell ? tableCell(row, params) : headData.map((item, index)
|
|
1490
|
-
|
|
1491
|
-
|
|
1551
|
+
return tableCell ? tableCell(row, params) : headData.map(function (item, index) {
|
|
1552
|
+
var text = row[item.name];
|
|
1553
|
+
var colSpan = 1;
|
|
1492
1554
|
if (item.render) text = item.render(row, item, row[item.name], index, rowIndex);
|
|
1493
1555
|
if (formatter) text = formatter(row, item, row[item.name], index, rowIndex);
|
|
1494
|
-
|
|
1556
|
+
var itemStyle = handStyle(item);
|
|
1495
1557
|
// 存在显示列,最后一列占两格
|
|
1496
1558
|
if (showColumns === 'inside' && !operate && index === headData.length - 1 && !dragRow) {
|
|
1497
1559
|
colSpan = 2;
|
|
@@ -1515,25 +1577,25 @@ const TableBody = props => {
|
|
|
1515
1577
|
});
|
|
1516
1578
|
}, [tableCell, headData, align, formatter, orderFieldArr, orderTypeArr, sortTable, showColumns, operate, beyondText, fixedColumn, tipMaxWidth, dragRow]);
|
|
1517
1579
|
// 操作栏useCallback
|
|
1518
|
-
|
|
1580
|
+
var TableOperateUseCallback = useCallback(function (row, rowIndex) {
|
|
1519
1581
|
if (operate || dragRow) {
|
|
1520
|
-
|
|
1582
|
+
var colSpan = 1;
|
|
1521
1583
|
if (showColumns === 'inside' && operate) colSpan = 2;
|
|
1522
|
-
|
|
1584
|
+
var handOperate = function handOperate() {
|
|
1523
1585
|
if (operate === null || operate === void 0 ? void 0 : operate.render) return operate.render(row);
|
|
1524
1586
|
if (operate === null || operate === void 0 ? void 0 : operate.operateBtnRender) {
|
|
1525
|
-
|
|
1587
|
+
var operateConfig = operate.operateBtnRender(row, rowIndex);
|
|
1526
1588
|
return jsx(OperateBtn, Object.assign({}, operateConfig));
|
|
1527
1589
|
}
|
|
1528
1590
|
};
|
|
1529
|
-
|
|
1530
|
-
|
|
1591
|
+
var handStyle = function handStyle() {
|
|
1592
|
+
var json = {
|
|
1531
1593
|
right: '0'
|
|
1532
1594
|
};
|
|
1533
1595
|
return json;
|
|
1534
1596
|
};
|
|
1535
|
-
|
|
1536
|
-
|
|
1597
|
+
var handCls = function handCls() {
|
|
1598
|
+
var str = 'table-operate';
|
|
1537
1599
|
if (!operate) str += ' table-operate-center';
|
|
1538
1600
|
if (fixedColumn) {
|
|
1539
1601
|
str += ' table-fixed-dom-right';
|
|
@@ -1574,11 +1636,11 @@ const TableBody = props => {
|
|
|
1574
1636
|
}
|
|
1575
1637
|
}, [operate, align, showColumns, posFixed, fixedColumn, dragRow, onDragRow, dragBol]);
|
|
1576
1638
|
// 嵌套表格useCallback
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1639
|
+
var TableExpandableContentUseCallback = useCallback(function (row) {
|
|
1640
|
+
var id = row[rowKey];
|
|
1641
|
+
var expandItem = expandableRow[id] || {};
|
|
1580
1642
|
if (expandable && expandItem.status === 'develop') {
|
|
1581
|
-
|
|
1643
|
+
var expandableDemo = expandable(row);
|
|
1582
1644
|
if (expandableDemo === false) return null; // 展开表格返回值为false,不展示这一行
|
|
1583
1645
|
return jsx(TrElement, Object.assign({
|
|
1584
1646
|
className: "table-body-expand-row"
|
|
@@ -1593,7 +1655,7 @@ const TableBody = props => {
|
|
|
1593
1655
|
}
|
|
1594
1656
|
}, [expandable, expandableRow, expandableColSpan, rowKey]);
|
|
1595
1657
|
// 加载更多
|
|
1596
|
-
|
|
1658
|
+
var MoreMemo = useMemo(function () {
|
|
1597
1659
|
if (!loadMore || !showMoreBtn) return null;
|
|
1598
1660
|
return jsx(TrElement, Object.assign({
|
|
1599
1661
|
className: "more-table-row",
|
|
@@ -1616,25 +1678,25 @@ const TableBody = props => {
|
|
|
1616
1678
|
}))
|
|
1617
1679
|
}));
|
|
1618
1680
|
}, [expandableColSpan, loadMore, loadMoreRender, onClickMore, showMoreBtn, changePage, loadMoreUrl, lineHeight]);
|
|
1619
|
-
|
|
1620
|
-
|
|
1681
|
+
var TableBodySubjectContentMemo = useMemo(function () {
|
|
1682
|
+
var rowDataCom = rowData;
|
|
1621
1683
|
if (virtual) {
|
|
1622
1684
|
rowDataCom = rowDataCom.slice(virtualIndex[0], virtualIndex[1]);
|
|
1623
1685
|
}
|
|
1624
1686
|
return jsx(Fragment, {
|
|
1625
|
-
children: rowDataCom.map((row, idx)
|
|
1626
|
-
|
|
1687
|
+
children: rowDataCom.map(function (row, idx) {
|
|
1688
|
+
var str = 'table-body-row';
|
|
1627
1689
|
if (rowClassMapping && rowClassMapping[row[rowKey]]) {
|
|
1628
1690
|
str += " ".concat(rowClassMapping[row[rowKey]]);
|
|
1629
1691
|
}
|
|
1630
|
-
|
|
1692
|
+
var index = idx + virtualIndex[0];
|
|
1631
1693
|
return jsxs(Fragment$1, {
|
|
1632
1694
|
children: [jsxs(TrElement, Object.assign({
|
|
1633
1695
|
className: str,
|
|
1634
1696
|
style: {
|
|
1635
1697
|
height: "".concat(lineHeight, "px")
|
|
1636
1698
|
},
|
|
1637
|
-
onClick: e
|
|
1699
|
+
onClick: function onClick(e) {
|
|
1638
1700
|
onClickRow && onClickRow(row, e);
|
|
1639
1701
|
}
|
|
1640
1702
|
}, {
|
|
@@ -1645,7 +1707,7 @@ const TableBody = props => {
|
|
|
1645
1707
|
});
|
|
1646
1708
|
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, disabledExpandJson, onExpand, disabledArrStatus, showColumns, onClickRow, rowClassMapping, tipMaxWidth, lineHeight, dragRow, onDragRow, dragBol, virtualIndex, virtual]);
|
|
1647
1709
|
// 内容memo
|
|
1648
|
-
|
|
1710
|
+
var TableBodyContentMemo = useMemo(function () {
|
|
1649
1711
|
return jsxs(Fragment$1, {
|
|
1650
1712
|
children: [TableBodySubjectContentMemo, MoreMemo, virtual && jsx(TrElement, {
|
|
1651
1713
|
className: 'virtual-scroll-height'
|
|
@@ -1653,31 +1715,31 @@ const TableBody = props => {
|
|
|
1653
1715
|
});
|
|
1654
1716
|
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, loadMore, loadMoreRender, onClickMore, changePage, loadMoreUrl, disabledExpandJson, onExpand, showMoreBtn, disabledArrStatus, showColumns, onClickRow, rowClassMapping, tipMaxWidth, lineHeight, dragRow, onDragRow, dragBol, virtualIndex, virtual]);
|
|
1655
1717
|
// 处理内容
|
|
1656
|
-
|
|
1718
|
+
var handContent = function handContent() {
|
|
1657
1719
|
// 无数据,且不再请求,显示暂无数据
|
|
1658
1720
|
if (rowData.length === 0 && !loadState) return NodataMemo;
|
|
1659
1721
|
return TableBodyContentMemo;
|
|
1660
1722
|
};
|
|
1661
|
-
|
|
1662
|
-
|
|
1723
|
+
var handleRowData = function handleRowData() {
|
|
1724
|
+
var arr = [];
|
|
1663
1725
|
if (dragRow) {
|
|
1664
|
-
rowData.forEach(item
|
|
1665
|
-
|
|
1726
|
+
rowData.forEach(function (item) {
|
|
1727
|
+
var obj = {};
|
|
1666
1728
|
obj[rowKey] = item[rowKey];
|
|
1667
1729
|
arr.push(obj);
|
|
1668
1730
|
});
|
|
1669
1731
|
}
|
|
1670
1732
|
return arr;
|
|
1671
1733
|
};
|
|
1672
|
-
|
|
1734
|
+
var onChoose = function onChoose() {
|
|
1673
1735
|
setDragBol(true);
|
|
1674
1736
|
};
|
|
1675
|
-
|
|
1737
|
+
var onDragRowCom = function onDragRowCom(evt) {
|
|
1676
1738
|
setDragBol(false);
|
|
1677
1739
|
onDragRow && onDragRow(evt);
|
|
1678
1740
|
};
|
|
1679
|
-
|
|
1680
|
-
|
|
1741
|
+
var handleStyle = function handleStyle() {
|
|
1742
|
+
var obj = {};
|
|
1681
1743
|
if (virtual) {
|
|
1682
1744
|
obj.height = rowData.length * lineHeight + 'px';
|
|
1683
1745
|
obj.position = 'relative';
|
|
@@ -1698,30 +1760,36 @@ const TableBody = props => {
|
|
|
1698
1760
|
}));
|
|
1699
1761
|
};
|
|
1700
1762
|
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
checkNumber = 0,
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1763
|
+
var TableHead = function TableHead(props) {
|
|
1764
|
+
var paginationType = props.paginationType,
|
|
1765
|
+
flippingArrow = props.flippingArrow,
|
|
1766
|
+
autoPagination = props.autoPagination,
|
|
1767
|
+
total = props.total,
|
|
1768
|
+
page = props.page,
|
|
1769
|
+
rowsPerPage = props.rowsPerPage,
|
|
1770
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1771
|
+
changePage = props.changePage,
|
|
1772
|
+
changeRowsPerPage = props.changeRowsPerPage,
|
|
1773
|
+
refreshInside = props.refreshInside,
|
|
1774
|
+
checkCount = props.checkCount,
|
|
1775
|
+
onRefresh = props.onRefresh,
|
|
1776
|
+
selectAll = props.selectAll,
|
|
1777
|
+
selectStatus = props.selectStatus,
|
|
1778
|
+
_props$checkNumber = props.checkNumber,
|
|
1779
|
+
checkNumber = _props$checkNumber === void 0 ? 0 : _props$checkNumber,
|
|
1780
|
+
_props$currentPageTot = props.currentPageTotal,
|
|
1781
|
+
currentPageTotal = _props$currentPageTot === void 0 ? 0 : _props$currentPageTot,
|
|
1782
|
+
resizePaginationLine = props.resizePaginationLine;
|
|
1783
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
1784
|
+
var _useState = useState(false),
|
|
1785
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1786
|
+
indeterminate = _useState2[0],
|
|
1787
|
+
setIndeterminate = _useState2[1]; // 半选中
|
|
1788
|
+
var _useState3 = useState(false),
|
|
1789
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1790
|
+
checked = _useState4[0],
|
|
1791
|
+
setChecked = _useState4[1]; // 选中
|
|
1792
|
+
useEffect(function () {
|
|
1725
1793
|
// 全选
|
|
1726
1794
|
if (selectStatus === 'all') {
|
|
1727
1795
|
setChecked(true);
|
|
@@ -1743,23 +1811,23 @@ const TableHead = props => {
|
|
|
1743
1811
|
* @param event 操作元素
|
|
1744
1812
|
* @param bol 选中 / 不选中
|
|
1745
1813
|
*/
|
|
1746
|
-
|
|
1814
|
+
var onSelectAll = function onSelectAll(event, bol) {
|
|
1747
1815
|
if (selectAll) selectAll(event, bol);
|
|
1748
1816
|
};
|
|
1749
1817
|
// 改变页面
|
|
1750
|
-
|
|
1818
|
+
var changePageCom = function changePageCom(num) {
|
|
1751
1819
|
changePage && changePage(num);
|
|
1752
1820
|
};
|
|
1753
1821
|
// 改变每页显示条数
|
|
1754
|
-
|
|
1822
|
+
var changeRowsPerPageCom = function changeRowsPerPageCom(num) {
|
|
1755
1823
|
changeRowsPerPage && changeRowsPerPage(num);
|
|
1756
1824
|
};
|
|
1757
1825
|
// 刷新
|
|
1758
|
-
|
|
1826
|
+
var clickRefresh = function clickRefresh() {
|
|
1759
1827
|
onRefresh && onRefresh();
|
|
1760
1828
|
};
|
|
1761
1829
|
// 处理分页右侧
|
|
1762
|
-
|
|
1830
|
+
var handlePaginationRight = function handlePaginationRight() {
|
|
1763
1831
|
if (!checkCount) return null;
|
|
1764
1832
|
return jsxs("div", Object.assign({
|
|
1765
1833
|
className: 'table-pagination-right'
|
|
@@ -1782,8 +1850,8 @@ const TableHead = props => {
|
|
|
1782
1850
|
}));
|
|
1783
1851
|
};
|
|
1784
1852
|
// 处理样式
|
|
1785
|
-
|
|
1786
|
-
|
|
1853
|
+
var handleClass = function handleClass() {
|
|
1854
|
+
var str = 'table-pagination';
|
|
1787
1855
|
return str;
|
|
1788
1856
|
};
|
|
1789
1857
|
return jsxs("div", Object.assign({
|
|
@@ -1801,7 +1869,9 @@ const TableHead = props => {
|
|
|
1801
1869
|
currentRowsPerPage: currentRowsPerPage,
|
|
1802
1870
|
changePage: changePageCom,
|
|
1803
1871
|
changeRowsPerPage: changeRowsPerPageCom,
|
|
1804
|
-
getPopupContainer: ()
|
|
1872
|
+
getPopupContainer: function getPopupContainer() {
|
|
1873
|
+
return document.body;
|
|
1874
|
+
},
|
|
1805
1875
|
resizeLine: resizePaginationLine
|
|
1806
1876
|
}), refreshInside && jsx(Button.IconButton, Object.assign({
|
|
1807
1877
|
className: 'refresh-btn',
|
|
@@ -1816,16 +1886,14 @@ const TableHead = props => {
|
|
|
1816
1886
|
var css_248z$2 = ".table-container {\n overflow-x: auto;\n}";
|
|
1817
1887
|
styleInject(css_248z$2);
|
|
1818
1888
|
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
children
|
|
1825
|
-
} = props,
|
|
1889
|
+
var TableContainer = function TableContainer(props) {
|
|
1890
|
+
var cRef = props.cRef,
|
|
1891
|
+
className = props.className,
|
|
1892
|
+
style = props.style,
|
|
1893
|
+
children = props.children,
|
|
1826
1894
|
otherProps = __rest(props, ["cRef", "className", "style", "children"]);
|
|
1827
|
-
|
|
1828
|
-
|
|
1895
|
+
var handClass = function handClass() {
|
|
1896
|
+
var str = 'table-container';
|
|
1829
1897
|
if (className) str += " ".concat(className);
|
|
1830
1898
|
return str;
|
|
1831
1899
|
};
|
|
@@ -1841,17 +1909,15 @@ const TableContainer = props => {
|
|
|
1841
1909
|
var css_248z$1 = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.table-element {\n width: 100%;\n display: table;\n border-collapse: separate;\n border-spacing: 0;\n}\n.table-element.table-element-fixed-column > .table-body-element > .tr-element > .td-element {\n position: sticky;\n}\n.table-element > .table-head-element > .tr-element > .th-element {\n position: sticky;\n top: 0;\n z-index: 10;\n}\n.table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n height: 100%;\n width: 30px;\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(100%);\n content: \"\";\n transition: box-shadow 0.3s;\n pointer-events: none;\n}\n.table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n height: 100%;\n width: 30px;\n position: absolute;\n top: 0;\n left: 0;\n transform: translate(-100%);\n content: \"\";\n transition: box-shadow 0.3s;\n pointer-events: none;\n}\n.table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-left {\n z-index: 11;\n}\n.table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-right {\n z-index: 11;\n}\n.table-element > .table-body-element > .tr-element > .td-element {\n z-index: 1;\n}\n.table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n height: 100%;\n width: 30px;\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(100%);\n content: \"\";\n transition: box-shadow 0.3s;\n pointer-events: none;\n}\n.table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n height: 100%;\n width: 30px;\n position: absolute;\n top: 0;\n left: 0;\n transform: translate(-100%);\n content: \"\";\n transition: box-shadow 0.3s;\n pointer-events: none;\n}\n.table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-left {\n z-index: 2;\n}\n.table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-right {\n z-index: 2;\n}\n\n.table-scroll-left .table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n box-shadow: inset -10px 0 10px -8px rgb(234, 236, 241);\n}\n.table-scroll-left .table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n box-shadow: inset -10px 0 10px -8px rgb(234, 236, 241);\n}\n\n.table-scroll-right .table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n box-shadow: inset 10px 0 10px -8px rgb(234, 236, 241);\n}\n.table-scroll-right .table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n box-shadow: inset 10px 0 10px -8px rgb(234, 236, 241);\n}\n\n.table-scroll-middle .table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n box-shadow: inset 10px 0 10px -8px rgb(234, 236, 241);\n}\n.table-scroll-middle .table-element > .table-head-element > .tr-element > .th-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n box-shadow: inset -10px 0 10px -8px rgb(234, 236, 241);\n}\n.table-scroll-middle .table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-left.table-fixed-dom-left-last::after {\n box-shadow: inset 10px 0 10px -8px rgb(234, 236, 241);\n}\n.table-scroll-middle .table-element > .table-body-element > .tr-element > .td-element.table-fixed-dom-right.table-fixed-dom-right-first::after {\n box-shadow: inset -10px 0 10px -8px rgb(234, 236, 241);\n}";
|
|
1842
1910
|
styleInject(css_248z$1);
|
|
1843
1911
|
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
cRef
|
|
1851
|
-
} = props,
|
|
1912
|
+
var TableElement = function TableElement(props) {
|
|
1913
|
+
var className = props.className,
|
|
1914
|
+
style = props.style,
|
|
1915
|
+
fixedColumn = props.fixedColumn,
|
|
1916
|
+
children = props.children,
|
|
1917
|
+
cRef = props.cRef,
|
|
1852
1918
|
otherProps = __rest(props, ["className", "style", "fixedColumn", "children", "cRef"]);
|
|
1853
|
-
|
|
1854
|
-
|
|
1919
|
+
var handClass = function handClass() {
|
|
1920
|
+
var str = 'table-element';
|
|
1855
1921
|
if (fixedColumn) str += ' table-element-fixed-column';
|
|
1856
1922
|
if (className) str += " ".concat(className);
|
|
1857
1923
|
return str;
|
|
@@ -1868,57 +1934,6 @@ const TableElement = props => {
|
|
|
1868
1934
|
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-table {\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: white;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n position: relative;\n}\n.paraui-v4-table.paraui-v4-virtual > .table-contain {\n margin-right: 8px;\n}\n.paraui-v4-table.paraui-v4-virtual > .table-contain::-webkit-scrollbar {\n width: 0;\n}\n.paraui-v4-table.paraui-v4-virtual.paraui-v4-table-pagination .paraui-v4-scroll-bar {\n height: calc(100% - 40px);\n}\n.paraui-v4-table.paraui-v4-virtual.table-scroll-left .paraui-v4-scroll-bar, .paraui-v4-table.paraui-v4-virtual.table-scroll-right .paraui-v4-scroll-bar, .paraui-v4-table.paraui-v4-virtual.table-scroll-middle .paraui-v4-scroll-bar {\n padding-bottom: 8px;\n}\n.paraui-v4-table.paraui-v4-table-draggable * {\n user-select: none !important;\n}\n.paraui-v4-table.paraui-v4-table-fixed-table > .table-contain > table {\n table-layout: fixed;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn > .table-contain > table .table-checkbox {\n left: 0;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn > .table-contain > table .table-radio {\n left: 0;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn > .table-contain > table .table-expandable {\n left: 0;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn.paraui-v4-table-radio.paraui-v4-table-check .table-radio {\n left: 48px;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn.paraui-v4-table-expandable.paraui-v4-table-check .table-expandable {\n left: 48px;\n}\n.paraui-v4-table.paraui-v4-table-fixed-cloumn.paraui-v4-table-expandable.paraui-v4-table-check.paraui-v4-table-radio .table-expandable {\n left: 80px;\n}\n.paraui-v4-table.paraui-v4-table-no-data > .table-container > table {\n height: 100%;\n}\n.paraui-v4-table.paraui-v4-table-no-data > .table-container > table .paraui-v4-empty {\n overflow: hidden;\n}\n.paraui-v4-table.paraui-v4-table-load.paraui-v4-table-no-data > .table-container > table {\n height: auto;\n}\n.paraui-v4-table.paraui-v4-table-pagination > .table-contain {\n height: calc(100% - 40px);\n}\n.paraui-v4-table.paraui-v4-table-pagination.table-load-more > .table-contain {\n height: 100%;\n}\n.paraui-v4-table.paraui-v4-table-load-more.paraui-v4-table-pagination > .table-contain {\n height: 100%;\n}\n.paraui-v4-table > .table-contain {\n height: 100%;\n position: relative;\n}\n.paraui-v4-table > .table-contain > table {\n height: auto;\n}\n.paraui-v4-table > .table-contain > table .table-checkbox > label {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-table > .table-contain > table .table-checkbox .table-header-box {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-table > .table-contain > table .table-radio > label {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-table > .table-contain > table .table-radio .table-header-box {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-table > .table-contain > table .table-expandable > svg {\n vertical-align: middle;\n}\n.paraui-v4-table > .table-contain > table > .table-head {\n width: 100%;\n white-space: nowrap;\n}\n.paraui-v4-table > .table-contain > table > .table-head > tr th {\n height: 48px;\n}\n.paraui-v4-table > .table-contain > table > .table-head.table-head-scroll tr th {\n max-width: 240px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-serial-number .table-header-box .table-header-title {\n padding-right: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box {\n height: 47px;\n line-height: 47px;\n position: relative;\n padding: 0 8px;\n display: flex;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-title {\n max-width: 100%;\n display: flex;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-title > .table-header-title-label {\n width: 100%;\n color: rgb(92, 101, 115);\n font-weight: 700;\n font-size: 14px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span {\n width: 20px;\n height: 20px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border-radius: 2px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span:hover {\n background-color: rgba(46, 101, 230, 0.1);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span > svg {\n font-size: 12px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span > .up-svg {\n position: relative;\n top: 3px;\n transform: scale(0.8);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-sort-svg > span > .down-svg {\n position: relative;\n top: -3px;\n transform: scale(0.8);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter > span {\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n cursor: pointer;\n border-radius: 2px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter > span:hover {\n background-color: rgba(46, 101, 230, 0.1);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter > span > svg {\n font-size: 14px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter.table-header-filter-show > span > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter.table-header-filter-select > span > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box > .table-header-filter.table-header-filter-select > span:after {\n position: absolute;\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: rgb(244, 66, 66);\n content: \"\";\n right: 3px;\n top: 2px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box.table-header-box-sort > .table-header-title {\n padding-right: 8px;\n max-width: calc(100% - 20px);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box.table-header-box-filter > .table-header-title {\n padding-right: 8px;\n max-width: calc(100% - 20px);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box.table-header-box-sort.table-header-box-filter > .table-header-title {\n max-width: calc(100% - 40px);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box.table-header-box-sort-asc > .table-sort-svg > span > .up-svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-header-box.table-header-box-sort-desc > .table-sort-svg > span > .down-svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .show-colums {\n width: 53px;\n cursor: pointer;\n border-left: 1px solid rgb(234, 236, 241);\n right: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-head .show-colums .table-header-box {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n}\n.paraui-v4-table > .table-contain > table > .table-head .show-colums .table-header-box > svg {\n font-size: 20px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-table > .table-contain > table > .table-head .show-colums .table-header-box:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-head .drag-row {\n width: 53px;\n cursor: pointer;\n border-left: 1px solid rgb(234, 236, 241);\n right: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-head.table-head-no-btn tr th:first-child .table-header-box {\n padding-left: 20px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-head-btn {\n width: 32px;\n padding: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-head-btn > .table-header-box {\n width: 32px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-head-btn:first-child {\n width: 48px;\n}\n.paraui-v4-table > .table-contain > table > .table-head .table-head-btn:first-child > .table-header-box {\n width: 48px;\n}\n.paraui-v4-table > .table-contain > table > .table-body {\n width: 100%;\n}\n.paraui-v4-table > .table-contain > table > .table-body.table-body-scroll tr td {\n max-width: 240px;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td {\n background-color: white;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate {\n padding-right: 16px;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate > .table-operate-box {\n display: flex;\n align-items: center;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate > .table-operate-box .drag-btn-line {\n display: inline-block;\n width: 1px;\n height: 12px;\n background-color: rgb(213, 224, 250);\n margin: 0 10px;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate > .table-operate-box .drag-row-btn {\n cursor: all-scroll;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate > .table-operate-box .drag-row-btn svg {\n font-size: 18px;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate.table-operate-center {\n padding-right: 8px;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr td.table-operate.table-operate-center > .table-operate-box {\n justify-content: center;\n}\n.paraui-v4-table > .table-contain > table > .table-body tr:nth-of-type(2n) td {\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-table > .table-contain > table > .table-body tr:hover td {\n background-color: rgb(233, 239, 255);\n}\n.paraui-v4-table > .table-contain > table > .table-body tr .table-expandable > svg {\n transition: all 0.3s;\n cursor: pointer;\n font-size: 18px;\n color: rgb(92, 101, 115);\n transform: rotate(270deg);\n}\n.paraui-v4-table > .table-contain > table > .table-body tr .table-expandable > svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-table > .table-contain > table > .table-body tr .table-expandable > .expand {\n transform: rotate(360deg);\n}\n.paraui-v4-table > .table-contain > table > .table-body .more-table-row {\n cursor: pointer;\n position: sticky;\n bottom: 0;\n z-index: 10;\n}\n.paraui-v4-table > .table-contain > table > .table-body .more-table-row .more-btn {\n color: rgb(46, 101, 230);\n font-size: 14px;\n}\n.paraui-v4-table > .table-contain > table > .table-body .more-table-row > .td-element {\n position: relative;\n background: white;\n box-shadow: 4px -4px 8px 0px rgb(234, 236, 241);\n}\n.paraui-v4-table > .table-contain > table > .table-body.table-body-no-btn tr td:first-child {\n padding-left: 20px;\n}\n.paraui-v4-table > .table-contain > table > .table-body.table-body-no-btn tr.more-table-row td:first-child {\n padding-left: 8px;\n}\n.paraui-v4-table > .table-contain > table > .table-body.table-body-no-btn > .table-no-data > td:first-child {\n padding: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-body .table-body-btn {\n width: 32px;\n padding: 0;\n}\n.paraui-v4-table > .table-contain > table > .table-body .table-body-btn:first-child {\n width: 48px;\n}\n.paraui-v4-table > .table-contain > table > .table-body > .table-no-data {\n height: calc(100% - 50px);\n}\n.paraui-v4-table > .table-contain > table > .table-body > .table-no-data:hover td {\n background-color: white;\n}\n.paraui-v4-table > .table-contain > table > .table-body > .table-no-data > td {\n padding: 56px 0 0 0;\n}\n.paraui-v4-table > .table-contain > .table-pos-line {\n position: absolute;\n top: 0;\n width: 1px;\n background-color: rgb(46, 101, 230);\n z-index: 1000;\n}\n.paraui-v4-table > .table-pagination {\n width: 100%;\n height: 36px;\n display: flex;\n align-items: flex-end;\n}\n.paraui-v4-table > .table-pagination .table-pagination-right {\n display: flex;\n height: 32px;\n align-items: center;\n color: rgb(29, 33, 38);\n line-height: 32px;\n padding-left: 16px;\n}\n.paraui-v4-table > .table-pagination .table-pagination-right .all-select {\n margin-left: 12px;\n}\n.paraui-v4-table > .table-pagination .table-pagination-right .line {\n width: 1px;\n height: 12px;\n background-color: rgb(212, 218, 227);\n margin: 0 10px;\n}\n.paraui-v4-table > .table-pagination .table-pagination-right .check-number {\n width: 65px;\n display: inline-block;\n}\n.paraui-v4-table > .table-pagination .table-pagination-com {\n flex: 1;\n justify-content: flex-end;\n}\n.paraui-v4-table > .table-pagination .refresh-btn {\n margin-left: 20px;\n}\n\n.paraui-v4-table-show-colums-popover > .component-popover-content {\n min-width: 200px;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box {\n padding-top: 4px;\n max-height: 320px;\n overflow-y: auto;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item {\n height: 30px;\n line-height: 30px;\n cursor: pointer;\n display: flex;\n padding: 0 10px;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item > label {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item > span {\n padding-left: 8px;\n color: rgb(29, 33, 38);\n font-size: 14px;\n display: inline-block;\n width: calc(100% - 14px);\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item:hover {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item.show-colums-select-item-disabled {\n cursor: inherit;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item.show-colums-select-item-disabled > span {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-box > .show-colums-select-item.show-colums-select-item-disabled:hover {\n background: transparent;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-footer {\n height: 36px;\n border-top: 1px solid rgb(247, 248, 250);\n text-align: center;\n}\n.paraui-v4-table-show-colums-popover > .component-popover-content .show-colums-select > .show-colums-select-footer > button {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-box {\n padding-top: 4px;\n max-height: 320px;\n overflow-y: auto;\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-box > .filter-select-item {\n height: 30px;\n line-height: 30px;\n cursor: pointer;\n display: flex;\n padding: 0 10px;\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-box > .filter-select-item > label {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-box > .filter-select-item > span {\n padding-left: 8px;\n color: rgb(29, 33, 38);\n font-size: 14px;\n display: inline-block;\n width: calc(100% - 14px);\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-box > .filter-select-item:hover {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-footer {\n height: 36px;\n border-top: 1px solid rgb(247, 248, 250);\n text-align: center;\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select > .filter-select-footer > button {\n width: 50%;\n height: 100%;\n margin: 0;\n}\n.paraui-v4-filter-popover > .component-popover-content .filter-select.filter-select-none {\n text-align: center;\n padding: 20px 0;\n}\n.paraui-v4-filter-popover.paraui-v4-filter-popover-default > .component-popover-content {\n min-width: 200px;\n}";
|
|
1869
1935
|
styleInject(css_248z);
|
|
1870
1936
|
|
|
1871
|
-
/**
|
|
1872
|
-
* @author linhd
|
|
1873
|
-
* @date 2024/12/23 10:45
|
|
1874
|
-
* @description 监听元素发生变化
|
|
1875
|
-
*/
|
|
1876
|
-
var useResizeObserver = function useResizeObserver(props) {
|
|
1877
|
-
var constData = useRef({});
|
|
1878
|
-
useEffect(function () {
|
|
1879
|
-
resizeObserverDom();
|
|
1880
|
-
return function () {
|
|
1881
|
-
clearInterval(constData.current.resizeTimer);
|
|
1882
|
-
clearTimeout(constData.current.resizeLimit);
|
|
1883
|
-
};
|
|
1884
|
-
}, [props.dom]);
|
|
1885
|
-
// 判断宽高发生变化
|
|
1886
|
-
var isChangeSize = function isChangeSize(rect) {
|
|
1887
|
-
var width = rect.width;
|
|
1888
|
-
var height = rect.height;
|
|
1889
|
-
if (width === constData.current.width && height === constData.current.height) {
|
|
1890
|
-
return;
|
|
1891
|
-
}
|
|
1892
|
-
constData.current.width = width;
|
|
1893
|
-
constData.current.height = height;
|
|
1894
|
-
clearTimeout(constData.current.resizeLimit);
|
|
1895
|
-
constData.current.resizeLimit = setTimeout(function () {
|
|
1896
|
-
props.cb();
|
|
1897
|
-
}, 100);
|
|
1898
|
-
};
|
|
1899
|
-
// 监听表格容器宽高发生变化
|
|
1900
|
-
var resizeObserverDom = function resizeObserverDom() {
|
|
1901
|
-
var dom = props.dom;
|
|
1902
|
-
if (!dom) return;
|
|
1903
|
-
if (window.ResizeObserver === undefined) {
|
|
1904
|
-
clearInterval(constData.current.resizeTimer);
|
|
1905
|
-
constData.current.resizeTimer = setInterval(function () {
|
|
1906
|
-
var tableRefEleRect = dom.getBoundingClientRect();
|
|
1907
|
-
isChangeSize(tableRefEleRect);
|
|
1908
|
-
});
|
|
1909
|
-
} else {
|
|
1910
|
-
// 创建一个ResizeObserver实例并传入回调函数
|
|
1911
|
-
var resizeObserver = new ResizeObserver(function (entries) {
|
|
1912
|
-
var _a;
|
|
1913
|
-
var contentRect = (_a = entries[0]) === null || _a === void 0 ? void 0 : _a.contentRect;
|
|
1914
|
-
isChangeSize(contentRect);
|
|
1915
|
-
});
|
|
1916
|
-
// 开始观察元素
|
|
1917
|
-
resizeObserver.observe(dom);
|
|
1918
|
-
}
|
|
1919
|
-
};
|
|
1920
|
-
};
|
|
1921
|
-
|
|
1922
1937
|
const Table = propsInit => {
|
|
1923
1938
|
const props = useGlobalProps(propsInit, 'Table');
|
|
1924
1939
|
// 判断浏览器
|