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
@@ -35,6 +35,8 @@ var _immer = require("immer");
35
35
 
36
36
  var _DndContainer = _interopRequireDefault(require("./DndContainer"));
37
37
 
38
+ var _sortableBox = _interopRequireDefault(require("./sortableBox"));
39
+
38
40
  var _sortableBoxCol = _interopRequireDefault(require("./sortableBoxCol"));
39
41
 
40
42
  var _sortableItem = _interopRequireDefault(require("./sortableItem"));
@@ -47,12 +49,8 @@ var _UploadOss = _interopRequireDefault(require("../UploadOss"));
47
49
 
48
50
  var _util = require("./util");
49
51
 
50
- var _components = require("./components");
51
-
52
52
  var _classnames = _interopRequireDefault(require("classnames"));
53
53
 
54
- var _virtual = require("./virtual");
55
-
56
54
  var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
57
55
  function adopt(value) {
58
56
  return value instanceof P ? value : new P(function (resolve) {
@@ -107,8 +105,7 @@ var EditableContext = /*#__PURE__*/_react.default.createContext(null); // 表格
107
105
 
108
106
  var EditableRow = function EditableRow(_a) {
109
107
  var index = _a.index,
110
- virtual = _a.virtual,
111
- props = __rest(_a, ["index", "virtual"]);
108
+ props = __rest(_a, ["index"]);
112
109
 
113
110
  var _Form$useForm = _linkmoreDesign.Form.useForm(),
114
111
  _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
@@ -119,7 +116,7 @@ var EditableRow = function EditableRow(_a) {
119
116
  component: false
120
117
  }, /*#__PURE__*/_react.default.createElement(EditableContext.Provider, {
121
118
  value: form
122
- }, virtual ? /*#__PURE__*/_react.default.createElement(_virtual.VirtualRow, Object.assign({}, props)) : /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, props))));
119
+ }, /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, props))));
123
120
  };
124
121
 
125
122
  var EditableSortRow = function EditableSortRow(_a) {
@@ -305,7 +302,7 @@ var Opetate = function Opetate(_ref) {
305
302
  }
306
303
  }), (options === null || options === void 0 ? void 0 : options.includes('add')) && (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Popover, {
307
304
  placement: "bottom",
308
- overlayClassName: "lm_table_append_add_popover",
305
+ overlayClassName: 'lm_table_append_add_popover',
309
306
  open: open,
310
307
  title: null,
311
308
  content: /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", {
@@ -336,7 +333,14 @@ var Opetate = function Opetate(_ref) {
336
333
  return handleAdd(record, (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? true : false);
337
334
  }
338
335
  }));
339
- };
336
+ }; // const isValidValue = (verifyValue) => {
337
+ // const toStringValue = JSON.stringify(verifyValue);
338
+ // if (verifyValue === undefined || verifyValue === null || verifyValue === '' || toStringValue === '[]' || toStringValue === '{}') {
339
+ // return false;
340
+ // }
341
+ // return true;
342
+ // }
343
+
340
344
  /*
341
345
  表格单元格
342
346
  editEnum: 下拉框时的数据数组(非数组时是配置设置)
@@ -388,12 +392,6 @@ var EditableCell = function EditableCell(props) {
388
392
 
389
393
  var inputRef = (0, _react.useRef)(null);
390
394
  var form = (0, _react.useContext)(EditableContext);
391
-
392
- var _useState5 = (0, _react.useState)(false),
393
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
394
- hoverStatus = _useState6[0],
395
- setHoverStatus = _useState6[1];
396
-
397
395
  (0, _react.useEffect)(function () {
398
396
  var _a;
399
397
 
@@ -404,7 +402,13 @@ var EditableCell = function EditableCell(props) {
404
402
 
405
403
  var toggleEdit = function toggleEdit() {
406
404
  setEditing(!editing); // form.setFieldsValue({ [dataIndex]: record[dataIndex] });
407
- }; // 校验保存
405
+ }; // const checkCellRef = useRef(null)
406
+ // const focusCapturedRef = useRef(false);
407
+ // const curValue = useMemo(() => {
408
+ // return record?.dataIndex
409
+ // }, [record])
410
+ // const curValueIsValid = isValidValue(curValue);
411
+ // 校验保存
408
412
 
409
413
 
410
414
  var save = function save(row) {
@@ -487,15 +491,15 @@ var EditableCell = function EditableCell(props) {
487
491
  /** 快捷刷子,把当前的所有列的值,刷成当前的选中的列 */
