linkmore-design 1.1.13-alpha.4 → 1.1.13-alpha.5

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 (116) hide show
  1. package/dist/Button/demos/ghost.d.ts +2 -0
  2. package/dist/Descriptions/Cell.d.ts +1 -0
  3. package/dist/Descriptions/Item.d.ts +1 -0
  4. package/dist/LmDrag/LmDrag.d.ts +4 -0
  5. package/dist/LmDrag/components/DndContainer.d.ts +3 -0
  6. package/dist/LmDrag/components/sortableBox.d.ts +5 -0
  7. package/dist/LmDrag/components/sortableItem.d.ts +7 -0
  8. package/dist/LmDrag/demos/basic.d.ts +2 -0
  9. package/dist/LmDrag/index.d.ts +10 -0
  10. package/dist/LmDrag/style/index.d.ts +1 -0
  11. package/dist/LmDrag/style/variables.d.ts +1 -0
  12. package/dist/LmDrag/wrapper/Root.d.ts +3 -0
  13. package/dist/LmEditTable/EditTable.d.ts +15 -3
  14. package/dist/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  15. package/dist/LmUpload/fns/index.d.ts +1 -0
  16. package/dist/QuickMenu/index.d.ts +2 -1
  17. package/dist/Select/index.d.ts +3 -0
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.umd.js +699 -99
  20. package/dist/index.umd.min.js +9 -9
  21. package/dist/variables.css +67 -25
  22. package/es/Button/index.js +4 -3
  23. package/es/Button/style/index.css +28 -25
  24. package/es/Button/style/variables.css +28 -25
  25. package/es/Descriptions/Cell.d.ts +1 -0
  26. package/es/Descriptions/Cell.js +5 -2
  27. package/es/Descriptions/Item.d.ts +1 -0
  28. package/es/Descriptions/Row.js +6 -1
  29. package/es/InputNumber/index.js +7 -9
  30. package/es/LmDrag/LmDrag.d.ts +4 -0
  31. package/es/LmDrag/LmDrag.js +30 -0
  32. package/es/LmDrag/components/DndContainer.d.ts +3 -0
  33. package/es/LmDrag/components/DndContainer.js +121 -0
  34. package/es/LmDrag/components/sortableBox.d.ts +5 -0
  35. package/es/LmDrag/components/sortableBox.js +23 -0
  36. package/es/LmDrag/components/sortableItem.d.ts +7 -0
  37. package/es/LmDrag/components/sortableItem.js +41 -0
  38. package/es/LmDrag/index.d.ts +10 -0
  39. package/es/LmDrag/index.js +3 -0
  40. package/es/LmDrag/style/index.css +0 -0
  41. package/es/LmDrag/style/index.d.ts +1 -0
  42. package/es/LmDrag/style/index.js +1 -0
  43. package/es/LmDrag/style/variables.css +0 -0
  44. package/es/LmDrag/style/variables.d.ts +1 -0
  45. package/es/LmDrag/style/variables.js +1 -0
  46. package/es/LmDrag/wrapper/Root.d.ts +3 -0
  47. package/es/LmDrag/wrapper/Root.js +12 -0
  48. package/es/LmEditTable/EditTable.d.ts +15 -3
  49. package/es/LmEditTable/EditTable.js +86 -55
  50. package/es/LmEditTable/sortableItemCol.js +3 -1
  51. package/es/LmFilter/components/DropdownFIlter.js +27 -6
  52. package/es/LmFilter/style/index.css +12 -0
  53. package/es/LmFilter/style/variables.css +12 -0
  54. package/es/LmUpload/LmUpload.js +2 -1
  55. package/es/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  56. package/es/LmUpload/UploadList/ItemPictureCard.js +4 -3
  57. package/es/LmUpload/UploadList/index.js +52 -2
  58. package/es/LmUpload/fns/index.d.ts +1 -0
  59. package/es/LmUpload/fns/index.js +19 -3
  60. package/es/QuickMenu/index.d.ts +2 -1
  61. package/es/QuickMenu/index.js +11 -12
  62. package/es/Select/index.d.ts +3 -0
  63. package/es/Select/index.js +28 -1
  64. package/es/Select/style/index.css +27 -0
  65. package/es/Select/style/variables.css +27 -0
  66. package/es/index.d.ts +2 -0
  67. package/es/index.js +2 -1
  68. package/es/styles/variables.css +67 -25
  69. package/lib/Button/index.js +4 -3
  70. package/lib/Button/style/index.css +28 -25
  71. package/lib/Button/style/variables.css +28 -25
  72. package/lib/Descriptions/Cell.d.ts +1 -0
  73. package/lib/Descriptions/Cell.js +5 -2
  74. package/lib/Descriptions/Item.d.ts +1 -0
  75. package/lib/Descriptions/Row.js +6 -1
  76. package/lib/InputNumber/index.js +9 -9
  77. package/lib/LmDrag/LmDrag.d.ts +4 -0
  78. package/lib/LmDrag/LmDrag.js +44 -0
  79. package/lib/LmDrag/components/DndContainer.d.ts +3 -0
  80. package/lib/LmDrag/components/DndContainer.js +138 -0
  81. package/lib/LmDrag/components/sortableBox.d.ts +5 -0
  82. package/lib/LmDrag/components/sortableBox.js +37 -0
  83. package/lib/LmDrag/components/sortableItem.d.ts +7 -0
  84. package/lib/LmDrag/components/sortableItem.js +54 -0
  85. package/lib/LmDrag/index.d.ts +10 -0
  86. package/lib/LmDrag/index.js +19 -0
  87. package/lib/LmDrag/style/index.css +0 -0
  88. package/lib/LmDrag/style/index.d.ts +1 -0
  89. package/lib/LmDrag/style/index.js +3 -0
  90. package/lib/LmDrag/style/variables.css +0 -0
  91. package/lib/LmDrag/style/variables.d.ts +1 -0
  92. package/lib/LmDrag/style/variables.js +3 -0
  93. package/lib/LmDrag/wrapper/Root.d.ts +3 -0
  94. package/lib/LmDrag/wrapper/Root.js +26 -0
  95. package/lib/LmEditTable/EditTable.d.ts +15 -3
  96. package/lib/LmEditTable/EditTable.js +85 -54
  97. package/lib/LmEditTable/sortableItemCol.js +4 -1
  98. package/lib/LmFilter/components/DropdownFIlter.js +27 -6
  99. package/lib/LmFilter/style/index.css +12 -0
  100. package/lib/LmFilter/style/variables.css +12 -0
  101. package/lib/LmUpload/LmUpload.js +2 -1
  102. package/lib/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
  103. package/lib/LmUpload/UploadList/ItemPictureCard.js +4 -3
  104. package/lib/LmUpload/UploadList/index.js +53 -2
  105. package/lib/LmUpload/fns/index.d.ts +1 -0
  106. package/lib/LmUpload/fns/index.js +19 -3
  107. package/lib/QuickMenu/index.d.ts +2 -1
  108. package/lib/QuickMenu/index.js +11 -12
  109. package/lib/Select/index.d.ts +3 -0
  110. package/lib/Select/index.js +29 -1
  111. package/lib/Select/style/index.css +27 -0
  112. package/lib/Select/style/variables.css +27 -0
  113. package/lib/index.d.ts +2 -0
  114. package/lib/index.js +15 -1
  115. package/lib/styles/variables.css +67 -25
  116. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React from 'react';
