@hi-ui/table 4.0.0-beta.9 → 4.0.2

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 (260) hide show
  1. package/README.md +48 -45
  2. package/lib/cjs/BaseTable.js +29 -25
  3. package/lib/cjs/Table.js +44 -27
  4. package/lib/cjs/TableAdvancedFilter.js +38 -24
  5. package/lib/cjs/TableBody.js +12 -13
  6. package/lib/cjs/TableCell.js +10 -11
  7. package/lib/cjs/TableColumnMenu.js +27 -23
  8. package/lib/cjs/TableEmbedRow.js +4 -5
  9. package/lib/cjs/TableHeader.js +21 -13
  10. package/lib/cjs/TableRow.js +18 -18
  11. package/lib/cjs/TableSettingMenu.js +34 -42
  12. package/lib/cjs/context.js +1 -2
  13. package/lib/cjs/hooks/use-async-switch.js +5 -6
  14. package/lib/cjs/hooks/use-check.js +39 -17
  15. package/lib/cjs/hooks/use-col-hidden.js +1 -2
  16. package/lib/cjs/hooks/use-col-sorter.js +43 -18
  17. package/lib/cjs/hooks/use-col-width.js +7 -8
  18. package/lib/cjs/hooks/use-colgroup.js +10 -5
  19. package/lib/cjs/hooks/use-drag.js +8 -9
  20. package/lib/cjs/hooks/use-embed-expand.js +4 -5
  21. package/lib/cjs/hooks/use-expand.js +2 -5
  22. package/lib/cjs/hooks/use-pagination.js +4 -5
  23. package/lib/cjs/hooks/use-queue.js +1 -2
  24. package/lib/cjs/icons/index.js +5 -6
  25. package/lib/cjs/index.js +1 -2
  26. package/lib/cjs/styles/index.scss.js +3 -4
  27. package/lib/cjs/use-table.js +38 -29
  28. package/lib/cjs/utils/index.js +10 -8
  29. package/lib/esm/BaseTable.js +11 -7
  30. package/lib/esm/Table.js +36 -19
  31. package/lib/esm/TableAdvancedFilter.js +28 -14
  32. package/lib/esm/TableBody.js +1 -2
  33. package/lib/esm/TableCell.js +2 -3
  34. package/lib/esm/TableColumnMenu.js +12 -8
  35. package/lib/esm/TableEmbedRow.js +1 -2
  36. package/lib/esm/TableHeader.js +11 -4
  37. package/lib/esm/TableRow.js +8 -8
  38. package/lib/esm/TableSettingMenu.js +17 -25
  39. package/lib/esm/context.js +1 -2
  40. package/lib/esm/hooks/use-async-switch.js +1 -2
  41. package/lib/esm/hooks/use-check.js +36 -14
  42. package/lib/esm/hooks/use-col-hidden.js +1 -2
  43. package/lib/esm/hooks/use-col-sorter.js +42 -19
  44. package/lib/esm/hooks/use-col-width.js +1 -2
  45. package/lib/esm/hooks/use-colgroup.js +7 -2
  46. package/lib/esm/hooks/use-drag.js +7 -8
  47. package/lib/esm/hooks/use-embed-expand.js +1 -2
  48. package/lib/esm/hooks/use-expand.js +2 -5
  49. package/lib/esm/hooks/use-pagination.js +1 -2
  50. package/lib/esm/hooks/use-queue.js +1 -2
  51. package/lib/esm/icons/index.js +1 -2
  52. package/lib/esm/index.js +1 -2
  53. package/lib/esm/styles/index.scss.js +4 -6
  54. package/lib/esm/use-table.js +31 -22
  55. package/lib/esm/utils/index.js +10 -8
  56. package/lib/types/BaseTable.d.ts +12 -4
  57. package/lib/types/Table.d.ts +9 -5
  58. package/lib/types/TableAdvancedFilter.d.ts +4 -2
  59. package/lib/types/TableColumnMenu.d.ts +2 -0
  60. package/lib/types/context.d.ts +9 -7
  61. package/lib/types/hooks/use-col-sorter.d.ts +6 -7
  62. package/lib/types/hooks/use-drag.d.ts +2 -1
  63. package/lib/types/types.d.ts +108 -24
  64. package/lib/types/use-table.d.ts +20 -5
  65. package/lib/types/utils/index.d.ts +1 -1
  66. package/package.json +36 -31
  67. package/lib/cjs/BaseTable.js.map +0 -1
  68. package/lib/cjs/Table.js.map +0 -1
  69. package/lib/cjs/TableAdvancedFilter.js.map +0 -1
  70. package/lib/cjs/TableBody.js.map +0 -1
  71. package/lib/cjs/TableCell.js.map +0 -1
  72. package/lib/cjs/TableColumnMenu.js.map +0 -1
  73. package/lib/cjs/TableEmbedRow.js.map +0 -1
  74. package/lib/cjs/TableHeader.js.map +0 -1
  75. package/lib/cjs/TableRow.js.map +0 -1
  76. package/lib/cjs/TableSettingMenu.js.map +0 -1
  77. package/lib/cjs/context.js.map +0 -1
  78. package/lib/cjs/hooks/use-async-switch.js.map +0 -1
  79. package/lib/cjs/hooks/use-check.js.map +0 -1
  80. package/lib/cjs/hooks/use-col-hidden.js.map +0 -1
  81. package/lib/cjs/hooks/use-col-sorter.js.map +0 -1
  82. package/lib/cjs/hooks/use-col-width.js.map +0 -1
  83. package/lib/cjs/hooks/use-colgroup.js.map +0 -1
  84. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js +0 -287
  85. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js.map +0 -1
  86. package/lib/cjs/hooks/use-drag.js.map +0 -1
  87. package/lib/cjs/hooks/use-embed-expand.js.map +0 -1
  88. package/lib/cjs/hooks/use-expand.js.map +0 -1
  89. package/lib/cjs/hooks/use-pagination.js.map +0 -1
  90. package/lib/cjs/hooks/use-queue.js.map +0 -1
  91. package/lib/cjs/icons/index.js.map +0 -1
  92. package/lib/cjs/index.js.map +0 -1
  93. package/lib/cjs/styles/index.scss.js.map +0 -1
  94. package/lib/cjs/use-table.js.map +0 -1
  95. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +0 -29
  96. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +0 -1
  97. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +0 -27
  98. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +0 -1
  99. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +0 -29
  100. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +0 -1
  101. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +0 -29
  102. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +0 -1
  103. package/lib/cjs/utils/func-utils/lib/esm/index.js +0 -62
  104. package/lib/cjs/utils/func-utils/lib/esm/index.js.map +0 -1
  105. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +0 -37
  106. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +0 -1
  107. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +0 -37
  108. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +0 -1
  109. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +0 -37
  110. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +0 -1
  111. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +0 -37
  112. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +0 -1
  113. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +0 -34
  114. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +0 -1
  115. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +0 -37
  116. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +0 -1
  117. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +0 -60
  118. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  119. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +0 -49
  120. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +0 -1
  121. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +0 -80
  122. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +0 -1
  123. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +0 -63
  124. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +0 -1
  125. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +0 -34
  126. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +0 -1
  127. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +0 -33
  128. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +0 -1
  129. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +0 -36
  130. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  131. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +0 -48
  132. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +0 -1
  133. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +0 -77
  134. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  135. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +0 -96
  136. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +0 -1
  137. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +0 -40
  138. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +0 -1
  139. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +0 -50
  140. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +0 -1
  141. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +0 -28
  142. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +0 -1
  143. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +0 -58
  144. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +0 -1
  145. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +0 -49
  146. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +0 -1
  147. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js +0 -39
  148. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +0 -1
  149. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +0 -55
  150. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +0 -1
  151. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +0 -61
  152. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +0 -1
  153. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +0 -67
  154. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +0 -1
  155. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +0 -69
  156. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +0 -1
  157. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +0 -72
  158. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +0 -1
  159. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +0 -69
  160. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  161. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +0 -45
  162. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +0 -1
  163. package/lib/cjs/utils/index.js.map +0 -1
  164. package/lib/esm/BaseTable.js.map +0 -1
  165. package/lib/esm/Table.js.map +0 -1
  166. package/lib/esm/TableAdvancedFilter.js.map +0 -1
  167. package/lib/esm/TableBody.js.map +0 -1
  168. package/lib/esm/TableCell.js.map +0 -1
  169. package/lib/esm/TableColumnMenu.js.map +0 -1
  170. package/lib/esm/TableEmbedRow.js.map +0 -1
  171. package/lib/esm/TableHeader.js.map +0 -1
  172. package/lib/esm/TableRow.js.map +0 -1
  173. package/lib/esm/TableSettingMenu.js.map +0 -1
  174. package/lib/esm/context.js.map +0 -1
  175. package/lib/esm/hooks/use-async-switch.js.map +0 -1
  176. package/lib/esm/hooks/use-check.js.map +0 -1
  177. package/lib/esm/hooks/use-col-hidden.js.map +0 -1
  178. package/lib/esm/hooks/use-col-sorter.js.map +0 -1
  179. package/lib/esm/hooks/use-col-width.js.map +0 -1
  180. package/lib/esm/hooks/use-colgroup.js.map +0 -1
  181. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js +0 -264
  182. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js.map +0 -1
  183. package/lib/esm/hooks/use-drag.js.map +0 -1
  184. package/lib/esm/hooks/use-embed-expand.js.map +0 -1
  185. package/lib/esm/hooks/use-expand.js.map +0 -1
  186. package/lib/esm/hooks/use-pagination.js.map +0 -1
  187. package/lib/esm/hooks/use-queue.js.map +0 -1
  188. package/lib/esm/icons/index.js.map +0 -1
  189. package/lib/esm/index.js.map +0 -1
  190. package/lib/esm/styles/index.scss.js.map +0 -1
  191. package/lib/esm/use-table.js.map +0 -1
  192. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +0 -24
  193. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +0 -1
  194. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +0 -22
  195. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +0 -1
  196. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +0 -24
  197. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +0 -1
  198. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +0 -24
  199. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +0 -1
  200. package/lib/esm/utils/func-utils/lib/esm/index.js +0 -45
  201. package/lib/esm/utils/func-utils/lib/esm/index.js.map +0 -1
  202. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +0 -29
  203. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +0 -1
  204. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +0 -29
  205. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +0 -1
  206. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +0 -29
  207. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +0 -1
  208. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +0 -29
  209. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +0 -1
  210. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +0 -27
  211. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +0 -1
  212. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +0 -29
  213. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +0 -1
  214. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +0 -51
  215. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  216. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +0 -41
  217. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +0 -1
  218. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +0 -70
  219. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +0 -1
  220. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +0 -59
  221. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +0 -1
  222. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +0 -27
  223. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +0 -1
  224. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +0 -30
  225. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +0 -1
  226. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +0 -17
  227. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  228. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +0 -40
  229. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +0 -1
  230. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +0 -70
  231. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  232. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +0 -87
  233. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +0 -1
  234. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +0 -35
  235. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +0 -1
  236. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +0 -43
  237. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +0 -1
  238. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +0 -25
  239. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +0 -1
  240. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +0 -54
  241. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +0 -1
  242. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +0 -44
  243. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +0 -1
  244. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js +0 -21
  245. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +0 -1
  246. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +0 -50
  247. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +0 -1
  248. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +0 -57
  249. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +0 -1
  250. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +0 -62
  251. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +0 -1
  252. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +0 -61
  253. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +0 -1
  254. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +0 -55
  255. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +0 -1
  256. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +0 -52
  257. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  258. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +0 -40
  259. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +0 -1
  260. package/lib/esm/utils/index.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -48,11 +48,12 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
