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