linkmore-design 1.1.27-alpha.0 → 1.1.27

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 (103) hide show
  1. package/dist/LmEditTable/DndContainer.d.ts +3 -6
  2. package/dist/LmEditTable/EditTable.d.ts +5 -10
  3. package/dist/LmEditTable/sortableItem.d.ts +2 -3
  4. package/dist/LmEditTable/util.d.ts +0 -7
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.umd.js +527 -1133
  7. package/dist/index.umd.min.js +8 -8
  8. package/dist/variables.css +0 -65
  9. package/es/InputNumber/index.js +9 -7
  10. package/es/LmEditTable/DndContainer.d.ts +3 -6
  11. package/es/LmEditTable/DndContainer.js +10 -70
  12. package/es/LmEditTable/DragHandle.js +1 -1
  13. package/es/LmEditTable/EditTable.d.ts +5 -10
  14. package/es/LmEditTable/EditTable.js +360 -352
  15. package/es/LmEditTable/sortableItem.d.ts +2 -3
  16. package/es/LmEditTable/sortableItem.js +4 -16
  17. package/es/LmEditTable/sortableItemCol.js +10 -40
  18. package/es/LmEditTable/style/index.css +0 -65
  19. package/es/LmEditTable/style/variables.css +0 -65
  20. package/es/LmEditTable/util.d.ts +0 -7
  21. package/es/LmEditTable/util.js +7 -92
  22. package/es/LmTable/virTual/VirtualRow.js +14 -12
  23. package/es/hooks/useEvent/index.js +1 -1
  24. package/es/index.d.ts +2 -1
  25. package/es/styles/variables.css +0 -65
  26. package/lib/InputNumber/index.js +9 -9
  27. package/lib/LmEditTable/DndContainer.d.ts +3 -6
  28. package/lib/LmEditTable/DndContainer.js +9 -74
  29. package/lib/LmEditTable/DragHandle.js +1 -1
  30. package/lib/LmEditTable/EditTable.d.ts +5 -10
  31. package/lib/LmEditTable/EditTable.js +357 -349
  32. package/lib/LmEditTable/sortableItem.d.ts +2 -3
  33. package/lib/LmEditTable/sortableItem.js +5 -19
  34. package/lib/LmEditTable/sortableItemCol.js +8 -37
  35. package/lib/LmEditTable/style/index.css +0 -65
  36. package/lib/LmEditTable/style/variables.css +0 -65
  37. package/lib/LmEditTable/util.d.ts +0 -7
  38. package/lib/LmEditTable/util.js +6 -97
  39. package/lib/LmTable/virTual/VirtualRow.js +14 -12
  40. package/lib/hooks/useEvent/index.js +1 -1
  41. package/lib/index.d.ts +2 -1
  42. package/lib/styles/variables.css +0 -65
  43. package/package.json +9 -7
  44. package/dist/LmEditTable/components/DraggableContainer.d.ts +0 -10
  45. package/dist/LmEditTable/components/QuickOpetate.d.ts +0 -12
  46. package/dist/LmEditTable/components/bottomOpetateComponent.d.ts +0 -13
  47. package/dist/LmEditTable/components/index.d.ts +0 -16
  48. package/dist/LmEditTable/hooks/useForkRef.d.ts +0 -2
  49. package/dist/LmEditTable/rowSort/DndContainerRow.d.ts +0 -10
  50. package/dist/LmEditTable/virtual/VirtualRow.d.ts +0 -7
  51. package/dist/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  52. package/dist/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  53. package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  54. package/dist/LmEditTable/virtual/context.d.ts +0 -13
  55. package/dist/LmEditTable/virtual/index.d.ts +0 -4
  56. package/es/LmEditTable/components/DraggableContainer.d.ts +0 -10
  57. package/es/LmEditTable/components/DraggableContainer.js +0 -39
  58. package/es/LmEditTable/components/QuickOpetate.d.ts +0 -12
  59. package/es/LmEditTable/components/QuickOpetate.js +0 -82
  60. package/es/LmEditTable/components/bottomOpetateComponent.d.ts +0 -13
  61. package/es/LmEditTable/components/bottomOpetateComponent.js +0 -23
  62. package/es/LmEditTable/components/index.d.ts +0 -16
  63. package/es/LmEditTable/components/index.js +0 -7
  64. package/es/LmEditTable/hooks/useForkRef.d.ts +0 -2
  65. package/es/LmEditTable/hooks/useForkRef.js +0 -22
  66. package/es/LmEditTable/rowSort/DndContainerRow.d.ts +0 -10
  67. package/es/LmEditTable/rowSort/DndContainerRow.js +0 -81
  68. package/es/LmEditTable/virtual/VirtualRow.d.ts +0 -7
  69. package/es/LmEditTable/virtual/VirtualRow.js +0 -62
  70. package/es/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  71. package/es/LmEditTable/virtual/VirtualRowBack.js +0 -100
  72. package/es/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  73. package/es/LmEditTable/virtual/VirtualTable.js +0 -54
  74. package/es/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  75. package/es/LmEditTable/virtual/VirtualWrapper.js +0 -60
  76. package/es/LmEditTable/virtual/context.d.ts +0 -13
  77. package/es/LmEditTable/virtual/context.js +0 -54
  78. package/es/LmEditTable/virtual/index.d.ts +0 -4
  79. package/es/LmEditTable/virtual/index.js +0 -4
  80. package/lib/LmEditTable/components/DraggableContainer.d.ts +0 -10
  81. package/lib/LmEditTable/components/DraggableContainer.js +0 -52
  82. package/lib/LmEditTable/components/QuickOpetate.d.ts +0 -12
  83. package/lib/LmEditTable/components/QuickOpetate.js +0 -96
  84. package/lib/LmEditTable/components/bottomOpetateComponent.d.ts +0 -13
  85. package/lib/LmEditTable/components/bottomOpetateComponent.js +0 -34
  86. package/lib/LmEditTable/components/index.d.ts +0 -16
  87. package/lib/LmEditTable/components/index.js +0 -37
  88. package/lib/LmEditTable/hooks/useForkRef.d.ts +0 -2
  89. package/lib/LmEditTable/hooks/useForkRef.js +0 -29
  90. package/lib/LmEditTable/rowSort/DndContainerRow.d.ts +0 -10
  91. package/lib/LmEditTable/rowSort/DndContainerRow.js +0 -99
  92. package/lib/LmEditTable/virtual/VirtualRow.d.ts +0 -7
  93. package/lib/LmEditTable/virtual/VirtualRow.js +0 -78
  94. package/lib/LmEditTable/virtual/VirtualRowBack.d.ts +0 -6
  95. package/lib/LmEditTable/virtual/VirtualRowBack.js +0 -113
  96. package/lib/LmEditTable/virtual/VirtualTable.d.ts +0 -3
  97. package/lib/LmEditTable/virtual/VirtualTable.js +0 -71
  98. package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +0 -3
  99. package/lib/LmEditTable/virtual/VirtualWrapper.js +0 -73
  100. package/lib/LmEditTable/virtual/context.d.ts +0 -13
  101. package/lib/LmEditTable/virtual/context.js +0 -64
  102. package/lib/LmEditTable/virtual/index.d.ts +0 -4
  103. package/lib/LmEditTable/virtual/index.js +0 -31
@@ -17,6 +17,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
17
17
 
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
20
+ var _icons = require("@ant-design/icons");
21
+
20
22
  var _moment = _interopRequireDefault(require("moment"));
21
23
 
22
24
  var _sortable = require("@dnd-kit/sortable");
@@ -33,6 +35,8 @@ var _immer = require("immer");
33
35
 
34
36
  var _DndContainer = _interopRequireDefault(require("./DndContainer"));
35
37
 
38
+ var _sortableBox = _interopRequireDefault(require("./sortableBox"));
39
+
36
40
  var _sortableBoxCol = _interopRequireDefault(require("./sortableBoxCol"));
