@kne-components/components-core 0.3.26 → 0.3.27
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 +101 -101
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1248.54e603d8.chunk.css +2 -0
- package/build/static/css/{1248.9cbcf853.chunk.css.map → 1248.54e603d8.chunk.css.map} +1 -1
- package/build/static/css/1381.e1624a06.chunk.css +2 -0
- package/build/static/css/1381.e1624a06.chunk.css.map +1 -0
- package/build/static/css/1742.08d2747f.chunk.css +2 -0
- package/build/static/css/{1742.cd416dd0.chunk.css.map → 1742.08d2747f.chunk.css.map} +1 -1
- package/build/static/css/{1996.ddb8db0b.chunk.css → 1996.727b9448.chunk.css} +2 -2
- package/build/static/css/{1996.ddb8db0b.chunk.css.map → 1996.727b9448.chunk.css.map} +1 -1
- package/build/static/css/206.5a515f33.chunk.css +2 -0
- package/build/static/css/{206.8338cc31.chunk.css.map → 206.5a515f33.chunk.css.map} +1 -1
- package/build/static/css/2307.6195f32b.chunk.css +2 -0
- package/build/static/css/{2307.59328d7e.chunk.css.map → 2307.6195f32b.chunk.css.map} +1 -1
- package/build/static/css/254.21a841a4.chunk.css +2 -0
- package/build/static/css/{254.f85e422b.chunk.css.map → 254.21a841a4.chunk.css.map} +1 -1
- package/build/static/css/2716.0a88f083.chunk.css +2 -0
- package/build/static/css/{2716.ce9984fa.chunk.css.map → 2716.0a88f083.chunk.css.map} +1 -1
- package/build/static/css/{2765.ce93154a.chunk.css → 2765.3212941b.chunk.css} +2 -2
- package/build/static/css/2765.3212941b.chunk.css.map +1 -0
- package/build/static/css/3205.eed023cb.chunk.css +2 -0
- package/build/static/css/{3205.f5df444d.chunk.css.map → 3205.eed023cb.chunk.css.map} +1 -1
- package/build/static/css/{3771.0b48e91b.chunk.css → 3771.f7da4aa2.chunk.css} +2 -2
- package/build/static/css/{3771.0b48e91b.chunk.css.map → 3771.f7da4aa2.chunk.css.map} +1 -1
- package/build/static/css/{3790.1340423a.chunk.css → 3790.ed803fb8.chunk.css} +2 -2
- package/build/static/css/{3790.1340423a.chunk.css.map → 3790.ed803fb8.chunk.css.map} +1 -1
- package/build/static/css/{4277.9e78e664.chunk.css → 4277.9f8f2fd0.chunk.css} +2 -2
- package/build/static/css/{4277.9e78e664.chunk.css.map → 4277.9f8f2fd0.chunk.css.map} +1 -1
- package/build/static/css/5195.5d165b87.chunk.css +2 -0
- package/build/static/css/{5195.1a7764c9.chunk.css.map → 5195.5d165b87.chunk.css.map} +1 -1
- package/build/static/css/5633.e1624a06.chunk.css +2 -0
- package/build/static/css/5633.e1624a06.chunk.css.map +1 -0
- package/build/static/css/{6763.0a1f1b86.chunk.css → 6763.08be94cd.chunk.css} +2 -2
- package/build/static/css/{6763.0a1f1b86.chunk.css.map → 6763.08be94cd.chunk.css.map} +1 -1
- package/build/static/css/6980.58616f2c.chunk.css +12 -0
- package/build/static/css/{6980.c90479d9.chunk.css.map → 6980.58616f2c.chunk.css.map} +1 -1
- package/build/static/css/7227.63382196.chunk.css +2 -0
- package/build/static/css/{7227.1d04c161.chunk.css.map → 7227.63382196.chunk.css.map} +1 -1
- package/build/static/css/{760.a8e3fc68.chunk.css → 760.863e11de.chunk.css} +2 -2
- package/build/static/css/{760.a8e3fc68.chunk.css.map → 760.863e11de.chunk.css.map} +1 -1
- package/build/static/css/{8593.658ad3d5.chunk.css → 8593.bed078bd.chunk.css} +2 -2
- package/build/static/css/{8593.658ad3d5.chunk.css.map → 8593.bed078bd.chunk.css.map} +1 -1
- package/build/static/css/9058.a1f9b3ed.chunk.css +2 -0
- package/build/static/css/{9058.486f686e.chunk.css.map → 9058.a1f9b3ed.chunk.css.map} +1 -1
- package/build/static/css/9556.61cab207.chunk.css +2 -0
- package/build/static/css/{9556.496aa3a6.chunk.css.map → 9556.61cab207.chunk.css.map} +1 -1
- package/build/static/css/9772.04013925.chunk.css +2 -0
- package/build/static/css/{9772.d4adf7cb.chunk.css.map → 9772.04013925.chunk.css.map} +1 -1
- package/build/static/js/{1248.6739ae1d.chunk.js → 1248.33275f61.chunk.js} +3 -3
- package/build/static/js/{1248.6739ae1d.chunk.js.map → 1248.33275f61.chunk.js.map} +1 -1
- package/build/static/js/{1381.8dd5be3b.chunk.js → 1381.91905292.chunk.js} +1 -1
- package/build/static/js/1742.a43e317e.chunk.js +2 -0
- package/build/static/js/{1742.3d09029f.chunk.js.map → 1742.a43e317e.chunk.js.map} +1 -1
- package/build/static/js/1996.12d812c5.chunk.js +2 -0
- package/build/static/js/{1996.04836f23.chunk.js.map → 1996.12d812c5.chunk.js.map} +1 -1
- package/build/static/js/{206.8f291917.chunk.js → 206.4adb580f.chunk.js} +2 -2
- package/build/static/js/{206.8f291917.chunk.js.map → 206.4adb580f.chunk.js.map} +1 -1
- package/build/static/js/{2084.01218e1e.chunk.js → 2084.a1088518.chunk.js} +2 -2
- package/build/static/js/2084.a1088518.chunk.js.map +1 -0
- package/build/static/js/254.93e212aa.chunk.js +2 -0
- package/build/static/js/{254.00158b98.chunk.js.map → 254.93e212aa.chunk.js.map} +1 -1
- package/build/static/js/{2716.04376fc5.chunk.js → 2716.a624ed7e.chunk.js} +3 -3
- package/build/static/js/{2716.04376fc5.chunk.js.map → 2716.a624ed7e.chunk.js.map} +1 -1
- package/build/static/js/{2723.81d995a8.chunk.js → 2723.3eb139a9.chunk.js} +1 -1
- package/build/static/js/3205.073e15ab.chunk.js +2 -0
- package/build/static/js/{3205.988269a2.chunk.js.map → 3205.073e15ab.chunk.js.map} +1 -1
- package/build/static/js/3322.768b02fa.chunk.js +3 -0
- package/build/static/js/3322.768b02fa.chunk.js.map +1 -0
- package/build/static/js/3771.21eb5199.chunk.js +2 -0
- package/build/static/js/{3771.18b43e3f.chunk.js.map → 3771.21eb5199.chunk.js.map} +1 -1
- package/build/static/js/{3790.8672b55c.chunk.js → 3790.f0201618.chunk.js} +2 -2
- package/build/static/js/{3790.8672b55c.chunk.js.map → 3790.f0201618.chunk.js.map} +1 -1
- package/build/static/js/{3856.36cb344b.chunk.js → 3856.9a64be47.chunk.js} +2 -2
- package/build/static/js/{3856.36cb344b.chunk.js.map → 3856.9a64be47.chunk.js.map} +1 -1
- package/build/static/js/4277.be2cab2a.chunk.js +2 -0
- package/build/static/js/{4277.64017b60.chunk.js.map → 4277.be2cab2a.chunk.js.map} +1 -1
- package/build/static/js/4474.4b053482.chunk.js +2 -0
- package/build/static/js/{4474.4b324d97.chunk.js.map → 4474.4b053482.chunk.js.map} +1 -1
- package/build/static/js/4654.ec3f1dc8.chunk.js +2 -0
- package/build/static/js/4654.ec3f1dc8.chunk.js.map +1 -0
- package/build/static/js/5195.6a57d492.chunk.js +2 -0
- package/build/static/js/{5195.0f7ead6c.chunk.js.map → 5195.6a57d492.chunk.js.map} +1 -1
- package/build/static/js/{5633.2a25cdd3.chunk.js → 5633.e6064a2d.chunk.js} +1 -1
- package/build/static/js/{6763.f1069eb6.chunk.js → 6763.9bdd9329.chunk.js} +2 -2
- package/build/static/js/{6763.f1069eb6.chunk.js.map → 6763.9bdd9329.chunk.js.map} +1 -1
- package/build/static/js/{6980.57c32df9.chunk.js → 6980.498aea29.chunk.js} +2 -2
- package/build/static/js/6980.498aea29.chunk.js.map +1 -0
- package/build/static/js/{7227.2d618808.chunk.js → 7227.52a8458c.chunk.js} +3 -3
- package/build/static/js/{7227.2d618808.chunk.js.map → 7227.52a8458c.chunk.js.map} +1 -1
- package/build/static/js/{760.abaab914.chunk.js → 760.cb6371b5.chunk.js} +2 -2
- package/build/static/js/{760.abaab914.chunk.js.map → 760.cb6371b5.chunk.js.map} +1 -1
- package/build/static/js/8593.6fc1e2d5.chunk.js +2 -0
- package/build/static/js/{8593.241f7200.chunk.js.map → 8593.6fc1e2d5.chunk.js.map} +1 -1
- package/build/static/js/9058.2cd4c149.chunk.js +2 -0
- package/build/static/js/{9058.4edde9f4.chunk.js.map → 9058.2cd4c149.chunk.js.map} +1 -1
- package/build/static/js/9556.81fe2bc0.chunk.js +3 -0
- package/build/static/js/{9556.bed0e867.chunk.js.map → 9556.81fe2bc0.chunk.js.map} +1 -1
- package/build/static/js/{9772.a7b16199.chunk.js → 9772.fcae000f.chunk.js} +2 -2
- package/build/static/js/9772.fcae000f.chunk.js.map +1 -0
- package/build/static/js/main.8f43556b.js +2 -0
- package/build/static/js/{main.a14af7bb.js.map → main.8f43556b.js.map} +1 -1
- package/package.json +2 -2
- package/build/static/css/1248.9cbcf853.chunk.css +0 -2
- package/build/static/css/1381.c09f0d50.chunk.css +0 -2
- package/build/static/css/1381.c09f0d50.chunk.css.map +0 -1
- package/build/static/css/1742.cd416dd0.chunk.css +0 -2
- package/build/static/css/206.8338cc31.chunk.css +0 -2
- package/build/static/css/2307.59328d7e.chunk.css +0 -2
- package/build/static/css/254.f85e422b.chunk.css +0 -2
- package/build/static/css/2716.ce9984fa.chunk.css +0 -2
- package/build/static/css/2765.ce93154a.chunk.css.map +0 -1
- package/build/static/css/3205.f5df444d.chunk.css +0 -2
- package/build/static/css/5195.1a7764c9.chunk.css +0 -2
- package/build/static/css/5633.c09f0d50.chunk.css +0 -2
- package/build/static/css/5633.c09f0d50.chunk.css.map +0 -1
- package/build/static/css/6980.c90479d9.chunk.css +0 -12
- package/build/static/css/7227.1d04c161.chunk.css +0 -2
- package/build/static/css/9058.486f686e.chunk.css +0 -2
- package/build/static/css/9556.496aa3a6.chunk.css +0 -2
- package/build/static/css/9772.d4adf7cb.chunk.css +0 -2
- package/build/static/js/1742.3d09029f.chunk.js +0 -2
- package/build/static/js/1996.04836f23.chunk.js +0 -2
- package/build/static/js/2084.01218e1e.chunk.js.map +0 -1
- package/build/static/js/254.00158b98.chunk.js +0 -2
- package/build/static/js/3205.988269a2.chunk.js +0 -2
- package/build/static/js/3322.ebf065a0.chunk.js +0 -3
- package/build/static/js/3322.ebf065a0.chunk.js.map +0 -1
- package/build/static/js/3771.18b43e3f.chunk.js +0 -2
- package/build/static/js/4277.64017b60.chunk.js +0 -2
- package/build/static/js/4474.4b324d97.chunk.js +0 -2
- package/build/static/js/4654.139c6325.chunk.js +0 -2
- package/build/static/js/4654.139c6325.chunk.js.map +0 -1
- package/build/static/js/5195.0f7ead6c.chunk.js +0 -2
- package/build/static/js/6980.57c32df9.chunk.js.map +0 -1
- package/build/static/js/8593.241f7200.chunk.js +0 -2
- package/build/static/js/9058.4edde9f4.chunk.js +0 -2
- package/build/static/js/9556.bed0e867.chunk.js +0 -3
- package/build/static/js/9772.a7b16199.chunk.js.map +0 -1
- package/build/static/js/main.a14af7bb.js +0 -2
- /package/build/static/js/{1248.6739ae1d.chunk.js.LICENSE.txt → 1248.33275f61.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.04376fc5.chunk.js.LICENSE.txt → 2716.a624ed7e.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{3322.ebf065a0.chunk.js.LICENSE.txt → 3322.768b02fa.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.2d618808.chunk.js.LICENSE.txt → 7227.52a8458c.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{9556.bed0e867.chunk.js.LICENSE.txt → 9556.81fe2bc0.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/3205.988269a2.chunk.js","mappings":"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","sources":["webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","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/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.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/_createAggregator.js","../node_modules/lodash/findLastIndex.js","common/utils/localStorage.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/_baseEach.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","components/Features/index.js","../node_modules/lodash/set.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_baseSum.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__H6Qrx\",\"is-resize\":\"style_is-resize__ut6RW__H6Qrx\",\"is-moving\":\"style_is-moving__BJ9wR__H6Qrx\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__H6Qrx\",\"is-computed\":\"style_is-computed__B9rIF__H6Qrx\",\"options-column\":\"style_options-column__vsPTr__H6Qrx\",\"options-btn\":\"style_options-btn__U3uoy__H6Qrx\",\"tooltip\":\"style_tooltip__vJlkv__H6Qrx\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__H6Qrx\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__H6Qrx\",\"columns-control\":\"style_columns-control__5-5ZF__H6Qrx\",\"columns-control-content\":\"style_columns-control-content__MoeUI__H6Qrx\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__H6Qrx\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__H6Qrx\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__H6Qrx\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__H6Qrx\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__H6Qrx\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__H6Qrx\",\"is-drag\":\"style_is-drag__U68aw__H6Qrx\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__H6Qrx\",\"sortable-drag\":\"style_sortable-drag__K5hWd__H6Qrx\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__H6Qrx\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__H6Qrx\",\"sort-btn\":\"style_sort-btn__KvNLr__H6Qrx\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__H6Qrx\",\"sort-icon\":\"style_sort-icon__dB85I__H6Qrx\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__H6Qrx\"};","// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__H6Qrx\",\"scroller-inner\":\"style_scroller-inner__NJSE0__H6Qrx\",\"is-moving\":\"style_is-moving__jGuy0__H6Qrx\"};","import {createPortal} from \"react-dom\";\nimport {useEffect, useRef, useState} from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport {getScrollEl} from '../../utils/importantContainer';\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 && 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(scrollerProps.hasScroller ? (<div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left, width: scrollerProps.width, 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, left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>) : null, getContainer() || document.body);\n};\n\nconst Scroller = ({\n className, scroller = true, getScrollTarget = getScrollEl, children\n }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0, width: 0, innerLeft: 0, innerWidth: 0, height: 0, 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 = typeof scroller === \"object\" && typeof scroller.getContainer === \"function\" ? scroller.getContainer : () => 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 = scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth = (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft = (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: scrollEl.scrollWidth - scrollEl.clientWidth > 0 && (container === document.documentElement ? top + height - container.offsetHeight > 0 && top < container.offsetHeight : top < containerRect.top + containerRect.height && 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 (<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\nexport default Scroller;\n","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__H6Qrx\",\"tag\":\"columns_tag__bQZLG__H6Qrx\",\"avatar\":\"columns_avatar__SLPI+__H6Qrx\",\"hover\":\"columns_hover__oAwHg__H6Qrx\",\"primary\":\"columns_primary__6KtaA__H6Qrx\",\"loading\":\"columns_loading__gtBay__H6Qrx\",\"options\":\"columns_options__WvDZD__H6Qrx\"};","import {Button} from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\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 = [], children, width}) => {\n const buttonProps = {\n className: classnames(className, \"btn-no-padding\", style[\"options-btn\"]), type: \"link\",\n };\n const buttonList = list\n .filter((item) => !item?.hidden)\n .map(({className, ...props}) => Object.assign({}, props, buttonProps));\n const more = <Button\n icon={<Icon type=\"icon-gengduo2\"/>}\n className=\"btn-no-padding\"\n type=\"link\"\n />;\n return (<div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n {typeof children === \"function\" ? children({\n list: buttonList, more, buttonProps\n }) : children}\n {list && list.length > 0 && <ButtonGroup\n list={buttonList}\n more={more}\n />}\n </div>);\n};\n\nconst Options = ({list, ...props}) => {\n if (typeof list === \"function\") {\n return (<Fetch\n loader={list}\n render={({data}) => {\n return <OptionsList {...props} list={data}/>;\n }}\n />);\n }\n if (Array.isArray(list)) {\n return <OptionsList {...props} list={list}/>;\n }\n return <OptionsList {...Object.assign({}, props, list)} />;\n};\n\nexport default Options;\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 rootClassName: style[\"tooltip\"],\n children: children,\n },\n },\n typeof ellipsis === \"object\" ? ellipsis : {}\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 (<div\n style={Object.assign({}, style, {\"--max-width\": width + \"px\"})}\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[type], isEmpty ? null : {\n [columnsStyle[\"hover\"]]: hover, [columnsStyle[\"primary\"]]: primary, [columnsStyle[\"loading\"]]: loading,\n })}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(onClick({item, colItem: colValue, event: e})).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty ? emptyRender({type, item, hover, primary, children}) : children}\n </div>);\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\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 const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\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={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\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 localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\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\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({title, columns, config, setConfig}) => {\n const [open, setOpen] = useState(false);\n return (<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 rootClassName={style[\"columns-control-overlay\"]}\n content={<ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(newConfig, (result, value, key) => {\n result[key] = Object.assign({}, config[key], pick(value, [\"visible\", \"rank\"]));\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\nconst useTableConfig = ({\n columns, name, controllerOpen, tableWidth, rowKey,\n }) => {\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: presetTableServerApis} = usePreset();\n const tableServerApis = presetTableServerApis ? presetTableServerApis : tableLocalApis;\n\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 = typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const {send} = useFetch(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 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 !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true));\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (get(config, `${item.name}.rank`, 0) + (item.fixed === \"left\" ? -10000 : 0) + (item.fixed === \"right\" ? 10000 : 0));\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(visibleColumns, ({\n type, name\n }) => get(config, `${name}.width`) || (columnTypes[type] || columnTypes['other']).width);\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({width, index}) => {\n return lastNotOptionsColumnIndex === index ? width + Math.max(tableWidth - totalWidth - 2, 0) : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (<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 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\", title: (<TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\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(Math.max(get(config, `${name}.width`) || width, min), max);\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 const itemKey = typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === \"function\" ? rowKey(prevRecord) : prevRecord[rowKey];\n return (currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || column.type === \"hideInfo\" || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name])));\n },\n title: (<>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) && resizeBarRender(Object.assign({}, targetColumn, {width: realWidth}), index)}\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 (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null) {\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(\"mouseup\", handlerCancelResize, true);\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\"mouseup\", handlerCancelResize, true);\n document.documentElement.removeEventListener(\"mousemove\", handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns, currentMoveColumnIndex, resizeBarRender, columnsConfig: config, totalWidth, 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 get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\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((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 {\n render, width, min, max\n } = Object.assign({}, columnTypes[type] || columnTypes['other'], type === \"hideInfo\" && !isNil(expandInfo) && pick(columnTypes[expandType] || columnTypes['other'], [\"width\", \"min\", \"max\"]));\n const targetRender = 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 = typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign({}, col, typeof col.render === \"function\" ? col.render({\n ...columnRenderPropsRef.current, name, target: item,\n }) : {});\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\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: Object.assign({}, 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 = colProps.hasOwnProperty(\"valueOf\") && typeof colProps.valueOf === \"function\" ? colProps.valueOf(item, Object.assign({}, columnRenderPropsRef.current, {\n name,\n }, disableColItem ? {targetRender: targetRenderWithProps} : {})) : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n });\n\n return {\n expandInfo, 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 as getScrollElDefault} 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 = getScrollElDefault,\n sticky = false,\n stickyOffset = \"var(--nav-height)\",\n pagination = false,\n columnRenderProps = {},\n rowKey = \"id\",\n dataSource,\n controllerOpen = true,\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((el) => {\n setTableWidth(el.clientWidth);\n }, {isDebounce: true});\n const {expandInfo, computedColumnProps} = useColumnTypeProps({\n rowKey, renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns, controllerOpen, name, computedColumnProps, tableWidth, rowKey,\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, expandInfo, columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (<>\n {target.title}\n {sortRender({\n name: col.name, single: typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth, columnsConfig,\n });\n }\n\n return target;\n });\n }, [visibleColumns, tableWidth, columnsConfig, expandInfo, rowKey, controllerOpen, computedColumnProps, computedColumnConfigProps, sortRender,]);\n\n const {columns: groupColumns, hasGroupHeader} = useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback && onTablePropsReadyCallback({\n columns, groupColumns, dataSource, visibleColumns,\n });\n }, [onTablePropsReadyCallback, groupColumns, dataSource, columns, visibleColumns,]);\n\n return (<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 && (<Scroller\n className=\"table-page-scroller\"\n scroller={{getContainer: getScrollEl}}\n getScrollTarget={(el) => {\n return (el.querySelector(\".ant-table-body\") || el.querySelector(\".ant-table-content\"));\n }}\n >\n <AntdTable\n {...props}\n sticky={sticky ? {\n getContainer: getScrollEl,\n } : false}\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign({}, {x: Math.max(tableWidth, totalWidth)}, scroll)}\n pagination={pagination}\n summary={typeof summary === \"function\" ? (current, ...args) => {\n return summary(Object.assign({}, {pageData: current}, {columns: groupColumns}), ...args);\n } : null}\n />\n </Scroller>)}\n </div>);\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 (<Features id={id}>\n {({options}) => 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 </Features>);\n }\n return children({columns});\n};\n\nconst TablePageInner = withFetch(({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat = (data) => {\n return {\n list: data.pageData, total: data.totalCount,\n };\n },\n className,\n featureId,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky = true,\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, pagination: pagination.open ? {\n total: formatData.total,\n showTotal: (total) => (<>\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 current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange ? pagination.onChange : (page, size) => {\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page, [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n } : false,\n };\n\n return (<IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({columns}) => (<Table\n {...Object.assign({}, props, tableProps)}\n sticky={sticky}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps, requestParams, fetchProps, data,\n }}\n summary={typeof summary === \"function\" ? (...args) => {\n return summary(Object.assign({}, {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n }, ...args));\n } : null}\n />)}\n </FeaturesColumnsConfig>\n </IntlProvider>);\n});\n\nconst TablePage = forwardRef(({pagination, ...props}, ref) => {\n pagination = Object.assign({}, {\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 }, pagination);\n const pageSizeKey = `${(props.name || \"common\").toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(localStorage.getItem(pageSizeKey) || pagination.pageSize);\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 (<TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize, onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />);\n});\n\nexport default TablePage;\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 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","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","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 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 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 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","import { preset } from \"@kne/react-enum\";\nimport transform from \"lodash/transform\";\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\npreset({\n base: transform(\n baseLoaders,\n (result, value) => {\n result[value[0]] = value[1];\n },\n {}\n ),\n});\n\nexport { default } from \"@kne/react-enum\";\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__H6Qrx\",\"state-result-tag\":\"style_state-result-tag__CssDz__H6Qrx\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__H6Qrx\",\"event-tag\":\"style_event-tag__cg6SE__H6Qrx\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__H6Qrx\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__H6Qrx\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__H6Qrx\",\"show-bg\":\"style_show-bg__OcL+R__H6Qrx\",\"tag-text\":\"style_tag-text__JHCt+__H6Qrx\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__H6Qrx\"};","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\", 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 = false,\n text = \"\",\n type = \"default\",\n showBackground = true,\n className,\n filterName,\n ...props\n }) => {\n const tagColor = useMemo(() => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }), [type]);\n\n return (<Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(style[\"state-tag-wrapper\"], type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\")}\n align=\"center\"\n size={4}\n >\n {filterName ? (<span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>) : 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(style[\"state-tag\"], className, type === \"result\" ? style[\"state-result-tag\"] : \"\", type === \"skill\" ? style[\"state-skill-tag\"] : \"\", style[`state-tag-${type}`], showBackground ? style[\"show-bg\"] : \"\", showBorder ? style[\"show-border\"] : \"\", props?.onClick ? style[\"event-tag\"] : \"\")}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>);\n};\n\nexport default StateTag;\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","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","/**\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","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","/**\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 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","/**\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"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","_objectWithoutProperties","_excluded","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","_ref2","scroller","getScrollTarget","getScrollEl","setScrollerProps","ref","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","_objectSpread","x","OptionsList","list","buttonProps","type","buttonList","filter","hidden","map","more","Button","icon","Icon","length","ButtonGroup","_ref3","_excluded2","Fetch","loader","render","_ref4","data","isArray","ellipsis","Typography","Text","tooltip","rootClassName","isEmpty","emptyRender","hover","primary","onClick","colValue","loading","setLoading","columnsStyle","Promise","resolve","colItem","event","finally","isColValueEmpty","value","emptyOf","values","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","ColItem","Ellipsis","other","_ref15","_excluded13","columnTypes","date","dayjs","isValid","format","min","max","dateShort","dateRange","_excluded3","datetime","hideSecond","_excluded4","serialNumber","_ref5","_excluded5","serialNumberShort","_ref6","_excluded6","user","_ref7","_excluded7","userName","_ref8","_excluded8","contacts","_ref9","_excluded9","tag","_ref0","_excluded0","isEnum","Enum","name","moduleName","force","_ref1","description","StateTag","omit","text","avatar","_ref10","_excluded1","Image","Avatar","size","singleRow","_ref11","_excluded10","hideInfo","HideInfoComponent","mainInfo","_ref12","_excluded11","_ref13","_excluded12","options","_ref14","sensitiveInfo","_ref16","_excluded14","otherSmall","otherLarge","Panel","Collapse","close","onConfirm","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","useMemo","transform","groupBy","fixed","get","concat","result","key","sort","a","b","renderColumn","_Fragment","titleText","title","groupHeader","join","Row","align","justify","Col","Tooltip","LoadingButton","async","defaultActiveKey","ghost","bordered","header","List","index","Item","Checkbox","checked","disabled","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","set","handlerColumnsChange","animation","delayOnTouchStart","delay","stopPropagation","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","indexOf","renderItem","gutter","storageKey","getDataApi","localStorage","getItem","setDataFunc","setItem","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","placement","content","ColumnsControlContent","pick","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","usePreset","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","target","startTransition","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","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","isNil","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","slice","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","Map","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","getScrollElDefault","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","useResize","el","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","querySelector","AntdTable","_len","arguments","args","_key","pageData","locale","en-US","zh-CN","FeaturesColumnsConfig","id","Features","TablePageInner","withFetch","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","total","totalCount","featureId","getColumns","handlerDataFormat","formatData","tableProps","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","importMessages","Table","forwardRef","pageSizeKey","toUpperCase","setPageSize","params","fetchParams","arrayAggregator","require","baseAggregator","baseIteratee","module","exports","setter","initializer","collection","iteratee","func","accumulator","baseFindIndex","toInteger","nativeMax","nativeMin","array","predicate","fromIndex","undefined","dataType","JSON","parse","Number","Boolean","stringify","baseEach","baseAssignValue","createAggregator","prototype","call","baseSum","baseForOwn","createBaseEach","preset","base","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","danger","info","showBorder","showBackground","filterName","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Space","Tag","background","border","treeTraverse","pId","parentId","parseProfile","memoize","profile","profileMap","output","features","keys","dependencies","some","depId","computedIsPaas","currentId","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","console","log","isPass","feature","baseSet","object","path","fromRight","isArrayLike","eachFunc","iterable","toFinite","remainder"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/3205.073e15ab.chunk.js","mappings":"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","sources":["webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","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/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.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/_createAggregator.js","../node_modules/lodash/findLastIndex.js","common/utils/localStorage.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/_baseEach.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","components/Features/index.js","../node_modules/lodash/set.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_baseSum.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__8c8Wn\",\"is-resize\":\"style_is-resize__ut6RW__8c8Wn\",\"is-moving\":\"style_is-moving__BJ9wR__8c8Wn\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__8c8Wn\",\"is-computed\":\"style_is-computed__B9rIF__8c8Wn\",\"options-column\":\"style_options-column__vsPTr__8c8Wn\",\"options-btn\":\"style_options-btn__U3uoy__8c8Wn\",\"tooltip\":\"style_tooltip__vJlkv__8c8Wn\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__8c8Wn\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__8c8Wn\",\"columns-control\":\"style_columns-control__5-5ZF__8c8Wn\",\"columns-control-content\":\"style_columns-control-content__MoeUI__8c8Wn\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__8c8Wn\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__8c8Wn\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__8c8Wn\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__8c8Wn\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__8c8Wn\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__8c8Wn\",\"is-drag\":\"style_is-drag__U68aw__8c8Wn\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__8c8Wn\",\"sortable-drag\":\"style_sortable-drag__K5hWd__8c8Wn\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__8c8Wn\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__8c8Wn\",\"sort-btn\":\"style_sort-btn__KvNLr__8c8Wn\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__8c8Wn\",\"sort-icon\":\"style_sort-icon__dB85I__8c8Wn\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__8c8Wn\"};","// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__8c8Wn\",\"scroller-inner\":\"style_scroller-inner__NJSE0__8c8Wn\",\"is-moving\":\"style_is-moving__jGuy0__8c8Wn\"};","import {createPortal} from \"react-dom\";\nimport {useEffect, useRef, useState} from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport {getScrollEl} from '../../utils/importantContainer';\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 && 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(scrollerProps.hasScroller ? (<div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left, width: scrollerProps.width, 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, left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>) : null, getContainer() || document.body);\n};\n\nconst Scroller = ({\n className, scroller = true, getScrollTarget = getScrollEl, children\n }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0, width: 0, innerLeft: 0, innerWidth: 0, height: 0, 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 = typeof scroller === \"object\" && typeof scroller.getContainer === \"function\" ? scroller.getContainer : () => 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 = scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth = (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft = (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: scrollEl.scrollWidth - scrollEl.clientWidth > 0 && (container === document.documentElement ? top + height - container.offsetHeight > 0 && top < container.offsetHeight : top < containerRect.top + containerRect.height && 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 (<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\nexport default Scroller;\n","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__8c8Wn\",\"tag\":\"columns_tag__bQZLG__8c8Wn\",\"avatar\":\"columns_avatar__SLPI+__8c8Wn\",\"hover\":\"columns_hover__oAwHg__8c8Wn\",\"primary\":\"columns_primary__6KtaA__8c8Wn\",\"loading\":\"columns_loading__gtBay__8c8Wn\",\"options\":\"columns_options__WvDZD__8c8Wn\"};","import {Button} from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\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 = [], children, width}) => {\n const buttonProps = {\n className: classnames(className, \"btn-no-padding\", style[\"options-btn\"]), type: \"link\",\n };\n const buttonList = list\n .filter((item) => !item?.hidden)\n .map(({className, ...props}) => Object.assign({}, props, buttonProps));\n const more = <Button\n icon={<Icon type=\"icon-gengduo2\"/>}\n className=\"btn-no-padding\"\n type=\"link\"\n />;\n return (<div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n {typeof children === \"function\" ? children({\n list: buttonList, more, buttonProps\n }) : children}\n {list && list.length > 0 && <ButtonGroup\n list={buttonList}\n more={more}\n />}\n </div>);\n};\n\nconst Options = ({list, ...props}) => {\n if (typeof list === \"function\") {\n return (<Fetch\n loader={list}\n render={({data}) => {\n return <OptionsList {...props} list={data}/>;\n }}\n />);\n }\n if (Array.isArray(list)) {\n return <OptionsList {...props} list={list}/>;\n }\n return <OptionsList {...Object.assign({}, props, list)} />;\n};\n\nexport default Options;\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 rootClassName: style[\"tooltip\"],\n children: children,\n },\n },\n typeof ellipsis === \"object\" ? ellipsis : {}\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 (<div\n style={Object.assign({}, style, {\"--max-width\": width + \"px\"})}\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[type], isEmpty ? null : {\n [columnsStyle[\"hover\"]]: hover, [columnsStyle[\"primary\"]]: primary, [columnsStyle[\"loading\"]]: loading,\n })}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(onClick({item, colItem: colValue, event: e})).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty ? emptyRender({type, item, hover, primary, children}) : children}\n </div>);\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\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 const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\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={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\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 localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\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\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({title, columns, config, setConfig}) => {\n const [open, setOpen] = useState(false);\n return (<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 rootClassName={style[\"columns-control-overlay\"]}\n content={<ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(newConfig, (result, value, key) => {\n result[key] = Object.assign({}, config[key], pick(value, [\"visible\", \"rank\"]));\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\nconst useTableConfig = ({\n columns, name, controllerOpen, tableWidth, rowKey,\n }) => {\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: presetTableServerApis} = usePreset();\n const tableServerApis = presetTableServerApis ? presetTableServerApis : tableLocalApis;\n\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 = typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const {send} = useFetch(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 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 !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true));\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (get(config, `${item.name}.rank`, 0) + (item.fixed === \"left\" ? -10000 : 0) + (item.fixed === \"right\" ? 10000 : 0));\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(visibleColumns, ({\n type, name\n }) => get(config, `${name}.width`) || (columnTypes[type] || columnTypes['other']).width);\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({width, index}) => {\n return lastNotOptionsColumnIndex === index ? width + Math.max(tableWidth - totalWidth - 2, 0) : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (<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 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\", title: (<TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\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(Math.max(get(config, `${name}.width`) || width, min), max);\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 const itemKey = typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === \"function\" ? rowKey(prevRecord) : prevRecord[rowKey];\n return (currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || column.type === \"hideInfo\" || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name])));\n },\n title: (<>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) && resizeBarRender(Object.assign({}, targetColumn, {width: realWidth}), index)}\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 (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null) {\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(\"mouseup\", handlerCancelResize, true);\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\"mouseup\", handlerCancelResize, true);\n document.documentElement.removeEventListener(\"mousemove\", handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns, currentMoveColumnIndex, resizeBarRender, columnsConfig: config, totalWidth, 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 get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\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((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 {\n render, width, min, max\n } = Object.assign({}, columnTypes[type] || columnTypes['other'], type === \"hideInfo\" && !isNil(expandInfo) && pick(columnTypes[expandType] || columnTypes['other'], [\"width\", \"min\", \"max\"]));\n const targetRender = 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 = typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign({}, col, typeof col.render === \"function\" ? col.render({\n ...columnRenderPropsRef.current, name, target: item,\n }) : {});\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\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: Object.assign({}, 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 = colProps.hasOwnProperty(\"valueOf\") && typeof colProps.valueOf === \"function\" ? colProps.valueOf(item, Object.assign({}, columnRenderPropsRef.current, {\n name,\n }, disableColItem ? {targetRender: targetRenderWithProps} : {})) : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n });\n\n return {\n expandInfo, 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 as getScrollElDefault} 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 = getScrollElDefault,\n sticky = false,\n stickyOffset = \"var(--nav-height)\",\n pagination = false,\n columnRenderProps = {},\n rowKey = \"id\",\n dataSource,\n controllerOpen = true,\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((el) => {\n setTableWidth(el.clientWidth);\n }, {isDebounce: true});\n const {expandInfo, computedColumnProps} = useColumnTypeProps({\n rowKey, renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns, controllerOpen, name, computedColumnProps, tableWidth, rowKey,\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, expandInfo, columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (<>\n {target.title}\n {sortRender({\n name: col.name, single: typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth, columnsConfig,\n });\n }\n\n return target;\n });\n }, [visibleColumns, tableWidth, columnsConfig, expandInfo, rowKey, controllerOpen, computedColumnProps, computedColumnConfigProps, sortRender,]);\n\n const {columns: groupColumns, hasGroupHeader} = useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback && onTablePropsReadyCallback({\n columns, groupColumns, dataSource, visibleColumns,\n });\n }, [onTablePropsReadyCallback, groupColumns, dataSource, columns, visibleColumns,]);\n\n return (<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 && (<Scroller\n className=\"table-page-scroller\"\n scroller={{getContainer: getScrollEl}}\n getScrollTarget={(el) => {\n return (el.querySelector(\".ant-table-body\") || el.querySelector(\".ant-table-content\"));\n }}\n >\n <AntdTable\n {...props}\n sticky={sticky ? {\n getContainer: getScrollEl,\n } : false}\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign({}, {x: Math.max(tableWidth, totalWidth)}, scroll)}\n pagination={pagination}\n summary={typeof summary === \"function\" ? (current, ...args) => {\n return summary(Object.assign({}, {pageData: current}, {columns: groupColumns}), ...args);\n } : null}\n />\n </Scroller>)}\n </div>);\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 (<Features id={id}>\n {({options}) => 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 </Features>);\n }\n return children({columns});\n};\n\nconst TablePageInner = withFetch(({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat = (data) => {\n return {\n list: data.pageData, total: data.totalCount,\n };\n },\n className,\n featureId,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky = true,\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, pagination: pagination.open ? {\n total: formatData.total,\n showTotal: (total) => (<>\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 current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange ? pagination.onChange : (page, size) => {\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page, [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n } : false,\n };\n\n return (<IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({columns}) => (<Table\n {...Object.assign({}, props, tableProps)}\n sticky={sticky}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps, requestParams, fetchProps, data,\n }}\n summary={typeof summary === \"function\" ? (...args) => {\n return summary(Object.assign({}, {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n }, ...args));\n } : null}\n />)}\n </FeaturesColumnsConfig>\n </IntlProvider>);\n});\n\nconst TablePage = forwardRef(({pagination, ...props}, ref) => {\n pagination = Object.assign({}, {\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 }, pagination);\n const pageSizeKey = `${(props.name || \"common\").toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(localStorage.getItem(pageSizeKey) || pagination.pageSize);\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 (<TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize, onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />);\n});\n\nexport default TablePage;\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 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","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","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 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 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 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","import { preset } from \"@kne/react-enum\";\nimport transform from \"lodash/transform\";\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\npreset({\n base: transform(\n baseLoaders,\n (result, value) => {\n result[value[0]] = value[1];\n },\n {}\n ),\n});\n\nexport { default } from \"@kne/react-enum\";\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__8c8Wn\",\"state-result-tag\":\"style_state-result-tag__CssDz__8c8Wn\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__8c8Wn\",\"event-tag\":\"style_event-tag__cg6SE__8c8Wn\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__8c8Wn\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__8c8Wn\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__8c8Wn\",\"show-bg\":\"style_show-bg__OcL+R__8c8Wn\",\"tag-text\":\"style_tag-text__JHCt+__8c8Wn\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__8c8Wn\"};","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\", 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 = false,\n text = \"\",\n type = \"default\",\n showBackground = true,\n className,\n filterName,\n ...props\n }) => {\n const tagColor = useMemo(() => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }), [type]);\n\n return (<Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(style[\"state-tag-wrapper\"], type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\")}\n align=\"center\"\n size={4}\n >\n {filterName ? (<span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>) : 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(style[\"state-tag\"], className, type === \"result\" ? style[\"state-result-tag\"] : \"\", type === \"skill\" ? style[\"state-skill-tag\"] : \"\", style[`state-tag-${type}`], showBackground ? style[\"show-bg\"] : \"\", showBorder ? style[\"show-border\"] : \"\", props?.onClick ? style[\"event-tag\"] : \"\")}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>);\n};\n\nexport default StateTag;\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","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","/**\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","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","/**\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 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","/**\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"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","_objectWithoutProperties","_excluded","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","_ref2","scroller","getScrollTarget","getScrollEl","setScrollerProps","ref","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","_objectSpread","x","OptionsList","list","buttonProps","type","buttonList","filter","hidden","map","more","Button","icon","Icon","length","ButtonGroup","_ref3","_excluded2","Fetch","loader","render","_ref4","data","isArray","ellipsis","Typography","Text","tooltip","rootClassName","isEmpty","emptyRender","hover","primary","onClick","colValue","loading","setLoading","columnsStyle","Promise","resolve","colItem","event","finally","isColValueEmpty","value","emptyOf","values","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","ColItem","Ellipsis","other","_ref15","_excluded13","columnTypes","date","dayjs","isValid","format","min","max","dateShort","dateRange","_excluded3","datetime","hideSecond","_excluded4","serialNumber","_ref5","_excluded5","serialNumberShort","_ref6","_excluded6","user","_ref7","_excluded7","userName","_ref8","_excluded8","contacts","_ref9","_excluded9","tag","_ref0","_excluded0","isEnum","Enum","name","moduleName","force","_ref1","description","StateTag","omit","text","avatar","_ref10","_excluded1","Image","Avatar","size","singleRow","_ref11","_excluded10","hideInfo","HideInfoComponent","mainInfo","_ref12","_excluded11","_ref13","_excluded12","options","_ref14","sensitiveInfo","_ref16","_excluded14","otherSmall","otherLarge","Panel","Collapse","close","onConfirm","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","useMemo","transform","groupBy","fixed","get","concat","result","key","sort","a","b","renderColumn","_Fragment","titleText","title","groupHeader","join","Row","align","justify","Col","Tooltip","LoadingButton","async","defaultActiveKey","ghost","bordered","header","List","index","Item","Checkbox","checked","disabled","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","set","handlerColumnsChange","animation","delayOnTouchStart","delay","stopPropagation","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","indexOf","renderItem","gutter","storageKey","getDataApi","localStorage","getItem","setDataFunc","setItem","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","placement","content","ColumnsControlContent","pick","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","usePreset","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","target","startTransition","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","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","isNil","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","slice","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","Map","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","getScrollElDefault","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","useResize","el","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","querySelector","AntdTable","_len","arguments","args","_key","pageData","locale","en-US","zh-CN","FeaturesColumnsConfig","id","Features","TablePageInner","withFetch","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","total","totalCount","featureId","getColumns","handlerDataFormat","formatData","tableProps","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","importMessages","Table","forwardRef","pageSizeKey","toUpperCase","setPageSize","params","fetchParams","arrayAggregator","require","baseAggregator","baseIteratee","module","exports","setter","initializer","collection","iteratee","func","accumulator","baseFindIndex","toInteger","nativeMax","nativeMin","array","predicate","fromIndex","undefined","dataType","JSON","parse","Number","Boolean","stringify","baseEach","baseAssignValue","createAggregator","prototype","call","baseSum","baseForOwn","createBaseEach","preset","base","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","danger","info","showBorder","showBackground","filterName","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Space","Tag","background","border","treeTraverse","pId","parentId","parseProfile","memoize","profile","profileMap","output","features","keys","dependencies","some","depId","computedIsPaas","currentId","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","console","log","isPass","feature","baseSet","object","path","fromRight","isArrayLike","eachFunc","iterable","toFinite","remainder"],"sourceRoot":""}
|