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.
Files changed (107) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Form/demos/disabled.d.ts +2 -0
  3. package/dist/LmEditTable/DndContainer.d.ts +3 -4
  4. package/dist/LmEditTable/EditTable.d.ts +0 -2
  5. package/dist/LmEditTable/sortableItem.d.ts +2 -3
  6. package/dist/LmEditTable/util.d.ts +0 -2
  7. package/dist/LmFilter/LmFilter.d.ts +2 -6
  8. package/dist/LmTable/expression.d.ts +1 -0
  9. package/dist/LmTable/hooks/useGroupDataSource.d.ts +7 -0
  10. package/dist/index.umd.js +364 -517
  11. package/dist/index.umd.min.js +17 -17
  12. package/dist/variables.css +3 -29
  13. package/es/Cascader/index.js +16 -2
  14. package/es/Form/style/index.css +3 -0
  15. package/es/Form/style/variables.css +3 -0
  16. package/es/IconFont/index.js +1 -1
  17. package/es/Input/index.js +20 -4
  18. package/es/InputNumber/index.js +9 -2
  19. package/es/LmEditTable/DndContainer.d.ts +3 -4
  20. package/es/LmEditTable/DndContainer.js +2 -2
  21. package/es/LmEditTable/EditTable.d.ts +0 -2
  22. package/es/LmEditTable/EditTable.js +150 -139
  23. package/es/LmEditTable/sortableItem.d.ts +2 -3
  24. package/es/LmEditTable/sortableItem.js +4 -15
  25. package/es/LmEditTable/style/index.css +0 -29
  26. package/es/LmEditTable/style/variables.css +0 -29
  27. package/es/LmEditTable/util.d.ts +0 -2
  28. package/es/LmEditTable/util.js +1 -47
  29. package/es/LmFilter/LmFilter.js +6 -6
  30. package/es/LmFilter/components/DropdownFIlter.js +5 -2
  31. package/es/LmFilter/index.js +0 -3
  32. package/es/LmTable/Table.js +10 -7
  33. package/es/LmTable/expression.d.ts +1 -0
  34. package/es/LmTable/expression.js +31 -0
  35. package/es/LmTable/hooks/useGroupDataSource.js +50 -0
  36. package/es/LmUpload/fns/index.js +8 -3
  37. package/es/Select/index.js +17 -7
  38. package/es/hooks/useEvent/index.js +1 -1
  39. package/es/styles/variables.css +3 -29
  40. package/lib/Cascader/index.js +16 -2
  41. package/lib/Form/style/index.css +3 -0
  42. package/lib/Form/style/variables.css +3 -0
  43. package/lib/IconFont/index.js +1 -1
  44. package/lib/Input/index.js +22 -4
  45. package/lib/InputNumber/index.js +11 -2
  46. package/lib/LmEditTable/DndContainer.d.ts +3 -4
  47. package/lib/LmEditTable/DndContainer.js +3 -4
  48. package/lib/LmEditTable/EditTable.d.ts +0 -2
  49. package/lib/LmEditTable/EditTable.js +146 -135
  50. package/lib/LmEditTable/sortableItem.d.ts +2 -3
  51. package/lib/LmEditTable/sortableItem.js +5 -18
  52. package/lib/LmEditTable/style/index.css +0 -29
  53. package/lib/LmEditTable/style/variables.css +0 -29
  54. package/lib/LmEditTable/util.d.ts +0 -2
  55. package/lib/LmEditTable/util.js +0 -50
  56. package/lib/LmFilter/LmFilter.js +6 -6
  57. package/lib/LmFilter/components/DropdownFIlter.js +5 -2
  58. package/lib/LmFilter/index.js +0 -3
  59. package/lib/LmTable/Table.js +10 -7
  60. package/lib/LmTable/expression.d.ts +1 -0
  61. package/lib/LmTable/expression.js +41 -0
  62. package/lib/LmTable/hooks/useGroupDataSource.js +50 -0
  63. package/lib/LmUpload/fns/index.js +8 -3
  64. package/lib/Select/index.js +19 -7
  65. package/lib/hooks/useEvent/index.js +1 -1
  66. package/lib/styles/variables.css +3 -29
  67. package/package.json +1 -1
  68. package/dist/LmEditTable/components/DraggableContainer.d.ts +0 -7
  69. package/dist/LmEditTable/components/index.d.ts +0 -11
  70. package/dist/LmEditTable/virtual/VirtualRow.d.ts +0 -6
  71. package/dist/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  72. package/dist/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  73. package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  74. package/dist/LmEditTable/virtual/context.d.ts +0 -13
  75. package/dist/LmEditTable/virtual/index.d.ts +0 -4
  76. package/es/LmEditTable/components/DraggableContainer.d.ts +0 -7
  77. package/es/LmEditTable/components/DraggableContainer.js +0 -32
  78. package/es/LmEditTable/components/index.d.ts +0 -11
  79. package/es/LmEditTable/components/index.js +0 -5
  80. package/es/LmEditTable/virtual/VirtualRow.d.ts +0 -6
  81. package/es/LmEditTable/virtual/VirtualRow.js +0 -60
  82. package/es/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  83. package/es/LmEditTable/virtual/VirtualRowBack.js +0 -102
  84. package/es/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  85. package/es/LmEditTable/virtual/VirtualTable.js +0 -54
  86. package/es/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  87. package/es/LmEditTable/virtual/VirtualWrapper.js +0 -60
  88. package/es/LmEditTable/virtual/context.d.ts +0 -13
  89. package/es/LmEditTable/virtual/context.js +0 -54
  90. package/es/LmEditTable/virtual/index.d.ts +0 -4
  91. package/es/LmEditTable/virtual/index.js +0 -4
  92. package/lib/LmEditTable/components/DraggableContainer.d.ts +0 -7
  93. package/lib/LmEditTable/components/DraggableContainer.js +0 -45
  94. package/lib/LmEditTable/components/index.d.ts +0 -11
  95. package/lib/LmEditTable/components/index.js +0 -21
  96. package/lib/LmEditTable/virtual/VirtualRow.d.ts +0 -6
  97. package/lib/LmEditTable/virtual/VirtualRow.js +0 -73
  98. package/lib/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  99. package/lib/LmEditTable/virtual/VirtualRowBack.js +0 -115
  100. package/lib/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  101. package/lib/LmEditTable/virtual/VirtualTable.js +0 -71
  102. package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  103. package/lib/LmEditTable/virtual/VirtualWrapper.js +0 -73
  104. package/lib/LmEditTable/virtual/context.d.ts +0 -13
  105. package/lib/LmEditTable/virtual/context.js +0 -64
  106. package/lib/LmEditTable/virtual/index.d.ts +0 -4
  107. 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, isEqual, pick } from 'lodash';
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'; // import SortableBox from './sortableBox';
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, checkMemoShouldUploadSpecialFun } from './util';
69
- import { DraggableContainer } from './components';
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
- virtual = _a.virtual,
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
- }, virtual ? /*#__PURE__*/React.createElement(VirtualRow, Object.assign({}, props)) : /*#__PURE__*/React.createElement("tr", Object.assign({}, props))));
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: "lm_table_append_add_popover",
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, type) {
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], type, props.rowIndex);
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', 'quickcopy']);
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: "small"
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
- }, [record]);
667
-
668
- var handleTdHover = function handleTdHover() {
669
- setHoverStatus(true);
670
- };
671
-
672
- var handleTdMouseOut = function handleTdMouseOut() {
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
- }), hoverStatus && props.rowIndex > 0 && /*#__PURE__*/React.createElement("span", {
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 _useState7 = useState({}),
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
- _valid = _useState8[0],
755
- setValid = _useState8[1];
736
+ localRowSelectList = _useState8[0],
737
+ setLocalRowSelectList = _useState8[1];
756
738
 
757
739
  var _useState9 = useState([]),
758
740
  _useState10 = _slicedToArray(_useState9, 2),
759
- localRowSelectList = _useState10[0],
760
- setLocalRowSelectList = _useState10[1];
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(dataSource);
770
- var deepDataSourceRef = useRef(deepDataSourcePreKeys(dataSource, _rowKey));
771
- dataSourceRef.current = dataSource;
772
- deepDataSourceRef.current = deepDataSourcePreKeys(dataSource, _rowKey);
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, type, rowIndex) {
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, index) {
1022
- if (type === 'up' && index < rowIndex || type === 'down' && index > rowIndex) {
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
- var onSortEnd = function onSortEnd(active, over) {
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 oldIndex = cloneArr.findIndex(function (v) {
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.current, {
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.current, {
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
- import React from 'react';
2
- declare const _default: React.MemoExoticComponent<(props: any) => JSX.Element>;
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, { memo } from '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
- virtual = props.virtual,
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 /*#__PURE__*/memo(SortableItem);
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;
@@ -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
  };