3
+ import { DragOverlay, DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
4
+ import { restrictToParentElement } from '@dnd-kit/modifiers';
5
+ import { sortableKeyboardCoordinates } from '@dnd-kit/sortable';
6
+ import SortableBox from './sortableBox';
7
+ var DragOver = /*#__PURE__*/React.memo(function (_ref) {
8
+ var instance = _ref.instance;
9
+ var isDragging = instance.isDragging,
10
+ activeId = instance.activeId,
11
+ rowKey = instance.rowKey,
12
+ children = instance.children,
13
+ options = instance.options;
14
+ var item = activeId && options.find(function (v) {
15
+ return v[rowKey] === activeId;
16
+ });
17
+ return /*#__PURE__*/React.createElement(DragOverlay, {
18
+ adjustScale: false
19
+ }, isDragging ? children({
20
+ item: item,
21
+ listeners: {}
22
+ }) : null);
23
+ });
24
+ /*
25
+ * restrictToParentElement 拖拽限制在父元素内
26
+ */
27
+ // 可拖拽容器
28
+
29
+ var DndContainer = function DndContainer(_ref2) {
30
+ var options = _ref2.options,
31
+ rowKey = _ref2.rowKey,
32
+ children = _ref2.children,
33
+ move = _ref2.move;
34
+
35
+ var _React$useState = React.useState(false),
36
+ _React$useState2 = _slicedToArray(_React$useState, 2),
37
+ isDragging = _React$useState2[0],
38
+ setIsDragging = _React$useState2[1]; // 是否拖拽中
39
+
40
+
41
+ var _React$useState3 = React.useState(null),
42
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
43
+ activeId = _React$useState4[0],
44
+ setActiveId = _React$useState4[1]; // 是否拖拽中
45
+
46
+
47
+ var sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
48
+ coordinateGetter: sortableKeyboardCoordinates
49
+ }));
50
+
51
+ var handleMove = function handleMove(activeItem, overItem) {
52
+ var fileMap = options.map(function (v) {
53
+ if (v[rowKey] === activeItem[rowKey]) {
54
+ return Object.assign({}, overItem);
55
+ }
56
+
57
+ if (v[rowKey] === overItem[rowKey]) {
58
+ return Object.assign({}, activeItem);
59
+ }
60
+
61
+ return v;
62
+ });
63
+ move === null || move === void 0 ? void 0 : move(activeItem, overItem, fileMap);
64
+ }; // 开始拖拽
65
+
66
+
67
+ var handleDragStart = function handleDragStart(_ref3) {
68
+ var active = _ref3.active;
69
+ setIsDragging(true);
70
+
71
+ if (!active) {
72
+ return;
73
+ }
74
+
75
+ setActiveId(active.id);
76
+ }; // 拖拽结束
77
+
78
+
79
+ var handleDragEnd = function handleDragEnd(event) {
80
+ var active = event.active,
81
+ over = event.over;
82
+ setActiveId(null); // 未移入时触发
83
+
84
+ if (!(over === null || over === void 0 ? void 0 : over.id)) {
85
+ return;
86
+ } // 移入时触发更新数据
87
+
88
+
89
+ if (active.id !== over.id) {
90
+ handleMove(active.data.current.item, over.data.current.item);
91
+ }
92
+ };
93
+
94
+ var instance = {
95
+ isDragging: isDragging,
96
+ activeId: activeId,
97
+ options: options,
98
+ rowKey: rowKey,
99
+ children: children,
100
+ move: move,
101
+ items: options === null || options === void 0 ? void 0 : options.map(function (v) {
102
+ return v[rowKey];
103
+ })
104
+ };
105
+ return /*#__PURE__*/React.createElement(DndContext, {
106
+ sensors: sensors,
107
+ onDragStart: handleDragStart,
108
+ onDragEnd: handleDragEnd,
109
+ onDragCancel: function onDragCancel() {
110
+ return setActiveId(null);
111
+ },
112
+ modifiers: [restrictToParentElement],
113
+ collisionDetection: closestCenter
114
+ }, /*#__PURE__*/React.createElement(SortableBox, {
115
+ instance: instance
116
+ }), /*#__PURE__*/React.createElement(DragOver, {
117
+ instance: instance
118
+ }));
119
+ };
120
+
121
+ export default DndContainer;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ instance }: {
3
+ instance: any;
4
+ }) => JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { SortableContext, rectSortingStrategy } from '@dnd-kit/sortable';
3
+ import SortableItem from './sortableItem'; // rectSortingStrategy 可交换策略
4
+
5
+ var SortableBox = function SortableBox(_ref) {
6
+ var instance = _ref.instance;
7
+ var items = instance.items,
8
+ rowKey = instance.rowKey,
9
+ options = instance.options;
10
+ return /*#__PURE__*/React.createElement(SortableContext, {
11
+ items: items,
12
+ strategy: rectSortingStrategy
13
+ }, options === null || options === void 0 ? void 0 : options.map(function (item, idx) {
14
+ return /*#__PURE__*/React.createElement(SortableItem, {
15
+ instance: instance,
16
+ index: idx,
17
+ key: item[rowKey] || idx,
18
+ item: item
19
+ });
20
+ }));
21
+ };
22
+
23
+ export default /*#__PURE__*/React.memo(SortableBox);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ index, item, instance }: {
3
+ index: any;
4
+ item: any;
5
+ instance: any;
6
+ }) => JSX.Element>;
7
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useSortable } from '@dnd-kit/sortable';
3
+ import { CSS } from '@dnd-kit/utilities';
4
+
5
+ var SortableItem = function SortableItem(_ref) {
6
+ var index = _ref.index,
7
+ item = _ref.item,
8
+ instance = _ref.instance;
9
+ var children = instance.children,
10
+ rowKey = instance.rowKey;
11
+
12
+ var _useSortable = useSortable({
13
+ id: item[rowKey] || index,
14
+ data: {
15
+ item: item
16
+ }
17
+ }),
18
+ attributes = _useSortable.attributes,
19
+ listeners = _useSortable.listeners,
20
+ setNodeRef = _useSortable.setNodeRef,
21
+ transform = _useSortable.transform,
22
+ transition = _useSortable.transition;
23
+
24
+ var resetStyle = useMemo(function () {
25
+ return {
26
+ transform: CSS.Transform.toString(transform),
27
+ transition: transition
28
+ };
29
+ }, [transform, transition]);
30
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", Object.assign({
31
+ className: "lm_drag_item",
32
+ ref: setNodeRef,
33
+ style: resetStyle
34
+ }, attributes), children === null || children === void 0 ? void 0 : children({
35
+ item: item,
36
+ listeners: listeners,
37
+ index: index
38
+ })));
39
+ };
40
+
41
+ export default /*#__PURE__*/React.memo(SortableItem);
@@ -0,0 +1,10 @@
1
+ import React, { ReactNode } from 'react';
2
+ import LmDrag from './LmDrag';
3
+ export default LmDrag;
4
+ export { LmDrag };
5
+ export interface LmDragProps {
6
+ options?: Array<any>;
7
+ rowKey: string;
8
+ move?: (activeId: string, overId: string, fileList: Array<any>) => void;
9
+ children?: ReactNode | React.FC | null;
10
+ }
@@ -0,0 +1,3 @@
1
+ import LmDrag from './LmDrag';
2
+ export default LmDrag;
3
+ export { LmDrag };
File without changes
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1 @@
1
+ import "./index.css";
File without changes
@@ -0,0 +1 @@
1
+ import './variables.less';
@@ -0,0 +1 @@
1
+ import "./variables.css";
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<unknown>>;
3
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import React, { forwardRef, useImperativeHandle } from 'react';
2
+ import Drag from '../components/DndContainer';
3
+
4
+ var Root = function Root(props, ref) {
5
+ // 向外暴露出的方法
6
+ useImperativeHandle(ref, function () {
7
+ return {};
8
+ });
9
+ return /*#__PURE__*/React.createElement(Drag, Object.assign({}, props));
10
+ };
11
+
12
+ export default /*#__PURE__*/forwardRef(Root);
@@ -23,6 +23,18 @@ interface ILmEditTable extends TableProps<any> {
23
23
  };
