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,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/extends"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/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;
@@ -43,6 +43,7 @@ var range = function range(start, end) {
43
43
  * @param {Array} data
44
44
  * @param {string} key
45
45
  * @return {Object}
46
+ * 时间复杂度O(n), 空间复杂度O(n)
46
47
  */
47
48
 
48
49
 
@@ -75,7 +76,7 @@ function dataGroup(data, key) {
75
76
  */
76
77
 
77
78
 
78
- function transformWithColGroup(columns, dataSource, groupColKeys) {
79
+ function transformWithColGroup(columns, dataSource, groupColKeys, groupRowKeys) {
79
80
  if (!Array.isArray(groupColKeys) || !groupColKeys.length) {
80
81
  return {
81
82
  columns: columns,
@@ -83,7 +84,19 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
83
84
  };
84
85
  }
85
86
 
86
- var columnsCopy = _lodash.default.cloneDeep(columns);
87
+ columns.forEach(function (c) {
88
+ if (groupRowKeys.includes(c.dataIndex)) {
89
+ c.show = false;
90
+ }
91
+ });
92
+
93
+ var columnsCopy = _lodash.default.cloneDeep(columns.filter(function (item) {
94
+ return item.joinCol;
95
+ }));
96
+
97
+ var unColumns = _lodash.default.cloneDeep(columns.filter(function (item) {
98
+ return !item.joinCol;
99
+ }));
87
100
 
88
101
  var dataSourceCopy = _lodash.default.cloneDeep(dataSource); // 去重
89
102
 
@@ -95,6 +108,7 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
95
108
  * @param {Array<string>} oGroup 数组,列分组的keys值
96
109
  * @param {string} markStr
97
110
  * @returns
111
+ * 2万条数据 393ms
98
112
  */
99
113
 
100
114
  var groupBy = function groupBy(source, columns, oGroup, markStr) {
@@ -131,6 +145,7 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
131
145
  };
132
146
 
133
147
  var tempColumns = groupBy(dataSourceCopy, columnsCopy, groupColKeysCopy, null);
148
+ tempColumns = unColumns.concat(tempColumns);
134
149
  var keyMap = new Map();
135
150
  var __index = 0;
136
151
 
@@ -210,6 +225,11 @@ function transformWithRowGroup(dataSource, groupRowKeys) {
210
225
  var i = 0;
211
226
  var map = lastFilter.reduce(function (acc, el) {
212
227
  var value = el[filterKey];
228
+
229
+ if (value === undefined) {
230
+ value = '-';
231
+ }
232
+
213
233
  acc[value] = [].concat((0, _toConsumableArray2.default)(acc[value] || []), [(0, _objectSpread2.default)((0, _objectSpread2.default)({}, el), {}, {
214
234
  __index: i
215
235
  })]);
@@ -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;
@@ -24,33 +24,62 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
24
24
  return t;
25
25
  };
26
26
 
27
- var VirtualRow = /*#__PURE__*/_react.default.memo(function (_a, ref) {
28
- var children = _a.children,
29
- resetProps = __rest(_a, ["children"]);
27
+ var useOptions = function useOptions(_ref) {
28
+ var children = _ref.children,
29
+ ref = _ref.ref,
30
+ trRef = _ref.trRef;
30
31
 
31
32
  var _useStore = (0, _context.useStore)(),
32
33
  state = _useStore.state,
33
34
  dispatch = _useStore.dispatch,
34
35
  instance = _useStore.instance;
35
36
 
37
+ var virtualItems = instance.columnVirtual.virtualItems;
36
38
  var rowHeight = state.rowHeight,
37
39
  totalLen = state.totalLen;
38
- var virtualItems = instance.columnVirtual.virtualItems;
39
- var trRef = (0, _react.useRef)(null); // 列长度
40
+ var sliceColumns = (0, _react.useMemo)(function () {
41
+ return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
42
+ var _a, _b;
40
43
 
41
- var columnsLen = (0, _react.useMemo)(function () {
42
- var _a;
44
+ if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
45
+ pre.leftColumns.push(cur);
46
+ return pre;
47
+ }
43
48
 
44
- return (_a = children === null || children === void 0 ? void 0 : children.length) !== null && _a !== void 0 ? _a : 0;
49
+ if (typeof ((_b = cur.props) === null || _b === void 0 ? void 0 : _b.fixRight) === 'number') {
50
+ pre.rightColumns.push(cur);
51
+ return pre;
52
+ }
53
+
54
+ pre.centerColumns.push(cur);
55
+ return pre;
56
+ }, {
57
+ leftColumns: [],
58
+ rightColumns: [],
59
+ centerColumns: []
60
+ });
45
61
  }, [children]);
46
62
  (0, _react.useEffect)(function () {
47
- if (state.columnsLen !== columnsLen) {
63
+ dispatch({
64
+ type: 'changeSliceColumns',
65
+ sliceColumns: sliceColumns
66
+ });
67
+ }, [sliceColumns]); // 非固定列长度
68
+
69
+ var centerColumnsLen = (0, _react.useMemo)(function () {
70
+ var _a;
71
+
72
+ return (_a = sliceColumns.centerColumns.length) !== null && _a !== void 0 ? _a : 0;
73
+ }, [sliceColumns]);
74
+ (0, _react.useEffect)(function () {
75
+ if (state.columnsLen !== centerColumnsLen) {
48
76
  dispatch({
49
77
  type: 'changeColumnsLen',
50
- columnsLen: columnsLen !== null && columnsLen !== void 0 ? columnsLen : 0
78
+ columnsLen: centerColumnsLen !== null && centerColumnsLen !== void 0 ? centerColumnsLen : 0
51
79
  });
52
80
  }
53
- }, [columnsLen, dispatch, state.columnsLen]);
81
+ }, [centerColumnsLen, dispatch, state.columnsLen]); // 获取行的高度
82
+
54
83
  (0, _react.useEffect)(function () {
55
84
  var initHeight = function initHeight(tempRef) {
56
85
  var _a, _b, _c;
@@ -59,56 +88,60 @@ var VirtualRow = /*#__PURE__*/_react.default.memo(function (_a, ref) {
59
88
  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;
60
89
  dispatch({
61
90
  type: 'initHeight',
62
- rowHeight: tempRowHeight
91
+ rowHeight: tempRowHeight + 1
63
92
  });
64
93
  }
65
94
  };
66
95
 
67
96
  initHeight(Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef);
68
- }, [trRef, dispatch, rowHeight, totalLen, ref]); // return {fixedLeft: [], fixedRight: [], columns: []}
69
-
70
- var fixedColumns = (0, _react.useMemo)(function () {
71
- return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
72
- var _a, _b;
97
+ }, [trRef, dispatch, rowHeight, totalLen, ref]); // 横向单元格合并
73
98
 
74
- if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
75
- pre.fixedLeft.push(cur);
76
- return pre;
77
- }
99
+ var leftColSpan = (0, _react.useMemo)(function () {
100
+ var _a;
78
101
 
79
- if (typeof ((_b = cur.props) === null || _b === void 0 ? void 0 : _b.fixRight) === 'number') {
80
- pre.fixedRight.push(cur);
81
- return pre;
82
- }
102
+ return (_a = virtualItems[0]) === null || _a === void 0 ? void 0 : _a.index;
103
+ }, [virtualItems]); // 右侧隐藏数量
104
+
105
+ var rightColSpan = (0, _react.useMemo)(function () {
106
+ return sliceColumns.centerColumns.length - virtualItems.length - leftColSpan || 0;
107
+ }, [sliceColumns.centerColumns.length, virtualItems.length, leftColSpan]);
108
+ return Object.assign(Object.assign({
109
+ virtualItems: virtualItems
110
+ }, sliceColumns), {
111
+ leftColSpan: leftColSpan,
112
+ rightColSpan: rightColSpan
113
+ });
114
+ };
83
115
 
84
- pre.columns.push(cur);
85
- return pre;
86
- }, {
87
- fixedLeft: [],
88
- fixedRight: [],
89
- columns: []
90
- });
91
- }, [children]); // 截取非固定列
116
+ var VirtualRow = /*#__PURE__*/_react.default.memo(function (_a, ref) {
117
+ var children = _a.children,
118
+ resetProps = __rest(_a, ["children"]);
92
119
 
93
- var resetVirtualItems = (0, _react.useMemo)(function () {
94
- var fixedLeft = fixedColumns.fixedLeft,
95
- columns = fixedColumns.columns;
96
- return virtualItems.slice(fixedLeft.length, fixedLeft.length + columns.length);
97
- }, [fixedColumns, virtualItems]); // 横线单元格合并
120
+ var trRef = (0, _react.useRef)(null);
98
121
 
99
- var colSpan = (0, _react.useMemo)(function () {
100
- var _a;
122
+ var _useOptions = useOptions({
123
+ children: children,
124
+ ref: ref,
125
+ trRef: trRef
126
+ }),
127
+ virtualItems = _useOptions.virtualItems,
128
+ leftColumns = _useOptions.leftColumns,
129
+ centerColumns = _useOptions.centerColumns,
130
+ rightColumns = _useOptions.rightColumns,
131
+ leftColSpan = _useOptions.leftColSpan,
132
+ rightColSpan = _useOptions.rightColSpan;
101
133
 
102
- var startIndex = ((_a = resetVirtualItems === null || resetVirtualItems === void 0 ? void 0 : resetVirtualItems[0]) === null || _a === void 0 ? void 0 : _a.index) || 0;
103
- return startIndex ? startIndex - fixedColumns.fixedLeft.length : startIndex;
104
- }, [fixedColumns, resetVirtualItems]);
105
134
  return /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, resetProps, {
106
135
  ref: Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef
107
- }), fixedColumns.fixedLeft, !!colSpan && /*#__PURE__*/_react.default.createElement("td", {
108
- colSpan: colSpan
109
- }), resetVirtualItems.map(function (virtualCol) {
110
- return children[virtualCol.index];
111
- }), fixedColumns.fixedRight);
136
+ }), leftColumns, !!leftColSpan && /*#__PURE__*/_react.default.createElement("td", {
137
+ key: "leftColSpan",
138
+ colSpan: leftColSpan
139
+ }), virtualItems.map(function (virtualCol) {
140
+ return centerColumns[virtualCol.index];
141
+ }), !!rightColSpan && /*#__PURE__*/_react.default.createElement("td", {
142
+ key: "rightColSpan",
143
+ colSpan: rightColSpan
144
+ }), rightColumns);
112
145
  });
