linkmore-design 1.0.91 → 1.0.93

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 (315) hide show
  1. package/dist/AutoComplete/index.d.ts +2 -1
  2. package/dist/CardTable/hooks/usePagination.d.ts +1 -1
  3. package/dist/CardTable/utils.d.ts +1 -1
  4. package/dist/LmFilter/components/CascaderFilter.d.ts +1 -1
  5. package/dist/LmFilter/components/CheckboxFilter.d.ts +1 -1
  6. package/dist/LmFilter/components/DateFilter.d.ts +1 -1
  7. package/dist/LmFilter/components/SelectFilter.d.ts +1 -1
  8. package/dist/LmSelect/useCheckboxOptions.d.ts +1 -1
  9. package/dist/_util/placements.d.ts +0 -1
  10. package/dist/index.umd.css +4454 -67964
  11. package/dist/index.umd.js +193645 -223476
  12. package/dist/index.umd.min.css +2 -2
  13. package/dist/index.umd.min.js +21 -21
  14. package/es/AutoComplete/index.d.ts +2 -1
  15. package/es/Box/style/index.js +3 -0
  16. package/es/Box/style/variables.js +3 -0
  17. package/es/ButtonTags/ButtonTags.js +59 -0
  18. package/es/ButtonTags/index.js +13 -0
  19. package/es/ButtonTags/style/index.js +3 -0
  20. package/es/ButtonTags/style/variables.js +3 -0
  21. package/es/CardTable/LmCardTable.js +63 -0
  22. package/es/CardTable/body/TableBody.js +78 -0
  23. package/es/CardTable/body/TableBodyCell.js +67 -0
  24. package/es/CardTable/body/TableBodyRow.js +91 -0
  25. package/es/CardTable/card/PictureTextColumn.js +132 -0
  26. package/es/CardTable/card/PictureTextRow.js +153 -0
  27. package/es/CardTable/card/PictureTextRowOperate.js +146 -0
  28. package/es/CardTable/context.js +20 -0
  29. package/es/CardTable/empty.js +24 -0
  30. package/es/CardTable/fns/index.js +160 -0
  31. package/es/CardTable/footer.js +59 -0
  32. package/es/CardTable/hooks/usePagination.js +128 -0
  33. package/es/CardTable/index.js +17 -0
  34. package/es/CardTable/pager/TablePagination.js +62 -0
  35. package/es/CardTable/pager/index.js +48 -0
  36. package/es/CardTable/style/index.js +3 -0
  37. package/es/CardTable/style/variables.js +3 -0
  38. package/es/CardTable/table/Table.js +27 -0
  39. package/es/CardTable/table/TableContainer.js +97 -0
  40. package/es/CardTable/table/TableRoot.js +210 -0
  41. package/es/CardTable/table/TableWrapper.js +40 -0
  42. package/es/CardTable/toolbar/ToolBarBottom.js +28 -0
  43. package/es/CardTable/utils.js +31 -0
  44. package/es/Checkbox/index.js +47 -0
  45. package/es/Checkbox/style/index.js +3 -0
  46. package/es/Checkbox/style/variables.js +3 -0
  47. package/es/ConfigProvider/style/index.js +3 -0
  48. package/es/ConfigProvider/style/variables.js +3 -0
  49. package/es/CustomerService/components/question.js +120 -0
  50. package/es/CustomerService/index.js +291 -0
  51. package/es/CustomerService/style/index.js +3 -0
  52. package/es/CustomerService/style/variables.js +3 -0
  53. package/es/EditTable/EditTable.js +704 -0
  54. package/es/EditTable/index.js +13 -0
  55. package/es/EditTable/style/index.js +3 -0
  56. package/es/EditTable/style/variables.js +3 -0
  57. package/es/EnlargeImg/index.js +109 -0
  58. package/es/EnlargeImg/style/index.js +3 -0
  59. package/es/EnlargeImg/style/variables.js +3 -0
  60. package/es/Filter/Popover.js +199 -0
  61. package/es/Filter/baseFilter/Popover.js +213 -0
  62. package/es/Filter/baseFilter/ToggleFilter.js +111 -0
  63. package/es/Filter/baseFilter/index.js +100 -0
  64. package/es/Filter/complex/ComplexFilter.js +149 -0
  65. package/es/Filter/complex/ComplexItem.js +157 -0
  66. package/es/Filter/components/Checkbox.js +94 -0
  67. package/es/Filter/components/Date.js +87 -0
  68. package/es/Filter/components/Input.js +63 -0
  69. package/es/Filter/components/Select.js +89 -0
  70. package/es/Filter/components/Tree.js +64 -0
  71. package/es/Filter/components/header.js +60 -0
  72. package/es/Filter/components/index.js +47 -0
  73. package/es/Filter/context.js +15 -0
  74. package/es/Filter/edit/editFilter.js +273 -0
  75. package/es/Filter/index.js +174 -0
  76. package/es/Filter/popContext.js +15 -0
  77. package/es/Filter/remember.js +136 -0
  78. package/es/Filter/style/index.js +3 -0
  79. package/es/Filter/style/variables.js +3 -0
  80. package/es/Icon/index.js +20 -0
  81. package/es/Icon/style/index.js +3 -0
  82. package/es/Icon/style/variables.js +3 -0
  83. package/es/IconFont/font/iconfont.js +48 -0
  84. package/es/IconFont/style/index.js +3 -0
  85. package/es/IconFont/style/variables.js +3 -0
  86. package/es/IconSelect/index.js +115 -0
  87. package/es/IconSelect/style/index.js +3 -0
  88. package/es/IconSelect/style/variables.js +3 -0
  89. package/es/ImageViewer/style/index.js +3 -0
  90. package/es/ImageViewer/style/variables.js +3 -0
  91. package/es/Input/style/variables.css +0 -511
  92. package/es/LeftTable/index.js +184 -0
  93. package/es/LeftTable/style/index.js +3 -0
  94. package/es/LeftTable/style/variables.js +3 -0
  95. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  96. package/es/LmFilter/Controls/index.js +78 -0
  97. package/es/LmFilter/LmFilter.js +69 -0
  98. package/es/LmFilter/baseFilter/fuzzySearch.js +69 -0
  99. package/es/LmFilter/baseFilter/index.js +33 -0
  100. package/es/LmFilter/clearFilter/index.js +31 -0
  101. package/es/LmFilter/complexFilter/drawer.js +381 -0
  102. package/es/LmFilter/complexFilter/index.js +64 -0
  103. package/es/LmFilter/complexFilter/valueDrawer.js +235 -0
  104. package/es/LmFilter/components/CascaderFilter.js +160 -0
  105. package/es/LmFilter/components/CheckboxFilter.js +189 -0
  106. package/es/LmFilter/components/CustomSelectFilter.js +139 -0
  107. package/es/LmFilter/components/DateFilter.js +163 -0
  108. package/es/LmFilter/components/DropdownFIlter.js +264 -0
  109. package/es/LmFilter/components/EmptyFilter.js +27 -0
  110. package/es/LmFilter/components/InputFilter.js +51 -0
  111. package/es/LmFilter/components/InputSearchClose.js +74 -0
  112. package/es/LmFilter/components/SelectFilter.js +121 -0
  113. package/es/LmFilter/components/index.js +93 -0
  114. package/es/LmFilter/customFilter/drawer.js +409 -0
  115. package/es/LmFilter/customFilter/index.js +136 -0
  116. package/es/LmFilter/customFilter/saveModal.js +185 -0
  117. package/es/LmFilter/customFilter/valueDrawer.js +232 -0
  118. package/es/LmFilter/filterFns/index.js +644 -0
  119. package/es/LmFilter/hooks/index.js +18 -0
  120. package/es/LmFilter/hooks/useDelayedFn.js +29 -0
  121. package/es/LmFilter/index.js +16 -0
  122. package/es/LmFilter/style/index.js +3 -0
  123. package/es/LmFilter/style/variables.js +3 -0
  124. package/es/LmFilter/utils.js +173 -0
  125. package/es/LmFilter/wrapper/Filter.js +41 -0
  126. package/es/LmFilter/wrapper/FilterContainer.js +25 -0
  127. package/es/LmFilter/wrapper/FilterRoot.js +208 -0
  128. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  129. package/es/LmSelect/useCheckboxOptions.d.ts +1 -1
  130. package/es/LmTable/Table.js +1385 -0
  131. package/es/LmTable/VList.js +594 -0
  132. package/es/LmTable/autosize.js +167 -0
  133. package/es/LmTable/components/sortableBoxCol.js +24 -0
  134. package/es/LmTable/components/sortableItemCol.js +54 -0
  135. package/es/LmTable/context.js +12 -0
  136. package/es/LmTable/detectElementResize.js +225 -0
  137. package/es/LmTable/index.js +14 -0
  138. package/es/LmTable/resetConfig.js +39 -0
  139. package/es/LmTable/style/index.js +3 -0
  140. package/es/LmTable/style/variables.js +3 -0
  141. package/es/LmTable/util.js +211 -0
  142. package/es/LmUpload/style/index.js +3 -0
  143. package/es/LmUpload/style/variables.js +3 -0
  144. package/es/LoadingPage/index.js +33 -0
  145. package/es/LoadingPage/style/index.js +3 -0
  146. package/es/LoadingPage/style/variables.js +3 -0
  147. package/es/Radio/index.js +50 -0
  148. package/es/Radio/style/index.js +3 -0
  149. package/es/Radio/style/variables.js +3 -0
  150. package/es/TestTable/style/index.js +3 -0
  151. package/es/TestTable/style/variables.js +3 -0
  152. package/es/UploadOss/index.js +18 -0
  153. package/es/UploadOss/style/index.js +3 -0
  154. package/es/UploadOss/style/variables.js +3 -0
  155. package/es/UploadOss/uploadBtn.js +141 -0
  156. package/es/UploadOss/uploadImg.js +282 -0
  157. package/es/VirtualList/index.js +85 -0
  158. package/es/VirtualList/style/index.js +3 -0
  159. package/es/VirtualList/style/variables.js +3 -0
  160. package/es/_util/placements.d.ts +0 -1
  161. package/es/services/newRequest.js +201 -0
  162. package/es/services/utils.js +72 -0
  163. package/es/styles/variables.css +0 -347
  164. package/lib/AutoComplete/index.d.ts +2 -1
  165. package/lib/Box/style/index.js +3 -0
  166. package/lib/Box/style/variables.js +3 -0
  167. package/lib/ButtonTags/ButtonTags.js +59 -0
  168. package/lib/ButtonTags/index.js +13 -0
  169. package/lib/ButtonTags/style/index.js +3 -0
  170. package/lib/ButtonTags/style/variables.js +3 -0
  171. package/lib/CardTable/LmCardTable.js +63 -0
  172. package/lib/CardTable/body/TableBody.js +78 -0
  173. package/lib/CardTable/body/TableBodyCell.js +67 -0
  174. package/lib/CardTable/body/TableBodyRow.js +91 -0
  175. package/lib/CardTable/card/PictureTextColumn.js +132 -0
  176. package/lib/CardTable/card/PictureTextRow.js +153 -0
  177. package/lib/CardTable/card/PictureTextRowOperate.js +146 -0
  178. package/lib/CardTable/context.js +20 -0
  179. package/lib/CardTable/empty.js +24 -0
  180. package/lib/CardTable/fns/index.js +160 -0
  181. package/lib/CardTable/footer.js +59 -0
  182. package/lib/CardTable/hooks/usePagination.js +128 -0
  183. package/lib/CardTable/index.js +17 -0
  184. package/lib/CardTable/pager/TablePagination.js +62 -0
  185. package/lib/CardTable/pager/index.js +48 -0
  186. package/lib/CardTable/style/index.js +3 -0
  187. package/lib/CardTable/style/variables.js +3 -0
  188. package/lib/CardTable/table/Table.js +27 -0
  189. package/lib/CardTable/table/TableContainer.js +97 -0
  190. package/lib/CardTable/table/TableRoot.js +210 -0
  191. package/lib/CardTable/table/TableWrapper.js +40 -0
  192. package/lib/CardTable/toolbar/ToolBarBottom.js +28 -0
  193. package/lib/CardTable/utils.js +31 -0
  194. package/lib/Checkbox/index.js +47 -0
  195. package/lib/Checkbox/style/index.js +3 -0
  196. package/lib/Checkbox/style/variables.js +3 -0
  197. package/lib/ConfigProvider/style/index.js +3 -0
  198. package/lib/ConfigProvider/style/variables.js +3 -0
  199. package/lib/CustomerService/components/question.js +120 -0
  200. package/lib/CustomerService/index.js +291 -0
  201. package/lib/CustomerService/style/index.js +3 -0
  202. package/lib/CustomerService/style/variables.js +3 -0
  203. package/lib/EditTable/EditTable.js +704 -0
  204. package/lib/EditTable/index.js +13 -0
  205. package/lib/EditTable/style/index.js +3 -0
  206. package/lib/EditTable/style/variables.js +3 -0
  207. package/lib/EnlargeImg/index.js +109 -0
  208. package/lib/EnlargeImg/style/index.js +3 -0
  209. package/lib/EnlargeImg/style/variables.js +3 -0
  210. package/lib/Filter/Popover.js +199 -0
  211. package/lib/Filter/baseFilter/Popover.js +213 -0
  212. package/lib/Filter/baseFilter/ToggleFilter.js +111 -0
  213. package/lib/Filter/baseFilter/index.js +100 -0
  214. package/lib/Filter/complex/ComplexFilter.js +149 -0
  215. package/lib/Filter/complex/ComplexItem.js +157 -0
  216. package/lib/Filter/components/Checkbox.js +94 -0
  217. package/lib/Filter/components/Date.js +87 -0
  218. package/lib/Filter/components/Input.js +63 -0
  219. package/lib/Filter/components/Select.js +89 -0
  220. package/lib/Filter/components/Tree.js +64 -0
  221. package/lib/Filter/components/header.js +60 -0
  222. package/lib/Filter/components/index.js +47 -0
  223. package/lib/Filter/context.js +15 -0
  224. package/lib/Filter/edit/editFilter.js +273 -0
  225. package/lib/Filter/index.js +174 -0
  226. package/lib/Filter/popContext.js +15 -0
  227. package/lib/Filter/remember.js +136 -0
  228. package/lib/Filter/style/index.js +3 -0
  229. package/lib/Filter/style/variables.js +3 -0
  230. package/lib/Icon/index.js +20 -0
  231. package/lib/Icon/style/index.js +3 -0
  232. package/lib/Icon/style/variables.js +3 -0
  233. package/lib/IconFont/font/iconfont.js +48 -0
  234. package/lib/IconFont/style/index.js +3 -0
  235. package/lib/IconFont/style/variables.js +3 -0
  236. package/lib/IconSelect/index.js +115 -0
  237. package/lib/IconSelect/style/index.js +3 -0
  238. package/lib/IconSelect/style/variables.js +3 -0
  239. package/lib/ImageViewer/style/index.js +3 -0
  240. package/lib/ImageViewer/style/variables.js +3 -0
  241. package/lib/Input/style/variables.css +0 -511
  242. package/lib/LeftTable/index.js +184 -0
  243. package/lib/LeftTable/style/index.js +3 -0
  244. package/lib/LeftTable/style/variables.js +3 -0
  245. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  246. package/lib/LmFilter/Controls/index.js +78 -0
  247. package/lib/LmFilter/LmFilter.js +69 -0
  248. package/lib/LmFilter/baseFilter/fuzzySearch.js +69 -0
  249. package/lib/LmFilter/baseFilter/index.js +33 -0
  250. package/lib/LmFilter/clearFilter/index.js +31 -0
  251. package/lib/LmFilter/complexFilter/drawer.js +381 -0
  252. package/lib/LmFilter/complexFilter/index.js +64 -0
  253. package/lib/LmFilter/complexFilter/valueDrawer.js +235 -0
  254. package/lib/LmFilter/components/CascaderFilter.js +160 -0
  255. package/lib/LmFilter/components/CheckboxFilter.js +189 -0
  256. package/lib/LmFilter/components/CustomSelectFilter.js +139 -0
  257. package/lib/LmFilter/components/DateFilter.js +163 -0
  258. package/lib/LmFilter/components/DropdownFIlter.js +264 -0
  259. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  260. package/lib/LmFilter/components/InputFilter.js +51 -0
  261. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  262. package/lib/LmFilter/components/SelectFilter.js +121 -0
  263. package/lib/LmFilter/components/index.js +93 -0
  264. package/lib/LmFilter/customFilter/drawer.js +409 -0
  265. package/lib/LmFilter/customFilter/index.js +136 -0
  266. package/lib/LmFilter/customFilter/saveModal.js +185 -0
  267. package/lib/LmFilter/customFilter/valueDrawer.js +232 -0
  268. package/lib/LmFilter/filterFns/index.js +644 -0
  269. package/lib/LmFilter/hooks/index.js +18 -0
  270. package/lib/LmFilter/hooks/useDelayedFn.js +29 -0
  271. package/lib/LmFilter/index.js +16 -0
  272. package/lib/LmFilter/style/index.js +3 -0
  273. package/lib/LmFilter/style/variables.js +3 -0
  274. package/lib/LmFilter/utils.js +173 -0
  275. package/lib/LmFilter/wrapper/Filter.js +41 -0
  276. package/lib/LmFilter/wrapper/FilterContainer.js +25 -0
  277. package/lib/LmFilter/wrapper/FilterRoot.js +208 -0
  278. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  279. package/lib/LmSelect/useCheckboxOptions.d.ts +1 -1
  280. package/lib/LmTable/Table.js +1385 -0
  281. package/lib/LmTable/VList.js +594 -0
  282. package/lib/LmTable/autosize.js +167 -0
  283. package/lib/LmTable/components/sortableBoxCol.js +24 -0
  284. package/lib/LmTable/components/sortableItemCol.js +54 -0
  285. package/lib/LmTable/context.js +12 -0
  286. package/lib/LmTable/detectElementResize.js +225 -0
  287. package/lib/LmTable/index.js +14 -0
  288. package/lib/LmTable/resetConfig.js +39 -0
  289. package/lib/LmTable/style/index.js +3 -0
  290. package/lib/LmTable/style/variables.js +3 -0
  291. package/lib/LmTable/util.js +211 -0
  292. package/lib/LmUpload/style/index.js +3 -0
  293. package/lib/LmUpload/style/variables.js +3 -0
  294. package/lib/LoadingPage/index.js +33 -0
  295. package/lib/LoadingPage/style/index.js +3 -0
  296. package/lib/LoadingPage/style/variables.js +3 -0
  297. package/lib/Radio/index.js +50 -0
  298. package/lib/Radio/style/index.js +3 -0
  299. package/lib/Radio/style/variables.js +3 -0
  300. package/lib/TestTable/style/index.js +3 -0
  301. package/lib/TestTable/style/variables.js +3 -0
  302. package/lib/UploadOss/index.js +18 -0
  303. package/lib/UploadOss/style/index.js +3 -0
  304. package/lib/UploadOss/style/variables.js +3 -0
  305. package/lib/UploadOss/uploadBtn.js +141 -0
  306. package/lib/UploadOss/uploadImg.js +282 -0
  307. package/lib/VirtualList/index.js +85 -0
  308. package/lib/VirtualList/style/index.js +3 -0
  309. package/lib/VirtualList/style/variables.js +3 -0
  310. package/lib/_util/placements.d.ts +0 -1
  311. package/lib/services/newRequest.js +201 -0
  312. package/lib/services/utils.js +72 -0
  313. package/lib/styles/variables.css +0 -347
  314. package/package.json +1 -1
  315. package/CHANGELOG.md +0 -12