37
41
 
38
42
  var _sortableItem = _interopRequireDefault(require("./sortableItem"));
@@ -45,12 +49,8 @@ var _UploadOss = _interopRequireDefault(require("../UploadOss"));
45
49
 
46
50
  var _util = require("./util");
47
51
 
48
- var _components = require("./components");
49
-
50
52
  var _classnames = _interopRequireDefault(require("classnames"));
51
53
 
52
- var _virtual = require("./virtual");
53
-
54
54
  var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
55
55
  function adopt(value) {
56
56
  return value instanceof P ? value : new P(function (resolve) {
@@ -95,6 +95,8 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
95
95
  }
96
96
  return t;
97
97
  };
98
+ /* eslint-disable no-unused-vars */
99
+
98
100
 
99
101
  var UploadBtn = _UploadOss.default.UploadBtn;
100
102
 
@@ -103,8 +105,7 @@ var EditableContext = /*#__PURE__*/_react.default.createContext(null); // 表格
103
105
 
104
106
  var EditableRow = function EditableRow(_a) {
105
107
  var index = _a.index,
106
- virtual = _a.virtual,
107
- props = __rest(_a, ["index", "virtual"]);
108
+ props = __rest(_a, ["index"]);
108
109
 
109
110
  var _Form$useForm = _linkmoreDesign.Form.useForm(),
110
111
  _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
@@ -115,7 +116,7 @@ var EditableRow = function EditableRow(_a) {
115
116
  component: false
116
117
  }, /*#__PURE__*/_react.default.createElement(EditableContext.Provider, {
117
118
  value: form
118
- }, 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))));
119
120
  };
120
121
 
121
122
  var EditableSortRow = function EditableSortRow(_a) {
@@ -128,7 +129,6 @@ var EditableSortRow = function EditableSortRow(_a) {
128
129
 
129
130
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Form, {
130
131
  form: form,
131
- disabled: props.disabled || false,
132
132
  component: false
133
133
  }, /*#__PURE__*/_react.default.createElement(EditableContext.Provider, {
134
134
  value: form
@@ -259,7 +259,88 @@ var InputRange = function InputRange(_a) {
259
259
  return handleInput(e, 'next');
260
260
  }
261
261
  }, editEnum))));
262
- };
262
+ }; // 操作列
263
+
264
+
265
+ var Opetate = function Opetate(_ref) {
266
+ var record = _ref.record,
267
+ rowKey = _ref.rowKey,
268
+ handleAdd = _ref.handleAdd,
269
+ handleDelete = _ref.handleDelete,
270
+ _ref$options = _ref.options,
271
+ options = _ref$options === void 0 ? ['add', 'delete'] : _ref$options,
272
+ getLength = _ref.getLength,
273
+ quickOpetateClearAll = _ref.quickOpetateClearAll;
274
+
275
+ var appendChildren = function appendChildren() {
276
+ handleAdd === null || handleAdd === void 0 ? void 0 : handleAdd(record, true);
277
+ };
278
+
279
+ var appendAdd = function appendAdd() {
280
+ handleAdd === null || handleAdd === void 0 ? void 0 : handleAdd(record);
281
+ };
282
+
283
+ return /*#__PURE__*/_react.default.createElement("div", {
284
+ style: {
285
+ display: 'flex',
286
+ alignItems: 'center',
287
+ justifyContent: 'flex-start',
288
+ marginLeft: '-4px'
289
+ }
290
+ }, options.includes('delete') && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
291
+ type: "link",
292
+ size: "small",
293
+ disabled: !quickOpetateClearAll && getLength < 2,
294
+ icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
295
+ type: "lmweb-minus-circle",
296
+ style: {
297
+ fontSize: 16
298
+ }
299
+ }),
300
+ onClick: function onClick() {
301
+ return handleDelete(record[rowKey]);
302
+ }
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, {
304
+ placement: "bottom",
305
+ overlayClassName: 'lm_table_append_add_popover',
306
+ open: open,
307
+ title: null,
308
+ content: /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", {
309
+ onClick: appendAdd
310
+ }, "\u6DFB\u52A0\u5E73\u7EA7"), /*#__PURE__*/_react.default.createElement("li", {
311
+ onClick: appendChildren
312
+ }, "\u6DFB\u52A0\u5B50\u7EA7")),
313
+ trigger: "hover"
314
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
315
+ type: "link",
316
+ size: "small",
317
+ icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
318
+ type: "lmweb-plus-circle-fill",
319
+ style: {
320
+ fontSize: 16
321
+ }
322
+ })
323
+ })) : (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.Button, {
324
+ type: "link",
325
+ size: "small",
326
+ icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
327
+ type: "lmweb-plus-circle-fill",
328
+ style: {
329
+ fontSize: 16
330
+ }
331
+ }),
332
+ onClick: function onClick() {
333
+ return handleAdd(record, (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? true : false);
334
+ }
335
+ }) : null);
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
+
263
344
  /*
264
345
  表格单元格
265
346
  editEnum: 下拉框时的数据数组(非数组时是配置设置)
@@ -289,7 +370,9 @@ var EditableCell = function EditableCell(props) {
289
370
  handleDelete = props.handleDelete,
290
371
  handleCopy = props.handleCopy,
291
372
  itemProps = props.itemProps,
292
- restProps = __rest(props, ["record", "rowKey", "isEdit", "col", "rowIndex", "colIndex", "handleTableRowDelete", "handleTableRowAdd", "quickOpetateClearAll", "getLength", "isHoverEdit", "editEnum", "valueType", "children", "handleSave", "handleAdd", "handleDelete", "handleCopy", "itemProps"]);
373
+ setValid = props.setValid,
374
+ reWriteOriginSource = props.reWriteOriginSource,
375
+ restProps = __rest(props, ["record", "rowKey", "isEdit", "col", "rowIndex", "colIndex", "handleTableRowDelete", "handleTableRowAdd", "quickOpetateClearAll", "getLength", "isHoverEdit", "editEnum", "valueType", "children", "handleSave", "handleAdd", "handleDelete", "handleCopy", "itemProps", "setValid", "reWriteOriginSource"]);
293
376
  /** 去除移入移出功能,保留最纯粹的功能,优化性能 */
294
377
 
295
378
 