113
146
 
114
147
  var _default = VirtualRow;
@@ -15,17 +15,38 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _reactVirtual = require("react-virtual");
17
17
 
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
18
20
  var _context = require("./context");
19
21
 
22
+ var _customRenderEmpty = _interopRequireDefault(require("../components/customRenderEmpty"));
23
+
24
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
25
+ var t = {};
26
+
27
+ for (var p in s) {
28
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
29
+ }
30
+
31
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
32
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+
20
37
  var VirtualTable = /*#__PURE__*/_react.default.memo(function (tableProps) {
21
38
  var _a, _b, _c, _d;
22
39
 
40
+ var className = tableProps.className,
41
+ isEmpty = tableProps.isEmpty,
42
+ rest = __rest(tableProps, ["className", "isEmpty"]);
43
+
23
44
  var bodyRef = (0, _react.useRef)(null);
24
45
 
25
46
  var _useRealive = (0, _context.useRealive)(),
26
47
  _useRealive2 = (0, _slicedToArray2.default)(_useRealive, 2),
27
48
  state = _useRealive2[0],
28
- dispatch = _useRealive2[1]; // { totalSize, virtualItems }
49
+ dispatch = _useRealive2[1]; // 行虚拟化 { totalSize, virtualItems }
29
50
 
30
51
 
31
52
  var rowVirtual = (0, _reactVirtual.useVirtual)({
@@ -38,18 +59,26 @@ var VirtualTable = /*#__PURE__*/_react.default.memo(function (tableProps) {
38
59
  return state.rowHeight;
39
60
  }, [state.rowHeight]),
40
61
  overscan: 5
41
- });
62
+ }); // 列动态宽度
63
+
64
+ var columnEstimateSize = (0, _react.useCallback)(function (i) {
65
+ var _a, _b;
66
+
67
+ 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;
68
+ var leftColumnsLen = state.sliceColumns.leftColumns.length;
69
+ var centerColumnsLen = state.sliceColumns.centerColumns.length; // 获取非固定列
70
+
71
+ var virList = colWidths.slice(leftColumnsLen, leftColumnsLen + centerColumnsLen);
72
+ return virList[i] || 0;
73
+ }, [(_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]); // 列虚拟化
74
+
42
75
  var columnVirtual = (0, _reactVirtual.useVirtual)({
43
76
  horizontal: true,
44
77
  size: state.columnsLen,
45
78
  parentRef: {
46
- current: (_b = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _b === void 0 ? void 0 : _b.parentNode
79
+ current: (_d = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _d === void 0 ? void 0 : _d.parentNode
47
80
  },
48
- estimateSize: _react.default.useCallback(function (i) {
49
- var _a, _b;
50
-
51
- 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];
52
- }, [(_d = (_c = tableProps.children[0]) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.colWidths]),
81
+ estimateSize: columnEstimateSize,
53
82
  overscan: 5
54
83
  });
55
84
  var instance = {
@@ -62,9 +91,13 @@ var VirtualTable = /*#__PURE__*/_react.default.memo(function (tableProps) {
62
91
  dispatch: dispatch,
63
92
  instance: instance
64
93
  }
65
- }, /*#__PURE__*/_react.default.createElement("table", Object.assign({
94
+ }, isEmpty ? /*#__PURE__*/_react.default.createElement("table", Object.assign({
95
+ className: (0, _classnames.default)('lm_virtual_table', className),
96
+ ref: bodyRef
97
+ }, rest), /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_customRenderEmpty.default, null))))) : /*#__PURE__*/_react.default.createElement("table", Object.assign({
98
+ className: (0, _classnames.default)('lm_virtual_table', className),
66
99
  ref: bodyRef
67
- }, tableProps)));
100
+ }, rest)));
68
101
  });
