linkmore-design 1.1.28 → 1.1.30

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 (266) hide show
  1. package/dist/Form/FormItem/index.d.ts +1 -0
  2. package/dist/LmEditTable/DndContainer.d.ts +6 -3
  3. package/dist/LmEditTable/EditTable.d.ts +16 -5
  4. package/dist/LmEditTable/components/DraggableContainer.d.ts +10 -0
  5. package/dist/LmEditTable/components/QuickOpetate.d.ts +12 -0
  6. package/dist/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  7. package/dist/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  8. package/dist/LmEditTable/components/index.d.ts +17 -0
  9. package/dist/LmEditTable/hooks/useForkRef.d.ts +2 -0
  10. package/dist/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  11. package/dist/LmEditTable/sortableItem.d.ts +3 -2
  12. package/dist/LmEditTable/util.d.ts +10 -0
  13. package/dist/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  14. package/dist/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  15. package/dist/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  16. package/dist/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  17. package/dist/LmEditTable/virtual/context.d.ts +13 -0
  18. package/dist/LmEditTable/virtual/index.d.ts +4 -0
  19. package/dist/LmTable/common/index.d.ts +10 -0
  20. package/dist/LmTable/components/CalcExpression.d.ts +9 -0
  21. package/dist/LmTable/components/Container/Container.d.ts +20 -0
  22. package/dist/LmTable/components/Container/index.d.ts +2 -0
  23. package/dist/LmTable/components/DndContainer.d.ts +37 -5
  24. package/dist/LmTable/components/HeaderCol.d.ts +1 -0
  25. package/dist/LmTable/components/Item/Item.d.ts +37 -0
  26. package/dist/LmTable/components/Item/components/Action/Action.d.ts +10 -0
  27. package/dist/LmTable/components/Item/components/Action/index.d.ts +2 -0
  28. package/dist/LmTable/components/Item/components/Handle/index.d.ts +4 -0
  29. package/dist/LmTable/components/Item/components/Remove/index.d.ts +2 -0
  30. package/dist/LmTable/components/Item/components/index.d.ts +3 -0
  31. package/dist/LmTable/components/Item/index.d.ts +2 -0
  32. package/dist/LmTable/components/{sortableBoxCol.d.ts → SortableBox.d.ts} +0 -0
  33. package/dist/LmTable/demos/{excelGroup.d.ts → draggable.d.ts} +0 -0
  34. package/dist/LmTable/demos/resize.d.ts +2 -0
  35. package/dist/LmTable/expression.d.ts +2 -1
  36. package/dist/LmTable/hooks/useDndItems.d.ts +13 -0
  37. package/dist/LmTable/hooks/useGroupDataSource.d.ts +1 -2
  38. package/dist/LmTable/hooks/useResizeObserver.d.ts +13 -0
  39. package/dist/LmTable/multipleContainersKeyboardCoordinates.d.ts +3 -0
  40. package/dist/LmTable/testDemos/group.d.ts +2 -0
  41. package/dist/LmTable/util.d.ts +1 -1
  42. package/dist/LmTable/virTual/VirtualRow.d.ts +1 -1
  43. package/dist/index.d.ts +1 -2
  44. package/dist/index.umd.css +367 -0
  45. package/dist/index.umd.js +4362 -52840
  46. package/dist/index.umd.min.css +1 -1
  47. package/dist/index.umd.min.js +23 -47
  48. package/dist/variables.css +129 -6
  49. package/es/CardTable/style/index.css +3 -2
  50. package/es/CardTable/style/variables.css +3 -2
  51. package/es/CustomTableOption/columnsSort.js +41 -19
  52. package/es/CustomTableOption/filterSort.js +14 -6
  53. package/es/CustomTableOption/style/index.css +3 -0
  54. package/es/CustomTableOption/style/variables.css +3 -0
  55. package/es/Dropdown/style/index.css +1 -1
  56. package/es/Dropdown/style/variables.css +1 -1
  57. package/es/Empty/index.js +0 -1
  58. package/es/Form/FormItem/index.d.ts +1 -0
  59. package/es/Form/FormItem/index.js +31 -17
  60. package/es/Form/style/index.css +4 -0
  61. package/es/Form/style/variables.css +4 -0
  62. package/es/InputNumber/index.js +7 -9
  63. package/es/LmEditTable/DndContainer.d.ts +6 -3
  64. package/es/LmEditTable/DndContainer.js +70 -10
  65. package/es/LmEditTable/DragHandle.js +1 -1
  66. package/es/LmEditTable/EditTable.d.ts +16 -5
  67. package/es/LmEditTable/EditTable.js +855 -436
  68. package/es/LmEditTable/components/DraggableContainer.d.ts +10 -0
  69. package/es/LmEditTable/components/DraggableContainer.js +39 -0
  70. package/es/LmEditTable/components/QuickOpetate.d.ts +12 -0
  71. package/es/LmEditTable/components/QuickOpetate.js +82 -0
  72. package/es/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  73. package/es/LmEditTable/components/bottomOpetateComponent.js +23 -0
  74. package/es/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  75. package/es/LmEditTable/components/customRenderEmpty.js +20 -0
  76. package/es/LmEditTable/components/index.d.ts +17 -0
  77. package/es/LmEditTable/components/index.js +8 -0
  78. package/es/LmEditTable/hooks/useForkRef.d.ts +2 -0
  79. package/es/LmEditTable/hooks/useForkRef.js +22 -0
  80. package/es/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  81. package/es/LmEditTable/rowSort/DndContainerRow.js +83 -0
  82. package/es/LmEditTable/sortableItem.d.ts +3 -2
  83. package/es/LmEditTable/sortableItem.js +16 -4
  84. package/es/LmEditTable/sortableItemCol.js +40 -10
  85. package/es/LmEditTable/style/index.css +105 -1
  86. package/es/LmEditTable/style/variables.css +105 -1
  87. package/es/LmEditTable/util.d.ts +10 -0
  88. package/es/LmEditTable/util.js +162 -9
  89. package/es/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  90. package/es/LmEditTable/virtual/VirtualRow.js +148 -0
  91. package/es/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  92. package/es/LmEditTable/virtual/VirtualRow2.js +62 -0
  93. package/es/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  94. package/es/LmEditTable/virtual/VirtualTable.js +64 -0
  95. package/es/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  96. package/es/LmEditTable/virtual/VirtualWrapper.js +60 -0
  97. package/es/LmEditTable/virtual/context.d.ts +13 -0
  98. package/es/LmEditTable/virtual/context.js +66 -0
  99. package/es/LmEditTable/virtual/index.d.ts +4 -0
  100. package/es/LmEditTable/virtual/index.js +4 -0
  101. package/es/LmTable/Table.js +269 -163
  102. package/es/LmTable/common/index.d.ts +10 -0
  103. package/es/LmTable/common/index.js +38 -0
  104. package/es/LmTable/components/CalcExpression.d.ts +9 -0
  105. package/es/LmTable/components/CalcExpression.js +150 -0
  106. package/es/LmTable/components/Container/Container.css +94 -0
  107. package/es/LmTable/components/Container/Container.d.ts +20 -0
  108. package/es/LmTable/components/Container/Container.js +52 -0
  109. package/es/LmTable/components/Container/index.d.ts +2 -0
  110. package/es/LmTable/components/Container/index.js +1 -0
  111. package/es/LmTable/components/DndContainer.d.ts +37 -5
  112. package/es/LmTable/components/DndContainer.js +704 -24
  113. package/es/LmTable/components/HeaderCol.js +61 -0
  114. package/es/LmTable/components/Item/Item.css +113 -0
  115. package/es/LmTable/components/Item/Item.d.ts +37 -0
  116. package/es/LmTable/components/Item/Item.js +88 -0
  117. package/es/LmTable/components/Item/components/Action/Action.css +41 -0
  118. package/es/LmTable/components/Item/components/Action/Action.d.ts +10 -0
  119. package/es/LmTable/components/Item/components/Action/Action.js +35 -0
  120. package/es/LmTable/components/Item/components/Action/index.d.ts +2 -0
  121. package/es/LmTable/components/Item/components/Action/index.js +1 -0
  122. package/es/LmTable/components/Item/components/Handle/index.d.ts +4 -0
  123. package/es/LmTable/components/Item/components/Handle/index.js +15 -0
  124. package/es/LmTable/components/Item/components/Remove/index.d.ts +2 -0
  125. package/es/LmTable/components/Item/components/Remove/index.js +16 -0
  126. package/es/LmTable/components/Item/components/index.d.ts +3 -0
  127. package/es/LmTable/components/Item/components/index.js +3 -0
  128. package/es/LmTable/components/Item/index.d.ts +2 -0
  129. package/es/LmTable/components/Item/index.js +2 -0
  130. package/es/LmTable/components/{sortableBoxCol.js → SortableBox.js} +0 -0
  131. package/es/LmTable/expression.d.ts +2 -1
  132. package/es/LmTable/expression.js +92 -16
  133. package/es/LmTable/hooks/useDndItems.d.ts +13 -0
  134. package/es/LmTable/hooks/useDndItems.js +234 -0
  135. package/es/LmTable/hooks/useGroupDataSource.js +2 -24
  136. package/es/LmTable/hooks/useResizeObserver.d.ts +13 -0
  137. package/es/LmTable/hooks/useResizeObserver.js +49 -0
  138. package/es/LmTable/multipleContainersKeyboardCoordinates.d.ts +3 -0
  139. package/es/LmTable/multipleContainersKeyboardCoordinates.js +117 -0
  140. package/es/LmTable/style/index.css +13 -2
  141. package/es/LmTable/style/variables.css +13 -2
  142. package/es/LmTable/testDemos/group.js +131 -0
  143. package/es/LmTable/util.js +22 -2
  144. package/es/LmTable/virTual/VirtualRow.d.ts +1 -1
  145. package/es/LmTable/virTual/VirtualRow.js +82 -48
  146. package/es/LmTable/virTual/VirtualTable.js +43 -11
  147. package/es/LmTable/virTual/context.js +14 -2
  148. package/es/LmUpload/fns/index.js +1 -1
  149. package/es/Modal/index.js +10 -3
  150. package/es/Radio/index.js +9 -1
  151. package/es/Switch/index.js +7 -2
  152. package/es/hooks/useEvent/index.js +1 -1
  153. package/es/index.d.ts +1 -2
  154. package/es/locale-provider/index.js +1 -1
  155. package/es/styles/variables.css +129 -6
  156. package/lib/CardTable/style/index.css +3 -2
  157. package/lib/CardTable/style/variables.css +3 -2
  158. package/lib/CustomTableOption/columnsSort.js +48 -23
  159. package/lib/CustomTableOption/filterSort.js +19 -10
  160. package/lib/CustomTableOption/style/index.css +3 -0
  161. package/lib/CustomTableOption/style/variables.css +3 -0
  162. package/lib/Dropdown/style/index.css +1 -1
  163. package/lib/Dropdown/style/variables.css +1 -1
  164. package/lib/Empty/index.js +0 -1
  165. package/lib/Form/FormItem/index.d.ts +1 -0
  166. package/lib/Form/FormItem/index.js +32 -17
  167. package/lib/Form/style/index.css +4 -0
  168. package/lib/Form/style/variables.css +4 -0
  169. package/lib/InputNumber/index.js +9 -9
  170. package/lib/LmEditTable/DndContainer.d.ts +6 -3
  171. package/lib/LmEditTable/DndContainer.js +74 -9
  172. package/lib/LmEditTable/DragHandle.js +1 -1
  173. package/lib/LmEditTable/EditTable.d.ts +16 -5
  174. package/lib/LmEditTable/EditTable.js +853 -433
  175. package/lib/LmEditTable/components/DraggableContainer.d.ts +10 -0
  176. package/lib/LmEditTable/components/DraggableContainer.js +52 -0
  177. package/lib/LmEditTable/components/QuickOpetate.d.ts +12 -0
  178. package/lib/LmEditTable/components/QuickOpetate.js +96 -0
  179. package/lib/LmEditTable/components/bottomOpetateComponent.d.ts +13 -0
  180. package/lib/LmEditTable/components/bottomOpetateComponent.js +34 -0
  181. package/lib/LmEditTable/components/customRenderEmpty.d.ts +2 -0
  182. package/lib/LmEditTable/components/customRenderEmpty.js +32 -0
  183. package/lib/LmEditTable/components/index.d.ts +17 -0
  184. package/lib/LmEditTable/components/index.js +45 -0
  185. package/lib/LmEditTable/hooks/useForkRef.d.ts +2 -0
  186. package/lib/LmEditTable/hooks/useForkRef.js +29 -0
  187. package/lib/LmEditTable/rowSort/DndContainerRow.d.ts +10 -0
  188. package/lib/LmEditTable/rowSort/DndContainerRow.js +100 -0
  189. package/lib/LmEditTable/sortableItem.d.ts +3 -2
  190. package/lib/LmEditTable/sortableItem.js +19 -5
  191. package/lib/LmEditTable/sortableItemCol.js +37 -8
  192. package/lib/LmEditTable/style/index.css +105 -1
  193. package/lib/LmEditTable/style/variables.css +105 -1
  194. package/lib/LmEditTable/util.d.ts +10 -0
  195. package/lib/LmEditTable/util.js +171 -8
  196. package/lib/LmEditTable/virtual/VirtualRow.d.ts +7 -0
  197. package/lib/LmEditTable/virtual/VirtualRow.js +164 -0
  198. package/lib/LmEditTable/virtual/VirtualRow2.d.ts +7 -0
  199. package/lib/LmEditTable/virtual/VirtualRow2.js +78 -0
  200. package/lib/LmEditTable/virtual/VirtualTable.d.ts +3 -0
  201. package/lib/LmEditTable/virtual/VirtualTable.js +81 -0
  202. package/lib/LmEditTable/virtual/VirtualWrapper.d.ts +3 -0
  203. package/lib/LmEditTable/virtual/VirtualWrapper.js +73 -0
  204. package/lib/LmEditTable/virtual/context.d.ts +13 -0
  205. package/lib/LmEditTable/virtual/context.js +76 -0
  206. package/lib/LmEditTable/virtual/index.d.ts +4 -0
  207. package/lib/LmEditTable/virtual/index.js +31 -0
  208. package/lib/LmTable/Table.js +269 -163
  209. package/lib/LmTable/common/index.d.ts +10 -0
  210. package/lib/LmTable/common/index.js +48 -0
  211. package/lib/LmTable/components/CalcExpression.d.ts +9 -0
  212. package/lib/LmTable/components/CalcExpression.js +166 -0
  213. package/lib/LmTable/components/Container/Container.css +94 -0
  214. package/lib/LmTable/components/Container/Container.d.ts +20 -0
  215. package/lib/LmTable/components/Container/Container.js +66 -0
  216. package/lib/LmTable/components/Container/index.d.ts +2 -0
  217. package/lib/LmTable/components/Container/index.js +13 -0
  218. package/lib/LmTable/components/DndContainer.d.ts +37 -5
  219. package/lib/LmTable/components/DndContainer.js +714 -26
  220. package/lib/LmTable/components/HeaderCol.js +61 -0
  221. package/lib/LmTable/components/Item/Item.css +113 -0
  222. package/lib/LmTable/components/Item/Item.d.ts +37 -0
  223. package/lib/LmTable/components/Item/Item.js +104 -0
  224. package/lib/LmTable/components/Item/components/Action/Action.css +41 -0
  225. package/lib/LmTable/components/Item/components/Action/Action.d.ts +10 -0
  226. package/lib/LmTable/components/Item/components/Action/Action.js +50 -0
  227. package/lib/LmTable/components/Item/components/Action/index.d.ts +2 -0
  228. package/lib/LmTable/components/Item/components/Action/index.js +13 -0
  229. package/lib/LmTable/components/Item/components/Handle/index.d.ts +4 -0
  230. package/lib/LmTable/components/Item/components/Handle/index.js +27 -0
  231. package/lib/LmTable/components/Item/components/Remove/index.d.ts +2 -0
  232. package/lib/LmTable/components/Item/components/Remove/index.js +27 -0
  233. package/lib/LmTable/components/Item/components/index.d.ts +3 -0
  234. package/lib/LmTable/components/Item/components/index.js +31 -0
  235. package/lib/LmTable/components/Item/index.d.ts +2 -0
  236. package/lib/LmTable/components/Item/index.js +33 -0
  237. package/lib/LmTable/components/{sortableBoxCol.js → SortableBox.js} +0 -0
  238. package/lib/LmTable/expression.d.ts +2 -1
  239. package/lib/LmTable/expression.js +96 -17
  240. package/lib/LmTable/hooks/useDndItems.d.ts +13 -0
  241. package/lib/LmTable/hooks/useDndItems.js +247 -0
  242. package/lib/LmTable/hooks/useGroupDataSource.js +2 -24
  243. package/lib/LmTable/hooks/useResizeObserver.d.ts +13 -0
  244. package/lib/LmTable/hooks/useResizeObserver.js +61 -0
  245. package/lib/LmTable/multipleContainersKeyboardCoordinates.d.ts +3 -0
  246. package/lib/LmTable/multipleContainersKeyboardCoordinates.js +126 -0
  247. package/lib/LmTable/style/index.css +13 -2
  248. package/lib/LmTable/style/variables.css +13 -2
  249. package/lib/LmTable/testDemos/group.js +131 -0
  250. package/lib/LmTable/util.js +22 -2
  251. package/lib/LmTable/virTual/VirtualRow.d.ts +1 -1
  252. package/lib/LmTable/virTual/VirtualRow.js +81 -48
  253. package/lib/LmTable/virTual/VirtualTable.js +43 -10
  254. package/lib/LmTable/virTual/context.js +14 -2
  255. package/lib/LmUpload/fns/index.js +1 -1
  256. package/lib/Modal/index.js +10 -3
  257. package/lib/Radio/index.js +9 -1
  258. package/lib/Switch/index.js +9 -2
  259. package/lib/hooks/useEvent/index.js +1 -1
  260. package/lib/index.d.ts +1 -2
  261. package/lib/locale-provider/index.js +1 -1
  262. package/lib/styles/variables.css +129 -6
  263. package/package.json +3 -5
  264. package/dist/LmTable/components/sortableItemCol.d.ts +0 -1
  265. package/es/LmTable/components/sortableItemCol.js +0 -56
  266. package/lib/LmTable/components/sortableItemCol.js +0 -56