488
492
 
489
493
 
490
- var copyKey = function copyKey(e, type) {
494
+ var copyKey = function copyKey(e) {
491
495
  e === null || e === void 0 ? void 0 : e.stopPropagation();
492
496
  var dataIndex = col.dataIndex;
493
- handleCopy === null || handleCopy === void 0 ? void 0 : handleCopy(dataIndex, record[dataIndex], type, props.rowIndex);
497
+ handleCopy === null || handleCopy === void 0 ? void 0 : handleCopy(dataIndex, record[dataIndex]);
494
498
  };
495
499
 
496
500
  var Control = function Control(con) {
497
501
  var resultComponentProps = (0, _lodash.isFunction)(componentProps) ? componentProps === null || componentProps === void 0 ? void 0 : componentProps(record, col) : componentProps;
498
- var clearAttrComponentProps = (0, _lodash.omit)(resultComponentProps, ['optionOnly', 'isOnlyValue', 'quickcopy']);
502
+ var clearAttrComponentProps = (0, _lodash.omit)(resultComponentProps, ['optionOnly', 'isOnlyValue']);
499
503
 
500
504
  switch (con) {
501
505
  case 'input':
@@ -516,6 +520,12 @@ var EditableCell = function EditableCell(props) {
516
520
  noStyle: true
517
521
  }, /*#__PURE__*/_react.default.cloneElement(resultComponentProps.addonAfter, {
518
522
  onChange: handleFormItemChange
523
+ })) : null,
524
+ suffix: resultComponentProps.quickcopy ? /*#__PURE__*/_react.default.createElement("span", {
525
+ className: 'lm_table_quickcopy'
526
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
527
+ onClick: copyKey,
528
+ type: 'lmweb-icon_m_brush'
519
529
  })) : null
520
530
  }));
521
531
 
@@ -598,7 +608,7 @@ var EditableCell = function EditableCell(props) {
598
608
 
599
609
  case 'switch':
600
610
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Switch, Object.assign({
601
- size: "small"
611
+ size: 'small'
602
612
  }, clearAttrComponentProps, {
603
613
  onChange: handleFormItemChange
604
614
  }));
@@ -687,7 +697,8 @@ var EditableCell = function EditableCell(props) {
687
697
  }
688
698
 
689
699
  return childNode;
690
- }, [col, isEdit, editing, getLength]); // 出现死循环找我
700
+ }, [col, isEdit, editing, getLength]); // const [childNode, setChildNode] = useState(getMemoChildNode);
701
+ // 出现死循环找我
691
702
 
692
703
  (0, _react.useEffect)(function () {
693
704
  var editable = col.editable,
@@ -695,54 +706,22 @@ var EditableCell = function EditableCell(props) {
695
706
 
696
707
  if (isEdit && editable) {
697
708
  form.setFieldsValue((0, _defineProperty2.default)({}, dataIndex, editable === 'date' ? (0, _moment.default)(record[dataIndex]) : record[dataIndex]));
698
- }
699
- }, [record]);
700
-
701
- var handleTdHover = function handleTdHover() {
702
- setHoverStatus(true);
703
- };
704
-
705
- var handleTdMouseOut = function handleTdMouseOut() {
706
- setHoverStatus(false);
707
- };
709
+ } // if (
710
+ // (isEdit && editable && record[dataIndex]) ||
711
+ // (isHoverEdit && editable && record[dataIndex])
712
+ // ) {
713
+ // form.setFieldsValue({
714
+ // [dataIndex]: editable === 'date' ? moment(record[dataIndex]) : record[dataIndex],
715
+ // })
716
+ // }
708
717
 