69
102
 
70
103
  var _default = VirtualTable;
@@ -25,13 +25,20 @@ var initialState = {
25
25
  rowHeight: 0,
26
26
  columnsLen: 0,
27
27
  // 总行数
28
- totalLen: 0
28
+ totalLen: 0,
29
+ // 分割后的列数组
30
+ sliceColumns: {
31
+ leftColumns: [],
32
+ centerColumns: [],
33
+ rightColumns: []
34
+ }
29
35
  };
30
36
 
31
37
  var reducer = function reducer(state, action) {
32
38
  var totalLen = action.totalLen,
33
39
  columnsLen = action.columnsLen,
34
- rowHeight = action.rowHeight;
40
+ rowHeight = action.rowHeight,
41
+ sliceColumns = action.sliceColumns;
35
42
 
36
43
  switch (action.type) {
37
44
  // 数据数量
@@ -52,6 +59,11 @@ var reducer = function reducer(state, action) {
52
59
  rowHeight: rowHeight
53
60
  });
54
61
 
62
+ case 'changeSliceColumns':
63
+ return Object.assign(Object.assign({}, state), {
64
+ sliceColumns: sliceColumns
65
+ });
66
+
55
67
  default:
56
68
  throw new Error();
57
69
  }
@@ -382,7 +382,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
382
382
 