@@ -0,0 +1,1385 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.Summary = void 0;
11
+
12
+ require("antd/es/config-provider/style");
13
+
14
+ var _configProvider = _interopRequireDefault(require("antd/es/config-provider"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
17
+
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
19
+
20
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
21
+
22
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
23
+
24
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
25
+
26
+ var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
27
+
28
+ var _sortable = require("@dnd-kit/sortable");
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _lodash = require("lodash");
33
+
34
+ var _react = _interopRequireWildcard(require("react"));
35
+
36
+ var _reactResizable = require("react-resizable");
37
+
38
+ var _immer = require("immer");
39
+
40
+ var _reactSortableHoc = require("react-sortable-hoc");
41
+
42
+ var _IconFont = _interopRequireDefault(require("../IconFont"));
43
+
44
+ var _Empty = _interopRequireDefault(require("../Empty"));
45
+
46
+ var _DndContainer = _interopRequireDefault(require("./components/DndContainer"));
47
+
48
+ var _sortableBoxCol = _interopRequireDefault(require("./components/sortableBoxCol"));
49
+
50
+ var _sortableItemCol = _interopRequireDefault(require("./components/sortableItemCol"));
51
+
52
+ var _sheelTableCell = _interopRequireDefault(require("./components/sheelTableCell"));
53
+
54
+ var _tableChartsModal = _interopRequireDefault(require("./components/tableChartsModal"));
55
+
56
+ var _customRenderEmpty = _interopRequireDefault(require("./components/customRenderEmpty"));
57
+
58
+ var _util = require("./util");
59
+
60
+ var _resetConfig = _interopRequireDefault(require("./resetConfig"));
61
+
62
+ var _virTual = require("./virTual");
63
+
64
+ var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupInfo", "emptyProps", "columnKeys"],
65
+ _excluded2 = ["className", "style"],
66
+ _excluded3 = ["onResize", "width", "onResizeStop"];
67
+ var Summary = _proTable.default.Summary;
68
+ exports.Summary = Summary;
69
+
70
+ var isEmpty = function isEmpty(obj) {
71
+ var _Object$keys;
72
+
73
+ return ((_Object$keys = Object.keys(obj || {})) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) === 0;
74
+ };
75
+
76
+ var defaultParsePaste = function defaultParsePaste(str) {
77
+ return str.split(/\r\n|\n|\r/).map(function (row) {
78
+ return row.split('\t');
79
+ });
80
+ };
81
+
82
+ var range = function range(start, end) {
83
+ var array = [];
84
+ var inc = end - start > 0;
85
+
86
+ for (var i = start; inc ? i <= end : i >= end; inc ? i++ : i--) {
87
+ inc ? array.push(i) : array.unshift(i);
88
+ }
89
+
90
+ return array;
91
+ }; // const DragHandle = SortableHandle(() => <MenuOutlined style={{ cursor: 'grab', color: '#999' }} />);
92
+
93
+
94
+ var DragHandle = (0, _reactSortableHoc.SortableHandle)(function () {
95
+ return /*#__PURE__*/_react.default.createElement(_IconFont.default, {
96
+ type: "lmweb-icon-m-receipt1",
97
+ style: {
98
+ cursor: 'move',
99
+ fontSize: '16px'
100
+ }
101
+ });
102
+ });
103
+ var sortDefaultColumnItem = {
104
+ title: '排序',
105
+ dataIndex: 'sort',
106
+ width: 48,
107
+ maxWidth: 48,
108
+ className: 'drag-visible',
109
+ render: function render() {
110
+ return /*#__PURE__*/_react.default.createElement(DragHandle, null);
111
+ }
112
+ };
113
+ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
114
+ var customizeColumns = props.columns,
115
+ customizeDataSource = props.dataSource,
116
+ autoSize = props.autoSize,
117
+ rowClick = props.rowClick,
118
+ _onDoubleClick = props.onDoubleClick,
119
+ checkConfig = props.checkConfig,
120
+ _summary = props.summary,
121
+ pagination = props.pagination,
122
+ hiddenPage = props.hiddenPage,
123
+ loading = props.loading,
124
+ _props$virtual = props.virtual,
125
+ virtual = _props$virtual === void 0 ? false : _props$virtual,
126
+ _props$sortOpen = props.sortOpen,
127
+ sortOpen = _props$sortOpen === void 0 ? false : _props$sortOpen,
128
+ _props$colSortOpen = props.colSortOpen,
129
+ colSortOpen = _props$colSortOpen === void 0 ? false : _props$colSortOpen,
130
+ _props$resizeable = props.resizeable,
131
+ resizeable = _props$resizeable === void 0 ? false : _props$resizeable,
132
+ customCheck = props.customCheck,
133
+ components = props.components,
134
+ rowSelection = props.rowSelection,
135
+ columnsState = props.columnsState,
136
+ onChange = props.onChange,
137
+ filterChange = props.filterChange,
138
+ _props$tableRowType = props.tableRowType,
139
+ tableRowType = _props$tableRowType === void 0 ? 'default' : _props$tableRowType,
140
+ _props$size = props.size,
141
+ size = _props$size === void 0 ? 'default' : _props$size,
142
+ _props$openSheet = props.openSheet,
143
+ openSheet = _props$openSheet === void 0 ? false : _props$openSheet,
144
+ _props$editSheet = props.editSheet,
145
+ editSheet = _props$editSheet === void 0 ? false : _props$editSheet,
146
+ dataChange = props.dataChange,
147
+ groupInfo = props.groupInfo,
148
+ emptyProps = props.emptyProps,
149
+ columnKeys = props.columnKeys,
150
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
151
+ var _resetProps$rowKey = resetProps.rowKey,
152
+ rowKey = _resetProps$rowKey === void 0 ? 'id' : _resetProps$rowKey;
153
+
154
+ var _useState = (0, _react.useState)({
155
+ selectedRows: []
156
+ }),
157
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
158
+ useSelectedRows = _useState2[0],
159
+ setSelectedRows = _useState2[1]; // 复选中的值
160
+
161
+
162
+ var _useState3 = (0, _react.useState)(''),
163
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
164
+ useActiveKey = _useState4[0],
165
+ setActiveKey = _useState4[1]; // 行选中
166
+
167
+
168
+ var _useState5 = (0, _react.useState)([]),
169
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
170
+ useColumns = _useState6[0],
171
+ setColumns = _useState6[1];
172
+
173
+ var tableWarpRef = (0, _react.useRef)(null);
174
+ var dataSourceRef = (0, _react.useRef)(null);
175
+ /** 右键的ref */
176
+
177
+ var contentMenuRef = (0, _react.useRef)(null);
178
+ /** 当前展开的列 */
179
+
180
+ var _useState7 = (0, _react.useState)([]),
181
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
182
+ expandedRowKeys = _useState8[0],
183
+ setExpandedRowKeys = _useState8[1];
184
+
185
+ var deepDataSourceRef = (0, _react.useRef)([]);
186
+ /** 行分组 */
187
+
188
+ var groupDataSource = (0, _react.useMemo)(function () {
189
+ if (!(groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length)) {
190
+ return customizeDataSource;
191
+ }
192
+
193
+ return (0, _util.transformWithRowGroup)(customizeDataSource, groupInfo);
194
+ }, [customizeDataSource, groupInfo]);
195
+ /** 列分组 */
196
+
197
+ var _useMemo = (0, _react.useMemo)(function () {
198
+ if (!(columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length)) {
199
+ return {
200
+ dataSource: groupDataSource,
201
+ columns: customizeColumns
202
+ };
203
+ }
204
+
205
+ return (0, _util.transformWithColGroup)(customizeColumns, groupDataSource, columnKeys);
206
+ }, [customizeColumns, groupDataSource, columnKeys]),
207
+ columns = _useMemo.columns,
208
+ dataSource = _useMemo.dataSource;
209
+
210
+ (0, _react.useEffect)(function () {
211
+ setExpandedRowKeys([]);
212
+ }, [groupInfo]);
213
+ /** sheel数据的表格 */
214
+
215
+ var _useState9 = (0, _react.useState)({
216
+ start: {},
217
+ end: {},
218
+ selecting: false,
219
+ forceEdit: false,
220
+ editing: {},
221
+ clear: {},
222
+ commiting: {}
223
+ }),
224
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
225
+ sheelStataus = _useState10[0],
226
+ setSheelStatus = _useState10[1];
227
+
228
+ var shellStatusRef = (0, _react.useRef)({
229
+ start: {},
230
+ end: {},
231
+ selecting: false,
232
+ forceEdit: false,
233
+ editing: {},
234
+ clear: {},
235
+ commiting: {}
236
+ });
237
+
238
+ var _useState11 = (0, _react.useState)(false),
239
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
240
+ selectIng = _useState12[0],
241
+ setSelectIng = _useState12[1];
242
+
243
+ var _useState13 = (0, _react.useState)(false),
244
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
245
+ editIng = _useState14[0],
246
+ setEditIng = _useState14[1];
247
+
248
+ var _useState15 = (0, _react.useState)(false),
249
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
250
+ commitIng = _useState16[0],
251
+ setCommitIng = _useState16[1];
252
+ /** 右键菜单是否显示 */
253
+
254
+
255
+ var _useState17 = (0, _react.useState)(false),
256
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
257
+ contextMenuStatus = _useState18[0],
258
+ setContextMenuStatus = _useState18[1];
259
+ /** 右键按钮的位置 */
260
+
261
+
262
+ var _useState19 = (0, _react.useState)({
263
+ position: 'fixed',
264
+ left: 300,
265
+ top: 200
266
+ }),
267
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
268
+ style = _useState20[0],
269
+ setStyle = _useState20[1];
270
+
271
+ var _useState21 = (0, _react.useState)(null),
272
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
273
+ chartsModalStatus = _useState22[0],
274
+ setChartsModalStatus = _useState22[1]; // 列设置
275
+
276
+
277
+ var _useState23 = (0, _react.useState)(false),
278
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
279
+ columnsStateMap = _useState24[0],
280
+ setColumnsStateMap = _useState24[1];
281
+
282
+ var SortableItem = (0, _reactSortableHoc.SortableElement)(function (props) {
283
+ return /*#__PURE__*/_react.default.createElement("tr", props);
284
+ });
285
+ var SortContainer = (0, _reactSortableHoc.SortableContainer)(function (props) {
286
+ return /*#__PURE__*/_react.default.createElement("tbody", props);
287
+ });
288
+ (0, _react.useEffect)(function () {
289
+ dataSourceRef.current = dataSource;
290
+ }, [dataSource]);
291
+ (0, _react.useEffect)(function () {
292
+ var source = [];
293
+
294
+ var deepChildren = function deepChildren(arr) {
295
+ arr.forEach(function (item) {
296
+ source.push((0, _lodash.omit)(item, 'children'));
297
+
298
+ if ((item === null || item === void 0 ? void 0 : item.children) && expandedRowKeys.includes(item.key)) {
299
+ deepChildren(item === null || item === void 0 ? void 0 : item.children);
300
+ }
301
+ });
302
+ };
303
+
304
+ deepChildren(dataSource);
305
+ deepDataSourceRef.current = source;
306
+ }, [dataSource, expandedRowKeys]);
307
+
308
+ var onSortEnd = function onSortEnd(_ref) {
309
+ var oldIndex = _ref.oldIndex,
310
+ newIndex = _ref.newIndex;
311
+
312
+ if (oldIndex !== newIndex) {
313
+ var newData = (0, _sortable.arrayMove)(dataSource, oldIndex, newIndex).filter(function (el) {
314
+ return !!el;
315
+ }); // setDataSource([...newData])
316
+
317
+ onChange === null || onChange === void 0 ? void 0 : onChange(newData);
318
+ }
319
+ };
320
+
321
+ var onColSortEnd = function onColSortEnd(active, over) {
322
+ var oldIndex = columns.findIndex(function (item) {
323
+ return item.dataIndex === active;
324
+ });
325
+ var newIndex = columns.findIndex(function (item) {
326
+ return item.dataIndex === over;
327
+ });
328
+ filterChange === null || filterChange === void 0 ? void 0 : filterChange((0, _sortable.arrayMove)(columns, oldIndex, newIndex).map(function (item, index) {
329
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
330
+ order: index
331
+ });
332
+ }));
333
+ };
334
+
335
+ var DraggableContainer = function DraggableContainer(props) {
336
+ return /*#__PURE__*/_react.default.createElement(SortContainer, (0, _extends2.default)({
337
+ useDragHandle: true,
338
+ disableAutoscroll: true,
339
+ helperClass: "row-dragging",
340
+ onSortEnd: onSortEnd
341
+ }, props));
342
+ };
343
+
344
+ var DraggableBodyRow = function DraggableBodyRow(props) {
345
+ var className = props.className,
346
+ style = props.style,
347
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
348
+ var index = dataSource.findIndex(function (x) {
349
+ return x[rowKey || 'index'] === restProps['data-row-key'];
350
+ });
351
+ return /*#__PURE__*/_react.default.createElement(SortableItem, (0, _extends2.default)({
352
+ index: index
353
+ }, restProps));
354
+ };
355
+
356
+ var handleResize = function handleResize(index) {
357
+ return function (e, _ref2) {
358
+ var size = _ref2.size;
359
+ var nextColumns = (0, _toConsumableArray2.default)(useColumns);
360
+ nextColumns[index] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, nextColumns[index]), {}, {
361
+ width: size.width
362
+ });
363
+ setColumns(nextColumns);
364
+ };
365
+ };
366
+
367
+ var endResize = function endResize(e, data) {
368
+ setTimeout(function () {
369
+ filterChange === null || filterChange === void 0 ? void 0 : filterChange(useColumns);
370
+ });
371
+ };
372
+
373
+ var isSelected = function isSelected(i, j) {
374
+ var _shellStatusRef$curre = shellStatusRef.current,
375
+ start = _shellStatusRef$curre.start,
376
+ end = _shellStatusRef$curre.end,
377
+ editing = _shellStatusRef$curre.editing,
378
+ commiting = _shellStatusRef$curre.commiting;
379
+ var maxi = Math.max(start === null || start === void 0 ? void 0 : start.i, end.i);
380
+ var mini = Math.min(start === null || start === void 0 ? void 0 : start.i, end.i);
381
+ var maxj = Math.max(start === null || start === void 0 ? void 0 : start.j, end.j);
382
+ var minj = Math.min(start === null || start === void 0 ? void 0 : start.j, end.j);
383
+ var isSelected = (0, _util.checkIsSelectd)(i, j, start, end);
384
+ return {
385
+ /** 是否选中 */
386
+ isSelected: isSelected,
387
+
388
+ /** 是否尾行 */
389
+ isEnd: i === maxi && j >= minj && j <= maxj,
390
+
391
+ /** 是否尾列 */
392
+ isRightEnd: j === maxj && i >= mini && i <= maxi,
393
+
394
+ /** 是否在编辑中 */
395
+ isEditing: (editing === null || editing === void 0 ? void 0 : editing.i) === i && (editing === null || editing === void 0 ? void 0 : editing.j) === j,
396
+
397
+ /** 是否有效拉伸 */
398
+ isVaildCommit: isEmpty(commiting) ? false : isSelected && !(0, _util.checkIsSelectd)(i, j, commiting === null || commiting === void 0 ? void 0 : commiting.start, commiting === null || commiting === void 0 ? void 0 : commiting.end)
399
+ };
400
+ };
401
+
402
+ var getSelectDatas = function getSelectDatas(start, end) {
403
+ return range(start.i, end.i).map(function (i) {
404
+ return range(start.j, end.j).map(function (j) {
405
+ var _columns$j, _columns$j2;
406
+
407
+ var columnKey = (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
408
+ var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
409
+ var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
410
+
411
+ if ((_columns$j2 = columns[j]) === null || _columns$j2 === void 0 ? void 0 : _columns$j2.render) {
412
+ var _columns$j3, _columns$j3$render;
413
+
414
+ return (_columns$j3 = columns[j]) === null || _columns$j3 === void 0 ? void 0 : (_columns$j3$render = _columns$j3.render) === null || _columns$j3$render === void 0 ? void 0 : _columns$j3$render.call(_columns$j3, cell, dataItem, i);
415
+ }
416
+
417
+ return cell;
418
+ }).join('\t');
419
+ }).join('\n');
420
+ };
421
+ /** 复制功能 */
422
+
423
+
424
+ var handleCopy = function handleCopy(e) {
425
+ var _shellStatusRef$curre2;
426
+
427
+ if (isEmpty((_shellStatusRef$curre2 = shellStatusRef.current) === null || _shellStatusRef$curre2 === void 0 ? void 0 : _shellStatusRef$curre2.editing)) {
428
+ var _e$clipboardData;
429
+
430
+ e === null || e === void 0 ? void 0 : e.preventDefault();
431
+ var _shellStatusRef$curre3 = shellStatusRef.current,
432
+ start = _shellStatusRef$curre3.start,
433
+ end = _shellStatusRef$curre3.end;
434
+ var text = getSelectDatas(start, end);
435
+
436
+ if (window.clipboardData && window.clipboardData.setData) {
437
+ window.clipboardData.setData('Text', text);
438
+ } else if ((_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.setData) {
439
+ e.clipboardData.setData('text/plain', text);
440
+ } else {
441
+ var _document;
442
+
443
+ (_document = document) === null || _document === void 0 ? void 0 : _document.execCommand('copy');
444
+
445
+ if (contextMenuStatus) {
446
+ setContextMenuStatus(false);
447
+ }
448
+ }
449
+ }
450
+ };
451
+
452
+ var onMouseOver = function onMouseOver(i, j) {
453
+ var _shellStatusRef$curre4, _shellStatusRef$curre7, _checkStatus, _shellStatusRef$curre8;
454
+
455
+ if (isEmpty(shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre4 = shellStatusRef.current) === null || _shellStatusRef$curre4 === void 0 ? void 0 : _shellStatusRef$curre4.commiting)) {
456
+ var _shellStatusRef$curre5, _shellStatusRef$curre6;
457
+
458
+ if ((shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre5 = shellStatusRef.current) === null || _shellStatusRef$curre5 === void 0 ? void 0 : _shellStatusRef$curre5.selecting) && isEmpty(shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre6 = shellStatusRef.current) === null || _shellStatusRef$curre6 === void 0 ? void 0 : _shellStatusRef$curre6.editing)) {
459
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
460
+ end: {
461
+ i: i,
462
+ j: j
463
+ }
464
+ });
465
+ setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
466
+ end: {
467
+ i: i,
468
+ j: j
469
+ }
470
+ }));
471
+ }
472
+ } else if (!isEmpty((shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre7 = shellStatusRef.current) === null || _shellStatusRef$curre7 === void 0 ? void 0 : _shellStatusRef$curre7.commiting) || {}) && ((_checkStatus = (0, _util.checkStatus)(i, j, shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre8 = shellStatusRef.current) === null || _shellStatusRef$curre8 === void 0 ? void 0 : _shellStatusRef$curre8.commiting)) === null || _checkStatus === void 0 ? void 0 : _checkStatus.isVaildCommit)) {
473
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
474
+ end: {
475
+ i: i,
476
+ j: j
477
+ }
478
+ });
479
+ setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
480
+ end: {
481
+ i: i,
482
+ j: j
483
+ }
484
+ }));
485
+ }
486
+ };
487
+ /** sheel 表格 鼠标松开 */
488
+
489
+
490
+ var sheelOnMouseUp = function sheelOnMouseUp() {
491
+ var _shellStatusRef$curre9;
492
+
493
+ if (!isEmpty((_shellStatusRef$curre9 = shellStatusRef.current) === null || _shellStatusRef$curre9 === void 0 ? void 0 : _shellStatusRef$curre9.commiting)) {
494
+ var _commiting$start, _commiting$end, _commiting$start2, _commiting$end2, _difference, _difference2, _obj$i;
495
+
496
+ var _shellStatusRef$curre10 = shellStatusRef.current,
497
+ start = _shellStatusRef$curre10.start,
498
+ end = _shellStatusRef$curre10.end,
499
+ commiting = _shellStatusRef$curre10.commiting;
500
+ var columnsKeysList = columns.map(function (item) {
501
+ return item.dataIndex;
502
+ });
503
+ var rowtext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
504
+ return columnsKeysList.map(function (j) {
505
+ var columnKey = j;
506
+ var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
507
+ var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
508
+ return cell;
509
+ });
510
+ });
511
+ var coltext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
512
+ return range(commiting === null || commiting === void 0 ? void 0 : commiting.start.j, commiting === null || commiting === void 0 ? void 0 : commiting.end.j).map(function (j) {
513
+ var _columns$j4, _columns$j5;
514
+
515
+ var columnKey = (_columns$j4 = columns[j]) === null || _columns$j4 === void 0 ? void 0 : _columns$j4.dataIndex;
516
+ var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
517
+ var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
518
+
519
+ if ((_columns$j5 = columns[j]) === null || _columns$j5 === void 0 ? void 0 : _columns$j5.render) {
520
+ var _columns$j6, _columns$j6$render;
521
+
522
+ return (_columns$j6 = columns[j]) === null || _columns$j6 === void 0 ? void 0 : (_columns$j6$render = _columns$j6.render) === null || _columns$j6$render === void 0 ? void 0 : _columns$j6$render.call(_columns$j6, cell, dataItem, i);
523
+ }
524
+
525
+ return cell;
526
+ });
527
+ });
528
+ var selectedRange = {
529
+ i: range(start.i, end.i),
530
+ j: range(start.j, end.j)
531
+ };
532
+ var commitRange = {
533
+ i: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start = commiting.start) === null || _commiting$start === void 0 ? void 0 : _commiting$start.i, commiting === null || commiting === void 0 ? void 0 : (_commiting$end = commiting.end) === null || _commiting$end === void 0 ? void 0 : _commiting$end.i),
534
+ j: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start2 = commiting.start) === null || _commiting$start2 === void 0 ? void 0 : _commiting$start2.j, commiting === null || commiting === void 0 ? void 0 : (_commiting$end2 = commiting.end) === null || _commiting$end2 === void 0 ? void 0 : _commiting$end2.j)
535
+ };
536
+ var obj = {
537
+ i: [],
538
+ j: []
539
+ };
540
+ var type = '';
541
+
542
+ if ((_difference = (0, _lodash.difference)(selectedRange.i, commitRange.i)) === null || _difference === void 0 ? void 0 : _difference.length) {
543
+ obj = {
544
+ i: (0, _lodash.difference)(selectedRange.i, commitRange.i),
545
+ j: selectedRange.j
546
+ };
547
+ type = 'row';
548
+ } else if ((_difference2 = (0, _lodash.difference)(selectedRange.j, commitRange.j)) === null || _difference2 === void 0 ? void 0 : _difference2.length) {
549
+ obj = {
550
+ i: selectedRange.i,
551
+ j: (0, _lodash.difference)(selectedRange.j, commitRange.j)
552
+ };
553
+ type = 'col';
554
+ }
555
+
556
+ var data = (0, _lodash.cloneDeep)(dataSourceRef.current);
557
+ (_obj$i = obj.i) === null || _obj$i === void 0 ? void 0 : _obj$i.map(function (tri, index) {
558
+ var _obj$j;
559
+
560
+ (_obj$j = obj.j) === null || _obj$j === void 0 ? void 0 : _obj$j.map(function (tdj) {
561
+ var _isSelected;
562
+
563
+ if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
564
+ if (type === 'row') {
565
+ var _rowtext;
566
+
567
+ data[tri][columnsKeysList[tdj]] = (_rowtext = rowtext[index % rowtext.length]) === null || _rowtext === void 0 ? void 0 : _rowtext[tdj];
568
+ } else {
569
+ var _coltext;
570
+
571
+ data[tri][columnsKeysList[tdj]] = (_coltext = coltext[index % coltext.length]) === null || _coltext === void 0 ? void 0 : _coltext[tdj % coltext[index % coltext.length].length];
572
+ }
573
+ }
574
+ });
575
+ });
576
+
577
+ if (editSheet) {
578
+ dataChange === null || dataChange === void 0 ? void 0 : dataChange(data);
579
+ }
580
+
581
+ setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
582
+ selecting: false,
583
+ commiting: {}
584
+ }));
585
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
586
+ selecting: false,
587
+ commiting: {}
588
+ });
589
+ setCommitIng(false);
590
+ } else {
591
+ setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
592
+ selecting: false
593
+ }));
594
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
595
+ selecting: false
596
+ });
597
+ }
598
+
599
+ document.removeEventListener('mouseup', sheelOnMouseUp);
600
+ };
601
+ /** 剪切内容 */
602
+
603
+
604
+ var handleCut = function handleCut(e) {
605
+ var _shellStatusRef$curre11;
606
+
607
+ if (isEmpty((_shellStatusRef$curre11 = shellStatusRef.current) === null || _shellStatusRef$curre11 === void 0 ? void 0 : _shellStatusRef$curre11.editing)) {
608
+ e.preventDefault();
609
+ handleCopy(e);
610
+ /** 暂时先不隐藏 */
611
+ // const { start, end } = shellStatusRef.current
612
+ // clearSelectedCells(start, end)
613
+ }
614
+ };
615
+ /** 内容粘贴 */
616
+
617
+
618
+ var handlePaste = function handlePaste(e) {
619
+ var _shellStatusRef$curre12;
620
+
621
+ if (isEmpty((_shellStatusRef$curre12 = shellStatusRef.current) === null || _shellStatusRef$curre12 === void 0 ? void 0 : _shellStatusRef$curre12.editing)) {
622
+ var _shellStatusRef$curre13 = shellStatusRef.current,
623
+ start = _shellStatusRef$curre13.start,
624
+ end = _shellStatusRef$curre13.end;
625
+ start = {
626
+ i: Math.min(start.i, end.i),
627
+ j: Math.min(start.j, end.j)
628
+ };
629
+ end = {
630
+ i: Math.max(start.i, end.i),
631
+ j: Math.max(start.j, end.j)
632
+ };
633
+ var parse = defaultParsePaste;
634
+ var changes = [];
635
+ var pasteData = [];
636
+
637
+ if (window.clipboardData && window.clipboardData.getData) {
638
+ // IE
639
+ pasteData = parse(window.clipboardData.getData('Text'));
640
+ } else if (e.clipboardData && e.clipboardData.getData) {
641
+ pasteData = parse(e.clipboardData.getData('text/plain'));
642
+ }
643
+
644
+ var data = dataSourceRef.current; // in order of preference
645
+
646
+ var resultEnd = [];
647
+ pasteData.forEach(function (row, i) {
648
+ row.forEach(function (value, j) {
649
+ resultEnd.push({
650
+ i: start.i + i,
651
+ j: start.j + j,
652
+ value: value
653
+ });
654
+ });
655
+ });
656
+ var columnsKeysList = columns.map(function (item) {
657
+ return item.dataIndex;
658
+ });
659
+ var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
660
+ resultEnd.forEach(function (item) {
661
+ var _isSelected2;
662
+
663
+ if ((_isSelected2 = isSelected(item.i, item.j)) === null || _isSelected2 === void 0 ? void 0 : _isSelected2.isSelected) {
664
+ draft[item.i][columnsKeysList[item.j]] = item.value;
665
+ }
666
+ });
667
+ });
668
+ /** 只有开通了编辑权限之后才可以 */
669
+
670
+ if (editSheet) {
671
+ dataChange === null || dataChange === void 0 ? void 0 : dataChange(res);
672
+ }
673
+ }
674
+ };
675
+
676
+ var pageClick = function pageClick(e) {
677
+ // if (this.props.disablePageClick) return;
678
+ var element = tableWarpRef.current;
679
+
680
+ if (!(element === null || element === void 0 ? void 0 : element.contains(e.target))) {
681
+ shellStatusRef.current = {
682
+ start: {},
683
+ end: {},
684
+ selecting: false,
685
+ forceEdit: false,
686
+ editing: {},
687
+ clear: {},
688
+ commiting: {}
689
+ };
690
+ setSelectIng(false);
691
+ document.removeEventListener('mousedown', pageClick);
692
+ document.removeEventListener('mouseup', sheelOnMouseUp);
693
+ document.removeEventListener('cut', handleCut);
694
+ document.removeEventListener('copy', handleCopy);
695
+ document.removeEventListener('paste', handlePaste);
696
+ }
697
+ /** 关闭右键 */
698
+
699
+
700
+ var contentElement = contentMenuRef.current;
701
+
702
+ if (!(contentElement === null || contentElement === void 0 ? void 0 : contentElement.contains(e.target))) {
703
+ setContextMenuStatus(false);
704
+ }
705
+ };
706
+ /** sheel 表格 鼠标点击 */
707
+
708
+ /**
709
+ * i 行
710
+ * j 列
711
+ * e 点击元素
712
+ * commitStatus boolena 是否点击了快速选择
713
+ */
714
+
715
+
716
+ var sheelMouseDown = function sheelMouseDown(i, j, e, commitStatus) {
717
+ var _shellStatusRef$curre14, _shellStatusRef$curre15, _shellStatusRef$curre16, _shellStatusRef$curre17, _shellStatusRef$curre18, _shellStatusRef$curre19, _shellStatusRef$curre20, _shellStatusRef$curre21, _shellStatusRef$curre22, _shellStatusRef$curre23;
718
+
719
+ var isNowEditingSameCell = !isEmpty((_shellStatusRef$curre14 = shellStatusRef.current) === null || _shellStatusRef$curre14 === void 0 ? void 0 : _shellStatusRef$curre14.editing) && ((_shellStatusRef$curre15 = shellStatusRef.current) === null || _shellStatusRef$curre15 === void 0 ? void 0 : _shellStatusRef$curre15.editing.i) === i && ((_shellStatusRef$curre16 = shellStatusRef.current) === null || _shellStatusRef$curre16 === void 0 ? void 0 : _shellStatusRef$curre16.editing.j) === j;
720
+ var editing = isEmpty((_shellStatusRef$curre17 = shellStatusRef.current) === null || _shellStatusRef$curre17 === void 0 ? void 0 : _shellStatusRef$curre17.editing) || ((_shellStatusRef$curre18 = shellStatusRef.current) === null || _shellStatusRef$curre18 === void 0 ? void 0 : _shellStatusRef$curre18.editing.i) !== i || ((_shellStatusRef$curre19 = shellStatusRef.current) === null || _shellStatusRef$curre19 === void 0 ? void 0 : _shellStatusRef$curre19.editing.j) !== j ? {} : (_shellStatusRef$curre20 = shellStatusRef.current) === null || _shellStatusRef$curre20 === void 0 ? void 0 : _shellStatusRef$curre20.editing;
721
+ shellStatusRef.current = {
722
+ selecting: !isNowEditingSameCell,
723
+ start: (e === null || e === void 0 ? void 0 : e.shiftKey) || commitStatus ? (_shellStatusRef$curre21 = shellStatusRef.current) === null || _shellStatusRef$curre21 === void 0 ? void 0 : _shellStatusRef$curre21.start : {
724
+ i: i,
725
+ j: j
726
+ },
727
+ end: {
728
+ i: i,
729
+ j: j
730
+ },
731
+ editing: editing,
732
+ forceEdit: !!isNowEditingSameCell,
733
+ commiting: commitStatus ? {
734
+ start: (_shellStatusRef$curre22 = shellStatusRef.current) === null || _shellStatusRef$curre22 === void 0 ? void 0 : _shellStatusRef$curre22.start,
735
+ end: {
736
+ i: i,
737
+ j: j
738
+ }
739
+ } : {}
740
+ };
741
+ setSelectIng(!isNowEditingSameCell);
742
+
743
+ if (commitStatus) {
744
+ setCommitIng(true);
745
+ }
746
+
747
+ if (isEmpty((_shellStatusRef$curre23 = shellStatusRef.current) === null || _shellStatusRef$curre23 === void 0 ? void 0 : _shellStatusRef$curre23.editing)) {
748
+ setEditIng(false);
749
+ }
750
+
751
+ document.addEventListener('mouseup', sheelOnMouseUp);
752
+ document.addEventListener('mousedown', pageClick);
753
+ document.addEventListener('cut', handleCut);
754
+ document.addEventListener('copy', handleCopy);
755
+ document.addEventListener('paste', handlePaste);
756
+ };
757
+ /** 鼠标右键点击事件 */
758
+
759
+
760
+ var onContextMenu = function onContextMenu(evt, i, j) {
761
+ evt.preventDefault();
762
+ var _shellStatusRef$curre24 = shellStatusRef.current,
763
+ start = _shellStatusRef$curre24.start,
764
+ end = _shellStatusRef$curre24.end;
765
+ /** 如果表格当前没有选择,则把当前的右击的td块默认选中 */
766
+
767
+ if (isEmpty(start) && isEmpty(end)) {
768
+ sheelMouseDown(i, j, evt);
769
+ }
770
+
771
+ if (!(0, _util.checkIsSelectd)(i, j, start, end)) {
772
+ sheelMouseDown(i, j, evt);
773
+ }
774
+
775
+ setContextMenuStatus(true); // 获得点击的位置
776
+
777
+ var clientX = evt.clientX,
778
+ clientY = evt.clientY; // 文档显示区的宽度
779
+
780
+ var screenW = window.innerWidth;
781
+ var screenH = window.innerHeight; // 右键菜单的宽度
782
+ // const rightClickRefW = rightClickRef.current.offsetWidth;
783
+ // const rightClickRefH = rightClickRef.current.offsetHeight;
784
+
785
+ var rightClickRefW = 200;
786
+ var rightClickRefH = 200; // right为true,说明鼠标点击的位置到浏览器的右边界的宽度可以放下contextmenu。
787
+ // 否则,菜单放到左边。
788
+
789
+ var right = screenW - clientX > rightClickRefW;
790
+ var top = screenH - clientY > rightClickRefH; // 赋值右键菜单离鼠标一些距离
791
+
792
+ clientX = right ? clientX + 6 : clientX - rightClickRefW - 6;
793
+ clientY = top ? clientY + 6 : clientY - rightClickRefH - 6;
794
+ setStyle((0, _objectSpread2.default)((0, _objectSpread2.default)({}, style), {}, {
795
+ left: clientX,
796
+ top: clientY
797
+ }));
798
+ };
799
+
800
+ var onSheelDoubleClick = function onSheelDoubleClick(i, j, col) {
801
+ if (editSheet) {
802
+ if (!col.readOnly) {
803
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
804
+ editing: {
805
+ i: i,
806
+ j: j
807
+ },
808
+ forceEdit: true,
809
+ clear: {}
810
+ });
811
+ setEditIng(true);
812
+ }
813
+ }
814
+ };
815
+
816
+ var dataSourceChange = function dataSourceChange(i, j, newRecord) {
817
+ var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
818
+ draft[i] = newRecord;
819
+ });
820
+ dataChange === null || dataChange === void 0 ? void 0 : dataChange(res);
821
+ shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
822
+ editing: {},
823
+ forceEdit: false,
824
+ clear: {}
825
+ });
826
+ };
827
+
828
+ (0, _react.useEffect)(function () {
829
+ return function () {
830
+ document.removeEventListener('mousedown', pageClick);
831
+ document.removeEventListener('mouseup', sheelOnMouseUp);
832
+ document.removeEventListener('cut', handleCut);
833
+ document.removeEventListener('copy', handleCopy);
834
+ document.removeEventListener('paste', handlePaste);
835
+ };
836
+ }, []);
837
+ var resetColumns = (0, _react.useCallback)(function () {
838
+ var result = useColumns.filter(function (item) {
839
+ return item.show !== false;
840
+ }).map(function (col, index) {
841
+ var obj = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, col), {}, {
842
+ width: col.width,
843
+ onHeaderCell: function onHeaderCell(column) {
844
+ return {
845
+ width: column.width,
846
+ // onResize: (e, size) => handleResize(e, size, index),
847
+ onResize: handleResize(index),
848
+ onResizeStop: endResize
849
+ };
850
+ }
851
+ });
852
+
853
+ if (openSheet) {
854
+ obj.onCell = function (record, rowIndex) {
855
+ return {
856
+ record: record,
857
+ rowKey: rowKey,
858
+ col: col,
859
+ colIndex: index,
860
+ selectIng: selectIng,
861
+ editIng: editIng,
862
+ commitIng: commitIng,
863
+ rowIndex: rowIndex,
864
+ onMouseDown: sheelMouseDown,
865
+ onMouseOver: onMouseOver,
866
+ onContextMenu: onContextMenu,
867
+ isSelected: isSelected,
868
+ onDoubleClick: onSheelDoubleClick,
869
+ dataSourceChange: dataSourceChange
870
+ };
871
+ };
872
+ }
873
+
874
+ return obj;
875
+ });
876
+
877
+ if (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) {
878
+ result = [{
879
+ dataIndex: 'group',
880
+ title: '分组',
881
+ key: 'group'
882
+ }].concat((0, _toConsumableArray2.default)(result));
883
+ }
884
+
885
+ return sortOpen ? [sortDefaultColumnItem].concat((0, _toConsumableArray2.default)(result)) : result;
886
+ }, [useColumns, sortOpen, selectIng, dataSource, groupInfo, commitIng]);
887
+ (0, _react.useEffect)(function () {
888
+ setColumns(columns);
889
+ }, [columns]); // 行点击事件
890
+
891
+ var onRecord = function onRecord(record) {
892
+ var _Object$assign = Object.assign(_resetConfig.default.checkConfig, checkConfig),
893
+ trigger = _Object$assign.trigger,
894
+ highlight = _Object$assign.highlight;
895
+
896
+ if (highlight) {
897
+ setActiveKey(record[rowKey]);
898
+ }
899
+
900
+ if (trigger === 'row') {
901
+ var selectedRows = useSelectedRows.selectedRows;
902
+
903
+ if (tableRowType === 'select' || tableRowType === 'default' && selectedRows.length) {
904
+ var selectedRowKeys = selectedRows.map(function (v) {
905
+ return v[rowKey];
906
+ });
907
+ var Idx = selectedRowKeys.indexOf(record[rowKey]);
908
+ Idx >= 0 ? selectedRows.splice(Idx, 1) : selectedRows.push(record);
909
+ setSelectedRows({
910
+ selectedRows: selectedRows
911
+ });
912
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(selectedRows);
913
+ }
914
+ } else {
915
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
916
+ }
917
+ }; // 重写表格,增加虚拟滚动
918
+ // const vComponents = useMemo(() => {
919
+ // return VList({
920
+ // height: autoSize.height, // 此值和scrollY值相同. 必传.
921
+ // })
922
+ // }, [autoSize.height])
923
+ // 复选框配置
924
+
925
+
926
+ var config = (0, _react.useMemo)(function () {
927
+ return (0, _objectSpread2.default)({
928
+ defaultSize: 'small',
929
+ tableLayout: columnKeys ? 'auto' : 'fixed',
930
+ rowKey: rowKey,
931
+ debounceTime: 300,
932
+ revalidateOnFocus: false,
933
+ options: {
934
+ setting: false,
935
+ density: false,
936
+ fullScreen: false,
937
+ reload: false
938
+ },
939
+ columnsState: {
940
+ value: columnsStateMap,
941
+ onChange: function onChange(k) {
942
+ setColumnsStateMap(k);
943
+ }
944
+ },
945
+ search: false,
946
+ tableAlertRender: false,
947
+ checkConfig: checkConfig,
948
+ // components: vComponents,
949
+ scroll: resetProps.autoSizer || resetProps.scroll ? (0, _objectSpread2.default)((0, _objectSpread2.default)({
950
+ y: autoSize.height
951
+ }, resetProps.scroll), resizeable ? {
952
+ x: '100%'
953
+ } : {}) : resizeable ? {
954
+ x: '100%'
955
+ } : null,
956
+ pagination: !hiddenPage && (0, _objectSpread2.default)({
957
+ showSizeChanger: true,
958
+ showQuickJumper: true,
959
+ showTotal: function showTotal(total) {
960
+ return "\u5171 ".concat(total, " \u6761");
961
+ },
962
+ locale: {
963
+ items_per_page: '/条',
964
+ jump_to: '前往',
965
+ page: '页'
966
+ },
967
+ size: 'small'
968
+ }, pagination),
969
+ rowSelection: rowSelection === false ? undefined : (0, _objectSpread2.default)({
970
+ fixed: true,
971
+ type: 'checkbox',
972
+ columnWidth: 36,
973
+ selectedRowKeys: useSelectedRows.selectedRows.map(function (v) {
974
+ return v[rowKey];
975
+ }),
976
+ onChange: function onChange(selectedRowKeys, selectedRows, t, s) {
977
+ setSelectedRows({
978
+ selectedRows: selectedRows
979
+ });
980
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(selectedRows);
981
+ }
982
+ }, rowSelection),
983
+ onRow: function onRow(record) {
984
+ return {
985
+ onClick: function onClick(e) {
986
+ onRecord(record);
987
+ },
988
+ onDoubleClick: function onDoubleClick() {
989
+ _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(record);
990
+ }
991
+ };
992
+ },
993
+ rowClassName: function rowClassName(record) {
994
+ return record[rowKey] === useActiveKey ? 'row-active' : '';
995
+ },
996
+ columns: resetColumns(),
997
+ size: size
998
+ }, resetProps);
999
+ }, [useColumns, useSelectedRows, columnsStateMap, resetProps, autoSize.height, resizeable]);
1000
+ var resultColumns = (0, _react.useMemo)(function () {
1001
+ var result = useColumns.map(function (item, index) {
1002
+ var _columnsStateMap$item, _columnsStateMap$item2, _columnsStateMap$item3, _columnsStateMap$item4;
1003
+
1004
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
1005
+ colSort: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item === void 0 ? void 0 : _columnsStateMap$item.order) === undefined ? index : (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item2 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item2 === void 0 ? void 0 : _columnsStateMap$item2.order) || index,
1006
+ fixed: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item3 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item3 === void 0 ? void 0 : _columnsStateMap$item3.fixed) || item.fixed || undefined,
1007
+ show: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item4 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item4 === void 0 ? void 0 : _columnsStateMap$item4.show) !== false
1008
+ });
1009
+ }).filter(function (item) {
1010
+ return !!item.show;
1011
+ });
1012
+ result.sort(function (a, b) {
1013
+ return (a.fixed === 'left' ? a.colSort : a.fixed === 'right' ? 500 + a.colSort : a.colSort + 50) - (b.fixed === 'left' ? b.colSort : b.fixed === 'right' ? 500 + b.colSort : b.colSort + 50);
1014
+ });
1015
+ return result;
1016
+ }, [columnsStateMap, useColumns]);
1017
+ (0, _react.useEffect)(function () {
1018
+ var obj = (0, _objectSpread2.default)({}, columnsState);
1019
+ columns === null || columns === void 0 ? void 0 : columns.forEach(function (item) {
1020
+ /** 目前支持三种 */
1021
+ var _ref3 = obj[item.dataIndex || item.key] || {},
1022
+ order = _ref3.order,
1023
+ show = _ref3.show,
1024
+ fixed = _ref3.fixed;
1025
+
1026
+ obj[item.dataIndex || item.key] = {
1027
+ fixed: fixed || item.fixed,
1028
+ show: show === false ? false : item.show || true,
1029
+ order: order || item.order
1030
+ };
1031
+ });
1032
+ setColumnsStateMap(obj);
1033
+ }, [columnsState]); // 将节点方法给外部使用
1034
+
1035
+ _react.default.useImperativeHandle(ref, function () {
1036
+ return {
1037
+ getCheckboxRecords: function getCheckboxRecords() {
1038
+ return useSelectedRows.selectedRows;
1039
+ },
1040
+ // 用于按钮触发事件
1041
+ clearSelect: function clearSelect() {
1042
+ setSelectedRows({
1043
+ selectedRows: []
1044
+ });
1045
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick([]);
1046
+ },
1047
+ customSetCheckboxRecords: function customSetCheckboxRecords(value) {
1048
+ setSelectedRows({
1049
+ selectedRows: value
1050
+ });
1051
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(value);
1052
+ },
1053
+ checkboxRecords: useSelectedRows.selectedRows,
1054
+ columns: useColumns.map(function (item) {
1055
+ return (0, _lodash.omit)(item, ['render', 'sorter', 'onFilter', 'filters']);
1056
+ })
1057
+ };
1058
+ }); // loading触发清空选中状态
1059
+
1060
+
1061
+ (0, _react.useEffect)(function () {
1062
+ setSelectedRows({
1063
+ selectedRows: []
1064
+ });
1065
+ }, [loading]);
1066
+
1067
+ var onTableChange = function onTableChange(pagination, filters, sorter, extra) {
1068
+ var resultColumns = useColumns.map(function (item) {
1069
+ var obj = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
1070
+ sortOrder: false
1071
+ });
1072
+ obj.filteredValue = filters[obj.dataIndex] || [];
1073
+
1074
+ if (Array.isArray(sorter)) {
1075
+ var checkSort = sorter.find(function (s) {
1076
+ return s.field === obj.dataIndex;
1077
+ });
1078
+
1079
+ if (checkSort) {
1080
+ obj.sortOrder = checkSort.order;
1081
+ }
1082
+ } else if ((sorter === null || sorter === void 0 ? void 0 : sorter.field) === obj.dataIndex) {
1083
+ obj.sortOrder = sorter.order;
1084
+ }
1085
+
1086
+ return obj;
1087
+ });
1088
+ setColumns(resultColumns);
1089
+ filterChange === null || filterChange === void 0 ? void 0 : filterChange(resultColumns);
1090
+ onChange === null || onChange === void 0 ? void 0 : onChange(pagination, filters, sorter, extra);
1091
+ };
1092
+ /** 排序的表头 */
1093
+
1094
+
1095
+ var ResizableTitle = function ResizableTitle(props) {
1096
+ var onResize = props.onResize,
1097
+ width = props.width,
1098
+ onResizeStop = props.onResizeStop,
1099
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded3);
1100
+
1101
+ if (!width) {
1102
+ return /*#__PURE__*/_react.default.createElement("th", restProps);
1103
+ }
1104
+
1105
+ return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable, {
1106
+ width: width,
1107
+ height: 0,
1108
+ handle: /*#__PURE__*/_react.default.createElement("span", {
1109
+ className: "react-resizable-handle",
1110
+ onClick: function onClick(e) {
1111
+ e.stopPropagation();
1112
+ }
1113
+ }),
1114
+ onResize: onResize,
1115
+ onResizeStop: onResizeStop,
1116
+ draggableOpts: {
1117
+ enableUserSelectHack: false
1118
+ }
1119
+ }, /*#__PURE__*/_react.default.createElement("th", restProps));
1120
+ };
1121
+
1122
+ var colDraggableContainer = (0, _react.useCallback)(function (_ref4) {
1123
+ var props = (0, _extends2.default)({}, _ref4);
1124
+ return /*#__PURE__*/_react.default.createElement("tr", null, _react.default.Children.map(props.children, function (child) {
1125
+ var _child$props, _child$props$column;
1126
+
1127
+ if (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : (_child$props$column = _child$props.column) === null || _child$props$column === void 0 ? void 0 : _child$props$column.fixed) {
1128
+ return child;
1129
+ }
1130
+
1131
+ return /*#__PURE__*/_react.default.createElement(_sortableItemCol.default, {
1132
+ id: child.key
1133
+ }, child);
1134
+ }));
1135
+ }, [columns]);
1136
+ var tableComponents = (0, _react.useMemo)(function () {
1137
+ var _ref5 = components || {},
1138
+ _ref5$body = _ref5.body,
1139
+ body = _ref5$body === void 0 ? {} : _ref5$body,
1140
+ _ref5$header = _ref5.header,
1141
+ header = _ref5$header === void 0 ? {} : _ref5$header;
1142
+
1143
+ return {
1144
+ // table: (record) => {
1145
+ // return <div style={record.style}>{record.children}</div>
1146
+ // }
1147
+ table: virtual ? _virTual.VirtualTable : null,
1148
+ header: (0, _objectSpread2.default)({
1149
+ row: colSortOpen ? colDraggableContainer : null,
1150
+ cell: resizeable ? ResizableTitle : null
1151
+ }, header),
1152
+ body: (0, _objectSpread2.default)((0, _objectSpread2.default)({
1153
+ wrapper: sortOpen ? DraggableContainer : virtual ? _virTual.VirtualWrapper : null,
1154
+ row: sortOpen ? DraggableBodyRow : virtual ? _virTual.VirtualRow : null
1155
+ }, body), {}, {
1156
+ cell: openSheet ? _sheelTableCell.default : null
1157
+ })
1158
+ };
1159
+ }, [sortOpen, resizeable, components, colSortOpen]);
1160
+ return /*#__PURE__*/_react.default.createElement("div", {
1161
+ style: {
1162
+ height: '100%',
1163
+ width: '100%'
1164
+ },
1165
+ ref: tableWarpRef
1166
+ }, /*#__PURE__*/_react.default.createElement(_configProvider.default, {
1167
+ renderEmpty: loading ? function () {
1168
+ return null;
1169
+ } : emptyProps ? function () {
1170
+ return /*#__PURE__*/_react.default.createElement(_Empty.default, emptyProps, (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.footer) || null);
1171
+ } : _customRenderEmpty.default
1172
+ }, colSortOpen ? /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
1173
+ move: onColSortEnd
1174
+ }, /*#__PURE__*/_react.default.createElement(_sortableBoxCol.default, {
1175
+ items: columns.reduce(function (acc, item) {
1176
+ return [].concat((0, _toConsumableArray2.default)(acc), [item.dataIndex]);
1177
+ }, [])
1178
+ }, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1179
+ loading: loading,
1180
+ dataSource: dataSource,
1181
+ components: tableComponents,
1182
+ onChange: onTableChange,
1183
+ expandable: {
1184
+ onExpand: function onExpand() {
1185
+ shellStatusRef.current = {
1186
+ start: {},
1187
+ end: {},
1188
+ selecting: false,
1189
+ forceEdit: false,
1190
+ editing: {},
1191
+ clear: {},
1192
+ commiting: {}
1193
+ };
1194
+ },
1195
+ expandedRowKeys: expandedRowKeys,
1196
+ onExpandedRowsChange: function onExpandedRowsChange(expandedRows) {
1197
+ return setExpandedRowKeys(expandedRows);
1198
+ }
1199
+ },
1200
+ tableClassName: (0, _classnames.default)('lm_protable', resizeable && 'lm_resizeable'),
1201
+ summary: function summary(pageData) {
1202
+ return _summary && _summary(pageData, resultColumns);
1203
+ }
1204
+ })))) : /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1205
+ loading: loading,
1206
+ dataSource: dataSource,
1207
+ components: tableComponents,
1208
+ onChange: onTableChange,
1209
+ expandable: {
1210
+ onExpand: function onExpand() {
1211
+ shellStatusRef.current = {
1212
+ start: {},
1213
+ end: {},
1214
+ selecting: false,
1215
+ forceEdit: false,
1216
+ editing: {},
1217
+ clear: {},
1218
+ commiting: {}
1219
+ };
1220
+ },
1221
+ expandedRowKeys: expandedRowKeys,
1222
+ onExpandedRowsChange: function onExpandedRowsChange(expandedRows) {
1223
+ return setExpandedRowKeys(expandedRows);
1224
+ }
1225
+ },
1226
+ tableClassName: (0, _classnames.default)('lm_protable', resizeable && 'lm_resizeable'),
1227
+ summary: function summary(pageData) {
1228
+ return _summary && _summary(pageData, resultColumns);
1229
+ }
1230
+ }))), !!customCheck && /*#__PURE__*/_react.default.createElement("div", {
1231
+ className: "lm_customCheck"
1232
+ }, customCheck), contextMenuStatus && /*#__PURE__*/_react.default.createElement("div", {
1233
+ ref: contentMenuRef,
1234
+ className: "WeChatContactsAvatarTools",
1235
+ style: style
1236
+ }, /*#__PURE__*/_react.default.createElement("div", {
1237
+ className: "rightClickItems",
1238
+ onClick: handleCopy
1239
+ }, "\u590D\u5236"), /*#__PURE__*/_react.default.createElement("div", {
1240
+ className: "rightClickItems",
1241
+ onClick: function onClick() {
1242
+ return setChartsModalStatus('column');
1243
+ }
1244
+ }, "\u751F\u6210\u67F1\u72B6\u56FE"), /*#__PURE__*/_react.default.createElement("div", {
1245
+ className: "rightClickItems",
1246
+ onClick: function onClick() {
1247
+ return setChartsModalStatus('pie');
1248
+ }
1249
+ }, "\u751F\u6210\u997C\u56FE"), /*#__PURE__*/_react.default.createElement("div", {
1250
+ className: "rightClickItems",
1251
+ onClick: function onClick() {
1252
+ return setChartsModalStatus('line');
1253
+ }
1254
+ }, "\u751F\u6210\u6298\u7EBF\u56FE")), chartsModalStatus && /*#__PURE__*/_react.default.createElement(_tableChartsModal.default, {
1255
+ type: chartsModalStatus,
1256
+ onCancel: function onCancel() {
1257
+ return setChartsModalStatus(false);
1258
+ },
1259
+ onOk: function onOk() {
1260
+ return setChartsModalStatus(false);
1261
+ },
1262
+ data: dataSource,
1263
+ columns: columns,
1264
+ selectInfo: (0, _lodash.pick)(shellStatusRef.current, ['start', 'end'])
1265
+ }));
1266
+ }); // 监听大小: 这里的高度是整个表格的高度,表体需要减去列头和分页的高度
1267
+
1268
+ /** 1: 使用scroll.x y 来控制宽高 默认都是100% */
1269
+
1270
+ var ResizeSize = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1271
+ var _props$autoSizer = props.autoSizer,
1272
+ autoSizer = _props$autoSizer === void 0 ? false : _props$autoSizer;
1273
+
1274
+ var _useState25 = (0, _react.useState)({
1275
+ width: '100%',
1276
+ height: '100%'
1277
+ }),
1278
+ _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
1279
+ tableSize = _useState26[0],
1280
+ setTableSize = _useState26[1];
1281
+
1282
+ var defaultRef = ref || (0, _react.useRef)(null);
1283
+ var tableWarpRef = (0, _react.useRef)(null);
1284
+ var resizeRef = (0, _react.useRef)(null);
1285
+
1286
+ if (!autoSizer) {
1287
+ return /*#__PURE__*/_react.default.createElement("div", {
1288
+ ref: tableWarpRef,
1289
+ id: "lm_protable_warp",
1290
+ style: {
1291
+ width: '100%',
1292
+ height: '100%'
1293
+ }
1294
+ }, /*#__PURE__*/_react.default.createElement(ResetTable, (0, _extends2.default)({
1295
+ ref: defaultRef
1296
+ }, props, {
1297
+ autoSize: {
1298
+ height: '100%',
1299
+ width: '100%'
1300
+ }
1301
+ })));
1302
+ }
1303
+
1304
+ var resetHeight = (0, _react.useMemo)(function () {
1305
+ var height = tableSize.height;
1306
+ var h = height - 32;
1307
+
1308
+ if (!props.hiddenPage || props.customCheck) {
1309
+ h -= 48;
1310
+ }
1311
+
1312
+ if (props.columns.some(function (v) {
1313
+ return v.children;
1314
+ })) {
1315
+ h -= 32;
1316
+ }
1317
+
1318
+ return h;
1319
+ }, [props.hiddenPage, props.customCheck, props.columns, tableSize]);
1320
+ var throttleSize = (0, _react.useCallback)(function () {
1321
+ var width = tableSize.width,
1322
+ height = tableSize.height;
1323
+ return /*#__PURE__*/_react.default.createElement(ResetTable, (0, _extends2.default)({
1324
+ ref: defaultRef
1325
+ }, props, {
1326
+ autoSize: {
1327
+ height: resetHeight,
1328
+ width: width
1329
+ }
1330
+ }));
1331
+ }, [tableSize, props]);
1332
+
1333
+ var changeSize = function changeSize() {
1334
+ var _tableWarpRef$current;
1335
+
1336
+ var value = props.summary ? 48 : 0;
1337
+
1338
+ var _ref6 = ((_tableWarpRef$current = tableWarpRef.current) === null || _tableWarpRef$current === void 0 ? void 0 : _tableWarpRef$current.getBoundingClientRect()) || {},
1339
+ _ref6$width = _ref6.width,
1340
+ width = _ref6$width === void 0 ? '100%' : _ref6$width,
1341
+ _ref6$height = _ref6.height,
1342
+ height = _ref6$height === void 0 ? '100%' : _ref6$height;
1343
+
1344
+ setTableSize({
1345
+ width: width,
1346
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
1347
+ });
1348
+ };
1349
+
1350
+ var handResize = (0, _lodash.throttle)(changeSize, 600);
1351
+ (0, _react.useEffect)(function () {
1352
+ var summary = props.summary;
1353
+ setTimeout(function () {
1354
+ var _tableWarpRef$current5;
1355
+
1356
+ var _tableWarpRef$current2 = (_tableWarpRef$current5 = tableWarpRef.current) === null || _tableWarpRef$current5 === void 0 ? void 0 : _tableWarpRef$current5.getBoundingClientRect(),
1357
+ _tableWarpRef$current3 = _tableWarpRef$current2.width,
1358
+ width = _tableWarpRef$current3 === void 0 ? '100%' : _tableWarpRef$current3,
1359
+ _tableWarpRef$current4 = _tableWarpRef$current2.height,
1360
+ height = _tableWarpRef$current4 === void 0 ? '100%' : _tableWarpRef$current4;
1361
+
1362
+ var value = summary ? 48 : 0;
1363
+ setTableSize({
1364
+ width: width,
1365
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
1366
+ });
1367
+ }, 100);
1368
+ resizeRef.current = window.addEventListener('resize', handResize);
1369
+ return function () {
1370
+ window.removeEventListener('resize', handResize);
1371
+ };
1372
+ }, []);
1373
+ return /*#__PURE__*/_react.default.createElement("div", {
1374
+ ref: tableWarpRef,
1375
+ id: "lm_protable_warp",
1376
+ style: {
1377
+ width: '100%',
1378
+ height: '100%'
1379
+ }
1380
+ }, throttleSize());
1381
+ });
1382
+
1383
+ var _default = /*#__PURE__*/(0, _react.memo)(ResizeSize);
1384
+
1385
+ exports.default = _default;