718
+ }, [record]);
709
719
  return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, (0, _lodash.omit)(clearProps, ['dataIndex']), {
710
720
  className: (0, _classnames.default)(clearProps === null || clearProps === void 0 ? void 0 : clearProps.className, 'lm_custom_cell_td'),
711
- onMouseEnter: componentProps.quickcopy ? handleTdHover : undefined,
712
- onMouseLeave: componentProps.quickcopy ? handleTdMouseOut : undefined,
713
721
  key: "r".concat(rowIndex, "_c").concat(colIndex)
714
- }), hoverStatus && props.rowIndex > 0 && /*#__PURE__*/_react.default.createElement("span", {
715
- className: 'quick_copy_warp quick_copy_up',
716
- onClick: function onClick(e) {
717
- return copyKey(e, 'up');
718
- }
719
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
720
- type: 'lmweb-icon_up'
721
- })), getMemoChildNode, hoverStatus && props.rowIndex < props.getLength - 1 && /*#__PURE__*/_react.default.createElement("span", {
722
- className: 'quick_copy_warp quick_copy_down',
723
- onClick: function onClick(e) {
724
- return copyKey(e, 'down');
725
- }
726
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
727
- type: 'lmweb-icon_down'
728
- })));
722
+ }), getMemoChildNode);
729
723
  };
730
- /** true 不刷新, false 刷新 */
731
-
732
-
733
- var MemoEditableCell = /*#__PURE__*/(0, _react.memo)(EditableCell, function (prev, next) {
734
- var pickProps = ['record', 'colIndex'];
735
- var p = (0, _lodash.pick)(prev, pickProps);
736
- var n = (0, _lodash.pick)(next, pickProps); // console.log(prev, next, '22', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
737
724
 
738
- /** TODO: 在record中带有children,子列表数据修改之后,会导致父级的record对比不一样 */
739
-
740
- if (!(0, _util.checkMemoShouldUploadSpecialFun)(prev, next)) {
741
- return false;
742
- }
743
-
744
- return (0, _lodash.isEqual)(p, n);
745
- });
746
725
  var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
747
726
  var defaultData = props.value,
748
727
  columns = props.columns,
@@ -760,7 +739,6 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
760
739
  _props$quickOpetateCl = props.quickOpetateClearAll,
761
740
  quickOpetateClearAll = _props$quickOpetateCl === void 0 ? true : _props$quickOpetateCl,
762
741
  rowSelection = props.rowSelection,
763
- virtual = props.virtual,
764
742
  sortOpen = props.sortOpen,
765
743
  colSortOpen = props.colSortOpen,
766
744
  filterChange = props.filterChange,
@@ -769,8 +747,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
769
747
  recordCreatorProps = props.recordCreatorProps,
770
748
  _props$shouldUpdate = props.shouldUpdate,
771
749
  shouldUpdate = _props$shouldUpdate === void 0 ? false : _props$shouldUpdate,
772
- resetProps = __rest(props // const [dataSource, setDataSource] = useState([]);
773
- , ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "virtual", "sortOpen", "colSortOpen", "filterChange", "size", "recordCreatorProps", "shouldUpdate"]); // const [dataSource, setDataSource] = useState([]);
750
+ 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([]);
774
751
 
775
752
 