48
48
  var _role = 'table';
49
49
 
50
50
  var _prefix = classname.getPrefixCls(_role);
51
+
52
+ var EMBED_ON_ROW_PROPS = {};
51
53
  /**
52
54
  * TODO: What is TableRow
53
55
  */
54
56
 
55
-
56
57
  var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
57
58
  var _ref$prefixCls = _ref.prefixCls,
58
59
  prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
@@ -63,13 +64,14 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
63
64
  isAvgRow = _ref.isAvgRow;
64
65
 
65
66
  var _useTableContext = context.useTableContext(),
67
+ striped = _useTableContext.striped,
68
+ showRowHighlight = _useTableContext.showRowHighlight,
66
69
  onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
67
70
  isHighlightedRow = _useTableContext.isHighlightedRow,
68
71
  flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
69
72
  isErrorRow = _useTableContext.isErrorRow,
70
73
  columns = _useTableContext.columns,
71
74
  embedExpandable = _useTableContext.embedExpandable,
72
- hoverRow = _useTableContext.hoverRow,
73
75
  draggable = _useTableContext.draggable,
74
76
  onDragStartContext = _useTableContext.onDragStart,
75
77
  onDragLeaveContext = _useTableContext.onDragLeave,
@@ -81,16 +83,16 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
81
83
  var rowData = rowDataProp.raw,
