linkmore-design 1.1.26 → 1.1.27-alpha.1

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 (117) hide show
  1. package/dist/LmEditTable/DndContainer.d.ts +6 -3
  2. package/dist/LmEditTable/EditTable.d.ts +10 -5
  3. package/dist/LmEditTable/components/DraggableContainer.d.ts +10 -0
  4. package/dist/LmEditTable/components/QuickOpetate.d.ts +12 -0
  5. package/dist/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  6. package/dist/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  7. package/dist/LmEditTable/components/index.d.ts +17 -0
  8. package/dist/LmEditTable/hooks/useForkRef.d.ts +2 -0
  9. package/dist/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  10. package/dist/LmEditTable/sortableItem.d.ts +3 -2
  11. package/dist/LmEditTable/util.d.ts +8 -0
  12. package/dist/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  13. package/dist/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  14. package/dist/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  15. package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  16. package/dist/LmEditTable/virtual/context.d.ts +13 -0
  17. package/dist/LmEditTable/virtual/index.d.ts +4 -0
  18. package/dist/LmTable/virTual/VirtualRow.d.ts +1 -1
  19. package/dist/index.d.ts +1 -2
  20. package/dist/index.umd.js +1380 -576
  21. package/dist/index.umd.min.js +21 -21
  22. package/dist/variables.css +92 -0
  23. package/es/InputNumber/index.js +7 -9
  24. package/es/LmEditTable/DndContainer.d.ts +6 -3
  25. package/es/LmEditTable/DndContainer.js +70 -10
  26. package/es/LmEditTable/DragHandle.js +1 -1
  27. package/es/LmEditTable/EditTable.d.ts +10 -5
  28. package/es/LmEditTable/EditTable.js +364 -360
  29. package/es/LmEditTable/components/DraggableContainer.d.ts +10 -0
  30. package/es/LmEditTable/components/DraggableContainer.js +39 -0
  31. package/es/LmEditTable/components/QuickOpetate.d.ts +12 -0
  32. package/es/LmEditTable/components/QuickOpetate.js +82 -0
  33. package/es/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  34. package/es/LmEditTable/components/bottomOpetateComponent.js +23 -0
  35. package/es/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  36. package/es/LmEditTable/components/customRenderEmpty.js +20 -0
  37. package/es/LmEditTable/components/index.d.ts +17 -0
  38. package/es/LmEditTable/components/index.js +8 -0
  39. package/es/LmEditTable/hooks/useForkRef.d.ts +2 -0
  40. package/es/LmEditTable/hooks/useForkRef.js +22 -0
  41. package/es/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  42. package/es/LmEditTable/rowSort/DndContainerRow.js +81 -0
  43. package/es/LmEditTable/sortableItem.d.ts +3 -2
  44. package/es/LmEditTable/sortableItem.js +16 -4
  45. package/es/LmEditTable/sortableItemCol.js +40 -10
  46. package/es/LmEditTable/style/index.css +92 -0
  47. package/es/LmEditTable/style/variables.css +92 -0
  48. package/es/LmEditTable/util.d.ts +8 -0
  49. package/es/LmEditTable/util.js +103 -7
  50. package/es/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  51. package/es/LmEditTable/virtual/VirtualRow.js +140 -0
  52. package/es/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  53. package/es/LmEditTable/virtual/VirtualRow2.js +62 -0
  54. package/es/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  55. package/es/LmEditTable/virtual/VirtualTable.js +62 -0
  56. package/es/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  57. package/es/LmEditTable/virtual/VirtualWrapper.js +60 -0
  58. package/es/LmEditTable/virtual/context.d.ts +13 -0
  59. package/es/LmEditTable/virtual/context.js +66 -0
  60. package/es/LmEditTable/virtual/index.d.ts +4 -0
  61. package/es/LmEditTable/virtual/index.js +4 -0
  62. package/es/LmFilter/filterFns/index.js +7 -2
  63. package/es/LmTable/virTual/VirtualRow.d.ts +1 -1
  64. package/es/LmTable/virTual/VirtualRow.js +82 -48
  65. package/es/LmTable/virTual/VirtualTable.js +17 -9
  66. package/es/LmTable/virTual/context.js +14 -2
  67. package/es/hooks/useEvent/index.js +1 -1
  68. package/es/index.d.ts +1 -2
  69. package/es/styles/variables.css +92 -0
  70. package/lib/InputNumber/index.js +9 -9
  71. package/lib/LmEditTable/DndContainer.d.ts +6 -3
  72. package/lib/LmEditTable/DndContainer.js +74 -9
  73. package/lib/LmEditTable/DragHandle.js +1 -1
  74. package/lib/LmEditTable/EditTable.d.ts +10 -5
  75. package/lib/LmEditTable/EditTable.js +362 -357
  76. package/lib/LmEditTable/components/DraggableContainer.d.ts +10 -0
  77. package/lib/LmEditTable/components/DraggableContainer.js +52 -0
  78. package/lib/LmEditTable/components/QuickOpetate.d.ts +12 -0
  79. package/lib/LmEditTable/components/QuickOpetate.js +96 -0
  80. package/lib/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  81. package/lib/LmEditTable/components/bottomOpetateComponent.js +34 -0
  82. package/lib/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  83. package/lib/LmEditTable/components/customRenderEmpty.js +32 -0
  84. package/lib/LmEditTable/components/index.d.ts +17 -0
  85. package/lib/LmEditTable/components/index.js +45 -0
  86. package/lib/LmEditTable/hooks/useForkRef.d.ts +2 -0
  87. package/lib/LmEditTable/hooks/useForkRef.js +29 -0
  88. package/lib/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  89. package/lib/LmEditTable/rowSort/DndContainerRow.js +99 -0
  90. package/lib/LmEditTable/sortableItem.d.ts +3 -2
  91. package/lib/LmEditTable/sortableItem.js +19 -5
  92. package/lib/LmEditTable/sortableItemCol.js +37 -8
  93. package/lib/LmEditTable/style/index.css +92 -0
  94. package/lib/LmEditTable/style/variables.css +92 -0
  95. package/lib/LmEditTable/util.d.ts +8 -0
  96. package/lib/LmEditTable/util.js +110 -6
  97. package/lib/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  98. package/lib/LmEditTable/virtual/VirtualRow.js +155 -0
  99. package/lib/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  100. package/lib/LmEditTable/virtual/VirtualRow2.js +78 -0
  101. package/lib/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  102. package/lib/LmEditTable/virtual/VirtualTable.js +79 -0
  103. package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  104. package/lib/LmEditTable/virtual/VirtualWrapper.js +73 -0
  105. package/lib/LmEditTable/virtual/context.d.ts +13 -0
  106. package/lib/LmEditTable/virtual/context.js +76 -0
  107. package/lib/LmEditTable/virtual/index.d.ts +4 -0
  108. package/lib/LmEditTable/virtual/index.js +31 -0
  109. package/lib/LmFilter/filterFns/index.js +7 -2
  110. package/lib/LmTable/virTual/VirtualRow.d.ts +1 -1
  111. package/lib/LmTable/virTual/VirtualRow.js +81 -48
  112. package/lib/LmTable/virTual/VirtualTable.js +16 -8
  113. package/lib/LmTable/virTual/context.js +14 -2
  114. package/lib/hooks/useEvent/index.js +1 -1
  115. package/lib/index.d.ts +1 -2
  116. package/lib/styles/variables.css +92 -0
  117. package/package.json +7 -9