@@ -309,12 +392,6 @@ var EditableCell = function EditableCell(props) {
309
392
 
310
393
  var inputRef = (0, _react.useRef)(null);
311
394
  var form = (0, _react.useContext)(EditableContext);
312
-
313
- var _useState5 = (0, _react.useState)(false),
314
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
315
- hoverStatus = _useState6[0],
316
- setHoverStatus = _useState6[1];
317
-
318
395
  (0, _react.useEffect)(function () {
319
396
  var _a;
320
397
 
@@ -325,7 +402,13 @@ var EditableCell = function EditableCell(props) {
325
402
 
326
403
  var toggleEdit = function toggleEdit() {
327
404
  setEditing(!editing); // form.setFieldsValue({ [dataIndex]: record[dataIndex] });
328
- }; // 校验保存
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
+ // 校验保存
329
412
 
330
413
 
331
414
  var save = function save(row) {
@@ -377,7 +460,13 @@ var EditableCell = function EditableCell(props) {
377
460
  case 13:
378
461
  if (col === null || col === void 0 ? void 0 : col.hoverEdit) {
379
462
  toggleEdit();
380
- }
463
+ } // // 清空异常校验
464
+ // setValid((old) => {
465
+ // const obj = { ...old }
466
+ // delete obj[record[rowKey]]
467
+ // return obj
468
+ // })
469
+
381
470
 
382
471
  _context.next = 18;
383
472
  break;
@@ -402,14 +491,15 @@ var EditableCell = function EditableCell(props) {
402
491
  /** 快捷刷子,把当前的所有列的值,刷成当前的选中的列 */
403
492
 
404
493
 
405
- var copyKey = function copyKey(e, type) {
494
+ var copyKey = function copyKey(e) {
406
495
  e === null || e === void 0 ? void 0 : e.stopPropagation();
407
496
  var dataIndex = col.dataIndex;
408
- 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]);
409
498
  };
410
499
 
411
500
  var Control = function Control(con) {
412
- var _a;
501
+ var _a; // const resultComponentProps = isFunction(componentProps) ? componentProps?.(record, col) : componentProps
502
+
413
503
 
414
504
  var resultComponentProps = (0, _lodash.isFunction)(componentProps) ? componentProps === null || componentProps === void 0 ? void 0 : componentProps(record, col) : componentProps;
415
505
 
@@ -419,7 +509,7 @@ var EditableCell = function EditableCell(props) {
419
509
  });
420
510
  }
421
511
 
422
- var clearAttrComponentProps = (0, _lodash.omit)(resultComponentProps, ['optionOnly', 'isOnlyValue', 'quickcopy']);
512
+ var clearAttrComponentProps = (0, _lodash.omit)(resultComponentProps, ['optionOnly', 'isOnlyValue']);
423
513
 
424
514
  switch (con) {
425
515
  case 'input':
@@ -440,12 +530,19 @@ var EditableCell = function EditableCell(props) {
440
530
  noStyle: true
441
531
  }, /*#__PURE__*/_react.default.cloneElement(resultComponentProps.addonAfter, {
442
532
  onChange: handleFormItemChange
533
+ })) : null,
534
+ suffix: resultComponentProps.quickcopy ? /*#__PURE__*/_react.default.createElement("span", {
535
+ className: 'lm_table_quickcopy'
536
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
537
+ onClick: copyKey,
538
+ type: 'lmweb-icon_m_brush'
443
539
  })) : null
444
540
  }));
445
541
 
446
542
  case 'inputRange':
447
543
  return /*#__PURE__*/_react.default.createElement(InputRange, Object.assign({
448
- onChange: handleFormItemChange
544
+ onChange: handleFormItemChange,
545
+ ref: inputRef
449
546
  }, resultComponentProps, {
450
547
  record: record,
451
548
  rowIndex: rowIndex,
@@ -521,7 +618,7 @@ var EditableCell = function EditableCell(props) {
521
618
 
522
619
  case 'switch':
523
620
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Switch, Object.assign({
524
- size: "small"
621
+ size: 'small'
525
622
  }, clearAttrComponentProps, {
526
623
  onChange: handleFormItemChange
527
624
  }));
@@ -535,9 +632,10 @@ var EditableCell = function EditableCell(props) {
535
632
 
536
633
  case 'operate':
537
634
  case 'lm_edit_opetate':
538
- return /*#__PURE__*/_react.default.createElement(_components.QuickOpetate, Object.assign({
635
+ return /*#__PURE__*/_react.default.createElement(Opetate, Object.assign({
539
636
  record: record,
540
637
  rowKey: rowKey,
638
+ ref: inputRef,
541
639
  handleAdd: handleTableRowAdd,
542
640
  handleDelete: handleTableRowDelete,
543
641
  getLength: getLength,
@@ -551,7 +649,7 @@ var EditableCell = function EditableCell(props) {
551
649
  var fromData = form.getFieldsValue();
552
650
  return render === null || render === void 0 ? void 0 : render(Object.assign(Object.assign({}, !(0, _util.isObjEmpty)(fromData) ? Object.assign(Object.assign({}, record), (0, _defineProperty2.default)({}, dataIndex, fromData[dataIndex])) : record), {
553
651
  onChange: save
554
- }), rowIndex);
652
+ }));
555
653
  }
556
654
 
557
655
  default:
@@ -588,8 +686,7 @@ var EditableCell = function EditableCell(props) {
588
686
  valuePropName: editable === 'switch' ? 'checked' : 'value',
589
687
  style: {
590
688
  margin: 0
591
- },
592
- noStyle: formProps ? false : true
689
+ }
593
690
  }, formProps, {
594
691
  name: dataIndex
595
692
  }), Control(editable)));
@@ -601,7 +698,6 @@ var EditableCell = function EditableCell(props) {
601
698
  margin: 0
602
699
  }
603
700
  }, formProps, {
604
- noStyle: formProps ? false : true,
605
701
  name: [dataIndex, 'value']
606
702
  }), Control(editable)));
607
703
  }
@@ -612,68 +708,31 @@ var EditableCell = function EditableCell(props) {
612
708
  }
613
709
 
614
710
  return childNode;
615
- }, [col, isEdit, editing, getLength, record]); // 出现死循环找我
711
+ }, [col, isEdit, editing, getLength]); // const [childNode, setChildNode] = useState(getMemoChildNode);
712
+ // 出现死循环找我
616
713
 
617
714
  (0, _react.useEffect)(function () {
618
715
  var editable = col.editable,
619
716
  dataIndex = col.dataIndex;
620
717
 
621
718
  if (isEdit && editable) {
622
- form.setFieldsValue((0, _defineProperty2.default)({}, dataIndex, editable === 'date' && record[dataIndex] ? (0, _moment.default)(record[dataIndex]) : record[dataIndex]));
623
- }
624
- }, [record]);
625
-
626
- var handleTdHover = function handleTdHover() {
627
- setHoverStatus(true);
628
- };
629
-
630
- var handleTdMouseOut = function handleTdMouseOut() {
631
- setHoverStatus(false);
632
- };
719
+ form.setFieldsValue((0, _defineProperty2.default)({}, dataIndex, editable === 'date' ? (0, _moment.default)(record[dataIndex]) : record[dataIndex]));
720
+ } // if (
721
+ // (isEdit && editable && record[dataIndex]) ||
722
+ // (isHoverEdit && editable && record[dataIndex])
723
+ // ) {
724
+ // form.setFieldsValue({
725
+ // [dataIndex]: editable === 'date' ? moment(record[dataIndex]) : record[dataIndex],
726
+ // })
727
+ // }
633
728
 
729
+ }, [record]);
634
730
  return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, (0, _lodash.omit)(clearProps, ['dataIndex']), {
635
731
  className: (0, _classnames.default)(clearProps === null || clearProps === void 0 ? void 0 : clearProps.className, 'lm_custom_cell_td'),
636
- onMouseEnter: componentProps.quickcopy ? handleTdHover : undefined,
637
- onMouseLeave: componentProps.quickcopy ? handleTdMouseOut : undefined,
638
732
  key: "r".concat(rowIndex, "_c").concat(colIndex)
639
- }), hoverStatus && props.rowIndex > 0 && /*#__PURE__*/_react.default.createElement("span", {
640
- className: 'quick_copy_warp quick_copy_up',
641
- onClick: function onClick(e) {
642
- return copyKey(e, 'up');
643
- }
644
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
645
- type: 'lmweb-icon_up'
646
- })), getMemoChildNode, hoverStatus && props.rowIndex < props.getLength - 1 && /*#__PURE__*/_react.default.createElement("span", {
647
- className: 'quick_copy_warp quick_copy_down',
648
- onClick: function onClick(e) {
649
- return copyKey(e, 'down');
650
- }
651
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
652
- type: 'lmweb-icon_down'
653
- })));
733
+ }), getMemoChildNode);
654
734
  };
655
- /** true 不刷新, false 刷新 */
656
-
657
-
658
- var MemoEditableCell = /*#__PURE__*/(0, _react.memo)(EditableCell, function (prev, next) {
659
- var pickProps = ['record', 'colIndex'];
660
- var p = (0, _lodash.pick)(prev, pickProps);
661
- var n = (0, _lodash.pick)(next, pickProps);
662
-
663
- if (next === null || next === void 0 ? void 0 : next.shouldUpdate) {
664
- return false;
665
- } // console.log(!checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n), '22', prev.record, next.record)
666
- // console.log('333', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
667
-
668
- /** TODO: 在record中带有children,子列表数据修改之后,会导致父级的record对比不一样 */
669
-
670
-
671
- if (!(0, _util.checkMemoShouldUploadSpecialFun)(prev, next)) {
672
- return false;
673
- }
674
735
 
675
- return (0, _lodash.isEqual)(p, n);
676
- });
677
736
  var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