776
753
  var _useControllableValue = (0, _ahooks.useControllableValue)({
@@ -782,15 +759,20 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
782
759
  setDataSource = _useControllableValue2[1]; // const [count, setCount] = useState(0);
783
760
 
784
761
 
785
- var _useState7 = (0, _react.useState)({}),
762
+ var _useState5 = (0, _react.useState)({}),
763
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
764
+ _valid = _useState6[0],
765
+ setValid = _useState6[1];
766
+
767
+ var _useState7 = (0, _react.useState)([]),
786
768
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
787
- _valid = _useState8[0],
788
- setValid = _useState8[1];
769
+ localRowSelectList = _useState8[0],
770
+ setLocalRowSelectList = _useState8[1];
789
771
 
790
772
  var _useState9 = (0, _react.useState)([]),
791
773
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
792
- localRowSelectList = _useState10[0],
793
- setLocalRowSelectList = _useState10[1];
774
+ sortEditTable = _useState10[0],
775
+ setCallBackFalg = _useState10[1];
794
776
  /** 当前展开的列 */
795
777
 
796
778
 
@@ -799,10 +781,20 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
799
781
  expandedRowKeys = _useState12[0],
800
782
  setExpandedRowKeys = _useState12[1];
801
783
 
802
- var dataSourceRef = (0, _react.useRef)(dataSource);
803
- var deepDataSourceRef = (0, _react.useRef)((0, _util.deepDataSourcePreKeys)(dataSource, _rowKey));
804
- dataSourceRef.current = dataSource;
805
- deepDataSourceRef.current = (0, _util.deepDataSourcePreKeys)(dataSource, _rowKey);
784
+ var dataSourceRef = (0, _react.useRef)([]);
785
+ var sortDataSorceRef = (0, _react.useRef)([]);
786
+ var deepDataSourceRef = (0, _react.useRef)([]);
787
+
788
+ var onSortEnd = function onSortEnd(active, over) {
789
+ var cloneArr = (0, _toConsumableArray2.default)(dataSourceRef.current);
790
+ var oldIndex = cloneArr.findIndex(function (v) {
791
+ return v[_rowKey] === active;
792
+ });
793
+ var newIndex = cloneArr.findIndex(function (v) {
794
+ return v[_rowKey] === over;
795
+ });
796
+ setDataSource((0, _sortable.arrayMove)(cloneArr, oldIndex, newIndex));
797
+ };
806
798
 
807
799
  var onColSortEnd = function onColSortEnd(active, over) {
808
800
  var _a;
@@ -840,8 +832,28 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
840
832
  });
841
833
  setDataSource(res); // onChange?.(res)
842
834
  };
843
- /** 本地缓存一个选择数据 */
844
835
 
836
+ (0, _react.useEffect)(function () {
837
+ var _a;
838
+
839
+ dataSourceRef.current = dataSource;
840
+ deepDataSourceRef.current = (0, _util.deepDataSourcePreKeys)(dataSource, _rowKey);
841
+
842
+ if (sortOpen) {
843
+ var dataSourceKeys = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item) {
844
+ return item[_rowKey];
845
+ }).join(',');
846
+ var setCallBackFalgKeys = ((_a = sortDataSorceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
847
+ return item[_rowKey];
848
+ }).join(',')) || '';
849
+
850
+ if (dataSourceKeys !== setCallBackFalgKeys) {
851
+ setCallBackFalg(dataSource);
852
+ sortDataSorceRef.current = dataSource;
853
+ }
854
+ }
855
+ }, [dataSource]);
856
+ /** 本地缓存一个选择数据 */
845
857
 