@@ -0,0 +1,66 @@
1
+ import { createContext, useContext, useReducer } from 'react'; // =============== context ============== //
2
+
3
+ var TableContext = /*#__PURE__*/createContext({
4
+ state: null,
5
+ dispatch: null,
6
+ instance: {}
7
+ });
8
+
9
+ var useStore = function useStore() {
10
+ return useContext(TableContext);
11
+ };
12
+
13
+ var initialState = {
14
+ // 行高度
15
+ rowHeight: 0,
16
+ columnsLen: 0,
17
+ // 总行数
18
+ totalLen: 0,
19
+ // 分割后的列数组
20
+ sliceColumns: {
21
+ leftColumns: [],
22
+ centerColumns: [],
23
+ rightColumns: []
24
+ }
25
+ };
26
+
27
+ var reducer = function reducer(state, action) {
28
+ var totalLen = action.totalLen,
29
+ columnsLen = action.columnsLen,
30
+ rowHeight = action.rowHeight,
31
+ sliceColumns = action.sliceColumns;
32
+
33
+ switch (action.type) {
34
+ // 数据数量
35
+ case 'changeTotalLen':
36
+ return Object.assign(Object.assign({}, state), {
37
+ totalLen: totalLen
38
+ });
39
+ // 列数量
40
+
41
+ case 'changeColumnsLen':
42
+ return Object.assign(Object.assign({}, state), {
43
+ columnsLen: columnsLen
44
+ });
45
+ // 初始化行高度
46
+
47
+ case 'initHeight':
48
+ return Object.assign(Object.assign({}, state), {
49
+ rowHeight: rowHeight
50
+ });
51
+
52
+ case 'changeSliceColumns':
53
+ return Object.assign(Object.assign({}, state), {
54
+ sliceColumns: sliceColumns
55
+ });
56
+
57
+ default:
58
+ throw new Error();
59
+ }
60
+ };
61
+
62
+ var useRealive = function useRealive() {
63
+ return useReducer(reducer, initialState);
64
+ };
65
+
66
+ export { TableContext, useStore, useRealive };
@@ -0,0 +1,4 @@
1
+ import VirtualTable from './VirtualTable';
2
+ import VirtualWrapper from './VirtualWrapper';
3
+ import VirtualRow from './VirtualRow';
4
+ export { VirtualTable, VirtualWrapper, VirtualRow };
@@ -0,0 +1,4 @@
1
+ import VirtualTable from './VirtualTable';
2
+ import VirtualWrapper from './VirtualWrapper';
3
+ import VirtualRow from './VirtualRow';
4
+ export { VirtualTable, VirtualWrapper, VirtualRow };
@@ -172,7 +172,12 @@ var useCoreOptions = function useCoreOptions(_ref) {
172
172
  fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
173
173
  type: item.type,
174
174
  value: Array.isArray(itemValue) ? itemValue : [itemValue],
175
- operator: (item === null || item === void 0 ? void 0 : item.operator) || obj[cur].mode === 'and' ? 'equal' : 'contains'
175
+
176
+ /**
177
+ * and 等同于逻辑关系contains: 选中的值包含所有值
178
+ * or 等同于逻辑关系in: 选中的值存在于所有值之中
179
+ */
180
+ operator: obj[cur].mode === 'and' ? 'contains' : 'in'
176
181
  }]);