24
24
  /** 是否为强制更新 */
25
25
  shouldUpdate?: boolean;
26
+ rowSelection?: TableProps<any>['rowSelection'] & {
27
+ selectedRows?: Record<string, any>;
28
+ };
29
+ }
30
+ export interface CountdownHandle {
31
+ setRow: (data: any) => void;
32
+ getCheckboxRecords: () => any[];
33
+ clearSelect: () => void;
34
+ customSetCheckboxRecords: (data: any[]) => void;
35
+ deleteRowData: (record: string | Record<string, any>) => void;
36
+ addRowData: (record: string | Record<string, any>, addInChind: boolean, defaultValue?: Record<string, any>) => void;
37
+ valid: () => void;
26
38
  }
27
39
  interface ILmColumns extends TableColumnType<any> {
28
40
  editable?: 'input' | 'number' | 'inputRange' | 'date' | 'select' | 'multiple' | 'checkbox' | 'radio' | 'switch' | 'upload' | 'operate' | 'lm_edit_opetate' | 'render';
@@ -37,11 +49,11 @@ interface ILmColumns extends TableColumnType<any> {
37
49
  export declare type TLmEditTable = {
38
50
  onChange?: (data: any[]) => void;
39
51
  columns: ILmColumns[];
40
- virtual: boolean;
52
+ virtual?: boolean;
41
53
  } & ILmEditTable;
42
54
  declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
43
55
  onChange?: (data: any[]) => void;
44
56
  columns: ILmColumns[];
45
- virtual: boolean;
46
- } & ILmEditTable & React.RefAttributes<unknown>>>;
57
+ virtual?: boolean;
58
+ } & ILmEditTable & React.RefAttributes<CountdownHandle>>>;
47
59
  export default _default;