678
737
  var _a, _b;
679
738
 
@@ -693,21 +752,16 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
693
752
  _props$quickOpetateCl = props.quickOpetateClearAll,
694
753
  quickOpetateClearAll = _props$quickOpetateCl === void 0 ? true : _props$quickOpetateCl,
695
754
  rowSelection = props.rowSelection,
696
- virtual = props.virtual,
697
755
  sortOpen = props.sortOpen,
698
- disabled = props.disabled,
699
756
  colSortOpen = props.colSortOpen,
700
- _props$indexCol = props.indexCol,
701
- indexCol = _props$indexCol === void 0 ? false : _props$indexCol,
702
757
  filterChange = props.filterChange,
703
758
  _props$size = props.size,
704
759
  size = _props$size === void 0 ? 'small' : _props$size,
705
760
  recordCreatorProps = props.recordCreatorProps,
706
761
  _props$shouldUpdate = props.shouldUpdate,
707
762
  shouldUpdate = _props$shouldUpdate === void 0 ? false : _props$shouldUpdate,
708
- _props$loading = props.loading,
709
- loading = _props$loading === void 0 ? false : _props$loading,
710
- resetProps = __rest(props, ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "virtual", "sortOpen", "disabled", "colSortOpen", "indexCol", "filterChange", "size", "recordCreatorProps", "shouldUpdate", "loading"]);
763
+ 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([]);
764
+
711
765
 
712
766
  var _useControllableValue = (0, _ahooks.useControllableValue)({
713
767
  value: (0, _util.checkRowKeyByDataSource)(props.value, _rowKey),
@@ -715,7 +769,14 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
715
769
  }),
716
770
  _useControllableValue2 = (0, _slicedToArray2.default)(_useControllableValue, 2),
717
771
  dataSource = _useControllableValue2[0],
718
- setDataSource = _useControllableValue2[1];
772
+ setDataSource = _useControllableValue2[1]; // const [count, setCount] = useState(0);
773
+
774
+
775
+ var _useState5 = (0, _react.useState)({}),
776
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
777
+ _valid = _useState6[0],
778
+ setValid = _useState6[1]; // const [localRowSelectList, setLocalRowSelectList] = useState([])
779
+
719
780
 
720
781
  var transformRowSelect = function transformRowSelect(selectedRowKeys, selectedRows, info) {
721
782
  var _a;
@@ -732,28 +793,42 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
732
793
  _useControllableValue4 = (0, _slicedToArray2.default)(_useControllableValue3, 2),
733
794
  localRowSelectList = _useControllableValue4[0],
734
795
  setLocalRowSelectList = _useControllableValue4[1];
735
- /** TODO: 当前展开的列 */
736
-
737
796
 
738
797
  var _useState7 = (0, _react.useState)([]),
739
798
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
740
- expandedRowKeys = _useState8[0],
741
- setExpandedRowKeys = _useState8[1];
799
+ sortEditTable = _useState8[0],
800
+ setCallBackFalg = _useState8[1];
801
+ /** 当前展开的列 */
802
+
803
+
804
+ var _useState9 = (0, _react.useState)([]),
805
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
806
+ expandedRowKeys = _useState10[0],
807
+ setExpandedRowKeys = _useState10[1];
742
808
 
743
- var dataSourceRef = (0, _react.useRef)(dataSource);
744
- var deepDataSourceRef = (0, _react.useRef)((0, _util.deepDataSourcePreKeys)(dataSource, _rowKey));
745
- dataSourceRef.current = dataSource;
746
- deepDataSourceRef.current = (0, _util.deepDataSourcePreKeys)(dataSource, _rowKey);
747
- var tableWarpRef = (0, _react.useRef)(null);
809
+ var dataSourceRef = (0, _react.useRef)([]);
810
+ var sortDataSorceRef = (0, _react.useRef)([]);
811
+ var deepDataSourceRef = (0, _react.useRef)([]);
812
+
813
+ var onSortEnd = function onSortEnd(active, over) {
814
+ var cloneArr = (0, _toConsumableArray2.default)(dataSourceRef.current);
815
+ var oldIndex = cloneArr.findIndex(function (v) {
816
+ return v[_rowKey] === active;
817
+ });
818
+ var newIndex = cloneArr.findIndex(function (v) {
819
+ return v[_rowKey] === over;
820
+ });
821
+ setDataSource((0, _sortable.arrayMove)(cloneArr, oldIndex, newIndex));
822
+ };
748
823
 
749
824
  var onColSortEnd = function onColSortEnd(active, over) {
750
825
  var _a;
751
826
 
752
827
  var oldIndex = columns.findIndex(function (item) {
753
- return item.dataIndex === active;
828
+ return item['dataIndex'] === active;
754
829
  });
755
830
  var newIndex = columns.findIndex(function (item) {
756
- return item.dataIndex === over;
831
+ return item['dataIndex'] === over;
757
832
  });
758
833
  filterChange === null || filterChange === void 0 ? void 0 : filterChange((_a = (0, _sortable.arrayMove)(columns, oldIndex, newIndex)) === null || _a === void 0 ? void 0 : _a.map(function (item, index) {
759
834
  return Object.assign(Object.assign({}, item), {
@@ -766,21 +841,55 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
766
841
  var handleDelete = function handleDelete(key) {
767
842
  var nValue = dataSource.filter(function (item) {
768
843
  return item[_rowKey] !== key;
769
- });
844
+ }); // onChange?.(nValue)
845
+
770
846
  setDataSource(nValue);
771
847
  };
772
- /** 点击底部添加按钮添加 */
848
+ /** 点击添加按钮添加 */
773
849
 
774
850
 
775
- var handleAdd = (0, _lodash.debounce)(function (row) {
851
+ var handleAdd = function handleAdd(row) {
776
852
  var _a;
777
853
 
778
854
  var addDataInfo = (0, _lodash.isFunction)(recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData) ? (_a = recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData) === null || _a === void 0 ? void 0 : _a.call(recordCreatorProps) : recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.initData;
779
855
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
780
856
  draft.push(Object.assign((0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())), addDataInfo || {}));
781
857
  });
782
- setDataSource(res);
783
- }, 40);
858
+ setDataSource(res); // onChange?.(res)
859
+ };
860
+
861
+ (0, _react.useEffect)(function () {
862
+ var _a;
863
+
864
+ dataSourceRef.current = dataSource;
865
+ deepDataSourceRef.current = (0, _util.deepDataSourcePreKeys)(dataSource, _rowKey);
866
+
867
+ if (sortOpen) {
868
+ var dataSourceKeys = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item) {
869
+ return item[_rowKey];
870
+ }).join(',');
871
+ var setCallBackFalgKeys = ((_a = sortDataSorceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
872
+ return item[_rowKey];
873
+ }).join(',')) || '';
874
+
875
+ if (dataSourceKeys !== setCallBackFalgKeys) {
876
+ setCallBackFalg(dataSource);
877
+ sortDataSorceRef.current = dataSource;
878
+ }
879
+ }
880
+ }, [dataSource]); // /** 本地缓存一个选择数据 */
881
+ // useEffect(() => {
882
+ // if (rowSelection) {
883
+ // const { selectedRowKeys } = rowSelection
884
+ // if (selectedRowKeys) {
885
+ // setLocalRowSelectList(localRowSelectList || [])
886
+ // }
887
+ // }
888
+ // }, [rowSelection])
889
+ // const editTableRowChange = (selectRows) => {
890
+ // setLocalRowSelectList(selectRows);
891
+ // // (rowSelection?.onChange as any)?.(selectRows)
892
+ // }
784
893
 