@@ -0,0 +1,234 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import { useState, useEffect } from 'react';
4
+ import { treeFind } from '../common/index';
5
+
6
+ function del(arr, target) {
7
+ if (!arr || !arr.length) {
8
+ return null;
9
+ }
10
+
11
+ var index = arr.findIndex(function (item) {
12
+ return item === target;
13
+ });
14
+
15
+ if (index !== -1) {
16
+ arr.splice(index, 1);
17
+ }
18
+ }
19
+
20
+ function getSortInsert(tableHeader, value, _ref) {
21
+ var columns = _ref.columns;
22
+
23
+ if (!tableHeader) {
24
+ return [];
25
+ }
26
+
27
+ var arr = new Array(columns.length);
28
+ tableHeader.push(value);
29
+ tableHeader.forEach(function (val) {
30
+ var index = columns.findIndex(function (item) {
31
+ return item.title === val;
32
+ });
33
+ columns[index].show = true;
34
+ arr.splice(index, 0, val);
35
+ });
36
+ return arr.filter(Boolean);
37
+ }
38
+
39
+ function getSortDndColumns(value, _ref2) {
40
+ var columns = _ref2.columns;
41
+ var tableHeader = value.tableHeader;
42
+ var hiddenArr = [];
43
+
44
+ if (value.row) {
45
+ hiddenArr = [].concat(_toConsumableArray(hiddenArr), _toConsumableArray(value.row));
46
+ }
47
+
48
+ if (value.col) {
49
+ hiddenArr = [].concat(_toConsumableArray(hiddenArr), _toConsumableArray(value.col));
50
+ }
51
+
52
+ if (!tableHeader || !tableHeader.length) {
53
+ return [];
54
+ }
55
+
56
+ var result = [];
57
+
58
+ var _loop = function _loop(i) {
59
+ var item = columns.find(function (item) {
60
+ return item.title === tableHeader[i];
61
+ });
62
+
63
+ if (item) {
64
+ item.order = i;
65
+ result.push(item);
66
+ }
67
+ };
68
+
69
+ for (var i = 0; i < tableHeader.length; i++) {
70
+ _loop(i);
71
+ }
72
+
73
+ var _loop2 = function _loop2(_i) {
74
+ var item = columns.find(function (item) {
75
+ return item.title === hiddenArr[_i];
76
+ });
77
+
78
+ if (item) {
79
+ item.show = false;
80
+ result.push(item);
81
+ }
82
+ };
83
+
84
+ for (var _i = 0; _i < hiddenArr.length; _i++) {
85
+ _loop2(_i);
86
+ }
87
+
88
+ return result;
89
+ }
90
+
91
+ function getDataIndexForTitle(row, columns) {
92
+ if (!row) {
93
+ return [];
94
+ }
95
+
96
+ return row.map(function (title) {
97
+ var col = columns.find(function (item) {
98
+ return item.title === title;
99
+ });
100
+
101
+ if (col) {
102
+ return col.dataIndex;
103
+ }
104
+ });
105
+ }
106
+
107
+ function useDndItems(props) {
108
+ var columns = props.columns,
109
+ colSortOpen = props.colSortOpen,
110
+ filterChange = props.filterChange,
111
+ openRowGroup = props.openRowGroup,
112
+ openColGroup = props.openColGroup,
113
+ customizeGroupRowKeys = props.customizeGroupRowKeys,
114
+ customizeGroupColKeys = props.customizeGroupColKeys;
115
+
116
+ var _useState = useState(columns),
117
+ _useState2 = _slicedToArray(_useState, 2),
118
+ dndColumns = _useState2[0],
119
+ setDndColumns = _useState2[1];
120
+
121
+ var _useState3 = useState(customizeGroupRowKeys || []),
122
+ _useState4 = _slicedToArray(_useState3, 2),
123
+ groupRowKeys = _useState4[0],
124
+ setGroupRowKeys = _useState4[1];
125
+
126
+ var _useState5 = useState(customizeGroupColKeys || []),
127
+ _useState6 = _slicedToArray(_useState5, 2),
128
+ groupColKeys = _useState6[0],
129
+ setGroupColKeys = _useState6[1];
130
+
131
+ useEffect(function () {
132
+ if (customizeGroupRowKeys) {
133
+ setGroupRowKeys(customizeGroupRowKeys);
134
+ }
135
+
136
+ if (customizeGroupColKeys) {
137
+ setGroupColKeys(customizeGroupColKeys);
138
+ }
139
+ }, [customizeGroupRowKeys, customizeGroupColKeys]); // 初始化
140
+
141
+ var defaultItems = {
142
+ tableHeader: []
143
+ };
144
+
145
+ if (openRowGroup) {
146
+ defaultItems.row = [];
147
+ }
148
+
149
+ if (openColGroup) {
150
+ defaultItems.col = [];
151
+ }
152
+
153
+ if (openColGroup || openRowGroup || colSortOpen) {
154
+ treeFind(columns, function (node) {
155
+ if (openRowGroup && groupRowKeys.includes(node.dataIndex)) {
156
+ defaultItems.row && defaultItems.row.push(node.title);
157
+ } else if (groupColKeys.includes(node.dataIndex)) {
158
+ defaultItems.col && defaultItems.col.push(node.title);
159
+ } else {
160
+ defaultItems.tableHeader.push(node.title);
161
+ }
162
+
163
+ return false;
164
+ });
165
+ }
166
+
167
+ var _useState7 = useState(defaultItems),
168
+ _useState8 = _slicedToArray(_useState7, 2),
169
+ items = _useState8[0],
170
+ setItems = _useState8[1];
171
+
172
+ useEffect(function () {
173
+ if (customizeGroupRowKeys || customizeGroupColKeys) {
174
+ columns.forEach(function (c) {
175
+ if (customizeGroupRowKeys.includes(c.dataIndex) || customizeGroupColKeys.includes(c.dataIndex)) {
176
+ c.show = false;
177
+ }
178
+ });
179
+ }
180
+
181
+ setDndColumns(columns);
182
+ setItems(defaultItems);
183
+ }, [columns]); // 更新
184
+
185
+ var updateItems = function updateItems(value, resume) {
186
+ var _a;
187
+
188
+ if (value.row) {
189
+ value.row = value === null || value === void 0 ? void 0 : value.row.filter(Boolean);
190
+ }
191
+
192
+ if (value.col) {
193
+ value.col = value.col.filter(Boolean);
194
+ }
195
+
196
+ if (resume) {
197
+ // 删除
198
+ del(value.row, resume);
199
+ del(value.col, resume);
200
+ value.tableHeader = getSortInsert(value.tableHeader, resume, {
201
+ columns: columns
202
+ });
203
+ } // 列分组进行覆盖,只允许存在一个
204
+
205
+
206
+ if (((_a = value === null || value === void 0 ? void 0 : value.col) === null || _a === void 0 ? void 0 : _a.length) >= 2) {
207
+ value.tableHeader = getSortInsert(value.tableHeader, items.col[0], {
208
+ columns: columns
209
+ });
210
+ value.col = value.col.filter(function (item) {
211
+ return item !== items.col[0];
212
+ });
213
+ }
214
+
215
+ setItems(value);
216
+ setGroupRowKeys(getDataIndexForTitle(value.row, columns));
217
+ setGroupColKeys(getDataIndexForTitle(value.col, columns));
218
+ var newColumns = getSortDndColumns(value, {
219
+ columns: columns
220
+ });
221
+ setDndColumns(newColumns);
222
+ filterChange === null || filterChange === void 0 ? void 0 : filterChange(newColumns);
223
+ };
224
+
225
+ return {
226
+ dndColumns: dndColumns,
227
+ items: items,
228
+ groupRowKeys: groupRowKeys,
229
+ groupColKeys: groupColKeys,
230
+ updateItems: updateItems
231
+ };
232
+ }
233
+
234
+ export default useDndItems;
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -11,36 +9,16 @@ var _react = require("react");
11
9
 