@@ -54,7 +54,7 @@ import { PlusCircleOutlined } from '@ant-design/icons';
54
54
  import moment from 'moment';
55
55
  import { arrayMove } from '@dnd-kit/sortable';
56
56
  import { Button, Checkbox, IconFont, Input, InputNumber, Radio, Select, Table, Switch, DatePicker, Form, Popover } from 'linkmore-design';
57
- import { get, set, isFunction, omit, isEqual, pick, isBoolean } from 'lodash';
57
+ import { get, set, isFunction, omit, isEqual, pick, isBoolean, isObject } from 'lodash';
58
58
  import React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, memo, useCallback } from 'react';
59
59
  import { useControllableValue } from 'ahooks';
60
60
  import { produce } from 'immer';
@@ -488,8 +488,7 @@ var EditableCell = function EditableCell(props) {
488
488
 
489
489
  case 'inputRange':
490
490
  return /*#__PURE__*/React.createElement(InputRange, Object.assign({
491
- onChange: handleFormItemChange,
492
- ref: inputRef
491
+ onChange: handleFormItemChange
493
492
  }, resultComponentProps, {
494
493
  record: record,
495
494
  rowIndex: rowIndex,
@@ -582,7 +581,6 @@ var EditableCell = function EditableCell(props) {
582
581
  return /*#__PURE__*/React.createElement(Opetate, Object.assign({
583
582
  record: record,
584
583
  rowKey: rowKey,
585
- ref: inputRef,
586
584
  handleAdd: handleTableRowAdd,
587
585
  handleDelete: handleTableRowDelete,
588
586
  getLength: getLength,
@@ -711,6 +709,8 @@ var MemoEditableCell = /*#__PURE__*/memo(EditableCell, function (prev, next) {
711
709
  return isEqual(p, n);
712
710
  });
713
711
  var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
712
+ var _a, _b;
713
+
714
714
  var defaultData = props.value,
715
715
  columns = props.columns,
716
716
  isEdit = props.isEdit,
@@ -754,19 +754,31 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
754
754
  var _useState7 = useState({}),
755
755
  _useState8 = _slicedToArray(_useState7, 2),
756
756
  _valid = _useState8[0],
757
- setValid = _useState8[1];
757
+ setValid = _useState8[1]; // const [localRowSelectList, setLocalRowSelectList] = useState([])
758
758
 
759
- var _useState9 = useState([]),
760
- _useState10 = _slicedToArray(_useState9, 2),
761
- localRowSelectList = _useState10[0],
762
- setLocalRowSelectList = _useState10[1];
759
+
760
+ var transformRowSelect = function transformRowSelect(selectedRowKeys, selectedRows, info) {
761
+ var _a;
762
+
763
+ return (_a = rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.onChange) === null || _a === void 0 ? void 0 : _a.call(rowSelection, selectedRowKeys, selectedRows, info);
764
+ };
765
+
766
+ var _useControllableValue3 = useControllableValue({
767
+ value: {
768
+ selectedRows: (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRows) || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRowKeys) || []
769
+ },
770
+ onChange: (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.onChange) ? transformRowSelect : undefined
771
+ }),
772
+ _useControllableValue4 = _slicedToArray(_useControllableValue3, 2),
773
+ localRowSelectList = _useControllableValue4[0],
774
+ setLocalRowSelectList = _useControllableValue4[1];
763
775
  /** 当前展开的列 */
764
776
 
765
777
 
766
- var _useState11 = useState([]),
767
- _useState12 = _slicedToArray(_useState11, 2),
768
- expandedRowKeys = _useState12[0],
769
- setExpandedRowKeys = _useState12[1];
778
+ var _useState9 = useState([]),
779
+ _useState10 = _slicedToArray(_useState9, 2),
780
+ expandedRowKeys = _useState10[0],
781
+ setExpandedRowKeys = _useState10[1];
770
782
 
771
783
  var dataSourceRef = useRef(dataSource);
772
784
  var deepDataSourceRef = useRef(deepDataSourcePreKeys(dataSource, _rowKey));
@@ -810,25 +822,20 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
810
822
  setDataSource(res); // onChange?.(res)
811
823
  };
812
824
  /** 本地缓存一个选择数据 */
825
+ // useEffect(() => {
826
+ // if (rowSelection) {
827
+ // const { selectedRowKeys } = rowSelection
828
+ // if (selectedRowKeys) {
829
+ // setLocalRowSelectList(localRowSelectList || [])
830
+ // }
831
+ // }
832
+ // }, [rowSelection])
833
+ // const editTableRowChange = (selectRows) => {
834
+ // setLocalRowSelectList(selectRows)
835
+ // ;(rowSelection?.onChange as any)?.(selectRows)
836
+ // }
813
837
 
814
838
 
815
- useEffect(function () {
816
- if (rowSelection) {
817
- var selectedRowKeys = rowSelection.selectedRowKeys;
818
-
819
- if (selectedRowKeys) {
820
- setLocalRowSelectList(localRowSelectList || []);
821
- }
822
- }
823
- }, [rowSelection]);
824
-
825
- var editTableRowChange = function editTableRowChange(selectRows) {
826
- var _a;
827
-
828
- setLocalRowSelectList(selectRows);
829
- (_a = rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.onChange) === null || _a === void 0 ? void 0 : _a.call(rowSelection, selectRows);
830
- };
831
-
832
839
  var handleSave = function handleSave(row, options) {
833
840
  var _a, _b;
834
841
 
@@ -918,7 +925,8 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
918
925
  var handleTableRowDelete = function handleTableRowDelete(key) {
919
926
  var _a, _b, _c;
920
927
 
921
- 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;
928
+ var rkey = isObject(key) ? key[_rowKey] : key;
929
+ 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;
922
930
 
923
931
  if (preKeys.length > 1) {
924
932
  /** 说明删除的是children中的数据 */
@@ -962,10 +970,11 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
962
970
  /** 快捷添加 */
963
971
 
964
972
 
965
- var handleTableRowAdd = function handleTableRowAdd(record, isAppendInChindren) {
973
+ var handleTableRowAdd = function handleTableRowAdd(record, isAppendInChindren, defaultRecord) {
966
974
  var _a, _b;
967
975
 
968
- 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;
976
+ var rkey = isObject(record) ? record[_rowKey] : record;
977
+ 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;
969
978
  var res = produce(dataSourceRef.current, function (draft) {
970
979
  var _a, _b, _c, _d;
971
980
 
@@ -975,17 +984,17 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
975
984
  var _a;
976
985
 
977
986
  if (preKeys === null || preKeys === void 0 ? void 0 : preKeys.includes(item[_rowKey])) {
978
- if (item[_rowKey] === record[_rowKey]) {
987
+ if (item[_rowKey] === rkey) {
979
988
  if (isAppendInChindren) {
980
989
  if (item === null || item === void 0 ? void 0 : item.children) {
981
- (_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.push(_defineProperty({}, _rowKey, "".concat(Date.now())));
990
+ (_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.push(defaultRecord || _defineProperty({}, _rowKey, "".concat(Date.now())));
982
991
  } else {
983
- item.children = [_defineProperty({}, _rowKey, "".concat(Date.now()))];
992
+ item.children = [defaultRecord || _defineProperty({}, _rowKey, "".concat(Date.now()))];
984
993
  }
985
994
 
986
995
  !expandedRowKeys.includes(item[_rowKey]) && setExpandedRowKeys([].concat(_toConsumableArray(expandedRowKeys), [item[_rowKey]]));
987
996
  } else {
988
- children.splice(index + 1, 0, _defineProperty({}, _rowKey, "".concat(Date.now())));
997
+ children.splice(index + 1, 0, defaultRecord || _defineProperty({}, _rowKey, "".concat(Date.now())));
989
998
  }
990
999
  } else if (item.children) {
991
1000
  deeps(item.children);
@@ -997,7 +1006,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
997
1006
  deeps(draft);
998
1007
  } else {
999
1008
  var index = draft.findIndex(function (item) {
1000
- return record[_rowKey] === item[_rowKey];
1009
+ return rkey === item[_rowKey];
1001
1010
  });
1002
1011
 
1003
1012
  if (index !== -1) {
@@ -1015,6 +1024,7 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1015
1024
  }
1016
1025
  }
1017
1026
  });
1027
+ console.log(preKeys, '--preKeys', res);
1018
1028
  setDataSource(res);
1019
1029
  };
1020
1030
 
@@ -1050,9 +1060,9 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1050
1060
 
1051
1061
  var DisableOptions = useMemo(function () {
1052
1062
  var newColumns = columns === null || columns === void 0 ? void 0 : columns.map(function (item) {
1053
- var _ref5 = item.componentProps || {},
1054
- optionOnly = _ref5.optionOnly,
1055
- options = _ref5.options;
1063
+ var _ref7 = item.componentProps || {},
1064
+ optionOnly = _ref7.optionOnly,
1065
+ options = _ref7.options;
1056
1066
 
1057
1067
  if (optionOnly && options) {
1058
1068
  var dataIndex = item.dataIndex;
@@ -1235,6 +1245,25 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1235
1245
  useImperativeHandle(ref, function () {
1236
1246
  return {
1237
1247
  setRow: handleSave,
1248
+ getCheckboxRecords: function getCheckboxRecords() {
1249
+ return localRowSelectList.selectedRows;
1250
+ },
1251
+ deleteRowData: function deleteRowData(data) {
1252
+ return handleTableRowDelete(data);
1253
+ },
1254
+ addRowData: function addRowData(data, addInChind, defaultValue) {
1255
+ return handleTableRowAdd(data, addInChind, defaultValue);
1256
+ },
1257
+ clearSelect: function clearSelect() {
1258
+ setLocalRowSelectList({
1259
+ selectedRows: []
1260
+ });
1261
+ },
1262
+ customSetCheckboxRecords: function customSetCheckboxRecords(value) {
1263
+ setLocalRowSelectList({
1264
+ selectedRows: value
1265
+ });
1266
+ },
1238
1267
  valid: function valid() {
1239
1268
  return _valid;
1240
1269
  }
@@ -1300,17 +1329,18 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1300
1329
  bordered: true,
1301
1330
  pagination: false,
1302
1331
  // components={tableComponents}
1303
- rowSelection: !rowSelection ? undefined : {
1332
+ rowSelection: !rowSelection ? undefined : Object.assign(Object.assign({
1304
1333
  fixed: true,
1305
1334
  type: 'checkbox',
1306
- columnWidth: 36,
1307
- selectedRowKeys: localRowSelectList === null || localRowSelectList === void 0 ? void 0 : localRowSelectList.map(function (v) {
1308
- return v[_rowKey];
1335
+ columnWidth: 36
1336
+ }, rowSelection), {
1337
+ selectedRowKeys: (_a = localRowSelectList === null || localRowSelectList === void 0 ? void 0 : localRowSelectList.selectedRows) === null || _a === void 0 ? void 0 : _a.map(function (v) {
1338
+ return isObject(v) ? v[_rowKey] : v;
1309
1339
  }),
1310
- onChange: function onChange(selectedRowKeys, selectedRows) {
1311
- editTableRowChange(selectedRows);
1340
+ onChange: function onChange(selectedRowKeys, selectedRows, info) {
1341
+ setLocalRowSelectList(selectedRowKeys, selectedRows, info);
1312
1342
  }
1313
- },
1343
+ }),
1314
1344
  dataSource: dataSource
1315
1345
  })))), isShowAddAction && /*#__PURE__*/React.createElement(Button, {
1316
1346
  className: "lm_editTable_add_bar",
@@ -1341,17 +1371,18 @@ var EditTable = /*#__PURE__*/forwardRef(function (props, ref) {
1341
1371
  return setExpandedRowKeys(expandedRows);
1342
1372
  }
1343
1373
  },
1344
- rowSelection: !rowSelection ? undefined : {
1374
+ rowSelection: !rowSelection ? undefined : Object.assign(Object.assign({
1345
1375
  fixed: true,
1346
1376
  type: 'checkbox',
1347
- columnWidth: 36,
1348
- selectedRowKeys: localRowSelectList === null || localRowSelectList === void 0 ? void 0 : localRowSelectList.map(function (v) {
1349
- return v[_rowKey];
1377
+ columnWidth: 36
1378
+ }, rowSelection), {
1379
+ selectedRowKeys: (_b = localRowSelectList === null || localRowSelectList === void 0 ? void 0 : localRowSelectList.selectedRows) === null || _b === void 0 ? void 0 : _b.map(function (v) {
1380
+ return isObject(v) ? v[_rowKey] : v;
1350
1381
  }),
1351
- onChange: function onChange(selectedRowKeys, selectedRows) {
1352
- editTableRowChange(selectedRows);
1382
+ onChange: function onChange(selectedRowKeys, selectedRows, info) {
1383
+ setLocalRowSelectList(selectedRowKeys, selectedRows, info);
1353
1384
  }
1354
- },
1385
+ }),
1355
1386
  dataSource: dataSource
1356
1387
  })), isShowAddAction && /*#__PURE__*/React.createElement(Button, {
1357
1388
  className: "lm_editTable_add_bar",
@@ -13,12 +13,14 @@ var __rest = this && this.__rest || function (s, e) {
13
13
 
14
14
  import React, { forwardRef } from 'react';
15
15
  import { useSortable } from '@dnd-kit/sortable';
16
+ import { omit } from 'lodash';
16
17
  import { CSS } from '@dnd-kit/utilities';
17
18
  var Item = /*#__PURE__*/forwardRef(function (_a, ref) {
18
19
  var children = _a.children,
19
20
  props = __rest(_a, ["children"]);
20
21
 
21
- return /*#__PURE__*/React.createElement("th", Object.assign({}, props, children.props, {
22
+ var rProps = omit(Object.assign(Object.assign({}, props), children.props), ['isSticky', 'colStart', 'colEnd', 'prefixCls', 'fixLeft', 'fixRight', 'lastFixLeft', 'firstFixRight', 'lastFixRight', 'firstFixLeft', 'isSticky', 'additionalProps', 'rowType']);
23
+ return /*#__PURE__*/React.createElement("th", Object.assign({}, rProps, {
22
24
  ref: ref
23
25
  })); // <th {...props} ref={ref as any}>
24
26
  // {/* {(children as any)?.props?.children || children} */}
@@ -201,7 +201,7 @@ var ItemLabel = /*#__PURE__*/_react.default.memo(function (_ref3) {
201
201
  } catch (error) {
202
202
  return filterValue;
203
203
  }
204
- }, [type, filterValue]);
204
+ }, [type, data, filterValue]);
205
205
 
206
206
  if (isString) {
207
207
  return /*#__PURE__*/_react.default.createElement("span", null, String);
@@ -216,7 +216,8 @@ var FilterItem = /*#__PURE__*/_react.default.memo(function (_ref4) {
216
216
  var filterValue = instance.filterValue,
217
217
  setFilterValue = instance.setFilterValue;
218
218
  var title = item.title,
219
- colon = item.colon; // 是否有筛选值/是否处于筛选状态
219
+ colon = item.colon,
220
+ clearIconTrigger = item.clearIconTrigger; // 是否有筛选值/是否处于筛选状态
220
221
 
221
222
  var active = (0, _react.useMemo)(function () {
222
223
  return (0, _utils.getIsHas)(filterValue);
@@ -231,6 +232,29 @@ var FilterItem = /*#__PURE__*/_react.default.memo(function (_ref4) {
231
232
  e.stopPropagation();
232
233
  setFilterValue((0, _utils.getValueForType)(item.type));
233
234
  }
235
+ }; // Icon展示方式
236
+
237
+
238
+ var Icon = function Icon() {
239
+ // hover时出现清空
240
+ if (clearIconTrigger === 'hover') {
241
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
242
+ type: "lmweb-close-circle-fill",
243
+ onClick: handleClear,
244
+ className: "icon_clear"
245
+ }), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
246
+ type: "lmweb-down",
247
+ className: "icon_down"
248
+ }));
249
+ } // 日期类型并且未选中时返回日期自带icon
250
+
251
+
252
+ if (item.type === 'date' && !active) return null; // 选中时展示清楚按钮
253
+
254
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
255
+ type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
256
+ onClick: handleClear
257
+ });
234
258
  };
235
259
 
236
260
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (title || showColon) && /*#__PURE__*/_react.default.createElement("div", {
@@ -244,10 +268,7 @@ var FilterItem = /*#__PURE__*/_react.default.memo(function (_ref4) {
244
268
  item: item
245
269
  })), /*#__PURE__*/_react.default.createElement("div", {
246
270
  className: "filter_item_icon addon_after"
247
- }, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
248
- type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
249
- onClick: handleClear
250
- }) : null));
271
+ }, /*#__PURE__*/_react.default.createElement(Icon, null)));
251
272
  });
252
273
  /*
253
274
  * css样式控制
@@ -108,6 +108,18 @@
108
108
  .lm_filter_basic_item .filter_item_icon.addon_before {
109
109
  color: var(--font-color);
110
110
  }
111
+ .lm_filter_basic_item .filter_item_icon .icon_clear {
112
+ display: none;
113
+ opacity: 0;
114
+ }
115
+ .lm_filter_basic_item .filter_item_icon:hover .icon_down {
116
+ display: none;
117
+ opacity: 0;
118
+ }
119
+ .lm_filter_basic_item .filter_item_icon:hover .icon_clear {
120
+ display: inline-block;
121
+ opacity: 1;
122
+ }
111
123
  .lm_filter_basic_item.expand .filter_item_icon.addon_after {
112
124
  transform: rotateX(180deg);
113
125
  }