@kne-components/components-core 0.1.71 → 0.1.72
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.
- package/build/asset-manifest.json +118 -118
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1151.286e6c5a.chunk.css +2 -0
- package/build/static/css/{1151.a4ba8032.chunk.css.map → 1151.286e6c5a.chunk.css.map} +1 -1
- package/build/static/css/1153.8975ce3f.chunk.css +2 -0
- package/build/static/css/{1153.d1082b1a.chunk.css.map → 1153.8975ce3f.chunk.css.map} +1 -1
- package/build/static/css/1454.e79c64ce.chunk.css +2 -0
- package/build/static/css/{1454.8aac0963.chunk.css.map → 1454.e79c64ce.chunk.css.map} +1 -1
- package/build/static/css/1554.537d0448.chunk.css +2 -0
- package/build/static/css/{1554.0dcfbc96.chunk.css.map → 1554.537d0448.chunk.css.map} +1 -1
- package/build/static/css/{2503.915f5f12.chunk.css → 2503.9938ffd1.chunk.css} +2 -2
- package/build/static/css/{2503.915f5f12.chunk.css.map → 2503.9938ffd1.chunk.css.map} +1 -1
- package/build/static/css/{2517.b161c8b3.chunk.css → 2517.551293f0.chunk.css} +2 -2
- package/build/static/css/{2517.b161c8b3.chunk.css.map → 2517.551293f0.chunk.css.map} +1 -1
- package/build/static/css/2716.1e49efde.chunk.css +2 -0
- package/build/static/css/{2716.5c4a1d81.chunk.css.map → 2716.1e49efde.chunk.css.map} +1 -1
- package/build/static/css/{2730.8db299e9.chunk.css → 2730.d17fb053.chunk.css} +2 -2
- package/build/static/css/{2730.8db299e9.chunk.css.map → 2730.d17fb053.chunk.css.map} +1 -1
- package/build/static/css/{289.2b5a215a.chunk.css → 289.6ce1d6d9.chunk.css} +2 -2
- package/build/static/css/{289.2b5a215a.chunk.css.map → 289.6ce1d6d9.chunk.css.map} +1 -1
- package/build/static/css/2999.05a68fd0.chunk.css +2 -0
- package/build/static/css/{2999.abe4e323.chunk.css.map → 2999.05a68fd0.chunk.css.map} +1 -1
- package/build/static/css/3040.b058302c.chunk.css +2 -0
- package/build/static/css/{3040.30a4e3e0.chunk.css.map → 3040.b058302c.chunk.css.map} +1 -1
- package/build/static/css/3333.221acea9.chunk.css +2 -0
- package/build/static/css/{3333.c5c05928.chunk.css.map → 3333.221acea9.chunk.css.map} +1 -1
- package/build/static/css/3801.86e21e2d.chunk.css +2 -0
- package/build/static/css/{3801.5420d459.chunk.css.map → 3801.86e21e2d.chunk.css.map} +1 -1
- package/build/static/css/{3843.821061a0.chunk.css → 3843.3211b057.chunk.css} +2 -2
- package/build/static/css/{3843.821061a0.chunk.css.map → 3843.3211b057.chunk.css.map} +1 -1
- package/build/static/css/4666.85254a0f.chunk.css +2 -0
- package/build/static/css/{4666.8ef147ae.chunk.css.map → 4666.85254a0f.chunk.css.map} +1 -1
- package/build/static/css/5600.0760bc2b.chunk.css +2 -0
- package/build/static/css/{5600.9abbcf07.chunk.css.map → 5600.0760bc2b.chunk.css.map} +1 -1
- package/build/static/css/5846.ba892c69.chunk.css +2 -0
- package/build/static/css/{5846.f70da470.chunk.css.map → 5846.ba892c69.chunk.css.map} +1 -1
- package/build/static/css/5868.8e8565da.chunk.css +2 -0
- package/build/static/css/{5868.1293f01d.chunk.css.map → 5868.8e8565da.chunk.css.map} +1 -1
- package/build/static/css/{5996.38d297f1.chunk.css → 5996.ba7b8a1d.chunk.css} +2 -2
- package/build/static/css/{5996.38d297f1.chunk.css.map → 5996.ba7b8a1d.chunk.css.map} +1 -1
- package/build/static/css/6779.e6c61849.chunk.css +2 -0
- package/build/static/css/{6779.3d6e3374.chunk.css.map → 6779.e6c61849.chunk.css.map} +1 -1
- package/build/static/css/7227.3363bbfd.chunk.css +2 -0
- package/build/static/css/{7227.008e44fc.chunk.css.map → 7227.3363bbfd.chunk.css.map} +1 -1
- package/build/static/css/8148.0d2e873c.chunk.css +2 -0
- package/build/static/css/{8148.26e0b9ea.chunk.css.map → 8148.0d2e873c.chunk.css.map} +1 -1
- package/build/static/css/8393.1c1529aa.chunk.css +2 -0
- package/build/static/css/{8393.48b9cc17.chunk.css.map → 8393.1c1529aa.chunk.css.map} +1 -1
- package/build/static/css/{8725.c1d260a2.chunk.css → 8725.d828e824.chunk.css} +2 -2
- package/build/static/css/{8725.c1d260a2.chunk.css.map → 8725.d828e824.chunk.css.map} +1 -1
- package/build/static/css/9053.2aea4287.chunk.css +2 -0
- package/build/static/css/{9053.36d9abfc.chunk.css.map → 9053.2aea4287.chunk.css.map} +1 -1
- package/build/static/css/931.97b829da.chunk.css +2 -0
- package/build/static/css/{931.74d85d63.chunk.css.map → 931.97b829da.chunk.css.map} +1 -1
- package/build/static/css/{9449.6cfac89d.chunk.css → 9449.8226e0b4.chunk.css} +2 -2
- package/build/static/css/{9449.6cfac89d.chunk.css.map → 9449.8226e0b4.chunk.css.map} +1 -1
- package/build/static/css/9689.6d4bc8d9.chunk.css +2 -0
- package/build/static/css/{9689.a7b572be.chunk.css.map → 9689.6d4bc8d9.chunk.css.map} +1 -1
- package/build/static/js/{1153.4edd3b5a.chunk.js → 1153.1f93c557.chunk.js} +3 -3
- package/build/static/js/{1153.4edd3b5a.chunk.js.map → 1153.1f93c557.chunk.js.map} +1 -1
- package/build/static/js/1454.094ba570.chunk.js +3 -0
- package/build/static/js/{1454.51669a88.chunk.js.map → 1454.094ba570.chunk.js.map} +1 -1
- package/build/static/js/1554.f1c12ddf.chunk.js +3 -0
- package/build/static/js/{1554.967455ab.chunk.js.map → 1554.f1c12ddf.chunk.js.map} +1 -1
- package/build/static/js/2503.ede77e35.chunk.js +2 -0
- package/build/static/js/{2503.b48318e5.chunk.js.map → 2503.ede77e35.chunk.js.map} +1 -1
- package/build/static/js/{2517.9ba568e5.chunk.js → 2517.a108d95b.chunk.js} +2 -2
- package/build/static/js/{2517.9ba568e5.chunk.js.map → 2517.a108d95b.chunk.js.map} +1 -1
- package/build/static/js/{2716.4c520e3c.chunk.js → 2716.09011697.chunk.js} +3 -3
- package/build/static/js/{2716.4c520e3c.chunk.js.map → 2716.09011697.chunk.js.map} +1 -1
- package/build/static/js/{2730.7c843784.chunk.js → 2730.491b8734.chunk.js} +2 -2
- package/build/static/js/{2730.7c843784.chunk.js.map → 2730.491b8734.chunk.js.map} +1 -1
- package/build/static/js/{289.350024a9.chunk.js → 289.2f1c9990.chunk.js} +2 -2
- package/build/static/js/{289.350024a9.chunk.js.map → 289.2f1c9990.chunk.js.map} +1 -1
- package/build/static/js/2999.719b84a8.chunk.js +2 -0
- package/build/static/js/{2999.637d07e7.chunk.js.map → 2999.719b84a8.chunk.js.map} +1 -1
- package/build/static/js/{3040.7bbacd65.chunk.js → 3040.be5efb45.chunk.js} +2 -2
- package/build/static/js/3040.be5efb45.chunk.js.map +1 -0
- package/build/static/js/{3333.f55aede1.chunk.js → 3333.40f9eb83.chunk.js} +2 -2
- package/build/static/js/{3333.f55aede1.chunk.js.map → 3333.40f9eb83.chunk.js.map} +1 -1
- package/build/static/js/36.b1211767.chunk.js +2 -0
- package/build/static/js/36.b1211767.chunk.js.map +1 -0
- package/build/static/js/3801.2ea3b884.chunk.js +2 -0
- package/build/static/js/{3801.8b7d737b.chunk.js.map → 3801.2ea3b884.chunk.js.map} +1 -1
- package/build/static/js/{3843.e071c30f.chunk.js → 3843.d5d0295a.chunk.js} +2 -2
- package/build/static/js/{3843.e071c30f.chunk.js.map → 3843.d5d0295a.chunk.js.map} +1 -1
- package/build/static/js/{4666.25d615d0.chunk.js → 4666.d5c72bfb.chunk.js} +3 -3
- package/build/static/js/{4666.25d615d0.chunk.js.map → 4666.d5c72bfb.chunk.js.map} +1 -1
- package/build/static/js/{5009.f819f46a.chunk.js → 5009.20c7aeda.chunk.js} +2 -2
- package/build/static/js/{5009.f819f46a.chunk.js.map → 5009.20c7aeda.chunk.js.map} +1 -1
- package/build/static/js/5600.70aadaa2.chunk.js +2 -0
- package/build/static/js/{5600.aff3f99a.chunk.js.map → 5600.70aadaa2.chunk.js.map} +1 -1
- package/build/static/js/5846.e5459fd8.chunk.js +2 -0
- package/build/static/js/{5846.b0ad9822.chunk.js.map → 5846.e5459fd8.chunk.js.map} +1 -1
- package/build/static/js/{5868.176927bd.chunk.js → 5868.882a38a3.chunk.js} +2 -2
- package/build/static/js/{5868.176927bd.chunk.js.map → 5868.882a38a3.chunk.js.map} +1 -1
- package/build/static/js/{5996.79be302a.chunk.js → 5996.92f04a8c.chunk.js} +2 -2
- package/build/static/js/{5996.79be302a.chunk.js.map → 5996.92f04a8c.chunk.js.map} +1 -1
- package/build/static/js/{6779.d5eca385.chunk.js → 6779.647ed03d.chunk.js} +2 -2
- package/build/static/js/{6779.d5eca385.chunk.js.map → 6779.647ed03d.chunk.js.map} +1 -1
- package/build/static/js/{7227.480a8c8c.chunk.js → 7227.3f532626.chunk.js} +3 -3
- package/build/static/js/{7227.480a8c8c.chunk.js.map → 7227.3f532626.chunk.js.map} +1 -1
- package/build/static/js/{7777.738469e4.chunk.js → 7777.deb7aab5.chunk.js} +2 -2
- package/build/static/js/{7777.738469e4.chunk.js.map → 7777.deb7aab5.chunk.js.map} +1 -1
- package/build/static/js/{8148.00c2bef0.chunk.js → 8148.be7a3bdf.chunk.js} +3 -3
- package/build/static/js/{8148.00c2bef0.chunk.js.map → 8148.be7a3bdf.chunk.js.map} +1 -1
- package/build/static/js/{8393.107c1ed7.chunk.js → 8393.c96a26be.chunk.js} +2 -2
- package/build/static/js/8393.c96a26be.chunk.js.map +1 -0
- package/build/static/js/{8725.6c15dcec.chunk.js → 8725.86a452ba.chunk.js} +2 -2
- package/build/static/js/{8725.6c15dcec.chunk.js.map → 8725.86a452ba.chunk.js.map} +1 -1
- package/build/static/js/{9053.c4929ae2.chunk.js → 9053.1e03fb5f.chunk.js} +3 -3
- package/build/static/js/{9053.c4929ae2.chunk.js.map → 9053.1e03fb5f.chunk.js.map} +1 -1
- package/build/static/js/{931.176943b9.chunk.js → 931.3ff56e68.chunk.js} +2 -2
- package/build/static/js/{931.176943b9.chunk.js.map → 931.3ff56e68.chunk.js.map} +1 -1
- package/build/static/js/9449.67f8a74a.chunk.js +2 -0
- package/build/static/js/{9449.8ffe7b33.chunk.js.map → 9449.67f8a74a.chunk.js.map} +1 -1
- package/build/static/js/{main.f16143b9.js → main.95bbfdfa.js} +2 -2
- package/build/static/js/{main.f16143b9.js.map → main.95bbfdfa.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/css/1151.a4ba8032.chunk.css +0 -2
- package/build/static/css/1153.d1082b1a.chunk.css +0 -2
- package/build/static/css/1454.8aac0963.chunk.css +0 -2
- package/build/static/css/1554.0dcfbc96.chunk.css +0 -2
- package/build/static/css/2716.5c4a1d81.chunk.css +0 -2
- package/build/static/css/2999.abe4e323.chunk.css +0 -2
- package/build/static/css/3040.30a4e3e0.chunk.css +0 -2
- package/build/static/css/3333.c5c05928.chunk.css +0 -2
- package/build/static/css/3801.5420d459.chunk.css +0 -2
- package/build/static/css/4666.8ef147ae.chunk.css +0 -2
- package/build/static/css/5600.9abbcf07.chunk.css +0 -2
- package/build/static/css/5846.f70da470.chunk.css +0 -2
- package/build/static/css/5868.1293f01d.chunk.css +0 -2
- package/build/static/css/6779.3d6e3374.chunk.css +0 -2
- package/build/static/css/7227.008e44fc.chunk.css +0 -2
- package/build/static/css/8148.26e0b9ea.chunk.css +0 -2
- package/build/static/css/8393.48b9cc17.chunk.css +0 -2
- package/build/static/css/9053.36d9abfc.chunk.css +0 -2
- package/build/static/css/931.74d85d63.chunk.css +0 -2
- package/build/static/css/9689.a7b572be.chunk.css +0 -2
- package/build/static/js/1454.51669a88.chunk.js +0 -3
- package/build/static/js/1554.967455ab.chunk.js +0 -3
- package/build/static/js/2503.b48318e5.chunk.js +0 -2
- package/build/static/js/2999.637d07e7.chunk.js +0 -2
- package/build/static/js/3040.7bbacd65.chunk.js.map +0 -1
- package/build/static/js/36.683136ba.chunk.js +0 -2
- package/build/static/js/36.683136ba.chunk.js.map +0 -1
- package/build/static/js/3801.8b7d737b.chunk.js +0 -2
- package/build/static/js/5600.aff3f99a.chunk.js +0 -2
- package/build/static/js/5846.b0ad9822.chunk.js +0 -2
- package/build/static/js/8393.107c1ed7.chunk.js.map +0 -1
- package/build/static/js/9449.8ffe7b33.chunk.js +0 -2
- /package/build/static/js/{1153.4edd3b5a.chunk.js.LICENSE.txt → 1153.1f93c557.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1454.51669a88.chunk.js.LICENSE.txt → 1454.094ba570.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1554.967455ab.chunk.js.LICENSE.txt → 1554.f1c12ddf.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.4c520e3c.chunk.js.LICENSE.txt → 2716.09011697.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4666.25d615d0.chunk.js.LICENSE.txt → 4666.d5c72bfb.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.480a8c8c.chunk.js.LICENSE.txt → 7227.3f532626.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{8148.00c2bef0.chunk.js.LICENSE.txt → 8148.be7a3bdf.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{9053.c4929ae2.chunk.js.LICENSE.txt → 9053.1e03fb5f.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/5868.176927bd.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__RbYOD\",\"scroller-inner\":\"style_scroller-inner__NJSE0__RbYOD\",\"is-moving\":\"style_is-moving__jGuy0__RbYOD\"};","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__RbYOD\",\"hidden-container\":\"style_hidden-container__EdySA__RbYOD\",\"hidden-inner\":\"style_hidden-inner__vAN59__RbYOD\",\"menu-list\":\"style_menu-list__VDttR__RbYOD\",\"btn-item\":\"style_btn-item__mp5MQ__RbYOD\"};","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, buttonComponent, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm\n ? ConfirmButton\n : buttonComponent || 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__RbYOD\",\"is-danger\":\"style_is-danger__gxyAB__RbYOD\",\"title\":\"style_title__EEPu2__RbYOD\",\"content\":\"style_content__mZZg5__RbYOD\",\"has-title\":\"style_has-title__5+PEt__RbYOD\"};","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 disabled={disabled}\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__RbYOD\",\"state-result-tag\":\"style_state-result-tag__CssDz__RbYOD\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__RbYOD\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__RbYOD\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__RbYOD\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__RbYOD\",\"show-bg\":\"style_show-bg__OcL+R__RbYOD\",\"tag-text\":\"style_tag-text__JHCt+__RbYOD\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__RbYOD\"};","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__RbYOD\",\"is-resize\":\"style_is-resize__ut6RW__RbYOD\",\"is-moving\":\"style_is-moving__BJ9wR__RbYOD\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__RbYOD\",\"is-computed\":\"style_is-computed__B9rIF__RbYOD\",\"options-column\":\"style_options-column__vsPTr__RbYOD\",\"options-btn\":\"style_options-btn__U3uoy__RbYOD\",\"tooltip\":\"style_tooltip__vJlkv__RbYOD\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__RbYOD\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__RbYOD\",\"columns-control\":\"style_columns-control__5-5ZF__RbYOD\",\"columns-control-content\":\"style_columns-control-content__MoeUI__RbYOD\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__RbYOD\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__RbYOD\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__RbYOD\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__RbYOD\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__RbYOD\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__RbYOD\",\"is-drag\":\"style_is-drag__U68aw__RbYOD\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__RbYOD\",\"sortable-drag\":\"style_sortable-drag__K5hWd__RbYOD\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__RbYOD\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__RbYOD\",\"sort-btn\":\"style_sort-btn__KvNLr__RbYOD\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__RbYOD\",\"sort-icon\":\"style_sort-icon__dB85I__RbYOD\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__RbYOD\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__RbYOD\",\"tag\":\"columns_tag__bQZLG__RbYOD\",\"avatar\":\"columns_avatar__SLPI+__RbYOD\",\"hover\":\"columns_hover__oAwHg__RbYOD\",\"primary\":\"columns_primary__6KtaA__RbYOD\",\"loading\":\"columns_loading__gtBay__RbYOD\",\"options\":\"columns_options__WvDZD__RbYOD\"};","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","buttonComponent","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.882a38a3.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__rDYyQ\",\"scroller-inner\":\"style_scroller-inner__NJSE0__rDYyQ\",\"is-moving\":\"style_is-moving__jGuy0__rDYyQ\"};","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__rDYyQ\",\"hidden-container\":\"style_hidden-container__EdySA__rDYyQ\",\"hidden-inner\":\"style_hidden-inner__vAN59__rDYyQ\",\"menu-list\":\"style_menu-list__VDttR__rDYyQ\",\"btn-item\":\"style_btn-item__mp5MQ__rDYyQ\"};","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, buttonComponent, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm\n ? ConfirmButton\n : buttonComponent || 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__rDYyQ\",\"is-danger\":\"style_is-danger__gxyAB__rDYyQ\",\"title\":\"style_title__EEPu2__rDYyQ\",\"content\":\"style_content__mZZg5__rDYyQ\",\"has-title\":\"style_has-title__5+PEt__rDYyQ\"};","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 disabled={disabled}\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__rDYyQ\",\"state-result-tag\":\"style_state-result-tag__CssDz__rDYyQ\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__rDYyQ\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__rDYyQ\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__rDYyQ\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__rDYyQ\",\"show-bg\":\"style_show-bg__OcL+R__rDYyQ\",\"tag-text\":\"style_tag-text__JHCt+__rDYyQ\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__rDYyQ\"};","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__rDYyQ\",\"is-resize\":\"style_is-resize__ut6RW__rDYyQ\",\"is-moving\":\"style_is-moving__BJ9wR__rDYyQ\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__rDYyQ\",\"is-computed\":\"style_is-computed__B9rIF__rDYyQ\",\"options-column\":\"style_options-column__vsPTr__rDYyQ\",\"options-btn\":\"style_options-btn__U3uoy__rDYyQ\",\"tooltip\":\"style_tooltip__vJlkv__rDYyQ\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__rDYyQ\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__rDYyQ\",\"columns-control\":\"style_columns-control__5-5ZF__rDYyQ\",\"columns-control-content\":\"style_columns-control-content__MoeUI__rDYyQ\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__rDYyQ\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__rDYyQ\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__rDYyQ\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__rDYyQ\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__rDYyQ\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__rDYyQ\",\"is-drag\":\"style_is-drag__U68aw__rDYyQ\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__rDYyQ\",\"sortable-drag\":\"style_sortable-drag__K5hWd__rDYyQ\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__rDYyQ\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__rDYyQ\",\"sort-btn\":\"style_sort-btn__KvNLr__rDYyQ\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__rDYyQ\",\"sort-icon\":\"style_sort-icon__dB85I__rDYyQ\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__rDYyQ\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__rDYyQ\",\"tag\":\"columns_tag__bQZLG__rDYyQ\",\"avatar\":\"columns_avatar__SLPI+__rDYyQ\",\"hover\":\"columns_hover__oAwHg__rDYyQ\",\"primary\":\"columns_primary__6KtaA__rDYyQ\",\"loading\":\"columns_loading__gtBay__rDYyQ\",\"options\":\"columns_options__WvDZD__rDYyQ\"};","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","buttonComponent","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":""}
|