12
10
  var _util = require("../util");
13
11
 
14
- var _expression = _interopRequireDefault(require("../expression"));
15
-
16
12
  /** 行分组 */
17
13
  function useGroupDataSource(_ref) {
18
14
  var groupRowKeys = _ref.groupRowKeys,
19
- customizeDataSource = _ref.customizeDataSource,
20
- columnsRef = _ref.columnsRef;
15
+ customizeDataSource = _ref.customizeDataSource;
21
16
  var groupDataSource = (0, _react.useMemo)(function () {
22
17
  if (!(groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length)) {
23
18
  return customizeDataSource;
24
19
  }
25
20
 
26
- var source = (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys); // 获取需要计算的key,生成数组
27
-
28
- var needCalcKeys = columnsRef.current.filter(function (col) {
29
- return col.expression;
30
- }).map(function (col) {
31
- return [col.dataIndex, col.expression];
32
- });
33
-
34
- var deepChildren = function deepChildren(arr) {
35
- arr === null || arr === void 0 ? void 0 : arr.forEach(function (item) {
36
- if (item === null || item === void 0 ? void 0 : item.children) {
37
- deepChildren(item === null || item === void 0 ? void 0 : item.children);
38
- (0, _expression.default)(item, needCalcKeys);
39
- }
40
- });
41
- };
42
-
43
- deepChildren(source);
21
+ var source = (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys);
44
22
  return source;
45
23
  }, [customizeDataSource, groupRowKeys]);
46
24
  return [groupDataSource];
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface Rect {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ left: number;
8
+ right: number;
9
+ bottom: number;
10
+ top: number;
11
+ }
12
+ export default function useResizeObserver(): (import("react").MutableRefObject<undefined> | Rect)[];
13
+ export {};
@@ -0,0 +1,49 @@
1
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import { useEffect, useRef, useState } from 'react';
4
+ export default function useResizeObserver() {
5
+ var ref = useRef();
6
+
7
+ var _useState = useState({
8
+ x: 0,
9
+ y: 0,
10
+ width: 0,
11
+ height: 0,
12
+ left: 0,
13
+ right: 0,
14
+ bottom: 0,
15
+ top: 0
16
+ }),
17
+ _useState2 = _slicedToArray(_useState, 2),
18
+ rect = _useState2[0],
19
+ setRect = _useState2[1];
20
+
21
+ console.log('useResizeObserver');
22
+ useEffect(function () {
23
+ var ro = new ResizeObserver(function (entries) {
24
+ // 遍历改变的元素属性
25
+ var _iterator = _createForOfIteratorHelper(entries),
26
+ _step;
27
+
28
+ try {
29
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
+ var entry = _step.value;
31
+ setRect(entry.target.getBoundingClientRect());
32
+ }
33
+ } catch (err) {
34
+ _iterator.e(err);
35
+ } finally {
36
+ _iterator.f();
37
+ }
38
+ });
39
+
40
+ if (ref.current) {
41
+ ro.observe(ref.current);
42
+ }
43
+
44
+ return function () {
45
+ ro.disconnect();
46
+ };
47
+ }, []);
48
+ return [ref, rect];
49
+ }
@@ -0,0 +1,3 @@
1
+ import { KeyboardCoordinateGetter } from '@dnd-kit/core';
2
+ declare const coordinateGetter: KeyboardCoordinateGetter;
3
+ export default coordinateGetter;
@@ -0,0 +1,117 @@
1
+ import { closestCorners, getFirstCollision, KeyboardCode } from '@dnd-kit/core';
2
+ var directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];
3
+
4
+ var coordinateGetter = function coordinateGetter(event, _ref) {
5
+ var _ref$context = _ref.context,
6
+ active = _ref$context.active,
7
+ droppableRects = _ref$context.droppableRects,
8
+ droppableContainers = _ref$context.droppableContainers,
9
+ collisionRect = _ref$context.collisionRect;
10
+
11
+ var _a;
12
+
13
+ if (directions.includes(event.code)) {
14
+ event.preventDefault();
15
+
16
+ if (!active || !collisionRect) {
17
+ return null;
18
+ }
19
+
20
+ var filteredContainers = [];
21
+ droppableContainers.getEnabled().forEach(function (entry) {
22
+ var _a;
23
+
24
+ if (!entry || (entry === null || entry === void 0 ? void 0 : entry.disabled)) {
25
+ return;
26
+ }
27
+
28
+ var rect = droppableRects.get(entry.id);
29
+
30
+ if (!rect) {
31
+ return;
32
+ }
33
+
34
+ var data = entry.data.current;
35
+
36
+ if (data) {
37
+ var type = data.type,
38
+ children = data.children;
39
+
40
+ if (type === 'container' && (children === null || children === void 0 ? void 0 : children.length) > 0) {
41
+ if (((_a = active.data.current) === null || _a === void 0 ? void 0 : _a.type) !== 'container') {
42
+ return;
43
+ }
44
+ }
45
+ }
46
+
47
+ switch (event.code) {
48
+ case KeyboardCode.Down:
49
+ if (collisionRect.top < rect.top) {
50
+ filteredContainers.push(entry);
51
+ }
52
+
53
+ break;
54
+
55
+ case KeyboardCode.Up:
56
+ if (collisionRect.top > rect.top) {
57
+ filteredContainers.push(entry);
58
+ }
59
+
60
+ break;
61
+
62
+ case KeyboardCode.Left:
63
+ if (collisionRect.left >= rect.left + rect.width) {
64
+ filteredContainers.push(entry);
65
+ }
66
+
67
+ break;
68
+
69
+ case KeyboardCode.Right:
70
+ if (collisionRect.left + collisionRect.width <= rect.left) {
71
+ filteredContainers.push(entry);
72
+ }
73
+
74
+ break;
75
+ }
76
+ });
77
+ var collisions = closestCorners({
78
+ active: active,
79
+ collisionRect: collisionRect,
80
+ droppableRects: droppableRects,
81
+ droppableContainers: filteredContainers,
82
+ pointerCoordinates: null
83
+ });
84
+ var closestId = getFirstCollision(collisions, 'id');
85
+
86
+ if (closestId != null) {
87
+ var newDroppable = droppableContainers.get(closestId);
88
+ var newNode = newDroppable === null || newDroppable === void 0 ? void 0 : newDroppable.node.current;
89
+ var newRect = newDroppable === null || newDroppable === void 0 ? void 0 : newDroppable.rect.current;
90
+
91
+ if (newNode && newRect) {
92
+ if (newDroppable.id === 'placeholder') {
93
+ return {
94
+ x: newRect.left + (newRect.width - collisionRect.width) / 2,
95
+ y: newRect.top + (newRect.height - collisionRect.height) / 2
96
+ };
97
+ }
98
+
99
+ if (((_a = newDroppable.data.current) === null || _a === void 0 ? void 0 : _a.type) === 'container') {
100
+ return {
101
+ x: newRect.left + 20,
102
+ y: newRect.top + 74
103
+ };
104
+ }
105
+
106
+ return {
107
+ x: newRect.left,
108
+ y: newRect.top
109
+ };
110
+ }
111
+ }
112
+ }
113
+
114
+ return null;
115
+ };
116
+
117
+ export default coordinateGetter;
@@ -870,10 +870,15 @@ p {
870
870
  #lm_protable_warp .ant-table-wrapper,
871
871
  #lm_protable_warp .ant-spin-nested-loading,
872
872
  #lm_protable_warp .ant-spin-container,
873
- #lm_protable_warp .ant-table-container,
874
- #lm_protable_warp .ant-table-body {
873
+ #lm_protable_warp .ant-table-container {
875
874
  height: 100%;
876
875
  }