846
858
  (0, _react.useEffect)(function () {
847
859
  if (rowSelection) {
@@ -1049,12 +1061,10 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1049
1061
  setDataSource(res);
1050
1062
  };
1051
1063
 
1052
- var handleCopy = function handleCopy(key, value, type, rowIndex) {
1064
+ var handleCopy = function handleCopy(key, value) {
1053
1065
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
1054
- draft === null || draft === void 0 ? void 0 : draft.forEach(function (item, index) {
1055
- if (type === 'up' && index < rowIndex || type === 'down' && index > rowIndex) {
1056
- item[key] = value;
1057
- }
1066
+ draft === null || draft === void 0 ? void 0 : draft.forEach(function (item) {
1067
+ return item[key] = value;
1058
1068
  });
1059
1069
  });
1060
1070
  setDataSource(res);
@@ -1119,7 +1129,6 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1119
1129
  width: 48,
1120
1130
  maxWidth: 48,
1121
1131
  className: 'drag-visible',
1122
- fixed: 'left',
1123
1132
  render: function render(_, record) {
1124
1133
  return /*#__PURE__*/_react.default.createElement(_DragHandle.default, {
1125
1134
  id: record[_rowKey] || record.id
@@ -1168,6 +1177,19 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1168
1177
  }
1169
1178
 
1170
1179
  var newCol = Object.assign(Object.assign({}, col), {
1180
+ shouldCellUpdate: function shouldCellUpdate(record, prevRecord) {
1181
+ var _a;
1182
+
1183
+ var dataIndex = col.dataIndex,
1184
+ editable = col.editable,
1185
+ relevanceCols = col.relevanceCols;
1186
+
1187
+ 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) {
1188
+ return true;
1189
+ }
1190
+
1191
+ return record[dataIndex] !== prevRecord[dataIndex];
1192
+ },
1171
1193
  onCell: function onCell(record, rowIndex) {
1172
1194
  return {
1173
1195
  getLength: dataSource.length,
@@ -1207,19 +1229,20 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1207
1229
  return mapColumns(col, index);
1208
1230
  });
1209
1231
  return res;
1210
- }, [columns, isAdd, sortOpen, useQuickOpetate, dataSource, (0, _toConsumableArray2.default)(memoOptions)]);
1232
+ }, [columns, isAdd, sortOpen, useQuickOpetate, sortEditTable, dataSource, (0, _toConsumableArray2.default)(memoOptions)]);
1233
+ var DraggableContainer = (0, _react.useCallback)(function (_a) {
1234
+ var _b;
1211
1235
 
1212
- var onSortEnd = function onSortEnd(active, over) {
1213
- var cloneArr = (0, _toConsumableArray2.default)(dataSourceRef.current);
1214
- var oldIndex = cloneArr.findIndex(function (v) {
1215
- return v[_rowKey] === active;
1216
- });
1217
- var newIndex = cloneArr.findIndex(function (v) {
1218
- return v[_rowKey] === over;
1219
- });
1220
- setDataSource((0, _sortable.arrayMove)(cloneArr, oldIndex, newIndex));
1221
- };
1236
+ var props = __rest(_a, []);
1222
1237
 
1238
+ return /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
1239
+ move: onSortEnd
1240
+ }, /*#__PURE__*/_react.default.createElement(_sortableBox.default, {
1241
+ items: (_b = dataSourceRef.current) === null || _b === void 0 ? void 0 : _b.map(function (item) {
1242
+ return item[_rowKey];
1243
+ })
1244
+ }, /*#__PURE__*/_react.default.createElement("tbody", Object.assign({}, props))));
1245
+ }, [sortEditTable]);
1223
1246
  var colDraggableContainer = (0, _react.useCallback)(function (_a) {
1224
1247
  var _b;
1225
1248
 
@@ -1237,6 +1260,34 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1237
1260
  }, child);
1238
1261
  }));
1239
1262
  }, [columns]);