177
182
  }
178
183
 
@@ -343,7 +348,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
343
348
  fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
344
349
  type: item.type,
345
350
  value: Array.isArray(itemValue) ? itemValue : [itemValue],
346
- operator: complexFilter[cur].mode === 'and' ? 'equal' : 'contains'
351
+ operator: complexFilter[cur].mode === 'and' ? 'contains' : 'in'
347
352
  };
348
353
  }
349
354
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  interface rowProps {
3
- children: any;
3
+ children?: any;
4
4
  }
5
5
  declare const VirtualRow: React.NamedExoticComponent<rowProps>;
6
6
  export default VirtualRow;
@@ -13,33 +13,63 @@ var __rest = this && this.__rest || function (s, e) {
13
13
 
14
14
  import React, { useRef, useMemo, useEffect } from 'react';
15
15
  import { useStore } from './context';
16
- var VirtualRow = /*#__PURE__*/React.memo(function (_a, ref) {
17
- var children = _a.children,
18
- resetProps = __rest(_a, ["children"]);
16
+
17
+ var useOptions = function useOptions(_ref) {
18
+ var children = _ref.children,
19
+ ref = _ref.ref,
20
+ trRef = _ref.trRef;
19
21
 
20
22
  var _useStore = useStore(),
21
23
  state = _useStore.state,
22
24
  dispatch = _useStore.dispatch,
23
25
  instance = _useStore.instance;
24
26
 
27
+ var virtualItems = instance.columnVirtual.virtualItems;
25
28
  var rowHeight = state.rowHeight,
26
29
  totalLen = state.totalLen;
27
- var virtualItems = instance.columnVirtual.virtualItems;
28
- var trRef = useRef(null); // 列长度
30
+ var sliceColumns = useMemo(function () {
31
+ return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
32
+ var _a, _b;
29
33
 
30
- var columnsLen = useMemo(function () {
31
- var _a;
34
+ if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
35
+ pre.leftColumns.push(cur);
36
+ return pre;
37
+ }
38
+
39
+ if (typeof ((_b = cur.props) === null || _b === void 0 ? void 0 : _b.fixRight) === 'number') {
40
+ pre.rightColumns.push(cur);
41
+ return pre;
42
+ }
32
43
 
33
- return (_a = children === null || children === void 0 ? void 0 : children.length) !== null && _a !== void 0 ? _a : 0;
44
+ pre.centerColumns.push(cur);
45
+ return pre;
46
+ }, {
47
+ leftColumns: [],
48
+ rightColumns: [],
49
+ centerColumns: []
50
+ });
34
51
  }, [children]);
35
52
  useEffect(function () {
36
- if (state.columnsLen !== columnsLen) {
53
+ dispatch({
54
+ type: 'changeSliceColumns',
55
+ sliceColumns: sliceColumns
56
+ });
57
+ }, [sliceColumns]); // 非固定列长度
58
+
59
+ var centerColumnsLen = useMemo(function () {
60
+ var _a;
61
+
62
+ return (_a = sliceColumns.centerColumns.length) !== null && _a !== void 0 ? _a : 0;
63
+ }, [sliceColumns]);
64
+ useEffect(function () {
65
+ if (state.columnsLen !== centerColumnsLen) {
37
66
  dispatch({
38
67
  type: 'changeColumnsLen',
39
- columnsLen: columnsLen !== null && columnsLen !== void 0 ? columnsLen : 0
68
+ columnsLen: centerColumnsLen !== null && centerColumnsLen !== void 0 ? centerColumnsLen : 0
40
69
  });
41
70
  }
42
- }, [columnsLen, dispatch, state.columnsLen]);
71
+ }, [centerColumnsLen, dispatch, state.columnsLen]); // 获取行的高度
72
+
43
73
  useEffect(function () {
44
74
  var initHeight = function initHeight(tempRef) {
45
75
  var _a, _b, _c;
@@ -48,55 +78,59 @@ var VirtualRow = /*#__PURE__*/React.memo(function (_a, ref) {
48
78
  var tempRowHeight = (_c = (_b = tempRef === null || tempRef === void 0 ? void 0 : tempRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) !== null && _c !== void 0 ? _c : 0;
49
79
  dispatch({
50
80
  type: 'initHeight',
51
- rowHeight: tempRowHeight
81
+ rowHeight: tempRowHeight + 1
52
82
  });
53
83
  }
54
84
  };
55
85
 
56
86
  initHeight(Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef);
57
- }, [trRef, dispatch, rowHeight, totalLen, ref]); // return {fixedLeft: [], fixedRight: [], columns: []}
58
-
59
- var fixedColumns = useMemo(function () {
60
- return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
61
- var _a, _b;
87
+ }, [trRef, dispatch, rowHeight, totalLen, ref]); // 横向单元格合并
62
88
 
63
- if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
64
- pre.fixedLeft.push(cur);
65
- return pre;
66
- }
89
+ var leftColSpan = useMemo(function () {
90
+ var _a;
67
91
 
68
- if (typeof ((_b = cur.props) === null || _b === void 0 ? void 0 : _b.fixRight) === 'number') {
69
- pre.fixedRight.push(cur);
70
- return pre;
71
- }
92
+ return (_a = virtualItems[0]) === null || _a === void 0 ? void 0 : _a.index;
93
+ }, [virtualItems]); // 右侧隐藏数量
94
+
95
+ var rightColSpan = useMemo(function () {
96
+ return sliceColumns.centerColumns.length - virtualItems.length - leftColSpan || 0;
97
+ }, [sliceColumns.centerColumns.length, virtualItems.length, leftColSpan]);
98
+ return Object.assign(Object.assign({
99
+ virtualItems: virtualItems
100
+ }, sliceColumns), {
101
+ leftColSpan: leftColSpan,
102
+ rightColSpan: rightColSpan
103
+ });
104
+ };
72
105
 
73
- pre.columns.push(cur);
74
- return pre;
75
- }, {
76
- fixedLeft: [],
77
- fixedRight: [],
78
- columns: []
79
- });
80
- }, [children]); // 截取非固定列
106
+ var VirtualRow = /*#__PURE__*/React.memo(function (_a, ref) {
107
+ var children = _a.children,
108
+ resetProps = __rest(_a, ["children"]);
81
109
 
82
- var resetVirtualItems = useMemo(function () {
83
- var fixedLeft = fixedColumns.fixedLeft,
84
- columns = fixedColumns.columns;
85
- return virtualItems.slice(fixedLeft.length, fixedLeft.length + columns.length);
86
- }, [fixedColumns, virtualItems]); // 横线单元格合并
110
+ var trRef = useRef(null);
87
111
 
88
- var colSpan = useMemo(function () {
89
- var _a;
112
+ var _useOptions = useOptions({
113
+ children: children,
114
+ ref: ref,
115
+ trRef: trRef
116
+ }),
117
+ virtualItems = _useOptions.virtualItems,
118
+ leftColumns = _useOptions.leftColumns,
119
+ centerColumns = _useOptions.centerColumns,
120
+ rightColumns = _useOptions.rightColumns,
121
+ leftColSpan = _useOptions.leftColSpan,
122
+ rightColSpan = _useOptions.rightColSpan;
90
123
 
91
- var startIndex = ((_a = resetVirtualItems === null || resetVirtualItems === void 0 ? void 0 : resetVirtualItems[0]) === null || _a === void 0 ? void 0 : _a.index) || 0;
92
- return startIndex ? startIndex - fixedColumns.fixedLeft.length : startIndex;
93
- }, [fixedColumns, resetVirtualItems]);
94
124
  return /*#__PURE__*/React.createElement("tr", Object.assign({}, resetProps, {
95
125
  ref: Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef
96
- }), fixedColumns.fixedLeft, !!colSpan && /*#__PURE__*/React.createElement("td", {
97
- colSpan: colSpan
98
- }), resetVirtualItems.map(function (virtualCol) {
99
- return children[virtualCol.index];
100
- }), fixedColumns.fixedRight);
126
+ }), leftColumns, !!leftColSpan && /*#__PURE__*/React.createElement("td", {
127
+ key: "leftColSpan",
128
+ colSpan: leftColSpan
129
+ }), virtualItems.map(function (virtualCol) {
130
+ return centerColumns[virtualCol.index];
131
+ }), !!rightColSpan && /*#__PURE__*/React.createElement("td", {
132
+ key: "rightColSpan",
133
+ colSpan: rightColSpan
134
+ }), rightColumns);
101
135
  });