876
+ #lm_protable_warp.lm_protable_with_footer .ant-table-container {
877
+ height: auto;
878
+ }
879
+ #lm_protable_warp.lm_protable_with_footer .ant-table-footer {
880
+ background-color: #fff;
881
+ }
877
882
  #lm_protable_warp .ant-card-body,
878
883
  #lm_protable_warp .ant-pro-card-body {
879
884
  padding: 0;
@@ -1661,3 +1666,9 @@ button.ant-table-row-expand-icon::after {
1661
1666
  .WeChatContactsAvatarTools .rightClickItems:last-child {
1662
1667
  border-bottom: 0;
1663
1668
  }
1669
+ .calc-select .ant-select-selection-item {
1670
+ font-size: 12px !important;
1671
+ }
1672
+ .calc-select .ant-select-selection-placeholder {
1673
+ font-size: 12px;
1674
+ }
@@ -358,10 +358,15 @@
358
358
  #lm_protable_warp .ant-table-wrapper,
359
359
  #lm_protable_warp .ant-spin-nested-loading,
360
360
  #lm_protable_warp .ant-spin-container,
361
- #lm_protable_warp .ant-table-container,
362
- #lm_protable_warp .ant-table-body {
361
+ #lm_protable_warp .ant-table-container {
363
362
  height: 100%;
364
363
  }