785
894
  var handleSave = function handleSave(row, options) {
786
895
  var _a, _b;
@@ -788,9 +897,9 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
788
897
  var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[row[_rowKey]]) === null || _b === void 0 ? void 0 : _b.preKeys;
789
898
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
790
899
  if (options === null || options === void 0 ? void 0 : options.only) {
791
- var _ref = options === null || options === void 0 ? void 0 : options.only,
792
- key = _ref.key,
793
- value = _ref.value;
900
+ var _ref2 = options === null || options === void 0 ? void 0 : options.only,
901
+ key = _ref2.key,
902
+ value = _ref2.value;
794
903
 
795
904
  if ((preKeys === null || preKeys === void 0 ? void 0 : preKeys.length) > 1) {
796
905
  var deeps = function deeps(children) {
@@ -853,26 +962,25 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
853
962
  }
854
963
  });
855
964
  setDataSource(res);
856
- }; // const reWriteOriginSource = (rowKey: string, rowValue, dataIndex: number, nextValue) => {
857
- // setDataSource((prevDataSource) => {
858
- // return prevDataSource?.map((item) => {
859
- // if (get(item, rowKey) === rowValue) {
860
- // set(item, dataIndex, nextValue)
861
- // }
862
- // return item
863
- // })
864
- // })
865
- // }
866
- // @ts-ignore
965
+ };
867
966
 
868
- /** 删除当前行 */
967
+ var reWriteOriginSource = function reWriteOriginSource(rowKey, rowValue, dataIndex, nextValue) {
968
+ setDataSource(function (prevDataSource) {
969
+ return prevDataSource === null || prevDataSource === void 0 ? void 0 : prevDataSource.map(function (item) {
970
+ if ((0, _lodash.get)(item, rowKey) === rowValue) {
971
+ (0, _lodash.set)(item, dataIndex, nextValue);
972
+ }
869
973
 
974
+ return item;
975
+ });
976
+ });
977
+ }; // @ts-ignore
870
978
 
871
- var handleTableRowDelete = (0, _lodash.debounce)(function (key) {
979
+
980
+ var handleTableRowDelete = function handleTableRowDelete(key) {
872
981
  var _a, _b, _c;
873
982
 
874
- var rkey = (0, _lodash.isObject)(key) ? key[_rowKey] : key;
875
- var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[rkey]) === null || _b === void 0 ? void 0 : _b.preKeys;
983
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.preKeys;
876
984
 
877
985
  if (preKeys.length > 1) {
878
986
  /** 说明删除的是children中的数据 */
@@ -893,7 +1001,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
893
1001
  return newData;
894
1002
  };
895
1003
 
896
- var res = filter(dataSourceRef.current, key);
1004
+ var res = filter(dataSource, key);
897
1005
  setDataSource(res);
898
1006
  } else {
899
1007
  if (((_c = dataSourceRef.current) === null || _c === void 0 ? void 0 : _c.length) === 1 && !quickOpetateClearAll) {
@@ -912,76 +1020,34 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
912
1020
 
913
1021
  setDataSource(_res);
914
1022
  }
915
-
916
- return null;
917
- }, 40);
918
- /** 替换当前行 */
919
-
920
- var handleTableRowReplace = (0, _lodash.debounce)(function (record, defaultRecord) {
921
- var _a, _b;
922
-
923
- var rkey = (0, _lodash.isObject)(record) ? record[_rowKey] : record;
924
- var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[rkey]) === null || _b === void 0 ? void 0 : _b.preKeys; // const res = cloneDeep(dataSourceRef.current)
925
-
926
- var deep = function deep(children) {
927
- return children.map(function (item) {
928
- if (item[_rowKey] === rkey) {
929
- return defaultRecord;
930
- } else if (preKeys.includes(item[_rowKey]) && item.children) {
931
- var child = deep(item.children);
932
- return Object.assign(Object.assign({}, item), {
933
- children: child
934
- });
935
- } else {
936
- return item;
937
- }
938
- });
939
- };
940
-
941
- var res = deep(dataSourceRef.current);
942
- setDataSource(res);
943
- }, 40);
1023
+ };
944
1024
  /** 快捷添加 */
945
1025
 
