@kne-components/components-core 0.1.47 → 0.1.49

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 (179) hide show
  1. package/build/asset-manifest.json +120 -120
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/css/1151.6fa24bdd.chunk.css +2 -0
  6. package/build/static/css/{1151.20fc6619.chunk.css.map → 1151.6fa24bdd.chunk.css.map} +1 -1
  7. package/build/static/css/1153.37374bcd.chunk.css +2 -0
  8. package/build/static/css/1153.37374bcd.chunk.css.map +1 -0
  9. package/build/static/css/1190.fd2f2205.chunk.css.map +1 -1
  10. package/build/static/css/1454.74f228a5.chunk.css +2 -0
  11. package/build/static/css/{1454.f33bd39c.chunk.css.map → 1454.74f228a5.chunk.css.map} +1 -1
  12. package/build/static/css/1554.2b5a081d.chunk.css +2 -0
  13. package/build/static/css/{1554.1c355d25.chunk.css.map → 1554.2b5a081d.chunk.css.map} +1 -1
  14. package/build/static/css/2503.f9b6442a.chunk.css +2 -0
  15. package/build/static/css/{2503.ca29374c.chunk.css.map → 2503.f9b6442a.chunk.css.map} +1 -1
  16. package/build/static/css/2517.0b60ad88.chunk.css +2 -0
  17. package/build/static/css/{2517.c52a82e0.chunk.css.map → 2517.0b60ad88.chunk.css.map} +1 -1
  18. package/build/static/css/2526.2ea8f82a.chunk.css +2 -0
  19. package/build/static/css/{2526.7437cd77.chunk.css.map → 2526.2ea8f82a.chunk.css.map} +1 -1
  20. package/build/static/css/2716.6c65f7df.chunk.css +2 -0
  21. package/build/static/css/{2716.06fc6e66.chunk.css.map → 2716.6c65f7df.chunk.css.map} +1 -1
  22. package/build/static/css/2730.29b40393.chunk.css +2 -0
  23. package/build/static/css/{2730.e6871ddc.chunk.css.map → 2730.29b40393.chunk.css.map} +1 -1
  24. package/build/static/css/289.d9a87e01.chunk.css +2 -0
  25. package/build/static/css/{289.06da9206.chunk.css.map → 289.d9a87e01.chunk.css.map} +1 -1
  26. package/build/static/css/2999.6b625085.chunk.css +2 -0
  27. package/build/static/css/2999.6b625085.chunk.css.map +1 -0
  28. package/build/static/css/3040.c5583e04.chunk.css +2 -0
  29. package/build/static/css/3040.c5583e04.chunk.css.map +1 -0
  30. package/build/static/css/3333.60311859.chunk.css +2 -0
  31. package/build/static/css/{3333.45e6b752.chunk.css.map → 3333.60311859.chunk.css.map} +1 -1
  32. package/build/static/css/{3843.e3d74a00.chunk.css → 3843.ac8d776e.chunk.css} +2 -2
  33. package/build/static/css/{3843.e3d74a00.chunk.css.map → 3843.ac8d776e.chunk.css.map} +1 -1
  34. package/build/static/css/4666.4092a6aa.chunk.css +2 -0
  35. package/build/static/css/{4666.7ecfd719.chunk.css.map → 4666.4092a6aa.chunk.css.map} +1 -1
  36. package/build/static/css/5600.09a44a09.chunk.css +2 -0
  37. package/build/static/css/{5600.99e73046.chunk.css.map → 5600.09a44a09.chunk.css.map} +1 -1
  38. package/build/static/css/5846.7a58e408.chunk.css +2 -0
  39. package/build/static/css/5846.7a58e408.chunk.css.map +1 -0
  40. package/build/static/css/5868.7e074e10.chunk.css +2 -0
  41. package/build/static/css/5868.7e074e10.chunk.css.map +1 -0
  42. package/build/static/css/{5996.bd48d79d.chunk.css → 5996.fde4d7dc.chunk.css} +2 -2
  43. package/build/static/css/{5996.bd48d79d.chunk.css.map → 5996.fde4d7dc.chunk.css.map} +1 -1
  44. package/build/static/css/6779.9887bf26.chunk.css +2 -0
  45. package/build/static/css/{6779.b0e1970c.chunk.css.map → 6779.9887bf26.chunk.css.map} +1 -1
  46. package/build/static/css/7227.442c3520.chunk.css +2 -0
  47. package/build/static/css/{7227.17c23a37.chunk.css.map → 7227.442c3520.chunk.css.map} +1 -1
  48. package/build/static/css/8148.d813ba7c.chunk.css +2 -0
  49. package/build/static/css/{8148.e1ab5182.chunk.css.map → 8148.d813ba7c.chunk.css.map} +1 -1
  50. package/build/static/css/8208.40ab4266.chunk.css.map +1 -1
  51. package/build/static/css/8393.5c44137c.chunk.css +2 -0
  52. package/build/static/css/8393.5c44137c.chunk.css.map +1 -0
  53. package/build/static/css/{8725.ec7ed3f4.chunk.css → 8725.7d948685.chunk.css} +2 -2
  54. package/build/static/css/{8725.ec7ed3f4.chunk.css.map → 8725.7d948685.chunk.css.map} +1 -1
  55. package/build/static/css/9053.211f796a.chunk.css +2 -0
  56. package/build/static/css/{9053.8cbc5705.chunk.css.map → 9053.211f796a.chunk.css.map} +1 -1
  57. package/build/static/css/931.4ad0db5b.chunk.css +2 -0
  58. package/build/static/css/931.4ad0db5b.chunk.css.map +1 -0
  59. package/build/static/css/9449.891607a4.chunk.css +2 -0
  60. package/build/static/css/9449.891607a4.chunk.css.map +1 -0
  61. package/build/static/css/9689.3e664197.chunk.css +2 -0
  62. package/build/static/css/9689.3e664197.chunk.css.map +1 -0
  63. package/build/static/js/1153.f1797434.chunk.js +3 -0
  64. package/build/static/js/{1153.48034dd3.chunk.js.map → 1153.f1797434.chunk.js.map} +1 -1
  65. package/build/static/js/{1454.bb552c75.chunk.js → 1454.1b55078a.chunk.js} +3 -3
  66. package/build/static/js/{1454.bb552c75.chunk.js.map → 1454.1b55078a.chunk.js.map} +1 -1
  67. package/build/static/js/1554.892ab242.chunk.js +3 -0
  68. package/build/static/js/{1554.5bbca3ee.chunk.js.map → 1554.892ab242.chunk.js.map} +1 -1
  69. package/build/static/js/{1664.67315455.chunk.js → 1664.176bc2bc.chunk.js} +2 -2
  70. package/build/static/js/{1664.67315455.chunk.js.map → 1664.176bc2bc.chunk.js.map} +1 -1
  71. package/build/static/js/{2503.d158fbbb.chunk.js → 2503.6143aaeb.chunk.js} +2 -2
  72. package/build/static/js/{2503.d158fbbb.chunk.js.map → 2503.6143aaeb.chunk.js.map} +1 -1
  73. package/build/static/js/{2517.18ebb85e.chunk.js → 2517.f27b61c0.chunk.js} +2 -2
  74. package/build/static/js/{2517.18ebb85e.chunk.js.map → 2517.f27b61c0.chunk.js.map} +1 -1
  75. package/build/static/js/2526.6d92a326.chunk.js +2 -0
  76. package/build/static/js/{2526.d64653e0.chunk.js.map → 2526.6d92a326.chunk.js.map} +1 -1
  77. package/build/static/js/2716.d9a08df5.chunk.js +3 -0
  78. package/build/static/js/{2716.b8cdbe12.chunk.js.map → 2716.d9a08df5.chunk.js.map} +1 -1
  79. package/build/static/js/{2730.908cb61e.chunk.js → 2730.179ff9d2.chunk.js} +2 -2
  80. package/build/static/js/{2730.908cb61e.chunk.js.map → 2730.179ff9d2.chunk.js.map} +1 -1
  81. package/build/static/js/{289.dacd6fb7.chunk.js → 289.00863f96.chunk.js} +2 -2
  82. package/build/static/js/{289.dacd6fb7.chunk.js.map → 289.00863f96.chunk.js.map} +1 -1
  83. package/build/static/js/{2999.93ca66ed.chunk.js → 2999.35d29a6b.chunk.js} +2 -2
  84. package/build/static/js/{2999.93ca66ed.chunk.js.map → 2999.35d29a6b.chunk.js.map} +1 -1
  85. package/build/static/js/3040.4496f4be.chunk.js +2 -0
  86. package/build/static/js/3040.4496f4be.chunk.js.map +1 -0
  87. package/build/static/js/{3333.5bc8c977.chunk.js → 3333.6bb21c67.chunk.js} +2 -2
  88. package/build/static/js/{3333.5bc8c977.chunk.js.map → 3333.6bb21c67.chunk.js.map} +1 -1
  89. package/build/static/js/{36.4b0d3e32.chunk.js → 36.649f1ed9.chunk.js} +2 -2
  90. package/build/static/js/{36.4b0d3e32.chunk.js.map → 36.649f1ed9.chunk.js.map} +1 -1
  91. package/build/static/js/{3843.8b3ca220.chunk.js → 3843.9d7c3a23.chunk.js} +2 -2
  92. package/build/static/js/{3843.8b3ca220.chunk.js.map → 3843.9d7c3a23.chunk.js.map} +1 -1
  93. package/build/static/js/409.e3189885.chunk.js +2 -0
  94. package/build/static/js/409.e3189885.chunk.js.map +1 -0
  95. package/build/static/js/{4666.69c5682f.chunk.js → 4666.264b83f8.chunk.js} +3 -3
  96. package/build/static/js/{4666.69c5682f.chunk.js.map → 4666.264b83f8.chunk.js.map} +1 -1
  97. package/build/static/js/{5600.2e90c12d.chunk.js → 5600.6f174673.chunk.js} +2 -2
  98. package/build/static/js/{5600.2e90c12d.chunk.js.map → 5600.6f174673.chunk.js.map} +1 -1
  99. package/build/static/js/5846.c97ad505.chunk.js +2 -0
  100. package/build/static/js/5846.c97ad505.chunk.js.map +1 -0
  101. package/build/static/js/{5868.c0f97eda.chunk.js → 5868.e8a1eb9e.chunk.js} +2 -2
  102. package/build/static/js/{5868.c0f97eda.chunk.js.map → 5868.e8a1eb9e.chunk.js.map} +1 -1
  103. package/build/static/js/{5996.25137b28.chunk.js → 5996.22b126f4.chunk.js} +2 -2
  104. package/build/static/js/{5996.25137b28.chunk.js.map → 5996.22b126f4.chunk.js.map} +1 -1
  105. package/build/static/js/{6779.35a87a28.chunk.js → 6779.06aa3a5e.chunk.js} +2 -2
  106. package/build/static/js/{6779.35a87a28.chunk.js.map → 6779.06aa3a5e.chunk.js.map} +1 -1
  107. package/build/static/js/{7227.b7fc7694.chunk.js → 7227.f395d19a.chunk.js} +3 -3
  108. package/build/static/js/{7227.b7fc7694.chunk.js.map → 7227.f395d19a.chunk.js.map} +1 -1
  109. package/build/static/js/{7777.760f68a3.chunk.js → 7777.d3b5ba0b.chunk.js} +2 -2
  110. package/build/static/js/{7777.760f68a3.chunk.js.map → 7777.d3b5ba0b.chunk.js.map} +1 -1
  111. package/build/static/js/{8148.c0ea630c.chunk.js → 8148.6966dd40.chunk.js} +3 -3
  112. package/build/static/js/{8148.c0ea630c.chunk.js.map → 8148.6966dd40.chunk.js.map} +1 -1
  113. package/build/static/js/8393.c2cb9bb6.chunk.js +2 -0
  114. package/build/static/js/8393.c2cb9bb6.chunk.js.map +1 -0
  115. package/build/static/js/{8725.c6080743.chunk.js → 8725.de4f871e.chunk.js} +2 -2
  116. package/build/static/js/{8725.c6080743.chunk.js.map → 8725.de4f871e.chunk.js.map} +1 -1
  117. package/build/static/js/{9053.a573c8b4.chunk.js → 9053.71a389a4.chunk.js} +3 -3
  118. package/build/static/js/{9053.a573c8b4.chunk.js.map → 9053.71a389a4.chunk.js.map} +1 -1
  119. package/build/static/js/{931.e26b4e59.chunk.js → 931.13d6f77a.chunk.js} +2 -2
  120. package/build/static/js/{931.e26b4e59.chunk.js.map → 931.13d6f77a.chunk.js.map} +1 -1
  121. package/build/static/js/{9449.3a865a2e.chunk.js → 9449.e85c1558.chunk.js} +2 -2
  122. package/build/static/js/{9449.3a865a2e.chunk.js.map → 9449.e85c1558.chunk.js.map} +1 -1
  123. package/build/static/js/{main.15660af5.js → main.78e60326.js} +2 -2
  124. package/build/static/js/{main.15660af5.js.map → main.78e60326.js.map} +1 -1
  125. package/package.json +2 -2
  126. package/build/static/css/1151.20fc6619.chunk.css +0 -2
  127. package/build/static/css/1153.b63cc6d8.chunk.css +0 -2
  128. package/build/static/css/1153.b63cc6d8.chunk.css.map +0 -1
  129. package/build/static/css/1454.f33bd39c.chunk.css +0 -2
  130. package/build/static/css/1554.1c355d25.chunk.css +0 -2
  131. package/build/static/css/2503.ca29374c.chunk.css +0 -2
  132. package/build/static/css/2517.c52a82e0.chunk.css +0 -2
  133. package/build/static/css/2526.7437cd77.chunk.css +0 -2
  134. package/build/static/css/2716.06fc6e66.chunk.css +0 -2
  135. package/build/static/css/2730.e6871ddc.chunk.css +0 -2
  136. package/build/static/css/289.06da9206.chunk.css +0 -2
  137. package/build/static/css/2999.5f88757d.chunk.css +0 -2
  138. package/build/static/css/2999.5f88757d.chunk.css.map +0 -1
  139. package/build/static/css/3040.41bbe1d8.chunk.css +0 -2
  140. package/build/static/css/3040.41bbe1d8.chunk.css.map +0 -1
  141. package/build/static/css/3333.45e6b752.chunk.css +0 -2
  142. package/build/static/css/4666.7ecfd719.chunk.css +0 -2
  143. package/build/static/css/5600.99e73046.chunk.css +0 -2
  144. package/build/static/css/5846.bf802a9f.chunk.css +0 -2
  145. package/build/static/css/5846.bf802a9f.chunk.css.map +0 -1
  146. package/build/static/css/5868.9ed223e2.chunk.css +0 -2
  147. package/build/static/css/5868.9ed223e2.chunk.css.map +0 -1
  148. package/build/static/css/6779.b0e1970c.chunk.css +0 -2
  149. package/build/static/css/7227.17c23a37.chunk.css +0 -2
  150. package/build/static/css/8148.e1ab5182.chunk.css +0 -2
  151. package/build/static/css/8393.657a0ded.chunk.css +0 -2
  152. package/build/static/css/8393.657a0ded.chunk.css.map +0 -1
  153. package/build/static/css/9053.8cbc5705.chunk.css +0 -2
  154. package/build/static/css/931.d99634f2.chunk.css +0 -2
  155. package/build/static/css/931.d99634f2.chunk.css.map +0 -1
  156. package/build/static/css/9449.d0b6f15c.chunk.css +0 -2
  157. package/build/static/css/9449.d0b6f15c.chunk.css.map +0 -1
  158. package/build/static/css/9689.ddb8c9de.chunk.css +0 -2
  159. package/build/static/css/9689.ddb8c9de.chunk.css.map +0 -1
  160. package/build/static/js/1153.48034dd3.chunk.js +0 -3
  161. package/build/static/js/1554.5bbca3ee.chunk.js +0 -3
  162. package/build/static/js/2526.d64653e0.chunk.js +0 -2
  163. package/build/static/js/2716.b8cdbe12.chunk.js +0 -3
  164. package/build/static/js/3040.18cf7b83.chunk.js +0 -2
  165. package/build/static/js/3040.18cf7b83.chunk.js.map +0 -1
  166. package/build/static/js/409.0bde463a.chunk.js +0 -2
  167. package/build/static/js/409.0bde463a.chunk.js.map +0 -1
  168. package/build/static/js/5846.c118d076.chunk.js +0 -2
  169. package/build/static/js/5846.c118d076.chunk.js.map +0 -1
  170. package/build/static/js/8393.a7b831ca.chunk.js +0 -2
  171. package/build/static/js/8393.a7b831ca.chunk.js.map +0 -1
  172. /package/build/static/js/{1153.48034dd3.chunk.js.LICENSE.txt → 1153.f1797434.chunk.js.LICENSE.txt} +0 -0
  173. /package/build/static/js/{1454.bb552c75.chunk.js.LICENSE.txt → 1454.1b55078a.chunk.js.LICENSE.txt} +0 -0
  174. /package/build/static/js/{1554.5bbca3ee.chunk.js.LICENSE.txt → 1554.892ab242.chunk.js.LICENSE.txt} +0 -0
  175. /package/build/static/js/{2716.b8cdbe12.chunk.js.LICENSE.txt → 2716.d9a08df5.chunk.js.LICENSE.txt} +0 -0
  176. /package/build/static/js/{4666.69c5682f.chunk.js.LICENSE.txt → 4666.264b83f8.chunk.js.LICENSE.txt} +0 -0
  177. /package/build/static/js/{7227.b7fc7694.chunk.js.LICENSE.txt → 7227.f395d19a.chunk.js.LICENSE.txt} +0 -0
  178. /package/build/static/js/{8148.c0ea630c.chunk.js.LICENSE.txt → 8148.6966dd40.chunk.js.LICENSE.txt} +0 -0
  179. /package/build/static/js/{9053.a573c8b4.chunk.js.LICENSE.txt → 9053.71a389a4.chunk.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/5868.c0f97eda.chunk.js","mappings":"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","sources":["webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","components/Features/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseSum.js","../node_modules/lodash/_createAggregator.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/findLastIndex.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/set.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/toInteger.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__9Lc6E\",\"scroller-inner\":\"style_scroller-inner__NJSE0__9Lc6E\",\"is-moving\":\"style_is-moving__jGuy0__9Lc6E\"};","import { createPortal } from \"react-dom\";\nimport { useEffect, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst ScrollBar = ({ onScroll, getContainer, ...scrollerProps }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(moving);\n movingRef.current = moving;\n const onScrollRef = useRef(onScroll);\n onScrollRef.current = onScroll;\n const ratioRef = useRef(1);\n ratioRef.current = scrollerProps.width / scrollerProps.innerWidth;\n\n useEffect(() => {\n const moveHandler = (e) => {\n movingRef.current &&\n onScrollRef.current(ratioRef.current * (e.clientX - startRef.current));\n startRef.current = e.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener(\"mousemove\", moveHandler, true);\n document.addEventListener(\"mouseup\", upHandler, true);\n return () => {\n document.removeEventListener(\"mousemove\", moveHandler, true);\n document.removeEventListener(\"mouseup\", upHandler, true);\n };\n }, []);\n return createPortal(\n scrollerProps.hasScroller ? (\n <div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left,\n width: scrollerProps.width,\n height: 15, //scrollerProps.height\n }}\n >\n <div\n className={classnames(style[\"scroller-inner\"], {\n [style[\"is-moving\"]]: moving,\n })}\n style={{\n width: scrollerProps.innerWidth,\n left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>\n ) : null,\n getContainer() || document.body\n );\n};\n\nconst Scroller = ({ className, scroller, getScrollTarget, children }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0,\n width: 0,\n innerLeft: 0,\n innerWidth: 0,\n height: 0,\n hasScroller: false,\n });\n const ref = useRef(null);\n const getScrollEl = useRefCallback(() => {\n return ref.current && getScrollTarget(ref.current);\n });\n const getContainer = useRef();\n\n getContainer.current =\n typeof scroller === \"object\" && typeof scroller.getContainer === \"function\"\n ? scroller.getContainer\n : () => null;\n useEffect(() => {\n const container = getContainer.current() || document.documentElement;\n let scrollEl;\n const computed = () => {\n if (!scrollEl) {\n return;\n }\n const { left, width, top, height } = scrollEl.getBoundingClientRect();\n const scrollerHeight =\n scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth =\n (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft =\n (scrollEl.scrollLeft * scrollEl.clientWidth) / scrollEl.scrollWidth + 2;\n const containerRect = container.getBoundingClientRect();\n //console.log(endRef.current.vi);\n setScrollerProps((props) => {\n return Object.assign({}, props, {\n left,\n width,\n innerLeft,\n innerWidth,\n height: scrollerHeight,\n hasScroller:\n scrollEl.scrollWidth - scrollEl.clientWidth > 0 &&\n (container === document.documentElement\n ? top + height - container.offsetHeight > 0 &&\n top < container.offsetHeight\n : top < containerRect.top + containerRect.height &&\n top + height > containerRect.top + containerRect.height),\n });\n });\n };\n const resizeObserver = new ResizeObserver(computed);\n const refResizeObserver = new ResizeObserver(() => {\n scrollEl = getScrollEl();\n if (!scrollEl) {\n return;\n }\n resizeObserver.disconnect();\n computed();\n Array.from(scrollEl.children).forEach((item) => {\n resizeObserver.observe(item);\n });\n scrollEl.addEventListener(\"scroll\", computed);\n });\n\n refResizeObserver.observe(ref.current);\n\n window.addEventListener(\"scroll\", computed);\n container.addEventListener(\"scroll\", computed);\n return () => {\n window.removeEventListener(\"scroll\", computed);\n container.removeEventListener(\"scroll\", computed);\n };\n }, [getScrollEl]);\n if (!scroller) {\n return children;\n }\n return (\n <div\n className={classnames(style[\"scroller-outer\"], className)}\n ref={ref}\n style={{\n \"--scroller-bar-height\": scrollerProps?.hasScroller ? \"15px\" : \"0px\",\n }}\n >\n {children}\n <ScrollBar\n {...scrollerProps}\n getContainer={getContainer.current}\n onScroll={(x) => {\n const scrollEl = getScrollEl();\n scrollEl.scrollLeft += x;\n }}\n />\n </div>\n );\n};\n\nScroller.defaultProps = {\n scroller: true,\n getScrollTarget: () => document.querySelector(\".simplebar-content-wrapper\"),\n};\n\nexport default Scroller;\n","const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__9Lc6E\",\"hidden-container\":\"style_hidden-container__EdySA__9Lc6E\",\"hidden-inner\":\"style_hidden-inner__vAN59__9Lc6E\",\"menu-list\":\"style_menu-list__VDttR__9Lc6E\",\"btn-item\":\"style_btn-item__mp5MQ__9Lc6E\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\nimport memoize from \"lodash/memoize\";\n\nconst areaWidthComputed = memoize(\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n const spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8;\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n\n let targetLength = 0,\n targetWidth = 0;\n\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonWidthList.length\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonWidthList.length\n ? moreBtnWidth + spaceWidth\n : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n return targetLength;\n },\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n return `${amountWidth}${moreBtnWidth}${buttonWidthList.join(\n \",\"\n )}${Object.values(spaceProps).join(\",\")}${compact && compact.toString()}`;\n }\n);\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length && 1);\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n if (!el) {\n return;\n }\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n if (buttonEls.length === 0) {\n return;\n }\n\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n const targetLength = areaWidthComputed({\n amountWidth,\n moreBtnWidth,\n buttonWidthList,\n spaceProps,\n compact,\n });\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n const otherList = list.slice(showLength);\n\n const renderButton = (renderItem, index, isDropdown) => {\n if (typeof renderItem === \"function\") {\n return renderItem({\n key: index,\n className: classnames(\"button-group-item\", style[\"btn-item\"]),\n isDropdown,\n });\n }\n const { className, confirm, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : LoadingButton;\n\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...Object.assign(\n {},\n props,\n isConfirm && (props.isModal || isDropdown)\n ? {\n isModal: true,\n }\n : {}\n )}\n key={index}\n className={classnames(\n \"button-group-item\",\n style[\"btn-item\"],\n className\n )}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list\n .slice(0, showLength)\n .map((item, index) => renderButton(item, index, false))}\n {otherList.length > 0 && (\n <Dropdown\n overlayClassName={style[\"menu-list\"]}\n menu={{\n items: otherList.map((item, index) => {\n return {\n key: index,\n label: renderButton(item, index, true),\n };\n }),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__9Lc6E\",\"is-danger\":\"style_is-danger__gxyAB__9Lc6E\",\"title\":\"style_title__EEPu2__9Lc6E\",\"content\":\"style_content__mZZg5__9Lc6E\",\"has-title\":\"style_has-title__5+PEt__9Lc6E\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","import { createContext, useContext, useEffect } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport memoize from \"lodash/memoize\";\nimport omit from \"lodash/omit\";\n\nconst treeTraverse = (data, func, pId) => {\n if (!data) {\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((item) => {\n treeTraverse(item, func, pId);\n });\n return;\n }\n func(Object.assign({}, omit(data, [\"children\"]), { parentId: pId }));\n treeTraverse(data.children, func, pId ? pId + \":\" + data.id : data.id);\n};\n\nconst parseProfile = memoize((profile) => {\n const profileMap = (() => {\n const output = new Map();\n treeTraverse(profile, (item) => {\n output.set(item.parentId ? item.parentId + \":\" + item.id : item.id, item);\n });\n return output;\n })();\n\n const features = ((profileMap) => {\n return Array.from(profileMap.keys()).filter((id) => {\n const item = profileMap.get(id);\n return !(\n Array.isArray(item.dependencies) &&\n item.dependencies.length > 0 &&\n item.dependencies.some((depId) => {\n return !profileMap.get(id);\n })\n );\n });\n })(profileMap);\n\n return { profile, features, profileMap };\n});\n\nconst useFeatures = () => {\n const preset = usePreset();\n const { profile, debug } = get(preset, \"features\", {\n debug: false,\n profile: {},\n });\n return Object.assign({}, parseProfile(profile), { debug });\n};\n\nconst computedIsPaas = (currentId, { profileMap, features }) => {\n const target = profileMap.get(currentId);\n return (\n features.indexOf(currentId) !== -1 &&\n target.close !== true &&\n get(target, \"dependencies\", []).every((id) => {\n const dependenciesTarget = profileMap.get(currentId);\n return features.indexOf(id) > -1 && dependenciesTarget.close !== true;\n })\n );\n};\n\nconst context = createContext(null);\n\nconst { Provider } = context;\n\nexport const useFeatureCall = (id) => {\n const { features, profile, profileMap, debug } = useFeatures();\n const systemId = profile.type === \"system\" ? profile.id : \"root\";\n const parentId = useContext(context);\n const currentId = parentId ? parentId + \":\" + id : systemId + \":\" + id;\n useEffect(() => {\n if (features && features.length > 0 && debug) {\n console.log(\n `[featureId] ${currentId},[state] ${computedIsPaas(currentId, {\n features,\n profileMap,\n })}`,\n profileMap.get(currentId)\n );\n }\n }, [features, profileMap, debug, currentId]);\n return {\n isPass:\n !(id && features && features.length > 0) ||\n computedIsPaas(currentId, { features, profileMap }),\n currentId,\n feature: profileMap.get(currentId),\n };\n};\n\nconst Features = ({ id, children }) => {\n const { isPass, feature, currentId } = useFeatureCall(id);\n return (\n <Provider value={currentId}>\n {typeof children === \"function\"\n ? children({\n isPass,\n options: isPass\n ? get(feature, \"options\")\n : get(feature, \"rejectedOptions\"),\n currentId,\n })\n : isPass && children}\n </Provider>\n );\n};\n\nexport default Features;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__9Lc6E\",\"state-result-tag\":\"style_state-result-tag__CssDz__9Lc6E\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__9Lc6E\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__9Lc6E\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__9Lc6E\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__9Lc6E\",\"show-bg\":\"style_show-bg__OcL+R__9Lc6E\",\"tag-text\":\"style_tag-text__JHCt+__9Lc6E\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__9Lc6E\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__9Lc6E\",\"is-resize\":\"style_is-resize__ut6RW__9Lc6E\",\"is-moving\":\"style_is-moving__BJ9wR__9Lc6E\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__9Lc6E\",\"is-computed\":\"style_is-computed__B9rIF__9Lc6E\",\"options-column\":\"style_options-column__vsPTr__9Lc6E\",\"options-btn\":\"style_options-btn__U3uoy__9Lc6E\",\"tooltip\":\"style_tooltip__vJlkv__9Lc6E\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__9Lc6E\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__9Lc6E\",\"columns-control\":\"style_columns-control__5-5ZF__9Lc6E\",\"columns-control-content\":\"style_columns-control-content__MoeUI__9Lc6E\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__9Lc6E\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__9Lc6E\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__9Lc6E\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__9Lc6E\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__9Lc6E\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__9Lc6E\",\"is-drag\":\"style_is-drag__U68aw__9Lc6E\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__9Lc6E\",\"sortable-drag\":\"style_sortable-drag__K5hWd__9Lc6E\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__9Lc6E\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__9Lc6E\",\"sort-btn\":\"style_sort-btn__KvNLr__9Lc6E\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__9Lc6E\",\"sort-icon\":\"style_sort-icon__dB85I__9Lc6E\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__9Lc6E\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__9Lc6E\",\"tag\":\"columns_tag__bQZLG__9Lc6E\",\"avatar\":\"columns_avatar__SLPI+__9Lc6E\",\"hover\":\"columns_hover__oAwHg__9Lc6E\",\"primary\":\"columns_primary__6KtaA__9Lc6E\",\"loading\":\"columns_loading__gtBay__9Lc6E\",\"options\":\"columns_options__WvDZD__9Lc6E\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list, width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list.map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n if (expand) {\n return (\n <DisplayInfo {...api}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen, tableWidth }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis } = usePreset();\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(render);\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: item,\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index, true);\n}\n\nmodule.exports = findLastIndex;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","var baseIteratee = require('./_baseIteratee'),\n baseSum = require('./_baseSum');\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, baseIteratee(iteratee, 2))\n : 0;\n}\n\nmodule.exports = sumBy;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","startRef","useRef","moving","setMoving","useState","movingRef","current","onScrollRef","ratioRef","width","innerWidth","useEffect","moveHandler","e","clientX","upHandler","document","addEventListener","removeEventListener","createPortal","hasScroller","_jsx","className","style","left","height","children","classnames","innerLeft","onMouseDown","preventDefault","body","Scroller","_ref2","scroller","getScrollTarget","setScrollerProps","ref","getScrollEl","useRefCallback","container","documentElement","scrollEl","computed","top","getBoundingClientRect","scrollerHeight","offsetHeight","clientHeight","clientWidth","scrollWidth","scrollLeft","containerRect","props","Object","assign","resizeObserver","ResizeObserver","disconnect","Array","from","forEach","item","observe","window","_jsxs","x","defaultProps","querySelector","getItem","key","target","localStorage","dataType","value","JSON","parse","Number","Boolean","setItem","stringify","areaWidthComputed","memoize","amountWidth","moreBtnWidth","buttonWidthList","spaceProps","compact","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","length","concat","join","values","toString","ButtonGroup","_ref3","list","more","pick","showLength","setShowLength","computedLength","el","targetRef","moreEl","moreRef","widthEl","buttonEls","querySelectorAll","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","renderItem","index","isDropdown","confirm","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","isModal","SpaceComponent","Space","Compact","_Fragment","Dropdown","overlayClassName","menu","items","label","Button","Icon","type","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","title","onClick","onCancel","disabled","showCancel","cancelText","okText","placement","formatMessage","useIntl","modal","useConfirmModal","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","keys","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","isArray","console","warn","set","Promise","all","then","enumMap","isNil","Enum","preset","usePreset","_ref4","treeTraverse","func","pId","omit","parentId","parseProfile","profile","profileMap","features","filter","dependencies","some","depId","computedIsPaas","currentId","close","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","log","isPass","feature","options","tagTypeEnum","default","skill","color","borderColor","result","filterResult","success","progress","info","other","StateTag","showBorder","text","showBackground","filterName","tagColor","useMemo","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","icon","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Image","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","transform","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","Row","justify","Col","Tooltip","defaultActiveKey","ghost","bordered","header","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","gutter","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","content","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","isEqual","handlerCancelResize","handlerResize","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","AntdTable","_len","args","_key","pageData","FeaturesColumnsConfig","Features","TablePageInner","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","IntlProvider","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","fetchParams","module","exports","array","setter","iteratee","accumulator","baseEach","require","collection","baseForOwn","createBaseEach","predicate","fromIndex","fromRight","arrayAggregator","baseAggregator","baseIteratee","initializer","isArrayLike","eachFunc","iterable","baseFindIndex","toInteger","nativeMax","nativeMin","baseAssignValue","createAggregator","prototype","baseSet","object","path","baseSum","toFinite","remainder"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/5868.e8a1eb9e.chunk.js","mappings":"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","sources":["webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","components/Features/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseSum.js","../node_modules/lodash/_createAggregator.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/findLastIndex.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/set.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/toInteger.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__+6jdI\",\"scroller-inner\":\"style_scroller-inner__NJSE0__+6jdI\",\"is-moving\":\"style_is-moving__jGuy0__+6jdI\"};","import { createPortal } from \"react-dom\";\nimport { useEffect, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst ScrollBar = ({ onScroll, getContainer, ...scrollerProps }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(moving);\n movingRef.current = moving;\n const onScrollRef = useRef(onScroll);\n onScrollRef.current = onScroll;\n const ratioRef = useRef(1);\n ratioRef.current = scrollerProps.width / scrollerProps.innerWidth;\n\n useEffect(() => {\n const moveHandler = (e) => {\n movingRef.current &&\n onScrollRef.current(ratioRef.current * (e.clientX - startRef.current));\n startRef.current = e.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener(\"mousemove\", moveHandler, true);\n document.addEventListener(\"mouseup\", upHandler, true);\n return () => {\n document.removeEventListener(\"mousemove\", moveHandler, true);\n document.removeEventListener(\"mouseup\", upHandler, true);\n };\n }, []);\n return createPortal(\n scrollerProps.hasScroller ? (\n <div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left,\n width: scrollerProps.width,\n height: 15, //scrollerProps.height\n }}\n >\n <div\n className={classnames(style[\"scroller-inner\"], {\n [style[\"is-moving\"]]: moving,\n })}\n style={{\n width: scrollerProps.innerWidth,\n left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>\n ) : null,\n getContainer() || document.body\n );\n};\n\nconst Scroller = ({ className, scroller, getScrollTarget, children }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0,\n width: 0,\n innerLeft: 0,\n innerWidth: 0,\n height: 0,\n hasScroller: false,\n });\n const ref = useRef(null);\n const getScrollEl = useRefCallback(() => {\n return ref.current && getScrollTarget(ref.current);\n });\n const getContainer = useRef();\n\n getContainer.current =\n typeof scroller === \"object\" && typeof scroller.getContainer === \"function\"\n ? scroller.getContainer\n : () => null;\n useEffect(() => {\n const container = getContainer.current() || document.documentElement;\n let scrollEl;\n const computed = () => {\n if (!scrollEl) {\n return;\n }\n const { left, width, top, height } = scrollEl.getBoundingClientRect();\n const scrollerHeight =\n scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth =\n (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft =\n (scrollEl.scrollLeft * scrollEl.clientWidth) / scrollEl.scrollWidth + 2;\n const containerRect = container.getBoundingClientRect();\n //console.log(endRef.current.vi);\n setScrollerProps((props) => {\n return Object.assign({}, props, {\n left,\n width,\n innerLeft,\n innerWidth,\n height: scrollerHeight,\n hasScroller:\n scrollEl.scrollWidth - scrollEl.clientWidth > 0 &&\n (container === document.documentElement\n ? top + height - container.offsetHeight > 0 &&\n top < container.offsetHeight\n : top < containerRect.top + containerRect.height &&\n top + height > containerRect.top + containerRect.height),\n });\n });\n };\n const resizeObserver = new ResizeObserver(computed);\n const refResizeObserver = new ResizeObserver(() => {\n scrollEl = getScrollEl();\n if (!scrollEl) {\n return;\n }\n resizeObserver.disconnect();\n computed();\n Array.from(scrollEl.children).forEach((item) => {\n resizeObserver.observe(item);\n });\n scrollEl.addEventListener(\"scroll\", computed);\n });\n\n refResizeObserver.observe(ref.current);\n\n window.addEventListener(\"scroll\", computed);\n container.addEventListener(\"scroll\", computed);\n return () => {\n window.removeEventListener(\"scroll\", computed);\n container.removeEventListener(\"scroll\", computed);\n };\n }, [getScrollEl]);\n if (!scroller) {\n return children;\n }\n return (\n <div\n className={classnames(style[\"scroller-outer\"], className)}\n ref={ref}\n style={{\n \"--scroller-bar-height\": scrollerProps?.hasScroller ? \"15px\" : \"0px\",\n }}\n >\n {children}\n <ScrollBar\n {...scrollerProps}\n getContainer={getContainer.current}\n onScroll={(x) => {\n const scrollEl = getScrollEl();\n scrollEl.scrollLeft += x;\n }}\n />\n </div>\n );\n};\n\nScroller.defaultProps = {\n scroller: true,\n getScrollTarget: () => document.querySelector(\".simplebar-content-wrapper\"),\n};\n\nexport default Scroller;\n","const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__+6jdI\",\"hidden-container\":\"style_hidden-container__EdySA__+6jdI\",\"hidden-inner\":\"style_hidden-inner__vAN59__+6jdI\",\"menu-list\":\"style_menu-list__VDttR__+6jdI\",\"btn-item\":\"style_btn-item__mp5MQ__+6jdI\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\nimport memoize from \"lodash/memoize\";\n\nconst areaWidthComputed = memoize(\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n const spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8;\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n\n let targetLength = 0,\n targetWidth = 0;\n\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonWidthList.length\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonWidthList.length\n ? moreBtnWidth + spaceWidth\n : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n return targetLength;\n },\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n return `${amountWidth}${moreBtnWidth}${buttonWidthList.join(\n \",\"\n )}${Object.values(spaceProps).join(\",\")}${compact && compact.toString()}`;\n }\n);\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length && 1);\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n if (!el) {\n return;\n }\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n if (buttonEls.length === 0) {\n return;\n }\n\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n const targetLength = areaWidthComputed({\n amountWidth,\n moreBtnWidth,\n buttonWidthList,\n spaceProps,\n compact,\n });\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n const otherList = list.slice(showLength);\n\n const renderButton = (renderItem, index, isDropdown) => {\n if (typeof renderItem === \"function\") {\n return renderItem({\n key: index,\n className: classnames(\"button-group-item\", style[\"btn-item\"]),\n isDropdown,\n });\n }\n const { className, confirm, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : LoadingButton;\n\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...Object.assign(\n {},\n props,\n isConfirm && (props.isModal || isDropdown)\n ? {\n isModal: true,\n }\n : {}\n )}\n key={index}\n className={classnames(\n \"button-group-item\",\n style[\"btn-item\"],\n className\n )}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list\n .slice(0, showLength)\n .map((item, index) => renderButton(item, index, false))}\n {otherList.length > 0 && (\n <Dropdown\n overlayClassName={style[\"menu-list\"]}\n menu={{\n items: otherList.map((item, index) => {\n return {\n key: index,\n label: renderButton(item, index, true),\n };\n }),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__+6jdI\",\"is-danger\":\"style_is-danger__gxyAB__+6jdI\",\"title\":\"style_title__EEPu2__+6jdI\",\"content\":\"style_content__mZZg5__+6jdI\",\"has-title\":\"style_has-title__5+PEt__+6jdI\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","import { createContext, useContext, useEffect } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport memoize from \"lodash/memoize\";\nimport omit from \"lodash/omit\";\n\nconst treeTraverse = (data, func, pId) => {\n if (!data) {\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((item) => {\n treeTraverse(item, func, pId);\n });\n return;\n }\n func(Object.assign({}, omit(data, [\"children\"]), { parentId: pId }));\n treeTraverse(data.children, func, pId ? pId + \":\" + data.id : data.id);\n};\n\nconst parseProfile = memoize((profile) => {\n const profileMap = (() => {\n const output = new Map();\n treeTraverse(profile, (item) => {\n output.set(item.parentId ? item.parentId + \":\" + item.id : item.id, item);\n });\n return output;\n })();\n\n const features = ((profileMap) => {\n return Array.from(profileMap.keys()).filter((id) => {\n const item = profileMap.get(id);\n return !(\n Array.isArray(item.dependencies) &&\n item.dependencies.length > 0 &&\n item.dependencies.some((depId) => {\n return !profileMap.get(id);\n })\n );\n });\n })(profileMap);\n\n return { profile, features, profileMap };\n});\n\nconst useFeatures = () => {\n const preset = usePreset();\n const { profile, debug } = get(preset, \"features\", {\n debug: false,\n profile: {},\n });\n return Object.assign({}, parseProfile(profile), { debug });\n};\n\nconst computedIsPaas = (currentId, { profileMap, features }) => {\n const target = profileMap.get(currentId);\n return (\n features.indexOf(currentId) !== -1 &&\n target.close !== true &&\n get(target, \"dependencies\", []).every((id) => {\n const dependenciesTarget = profileMap.get(currentId);\n return features.indexOf(id) > -1 && dependenciesTarget.close !== true;\n })\n );\n};\n\nconst context = createContext(null);\n\nconst { Provider } = context;\n\nexport const useFeatureCall = (id) => {\n const { features, profile, profileMap, debug } = useFeatures();\n const systemId = profile.type === \"system\" ? profile.id : \"root\";\n const parentId = useContext(context);\n const currentId = parentId ? parentId + \":\" + id : systemId + \":\" + id;\n useEffect(() => {\n if (features && features.length > 0 && debug) {\n console.log(\n `[featureId] ${currentId},[state] ${computedIsPaas(currentId, {\n features,\n profileMap,\n })}`,\n profileMap.get(currentId)\n );\n }\n }, [features, profileMap, debug, currentId]);\n return {\n isPass:\n !(id && features && features.length > 0) ||\n computedIsPaas(currentId, { features, profileMap }),\n currentId,\n feature: profileMap.get(currentId),\n };\n};\n\nconst Features = ({ id, children }) => {\n const { isPass, feature, currentId } = useFeatureCall(id);\n return (\n <Provider value={currentId}>\n {typeof children === \"function\"\n ? children({\n isPass,\n options: isPass\n ? get(feature, \"options\")\n : get(feature, \"rejectedOptions\"),\n currentId,\n })\n : isPass && children}\n </Provider>\n );\n};\n\nexport default Features;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__+6jdI\",\"state-result-tag\":\"style_state-result-tag__CssDz__+6jdI\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__+6jdI\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__+6jdI\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__+6jdI\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__+6jdI\",\"show-bg\":\"style_show-bg__OcL+R__+6jdI\",\"tag-text\":\"style_tag-text__JHCt+__+6jdI\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__+6jdI\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__+6jdI\",\"is-resize\":\"style_is-resize__ut6RW__+6jdI\",\"is-moving\":\"style_is-moving__BJ9wR__+6jdI\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__+6jdI\",\"is-computed\":\"style_is-computed__B9rIF__+6jdI\",\"options-column\":\"style_options-column__vsPTr__+6jdI\",\"options-btn\":\"style_options-btn__U3uoy__+6jdI\",\"tooltip\":\"style_tooltip__vJlkv__+6jdI\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__+6jdI\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__+6jdI\",\"columns-control\":\"style_columns-control__5-5ZF__+6jdI\",\"columns-control-content\":\"style_columns-control-content__MoeUI__+6jdI\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__+6jdI\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__+6jdI\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__+6jdI\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__+6jdI\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__+6jdI\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__+6jdI\",\"is-drag\":\"style_is-drag__U68aw__+6jdI\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__+6jdI\",\"sortable-drag\":\"style_sortable-drag__K5hWd__+6jdI\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__+6jdI\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__+6jdI\",\"sort-btn\":\"style_sort-btn__KvNLr__+6jdI\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__+6jdI\",\"sort-icon\":\"style_sort-icon__dB85I__+6jdI\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__+6jdI\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__+6jdI\",\"tag\":\"columns_tag__bQZLG__+6jdI\",\"avatar\":\"columns_avatar__SLPI+__+6jdI\",\"hover\":\"columns_hover__oAwHg__+6jdI\",\"primary\":\"columns_primary__6KtaA__+6jdI\",\"loading\":\"columns_loading__gtBay__+6jdI\",\"options\":\"columns_options__WvDZD__+6jdI\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list, width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list.map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n if (expand) {\n return (\n <DisplayInfo {...api}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen, tableWidth }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis } = usePreset();\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(render);\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: item,\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index, true);\n}\n\nmodule.exports = findLastIndex;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","var baseIteratee = require('./_baseIteratee'),\n baseSum = require('./_baseSum');\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, baseIteratee(iteratee, 2))\n : 0;\n}\n\nmodule.exports = sumBy;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","startRef","useRef","moving","setMoving","useState","movingRef","current","onScrollRef","ratioRef","width","innerWidth","useEffect","moveHandler","e","clientX","upHandler","document","addEventListener","removeEventListener","createPortal","hasScroller","_jsx","className","style","left","height","children","classnames","innerLeft","onMouseDown","preventDefault","body","Scroller","_ref2","scroller","getScrollTarget","setScrollerProps","ref","getScrollEl","useRefCallback","container","documentElement","scrollEl","computed","top","getBoundingClientRect","scrollerHeight","offsetHeight","clientHeight","clientWidth","scrollWidth","scrollLeft","containerRect","props","Object","assign","resizeObserver","ResizeObserver","disconnect","Array","from","forEach","item","observe","window","_jsxs","x","defaultProps","querySelector","getItem","key","target","localStorage","dataType","value","JSON","parse","Number","Boolean","setItem","stringify","areaWidthComputed","memoize","amountWidth","moreBtnWidth","buttonWidthList","spaceProps","compact","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","length","concat","join","values","toString","ButtonGroup","_ref3","list","more","pick","showLength","setShowLength","computedLength","el","targetRef","moreEl","moreRef","widthEl","buttonEls","querySelectorAll","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","renderItem","index","isDropdown","confirm","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","isModal","SpaceComponent","Space","Compact","_Fragment","Dropdown","overlayClassName","menu","items","label","Button","Icon","type","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","title","onClick","onCancel","disabled","showCancel","cancelText","okText","placement","formatMessage","useIntl","modal","useConfirmModal","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","keys","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","isArray","console","warn","set","Promise","all","then","enumMap","isNil","Enum","preset","usePreset","_ref4","treeTraverse","func","pId","omit","parentId","parseProfile","profile","profileMap","features","filter","dependencies","some","depId","computedIsPaas","currentId","close","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","log","isPass","feature","options","tagTypeEnum","default","skill","color","borderColor","result","filterResult","success","progress","info","other","StateTag","showBorder","text","showBackground","filterName","tagColor","useMemo","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","icon","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Image","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","transform","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","Row","justify","Col","Tooltip","defaultActiveKey","ghost","bordered","header","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","gutter","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","content","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","isEqual","handlerCancelResize","handlerResize","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","AntdTable","_len","args","_key","pageData","FeaturesColumnsConfig","Features","TablePageInner","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","IntlProvider","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","fetchParams","module","exports","array","setter","iteratee","accumulator","baseEach","require","collection","baseForOwn","createBaseEach","predicate","fromIndex","fromRight","arrayAggregator","baseAggregator","baseIteratee","initializer","isArrayLike","eachFunc","iterable","baseFindIndex","toInteger","nativeMax","nativeMin","baseAssignValue","createAggregator","prototype","baseSet","object","path","baseSum","toFinite","remainder"],"sourceRoot":""}