82
84
  rowId = rowDataProp.id; // ** ************** 拖拽管理 *************** *//
83
85
 
84
- var _React$useState = React__default['default'].useState(false),
86
+ var _React$useState = React__default["default"].useState(false),
85
87
  dragging = _React$useState[0],
86
88
  setDragging = _React$useState[1];
87
89
 
88
- var _React$useState2 = React__default['default'].useState(),
90
+ var _React$useState2 = React__default["default"].useState(),
89
91
  dragDirection = _React$useState2[0],
90
92
  setDragDirection = _React$useState2[1];
91
93
 
92
94
  var onDragStartContextLatest = useLatest.useLatestCallback(onDragStartContext);
93
- var onDragStart = React__default['default'].useCallback(function (evt) {
95
+ var onDragStart = React__default["default"].useCallback(function (evt) {
94
96
  if (!draggable) return;
95
97
  evt.stopPropagation();
96
98
  var clientY = evt.clientY;
@@ -107,7 +109,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
107
109
  dragNode: rowData
108
110
  });
109
111
  }, [draggable, dragRowRef, onDragStartContextLatest, rowData, rowId]);
110
- var onDragOver = React__default['default'].useCallback(function (evt) {
112
+ var onDragOver = React__default["default"].useCallback(function (evt) {
111
113
  if (!draggable) return;
112
114
  evt.preventDefault();
113
115
  evt.stopPropagation();
@@ -125,7 +127,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
125
127
  }
126
128
  }, [draggable, dragRowRef, rowId]);
127
129
  var onDragLeaveContextLatest = useLatest.useLatestCallback(onDragLeaveContext);
128
- var onDragLeave = React__default['default'].useCallback(function (evt) {
130
+ var onDragLeave = React__default["default"].useCallback(function (evt) {
129
131
  if (!draggable) return;
130
132
  evt.preventDefault();
131
133
  evt.stopPropagation();
@@ -133,7 +135,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
133
135
  onDragLeaveContextLatest(evt);
134
136
  }, [draggable, onDragLeaveContextLatest]);
135
137
  var onDragEndContextLatest = useLatest.useLatestCallback(onDragEndContext);
136
- var onDragEnd = React__default['default'].useCallback(function (evt) {
138
+ var onDragEnd = React__default["default"].useCallback(function (evt) {
137
139
  if (!draggable) return;
138
140
  evt.preventDefault();
139
141
  evt.stopPropagation();
@@ -145,7 +147,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
145
147
  }, [draggable, dragRowRef, onDragEndContextLatest]);
146
148
  var onDropContextLatest = useLatest.useLatestCallback(onDropContext); // 放置目标元素时触发事件
147
149
 
148
- var onDrop = React__default['default'].useCallback(function (evt) {
150
+ var onDrop = React__default["default"].useCallback(function (evt) {
149
151
  if (!draggable) return;
150
152
  if (!dragRowRef.current) return;
151
153
  var dragId = dragRowRef.current.dragId;
@@ -167,14 +169,13 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
167
169
  }, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]); // ** ************** 行状态管理 *************** *//
168
170
 
169
171
  var highlighted = isHighlightedRow(rowId);
170
- var hovered = hoverRow === rowId;
171
172
  var hasError = isErrorRow(rowId);
172
- var cls = classname.cx(prefixCls + "-row", hasError && prefixCls + "-row--error", hovered && prefixCls + "-row--hovered", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg");
173
+ var cls = classname.cx(prefixCls + "-row", showRowHighlight && prefixCls + "-row--hover", striped && (rowIndex & 1) === 1 && prefixCls + "-row--striped", hasError && prefixCls + "-row--error", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg");
173
174
  var firstColumn = flattedColumnsWithoutChildren.find(function (item) {
174
175
  return item.dataKey !== Table.SELECTION_DATA_KEY && item.dataKey !== BaseTable.EMBED_DATA_KEY;
175
176
  });
176
- var rowExtraProps = typeAssertion.isFunction(onRow) ? onRow() : {};
177
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("tr", Object.assign({
177
+ var rowExtraProps = typeAssertion.isFunction(onRow) ? onRow(isSumRow || isAvgRow ? null : rowData, rowIndex) : EMBED_ON_ROW_PROPS;
178
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("tr", Object.assign({
178
179
  ref: ref,
179
180
  className: cls,
180
181
  key: "row"
@@ -184,7 +185,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
184
185
  rowExtraProps.onDoubleClick(evt);
185
186
  }
186
187
 
187
- onHighlightedRowChange(rowData, !highlighted);
188
+ onHighlightedRowChange(rowDataProp, !highlighted);
188
189
  },
189
190
  draggable: domUtils.setAttrAria(draggable),
190
191
  onDragStart: onDragStart,
@@ -193,7 +194,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
193
194
  onDragLeave: onDragLeave,
194
195
  onDrop: onDrop
195
196
  }), flattedColumnsWithoutChildren.map(function (column, idx) {
196
- return /*#__PURE__*/React__default['default'].createElement(TableCell.TableCell, {
197
+ return /*#__PURE__*/React__default["default"].createElement(TableCell.TableCell, {
197
198
  key: idx,
198
199
  column: column,
199
200
  isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
@@ -201,7 +202,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
201
202
  rowIndex: rowIndex,
202
203
  expandedTree: expandedTree
203
204
  });
204
- })), embedExpandable ? /*#__PURE__*/React__default['default'].createElement(TableEmbedRow.TableEmbedRow, {
205
+ })), embedExpandable ? /*#__PURE__*/React__default["default"].createElement(TableEmbedRow.TableEmbedRow, {
205
206
  colSpan: columns.length,
206
207
  rowData: rowDataProp,
207
208
  rowIndex: rowIndex
@@ -213,4 +214,3 @@ if (env.__DEV__) {
213
214
  }
214
215
 
215
216
  exports.TableRow = TableRow;
216
- //# sourceMappingURL=TableRow.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -33,11 +33,11 @@ var useToggle = require('@hi-ui/use-toggle');
33
33
 
34
34
  var useLatest = require('@hi-ui/use-latest');
35
35
 
36
- var localeContext = require('@hi-ui/locale-context');
36
+ var core = require('@hi-ui/core');
37
37
 
38
- var index$1 = require('./utils/func-utils/lib/esm/index.js');
38
+ var funcUtils = require('@hi-ui/func-utils');
39
39
 
40
- var index = require('./hooks/use-drag-sorter/lib/esm/index.js');
40
+ var useDragSorter = require('@hi-ui/use-drag-sorter');
41
41
 
42
42
  var drawer = require('@hi-ui/drawer');
43
43
 
@@ -65,31 +65,31 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
65
  var _ref$prefixCls = _ref.prefixCls,
66
66
  prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
67
67
  sortedCols = _ref.sortedCols,
68
- setSortCols = _ref.setSortCols,
68
+ setSortColKeys = _ref.setSortColKeys,
69
69
  cacheSortedCols = _ref.cacheSortedCols,
70
70
  setCacheSortedCols = _ref.setCacheSortedCols,
71
71
  hiddenColKeys = _ref.hiddenColKeys,
72
72
  setHiddenColKeys = _ref.setHiddenColKeys,
73
73
  cacheHiddenColKeys = _ref.cacheHiddenColKeys,
74
74
  setCacheHiddenColKeys = _ref.setCacheHiddenColKeys;
75
- var i18n = localeContext.useLocaleContext();
76
- var dropProps = index.useDrop({
75
+ var i18n = core.useLocaleContext();
76
+ var dropProps = useDragSorter.useDrop({
77
77
  draggable: true,
78
78
  idFieldName: 'dataKey',
79
79
  onSwap: function onSwap(dragItem, dropItem, direction, info) {
80
- return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
81
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
80
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
81
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
82
82
  while (1) {
83
83
  switch (_context.prev = _context.next) {
84
84
  case 0:
85
85
  setCacheSortedCols(function (prev) {
86
- var nextCacheSortColKeys = [].concat(prev);
86
+ var nextCacheSortCols = [].concat(prev);
87
87
 
88
- var _nextCacheSortColKeys = nextCacheSortColKeys.splice(info.dragIndex, 1),
89
- removed = _nextCacheSortColKeys[0];
88
+ var _nextCacheSortCols$sp = nextCacheSortCols.splice(info.dragIndex, 1),
89
+ removed = _nextCacheSortCols$sp[0];
90
90
 
91
- nextCacheSortColKeys.splice(info.dropIndex, 0, removed);
92
- return nextCacheSortColKeys;
91
+ nextCacheSortCols.splice(info.dropIndex, 0, removed);
92
+ return nextCacheSortCols;
93
93
  });
94
94
  return _context.abrupt("return", true);
95
95
 
@@ -124,38 +124,41 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
124
124
  var onConfirm = function onConfirm() {
125
125
  // 触发 table 更新列显隐及排序
126
126
  setHiddenColKeys(cacheHiddenColKeys);
127
- setSortCols(cacheSortedCols);
127
+ setSortColKeys(cacheSortedCols.map(function (col) {
128
+ return col.dataKey;
129
+ }));
128
130
  menuVisibleAction.off();
129
131
  };
130
132
 
131
133
  var cls = classname.cx(prefixCls);
132
- return /*#__PURE__*/React__default['default'].createElement("div", {
134
+ return /*#__PURE__*/React__default["default"].createElement("div", {
133
135
  ref: ref,
134
136
  className: cls
135
- }, /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
136
- icon: /*#__PURE__*/React__default['default'].createElement(icons.SettingOutlined, null),
137
+ }, /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
138
+ icon: /*#__PURE__*/React__default["default"].createElement(icons.EllipsisVerticalOutlined, null),
137
139
  onClick: menuVisibleAction.not
138
- }), /*#__PURE__*/React__default['default'].createElement(drawer.Drawer, {
140
+ }), /*#__PURE__*/React__default["default"].createElement(drawer.Drawer, {
139
141
  className: prefixCls + "__drawer",
140
142
  title: i18n.get('table.fieldExplorer'),
141
143
  visible: menuVisible,
142
144
  onClose: menuVisibleAction.off,
143
- footer: /*#__PURE__*/React__default['default'].createElement("div", {
145
+ width: 304,
146
+ footer: /*#__PURE__*/React__default["default"].createElement("div", {
144
147
  className: prefixCls + "__btn-group"
145
- }, /*#__PURE__*/React__default['default'].createElement(button.Button, {
148
+ }, /*#__PURE__*/React__default["default"].createElement(button.Button, {
146
149
  key: 0,
147
150
  className: prefixCls + "__btn-cancel",
148
151
  onClick: resetLatest
149
- }, i18n.get('table.reset')), /*#__PURE__*/React__default['default'].createElement(button.Button, {
152
+ }, i18n.get('table.reset')), /*#__PURE__*/React__default["default"].createElement(button.Button, {
150
153
  key: 1,
151
154
  className: prefixCls + "__btn-confirm",
152
155
  onClick: onConfirm,
153
156
  type: "primary"
154
157
  }, i18n.get('table.confirm')))
155
- }, /*#__PURE__*/React__default['default'].createElement("div", {
158
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
156
159
  className: prefixCls + "__content"
157
160
  }, cacheSortedCols.map(function (col, index) {
158
- return /*#__PURE__*/React__default['default'].createElement(TableSettingMenuItem, {
161
+ return /*#__PURE__*/React__default["default"].createElement(TableSettingMenuItem, {
159
162
  key: col.dataKey,
160
163
  prefixCls: prefixCls,
161
164
  column: col,
@@ -177,13 +180,13 @@ function TableSettingMenuItem(_ref2) {
177
180
  cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
178
181
  setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
179
182
  dropProps = _ref2.dropProps,
180
- index$2 = _ref2.index;
183
+ index = _ref2.index;
181
184
  var dataKey = column.dataKey,
182
185
  title = column.title;
183
186
 
184
- var _useDrag = index.useDrag(Object.assign(Object.assign({}, dropProps), {
187
+ var _useDrag = useDragSorter.useDrag(Object.assign(Object.assign({}, dropProps), {
185
188
  item: column,
186
- index: index$2,
189
+ index: index,
187
190
  idFieldName: 'dataKey',
188
191
  dataTransferKey: 'table-setting-data'
189
192
  })),
@@ -192,16 +195,11 @@ function TableSettingMenuItem(_ref2) {
192
195
  getDragTriggerProps = _useDrag.getDragTriggerProps,
193
196
  getDropTriggerProps = _useDrag.getDropTriggerProps;
194
197
 
195
- return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
198
+ return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
196
199
  className: classname.cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
197
- }, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default['default'].createElement("div", {
200
+ }, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default["default"].createElement("div", {
198
201
  className: prefixCls + "-item__wrap"
199
- }, /*#__PURE__*/React__default['default'].createElement("div", {
200
- style: {
201
- display: 'flex',
202
- alignItems: 'center'
203
- }
204
- }, /*#__PURE__*/React__default['default'].createElement(Checkbox.Checkbox, {
202
+ }, /*#__PURE__*/React__default["default"].createElement(Checkbox.Checkbox, {
205
203
  checked: !cacheHiddenColKeys.includes(dataKey),
206
204
  onChange: function onChange(evt) {
207
205
  var shouldChecked = evt.target.checked;
@@ -210,13 +208,7 @@ function TableSettingMenuItem(_ref2) {
210
208
  }) : cacheHiddenColKeys.concat(dataKey);
211
209
  setCacheHiddenColKeys(nextCacheHiddenColKeys);
212
210
  }
213
- }), /*#__PURE__*/React__default['default'].createElement("span", {
214
- style: {
215
- display: 'inline-block',
216
- marginLeft: 9
217
- }
218
- }, index$1.runIfFunc(title))), /*#__PURE__*/React__default['default'].createElement(icons.MenuOutlined, null)));
211
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, funcUtils.runIfFunc(title))), /*#__PURE__*/React__default["default"].createElement(icons.MoveOutlined, null)));
219
212
  }
220
213
 
221
214
  exports.TableSettingMenu = TableSettingMenu;
222
- //# sourceMappingURL=TableSettingMenu.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -30,4 +30,3 @@ var useTableContext = function useTableContext() {
30
30
 
31
31
  exports.TableProvider = TableProvider;
32
32
  exports.useTableContext = useTableContext;
33
- //# sourceMappingURL=context.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -39,9 +39,9 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
39
39
  var onLoadChildrenLatest = useLatest.useLatestCallback(onLoadChildren); // 加载节点
40
40
 
41
41
  var loadChildren = React.useCallback(function (node) {
42
- return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
42
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
43
43
  var childrenNodes;
44
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
44
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
45
45
  while (1) {
46
46
  switch (_context.prev = _context.next) {
47
47
  case 0:
@@ -79,9 +79,9 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
79
79
  onlyExpand = false;
80
80
  }
81
81
 
82
- return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
82
+ return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
83
83
  var id, children, isLeaf;
84
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
84
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
85
85
  while (1) {
86
86
  switch (_context2.prev = _context2.next) {
87
87
  case 0:
@@ -142,4 +142,3 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
142
142
  };
143
143
 
144
144
  exports.useAsyncSwitch = useAsyncSwitch;
145
- //# sourceMappingURL=use-async-switch.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -35,7 +35,7 @@ var useTableCheck = function useTableCheck(_ref) {
35
35
  var rowSelection = _ref.rowSelection,
36
36
  flattedData = _ref.flattedData,
37
37
  fieldKey = _ref.fieldKey;
38
- var checkRowIsDisabledCheckbox = React__default['default'].useCallback(function (rowItem) {
38
+ var checkRowIsDisabledCheckbox = React__default["default"].useCallback(function (rowItem) {
39
39
  var checkboxConfig = rowSelection && rowSelection.getCheckboxConfig && rowSelection.getCheckboxConfig(rowItem);
40
40
  return checkboxConfig && checkboxConfig.disabled || false;
41
41
  }, [rowSelection]);
@@ -54,21 +54,28 @@ var useTableCheck = function useTableCheck(_ref) {
54
54
  isCheckedRowKey = _useCheck[1]; // 判断是否全选
55
55
 
56
56
 
57
- var _React$useMemo = React__default['default'].useMemo(function () {
57
+ var _React$useMemo = React__default["default"].useMemo(function () {
58
58
  if (rowSelection) {
59
59
  if (flattedData.length === 0 || checkedRowKeys.length === 0) {
60
60
  return [false, false];
61
61
  }
62
62
 
63
- var _checkedAll = flattedData.filter(function (item) {
63
+ var idsCanBeChecked = flattedData.filter(function (item) {
64
64
  return !checkRowIsDisabledCheckbox(item.raw);
65
- }) // TODO: 数组项完全匹配工具函数
66
- . // TODO: 数组项完全匹配工具函数
67
- every(function (item) {
68
- return isCheckedRowKey(item.id);
65
+ }).map(function (item) {
66
+ return item.id;
67
+ }); // TODO: 数组项完全匹配工具函数
68
+ // TODO: 数组项完全匹配工具函数
69
+
70
+ var _checkedAll = idsCanBeChecked.every(function (id) {
71
+ return isCheckedRowKey(id);
72
+ });
73
+
74
+ var _semiChecked = _checkedAll ? false : checkedRowKeys.length > 0 && idsCanBeChecked.some(function (id) {
75
+ return isCheckedRowKey(id);
69
76
  });
70
77
 
71
- return [_checkedAll, _checkedAll ? false : checkedRowKeys.length > 0];
78
+ return [_checkedAll, _semiChecked];
72
79
  }
73
80
 
74
81
  return [false, false];
@@ -76,19 +83,35 @@ var useTableCheck = function useTableCheck(_ref) {
76
83
  checkedAll = _React$useMemo[0],
77
84
  semiChecked = _React$useMemo[1];
78
85
 
79
- var tryCheckAllRow = React__default['default'].useCallback(function () {
80
- if (checkedAll) {
81
- trySetCheckedRowKeys([], [], false);
82
- return;
83
- }
84
-
86
+ var tryCheckAllRow = React__default["default"].useCallback(function () {
85
87
  var targetItems = flattedData.filter(function (item) {
86
88
  return !checkRowIsDisabledCheckbox(item.raw);
87
89
  });
88
90
  var checkedRowKeys = targetItems.map(function (item) {
89
91
  return item.id;
90
92
  });
91
- trySetCheckedRowKeys(checkedRowKeys, targetItems, true);
93
+ var targetRowItems = targetItems.map(function (item) {
94
+ return item.raw;
95
+ });
96
+ var checkedRowKeysSet = new Set(checkedRowKeys);
97
+
98
+ if (checkedAll) {
99
+ // 移除当前页所有行 ids
100
+ trySetCheckedRowKeys(function (prev) {
101
+ return prev.filter(function (id) {
102
+ return !checkedRowKeysSet.has(id);
103
+ });
104
+ }, targetRowItems, false);
105
+ return;
106
+ }
107
+
108
+ trySetCheckedRowKeys( // 添加当前页所有行 ids
109
+ function (prev) {
110
+ prev.forEach(function (id) {
111
+ return checkedRowKeysSet.add(id);
112
+ });
113
+ return Array.from(checkedRowKeysSet);
114
+ }, targetRowItems, true);
92
115
  }, [trySetCheckedRowKeys, flattedData, checkRowIsDisabledCheckbox, checkedAll]);
93
116
  return {
94
117
  tryCheckAllRow: tryCheckAllRow,
@@ -103,4 +126,3 @@ var useTableCheck = function useTableCheck(_ref) {
103
126
  };
104
127
 
105
128
  exports.useTableCheck = useTableCheck;
106
- //# sourceMappingURL=use-check.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -73,4 +73,3 @@ var useColHidden = function useColHidden(_ref) {
73
73
  };
74
74
 
75
75
  exports.useColHidden = useColHidden;
76
- //# sourceMappingURL=use-col-hidden.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -17,6 +17,10 @@ var React = require('react');
17
17
 
18
18
  var useUpdateEffect = require('@hi-ui/use-update-effect');
19
19
 
20
+ var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
21
+
22
+ var useLatest = require('@hi-ui/use-latest');
23
+
20
24
  var index = require('../utils/index.js');
21
25
 
22
26
  var DEFAULT_COLUMNS = [];
@@ -27,38 +31,59 @@ var DEFAULT_COLUMNS = [];
27
31
  var useColSorter = function useColSorter(_ref) {
28
32
  var uniqueId = _ref.uniqueId,
29
33
  _ref$columns = _ref.columns,
30
- columns = _ref$columns === void 0 ? DEFAULT_COLUMNS : _ref$columns;
34
+ columns = _ref$columns === void 0 ? DEFAULT_COLUMNS : _ref$columns,
35
+ sortedColKeysProp = _ref.sortedColKeys,
36
+ onSortedColKeysChange = _ref.onSortedColKeysChange;
31
37
  var cacheKey = uniqueId ? uniqueId + "_sortCols" : '';
32
38
 
33
- var _useState = React.useState(function () {
39
+ var _useUncontrolledState = useUncontrolledState.useUncontrolledState(function () {
34
40
  return index.parseLocalArray({
35
41
  key: cacheKey,
36
- defaultValue: columns
42
+ defaultValue: columns.map(function (column) {
43
+ return column.dataKey;
44
+ })
37
45
  });
38
- }),
39
- sortedCols = _useState[0],
40
- setSortCols = _useState[1];
46
+ }, sortedColKeysProp, onSortedColKeysChange),
47
+ sortedColKeys = _useUncontrolledState[0],
48
+ setSortColKeys = _useUncontrolledState[1];
41
49
 
50
+ useUpdateEffect.useUpdateEffect(function () {
51
+ // 当column发生改变的时候,同步 setting 的 sortedCols 设置
52
+ setSortColKeys(columns.map(function (column) {
53
+ return column.dataKey;
54
+ }));
55
+ }, [columns]);
56
+ var columnsLatestRef = useLatest.useLatestRef(columns);
57
+ var sortedCols = React.useMemo(function () {
58
+ var columnsMap = columnsLatestRef.current.reduce(function (prev, cur) {
59
+ prev[cur.dataKey] = cur;
60
+ return prev;
61
+ }, {});
62
+ return sortedColKeys.map(function (colKey) {
63
+ return columnsMap[colKey];
64
+ }).filter(Boolean);
65
+ }, [sortedColKeys, columnsLatestRef]);
42
66
  React.useEffect(function () {
43
67
  if (!cacheKey) return;
44
- window.localStorage.setItem(cacheKey, JSON.stringify(sortedCols));
45
- }, [cacheKey, sortedCols]); // 用于维护列操作时排序临时状态((未确认保存时))
68
+ window.localStorage.setItem(cacheKey, JSON.stringify(sortedColKeys));
69
+ }, [cacheKey, sortedColKeys]); // 用于维护列操作时排序临时状态((未确认保存时))
46
70
 
47
- var _useState2 = React.useState(sortedCols),
48
- cacheSortedCols = _useState2[0],
49
- setCacheSortedCols = _useState2[1];
71
+ var _useState = React.useState(sortedCols),
72
+ _cacheSortedCols = _useState[0],
73
+ setCacheSortedCols = _useState[1]; // 保证排序的 column,是有效的可展示的列
50
74
 
51
- useUpdateEffect.useUpdateEffect(function () {
52
- // 当column发生改变的时候,同步 setting sortedCols 设置
53
- setSortCols(columns);
54
- }, [columns]);
75
+
76
+ var cacheSortedCols = React.useMemo(function () {
77
+ return _cacheSortedCols.filter(function (col) {
78
+ return col && typeof col.dataKey === 'string' && col.dataKey !== '';
79
+ });
80
+ }, [_cacheSortedCols]);
55
81
  return {
56
82
  sortedCols: sortedCols,
57
- setSortCols: setSortCols,
83
+ setSortColKeys: setSortColKeys,
58
84
  cacheSortedCols: cacheSortedCols,
59
85
  setCacheSortedCols: setCacheSortedCols
60
86
  };
61
87
  };
62
88
 
63
89
  exports.useColSorter = useColSorter;
64
- //# sourceMappingURL=use-col-sorter.js.map
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -33,7 +33,7 @@ var useColWidth = function useColWidth(_ref) {
33
33
  var columns = _ref.columns;
34
34
  var measureRowElementRef = React.useRef(null);
35
35
 
36
- var _React$useState = React__default['default'].useState(function () {
36
+ var _React$useState = React__default["default"].useState(function () {
37
37
  return index.getGroupItemWidth(columns);
38
38
  }),
39
39
  colWidths = _React$useState[0],
@@ -46,7 +46,7 @@ var useColWidth = function useColWidth(_ref) {
46
46
  * 根据实际内容区(table 的第一行)渲染,再次精确收集并设置每列宽度
47
47
  */
48
48
 
49
- React__default['default'].useEffect(function () {
49
+ React__default["default"].useEffect(function () {
50
50
  var measureRowElement = measureRowElementRef.current;
51
51
 
52
52
  if (measureRowElement) {
@@ -70,7 +70,7 @@ var useColWidth = function useColWidth(_ref) {
70
70
  return function () {};
71
71
  }, []);
72
72
 
73
- var _React$useState2 = React__default['default'].useState(null),
73
+ var _React$useState2 = React__default["default"].useState(null),
74
74
  headerTableElement = _React$useState2[0],
75
75
  setHeaderTableElement = _React$useState2[1];
76
76
  /**
@@ -78,7 +78,7 @@ var useColWidth = function useColWidth(_ref) {
78
78
  */
79
79
 
80
80
 
81
- var minColWidth = React__default['default'].useMemo(function () {
81
+ var minColWidth = React__default["default"].useMemo(function () {
82
82
  if (headerTableElement && headerTableElement.childNodes && headerTableElement.childNodes[1].childNodes[0]) {
83
83
  var _minColWidth = Array.from(headerTableElement.childNodes[1].childNodes[0].childNodes).map(function (th) {
84
84
  // @ts-ignore
@@ -95,7 +95,7 @@ var useColWidth = function useColWidth(_ref) {
95
95
  * 列宽拖拽 resize,只处理拖拽线两边的列宽度
96
96
  */
97
97
 
98
- var onColumnResizable = React__default['default'].useCallback(function (_, _ref2, index) {
98
+ var onColumnResizable = React__default["default"].useCallback(function (_, _ref2, index) {
99
99
  var size = _ref2.size;
100
100
  var minWidth = minColWidth[index] + 31;
101
101
  var anotherMinWidth = minColWidth[index + 1] + 31;
@@ -114,7 +114,7 @@ var useColWidth = function useColWidth(_ref) {
114
114
  return nextColWidths;
115
115
  });
116
116
  }, [minColWidth]);
117
- var getColgroupProps = React__default['default'].useCallback(function (column, index) {
117
+ var getColgroupProps = React__default["default"].useCallback(function (column, index) {
118
118
  var width = colWidths[index] || undefined;
119
119
  return {
120
120
  style: {
@@ -135,4 +135,3 @@ var useColWidth = function useColWidth(_ref) {
135
135
  };
136
136
 
137
137
  exports.useColWidth = useColWidth;
138
- //# sourceMappingURL=use-col-width.js.map