364
+ #lm_protable_warp.lm_protable_with_footer .ant-table-container {
365
+ height: auto;
366
+ }
367
+ #lm_protable_warp.lm_protable_with_footer .ant-table-footer {
368
+ background-color: #fff;
369
+ }
365
370
  #lm_protable_warp .ant-card-body,
366
371
  #lm_protable_warp .ant-pro-card-body {
367
372
  padding: 0;
@@ -1149,3 +1154,9 @@ button.ant-table-row-expand-icon::after {
1149
1154
  .WeChatContactsAvatarTools .rightClickItems:last-child {
1150
1155
  border-bottom: 0;
1151
1156
  }
1157
+ .calc-select .ant-select-selection-item {
1158
+ font-size: 12px !important;
1159
+ }
1160
+ .calc-select .ant-select-selection-placeholder {
1161
+ font-size: 12px;
1162
+ }
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var createDataSource = function createDataSource(start) {
23
+ var arr = [];
24
+
25
+ for (var i = start; i < start + 30000; i += 1) {
26
+ var obj = {
27
+ key: "key_".concat(i),
28
+ name: "\u5C0F\u9EC4_".concat(i),
29
+ id: "id_".concat(i),
30
+ age: "87",
31
+ address: "\u676D\u5DDE_".concat(i),
32
+ height: i,
33
+ favorite2: "\u7BEE\u7403_".concat(i),
34
+ favorite: "\u8DB3\u7403_".concat(i),
35
+ sex: i % 3 === 0 ? '男' : '女'
36
+ };
37
+ arr.push(obj);
38
+ }
39
+
40
+ return arr;
41
+ };
42
+
43
+ var columns = [{
44
+ title: '姓名',
45
+ dataIndex: 'name',
46
+ key: 'name',
47
+ width: 100
48
+ }, {
49
+ title: '爱好',
50
+ dataIndex: 'favorite',
51
+ key: 'favorite',
52
+ width: 100
53
+ }, {
54
+ title: '爱好2',
55
+ dataIndex: 'favorite2',
56
+ key: 'favorite2',
57
+ width: 100
58
+ }, {
59
+ title: '年龄',
60
+ dataIndex: 'age',
61
+ key: 'age',
62
+ etype: 'number',
63
+ width: 100
64
+ }, {
65
+ title: '薪水',
66
+ dataIndex: 'height',
67
+ key: 'height',
68
+ etype: 'number',
69
+ width: 100,
70
+ expression: 'sum'
71
+ }, {
72
+ title: '住址',
73
+ dataIndex: 'address',
74
+ key: 'address',
75
+ width: 100
76
+ }];
77
+
78
+ var App = function App() {
79
+ var _useState = (0, _react.useState)([]),
80
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
81
+ dataSource = _useState2[0],
82
+ setDataSource = _useState2[1];
83
+
84
+ (0, _react.useEffect)(function () {
85
+ setTimeout(function () {
86
+ if (dataSource.length >= 500) {
87
+ return;
88
+ }
89
+
90
+ var data = createDataSource(dataSource.length);
91
+ setDataSource([].concat((0, _toConsumableArray2.default)(dataSource), (0, _toConsumableArray2.default)(data)));
92
+ }, 500);
93
+ }, [dataSource]);
94
+
95
+ var dataChange = function dataChange(newDataSource) {
96
+ setDataSource((0, _toConsumableArray2.default)(newDataSource));
97
+ };
98
+
99
+ var config = {
100
+ pagination: false,
101
+ scroll: {
102
+ y: 300
103
+ },
104
+ virtual: true,
105
+ hiddenPage: true
106
+ };
107
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
108
+ direction: "vertical",
109
+ style: {
110
+ width: '100%'
111
+ }
112
+ }, /*#__PURE__*/_react.default.createElement("div", null, "\u6570\u636E\u603B\u6570\uFF1A ", dataSource.length), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.LmTable, (0, _extends2.default)({}, config, {
113
+ dataSource: dataSource,
114
+ columns: columns // 表格行 key 的取值,可以是字符串或一个函数
115
+ ,
116
+ rowKey: "key",
117
+ size: "small",
118
+ dataChange: dataChange,
119
+ resizeable: true // 表头列宽度是否可拖动
120
+ ,
121
+ openRowGroup: true // 开启行分组
122
+ ,
123
+ rowGroupTitle: "\u884C\u5206\u7EC4\u6807\u9898",
124
+ openColGroup: true // 开启列分组
125
+ ,
126
+ colGroupTitle: "\u5217\u5206\u7EC4\u6807\u9898"
127
+ })));
128
+ };
129
+
130
+ var _default = App;
131
+ exports.default = _default;