383
383
  var filesLoopCheck = (0, _react.useCallback)(function (files) {
384
384
  return Promise.all(files.map(fileCheckAsync));
385
- }, []);
385
+ }, [fileCheckAsync]);
386
386
  /*
387
387
  * 上传前: 先校验 => 全部校验通过后开始上传
388
388
  * 事件执行顺序:
@@ -58,12 +58,12 @@ var CLMModal = function CLMModal(props) {
58
58
  cancelText = props.cancelText;
59
59
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, Object.assign({
60
60
  onClick: onCancel,
61
- key: 'canncel_button',
61
+ key: "canncel_button",
62
62
  size: defaultFooterSize
63
63
  }, props.cancelButtonProps), cancelText || contextLocale.cancelText), /*#__PURE__*/_react.default.createElement(_Button.default, Object.assign({
64
64
  type: "primary",
65
65
  onClick: onOk,
66
- key: 'ok_button',
66
+ key: "ok_button",
67
67
  size: defaultFooterSize
68
68
  }, props.okButtonProps), okText !== null && okText !== void 0 ? okText : contextLocale.okText));
69
69
  });
@@ -113,7 +113,14 @@ LMModal.warn = function (props) {
113
113
  };
114
114
 
115
115
  LMModal.confirm = function (props) {
116
- return _modal.default.confirm(Object.assign(Object.assign({}, props), {
116
+ var okText = props.okText,
117
+ cancelText = props.cancelText,
118
+ resetProps = __rest(props, ["okText", "cancelText"]);
119
+
120
+ var runtimeLocale = (0, _locale.getConfirmLocale)();
121
+ return _modal.default.confirm(Object.assign(Object.assign({}, resetProps), {
122
+ okText: okText || (props.okCancel ? runtimeLocale.okText : runtimeLocale.justOkText),
123
+ cancelText: cancelText || runtimeLocale.cancelText,
117
124
  wrapClassName: (0, _classnames.default)(props.wrapClassName, prefixCls, 'lm_modal_info')
118
125
  }));
119
126
  };
@@ -19,13 +19,21 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _react = _interopRequireDefault(require("react"));
21
21
 
22
- var _excluded = ["children"],
22
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
23
+
24
+ var _excluded = ["children", "disabled"],
23
25
  _excluded2 = ["children", "size", "buttonStyle", "direction", "className"];
24
26
 
25
27
  var LMRadio = function LMRadio(props) {
26
28
  var children = props.children,
29
+ customDisabled = props.disabled,
27
30
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
31
+
32
+ var disabled = _react.default.useContext(_DisabledContext.default);
33
+
34
+ var mergedDisabled = customDisabled || disabled;
28
35
  return /*#__PURE__*/_react.default.createElement(_radio.default, (0, _extends2.default)({
36
+ disabled: mergedDisabled,
29
37
  className: "lm-radio"
30
38
  }, restProps), children);
31
39
  };
@@ -17,6 +17,8 @@ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
21
+
20
22
  var __rest = void 0 && (void 0).__rest || function (s, e) {
21
23
  var t = {};
22
24
 
@@ -34,11 +36,16 @@ var Switch = function Switch(props) {
34
36
  var _props$size = props.size,
35
37
  size = _props$size === void 0 ? 'default' : _props$size,
36
38
  className = props.className,
37
- restProps = __rest(props, ["size", "className"]);
39
+ customDisabled = props.disabled,
40
+ restProps = __rest(props, ["size", "className", "disabled"]);
41
+
42
+ var disabled = _react.default.useContext(_DisabledContext.default);
38
43
 
44
+ var mergedDisabled = customDisabled || disabled;
39
45
  var classs = (0, _classnames.default)('lm-switch', className, (0, _defineProperty2.default)({}, "lm-switch-".concat(size), size));
40
46
  return /*#__PURE__*/_react.default.createElement(_switch.default, Object.assign({
41
- className: classs
47
+ className: classs,
48
+ disabled: mergedDisabled
42
49
  }, restProps, {
43
50
  size: size
44
51
  }));
@@ -17,7 +17,7 @@ function useEvent(handler) {
17
17
 
18
18
  return (0, _react.useCallback)(function () {
19
19
  var fn = handlerRef.current;
20
- return fn.apply(void 0, arguments);
20
+ return fn === null || fn === void 0 ? void 0 : fn.apply(void 0, arguments);
21
21
  }, []);
22
22
  }
23
23
 
package/lib/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';
@@ -21,7 +21,7 @@ var _memoizeOne = _interopRequireDefault(require("memoize-one"));
21
21
 
22
22
  var React = _interopRequireWildcard(require("react"));
23
23
 
24
- var _locale = require("antd/es/modal/locale");
24
+ var _locale = require("../Modal/locale");
25
25
 
26
26
  var _warning = _interopRequireDefault(require("../_util/warning"));
27
27