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.
- package/dist/Button/demos/ghost.d.ts +2 -0
- package/dist/Descriptions/Cell.d.ts +1 -0
- package/dist/Descriptions/Item.d.ts +1 -0
- package/dist/LmDrag/LmDrag.d.ts +4 -0
- package/dist/LmDrag/components/DndContainer.d.ts +3 -0
- package/dist/LmDrag/components/sortableBox.d.ts +5 -0
- package/dist/LmDrag/components/sortableItem.d.ts +7 -0
- package/dist/LmDrag/demos/basic.d.ts +2 -0
- package/dist/LmDrag/index.d.ts +10 -0
- package/dist/LmDrag/style/index.d.ts +1 -0
- package/dist/LmDrag/style/variables.d.ts +1 -0
- package/dist/LmDrag/wrapper/Root.d.ts +3 -0
- package/dist/LmEditTable/EditTable.d.ts +15 -3
- package/dist/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
- package/dist/LmUpload/fns/index.d.ts +1 -0
- package/dist/QuickMenu/index.d.ts +2 -1
- package/dist/Select/index.d.ts +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.umd.js +699 -99
- package/dist/index.umd.min.js +9 -9
- package/dist/variables.css +67 -25
- package/es/Button/index.js +4 -3
- package/es/Button/style/index.css +28 -25
- package/es/Button/style/variables.css +28 -25
- package/es/Descriptions/Cell.d.ts +1 -0
- package/es/Descriptions/Cell.js +5 -2
- package/es/Descriptions/Item.d.ts +1 -0
- package/es/Descriptions/Row.js +6 -1
- package/es/InputNumber/index.js +7 -9
- package/es/LmDrag/LmDrag.d.ts +4 -0
- package/es/LmDrag/LmDrag.js +30 -0
- package/es/LmDrag/components/DndContainer.d.ts +3 -0
- package/es/LmDrag/components/DndContainer.js +121 -0
- package/es/LmDrag/components/sortableBox.d.ts +5 -0
- package/es/LmDrag/components/sortableBox.js +23 -0
- package/es/LmDrag/components/sortableItem.d.ts +7 -0
- package/es/LmDrag/components/sortableItem.js +41 -0
- package/es/LmDrag/index.d.ts +10 -0
- package/es/LmDrag/index.js +3 -0
- package/es/LmDrag/style/index.css +0 -0
- package/es/LmDrag/style/index.d.ts +1 -0
- package/es/LmDrag/style/index.js +1 -0
- package/es/LmDrag/style/variables.css +0 -0
- package/es/LmDrag/style/variables.d.ts +1 -0
- package/es/LmDrag/style/variables.js +1 -0
- package/es/LmDrag/wrapper/Root.d.ts +3 -0
- package/es/LmDrag/wrapper/Root.js +12 -0
- package/es/LmEditTable/EditTable.d.ts +15 -3
- package/es/LmEditTable/EditTable.js +86 -55
- package/es/LmEditTable/sortableItemCol.js +3 -1
- package/es/LmFilter/components/DropdownFIlter.js +27 -6
- package/es/LmFilter/style/index.css +12 -0
- package/es/LmFilter/style/variables.css +12 -0
- package/es/LmUpload/LmUpload.js +2 -1
- package/es/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
- package/es/LmUpload/UploadList/ItemPictureCard.js +4 -3
- package/es/LmUpload/UploadList/index.js +52 -2
- package/es/LmUpload/fns/index.d.ts +1 -0
- package/es/LmUpload/fns/index.js +19 -3
- package/es/QuickMenu/index.d.ts +2 -1
- package/es/QuickMenu/index.js +11 -12
- package/es/Select/index.d.ts +3 -0
- package/es/Select/index.js +28 -1
- package/es/Select/style/index.css +27 -0
- package/es/Select/style/variables.css +27 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/es/styles/variables.css +67 -25
- package/lib/Button/index.js +4 -3
- package/lib/Button/style/index.css +28 -25
- package/lib/Button/style/variables.css +28 -25
- package/lib/Descriptions/Cell.d.ts +1 -0
- package/lib/Descriptions/Cell.js +5 -2
- package/lib/Descriptions/Item.d.ts +1 -0
- package/lib/Descriptions/Row.js +6 -1
- package/lib/InputNumber/index.js +9 -9
- package/lib/LmDrag/LmDrag.d.ts +4 -0
- package/lib/LmDrag/LmDrag.js +44 -0
- package/lib/LmDrag/components/DndContainer.d.ts +3 -0
- package/lib/LmDrag/components/DndContainer.js +138 -0
- package/lib/LmDrag/components/sortableBox.d.ts +5 -0
- package/lib/LmDrag/components/sortableBox.js +37 -0
- package/lib/LmDrag/components/sortableItem.d.ts +7 -0
- package/lib/LmDrag/components/sortableItem.js +54 -0
- package/lib/LmDrag/index.d.ts +10 -0
- package/lib/LmDrag/index.js +19 -0
- package/lib/LmDrag/style/index.css +0 -0
- package/lib/LmDrag/style/index.d.ts +1 -0
- package/lib/LmDrag/style/index.js +3 -0
- package/lib/LmDrag/style/variables.css +0 -0
- package/lib/LmDrag/style/variables.d.ts +1 -0
- package/lib/LmDrag/style/variables.js +3 -0
- package/lib/LmDrag/wrapper/Root.d.ts +3 -0
- package/lib/LmDrag/wrapper/Root.js +26 -0
- package/lib/LmEditTable/EditTable.d.ts +15 -3
- package/lib/LmEditTable/EditTable.js +85 -54
- package/lib/LmEditTable/sortableItemCol.js +4 -1
- package/lib/LmFilter/components/DropdownFIlter.js +27 -6
- package/lib/LmFilter/style/index.css +12 -0
- package/lib/LmFilter/style/variables.css +12 -0
- package/lib/LmUpload/LmUpload.js +2 -1
- package/lib/LmUpload/UploadList/ItemPictureCard.d.ts +2 -1
- package/lib/LmUpload/UploadList/ItemPictureCard.js +4 -3
- package/lib/LmUpload/UploadList/index.js +53 -2
- package/lib/LmUpload/fns/index.d.ts +1 -0
- package/lib/LmUpload/fns/index.js +19 -3
- package/lib/QuickMenu/index.d.ts +2 -1
- package/lib/QuickMenu/index.js +11 -12
- package/lib/Select/index.d.ts +3 -0
- package/lib/Select/index.js +29 -1
- package/lib/Select/style/index.css +27 -0
- package/lib/Select/style/variables.css +27 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +15 -1
- package/lib/styles/variables.css +67 -25
- 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,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,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
|
+
}
|
|
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,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
|
|
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
|
|
46
|
-
} & ILmEditTable & React.RefAttributes<
|
|
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
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
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
|
|
767
|
-
|
|
768
|
-
expandedRowKeys =
|
|
769
|
-
setExpandedRowKeys =
|
|
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
|
|
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
|
|
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] ===
|
|
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
|
|
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
|
|
1054
|
-
optionOnly =
|
|
1055
|
-
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
|
-
|
|
1308
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1349
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
}
|