102
136
  export default VirtualRow;
@@ -1,5 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import React, { useRef } from 'react';
2
+ import React, { useCallback, useRef } from 'react';
3
3
  import { useVirtual } from 'react-virtual';
4
4
  import { TableContext, useRealive } from './context';
5
5
  var VirtualTable = /*#__PURE__*/React.memo(function (tableProps) {
@@ -10,7 +10,7 @@ var VirtualTable = /*#__PURE__*/React.memo(function (tableProps) {
10
10
  var _useRealive = useRealive(),
11
11
  _useRealive2 = _slicedToArray(_useRealive, 2),
12
12
  state = _useRealive2[0],
13
- dispatch = _useRealive2[1]; // { totalSize, virtualItems }
13
+ dispatch = _useRealive2[1]; // 行虚拟化 { totalSize, virtualItems }
14
14
 
15
15
 
16
16
  var rowVirtual = useVirtual({
@@ -23,18 +23,26 @@ var VirtualTable = /*#__PURE__*/React.memo(function (tableProps) {
23
23
  return state.rowHeight;
24
24
  }, [state.rowHeight]),
25
25
  overscan: 5
26
- });
26
+ }); // 列动态宽度
27
+
28
+ var columnEstimateSize = useCallback(function (i) {
29
+ var _a, _b;
30
+
31
+ var colWidths = (_b = (_a = tableProps === null || tableProps === void 0 ? void 0 : tableProps.children[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.colWidths;
32
+ var leftColumnsLen = state.sliceColumns.leftColumns.length;
33
+ var centerColumnsLen = state.sliceColumns.centerColumns.length; // 获取非固定列
34
+
35
+ var virList = colWidths.slice(leftColumnsLen, leftColumnsLen + centerColumnsLen);
36
+ return virList[i] || 0;
37
+ }, [(_c = (_b = tableProps.children[0]) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.colWidths, state.sliceColumns.leftColumns.length, state.sliceColumns.centerColumns.length]); // 列虚拟化
38
+
27
39
  var columnVirtual = useVirtual({
28
40
  horizontal: true,
29
41
  size: state.columnsLen,
30
42
  parentRef: {
31
- current: (_b = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _b === void 0 ? void 0 : _b.parentNode
43
+ current: (_d = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _d === void 0 ? void 0 : _d.parentNode
32
44
  },
33
- estimateSize: React.useCallback(function (i) {
34
- var _a, _b;
35
-
36
- return (_b = (_a = tableProps === null || tableProps === void 0 ? void 0 : tableProps.children[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.colWidths[i];
37
- }, [(_d = (_c = tableProps.children[0]) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.colWidths]),
45
+ estimateSize: columnEstimateSize,
38
46
  overscan: 5
39
47
  });
40
48
  var instance = {
@@ -15,13 +15,20 @@ var initialState = {
15
15
  rowHeight: 0,
16
16
  columnsLen: 0,
17
17
  // 总行数
18
- totalLen: 0
18
+ totalLen: 0,
19
+ // 分割后的列数组
20
+ sliceColumns: {
21
+ leftColumns: [],
22
+ centerColumns: [],
23
+ rightColumns: []
24
+ }
19
25
  };
20
26
 
21
27
  var reducer = function reducer(state, action) {
22
28
  var totalLen = action.totalLen,
23
29
  columnsLen = action.columnsLen,
24
- rowHeight = action.rowHeight;
30
+ rowHeight = action.rowHeight,
31
+ sliceColumns = action.sliceColumns;
25
32
 
26
33
  switch (action.type) {
27
34
  // 数据数量
@@ -42,6 +49,11 @@ var reducer = function reducer(state, action) {
42
49
  rowHeight: rowHeight
43
50
  });
44
51
 
52
+ case 'changeSliceColumns':
53
+ return Object.assign(Object.assign({}, state), {
54
+ sliceColumns: sliceColumns
55
+ });
56
+
45
57
  default:
46
58
  throw new Error();
47
59
  }
@@ -9,7 +9,7 @@ function useEvent(handler) {
9
9
 
10
10
  return useCallback(function () {
11
11
  var fn = handlerRef.current;
12
- return fn.apply(void 0, arguments);
12
+ return fn === null || fn === void 0 ? void 0 : fn.apply(void 0, arguments);
13
13
  }, []);
14
14
  }
15
15
 
package/es/index.d.ts CHANGED
@@ -51,10 +51,9 @@ export type { TooltipProps } from './Tooltip';
51
51
  export { default as Form } from './Form';
52
52
  export { default as Spin } from './Spin';
53
53
  export { default as LmEditTable } from './LmEditTable';
54
- export type { CountdownHandle, TLmEditTable } from './LmEditTable/EditTable';
54
+ export type { TLmEditTable, CountdownHandle } from './LmEditTable/EditTable';
55
55
  export { default as List } from './List';
56
56
  export { default as LMQuickMenu } from './QuickMenu';
57
- export type { IMenuData, IQuickMenuProps } from './QuickMenu';
58
57
  export { default as DatePicker } from './DatePicker';
59
58
  export type { DatePickerProps, MonthPickerProps, WeekPickerProps, RangePickerProps } from './DatePicker';
60
59
  export { default as Popover } from './Popover';
@@ -9710,6 +9710,10 @@ p {
9710
9710
  .lm_tree_warp .ant-tree-list-holder-inner .ant-tree-treenode > .ant-tree-node-content-wrapper.ant-tree-node-selected {
9711
9711
  background-color: var(--primary-select-color);
9712
9712
  }
9713
+ .lm_editTable_warpper {
9714
+ height: 100%;
9715
+ width: 100%;
9716
+ }
9713
9717
  .lm_editTable_warpper .ant-picker {
9714
9718
  width: 100%;
9715
9719
  }
@@ -9738,6 +9742,9 @@ p {
9738
9742
  width: 32px;
9739
9743
  padding: 0 8px;
9740
9744
  }
9745
+ .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9746
+ height: 100%;
9747
+ }
9741
9748
  .lm_editTable_warpper .lm_editTable_cell {
9742
9749
  cursor: pointer;
9743
9750
  height: 40px;
@@ -9749,6 +9756,21 @@ p {
9749
9756
  letter-spacing: 0px;
9750
9757
  color: var(--color-85);
9751
9758
  }
9759
+ .lm_editTable_warpper .lm_custom_cell_td {
9760
+ position: relative;
9761
+ }
9762
+ .lm_editTable_warpper .lm_custom_cell_td.ant-table-cell-with-append {
9763
+ display: flex;
9764
+ flex-direction: row;
9765
+ flex-wrap: nowrap;
9766
+ }
9767
+ .lm_editTable_warpper .lm_custom_cell_td.ant-table-cell-with-append .ant-table-row-expand-icon {
9768
+ margin-right: 8px;
9769
+ flex: none;
9770
+ }
9771
+ .lm_editTable_warpper .lm_custom_cell_td > .ant-form-item {
9772
+ flex: 1 1 auto;
9773
+ }
9752
9774
  .lm_editTable_warpper .lm_custom_cell_td .ant-form-item-control-input-content {
9753
9775
  display: flex;
9754
9776
  flex-direction: row;
@@ -9760,6 +9782,32 @@ p {
9760
9782
  .lm_editTable_warpper .lm_custom_cell_td .ant-table-row-expand-icon {
9761
9783
  margin-top: 6px;
9762
9784
  }
9785
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp {
9786
+ font-size: 8px;
9787
+ position: absolute;
9788
+ left: calc(50% - 10px);
9789
+ z-index: 100;
9790
+ width: 20px;
9791
+ height: 10px;
9792
+ background-color: var(--color-6);
9793
+ display: flex;
9794
+ align-items: center;
9795
+ justify-content: center;
9796
+ color: #D8D8D8;
9797
+ }
9798
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_warp:hover {
9799
+ cursor: pointer;
9800
+ background-color: var(--primary-color);
9801
+ color: #fff;
9802
+ }
9803
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_up {
9804
+ top: -4px;
9805
+ left: calc(50% - 10px);
9806
+ }
9807
+ .lm_editTable_warpper .lm_custom_cell_td .quick_copy_down {
9808
+ bottom: -6px;
9809
+ left: calc(50% - 10px);
9810
+ }
9763
9811
  .lm_editTable_warpper .lm_editTable_cell_edit {
9764
9812
  height: 40px;
9765
9813
  padding: 8px 8px !important;
@@ -9771,6 +9819,9 @@ p {
9771
9819
  .lm_editTable_warpper .lm_table_quickcopy .anticon {
9772
9820
  color: var(--text-color);
9773
9821
  }
9822
+ .lm_editTable_warpper .ant-table-body {
9823
+ scroll-behavior: smooth;
9824
+ }
9774
9825
  .lm_editTable_warpper .icon_drag {
9775
9826
  color: var(--tip-text-color);
9776
9827
  }
@@ -9787,6 +9838,32 @@ p {
9787
9838
  .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9788
9839
  background-color: rgba(0, 0, 0, 0.06) !important;
9789
9840
  }
9841
+ .lm_editTable_warpper .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
9842
+ background-color: rgba(0, 0, 0, 0.06) !important;
9843
+ }
9844
+ .lm_editTable_warpper .lm_table_empty {
9845
+ display: flex;
9846
+ flex-direction: column;
9847
+ align-items: center;
9848
+ padding: 12px 0;
9849
+ font-size: 12px;
9850
+ }
9851
+ .lm_editTable_warpper .lm_table_empty > img {
9852
+ width: 130px;
9853
+ height: 80px;
9854
+ margin-bottom: 8px;
9855
+ }
9856
+ .lm_editTable_warpper .lm_table_empty .empty_img {
9857
+ margin-bottom: 8px;
9858
+ background-image: url('data:image/png;base64,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');
9859
+ background-size: cover;
9860
+ }
9861
+ .lm_editTable_warpper .lm_table_empty > span {
9862
+ color: var(--font-color);
9863
+ }
9864
+ .lm_editTable_warpper .ant-table-empty table {
9865
+ height: 100%;
9866
+ }
9790
9867
  .lm_editTable_warpper .ant-picker {
9791
9868
  height: 24px !important;
9792
9869
  padding: 2px 8px;
@@ -9830,6 +9907,21 @@ p {
9830
9907
  .lm_table_append_add_popover .ant-popover-inner-content ul li:hover {
9831
9908
  background-color: var(--color-15);
9832
9909
  }
9910
+ .lm_edittable_col_sort_item {
9911
+ overflow: hidden;
9912
+ }
9913
+ .lm_editable_col_drag {
9914
+ background-color: #fff;
9915
+ font-size: 12px;
9916
+ display: flex;
9917
+ box-sizing: border-box;
9918
+ transform: translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1));
9919
+ transform-origin: 0 0;
9920
+ touch-action: manipulation;
9921
+ scale: 1.05;
9922
+ box-shadow: 0 0 0 calc(1px / var(--scale-x, 1)) rgba(63, 63, 68, 0.05), 0 1px calc(3px / var(--scale-x, 1)) 0 rgba(34, 33, 81, 0.15);
9923
+ padding: 8px;
9924
+ }
9833
9925
  .lm_filter_wrapper .lm_filter_container .lm_filter {
9834
9926
  display: flex;
9835
9927
  flex-wrap: wrap;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -13,7 +15,7 @@ var _inputNumber = _interopRequireDefault(require("antd/es/input-number"));
13
15
 
14
16
  var _classnames = _interopRequireDefault(require("classnames"));
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
19
21
 
@@ -33,8 +35,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
33
35
  };
34
36
 
35
37
  var prefixCls = 'lm_input-number';
36
-
37
- var LMInputNumber = function LMInputNumber(props) {
38
+ var LMInputNumber = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
38
39
  var children = props.children,
39
40
  className = props.className,
40
41
  customDisabled = props.disabled,
@@ -51,24 +52,23 @@ var LMInputNumber = function LMInputNumber(props) {
51
52
 
52
53
  var mergeSize = customizeSize || size;
53
54
  return /*#__PURE__*/_react.default.createElement(_inputNumber.default, Object.assign({
55
+ ref: ref,
54
56
  className: (0, _classnames.default)(className, prefixCls),
55
57
  placeholder: "\u8BF7\u8F93\u5165"
56
58
  }, rest, {
57
59
  size: mergeSize,
58
60
  disabled: mergedDisabled
59
61
  }));
60
- };
61
-
62
+ });
62
63
  var CInputNumber = LMInputNumber;
63
-
64
- CInputNumber.Price = function (props) {
64
+ CInputNumber.Price = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
65
65
  return /*#__PURE__*/_react.default.createElement(_inputNumber.default, Object.assign({
66
66
  prefix: "\uFFE5",
67
+ ref: ref,
67
68
  formatter: function formatter(value) {
68
69
  return "".concat(value).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
69
70
  }
70
71
  }, props));
71
- };
72
-
72
+ });
73
73
  var _default = CInputNumber;
74
74
  exports.default = _default;
@@ -1,5 +1,8 @@
1
- declare const DndContainer: ({ children, move }: {
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ children, move, options, rowKey }: {
2
3
  children: any;
3
4
  move: any;
4
- }) => JSX.Element;
5
- export default DndContainer;
5
+ options: any;
6
+ rowKey: any;
7
+ }) => JSX.Element>;
8
+ export default _default;