@para-ui/core 4.0.0-rc.5 → 4.0.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button/index.js +1 -1
- package/Cascader/index.js +5 -4
- package/ComboSelect/index.js +27 -16
- package/ComboSelect/lang/en_US.d.ts +1 -0
- package/ComboSelect/lang/index.d.ts +2 -0
- package/ComboSelect/lang/zh_CN.d.ts +1 -0
- package/ComboSelect/utils.d.ts +6 -0
- package/DatePicker/index.js +3 -1
- package/DynamicMultiBox/index.js +8 -5
- package/Form/index.js +9 -5
- package/FormItem/index.js +9 -5
- package/FunctionModal/index.js +2 -2
- package/Selector/index.js +3 -326
- package/SelectorPicker/index.js +3 -2
- package/Stepper/index.js +1 -1
- package/Table/index.js +471 -409
- package/Tabs/index.js +2 -2
- package/Tag/index.js +82 -53
- package/TextEditor/index.js +3 -3
- package/TimePicker/index.js +3 -1
- package/Timeline/index.js +14 -20
- package/ToggleButton/index.js +25 -26
- package/Tooltip/index.js +26 -27
- package/Transfer/index.js +49 -44
- package/Tree/index.js +8 -4
- package/Upload/index.js +624 -407
- package/_verture/{index-0ced30f7.js → index-3cdaba96.js} +3 -18
- package/_verture/{index-f186b5e8.js → index-4fafd0a0.js} +394 -312
- package/_verture/index-d63bd287.js +327 -0
- package/_verture/{index-ef1235fb.js → index-e0f9064d.js} +1 -1
- package/_verture/{slicedToArray-8223a2ef.js → slicedToArray-75fa4188.js} +1 -1
- package/_verture/toConsumableArray-c7a8028f.js +19 -0
- package/_verture/{utils-46e99c9a.js → utils-c17b5265.js} +16 -1
- package/index.js +9 -7
- package/locale/en-US.d.ts +1 -0
- package/locale/index.d.ts +2 -0
- package/locale/index.js +4 -2
- package/locale/zh-CN.d.ts +1 -0
- package/package.json +11 -10
- package/umd/Button.js +7 -7
- package/umd/ButtonGroup.js +1 -1
- package/umd/ComboSelect.js +2 -2
- package/umd/DatePicker.js +1 -1
- package/umd/Descriptions.js +1 -1
- package/umd/Desktop.js +6 -6
- package/umd/Drawer.js +1 -1
- package/umd/DynamicMultiBox.js +2 -2
- package/umd/Form.js +4 -4
- package/umd/FormItem.js +2 -2
- package/umd/FunctionModal.js +1 -1
- package/umd/Modal.js +7 -7
- package/umd/OperateBtn.js +1 -1
- package/umd/PageHeader.js +6 -6
- package/umd/Pagination.js +1 -1
- package/umd/PopConfirm.js +1 -1
- package/umd/Table.js +1 -1
- package/umd/Tabs.js +1 -1
- package/umd/TimePicker.js +7 -7
- package/umd/ToggleButton.js +5 -5
- package/umd/Transfer.js +1 -1
- package/umd/Upload.js +1 -1
- package/umd/locale.js +1 -1
- /package/_verture/{modalContext-5df08980.js → modalContext-8534f23d.js} +0 -0
- /package/_verture/{typeof-c310ee4a.js → typeof-b240b062.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 } from '@paraview/lib';
|
|
5
|
+
import { _ as _typeof } from '../_verture/typeof-adeedc13.js';
|
|
6
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-75fa4188.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-eb13cf56.js';
|
|
16
18
|
import Empty from '../Empty/index.js';
|
|
19
|
+
import { _ as _defineProperty } from '../_verture/defineProperty-1d116156.js';
|
|
17
20
|
import { Radio } from '../Radio/index.js';
|
|
18
21
|
import OperateBtn from '../OperateBtn/index.js';
|
|
19
22
|
import Down from '@para-ui/icons/Down';
|
|
@@ -59,25 +62,23 @@ import '@para-ui/icons/DoubleRight';
|
|
|
59
62
|
* 发送请求
|
|
60
63
|
* @param obj {ReqProps} 请求信息
|
|
61
64
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
data
|
|
68
|
-
} = obj,
|
|
65
|
+
var requestFunc = function requestFunc(obj) {
|
|
66
|
+
var method = obj.method,
|
|
67
|
+
url = obj.url,
|
|
68
|
+
ctx = obj.ctx,
|
|
69
|
+
data = obj.data,
|
|
69
70
|
otherProps = __rest(obj, ["method", "url", "ctx", "data"]);
|
|
70
71
|
if (method === 'Get') {
|
|
71
72
|
return Get(Object.assign({
|
|
72
73
|
url: url,
|
|
73
|
-
ctx
|
|
74
|
+
ctx: ctx
|
|
74
75
|
}, otherProps));
|
|
75
76
|
}
|
|
76
77
|
if (method === 'Post') {
|
|
77
78
|
return Post(Object.assign({
|
|
78
79
|
url: url,
|
|
79
|
-
ctx,
|
|
80
|
-
data
|
|
80
|
+
ctx: ctx,
|
|
81
|
+
data: data
|
|
81
82
|
}, otherProps));
|
|
82
83
|
}
|
|
83
84
|
};
|
|
@@ -86,23 +87,23 @@ const requestFunc = obj => {
|
|
|
86
87
|
* @param obj {ReqProps} 请求信息
|
|
87
88
|
* @return string get请求地址参数
|
|
88
89
|
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
for (
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (
|
|
90
|
+
var handGetReqParams = function handGetReqParams(obj) {
|
|
91
|
+
var str = obj.url;
|
|
92
|
+
var params = obj.data || {};
|
|
93
|
+
var arrKey = Object.keys(params);
|
|
94
|
+
var paramsArr = [];
|
|
95
|
+
for (var i = 0, l = arrKey.length; i < l; i++) {
|
|
96
|
+
var key = arrKey[i];
|
|
97
|
+
var val = params[key];
|
|
98
|
+
if (_typeof(val) === 'object') {
|
|
98
99
|
val = encodeURIComponent(JSON.stringify(val));
|
|
99
100
|
} else {
|
|
100
101
|
val = encodeURIComponent(val);
|
|
101
102
|
}
|
|
102
103
|
paramsArr.push("".concat(key, "=").concat(val));
|
|
103
104
|
}
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
var paramsStr = paramsArr.join('&');
|
|
106
|
+
var pos = str.indexOf('?');
|
|
106
107
|
if (pos !== -1) {
|
|
107
108
|
str += (pos === str.length - 1 ? '' : '&') + paramsStr;
|
|
108
109
|
} else {
|
|
@@ -113,9 +114,9 @@ const handGetReqParams = obj => {
|
|
|
113
114
|
/**
|
|
114
115
|
* 提取字符串里面的数字
|
|
115
116
|
* */
|
|
116
|
-
|
|
117
|
+
var getStringInNumber = function getStringInNumber(str) {
|
|
117
118
|
if (typeof str === 'number') return str;
|
|
118
|
-
|
|
119
|
+
var strHand = str.replace(/[^0-9$]/gi, '');
|
|
119
120
|
return Number(strHand);
|
|
120
121
|
};
|
|
121
122
|
/**
|
|
@@ -123,23 +124,23 @@ const getStringInNumber = str => {
|
|
|
123
124
|
* @param key {string} 键值
|
|
124
125
|
* @param num {number} 过期天数
|
|
125
126
|
* */
|
|
126
|
-
|
|
127
|
+
var getLocalStorageSelectHead = function getLocalStorageSelectHead(key, num) {
|
|
127
128
|
//debugger
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
for (
|
|
132
|
-
|
|
133
|
-
|
|
129
|
+
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
130
|
+
var headJson = JSON.parse(headJsonStr);
|
|
131
|
+
var headJsonArr = Object.keys(headJson);
|
|
132
|
+
for (var i = 0, l = headJsonArr.length; i < l; i++) {
|
|
133
|
+
var keyStr = headJsonArr[i];
|
|
134
|
+
var item = headJson[i];
|
|
134
135
|
if (!item) continue;
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
var newDate = new Date().getTime(); // 当前时间
|
|
137
|
+
var endTime = item.storageTime + item.validity; // 过期时间
|
|
137
138
|
// 过期时间 小于 当前时间, 说明已经过期了, 删除当前表格列数据
|
|
138
139
|
if (endTime < newDate) {
|
|
139
140
|
delete headJson[keyStr];
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
+
var headJsonItem = headJson[key];
|
|
143
144
|
// 重置过期时间
|
|
144
145
|
if (headJsonItem) {
|
|
145
146
|
headJsonItem.storageTime = new Date().getTime();
|
|
@@ -152,9 +153,9 @@ const getLocalStorageSelectHead = (key, num) => {
|
|
|
152
153
|
* @param key {string} 键值
|
|
153
154
|
* @param val {HeadLocalStorageItem} 保存值
|
|
154
155
|
* */
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
var setLocalStorageSelectHead = function setLocalStorageSelectHead(key, val) {
|
|
157
|
+
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
158
|
+
var headJson = JSON.parse(headJsonStr);
|
|
158
159
|
headJson[key] = val;
|
|
159
160
|
window.localStorage.setItem('_paraui_table_head', JSON.stringify(headJson));
|
|
160
161
|
};
|
|
@@ -163,8 +164,8 @@ const setLocalStorageSelectHead = (key, val) => {
|
|
|
163
164
|
* @param el 当前元素
|
|
164
165
|
* @param selector 查找元素class
|
|
165
166
|
*/
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
var closest = function closest(el, selector) {
|
|
168
|
+
var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
|
|
168
169
|
while (el) {
|
|
169
170
|
if (matchesSelector.call(el, selector)) {
|
|
170
171
|
break;
|
|
@@ -354,49 +355,69 @@ var zh = {
|
|
|
354
355
|
};
|
|
355
356
|
|
|
356
357
|
var localeJson = {
|
|
357
|
-
zh,
|
|
358
|
-
en
|
|
358
|
+
zh: zh,
|
|
359
|
+
en: en
|
|
359
360
|
};
|
|
360
361
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
headData = [],
|
|
364
|
-
sortTable,
|
|
365
|
-
filter,
|
|
366
|
-
expandable,
|
|
367
|
-
check,
|
|
368
|
-
radio,
|
|
369
|
-
onRequestSort,
|
|
370
|
-
orderFieldArr =
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
362
|
+
var TableHead$1 = function TableHead(props) {
|
|
363
|
+
var _props$headData = props.headData,
|
|
364
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
365
|
+
sortTable = props.sortTable,
|
|
366
|
+
filter = props.filter,
|
|
367
|
+
expandable = props.expandable,
|
|
368
|
+
check = props.check,
|
|
369
|
+
radio = props.radio,
|
|
370
|
+
onRequestSort = props.onRequestSort,
|
|
371
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
372
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
373
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
374
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
375
|
+
selectAll = props.selectAll,
|
|
376
|
+
selectStatus = props.selectStatus,
|
|
377
|
+
align = props.align,
|
|
378
|
+
_props$showList = props.showList,
|
|
379
|
+
showList = _props$showList === void 0 ? [] : _props$showList,
|
|
380
|
+
changeShowList = props.changeShowList,
|
|
381
|
+
selectFilter = props.selectFilter,
|
|
382
|
+
changeFilter = props.changeFilter,
|
|
383
|
+
operate = props.operate,
|
|
384
|
+
showColumns = props.showColumns,
|
|
385
|
+
fixedTable = props.fixedTable,
|
|
386
|
+
fixedColumn = props.fixedColumn,
|
|
387
|
+
posFixed = props.posFixed,
|
|
388
|
+
beyondText = props.beyondText,
|
|
389
|
+
lineWidth = props.lineWidth,
|
|
390
|
+
dragColumn = props.dragColumn,
|
|
391
|
+
changeColumnWidth = props.changeColumnWidth,
|
|
392
|
+
headDataConfig = props.headDataConfig,
|
|
393
|
+
getPopupContainer = props.getPopupContainer,
|
|
394
|
+
tipMaxWidth = props.tipMaxWidth;
|
|
395
|
+
var _useState = useState(false),
|
|
396
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
397
|
+
indeterminate = _useState2[0],
|
|
398
|
+
setIndeterminate = _useState2[1]; // 半选中
|
|
399
|
+
var _useState3 = useState(false),
|
|
400
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
401
|
+
checked = _useState4[0],
|
|
402
|
+
setChecked = _useState4[1]; // 选中
|
|
403
|
+
var _useState5 = useState(null),
|
|
404
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
405
|
+
anchorElColums = _useState6[0],
|
|
406
|
+
setAnchorElColums = _useState6[1]; // 显示列定位元素
|
|
407
|
+
var _useState7 = useState({}),
|
|
408
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
409
|
+
headDataJson = _useState8[0],
|
|
410
|
+
setHeadDataJson = _useState8[1]; // 显示列json
|
|
411
|
+
var _useState9 = useState({}),
|
|
412
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
413
|
+
filterHead = _useState10[0],
|
|
414
|
+
setFilterHead = _useState10[1]; // 过滤项当前表头数据
|
|
415
|
+
var _useState11 = useState({}),
|
|
416
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
417
|
+
selectFilterCom = _useState12[0],
|
|
418
|
+
setSelectFilterCom = _useState12[1]; // 过滤项当前选中值
|
|
419
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
420
|
+
useEffect(function () {
|
|
400
421
|
// 全选
|
|
401
422
|
if (selectStatus === 'all') {
|
|
402
423
|
setChecked(true);
|
|
@@ -413,17 +434,17 @@ const TableHead$1 = props => {
|
|
|
413
434
|
setIndeterminate(false);
|
|
414
435
|
}
|
|
415
436
|
}, [selectStatus]);
|
|
416
|
-
useEffect(()
|
|
437
|
+
useEffect(function () {
|
|
417
438
|
if (headData) {
|
|
418
|
-
|
|
419
|
-
for (
|
|
420
|
-
|
|
439
|
+
var json = [];
|
|
440
|
+
for (var i = 0, l = headData.length; i < l; i++) {
|
|
441
|
+
var item = headData[i];
|
|
421
442
|
json[item.name] = item;
|
|
422
443
|
}
|
|
423
444
|
setHeadDataJson(json);
|
|
424
445
|
}
|
|
425
446
|
}, [headData]);
|
|
426
|
-
useEffect(()
|
|
447
|
+
useEffect(function () {
|
|
427
448
|
if (selectFilter) setSelectFilterCom(DeepClone(selectFilter));
|
|
428
449
|
}, [selectFilter]);
|
|
429
450
|
/**
|
|
@@ -431,28 +452,30 @@ const TableHead$1 = props => {
|
|
|
431
452
|
* @param name 排序列
|
|
432
453
|
* @param event 当前排序元素
|
|
433
454
|
*/
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
455
|
+
var createSortHandler = function createSortHandler(name, item) {
|
|
456
|
+
return function (event) {
|
|
457
|
+
// 不存在排序,不触发事件
|
|
458
|
+
if (!(sortTable && item.name && item.sort !== false)) return;
|
|
459
|
+
if (onRequestSort) onRequestSort(event, name);
|
|
460
|
+
};
|
|
438
461
|
};
|
|
439
462
|
/**
|
|
440
463
|
* 全选 / 全不选
|
|
441
464
|
* @param event 操作元素
|
|
442
465
|
* @param bol 选中 / 不选中
|
|
443
466
|
*/
|
|
444
|
-
|
|
467
|
+
var onSelectAll = function onSelectAll(event, bol) {
|
|
445
468
|
if (selectAll) selectAll(event, bol);
|
|
446
469
|
};
|
|
447
470
|
/**
|
|
448
471
|
* 点击显示选择列
|
|
449
472
|
* @param event 点击元素
|
|
450
473
|
*/
|
|
451
|
-
|
|
474
|
+
var clickShowColums = function clickShowColums(event) {
|
|
452
475
|
setAnchorElColums(event.currentTarget);
|
|
453
476
|
};
|
|
454
477
|
// 点击隐藏选择列
|
|
455
|
-
|
|
478
|
+
var clickHideColums = function clickHideColums(bol) {
|
|
456
479
|
if (bol) return;
|
|
457
480
|
setAnchorElColums(null);
|
|
458
481
|
};
|
|
@@ -460,27 +483,29 @@ const TableHead$1 = props => {
|
|
|
460
483
|
* 点击显示列 列表
|
|
461
484
|
* @param item 详细
|
|
462
485
|
*/
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
486
|
+
var clickColumsList = function clickColumsList(item) {
|
|
487
|
+
return function () {
|
|
488
|
+
if (item.disabledSelection) return;
|
|
489
|
+
var name = item.name;
|
|
490
|
+
var itemHead = headDataJson[name];
|
|
491
|
+
if (itemHead) {
|
|
492
|
+
// 取消勾选
|
|
493
|
+
delete headDataJson[name];
|
|
494
|
+
var arr = Object.keys(headDataJson);
|
|
495
|
+
var arr1 = [];
|
|
496
|
+
for (var i = 0, l = arr.length; i < l; i++) {
|
|
497
|
+
var _name = arr[i];
|
|
498
|
+
arr1.push(headDataJson[_name]);
|
|
499
|
+
}
|
|
500
|
+
changeShowList && changeShowList(arr1, false, item);
|
|
501
|
+
} else {
|
|
502
|
+
headData.push(item);
|
|
503
|
+
changeShowList && changeShowList(headData, false, item);
|
|
475
504
|
}
|
|
476
|
-
|
|
477
|
-
} else {
|
|
478
|
-
headData.push(item);
|
|
479
|
-
changeShowList && changeShowList(headData, false, item);
|
|
480
|
-
}
|
|
505
|
+
};
|
|
481
506
|
};
|
|
482
507
|
// 重置显示列
|
|
483
|
-
|
|
508
|
+
var resetShowList = function resetShowList() {
|
|
484
509
|
changeShowList && changeShowList(headData, true);
|
|
485
510
|
};
|
|
486
511
|
/**
|
|
@@ -488,63 +513,69 @@ const TableHead$1 = props => {
|
|
|
488
513
|
* @param headCell 当前列信息
|
|
489
514
|
* @param event 元素
|
|
490
515
|
*/
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
516
|
+
var clickShowFilter = function clickShowFilter(headCell) {
|
|
517
|
+
return function (event) {
|
|
518
|
+
setFilterHead(headCell);
|
|
519
|
+
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
520
|
+
};
|
|
494
521
|
};
|
|
495
522
|
// 点击隐藏过滤
|
|
496
|
-
|
|
523
|
+
var clickHideFilter = function clickHideFilter(bol) {
|
|
497
524
|
if (bol) return;
|
|
498
525
|
setFilterHead({});
|
|
499
526
|
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
500
527
|
};
|
|
501
528
|
// 点击过滤
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
const filterRadio = filterHead.filterRadio;
|
|
514
|
-
if (filterRadio) {
|
|
515
|
-
// 过滤单个
|
|
516
|
-
const num = filterValue.indexOf(item.value);
|
|
517
|
-
if (num !== -1) {
|
|
518
|
-
filterValue = [filterValue[num]];
|
|
529
|
+
var clickFilter = function clickFilter(item) {
|
|
530
|
+
return function () {
|
|
531
|
+
var name = filterHead.name;
|
|
532
|
+
var filterValue = DeepClone(selectFilterCom[name] || []);
|
|
533
|
+
var index = filterValue.indexOf(item.value);
|
|
534
|
+
if (index !== -1) {
|
|
535
|
+
// 勾选 -> 不勾选
|
|
536
|
+
filterValue.splice(index, 1);
|
|
537
|
+
} else {
|
|
538
|
+
// 不勾选 -> 勾选
|
|
539
|
+
filterValue.push(item.value);
|
|
519
540
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
541
|
+
var filterRadio = filterHead.filterRadio;
|
|
542
|
+
if (filterRadio) {
|
|
543
|
+
// 过滤单个
|
|
544
|
+
var num = filterValue.indexOf(item.value);
|
|
545
|
+
if (num !== -1) {
|
|
546
|
+
filterValue = [filterValue[num]];
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
selectFilterCom[name] = filterValue;
|
|
550
|
+
setSelectFilterCom(Object.assign({}, selectFilterCom));
|
|
551
|
+
};
|
|
523
552
|
};
|
|
524
553
|
/**
|
|
525
554
|
* 重置 / 确定过滤
|
|
526
555
|
* @param type {'reset' | 'confirm'} 重置 / 确定过滤
|
|
527
556
|
*/
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
557
|
+
var filterFunc = function filterFunc(type) {
|
|
558
|
+
return function () {
|
|
559
|
+
if (type === 'confirm') {
|
|
560
|
+
// 确定
|
|
561
|
+
changeFilter && changeFilter(Object.assign({}, selectFilterCom));
|
|
562
|
+
setFilterHead({});
|
|
563
|
+
} else {
|
|
564
|
+
// 重置
|
|
565
|
+
var json = DeepClone(selectFilterCom);
|
|
566
|
+
delete json[filterHead.name];
|
|
567
|
+
setSelectFilterCom(json);
|
|
568
|
+
changeFilter && changeFilter(Object.assign({}, json));
|
|
569
|
+
setFilterHead({});
|
|
570
|
+
}
|
|
571
|
+
};
|
|
541
572
|
};
|
|
542
573
|
/**
|
|
543
574
|
* 自定义过滤确定
|
|
544
575
|
* @param val {[name: string]: any[]}
|
|
545
576
|
* */
|
|
546
|
-
|
|
547
|
-
|
|
577
|
+
var filterCustomConfirm = function filterCustomConfirm() {
|
|
578
|
+
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
548
579
|
changeFilter && changeFilter(Object.assign({}, val));
|
|
549
580
|
setFilterHead({});
|
|
550
581
|
};
|
|
@@ -552,12 +583,12 @@ const TableHead$1 = props => {
|
|
|
552
583
|
* 处理TableCell
|
|
553
584
|
* @param item 当前列信息
|
|
554
585
|
*/
|
|
555
|
-
|
|
556
|
-
|
|
586
|
+
var handCellClass = function handCellClass(item) {
|
|
587
|
+
var str = 'table-header-box';
|
|
557
588
|
// 排序
|
|
558
589
|
if (sortTable && item.name && item.sort !== false) {
|
|
559
590
|
str += ' table-header-box-sort';
|
|
560
|
-
|
|
591
|
+
var index = orderFieldArr.indexOf(item.name);
|
|
561
592
|
if (index !== -1) {
|
|
562
593
|
// 升序
|
|
563
594
|
if (orderTypeArr[index] === 'asc') {
|
|
@@ -576,10 +607,10 @@ const TableHead$1 = props => {
|
|
|
576
607
|
return str;
|
|
577
608
|
};
|
|
578
609
|
// 复选框memo
|
|
579
|
-
|
|
610
|
+
var TableCheckMemo = useMemo(function () {
|
|
580
611
|
if (check) {
|
|
581
|
-
|
|
582
|
-
|
|
612
|
+
var handCls = function handCls() {
|
|
613
|
+
var str = 'table-checkbox table-head-btn';
|
|
583
614
|
if (fixedColumn) {
|
|
584
615
|
str += ' table-fixed-dom-left';
|
|
585
616
|
// 左边没有定位,且没有单选,没有嵌套表格
|
|
@@ -607,10 +638,10 @@ const TableHead$1 = props => {
|
|
|
607
638
|
}
|
|
608
639
|
}, [check, indeterminate, checked, selectAll, posFixed, radio, expandable, fixedColumn]);
|
|
609
640
|
// 单选框memo
|
|
610
|
-
|
|
641
|
+
var TableRadioMemo = useMemo(function () {
|
|
611
642
|
if (radio) {
|
|
612
|
-
|
|
613
|
-
|
|
643
|
+
var handCls = function handCls() {
|
|
644
|
+
var str = 'table-radio table-head-btn';
|
|
614
645
|
if (fixedColumn) {
|
|
615
646
|
str += ' table-fixed-dom-left';
|
|
616
647
|
// 左边没有定位,没有嵌套表格
|
|
@@ -632,10 +663,10 @@ const TableHead$1 = props => {
|
|
|
632
663
|
}
|
|
633
664
|
}, [radio, posFixed, expandable, fixedColumn]);
|
|
634
665
|
// 嵌套表格memo
|
|
635
|
-
|
|
666
|
+
var TableExpandableMemo = useMemo(function () {
|
|
636
667
|
if (expandable) {
|
|
637
|
-
|
|
638
|
-
|
|
668
|
+
var handCls = function handCls() {
|
|
669
|
+
var str = 'table-expandable table-head-btn';
|
|
639
670
|
if (fixedColumn) {
|
|
640
671
|
str += ' table-fixed-dom-left';
|
|
641
672
|
// 左边没有定位,没有嵌套表格
|
|
@@ -657,21 +688,21 @@ const TableHead$1 = props => {
|
|
|
657
688
|
}
|
|
658
689
|
}, [expandable, posFixed, fixedColumn]);
|
|
659
690
|
// 过滤弹窗内容
|
|
660
|
-
|
|
661
|
-
|
|
691
|
+
var filterPopoverContent = function filterPopoverContent() {
|
|
692
|
+
var name = filterHead.name;
|
|
662
693
|
if (!name) return;
|
|
663
|
-
|
|
694
|
+
var filterValue = selectFilterCom[name] || [];
|
|
664
695
|
if (filterHead.filterRender) {
|
|
665
696
|
// 自定义渲染过滤
|
|
666
697
|
return filterHead.filterRender({
|
|
667
|
-
filterValue,
|
|
698
|
+
filterValue: filterValue,
|
|
668
699
|
selectFilter: selectFilterCom,
|
|
669
|
-
filterHead,
|
|
700
|
+
filterHead: filterHead,
|
|
670
701
|
setFilter: filterCustomConfirm
|
|
671
702
|
});
|
|
672
703
|
}
|
|
673
|
-
|
|
674
|
-
|
|
704
|
+
var arr = filterHead.enums || [];
|
|
705
|
+
var str = 'filter-select';
|
|
675
706
|
if (arr.length === 0) str += ' filter-select-none';
|
|
676
707
|
return jsx("div", Object.assign({
|
|
677
708
|
className: str
|
|
@@ -686,8 +717,8 @@ const TableHead$1 = props => {
|
|
|
686
717
|
children: [jsx("div", Object.assign({
|
|
687
718
|
className: "filter-select-box"
|
|
688
719
|
}, {
|
|
689
|
-
children: arr.map((item, index)
|
|
690
|
-
|
|
720
|
+
children: arr.map(function (item, index) {
|
|
721
|
+
var checked = filterValue.indexOf(item.value) !== -1;
|
|
691
722
|
return jsxs("div", Object.assign({
|
|
692
723
|
onClick: clickFilter(item),
|
|
693
724
|
className: checked ? 'filter-select-item filter-select-item-select' : 'filter-select-item'
|
|
@@ -726,28 +757,30 @@ const TableHead$1 = props => {
|
|
|
726
757
|
}));
|
|
727
758
|
};
|
|
728
759
|
// 表格列拖拽放下
|
|
729
|
-
|
|
730
|
-
|
|
760
|
+
var onDragDown = function onDragDown(headCell) {
|
|
761
|
+
return function (result) {
|
|
762
|
+
changeColumnWidth && changeColumnWidth(headCell, result);
|
|
763
|
+
};
|
|
731
764
|
};
|
|
732
765
|
// 获取宽度
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
766
|
+
var getWidth = function getWidth(item) {
|
|
767
|
+
var w = item.width || '';
|
|
768
|
+
var name = item.name || '';
|
|
769
|
+
var wDrag = headDataConfig[name] && headDataConfig[name].width;
|
|
737
770
|
if (wDrag) w = "".concat(wDrag, "px");
|
|
738
771
|
return w;
|
|
739
772
|
};
|
|
740
773
|
// 内容列memo
|
|
741
|
-
|
|
774
|
+
var TableContentMemo = useMemo(function () {
|
|
742
775
|
// 处理过滤的class
|
|
743
|
-
|
|
744
|
-
|
|
776
|
+
var handFilterClass = function handFilterClass(item) {
|
|
777
|
+
var str = 'table-header-filter';
|
|
745
778
|
if (filterHead.name === item.name) str += ' table-header-filter-show';
|
|
746
779
|
if (item.name && selectFilterCom[item.name] && selectFilterCom[item.name].length > 0) str += ' table-header-filter-select';
|
|
747
780
|
return str;
|
|
748
781
|
};
|
|
749
|
-
|
|
750
|
-
|
|
782
|
+
var handCls = function handCls(item) {
|
|
783
|
+
var str = '';
|
|
751
784
|
if (item.className) str += item.className;
|
|
752
785
|
if (fixedColumn && item.fixed) {
|
|
753
786
|
str += " table-fixed-dom-".concat(item.fixed);
|
|
@@ -762,8 +795,8 @@ const TableHead$1 = props => {
|
|
|
762
795
|
}
|
|
763
796
|
return str;
|
|
764
797
|
};
|
|
765
|
-
|
|
766
|
-
|
|
798
|
+
var handStyle = function handStyle(item) {
|
|
799
|
+
var json = {
|
|
767
800
|
width: getWidth(item)
|
|
768
801
|
};
|
|
769
802
|
if (fixedColumn && item.fixed && item.width) {
|
|
@@ -777,13 +810,13 @@ const TableHead$1 = props => {
|
|
|
777
810
|
return Object.assign(Object.assign({}, json), item.style);
|
|
778
811
|
};
|
|
779
812
|
// 处理拖拽
|
|
780
|
-
|
|
813
|
+
var handDrag = function handDrag(item) {
|
|
781
814
|
if (item.name === 'table-serial-number') return false; // 序号不拖拽
|
|
782
815
|
if (dragColumn && item.drag !== false) return true;
|
|
783
816
|
return false;
|
|
784
817
|
};
|
|
785
|
-
return headData.map((headCell, index)
|
|
786
|
-
|
|
818
|
+
return headData.map(function (headCell, index) {
|
|
819
|
+
var str = "".concat($prefixCls, "-filter-popover ").concat($prefixCls, "-scrollbar-small");
|
|
787
820
|
if (!headCell.filterRender) str += " ".concat($prefixCls, "-filter-popover-default");
|
|
788
821
|
return jsx(ThElement, Object.assign({
|
|
789
822
|
className: handCls(headCell),
|
|
@@ -800,7 +833,9 @@ const TableHead$1 = props => {
|
|
|
800
833
|
content: filterPopoverContent(),
|
|
801
834
|
onVisibleChange: clickHideFilter,
|
|
802
835
|
overlayClassName: str,
|
|
803
|
-
getPopupContainer: getPopupContainer ? getPopupContainer : ()
|
|
836
|
+
getPopupContainer: getPopupContainer ? getPopupContainer : function () {
|
|
837
|
+
return document.body;
|
|
838
|
+
}
|
|
804
839
|
}, {
|
|
805
840
|
children: jsxs("div", Object.assign({
|
|
806
841
|
className: handCellClass(headCell)
|
|
@@ -844,10 +879,10 @@ const TableHead$1 = props => {
|
|
|
844
879
|
});
|
|
845
880
|
}, [headData, sortTable, filter, orderFieldArr, orderTypeArr, align, filterHead, selectFilterCom, beyondText, selectFilter, fixedColumn, lineWidth, dragColumn, changeColumnWidth, headDataConfig, getPopupContainer, tipMaxWidth]);
|
|
846
881
|
// 操作栏memo
|
|
847
|
-
|
|
882
|
+
var TableOperateMemo = useMemo(function () {
|
|
848
883
|
if (operate) {
|
|
849
|
-
|
|
850
|
-
|
|
884
|
+
var handCls = function handCls() {
|
|
885
|
+
var str = 'table-operate';
|
|
851
886
|
if (operate.operateBtnRender) str += ' table-operate-small';
|
|
852
887
|
if (fixedColumn) {
|
|
853
888
|
str += ' table-fixed-dom-right';
|
|
@@ -858,8 +893,8 @@ const TableHead$1 = props => {
|
|
|
858
893
|
}
|
|
859
894
|
return str;
|
|
860
895
|
};
|
|
861
|
-
|
|
862
|
-
|
|
896
|
+
var handStyle = function handStyle() {
|
|
897
|
+
var json = {
|
|
863
898
|
width: operate.width
|
|
864
899
|
};
|
|
865
900
|
if (fixedColumn) {
|
|
@@ -895,16 +930,16 @@ const TableHead$1 = props => {
|
|
|
895
930
|
}
|
|
896
931
|
}, [operate, align, posFixed, showColumns, posFixed, beyondText, fixedColumn, tipMaxWidth]);
|
|
897
932
|
// 显示列弹窗内容
|
|
898
|
-
|
|
933
|
+
var showListContent = function showListContent() {
|
|
899
934
|
return jsxs("div", Object.assign({
|
|
900
935
|
className: "show-colums-select"
|
|
901
936
|
}, {
|
|
902
937
|
children: [jsx("div", Object.assign({
|
|
903
938
|
className: "show-colums-select-box"
|
|
904
939
|
}, {
|
|
905
|
-
children: showList.map((item, index)
|
|
906
|
-
|
|
907
|
-
|
|
940
|
+
children: showList.map(function (item, index) {
|
|
941
|
+
var checked = Boolean(headDataJson[item.name]);
|
|
942
|
+
var str = 'show-colums-select-item';
|
|
908
943
|
if (checked) str += ' show-colums-select-item-select';
|
|
909
944
|
if (item.disabledSelection) str += ' show-colums-select-item-disabled';
|
|
910
945
|
return jsxs("div", Object.assign({
|
|
@@ -938,9 +973,9 @@ const TableHead$1 = props => {
|
|
|
938
973
|
}));
|
|
939
974
|
};
|
|
940
975
|
// 显示列memo
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
976
|
+
var TableShowList = useMemo(function () {
|
|
977
|
+
var handCls = function handCls() {
|
|
978
|
+
var str = 'show-colums table-fixed-dom-right';
|
|
944
979
|
// 没有固定列参数 或者 没有操作栏且没有右侧固定列
|
|
945
980
|
if (!fixedColumn || !operate && !(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
946
981
|
str += ' table-fixed-dom-right-first';
|
|
@@ -953,7 +988,9 @@ const TableHead$1 = props => {
|
|
|
953
988
|
content: showListContent(),
|
|
954
989
|
onVisibleChange: clickHideColums,
|
|
955
990
|
overlayClassName: "".concat($prefixCls, "-table-show-colums-popover ").concat($prefixCls, "-scrollbar-small"),
|
|
956
|
-
getPopupContainer: getPopupContainer ? getPopupContainer : ()
|
|
991
|
+
getPopupContainer: getPopupContainer ? getPopupContainer : function () {
|
|
992
|
+
return document.body;
|
|
993
|
+
}
|
|
957
994
|
}, {
|
|
958
995
|
children: jsx(ThElement, Object.assign({
|
|
959
996
|
align: "center",
|
|
@@ -970,8 +1007,8 @@ const TableHead$1 = props => {
|
|
|
970
1007
|
}));
|
|
971
1008
|
}, [showColumns, posFixed, operate, anchorElColums, showList, headDataJson, getPopupContainer, tipMaxWidth]);
|
|
972
1009
|
// 处理class
|
|
973
|
-
|
|
974
|
-
|
|
1010
|
+
var handClass = function handClass() {
|
|
1011
|
+
var str = 'table-head';
|
|
975
1012
|
if (showColumns === 'inside') str += ' table-head-inside';
|
|
976
1013
|
if (!fixedTable) str += ' table-head-scroll'; // 防止长度过长
|
|
977
1014
|
// 没有 复选框,单选框,展开 按钮
|
|
@@ -1029,71 +1066,92 @@ var TdElement = function TdElement(props) {
|
|
|
1029
1066
|
}));
|
|
1030
1067
|
};
|
|
1031
1068
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
rowData = [],
|
|
1037
|
-
rowKey =
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1069
|
+
var TableBody = function TableBody(props) {
|
|
1070
|
+
var url = props.url,
|
|
1071
|
+
emptyProps = props.emptyProps,
|
|
1072
|
+
_props$rowData = props.rowData,
|
|
1073
|
+
rowData = _props$rowData === void 0 ? [] : _props$rowData,
|
|
1074
|
+
_props$rowKey = props.rowKey,
|
|
1075
|
+
rowKey = _props$rowKey === void 0 ? 'key' : _props$rowKey,
|
|
1076
|
+
check = props.check,
|
|
1077
|
+
radio = props.radio,
|
|
1078
|
+
tableCell = props.tableCell,
|
|
1079
|
+
expandable = props.expandable,
|
|
1080
|
+
_props$headData = props.headData,
|
|
1081
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
1082
|
+
_props$disabledJson = props.disabledJson,
|
|
1083
|
+
disabledJson = _props$disabledJson === void 0 ? {} : _props$disabledJson,
|
|
1084
|
+
disabledArrStatus = props.disabledArrStatus,
|
|
1085
|
+
_props$checkJson = props.checkJson,
|
|
1086
|
+
checkJson = _props$checkJson === void 0 ? {} : _props$checkJson,
|
|
1087
|
+
radioValue = props.radioValue,
|
|
1088
|
+
selectCheck = props.selectCheck,
|
|
1089
|
+
selectRadio = props.selectRadio,
|
|
1090
|
+
align = props.align,
|
|
1091
|
+
operate = props.operate,
|
|
1092
|
+
showColumns = props.showColumns,
|
|
1093
|
+
fixedTable = props.fixedTable,
|
|
1094
|
+
fixedColumn = props.fixedColumn,
|
|
1095
|
+
formatter = props.formatter,
|
|
1096
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
1097
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
1098
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
1099
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
1100
|
+
sortTable = props.sortTable,
|
|
1101
|
+
loadState = props.loadState,
|
|
1102
|
+
loadMore = props.loadMore,
|
|
1103
|
+
loadMoreRender = props.loadMoreRender,
|
|
1104
|
+
onClickMore = props.onClickMore,
|
|
1105
|
+
total = props.total,
|
|
1106
|
+
page = props.page,
|
|
1107
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1108
|
+
changePage = props.changePage,
|
|
1109
|
+
loadMoreUrl = props.loadMoreUrl,
|
|
1110
|
+
_props$expandMultiple = props.expandMultiple,
|
|
1111
|
+
expandMultiple = _props$expandMultiple === void 0 ? false : _props$expandMultiple,
|
|
1112
|
+
_props$expandValue = props.expandValue,
|
|
1113
|
+
expandValue = _props$expandValue === void 0 ? [] : _props$expandValue,
|
|
1114
|
+
_props$disabledExpand = props.disabledExpand,
|
|
1115
|
+
disabledExpand = _props$disabledExpand === void 0 ? [] : _props$disabledExpand,
|
|
1116
|
+
_props$defaultExpandA = props.defaultExpandAllRows,
|
|
1117
|
+
defaultExpandAllRows = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
1118
|
+
onExpand = props.onExpand,
|
|
1119
|
+
_onRefresh = props.onRefresh,
|
|
1120
|
+
posFixed = props.posFixed,
|
|
1121
|
+
beyondText = props.beyondText,
|
|
1122
|
+
onClickRow = props.onClickRow,
|
|
1123
|
+
rowClassMapping = props.rowClassMapping,
|
|
1124
|
+
tipMaxWidth = props.tipMaxWidth,
|
|
1125
|
+
lineHeight = props.lineHeight;
|
|
1126
|
+
var _useState = useState(0),
|
|
1127
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1128
|
+
expandableColSpan = _useState2[0],
|
|
1129
|
+
setExpandableColSpan = _useState2[1]; // 嵌套表格合并列数
|
|
1130
|
+
var _useState3 = useState({}),
|
|
1131
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1132
|
+
expandableRow = _useState4[0],
|
|
1133
|
+
setExpandableRow = _useState4[1]; // 当前哪行展开表格嵌套
|
|
1134
|
+
var _useState5 = useState(true),
|
|
1135
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1136
|
+
showMoreBtn = _useState6[0],
|
|
1137
|
+
setShowMoreBtn = _useState6[1]; // 加载更多
|
|
1138
|
+
var _useState7 = useState({}),
|
|
1139
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1140
|
+
disabledExpandJson = _useState8[0],
|
|
1141
|
+
setDisabledExpand = _useState8[1]; // 禁用加减部分嵌套
|
|
1142
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
1085
1143
|
// 默认是否展开所有
|
|
1086
|
-
useEffect(()
|
|
1144
|
+
useEffect(function () {
|
|
1087
1145
|
if (!defaultExpandAllRows) {
|
|
1088
1146
|
setExpandableRow({});
|
|
1089
1147
|
return;
|
|
1090
1148
|
}
|
|
1091
|
-
|
|
1092
|
-
for (
|
|
1093
|
-
|
|
1094
|
-
|
|
1149
|
+
var json = {};
|
|
1150
|
+
for (var i = 0, l = rowData.length; i < l; i++) {
|
|
1151
|
+
var item = rowData[i] || {};
|
|
1152
|
+
var id = item[rowKey];
|
|
1095
1153
|
json[id] = {
|
|
1096
|
-
id,
|
|
1154
|
+
id: id,
|
|
1097
1155
|
status: 'develop'
|
|
1098
1156
|
};
|
|
1099
1157
|
}
|
|
@@ -1101,41 +1159,41 @@ const TableBody = props => {
|
|
|
1101
1159
|
}, [defaultExpandAllRows, rowData, rowKey]);
|
|
1102
1160
|
// 监听展开表格
|
|
1103
1161
|
// 如果直接写expandMultiple, expandValue会死循环
|
|
1104
|
-
useEffect(()
|
|
1162
|
+
useEffect(function () {
|
|
1105
1163
|
if (props.expandValue === undefined) return;
|
|
1106
|
-
|
|
1107
|
-
|
|
1164
|
+
var json = {};
|
|
1165
|
+
var expandValueHand = expandValue;
|
|
1108
1166
|
// 只展开一个,去第一个值
|
|
1109
1167
|
if (!expandMultiple && expandValue.length > 0) {
|
|
1110
1168
|
expandValueHand = [expandValue[0]];
|
|
1111
1169
|
}
|
|
1112
|
-
for (
|
|
1113
|
-
|
|
1170
|
+
for (var i = 0, l = expandValueHand.length; i < l; i++) {
|
|
1171
|
+
var id = expandValueHand[i];
|
|
1114
1172
|
json[id] = {
|
|
1115
|
-
id,
|
|
1173
|
+
id: id,
|
|
1116
1174
|
status: 'develop'
|
|
1117
1175
|
};
|
|
1118
1176
|
}
|
|
1119
1177
|
setExpandableRow(json);
|
|
1120
1178
|
}, [props.expandMultiple, props.expandValue, rowData]);
|
|
1121
1179
|
// 监听禁用嵌套 props.disabledExpand 防止死循环
|
|
1122
|
-
useEffect(()
|
|
1123
|
-
|
|
1124
|
-
for (
|
|
1125
|
-
|
|
1180
|
+
useEffect(function () {
|
|
1181
|
+
var json = {};
|
|
1182
|
+
for (var i = 0, l = disabledExpand.length; i < l; i++) {
|
|
1183
|
+
var id = disabledExpand[i];
|
|
1126
1184
|
json[id] = true;
|
|
1127
1185
|
}
|
|
1128
1186
|
setDisabledExpand(json);
|
|
1129
1187
|
}, [props.disabledExpand]);
|
|
1130
|
-
useEffect(()
|
|
1188
|
+
useEffect(function () {
|
|
1131
1189
|
if (loadMoreUrl) {
|
|
1132
|
-
|
|
1190
|
+
var bol = Number(total) > Number(page) * Number(currentRowsPerPage);
|
|
1133
1191
|
setShowMoreBtn(bol);
|
|
1134
1192
|
}
|
|
1135
1193
|
}, [loadMoreUrl, total, page, currentRowsPerPage]);
|
|
1136
1194
|
// 处理嵌套表格合并列数
|
|
1137
|
-
useEffect(()
|
|
1138
|
-
|
|
1195
|
+
useEffect(function () {
|
|
1196
|
+
var num = headData.length;
|
|
1139
1197
|
if (expandable) num += 1;
|
|
1140
1198
|
if (check) num += 1;
|
|
1141
1199
|
if (radio) num += 1;
|
|
@@ -1144,55 +1202,55 @@ const TableBody = props => {
|
|
|
1144
1202
|
setExpandableColSpan(num);
|
|
1145
1203
|
}, [headData, expandable, check, radio]);
|
|
1146
1204
|
// 展开/收起嵌套表格
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1205
|
+
var handClickNestTable = function handClickNestTable(row) {
|
|
1206
|
+
return function (event) {
|
|
1207
|
+
var id = row[rowKey];
|
|
1208
|
+
var expandItem = expandableRow[id] || {};
|
|
1209
|
+
var status = 'develop';
|
|
1210
|
+
if (expandItem.status === 'develop') status = 'retract';
|
|
1211
|
+
expandItem = {
|
|
1212
|
+
id: id,
|
|
1213
|
+
status: status
|
|
1214
|
+
};
|
|
1215
|
+
if (expandMultiple) {
|
|
1216
|
+
// 展开多个
|
|
1217
|
+
expandableRow[id] = expandItem;
|
|
1218
|
+
setExpandableRow(Object.assign({}, expandableRow));
|
|
1219
|
+
} else {
|
|
1220
|
+
// 展开一个
|
|
1221
|
+
setExpandableRow(_defineProperty({}, id, expandItem));
|
|
1222
|
+
}
|
|
1223
|
+
onExpand && onExpand(row, status);
|
|
1224
|
+
event.stopPropagation();
|
|
1155
1225
|
};
|
|
1156
|
-
if (expandMultiple) {
|
|
1157
|
-
// 展开多个
|
|
1158
|
-
expandableRow[id] = expandItem;
|
|
1159
|
-
setExpandableRow(Object.assign({}, expandableRow));
|
|
1160
|
-
} else {
|
|
1161
|
-
// 展开一个
|
|
1162
|
-
setExpandableRow({
|
|
1163
|
-
[id]: expandItem
|
|
1164
|
-
});
|
|
1165
|
-
}
|
|
1166
|
-
onExpand && onExpand(row, status);
|
|
1167
|
-
event.stopPropagation();
|
|
1168
1226
|
};
|
|
1169
1227
|
// 处理class
|
|
1170
|
-
|
|
1171
|
-
|
|
1228
|
+
var handClass = function handClass() {
|
|
1229
|
+
var str = 'table-body';
|
|
1172
1230
|
if (!fixedTable) str += ' table-body-scroll';
|
|
1173
1231
|
// 没有 复选框,单选框,展开 按钮
|
|
1174
1232
|
if (!check && !radio && !expandable) str += ' table-body-no-btn';
|
|
1175
1233
|
return str;
|
|
1176
1234
|
};
|
|
1177
1235
|
// 处理嵌套表格class
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1236
|
+
var handExpandClass = function handExpandClass(row) {
|
|
1237
|
+
var id = row[rowKey];
|
|
1238
|
+
var expandItem = expandableRow[id] || {};
|
|
1239
|
+
var str = 'retract';
|
|
1182
1240
|
if (expandItem.status === 'develop') {
|
|
1183
1241
|
str = 'expand';
|
|
1184
1242
|
}
|
|
1185
1243
|
return str;
|
|
1186
1244
|
};
|
|
1187
1245
|
// 点击加载更多
|
|
1188
|
-
|
|
1246
|
+
var clickMore = function clickMore() {
|
|
1189
1247
|
if (loadMoreUrl) changePage && changePage();
|
|
1190
1248
|
onClickMore && onClickMore();
|
|
1191
1249
|
};
|
|
1192
1250
|
// 暂无数据memo
|
|
1193
|
-
|
|
1251
|
+
var NodataMemo = useMemo(function () {
|
|
1194
1252
|
// 处理刷新按钮
|
|
1195
|
-
|
|
1253
|
+
var handRefreshBtn = function handRefreshBtn() {
|
|
1196
1254
|
if ((emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh) !== undefined) {
|
|
1197
1255
|
return emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh;
|
|
1198
1256
|
}
|
|
@@ -1202,8 +1260,8 @@ const TableBody = props => {
|
|
|
1202
1260
|
return false;
|
|
1203
1261
|
};
|
|
1204
1262
|
// 处理className
|
|
1205
|
-
|
|
1206
|
-
|
|
1263
|
+
var handClassNoData = function handClassNoData() {
|
|
1264
|
+
var str = 'table-no-data';
|
|
1207
1265
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size) str += " table-no-data-".concat(emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size);
|
|
1208
1266
|
return str;
|
|
1209
1267
|
};
|
|
@@ -1216,24 +1274,24 @@ const TableBody = props => {
|
|
|
1216
1274
|
}, {
|
|
1217
1275
|
children: jsx(Empty, Object.assign({}, emptyProps, {
|
|
1218
1276
|
showRefresh: handRefreshBtn(),
|
|
1219
|
-
onRefresh: event
|
|
1277
|
+
onRefresh: function onRefresh(event) {
|
|
1220
1278
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.onRefresh) {
|
|
1221
1279
|
emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.onRefresh(event);
|
|
1222
1280
|
return;
|
|
1223
1281
|
}
|
|
1224
|
-
|
|
1282
|
+
_onRefresh && _onRefresh();
|
|
1225
1283
|
}
|
|
1226
1284
|
}))
|
|
1227
1285
|
}))
|
|
1228
1286
|
}));
|
|
1229
|
-
}, [expandableColSpan, emptyProps, url,
|
|
1287
|
+
}, [expandableColSpan, emptyProps, url, _onRefresh]);
|
|
1230
1288
|
// 复选框useCallback
|
|
1231
|
-
|
|
1289
|
+
var TableCheckCallback = useCallback(function (row) {
|
|
1232
1290
|
if (check) {
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1291
|
+
var handId = row[rowKey];
|
|
1292
|
+
var disabledHand = Boolean(disabledJson[handId]);
|
|
1293
|
+
var checkHand = checkJson[handId] || false;
|
|
1294
|
+
var showCheck = true;
|
|
1237
1295
|
if (disabledHand && disabledArrStatus) {
|
|
1238
1296
|
// 选中
|
|
1239
1297
|
if (disabledArrStatus[handId] === true) {
|
|
@@ -1248,8 +1306,8 @@ const TableBody = props => {
|
|
|
1248
1306
|
showCheck = false;
|
|
1249
1307
|
}
|
|
1250
1308
|
}
|
|
1251
|
-
|
|
1252
|
-
|
|
1309
|
+
var handCls = function handCls() {
|
|
1310
|
+
var str = 'table-checkbox table-body-btn';
|
|
1253
1311
|
if (fixedColumn) {
|
|
1254
1312
|
str += ' table-fixed-dom-left';
|
|
1255
1313
|
// 左边没有定位,且没有单选,没有嵌套表格
|
|
@@ -1266,7 +1324,7 @@ const TableBody = props => {
|
|
|
1266
1324
|
children: showCheck && jsx(Checkbox, {
|
|
1267
1325
|
disabled: disabledHand,
|
|
1268
1326
|
checked: checkHand,
|
|
1269
|
-
onChange: (event, bol)
|
|
1327
|
+
onChange: function onChange(event, bol) {
|
|
1270
1328
|
event.stopPropagation();
|
|
1271
1329
|
selectCheck && selectCheck(event, bol, row[rowKey]);
|
|
1272
1330
|
}
|
|
@@ -1275,12 +1333,12 @@ const TableBody = props => {
|
|
|
1275
1333
|
}
|
|
1276
1334
|
}, [check, disabledJson, rowKey, checkJson, selectCheck, disabledArrStatus, posFixed, expandable, radio, fixedColumn]);
|
|
1277
1335
|
// 单选框useCallback
|
|
1278
|
-
|
|
1336
|
+
var TableRadioCallback = useCallback(function (row) {
|
|
1279
1337
|
if (radio) {
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1338
|
+
var handId = row[rowKey];
|
|
1339
|
+
var disabledHand = Boolean(disabledJson[handId]);
|
|
1340
|
+
var checkHand = radioValue === row[rowKey];
|
|
1341
|
+
var showRadio = true;
|
|
1284
1342
|
if (disabledHand && disabledArrStatus) {
|
|
1285
1343
|
// 选中
|
|
1286
1344
|
if (disabledArrStatus[handId] === true) {
|
|
@@ -1295,8 +1353,8 @@ const TableBody = props => {
|
|
|
1295
1353
|
showRadio = false;
|
|
1296
1354
|
}
|
|
1297
1355
|
}
|
|
1298
|
-
|
|
1299
|
-
|
|
1356
|
+
var handCls = function handCls() {
|
|
1357
|
+
var str = 'table-radio table-body-btn';
|
|
1300
1358
|
if (fixedColumn) {
|
|
1301
1359
|
str += ' table-fixed-dom-left';
|
|
1302
1360
|
// 左边没有定位,没有嵌套表格
|
|
@@ -1313,7 +1371,7 @@ const TableBody = props => {
|
|
|
1313
1371
|
children: showRadio && jsx(Radio, {
|
|
1314
1372
|
disabled: disabledHand,
|
|
1315
1373
|
checked: checkHand,
|
|
1316
|
-
onChange: event
|
|
1374
|
+
onChange: function onChange(event) {
|
|
1317
1375
|
event.stopPropagation();
|
|
1318
1376
|
selectRadio && selectRadio(event, row[rowKey]);
|
|
1319
1377
|
}
|
|
@@ -1322,13 +1380,13 @@ const TableBody = props => {
|
|
|
1322
1380
|
}
|
|
1323
1381
|
}, [radio, disabledJson, radioValue, rowKey, selectRadio, disabledArrStatus, expandable, posFixed, fixedColumn]);
|
|
1324
1382
|
// 嵌套加减useCallback
|
|
1325
|
-
|
|
1383
|
+
var TableExpandableMemo = useCallback(function (row) {
|
|
1326
1384
|
if (!expandable) return null;
|
|
1327
|
-
|
|
1385
|
+
var expandableDemo = expandable(row);
|
|
1328
1386
|
// 禁用一行表格展开 或者 展开表格返回值为false,返回空列
|
|
1329
1387
|
if (disabledExpandJson[row[rowKey]] || expandableDemo === false) return jsx(TdElement, {});
|
|
1330
|
-
|
|
1331
|
-
|
|
1388
|
+
var handCls = function handCls() {
|
|
1389
|
+
var str = 'table-expandable table-body-btn';
|
|
1332
1390
|
if (fixedColumn) {
|
|
1333
1391
|
str += ' table-fixed-dom-left';
|
|
1334
1392
|
// 左边没有定位,没有嵌套表格
|
|
@@ -1349,17 +1407,17 @@ const TableBody = props => {
|
|
|
1349
1407
|
}));
|
|
1350
1408
|
}, [expandable, expandableRow, rowKey, disabledExpandJson, onExpand, fixedColumn]);
|
|
1351
1409
|
// 表格一行内容useCallback
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
orderFieldArr,
|
|
1355
|
-
orderTypeArr
|
|
1410
|
+
var TableContentUseCallback = useCallback(function (row, rowIndex) {
|
|
1411
|
+
var params = {
|
|
1412
|
+
orderFieldArr: orderFieldArr,
|
|
1413
|
+
orderTypeArr: orderTypeArr
|
|
1356
1414
|
};
|
|
1357
|
-
|
|
1358
|
-
|
|
1415
|
+
var handContentClass = function handContentClass(item) {
|
|
1416
|
+
var str = 'table-content-columms';
|
|
1359
1417
|
if (item.className) str += " ".concat(item.className);
|
|
1360
1418
|
// 排序
|
|
1361
1419
|
if (sortTable && item.name && item.sort !== false) {
|
|
1362
|
-
|
|
1420
|
+
var index = orderFieldArr.indexOf(item.name);
|
|
1363
1421
|
if (index !== -1) {
|
|
1364
1422
|
// 升序
|
|
1365
1423
|
if (orderTypeArr[index] === 'asc') {
|
|
@@ -1384,8 +1442,8 @@ const TableBody = props => {
|
|
|
1384
1442
|
}
|
|
1385
1443
|
return str;
|
|
1386
1444
|
};
|
|
1387
|
-
|
|
1388
|
-
|
|
1445
|
+
var handStyle = function handStyle(item) {
|
|
1446
|
+
var json = {};
|
|
1389
1447
|
if (fixedColumn && item.fixed && item.width) {
|
|
1390
1448
|
if (item.fixed === 'left') {
|
|
1391
1449
|
json.left = "".concat(item.paraui_left_width, "px");
|
|
@@ -1396,12 +1454,12 @@ const TableBody = props => {
|
|
|
1396
1454
|
}
|
|
1397
1455
|
return json;
|
|
1398
1456
|
};
|
|
1399
|
-
return tableCell ? tableCell(row, params) : headData.map((item, index)
|
|
1400
|
-
|
|
1401
|
-
|
|
1457
|
+
return tableCell ? tableCell(row, params) : headData.map(function (item, index) {
|
|
1458
|
+
var text = row[item.name];
|
|
1459
|
+
var colSpan = 1;
|
|
1402
1460
|
if (item.render) text = item.render(row, item, row[item.name], index, rowIndex);
|
|
1403
1461
|
if (formatter) text = formatter(row, item, row[item.name], index, rowIndex);
|
|
1404
|
-
|
|
1462
|
+
var itemStyle = handStyle(item);
|
|
1405
1463
|
// 存在显示列,最后一列占两格
|
|
1406
1464
|
if (showColumns === 'inside' && !operate && index === headData.length - 1) {
|
|
1407
1465
|
colSpan = 2;
|
|
@@ -1425,25 +1483,25 @@ const TableBody = props => {
|
|
|
1425
1483
|
});
|
|
1426
1484
|
}, [tableCell, headData, align, formatter, orderFieldArr, orderTypeArr, sortTable, showColumns, operate, beyondText, fixedColumn, tipMaxWidth]);
|
|
1427
1485
|
// 操作栏useCallback
|
|
1428
|
-
|
|
1486
|
+
var TableOperateUseCallback = useCallback(function (row, rowIndex) {
|
|
1429
1487
|
if (operate) {
|
|
1430
|
-
|
|
1488
|
+
var colSpan = 1;
|
|
1431
1489
|
if (showColumns === 'inside') colSpan = 2;
|
|
1432
|
-
|
|
1490
|
+
var handOperate = function handOperate() {
|
|
1433
1491
|
if (operate.render) return operate.render(row);
|
|
1434
1492
|
if (operate.operateBtnRender) {
|
|
1435
|
-
|
|
1493
|
+
var operateConfig = operate.operateBtnRender(row, rowIndex);
|
|
1436
1494
|
return jsx(OperateBtn, Object.assign({}, operateConfig));
|
|
1437
1495
|
}
|
|
1438
1496
|
};
|
|
1439
|
-
|
|
1440
|
-
|
|
1497
|
+
var handStyle = function handStyle() {
|
|
1498
|
+
var json = {
|
|
1441
1499
|
right: '0'
|
|
1442
1500
|
};
|
|
1443
1501
|
return json;
|
|
1444
1502
|
};
|
|
1445
|
-
|
|
1446
|
-
|
|
1503
|
+
var handCls = function handCls() {
|
|
1504
|
+
var str = 'table-operate';
|
|
1447
1505
|
if (fixedColumn) {
|
|
1448
1506
|
str += ' table-fixed-dom-right';
|
|
1449
1507
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
@@ -1463,11 +1521,11 @@ const TableBody = props => {
|
|
|
1463
1521
|
}
|
|
1464
1522
|
}, [operate, align, showColumns, posFixed, fixedColumn]);
|
|
1465
1523
|
// 嵌套表格useCallback
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1524
|
+
var TableExpandableContentUseCallback = useCallback(function (row) {
|
|
1525
|
+
var id = row[rowKey];
|
|
1526
|
+
var expandItem = expandableRow[id] || {};
|
|
1469
1527
|
if (expandable && expandItem.status === 'develop') {
|
|
1470
|
-
|
|
1528
|
+
var expandableDemo = expandable(row);
|
|
1471
1529
|
if (expandableDemo === false) return null; // 展开表格返回值为false,不展示这一行
|
|
1472
1530
|
return jsx(TrElement, Object.assign({
|
|
1473
1531
|
className: "table-body-expand-row"
|
|
@@ -1482,7 +1540,7 @@ const TableBody = props => {
|
|
|
1482
1540
|
}
|
|
1483
1541
|
}, [expandable, expandableRow, expandableColSpan, rowKey]);
|
|
1484
1542
|
// 加载更多
|
|
1485
|
-
|
|
1543
|
+
var MoreMemo = useMemo(function () {
|
|
1486
1544
|
if (!loadMore || !showMoreBtn) return null;
|
|
1487
1545
|
return jsx(TrElement, Object.assign({
|
|
1488
1546
|
className: "more-table-row",
|
|
@@ -1505,10 +1563,10 @@ const TableBody = props => {
|
|
|
1505
1563
|
}))
|
|
1506
1564
|
}));
|
|
1507
1565
|
}, [expandableColSpan, loadMore, loadMoreRender, onClickMore, showMoreBtn, changePage, loadMoreUrl, lineHeight]);
|
|
1508
|
-
|
|
1566
|
+
var TableBodySubjectContentMemo = useMemo(function () {
|
|
1509
1567
|
return jsx(Fragment, {
|
|
1510
|
-
children: rowData.map((row, index)
|
|
1511
|
-
|
|
1568
|
+
children: rowData.map(function (row, index) {
|
|
1569
|
+
var str = 'table-body-row';
|
|
1512
1570
|
if (rowClassMapping && rowClassMapping[row[rowKey]]) {
|
|
1513
1571
|
str += " ".concat(rowClassMapping[row[rowKey]]);
|
|
1514
1572
|
}
|
|
@@ -1518,7 +1576,7 @@ const TableBody = props => {
|
|
|
1518
1576
|
style: {
|
|
1519
1577
|
height: "".concat(lineHeight, "px")
|
|
1520
1578
|
},
|
|
1521
|
-
onClick: e
|
|
1579
|
+
onClick: function onClick(e) {
|
|
1522
1580
|
onClickRow && onClickRow(row, e);
|
|
1523
1581
|
}
|
|
1524
1582
|
}, {
|
|
@@ -1529,13 +1587,13 @@ const TableBody = props => {
|
|
|
1529
1587
|
});
|
|
1530
1588
|
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, disabledExpandJson, onExpand, disabledArrStatus, showColumns, onClickRow, rowClassMapping, tipMaxWidth, lineHeight]);
|
|
1531
1589
|
// 内容memo
|
|
1532
|
-
|
|
1590
|
+
var TableBodyContentMemo = useMemo(function () {
|
|
1533
1591
|
return jsxs(Fragment$1, {
|
|
1534
1592
|
children: [TableBodySubjectContentMemo, MoreMemo]
|
|
1535
1593
|
});
|
|
1536
1594
|
}, [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]);
|
|
1537
1595
|
// 处理内容
|
|
1538
|
-
|
|
1596
|
+
var handContent = function handContent() {
|
|
1539
1597
|
// 无数据,且不再请求,显示暂无数据
|
|
1540
1598
|
if (rowData.length === 0 && !loadState) return NodataMemo;
|
|
1541
1599
|
return TableBodyContentMemo;
|
|
@@ -1547,29 +1605,35 @@ const TableBody = props => {
|
|
|
1547
1605
|
}));
|
|
1548
1606
|
};
|
|
1549
1607
|
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
checkNumber = 0,
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1608
|
+
var TableHead = function TableHead(props) {
|
|
1609
|
+
var paginationType = props.paginationType,
|
|
1610
|
+
flippingArrow = props.flippingArrow,
|
|
1611
|
+
autoPagination = props.autoPagination,
|
|
1612
|
+
total = props.total,
|
|
1613
|
+
page = props.page,
|
|
1614
|
+
rowsPerPage = props.rowsPerPage,
|
|
1615
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1616
|
+
changePage = props.changePage,
|
|
1617
|
+
changeRowsPerPage = props.changeRowsPerPage,
|
|
1618
|
+
refreshInside = props.refreshInside,
|
|
1619
|
+
checkCount = props.checkCount,
|
|
1620
|
+
onRefresh = props.onRefresh,
|
|
1621
|
+
selectAll = props.selectAll,
|
|
1622
|
+
selectStatus = props.selectStatus,
|
|
1623
|
+
_props$checkNumber = props.checkNumber,
|
|
1624
|
+
checkNumber = _props$checkNumber === void 0 ? 0 : _props$checkNumber,
|
|
1625
|
+
_props$currentPageTot = props.currentPageTotal,
|
|
1626
|
+
currentPageTotal = _props$currentPageTot === void 0 ? 0 : _props$currentPageTot;
|
|
1627
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
1628
|
+
var _useState = useState(false),
|
|
1629
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1630
|
+
indeterminate = _useState2[0],
|
|
1631
|
+
setIndeterminate = _useState2[1]; // 半选中
|
|
1632
|
+
var _useState3 = useState(false),
|
|
1633
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1634
|
+
checked = _useState4[0],
|
|
1635
|
+
setChecked = _useState4[1]; // 选中
|
|
1636
|
+
useEffect(function () {
|
|
1573
1637
|
// 全选
|
|
1574
1638
|
if (selectStatus === 'all') {
|
|
1575
1639
|
setChecked(true);
|
|
@@ -1591,23 +1655,23 @@ const TableHead = props => {
|
|
|
1591
1655
|
* @param event 操作元素
|
|
1592
1656
|
* @param bol 选中 / 不选中
|
|
1593
1657
|
*/
|
|
1594
|
-
|
|
1658
|
+
var onSelectAll = function onSelectAll(event, bol) {
|
|
1595
1659
|
if (selectAll) selectAll(event, bol);
|
|
1596
1660
|
};
|
|
1597
1661
|
// 改变页面
|
|
1598
|
-
|
|
1662
|
+
var changePageCom = function changePageCom(num) {
|
|
1599
1663
|
changePage && changePage(num);
|
|
1600
1664
|
};
|
|
1601
1665
|
// 改变每页显示条数
|
|
1602
|
-
|
|
1666
|
+
var changeRowsPerPageCom = function changeRowsPerPageCom(num) {
|
|
1603
1667
|
changeRowsPerPage && changeRowsPerPage(num);
|
|
1604
1668
|
};
|
|
1605
1669
|
// 刷新
|
|
1606
|
-
|
|
1670
|
+
var clickRefresh = function clickRefresh() {
|
|
1607
1671
|
onRefresh && onRefresh();
|
|
1608
1672
|
};
|
|
1609
1673
|
// 处理分页右侧
|
|
1610
|
-
|
|
1674
|
+
var handlePaginationRight = function handlePaginationRight() {
|
|
1611
1675
|
if (!checkCount) return null;
|
|
1612
1676
|
return jsxs("div", Object.assign({
|
|
1613
1677
|
className: 'table-pagination-right'
|
|
@@ -1630,8 +1694,8 @@ const TableHead = props => {
|
|
|
1630
1694
|
}));
|
|
1631
1695
|
};
|
|
1632
1696
|
// 处理样式
|
|
1633
|
-
|
|
1634
|
-
|
|
1697
|
+
var handleClass = function handleClass() {
|
|
1698
|
+
var str = 'table-pagination';
|
|
1635
1699
|
return str;
|
|
1636
1700
|
};
|
|
1637
1701
|
return jsxs("div", Object.assign({
|
|
@@ -1648,7 +1712,9 @@ const TableHead = props => {
|
|
|
1648
1712
|
currentRowsPerPage: currentRowsPerPage,
|
|
1649
1713
|
changePage: changePageCom,
|
|
1650
1714
|
changeRowsPerPage: changeRowsPerPageCom,
|
|
1651
|
-
getPopupContainer: ()
|
|
1715
|
+
getPopupContainer: function getPopupContainer() {
|
|
1716
|
+
return document.body;
|
|
1717
|
+
}
|
|
1652
1718
|
}), refreshInside && jsx(Button.IconButton, Object.assign({
|
|
1653
1719
|
className: 'refresh-btn',
|
|
1654
1720
|
variant: "outlined",
|
|
@@ -1662,16 +1728,14 @@ const TableHead = props => {
|
|
|
1662
1728
|
var css_248z$2 = ".table-container {\n overflow-x: auto;\n}";
|
|
1663
1729
|
styleInject(css_248z$2);
|
|
1664
1730
|
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
children
|
|
1671
|
-
} = props,
|
|
1731
|
+
var TableContainer = function TableContainer(props) {
|
|
1732
|
+
var cRef = props.cRef,
|
|
1733
|
+
className = props.className,
|
|
1734
|
+
style = props.style,
|
|
1735
|
+
children = props.children,
|
|
1672
1736
|
otherProps = __rest(props, ["cRef", "className", "style", "children"]);
|
|
1673
|
-
|
|
1674
|
-
|
|
1737
|
+
var handClass = function handClass() {
|
|
1738
|
+
var str = 'table-container';
|
|
1675
1739
|
if (className) str += " ".concat(className);
|
|
1676
1740
|
return str;
|
|
1677
1741
|
};
|
|
@@ -1687,16 +1751,14 @@ const TableContainer = props => {
|
|
|
1687
1751
|
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}";
|
|
1688
1752
|
styleInject(css_248z$1);
|
|
1689
1753
|
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
children
|
|
1696
|
-
} = props,
|
|
1754
|
+
var TableElement = function TableElement(props) {
|
|
1755
|
+
var className = props.className,
|
|
1756
|
+
style = props.style,
|
|
1757
|
+
fixedColumn = props.fixedColumn,
|
|
1758
|
+
children = props.children,
|
|
1697
1759
|
otherProps = __rest(props, ["className", "style", "fixedColumn", "children"]);
|
|
1698
|
-
|
|
1699
|
-
|
|
1760
|
+
var handClass = function handClass() {
|
|
1761
|
+
var str = 'table-element';
|
|
1700
1762
|
if (fixedColumn) str += ' table-element-fixed-column';
|
|
1701
1763
|
if (className) str += " ".concat(className);
|
|
1702
1764
|
return str;
|