946
- var handleTableRowAdd = (0, _lodash.debounce)(function (record, isAppendInChindren, defaultRecord) {
1026
+
1027
+ var handleTableRowAdd = function handleTableRowAdd(record, isAppendInChindren) {
947
1028
  var _a, _b;
948
1029
 
949
- var rkey = (0, _lodash.isObject)(record) ? record[_rowKey] : record;
950
- var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[rkey]) === null || _b === void 0 ? void 0 : _b.preKeys;
1030
+ var preKeys = (_b = (_a = deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[record[_rowKey]]) === null || _b === void 0 ? void 0 : _b.preKeys;
951
1031
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
952
- var _a, _b, _c, _d, _e;
1032
+ var _a, _b, _c, _d;
953
1033
 
954
- if ((preKeys === null || preKeys === void 0 ? void 0 : preKeys.length) > 1) {
1034
+ if (preKeys.length > 1) {
955
1035
  var deeps = function deeps(children) {
956
1036
  children === null || children === void 0 ? void 0 : children.forEach(function (item, index) {
957
- var _a, _b;
1037
+ var _a;
958
1038
 
959
1039
  if (preKeys === null || preKeys === void 0 ? void 0 : preKeys.includes(item[_rowKey])) {
960
- if (item[_rowKey] === rkey) {
1040
+ if (item[_rowKey] === record[_rowKey]) {
961
1041
  if (isAppendInChindren) {
962
1042
  if (item === null || item === void 0 ? void 0 : item.children) {
963
- if (Array.isArray(defaultRecord)) {
964
- var _a2;
965
-
966
- (_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : (_a2 = _a).push.apply(_a2, (0, _toConsumableArray2.default)(defaultRecord));
967
- } else {
968
- (_b = item === null || item === void 0 ? void 0 : item.children) === null || _b === void 0 ? void 0 : _b.push(defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
969
- }
1043
+ (_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.push((0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
970
1044
  } else {
971
- if (Array.isArray(defaultRecord)) {
972
- item.children = (0, _toConsumableArray2.default)(defaultRecord);
973
- } else {
974
- item.children = [defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now()))];
975
- }
1045
+ item.children = [(0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now()))];
976
1046
  }
977
1047
 
978
1048
  !expandedRowKeys.includes(item[_rowKey]) && setExpandedRowKeys([].concat((0, _toConsumableArray2.default)(expandedRowKeys), [item[_rowKey]]));
979
1049
  } else {
980
- if (Array.isArray(defaultRecord)) {
981
- children.splice.apply(children, [index + 1, 0].concat((0, _toConsumableArray2.default)(defaultRecord)));
982
- } else {
983
- children.splice(index + 1, 0, defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
984
- }
1050
+ children.splice(index + 1, 0, (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
985
1051
  }
986
1052
  } else if (item.children) {
987
1053
  deeps(item.children);
@@ -993,44 +1059,31 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
993
1059
  deeps(draft);
994
1060
  } else {
995
1061
  var index = draft.findIndex(function (item) {
996
- return rkey === item[_rowKey];
1062
+ return record[_rowKey] === item[_rowKey];
997
1063
  });
998
1064
 
999
1065
  if (index !== -1) {
1000
1066
  if (isAppendInChindren) {
1001
1067
  if ((_a = draft[index].children) === null || _a === void 0 ? void 0 : _a.length) {
1002
- if (Array.isArray(defaultRecord)) {
1003
- var _b2;
1004
-
1005
- (_b = draft[index].children) === null || _b === void 0 ? void 0 : (_b2 = _b).push.apply(_b2, (0, _toConsumableArray2.default)(defaultRecord));
1006
- } else {
1007
- (_c = draft[index].children) === null || _c === void 0 ? void 0 : _c.push(defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1008
- }
1068
+ (_b = draft[index].children) === null || _b === void 0 ? void 0 : _b.push((0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1009
1069
  } else {
1010
- draft[index].children = Array.isArray(defaultRecord) ? (0, _toConsumableArray2.default)(defaultRecord) : [defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now()))];
1070
+ draft[index].children = [(0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now()))];
1011
1071
  }
1012
1072
 
1013
- !expandedRowKeys.includes((_d = draft[index]) === null || _d === void 0 ? void 0 : _d[_rowKey]) && setExpandedRowKeys([].concat((0, _toConsumableArray2.default)(expandedRowKeys), [(_e = draft[index]) === null || _e === void 0 ? void 0 : _e[_rowKey]]));
1073
+ !expandedRowKeys.includes((_c = draft[index]) === null || _c === void 0 ? void 0 : _c[_rowKey]) && setExpandedRowKeys([].concat((0, _toConsumableArray2.default)(expandedRowKeys), [(_d = draft[index]) === null || _d === void 0 ? void 0 : _d[_rowKey]]));
1014
1074
  } else {
1015
- if (Array.isArray(defaultRecord)) {
1016
- draft.splice.apply(draft, [index + 1, 0].concat((0, _toConsumableArray2.default)(defaultRecord)));
1017
- } else {
1018
- draft.splice(index + 1, 0, defaultRecord || (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1019
- }
1075
+ draft.splice(index + 1, 0, (0, _defineProperty2.default)({}, _rowKey, "".concat(Date.now())));
1020
1076
  }
1021
1077
  }
1022
1078
  }
1023
1079
  });
1024
1080
  setDataSource(res);
1025
- }, 50);
1026
- /** 快捷刷子功能 */
1081
+ };
1027
1082
 
1028
- var handleCopy = function handleCopy(key, value, type, rowIndex) {
1083
+ var handleCopy = function handleCopy(key, value) {
1029
1084
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
1030
- draft === null || draft === void 0 ? void 0 : draft.forEach(function (item, index) {
1031
- if (type === 'up' && index < rowIndex || type === 'down' && index > rowIndex) {
1032
- item[key] = value;
1033
- }
1085
+ draft === null || draft === void 0 ? void 0 : draft.forEach(function (item) {
1086
+ return item[key] = value;
1034
1087
  });
1035
1088
  });
1036
1089
  setDataSource(res);
@@ -1039,16 +1092,17 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1039
1092
 
1040
1093
 
1041
1094
  var hasDisableOptions = (0, _react.useMemo)(function () {
1095
+ // const hasOnlyOptionsDatas = columns.filter(item => item?.['componentProps']?.optionOnly)
1042
1096
  var hasOnlyOptionsDatas = columns.filter(function (item) {
1043
1097
  var _a;
1044
1098
 
1045
1099
  var resultComponentProps = (0, _lodash.isFunction)(item === null || item === void 0 ? void 0 : item.componentProps) ? (_a = item === null || item === void 0 ? void 0 : item.componentProps) === null || _a === void 0 ? void 0 : _a.call(item, {}, item) : item === null || item === void 0 ? void 0 : item.componentProps;
1046
1100
  return resultComponentProps === null || resultComponentProps === void 0 ? void 0 : resultComponentProps.optionOnly;
1047
- }); // const hasOnlyOptionsDatas = columns.filter((item) => item?.componentProps?.optionOnly)
1101
+ });
1048
1102
 
1049
1103
  if (hasOnlyOptionsDatas.length) {
1050
1104
  return hasOnlyOptionsDatas === null || hasOnlyOptionsDatas === void 0 ? void 0 : hasOnlyOptionsDatas.map(function (item) {
1051
- return item.dataIndex;
1105
+ return item['dataIndex'];
1052
1106
  });
1053
1107
  }
1054
1108
 
@@ -1060,11 +1114,12 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1060
1114
  var newColumns = columns === null || columns === void 0 ? void 0 : columns.map(function (item) {
1061
1115
  var _a;
1062
1116
 
1063
- var resultComponentProps = (0, _lodash.isFunction)(item.componentProps) ? (_a = item.componentProps) === null || _a === void 0 ? void 0 : _a.call(item, {}, item) : item.componentProps;
1117
+ var resultComponentProps = (0, _lodash.isFunction)(item.componentProps) ? (_a = item === null || item === void 0 ? void 0 : item.componentProps) === null || _a === void 0 ? void 0 : _a.call(item, {}, item) : item === null || item === void 0 ? void 0 : item.componentProps;
1118
+
1119
+ var _ref5 = resultComponentProps || {},
1120
+ optionOnly = _ref5.optionOnly,
1121
+ options = _ref5.options; // const { optionOnly, options } = item['componentProps'] || {}
1064
1122
 
1065
- var _ref8 = resultComponentProps || {},
1066
- optionOnly = _ref8.optionOnly,
1067
- options = _ref8.options;
1068
1123
 
1069
1124
  if (optionOnly && options) {
1070
1125
  var dataIndex = item.dataIndex;
@@ -1084,7 +1139,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1084
1139
  }
1085
1140
 
1086
1141
  return Object.assign(Object.assign({}, item), {
1087
- componentProps: Object.assign(Object.assign({}, item.componentProps), {
1142
+ componentProps: Object.assign(Object.assign({}, item['componentProps']), {
1088
1143
  options: newOptions
1089
1144
  })
1090
1145
  });
@@ -1103,47 +1158,16 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1103
1158
  var rColumns = hasDisableOptions ? DisableOptions : columns;
1104
1159
  var localColumns = [sortOpen ? {
1105
1160
  title: '排序',
1106
- dataIndex: '_sort',
1161
+ dataIndex: 'sort',
1107
1162
  width: 48,
1108
1163
  maxWidth: 48,
1109
1164
  className: 'drag-visible',
1110
- fixed: 'left',
1111
1165
  render: function render(_, record) {
1112
1166
  return /*#__PURE__*/_react.default.createElement(_DragHandle.default, {
1113
- id: (record === null || record === void 0 ? void 0 : record[_rowKey]) || (record === null || record === void 0 ? void 0 : record.id)
1167
+ id: record[_rowKey] || record.id
1114
1168
  });
1115
1169
  }
1116
- } : null, indexCol ? (0, _lodash.isBoolean)(indexCol) ? {
1117
- title: '',
1118
- dataIndex: '_index',
1119
- width: 48,
1120
- maxWidth: 48,
1121
- ellipsis: true,
1122
- fixed: 'left',
1123
- render: function render(_, record, index) {
1124
- var _a, _b, _c;
1125
-
1126
- console.log(deepDataSourceRef.current, '--deepDataSourceRef.current', _rowKey);
1127
- return ((_c = (_b = (_a = deepDataSourceRef.current) === null || _a === void 0 ? void 0 : _a[record[_rowKey]]) === null || _b === void 0 ? void 0 : _b['_deepIds']) === null || _c === void 0 ? void 0 : _c.join('-')) || "".concat(index + 1);
1128
- }
1129
- } : Object.assign(Object.assign({
1130
- title: '',
1131
- dataIndex: '_index',
1132
- width: 48,
1133
- ellipsis: true,
1134
- maxWidth: 48,
1135
- fixed: 'left'
1136
- }, indexCol || {}), {
1137
- render: function render(_, record, index) {
1138
- var _a, _b, _c, _d, _e, _f;
1139
-
1140
- if ((0, _lodash.isFunction)(indexCol === null || indexCol === void 0 ? void 0 : indexCol.render)) {
1141
- return (_a = indexCol === null || indexCol === void 0 ? void 0 : indexCol.render) === null || _a === void 0 ? void 0 : _a.call(indexCol, record, (_c = (_b = deepDataSourceRef.current) === null || _b === void 0 ? void 0 : _b[record[_rowKey]]) === null || _c === void 0 ? void 0 : _c['_deepIds']);
1142
- }
1143
-
1144
- return ((_f = (_e = (_d = deepDataSourceRef.current) === null || _d === void 0 ? void 0 : _d[record[_rowKey]]) === null || _e === void 0 ? void 0 : _e['_deepIds']) === null || _f === void 0 ? void 0 : _f.join('-')) || "".concat(index + 1);
1145
- }
1146
- }) : null].concat((0, _toConsumableArray2.default)(rColumns), [useQuickOpetate ? {
1170
+ } : null].concat((0, _toConsumableArray2.default)(rColumns), [useQuickOpetate ? {
1147
1171
  title: '操作',
1148
1172
  dataIndex: 'lm_edit_opetate',
1149
1173
  width: 68,
@@ -1154,11 +1178,11 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1154
1178
  options: Array.isArray(useQuickOpetate) ? useQuickOpetate : ['add', 'delete']
1155
1179
  }
1156
1180
  } : null]).filter(function (item) {
1157
- return item && (item === null || item === void 0 ? void 0 : item.show) !== false;
1181
+ return item && item.show !== false;
1158
1182
  });
1159
- localColumns = localColumns === null || localColumns === void 0 ? void 0 : localColumns.map(function (item, index) {
1183
+ localColumns = localColumns.map(function (item, index) {
1160
1184
  return Object.assign(Object.assign({}, item), {
1161
- order: [null, undefined].includes(item.order) ? index : item.order
1185
+ order: [null, undefined].includes(item['order']) ? index : item['order']
1162
1186
  });
1163
1187
  }).sort(function (a, b) {
1164
1188
  return a.order - b.order;
@@ -1181,22 +1205,29 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1181
1205
  var mapColumns = function mapColumns(col, index) {
1182
1206
  var _a, _b;
1183
1207
 
1184
- if (!col.editable && !((_a = col.children) === null || _a === void 0 ? void 0 : _a.length) && (col === null || col === void 0 ? void 0 : col.dataIndex) === '_sort') {
1185
- var fn = col === null || col === void 0 ? void 0 : col.render;
1186
- return Object.assign(Object.assign({}, col), {
1187
- render: function render(text, record, i) {
1188
- var _a;
1208
+ if (!col.editable && !((_a = col.children) === null || _a === void 0 ? void 0 : _a.length)) {
1209
+ return col;
1210
+ }
1211
+
1212
+ var newCol = Object.assign(Object.assign({}, col), {
1213
+ shouldCellUpdate: function shouldCellUpdate(record, prevRecord) {
1214
+ var _a;
1215
+
1216
+ var dataIndex = col.dataIndex,
1217
+ editable = col.editable,
1218
+ relevanceCols = col.relevanceCols,
1219
+ componentProps = col.componentProps;
1189
1220
 
1190
- return fn === null || fn === void 0 ? void 0 : fn((_a = dataSource[i]) === null || _a === void 0 ? void 0 : _a[col.dataIndex], dataSource[i], i);
1221
+ if (componentProps && (0, _lodash.isFunction)(componentProps)) {
1222
+ return true;
1191
1223
  }
1192
- });
1193
- }
1194
1224
 
1195
- if (isEdit && (col === null || col === void 0 ? void 0 : col.render) && (col === null || col === void 0 ? void 0 : col.editable) === 'render') {
1196
- delete col.render;
1197
- }
1225
+ 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) {
1226
+ return true;
1227
+ }
1198
1228
 
1199
- var newCol = Object.assign(Object.assign({}, col), {
1229
+ return record[dataIndex] !== prevRecord[dataIndex];
1230
+ },
1200
1231
  onCell: function onCell(record, rowIndex) {
1201
1232
  return {
1202
1233
  getLength: dataSource.length,
@@ -1211,7 +1242,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1211
1242
  editable: col.editable,
1212
1243
  dataIndex: col.dataIndex,
1213
1244
  itemProps: col.itemProps,
1214
- shouldUpdate: shouldUpdate,
1245
+ setValid: setValid,
1215
1246
  isEdit: isEdit,
1216
1247
  isHoverEdit: isHoverEdit,
1217
1248
  handleAdd: handleAdd,
@@ -1219,7 +1250,8 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1219
1250
  handleCopy: handleCopy,
1220
1251
  editEnum: typeof col.editEnum === 'function' ? col.editEnum(record) : col.editEnum,
1221
1252
  valueType: typeof col.valueType === 'function' ? col.valueType(record) : col.valueType,
1222
- handleSave: handleSave
1253
+ handleSave: handleSave,
1254
+ reWriteOriginSource: reWriteOriginSource
1223
1255
  };
1224
1256
  }
1225
1257
  });
@@ -1231,23 +1263,24 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1231
1263
  return newCol;
1232
1264
  };
1233
1265
 
1234
- var res = localColumns === null || localColumns === void 0 ? void 0 : localColumns.map(function (col, index) {
1266
+ var res = localColumns.map(function (col, index) {
1235
1267
  return mapColumns(col, index);
1236
1268
  });
1237
1269
  return res;
1238
- }, [columns, isAdd, sortOpen, useQuickOpetate, dataSource, (0, _toConsumableArray2.default)(memoOptions)]);
1270
+ }, [columns, isAdd, sortOpen, useQuickOpetate, sortEditTable, dataSource, (0, _toConsumableArray2.default)(memoOptions)]);
1271
+ var DraggableContainer = (0, _react.useCallback)(function (_a) {
1272
+ var _b;
1239
1273
 
1240
- var onSortEnd = function onSortEnd(active, over) {
1241
- var cloneArr = (0, _toConsumableArray2.default)(dataSourceRef.current);
1242
- var oldIndex = cloneArr.findIndex(function (v) {
1243
- return v[_rowKey] === active;
1244
- });
1245
- var newIndex = cloneArr.findIndex(function (v) {
1246
- return v[_rowKey] === over;
1247
- });
1248
- setDataSource((0, _sortable.arrayMove)(cloneArr, oldIndex, newIndex));
1249
- };
1274
+ var props = __rest(_a, []);
1250
1275
 
1276
+ return /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
1277
+ move: onSortEnd
1278
+ }, /*#__PURE__*/_react.default.createElement(_sortableBox.default, {
1279
+ items: (_b = dataSourceRef.current) === null || _b === void 0 ? void 0 : _b.map(function (item) {
1280
+ return item[_rowKey];
1281
+ })
1282
+ }, /*#__PURE__*/_react.default.createElement("tbody", Object.assign({}, props))));
1283
+ }, [sortEditTable]);
1251
1284
  var colDraggableContainer = (0, _react.useCallback)(function (_a) {
1252
1285
  var _b;
1253
1286
 
@@ -1265,18 +1298,40 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1265
1298
  }, child);
1266
1299
  }));
1267
1300
  }, [columns]);
1301
+ var config = (0, _react.useMemo)(function () {
1302
+ var component = {
1303
+ body: Object.assign({
1304
+ row: sortOpen ? EditableSortRow : EditableRow,
1305
+ cell: EditableCell
1306
+ }, sortOpen ? {
1307
+ wrapper: DraggableContainer
1308
+ } : {})
1309
+ };
1310
+
1311
+ if (colSortOpen) {
1312
+ component['header'] = {
1313
+ row: colDraggableContainer
1314
+ };
1315
+ }
1316
+
1317
+ return Object.assign({
1318
+ pagination: false,
1319
+ tableLayout: 'fixed',
1320
+ scroll: {
1321
+ x: '100%'
1322
+ },
1323
+ rowKey: function rowKey(record) {
1324
+ return record[_rowKey] || record.index || Math.random();
1325
+ },
1326
+ components: component
1327
+ }, resetProps);
1328
+ }, [resultColumns, dataSource, sortOpen, colSortOpen, size]);
1268
1329
  (0, _react.useImperativeHandle)(ref, function () {
1269
1330
  return {
1270
1331
  setRow: handleSave,
1271
1332
  getCheckboxRecords: function getCheckboxRecords() {
1272
1333
  return localRowSelectList.selectedRows;
1273
1334
  },
1274
- deleteRowData: function deleteRowData(data) {
1275
- return handleTableRowDelete(data);
1276
- },
1277
- addRowData: function addRowData(data, defaultValue, addInChild) {
1278
- return addInChild === 'replace' ? handleTableRowReplace(data, defaultValue) : handleTableRowAdd(data, addInChild, defaultValue);
1279
- },
1280
1335
  clearSelect: function clearSelect() {
1281
1336
  setLocalRowSelectList({
1282
1337
  selectedRows: []
@@ -1286,80 +1341,32 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1286
1341
  setLocalRowSelectList({
1287
1342
  selectedRows: value
1288
1343
  });
1344
+ },
1345
+ valid: function valid() {
1346
+ return _valid;
1289
1347
  }
1290
1348
  };
1291
1349
  });
1292
1350
  var isShowAddAction = (0, _react.useMemo)(function () {
1293
1351
  return isEdit && isAdd || isHoverEdit && isAdd;
1294
1352
  }, [isEdit, isAdd, isHoverEdit]);
1295
- var config = (0, _react.useRef)(Object.assign({
1296
- pagination: false,
1297
- tableLayout: 'fixed',
1298
- scroll: {
1299
- x: '100%'
1300
- },
1301
- rowKey: function rowKey(record) {
1302
- return record[_rowKey] || record.index || Math.random();
1303
- },
1304
- components: {
1305
- table: virtual ? _virtual.VirtualTable : null,
1306
- body: Object.assign({
1307
- row: function row(rowProps) {
1308
- return sortOpen ? EditableSortRow(Object.assign(Object.assign({}, rowProps), {
1309
- virtual: virtual
1310
- })) : EditableRow(Object.assign(Object.assign({}, rowProps), {
1311
- virtual: virtual
1312
- }));
1313
- },
1314
- cell: MemoEditableCell
1315
- }, sortOpen ? {
1316
- wrapper: function wrapper(wrapperProps) {
1317
- var _a, _b, _c;
1318
-
1319
- return (0, _components.DraggableContainer)(Object.assign(Object.assign({}, wrapperProps), {
1320
- virtual: virtual,
1321
- keys: (_a = dataSourceRef.current) === null || _a === void 0 ? void 0 : _a.map(function (item) {
1322
- return item[_rowKey];
1323
- }),
1324
- options: dataSourceRef.current,
1325
- rowKey: _rowKey,
1326
- onSortEnd: onSortEnd,
1327
- tableWidth: (_c = (_b = tableWarpRef === null || tableWarpRef === void 0 ? void 0 : tableWarpRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width
1328
- }));
1329
- }
1330
- } : virtual ? {
1331
- wrapper: _virtual.VirtualWrapper
1332
- } : {}),
1333
- header: {
1334
- row: colSortOpen ? colDraggableContainer : null
1335
- }
1336
- },
1337
- onRow: function onRow(record, index) {
1338
- return {
1339
- disabled: disabled
1340
- };
1341
- }
1342
- }, resetProps));
1343
1353
 
1344
1354
  if (colSortOpen) {
1345
1355
  return /*#__PURE__*/_react.default.createElement("div", {
1346
- className: "lm_editTable_warpper",
1347
- ref: tableWarpRef
1356
+ className: "lm_editTable_warpper"
1348
1357
  }, /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
1349
- rowKey: _rowKey,
1350
- options: resultColumns,
1351
1358
  move: onColSortEnd
1352
1359
  }, /*#__PURE__*/_react.default.createElement(_sortableBoxCol.default, {
1353
1360
  items: columns.reduce(function (acc, item) {
1354
1361
  return [].concat((0, _toConsumableArray2.default)(acc), [item.dataIndex]);
1355
1362
  }, [])
1356
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config.current, {
1357
- loading: loading,
1363
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config, {
1358
1364
  size: size || 'small',
1359
1365
  columns: resultColumns,
1360
1366
  rowClassName: "editable-row",
1361
1367
  bordered: true,
1362
1368
  pagination: false,
1369
+ // components={tableComponents}
1363
1370
  rowSelection: !rowSelection ? undefined : Object.assign(Object.assign({
1364
1371
  fixed: true,
1365
1372
  type: 'checkbox',
@@ -1369,39 +1376,36 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1369
1376
  return (0, _lodash.isObject)(v) ? v[_rowKey] : v;
1370
1377
  }),
1371
1378
  onChange: function onChange(selectedRowKeys, selectedRows, info) {
1379
+ // editTableRowChange(selectedRowKeys, selectedRows, info)
1372
1380
  setLocalRowSelectList(selectedRowKeys, selectedRows, info);
1373
1381
  }
1374
1382
  }),
1375
1383
  dataSource: dataSource
1376
- })))), /*#__PURE__*/_react.default.createElement(_components.BottomOpetateComponent, {
1377
- disabled: disabled,
1378
- isShowAddAction: isShowAddAction,
1379
- recordCreatorProps: recordCreatorProps,
1380
- handleAdd: handleAdd
1381
- }));
1384
+ })))), isShowAddAction && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
1385
+ className: "lm_editTable_add_bar",
1386
+ type: "dashed",
1387
+ onClick: handleAdd,
1388
+ style: {
1389
+ marginTop: 8
1390
+ }
1391
+ }, /*#__PURE__*/_react.default.createElement(_icons.PlusCircleOutlined, {
1392
+ className: "lmweb-plus"
1393
+ }), "\u65B0\u589E"));
1382
1394
  } // @ts-ignore
1383
1395
 
1384
1396
 
1385
1397
  return /*#__PURE__*/_react.default.createElement("div", {
1386
- className: "lm_editTable_warpper",
1387
- ref: tableWarpRef
1388
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config.current, {
1398
+ className: "lm_editTable_warpper"
1399
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Table, Object.assign({}, config, {
1389
1400
  size: size || 'small',
1390
1401
  columns: resultColumns,
1391
1402
  rowClassName: "editable-row",
1392
1403
  bordered: true,
1393
- loading: loading,
1394
1404
  pagination: false,
1395
1405
  // components={tableComponents}
1396
1406
  expandable: (resetProps === null || resetProps === void 0 ? void 0 : resetProps.expandable) || {
1397
1407
  expandedRowKeys: expandedRowKeys,
1398
1408
  fixed: true,
1399
- // indentSize: 0,
1400
- expandIconColumnIndex: (0, _util.checkExpandIconColumnIndex)({
1401
- rowSelection: rowSelection,
1402
- sortOpen: sortOpen,
1403
- indexCol: indexCol
1404
- }) || 0,
1405
1409
  onExpandedRowsChange: function onExpandedRowsChange(expandedRows) {
1406
1410
  return setExpandedRowKeys(expandedRows);
1407
1411
  }
@@ -1419,12 +1423,16 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1419
1423
  }
1420
1424
  }),
1421
1425
  dataSource: dataSource
1422
- })), /*#__PURE__*/_react.default.createElement(_components.BottomOpetateComponent, {
1423
- disabled: disabled,
1424
- isShowAddAction: isShowAddAction,
1425
- recordCreatorProps: recordCreatorProps,
1426
- handleAdd: handleAdd
1427
- }));
1426
+ })), isShowAddAction && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
1427
+ className: "lm_editTable_add_bar",
1428
+ type: "dashed",
1429
+ onClick: (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.customAddClick) || handleAdd,
1430
+ style: Object.assign({
1431
+ marginTop: 8
1432
+ }, (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.style) || {})
1433
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
1434
+ type: "lmweb-plus"
1435
+ }), (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.creatorButtonText) || '新增'));
1428
1436
  });
1429
1437
 
1430
1438
  var _default = /*#__PURE__*/(0, _react.memo)(EditTable);