1263
+ var config = (0, _react.useMemo)(function () {
1264
+ var component = {
1265
+ body: Object.assign({
1266
+ row: sortOpen ? EditableSortRow : EditableRow,
1267
+ cell: EditableCell
1268
+ }, sortOpen ? {
1269
+ wrapper: DraggableContainer
1270
+ } : {})
1271
+ };
1272
+
1273
+ if (colSortOpen) {
1274
+ component['header'] = {
1275
+ row: colDraggableContainer
1276
+ };
1277
+ }
1278
+
1279
+ return Object.assign({
1280
+ pagination: false,
1281
+ tableLayout: 'fixed',
1282
+ scroll: {
1283
+ x: '100%'
1284
+ },
1285
+ rowKey: function rowKey(record) {
1286
+ return record[_rowKey] || record.index || Math.random();
1287
+ },
1288
+ components: component
1289
+ }, resetProps);
1290
+ }, [resultColumns, dataSource, sortOpen, colSortOpen, size]);
1240
1291
  (0, _react.useImperativeHandle)(ref, function () {
1241
1292
  return {
1242
1293
  setRow: handleSave,
@@ -1248,46 +1299,6 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1248
1299
  var isShowAddAction = (0, _react.useMemo)(function () {
1249
1300
  return isEdit && isAdd || isHoverEdit && isAdd;
1250
1301
  }, [isEdit, isAdd, isHoverEdit]);
1251
- var config = (0, _react.useRef)(Object.assign({
1252
- pagination: false,
1253
- tableLayout: 'fixed',
1254
- scroll: {
1255
- x: '100%'
1256
- },
1257
- rowKey: function rowKey(record) {
1258
- return record[_rowKey] || record.index || Math.random();
1259
- },
1260
- components: {
1261
- table: virtual ? _virtual.VirtualTable : null,
1262
- body: Object.assign({
1263
- row: function row(rowProps) {
1264
- return sortOpen ? EditableSortRow(Object.assign(Object.assign({}, rowProps), {
1265
- virtual: virtual
1266
- })) : EditableRow(Object.assign(Object.assign({}, rowProps), {
1267
- virtual: virtual
1268
- }));
1269
- },
1270
- cell: MemoEditableCell
1271
- }, sortOpen ? {
1272
- wrapper: function wrapper(wrapperProps) {
1273
- var _a;
1274
-
1275
- return (0, _components.DraggableContainer)(Object.assign(Object.assign({}, wrapperProps), {
1276
- virtual: virtual,
1277
- keys: (_a = dataSourceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
1278
- return item[_rowKey];
1279
- }),
1280
- onSortEnd: onSortEnd
1281
- }));
1282
- }
1283
- } : virtual ? {
1284
- wrapper: _virtual.VirtualWrapper
1285
- } : {}),
1286
- header: {
1287
- row: colSortOpen ? colDraggableContainer : null
1288
- }
1289
- }
1290
- }, resetProps));
1291
1302
 
1292
1303
  if (colSortOpen) {
1293
1304
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -1298,7 +1309,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1298
1309
  items: columns.reduce(function (acc, item) {
1299
1310
  return [].concat((0, _toConsumableArray2.default)(acc), [item.dataIndex]);
1300
1311
  }, [])
1301
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config.current, {
1312
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config, {
1302
1313
  size: size || 'small',
1303
1314
  columns: resultColumns,
1304
1315
  rowClassName: "editable-row",
@@ -1332,7 +1343,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1332
1343
 
1333
1344
  return /*#__PURE__*/_react.default.createElement("div", {
1334
1345
  className: "lm_editTable_warpper"
1335
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config.current, {
1346
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config, {
1336
1347
  size: size || 'small',
1337
1348
  columns: resultColumns,
1338
1349
  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;
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _sortable = require("@dnd-kit/sortable");
13
13
 
14
14
  var _utilities = require("@dnd-kit/utilities");
15
15
 
16
- var _virtual = require("./virtual");
17
-
18
16
  var __rest = void 0 && (void 0).__rest || function (s, e) {
19
17
  var t = {};
20
18
 
@@ -32,8 +30,7 @@ var SortableItem = function SortableItem(props) {
32
30
  var key = props['data-row-key'],
33
31
  children = props.children,
34
32
  className = props.className,
35
- virtual = props.virtual,
36
- resetField = __rest(props, ['data-row-key', "children", "className", "virtual"]);
33
+ resetField = __rest(props, ['data-row-key', "children", "className"]);
37
34
 
38
35
  var _useSortable = (0, _sortable.useSortable)({
39
36
  id: key
@@ -47,22 +44,12 @@ var SortableItem = function SortableItem(props) {
47
44
  transform: _utilities.CSS.Transform.toString(transform),
48
45
  transition: transition
49
46
  };
50
-
51
- if (!virtual) {
52
- return /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, resetField, {
53
- ref: setNodeRef,
54
- key: key,
55
- style: style
56
- }, attributes), children);
57
- }
58
-
59
- return /*#__PURE__*/_react.default.createElement(_virtual.VirtualRow, Object.assign({}, resetField, {
47
+ return /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, resetField, {
60
48
  ref: setNodeRef,
61
49
  key: key,
62
50
  style: style
63
51
  }, attributes), children);
64
52
  };
65
53
 
66
- var _default = /*#__PURE__*/(0, _react.memo)(SortableItem);
67
-
54
+ var _default = SortableItem;
68
55
  exports.default = _default;
@@ -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
  };