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