linkmore-design 1.1.13-alpha.1 → 1.1.14
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/CHANGELOG.md +11 -0
- package/dist/Form/demos/disabled.d.ts +2 -0
- package/dist/LmEditTable/DndContainer.d.ts +3 -4
- package/dist/LmEditTable/EditTable.d.ts +0 -2
- package/dist/LmEditTable/sortableItem.d.ts +2 -3
- package/dist/LmEditTable/util.d.ts +0 -2
- package/dist/LmFilter/LmFilter.d.ts +2 -6
- package/dist/LmTable/expression.d.ts +1 -0
- package/dist/LmTable/hooks/useGroupDataSource.d.ts +7 -0
- package/dist/index.umd.js +364 -517
- package/dist/index.umd.min.js +17 -17
- package/dist/variables.css +3 -29
- package/es/Cascader/index.js +16 -2
- package/es/Form/style/index.css +3 -0
- package/es/Form/style/variables.css +3 -0
- package/es/IconFont/index.js +1 -1
- package/es/Input/index.js +20 -4
- package/es/InputNumber/index.js +9 -2
- package/es/LmEditTable/DndContainer.d.ts +3 -4
- package/es/LmEditTable/DndContainer.js +2 -2
- package/es/LmEditTable/EditTable.d.ts +0 -2
- package/es/LmEditTable/EditTable.js +150 -139
- package/es/LmEditTable/sortableItem.d.ts +2 -3
- package/es/LmEditTable/sortableItem.js +4 -15
- package/es/LmEditTable/style/index.css +0 -29
- package/es/LmEditTable/style/variables.css +0 -29
- package/es/LmEditTable/util.d.ts +0 -2
- package/es/LmEditTable/util.js +1 -47
- package/es/LmFilter/LmFilter.js +6 -6
- package/es/LmFilter/components/DropdownFIlter.js +5 -2
- package/es/LmFilter/index.js +0 -3
- package/es/LmTable/Table.js +10 -7
- package/es/LmTable/expression.d.ts +1 -0
- package/es/LmTable/expression.js +31 -0
- package/es/LmTable/hooks/useGroupDataSource.js +50 -0
- package/es/LmUpload/fns/index.js +8 -3
- package/es/Select/index.js +17 -7
- package/es/hooks/useEvent/index.js +1 -1
- package/es/styles/variables.css +3 -29
- package/lib/Cascader/index.js +16 -2
- package/lib/Form/style/index.css +3 -0
- package/lib/Form/style/variables.css +3 -0
- package/lib/IconFont/index.js +1 -1
- package/lib/Input/index.js +22 -4
- package/lib/InputNumber/index.js +11 -2
- package/lib/LmEditTable/DndContainer.d.ts +3 -4
- package/lib/LmEditTable/DndContainer.js +3 -4
- package/lib/LmEditTable/EditTable.d.ts +0 -2
- package/lib/LmEditTable/EditTable.js +146 -135
- package/lib/LmEditTable/sortableItem.d.ts +2 -3
- package/lib/LmEditTable/sortableItem.js +5 -18
- package/lib/LmEditTable/style/index.css +0 -29
- package/lib/LmEditTable/style/variables.css +0 -29
- package/lib/LmEditTable/util.d.ts +0 -2
- package/lib/LmEditTable/util.js +0 -50
- package/lib/LmFilter/LmFilter.js +6 -6
- package/lib/LmFilter/components/DropdownFIlter.js +5 -2
- package/lib/LmFilter/index.js +0 -3
- package/lib/LmTable/Table.js +10 -7
- package/lib/LmTable/expression.d.ts +1 -0
- package/lib/LmTable/expression.js +41 -0
- package/lib/LmTable/hooks/useGroupDataSource.js +50 -0
- package/lib/LmUpload/fns/index.js +8 -3
- package/lib/Select/index.js +19 -7
- package/lib/hooks/useEvent/index.js +1 -1
- package/lib/styles/variables.css +3 -29
- package/package.json +1 -1
- package/dist/LmEditTable/components/DraggableContainer.d.ts +0 -7
- package/dist/LmEditTable/components/index.d.ts +0 -11
- package/dist/LmEditTable/virtual/VirtualRow.d.ts +0 -6
- package/dist/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
- package/dist/LmEditTable/virtual/VirtualTable.d.ts +0 -3
- package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
- package/dist/LmEditTable/virtual/context.d.ts +0 -13
- package/dist/LmEditTable/virtual/index.d.ts +0 -4
- package/es/LmEditTable/components/DraggableContainer.d.ts +0 -7
- package/es/LmEditTable/components/DraggableContainer.js +0 -32
- package/es/LmEditTable/components/index.d.ts +0 -11
- package/es/LmEditTable/components/index.js +0 -5
- package/es/LmEditTable/virtual/VirtualRow.d.ts +0 -6
- package/es/LmEditTable/virtual/VirtualRow.js +0 -60
- package/es/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
- package/es/LmEditTable/virtual/VirtualRowBack.js +0 -102
- package/es/LmEditTable/virtual/VirtualTable.d.ts +0 -3
- package/es/LmEditTable/virtual/VirtualTable.js +0 -54
- package/es/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
- package/es/LmEditTable/virtual/VirtualWrapper.js +0 -60
- package/es/LmEditTable/virtual/context.d.ts +0 -13
- package/es/LmEditTable/virtual/context.js +0 -54
- package/es/LmEditTable/virtual/index.d.ts +0 -4
- package/es/LmEditTable/virtual/index.js +0 -4
- package/lib/LmEditTable/components/DraggableContainer.d.ts +0 -7
- package/lib/LmEditTable/components/DraggableContainer.js +0 -45
- package/lib/LmEditTable/components/index.d.ts +0 -11
- package/lib/LmEditTable/components/index.js +0 -21
- package/lib/LmEditTable/virtual/VirtualRow.d.ts +0 -6
- package/lib/LmEditTable/virtual/VirtualRow.js +0 -73
- package/lib/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
- package/lib/LmEditTable/virtual/VirtualRowBack.js +0 -115
- package/lib/LmEditTable/virtual/VirtualTable.d.ts +0 -3
- package/lib/LmEditTable/virtual/VirtualTable.js +0 -71
- package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
- package/lib/LmEditTable/virtual/VirtualWrapper.js +0 -73
- package/lib/LmEditTable/virtual/context.d.ts +0 -13
- package/lib/LmEditTable/virtual/context.js +0 -64
- package/lib/LmEditTable/virtual/index.d.ts +0 -4
- package/lib/LmEditTable/virtual/index.js +0 -31
|
@@ -54,28 +54,25 @@ import { PlusCircleOutlined } from '@ant-design/icons';
|
|
|
54
54
|
import moment from 'moment';
|
|
55
55
|
import { arrayMove } from '@dnd-kit/sortable';
|
|
56
56
|
import { Button, Checkbox, IconFont, Input, InputNumber, Radio, Select, Table, Switch, DatePicker, Form, Popover } from 'linkmore-design';
|
|
57
|
-
import { get, set, isFunction, omit
|
|
57
|
+
import { get, set, isFunction, omit } from 'lodash';
|
|
58
58
|
import React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, memo, useCallback } from 'react';
|
|
59
59
|
import { useControllableValue } from 'ahooks';
|
|
60
60
|
import { produce } from 'immer';
|
|
61
|
-
import DndContainer from './DndContainer';
|
|
62
|
-
|
|
61
|
+
import DndContainer from './DndContainer';
|
|
62
|
+
import SortableBox from './sortableBox';
|
|
63
63
|
import SortableBoxCol from './sortableBoxCol';
|
|
64
64
|
import SortableItem from './sortableItem';
|
|
65
65
|
import ColSortableItem from './sortableItemCol';
|
|
66
66
|
import DragHandle from './DragHandle';
|
|
67
67
|
import UploadOss from '../UploadOss';
|
|
68
|
-
import { isObjEmpty, deepDataSourcePreKeys, isExpandRow, checkRowKeyByDataSource
|
|
69
|
-
import
|
|
70
|
-
import cls from 'classnames';
|
|
71
|
-
import { VirtualTable, VirtualWrapper, VirtualRow } from './virtual';
|
|
68
|
+
import { isObjEmpty, deepDataSourcePreKeys, isExpandRow, checkRowKeyByDataSource } from './util';
|
|
69
|
+
import cls from "classnames";
|
|
72
70
|
var UploadBtn = UploadOss.UploadBtn;
|
|
73
71
|
var EditableContext = /*#__PURE__*/React.createContext(null); // 表格行
|
|
74
72
|
|
|
75
73
|
var EditableRow = function EditableRow(_a) {
|
|
76
74
|
var index = _a.index,
|
|
77
|
-
|
|
78
|
-
props = __rest(_a, ["index", "virtual"]);
|
|
75
|
+
props = __rest(_a, ["index"]);
|
|
79
76
|
|
|
80
77
|
var _Form$useForm = Form.useForm(),
|
|
81
78
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
@@ -86,7 +83,7 @@ var EditableRow = function EditableRow(_a) {
|
|
|
86
83
|
component: false
|
|
87
84
|
}, /*#__PURE__*/React.createElement(EditableContext.Provider, {
|
|
88
85
|
value: form
|
|
89
|
-
},
|
|
86
|
+
}, /*#__PURE__*/React.createElement("tr", Object.assign({}, props))));
|
|
90
87
|
};
|
|
91
88
|
|
|
92
89
|
var EditableSortRow = function EditableSortRow(_a) {
|
|
@@ -272,7 +269,7 @@ var Opetate = function Opetate(_ref) {
|
|
|
272
269
|
}
|
|
273
270
|
}), (options === null || options === void 0 ? void 0 : options.includes('add')) && (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? /*#__PURE__*/React.createElement(Popover, {
|
|
274
271
|
placement: "bottom",
|
|
275
|
-
overlayClassName:
|
|
272
|
+
overlayClassName: 'lm_table_append_add_popover',
|
|
276
273
|
open: open,
|
|
277
274
|
title: null,
|
|
278
275
|
content: /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", {
|
|
@@ -303,7 +300,14 @@ var Opetate = function Opetate(_ref) {
|
|
|
303
300
|
return handleAdd(record, (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? true : false);
|
|
304
301
|
}
|
|
305
302
|
}));
|
|
306
|
-
};
|
|
303
|
+
}; // const isValidValue = (verifyValue) => {
|
|
304
|
+
// const toStringValue = JSON.stringify(verifyValue);
|
|
305
|
+
// if (verifyValue === undefined || verifyValue === null || verifyValue === '' || toStringValue === '[]' || toStringValue === '{}') {
|
|
306
|
+
// return false;
|
|
307
|
+
// }
|
|
308
|
+
// return true;
|
|
309
|
+
// }
|
|
310
|
+
|
|
307
311
|
/*
|
|
308
312
|
表格单元格
|
|
309
313
|
editEnum: 下拉框时的数据数组(非数组时是配置设置)
|
|
@@ -355,12 +359,6 @@ var EditableCell = function EditableCell(props) {
|
|
|
355
359
|
|
|
356
360
|
var inputRef = useRef(null);
|
|
357
361
|
var form = useContext(EditableContext);
|
|
358
|
-
|
|
359
|
-
var _useState5 = useState(false),
|
|
360
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
361
|
-
hoverStatus = _useState6[0],
|
|
362
|
-
setHoverStatus = _useState6[1];
|
|
363
|
-
|
|
364
362
|
useEffect(function () {
|
|
365
363
|
var _a;
|
|
366
364
|
|
|
@@ -371,7 +369,13 @@ var EditableCell = function EditableCell(props) {
|
|
|
371
369
|
|
|
372
370
|
var toggleEdit = function toggleEdit() {
|
|
373
371
|
setEditing(!editing); // form.setFieldsValue({ [dataIndex]: record[dataIndex] });
|
|
374
|
-
}; //
|
|
372
|
+
}; // const checkCellRef = useRef(null)
|
|
373
|
+
// const focusCapturedRef = useRef(false);
|
|
374
|
+
// const curValue = useMemo(() => {
|
|
375
|
+
// return record?.dataIndex
|
|
376
|
+
// }, [record])
|
|
377
|
+
// const curValueIsValid = isValidValue(curValue);
|
|
378
|
+
// 校验保存
|
|
375
379
|
|
|
376
380
|
|
|
377
381
|
var save = function save(row) {
|
|
@@ -454,15 +458,15 @@ var EditableCell = function EditableCell(props) {
|
|
|
454
458
|
/** 快捷刷子,把当前的所有列的值,刷成当前的选中的列 */
|
|
455
459
|
|
|
456
460
|
|
|
457
|
-
var copyKey = function copyKey(e
|
|
461
|
+
var copyKey = function copyKey(e) {
|
|
458
462
|
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
459
463
|
var dataIndex = col.dataIndex;
|
|
460
|
-
handleCopy === null || handleCopy === void 0 ? void 0 : handleCopy(dataIndex, record[dataIndex]
|
|
464
|
+
handleCopy === null || handleCopy === void 0 ? void 0 : handleCopy(dataIndex, record[dataIndex]);
|
|
461
465
|
};
|
|
462
466
|
|
|
463
467
|
var Control = function Control(con) {
|
|
464
468
|
var resultComponentProps = isFunction(componentProps) ? componentProps === null || componentProps === void 0 ? void 0 : componentProps(record, col) : componentProps;
|
|
465
|
-
var clearAttrComponentProps = omit(resultComponentProps, ['optionOnly', 'isOnlyValue'
|
|
469
|
+
var clearAttrComponentProps = omit(resultComponentProps, ['optionOnly', 'isOnlyValue']);
|
|
466
470
|
|
|
467
471
|
switch (con) {
|
|
468
472
|
case 'input':
|
|
@@ -483,6 +487,12 @@ var EditableCell = function EditableCell(props) {
|
|
|
483
487
|
noStyle: true
|
|
484
488
|
}, /*#__PURE__*/React.cloneElement(resultComponentProps.addonAfter, {
|
|
485
489
|
onChange: handleFormItemChange
|
|
490
|
+
})) : null,
|
|
491
|
+
suffix: resultComponentProps.quickcopy ? /*#__PURE__*/React.createElement("span", {
|
|
492
|
+
className: 'lm_table_quickcopy'
|
|
493
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
494
|
+
onClick: copyKey,
|
|
495
|
+
type: 'lmweb-icon_m_brush'
|
|
486
496
|
})) : null
|
|
487
497
|
}));
|
|
488
498
|
|
|
@@ -565,7 +575,7 @@ var EditableCell = function EditableCell(props) {
|
|
|
565
575
|
|
|
566
576
|
case 'switch':
|
|
567
577
|
return /*#__PURE__*/React.createElement(Switch, Object.assign({
|
|
568
|
-
size:
|
|
578
|
+
size: 'small'
|
|
569
579
|
}, clearAttrComponentProps, {
|
|
570
580
|
onChange: handleFormItemChange
|
|
571
581
|
}));
|
|
@@ -654,7 +664,8 @@ var EditableCell = function EditableCell(props) {
|
|
|
654
664
|
}
|
|
655
665
|
|
|
656
666
|
return childNode;
|
|
657
|
-
}, [col, isEdit, editing, getLength]); //
|
|
667
|
+
}, [col, isEdit, editing, getLength]); // const [childNode, setChildNode] = useState(getMemoChildNode);
|
|
668
|
+
// 出现死循环找我
|
|
658
669
|
|
|
659
670
|
useEffect(function () {
|
|
660
671
|
var editable = col.editable,
|
|
@@ -662,54 +673,22 @@ var EditableCell = function EditableCell(props) {
|
|
|
662
673
|
|
|
663
674
|
if (isEdit && editable) {
|
|
664
675
|
form.setFieldsValue(_defineProperty({}, dataIndex, editable === 'date' ? moment(record[dataIndex]) : record[dataIndex]));
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
setHoverStatus(false);
|
|
674
|
-
};
|
|
676
|
+
} // if (
|
|
677
|
+
// (isEdit && editable && record[dataIndex]) ||
|
|
678
|
+
// (isHoverEdit && editable && record[dataIndex])
|
|
679
|
+
// ) {
|
|
680
|
+
// form.setFieldsValue({
|
|
681
|
+
// [dataIndex]: editable === 'date' ? moment(record[dataIndex]) : record[dataIndex],
|
|
682
|
+
// })
|
|
683
|
+
// }
|
|
675
684
|
|
|
685
|
+
}, [record]);
|
|
676
686
|
return /*#__PURE__*/React.createElement("td", Object.assign({}, omit(clearProps, ['dataIndex']), {
|
|
677
687
|
className: cls(clearProps === null || clearProps === void 0 ? void 0 : clearProps.className, 'lm_custom_cell_td'),
|
|
678
|
-
onMouseEnter: componentProps.quickcopy ? handleTdHover : undefined,
|
|
679
|
-
onMouseLeave: componentProps.quickcopy ? handleTdMouseOut : undefined,
|
|
680
688
|
key: "r".concat(rowIndex, "_c").concat(colIndex)
|
|
681
|
-
}),
|
|
682
|
-
className: 'quick_copy_warp quick_copy_up',
|
|
683
|
-
onClick: function onClick(e) {
|
|
684
|
-
return copyKey(e, 'up');
|
|
685
|
-
}
|
|
686
|
-
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
687
|
-
type: 'lmweb-icon_up'
|
|
688
|
-
})), getMemoChildNode, hoverStatus && props.rowIndex < props.getLength - 1 && /*#__PURE__*/React.createElement("span", {
|
|
689
|
-
className: 'quick_copy_warp quick_copy_down',
|
|
690
|
-
onClick: function onClick(e) {
|
|
691
|
-
return copyKey(e, 'down');
|
|
692
|
-
}
|
|
693
|
-
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
694
|
-
type: 'lmweb-icon_down'
|
|
695
|
-
})));
|
|
689
|
+
}), getMemoChildNode);
|
|
696
690
|
};
|
|
697
|
-
/** true 不刷新, false 刷新 */
|
|
698
|
-
|
|
699
691
|
|
|
700
|
-
var MemoEditableCell = /*#__PURE__*/memo(EditableCell, function (prev, next) {
|
|
701
|
-
var pickProps = ['record', 'colIndex'];
|
|
702
|
-
var p = pick(prev, pickProps);
|
|
703
|
-
var n = pick(next, pickProps); // console.log(prev, next, '22', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
|
|
704
|
-
|
|
705
|
-
/** TODO: 在record中带有children,子列表数据修改之后,会导致父级的record对比不一样 */
|
|
706
|
-
|
|
707
|
-
if (!checkMemoShouldUploadSpecialFun(prev, next)) {
|
|
708
|
-
return false;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
return isEqual(p, n);
|
|
712
|
-
});
|
|
713
692
|
var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
714
693
|
var defaultData = props.value,
|
|
715
694
|
columns = props.columns,
|
|
@@ -727,7 +706,6 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
727
706
|
_props$quickOpetateCl = props.quickOpetateClearAll,
|
|
728
707
|
quickOpetateClearAll = _props$quickOpetateCl === void 0 ? true : _props$quickOpetateCl,
|
|
729
708
|
rowSelection = props.rowSelection,
|
|
730
|
-
virtual = props.virtual,
|
|
731
709
|
sortOpen = props.sortOpen,
|
|
732
710
|
colSortOpen = props.colSortOpen,
|
|
733
711
|
filterChange = props.filterChange,
|
|
@@ -736,8 +714,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
736
714
|
recordCreatorProps = props.recordCreatorProps,
|
|
737
715
|
_props$shouldUpdate = props.shouldUpdate,
|
|
738
716
|
shouldUpdate = _props$shouldUpdate === void 0 ? false : _props$shouldUpdate,
|
|
739
|
-
resetProps = __rest(props // const [dataSource, setDataSource] = useState([]);
|
|
740
|
-
, ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "virtual", "sortOpen", "colSortOpen", "filterChange", "size", "recordCreatorProps", "shouldUpdate"]); // const [dataSource, setDataSource] = useState([]);
|
|
717
|
+
resetProps = __rest(props, ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "sortOpen", "colSortOpen", "filterChange", "size", "recordCreatorProps", "shouldUpdate"]); // const [dataSource, setDataSource] = useState([]);
|
|
741
718
|
|
|
742
719
|
|
|
743
720
|
var _useControllableValue = useControllableValue({
|
|
@@ -749,15 +726,20 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
749
726
|
setDataSource = _useControllableValue2[1]; // const [count, setCount] = useState(0);
|
|
750
727
|
|
|
751
728
|
|
|
752
|
-
var
|
|
729
|
+
var _useState5 = useState({}),
|
|
730
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
731
|
+
_valid = _useState6[0],
|
|
732
|
+
setValid = _useState6[1];
|
|
733
|
+
|
|
734
|
+
var _useState7 = useState([]),
|
|
753
735
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
754
|
-
|
|
755
|
-
|
|
736
|
+
localRowSelectList = _useState8[0],
|
|
737
|
+
setLocalRowSelectList = _useState8[1];
|
|
756
738
|
|
|
757
739
|
var _useState9 = useState([]),
|
|
758
740
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
759
|
-
|
|
760
|
-
|
|
741
|
+
sortEditTable = _useState10[0],
|
|
742
|
+
setCallBackFalg = _useState10[1];
|
|
761
743
|
/** 当前展开的列 */
|
|
762
744
|
|
|
763
745
|
|
|
@@ -766,10 +748,21 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
766
748
|
expandedRowKeys = _useState12[0],
|
|
767
749
|
setExpandedRowKeys = _useState12[1];
|
|
768
750
|
|
|
769
|
-
var dataSourceRef = useRef(
|
|
770
|
-
var
|
|
771
|
-
|
|
772
|
-
|
|
751
|
+
var dataSourceRef = useRef([]);
|
|
752
|
+
var sortDataSorceRef = useRef([]);
|
|
753
|
+
var deepDataSourceRef = useRef([]);
|
|
754
|
+
|
|
755
|
+
var onSortEnd = function onSortEnd(active, over) {
|
|
756
|
+
var cloneArr = _toConsumableArray(dataSourceRef.current);
|
|
757
|
+
|
|
758
|
+
var oldIndex = cloneArr.findIndex(function (v) {
|
|
759
|
+
return v[_rowKey] === active;
|
|
760
|
+
});
|
|
761
|
+
var newIndex = cloneArr.findIndex(function (v) {
|
|
762
|
+
return v[_rowKey] === over;
|
|
763
|
+
});
|
|
764
|
+
setDataSource(arrayMove(cloneArr, oldIndex, newIndex));
|
|
765
|
+
};
|
|
773
766
|
|
|
774
767
|
var onColSortEnd = function onColSortEnd(active, over) {
|
|
775
768
|
var _a;
|
|
@@ -807,8 +800,28 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
807
800
|
});
|
|
808
801
|
setDataSource(res); // onChange?.(res)
|
|
809
802
|
};
|
|
810
|
-
/** 本地缓存一个选择数据 */
|
|
811
803
|
|
|
804
|
+
useEffect(function () {
|
|
805
|
+
var _a;
|
|
806
|
+
|
|
807
|
+
dataSourceRef.current = dataSource;
|
|
808
|
+
deepDataSourceRef.current = deepDataSourcePreKeys(dataSource, _rowKey);
|
|
809
|
+
|
|
810
|
+
if (sortOpen) {
|
|
811
|
+
var dataSourceKeys = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item) {
|
|
812
|
+
return item[_rowKey];
|
|
813
|
+
}).join(',');
|
|
814
|
+
var setCallBackFalgKeys = ((_a = sortDataSorceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
|
|
815
|
+
return item[_rowKey];
|
|
816
|
+
}).join(',')) || '';
|
|
817
|
+
|
|
818
|
+
if (dataSourceKeys !== setCallBackFalgKeys) {
|
|
819
|
+
setCallBackFalg(dataSource);
|
|
820
|
+
sortDataSorceRef.current = dataSource;
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
}, [dataSource]);
|
|
824
|
+
/** 本地缓存一个选择数据 */
|
|
812
825
|
|
|
813
826
|
useEffect(function () {
|
|
814
827
|
if (rowSelection) {
|
|
@@ -1016,12 +1029,10 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1016
1029
|
setDataSource(res);
|
|
1017
1030
|
};
|
|
1018
1031
|
|
|
1019
|
-
var handleCopy = function handleCopy(key, value
|
|
1032
|
+
var handleCopy = function handleCopy(key, value) {
|
|
1020
1033
|
var res = produce(dataSourceRef.current, function (draft) {
|
|
1021
|
-
draft === null || draft === void 0 ? void 0 : draft.forEach(function (item
|
|
1022
|
-
|
|
1023
|
-
item[key] = value;
|
|
1024
|
-
}
|
|
1034
|
+
draft === null || draft === void 0 ? void 0 : draft.forEach(function (item) {
|
|
1035
|
+
return item[key] = value;
|
|
1025
1036
|
});
|
|
1026
1037
|
});
|
|
1027
1038
|
setDataSource(res);
|
|
@@ -1086,7 +1097,6 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1086
1097
|
width: 48,
|
|
1087
1098
|
maxWidth: 48,
|
|
1088
1099
|
className: 'drag-visible',
|
|
1089
|
-
fixed: 'left',
|
|
1090
1100
|
render: function render(_, record) {
|
|
1091
1101
|
return /*#__PURE__*/React.createElement(DragHandle, {
|
|
1092
1102
|
id: record[_rowKey] || record.id
|
|
@@ -1135,6 +1145,19 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1135
1145
|
}
|
|
1136
1146
|
|
|
1137
1147
|
var newCol = Object.assign(Object.assign({}, col), {
|
|
1148
|
+
shouldCellUpdate: function shouldCellUpdate(record, prevRecord) {
|
|
1149
|
+
var _a;
|
|
1150
|
+
|
|
1151
|
+
var dataIndex = col.dataIndex,
|
|
1152
|
+
editable = col.editable,
|
|
1153
|
+
relevanceCols = col.relevanceCols;
|
|
1154
|
+
|
|
1155
|
+
if ((col === null || col === void 0 ? void 0 : col.fixed) || hasDisableOptions && hasDisableOptions.includes(dataIndex) || ((_a = col.componentProps) === null || _a === void 0 ? void 0 : _a.options) || editable === 'render' || !!relevanceCols || !!shouldUpdate || !!record.children) {
|
|
1156
|
+
return true;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
return record[dataIndex] !== prevRecord[dataIndex];
|
|
1160
|
+
},
|
|
1138
1161
|
onCell: function onCell(record, rowIndex) {
|
|
1139
1162
|
return {
|
|
1140
1163
|
getLength: dataSource.length,
|
|
@@ -1174,20 +1197,20 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1174
1197
|
return mapColumns(col, index);
|
|
1175
1198
|
});
|
|
1176
1199
|
return res;
|
|
1177
|
-
}, [columns, isAdd, sortOpen, useQuickOpetate, dataSource, _toConsumableArray(memoOptions)]);
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
var cloneArr = _toConsumableArray(dataSourceRef.current);
|
|
1200
|
+
}, [columns, isAdd, sortOpen, useQuickOpetate, sortEditTable, dataSource, _toConsumableArray(memoOptions)]);
|
|
1201
|
+
var DraggableContainer = useCallback(function (_a) {
|
|
1202
|
+
var _b;
|
|
1181
1203
|
|
|
1182
|
-
var
|
|
1183
|
-
return v[_rowKey] === active;
|
|
1184
|
-
});
|
|
1185
|
-
var newIndex = cloneArr.findIndex(function (v) {
|
|
1186
|
-
return v[_rowKey] === over;
|
|
1187
|
-
});
|
|
1188
|
-
setDataSource(arrayMove(cloneArr, oldIndex, newIndex));
|
|
1189
|
-
};
|
|
1204
|
+
var props = __rest(_a, []);
|
|
1190
1205
|
|
|
1206
|
+
return /*#__PURE__*/React.createElement(DndContainer, {
|
|
1207
|
+
move: onSortEnd
|
|
1208
|
+
}, /*#__PURE__*/React.createElement(SortableBox, {
|
|
1209
|
+
items: (_b = dataSourceRef.current) === null || _b === void 0 ? void 0 : _b.map(function (item) {
|
|
1210
|
+
return item[_rowKey];
|
|
1211
|
+
})
|
|
1212
|
+
}, /*#__PURE__*/React.createElement("tbody", Object.assign({}, props))));
|
|
1213
|
+
}, [sortEditTable]);
|
|
1191
1214
|
var colDraggableContainer = useCallback(function (_a) {
|
|
1192
1215
|
var _b;
|
|
1193
1216
|
|
|
@@ -1205,6 +1228,34 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1205
1228
|
}, child);
|
|
1206
1229
|
}));
|
|
1207
1230
|
}, [columns]);
|
|
1231
|
+
var config = useMemo(function () {
|
|
1232
|
+
var component = {
|
|
1233
|
+
body: Object.assign({
|
|
1234
|
+
row: sortOpen ? EditableSortRow : EditableRow,
|
|
1235
|
+
cell: EditableCell
|
|
1236
|
+
}, sortOpen ? {
|
|
1237
|
+
wrapper: DraggableContainer
|
|
1238
|
+
} : {})
|
|
1239
|
+
};
|
|
1240
|
+
|
|
1241
|
+
if (colSortOpen) {
|
|
1242
|
+
component['header'] = {
|
|
1243
|
+
row: colDraggableContainer
|
|
1244
|
+
};
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
return Object.assign({
|
|
1248
|
+
pagination: false,
|
|
1249
|
+
tableLayout: 'fixed',
|
|
1250
|
+
scroll: {
|
|
1251
|
+
x: '100%'
|
|
1252
|
+
},
|
|
1253
|
+
rowKey: function rowKey(record) {
|
|
1254
|
+
return record[_rowKey] || record.index || Math.random();
|
|
1255
|
+
},
|
|
1256
|
+
components: component
|
|
1257
|
+
}, resetProps);
|
|
1258
|
+
}, [resultColumns, dataSource, sortOpen, colSortOpen, size]);
|
|
1208
1259
|
useImperativeHandle(ref, function () {
|
|
1209
1260
|
return {
|
|
1210
1261
|
setRow: handleSave,
|
|
@@ -1216,46 +1267,6 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1216
1267
|
var isShowAddAction = useMemo(function () {
|
|
1217
1268
|
return isEdit && isAdd || isHoverEdit && isAdd;
|
|
1218
1269
|
}, [isEdit, isAdd, isHoverEdit]);
|
|
1219
|
-
var config = useRef(Object.assign({
|
|
1220
|
-
pagination: false,
|
|
1221
|
-
tableLayout: 'fixed',
|
|
1222
|
-
scroll: {
|
|
1223
|
-
x: '100%'
|
|
1224
|
-
},
|
|
1225
|
-
rowKey: function rowKey(record) {
|
|
1226
|
-
return record[_rowKey] || record.index || Math.random();
|
|
1227
|
-
},
|
|
1228
|
-
components: {
|
|
1229
|
-
table: virtual ? VirtualTable : null,
|
|
1230
|
-
body: Object.assign({
|
|
1231
|
-
row: function row(rowProps) {
|
|
1232
|
-
return sortOpen ? EditableSortRow(Object.assign(Object.assign({}, rowProps), {
|
|
1233
|
-
virtual: virtual
|
|
1234
|
-
})) : EditableRow(Object.assign(Object.assign({}, rowProps), {
|
|
1235
|
-
virtual: virtual
|
|
1236
|
-
}));
|
|
1237
|
-
},
|
|
1238
|
-
cell: MemoEditableCell
|
|
1239
|
-
}, sortOpen ? {
|
|
1240
|
-
wrapper: function wrapper(wrapperProps) {
|
|
1241
|
-
var _a;
|
|
1242
|
-
|
|
1243
|
-
return DraggableContainer(Object.assign(Object.assign({}, wrapperProps), {
|
|
1244
|
-
virtual: virtual,
|
|
1245
|
-
keys: (_a = dataSourceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
|
|
1246
|
-
return item[_rowKey];
|
|
1247
|
-
}),
|
|
1248
|
-
onSortEnd: onSortEnd
|
|
1249
|
-
}));
|
|
1250
|
-
}
|
|
1251
|
-
} : virtual ? {
|
|
1252
|
-
wrapper: VirtualWrapper
|
|
1253
|
-
} : {}),
|
|
1254
|
-
header: {
|
|
1255
|
-
row: colSortOpen ? colDraggableContainer : null
|
|
1256
|
-
}
|
|
1257
|
-
}
|
|
1258
|
-
}, resetProps));
|
|
1259
1270
|
|
|
1260
1271
|
if (colSortOpen) {
|
|
1261
1272
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -1266,7 +1277,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1266
1277
|
items: columns.reduce(function (acc, item) {
|
|
1267
1278
|
return [].concat(_toConsumableArray(acc), [item.dataIndex]);
|
|
1268
1279
|
}, [])
|
|
1269
|
-
}, /*#__PURE__*/React.createElement(Table, Object.assign({}, config
|
|
1280
|
+
}, /*#__PURE__*/React.createElement(Table, Object.assign({}, config, {
|
|
1270
1281
|
size: size || 'small',
|
|
1271
1282
|
columns: resultColumns,
|
|
1272
1283
|
rowClassName: "editable-row",
|
|
@@ -1300,7 +1311,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1300
1311
|
|
|
1301
1312
|
return /*#__PURE__*/React.createElement("div", {
|
|
1302
1313
|
className: "lm_editTable_warpper"
|
|
1303
|
-
}, /*#__PURE__*/React.createElement(Table, Object.assign({}, config
|
|
1314
|
+
}, /*#__PURE__*/React.createElement(Table, Object.assign({}, config, {
|
|
1304
1315
|
size: size || 'small',
|
|
1305
1316
|
columns: resultColumns,
|
|
1306
1317
|
rowClassName: "editable-row",
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export default _default;
|
|
1
|
+
declare const SortableItem: (props: any) => JSX.Element;
|
|
2
|
+
export default SortableItem;
|
|
@@ -11,17 +11,15 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
import React
|
|
14
|
+
import React from 'react';
|
|
15
15
|
import { useSortable } from '@dnd-kit/sortable';
|
|
16
16
|
import { CSS } from '@dnd-kit/utilities';
|
|
17
|
-
import { VirtualRow } from './virtual';
|
|
18
17
|
|
|
19
18
|
var SortableItem = function SortableItem(props) {
|
|
20
19
|
var key = props['data-row-key'],
|
|
21
20
|
children = props.children,
|
|
22
21
|
className = props.className,
|
|
23
|
-
|
|
24
|
-
resetField = __rest(props, ['data-row-key', "children", "className", "virtual"]);
|
|
22
|
+
resetField = __rest(props, ['data-row-key', "children", "className"]);
|
|
25
23
|
|
|
26
24
|
var _useSortable = useSortable({
|
|
27
25
|
id: key
|
|
@@ -35,20 +33,11 @@ var SortableItem = function SortableItem(props) {
|
|
|
35
33
|
transform: CSS.Transform.toString(transform),
|
|
36
34
|
transition: transition
|
|
37
35
|
};
|
|
38
|
-
|
|
39
|
-
if (!virtual) {
|
|
40
|
-
return /*#__PURE__*/React.createElement("tr", Object.assign({}, resetField, {
|
|
41
|
-
ref: setNodeRef,
|
|
42
|
-
key: key,
|
|
43
|
-
style: style
|
|
44
|
-
}, attributes), children);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return /*#__PURE__*/React.createElement(VirtualRow, Object.assign({}, resetField, {
|
|
36
|
+
return /*#__PURE__*/React.createElement("tr", Object.assign({}, resetField, {
|
|
48
37
|
ref: setNodeRef,
|
|
49
38
|
key: key,
|
|
50
39
|
style: style
|
|
51
40
|
}, attributes), children);
|
|
52
41
|
};
|
|
53
42
|
|
|
54
|
-
export default
|
|
43
|
+
export default SortableItem;
|
|
@@ -549,9 +549,6 @@ p {
|
|
|
549
549
|
letter-spacing: 0px;
|
|
550
550
|
color: var(--color-85);
|
|
551
551
|
}
|
|
552
|
-
.lm_editTable_warpper .lm_custom_cell_td {
|
|
553
|
-
position: relative;
|
|
554
|
-
}
|
|
555
552
|
.lm_editTable_warpper .lm_custom_cell_td .ant-form-item-control-input-content {
|
|
556
553
|
display: flex;
|
|
557
554
|
flex-direction: row;
|
|
@@ -563,32 +560,6 @@ p {
|
|
|
563
560
|
.lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
|
|
564
561
|
margin-top: 6px;
|
|
565
562
|
}
|
|
566
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp {
|
|
567
|
-
font-size: 8px;
|
|
568
|
-
position: absolute;
|
|
569
|
-
left: calc(50% - 10px);
|
|
570
|
-
z-index: 100;
|
|
571
|
-
width: 20px;
|
|
572
|
-
height: 10px;
|
|
573
|
-
background-color: var(--color-6);
|
|
574
|
-
display: flex;
|
|
575
|
-
align-items: center;
|
|
576
|
-
justify-content: center;
|
|
577
|
-
color: #D8D8D8;
|
|
578
|
-
}
|
|
579
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp:hover {
|
|
580
|
-
cursor: pointer;
|
|
581
|
-
background-color: var(--primary-color);
|
|
582
|
-
color: #fff;
|
|
583
|
-
}
|
|
584
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_up {
|
|
585
|
-
top: -4px;
|
|
586
|
-
left: calc(50% - 10px);
|
|
587
|
-
}
|
|
588
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_down {
|
|
589
|
-
bottom: -6px;
|
|
590
|
-
left: calc(50% - 10px);
|
|
591
|
-
}
|
|
592
563
|
.lm_editTable_warpper .lm_editTable_cell_edit {
|
|
593
564
|
height: 40px;
|
|
594
565
|
padding: 8px 8px !important;
|
|
@@ -37,9 +37,6 @@
|
|
|
37
37
|
letter-spacing: 0px;
|
|
38
38
|
color: var(--color-85);
|
|
39
39
|
}
|
|
40
|
-
.lm_editTable_warpper .lm_custom_cell_td {
|
|
41
|
-
position: relative;
|
|
42
|
-
}
|
|
43
40
|
.lm_editTable_warpper .lm_custom_cell_td .ant-form-item-control-input-content {
|
|
44
41
|
display: flex;
|
|
45
42
|
flex-direction: row;
|
|
@@ -51,32 +48,6 @@
|
|
|
51
48
|
.lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
|
|
52
49
|
margin-top: 6px;
|
|
53
50
|
}
|
|
54
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp {
|
|
55
|
-
font-size: 8px;
|
|
56
|
-
position: absolute;
|
|
57
|
-
left: calc(50% - 10px);
|
|
58
|
-
z-index: 100;
|
|
59
|
-
width: 20px;
|
|
60
|
-
height: 10px;
|
|
61
|
-
background-color: var(--color-6);
|
|
62
|
-
display: flex;
|
|
63
|
-
align-items: center;
|
|
64
|
-
justify-content: center;
|
|
65
|
-
color: #D8D8D8;
|
|
66
|
-
}
|
|
67
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp:hover {
|
|
68
|
-
cursor: pointer;
|
|
69
|
-
background-color: var(--primary-color);
|
|
70
|
-
color: #fff;
|
|
71
|
-
}
|
|
72
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_up {
|
|
73
|
-
top: -4px;
|
|
74
|
-
left: calc(50% - 10px);
|
|
75
|
-
}
|
|
76
|
-
.lm_editTable_warpper .lm_custom_cell_td .quick_copy_down {
|
|
77
|
-
bottom: -6px;
|
|
78
|
-
left: calc(50% - 10px);
|
|
79
|
-
}
|
|
80
51
|
.lm_editTable_warpper .lm_editTable_cell_edit {
|
|
81
52
|
height: 40px;
|
|
82
53
|
padding: 8px 8px !important;
|
package/es/LmEditTable/util.d.ts
CHANGED
|
@@ -2,8 +2,6 @@ export declare function isObjEmpty(obj: Record<string, any>): boolean;
|
|
|
2
2
|
export declare function deepDataSourcePreKeys(dataSource: any[], rowKey: string): any;
|
|
3
3
|
export declare function isExpandRow(children: any): boolean;
|
|
4
4
|
export declare function checkRowKeyByDataSource(dataSource: any, rowKey: any): any;
|
|
5
|
-
export declare function getExpandStatus(children: any): any;
|
|
6
|
-
export declare function checkMemoShouldUploadSpecialFun(prev: any, next: any): any;
|
|
7
5
|
declare const _default: {
|
|
8
6
|
isObjEmpty: typeof isObjEmpty;
|
|
9
7
|
};
|