@flatbiz/antd 4.5.34 → 4.5.36
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/esm/button-operate/index.css +1 -1
- package/esm/button-operate/index.js +3 -4
- package/esm/button-operate/index.js.map +1 -1
- package/esm/cascader-wrapper/index.css +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/dialog-preview-image/index.css +0 -0
- package/esm/dialog-preview-image/index.js +6 -0
- package/esm/dialog-preview-image/index.js.map +1 -0
- package/esm/drag-editable-table/index.js +1 -2
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -2
- package/esm/index.js +1 -1
- package/esm/label-value-render/index.css +1 -1
- package/esm/local-loading/index.css +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/table-cell-render/index.js +2 -3
- package/esm/tabs-sticky/index.js.map +1 -1
- package/esm/tree-modal/index.js +2 -2
- package/esm/tree-modal-selector/index.js +2 -2
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +4 -4
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.css +1 -1
- package/esm/upload-wrapper/index.js +5 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/index.d.ts +46 -12
- package/package.json +3 -3
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './../button-operate/index.css';
|
|
3
|
-
import './../button-wrapper/index.css';
|
|
4
3
|
import './../config-provider-wrapper/index.css';
|
|
5
4
|
import './../fba-hooks/index.css';
|
|
6
5
|
import './../types/index.css';
|
|
7
6
|
import './../fba-utils/index.css';
|
|
8
|
-
import './../
|
|
7
|
+
import './../button-wrapper/index.css';
|
|
8
|
+
import './../flex-layout/index.css';
|
|
9
9
|
import './../dialog-confirm/index.css';
|
|
10
10
|
import './../dialog-modal/index.css';
|
|
11
|
-
import './../flex-layout/index.css';
|
|
12
11
|
import './../tag-list-render/index.css';
|
|
13
12
|
import './../tag-list-select/index.css';
|
|
14
13
|
import './index.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: TabsProps
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsProps, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs activeKey={activeKey} className=\"tabs-sticky-contents\" items={contentTabItems} />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_extends","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":";oQAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYD,EAAMC,UAExB,IAAAC,EAAkCC,EAASF,EAAUG,kBAA9CC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAC9B,IAAMK,EAAYC,EAAuB,MACzC,IAAMC,EAAWD,EAAY,MAC7B,IAAME,EAAiBF,IAEvB,IAAMG,EAAaC,EAAQL,GAE3B,IAAMM,EAAeL,EAAY,MAEjC,IAAMM,EAAgBF,EAAQC,GAC9B,IAAME,EAAeH,EAAQH,GAE7BO,GAAU,WACR,GAAIf,EAAUI,UAAW,CACvBC,EAAaL,EAAUI,UACzB,CACF,GAAG,CAACJ,EAAUI,YAEd,IAAMY,EAAW,SAAXA,EAAYZ,GAChB,IAAKJ,EAAUI,UAAW,CACxBC,EAAaD,EACf,CACAJ,EAAUgB,UAAVhB,UAAAA,EAAAA,EAAUgB,SAAWZ,GACrB,IAAMa,GAAMP,eAAAA,EAAYQ,SAAU,EAClC,GAAIT,EAAeU,QAAS,CAAA,IAAAC,GAC1BA,EAAAR,EAAaO,UAAbC,UAAAA,EAAAA,EAAsBC,SAAS,CAC7BJ,IAAAA,GAEJ,KAAO,CACL,GAAIlB,EAAMuB,gBAAkB,MAAO,CAAA,IAAAC,GACjCA,EAAAX,EAAaO,UAAbI,UAAAA,EAAAA,EAAsBF,SAAS,CAC7BJ,IAAAA,GAEJ,CACF,GAGF,IAAMO,IAAaX,GAAAA,UAAAA,EAAAA,EAAeK,SAAU,KAAMJ,GAAAA,UAAAA,EAAAA,EAAcI,SAAU,GAE1E,IAAMO,EAAiBC,GAAQ,WAAM,IAAAC,EACnC,OAAAA,EAAO3B,EAAU4B,QAAK,UAAA,EAAfD,EAAiBE,KAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAU,MAEd,GACF,GAAG,CAAChC,EAAU4B,QAEd,IAAMK,EAAkBP,GAAQ,WAAM,IAAAQ,EACpC,OAAAA,EAAOlC,EAAU4B,QAAK,UAAA,EAAfM,EAAiBL,KAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAUG,EAAA,MAAA,CAAKC,MAAO,CAAEZ,UAAAA,GAAYQ,SAAEF,EAAKE,YAE/C,GACD,GAAE,CAAChC,EAAU4B,MAAOJ,IAErB,OACEa,EAAA,MAAA,CAAKC,IAAK1B,EAAcwB,MAAO,CAAElB,OAAQ,OAAQqB,UAAW,QAASP,UACnEG,EAAA,MAAA,CAAKG,IAAKhC,EAAU0B,SAAEjC,EAAMyC,eAC5BL,EAACM,EAAK,CACJC,UAAW,EACXC,OAAQ,SAAAA,IAAA,OAAM/B,EAAaO,OAAuB,EAClDH,SAAU,SAAAA,EAAC4B,GACTnC,EAAeU,QAAUyB,CACzB,EAAAZ,SAEFG,EAAA,MAAA,CAAKG,IAAK9B,EAASwB,SACjBG,EAACU,EAAId,KACC/B,EAAS,CACbI,UAAWA,EACXwB,MAAOH,EACPqB,YAAWf,EAAO/B,GAAAA,EAAU8C,YAAW,CAAEC,OAAQ,IACjDX,MAAKL,EAAA,CACHiB,gBAAiB,yBACdhD,EAAUoC,OAEfpB,SAAUA,SAIhBmB,EAACU,EAAI,CAACzC,UAAWA,EAAW6C,UAAU,uBAAuBrB,MAAOK,MAG1E"}
|
package/esm/tree-modal/index.js
CHANGED
|
@@ -7,13 +7,13 @@ import './../text-overflow/index.css';
|
|
|
7
7
|
import './../tree-wrapper/index.css';
|
|
8
8
|
import './../request-status/index.css';
|
|
9
9
|
import './../button-operate/index.css';
|
|
10
|
-
import './../button-wrapper/index.css';
|
|
11
10
|
import './../config-provider-wrapper/index.css';
|
|
12
11
|
import './../types/index.css';
|
|
13
12
|
import './../fba-utils/index.css';
|
|
14
|
-
import './../
|
|
13
|
+
import './../button-wrapper/index.css';
|
|
15
14
|
import './../dialog-confirm/index.css';
|
|
16
15
|
import './../dialog-modal/index.css';
|
|
16
|
+
import './../dropdown-menu-wrapper/index.css';
|
|
17
17
|
import './../input-search-wrapper/index.css';
|
|
18
18
|
import './index.css';
|
|
19
19
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
@@ -8,13 +8,13 @@ import './../text-overflow/index.css';
|
|
|
8
8
|
import './../tree-wrapper/index.css';
|
|
9
9
|
import './../request-status/index.css';
|
|
10
10
|
import './../button-operate/index.css';
|
|
11
|
-
import './../button-wrapper/index.css';
|
|
12
11
|
import './../config-provider-wrapper/index.css';
|
|
13
12
|
import './../types/index.css';
|
|
14
13
|
import './../fba-utils/index.css';
|
|
15
|
-
import './../
|
|
14
|
+
import './../button-wrapper/index.css';
|
|
16
15
|
import './../dialog-confirm/index.css';
|
|
17
16
|
import './../dialog-modal/index.css';
|
|
17
|
+
import './../dropdown-menu-wrapper/index.css';
|
|
18
18
|
import './../input-search-wrapper/index.css';
|
|
19
19
|
import './index.css';
|
|
20
20
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './../request-status/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{extend as l}from"@dimjs/utils/cjs/extend";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as i}from"@dimjs/lang/cjs/is-object";import{a as o,_ as u}from"../_rollupPluginBabelHelpers-a0769acd.js";import{toArray as s,treeToTiledMap as c,isNotEmptyArray as f,treeToArray as d,isUndefinedOrNull as v}from"@flatbiz/utils";import{TreeSelect as p,Button as m}from"antd";import{dequal as h}from"dequal";import{useState as S,useRef as g,useMemo as b,createElement as C}from"react";import{fbaHooks as y}from"../fba-hooks/index.js";import{RequestStatus as q}from"../request-status/index.js";import{Model as w}from"@dimjs/model-react";import{jsx as L}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";var
|
|
6
|
+
import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{extend as l}from"@dimjs/utils/cjs/extend";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as i}from"@dimjs/lang/cjs/is-object";import{a as o,_ as u}from"../_rollupPluginBabelHelpers-a0769acd.js";import{toArray as s,treeToTiledMap as c,isNotEmptyArray as f,treeToArray as d,isUndefinedOrNull as v}from"@flatbiz/utils";import{TreeSelect as p,Button as m}from"antd";import{dequal as h}from"dequal";import{useState as S,useRef as g,useMemo as b,createElement as C}from"react";import{fbaHooks as y}from"../fba-hooks/index.js";import{RequestStatus as q}from"../request-status/index.js";import{Model as w}from"@dimjs/model-react";import{jsx as L}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";var T={treeSelectorList:[],treeSelectorTiledMap:{},queryIsEmpty:false};var R={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledMap=r.treeSelectorTiledMap||{};e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[];e.treeSelectorTiledMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:T};var j={};var k=function e(r){if(!j[r]){j[r]=w(R)}return j[r]};var x=function e(r,t){var l=[];var a=t[r];while(a){var n=a.pId;a=t[n];if(a){l.push(n)}}return l};var M=function e(r,t){if(r.length===0)return[];var l=[];r.forEach((function(e){var r=x(e,t);l.push.apply(l,r)}));return Array.from(new Set(l))};var E=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys"];var I=function w(T){var R=T.serviceConfig,j=T.effectDependencyList,x=T.onTreeSelectorListChange,I=T.onTreeSelectorRequestError,A=T.treeSelectorList,N=T.requestMessageConfig,D=T.modelKey,P=T.value,O=T.labelInValue,B=T.labelInValueFieldNames,K=T.onTreeItemDataAdapter,V=T.selectedParentCheckedAllChildrenList,F=V===void 0?true:V,H=T.fieldNames,W=T.onChange,_=T.treeDefaultExpandAll,z=T.showAllOption,G=T.initRootExpand,J=T.treeDefaultExpandedKeys,Q=o(T,E);var U=Object.prototype.hasOwnProperty.call(T,"treeSelectorList");var X=R||{};var Y=j||[];var Z=y.useSafeState(false),$=Z[0],ee=Z[1];var re=S(),te=re[0],le=re[1];var ae=k(D).useStore(),ne=ae[0],ie=ae[1];var oe="request-progress-"+D;var ue=Q.treeCheckable||Q.multiple;var se=g(true);var ce=b((function(){if(Q.treeCheckStrictly)return true;return O}),[O,Q.treeCheckStrictly]);var fe=b((function(){return u({label:"label",value:"value",children:"children",disabled:"disabled"},H)}),[H]);var de=b((function(){return u({label:"label",value:"value"},B)}),[B]);var ve=b((function(){if(z){var e=z===true;return{label:e?"全部":z.label,value:e?"":z.value}}return null}),[z]);var pe=S(),me=pe[0],he=pe[1];var Se=b((function(){return s(T.value).map((function(e){if(i(e)){return ce?e[de.value]:e[fe.value]}return e}))}),[fe.value,ce,de.value,T.value]);y.useEffectCustom((function(){if(ne.treeSelectorList.length>0){var e=[];if(se.current){se.current=false;if(J){e=J}else if(_){var r=Object.keys(ne.treeSelectorTiledMap).map((function(e){var r;return(r=ne.treeSelectorTiledMap[e])==null?void 0:r[fe.value]}));e=r}else if(G&&ne.treeSelectorList.length===1){e=[ne.treeSelectorList[0][fe.value]]}le(e)}else{if(!me){var t=M(Se,ne.treeSelectorTiledMap);le(t)}}}}),[P,ne.treeSelectorList]);var ge=function e(r){return r===""||v(r)};var be=function e(r){var t=X.onRequestResultAdapter?X.onRequestResultAdapter(r):r;if(t&&!n(t)){console.warn("待渲染数据为非数组结构",t);return[]}return t||[]};var Ce=a.useCallbackRef((function(){return new Promise((function(e,r){var t,a,n,i,o;if(!X.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=X.requiredParamsKeys||[];a=l({},X.params);n=t.find((function(e){return ge(a[e])}));if(n){void ie.changeRequestStatus("no-dependencies-params");console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var u=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{ee(false);window[oe]=false;void ie.changeRequestStatus("request-error");I==null?void 0:I(e);return u()}catch(e){return r(e)}};try{ee(true);window[oe]=true;void ie.changeRequestStatus("request-progress");return Promise.resolve(X.onRequest==null?void 0:X.onRequest(a)).then((function(e){try{i=e;o=be(i);ee(false);window[oe]=false;ye(o||[]);return u()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));a.useCustomCompareEffect((function(){if(U)return;if(Y.length){ye([]);void Ce();return}var e=k(D).getState();if(e.requestStatus==="request-success"){return}if(!window[oe]){void Ce();return}}),Y,h);var ye=a.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ne.treeSelectorList.length===0){void ie.setSelectBoxList({treeSelectorList:[],treeSelectorTiledMap:{}});x==null?void 0:x([]);return}var t=ve?(r={},r[fe.label]=ve.label,r[fe.value]=ve.value,r):undefined;var l=z?[t].concat(e):e;void ie.setSelectBoxList({treeSelectorList:l,treeSelectorTiledMap:c(l,{value:fe.value,children:fe.children},"pId")});x==null?void 0:x(e)}));y.useEffectCustom((function(){if(U){ye(A||[])}}),[A]);var qe=a.useCallbackRef((function(e){le(e)}));var we=a.useCallbackRef((function(){void Ce()}));var Le=a.useCallbackRef((function(e,r,t){var l=s(e);if(Q.treeCheckStrictly){if(F&&t.checked){var a=ne.treeSelectorTiledMap[t==null?void 0:t.triggerValue];if(f(a[fe.children])){l=d([a],fe.children).map((function(e){return e[fe.value]}))}else{l=e==null?void 0:e.map((function(e){return e.value}))}}else{l=e==null?void 0:e.map((function(e){return e.value}))}}if(ce){var n=l.map((function(e){var r;var t=ne.treeSelectorTiledMap[e];return r={},r[de.label]=t[fe.label],r[de.value]=t[fe.value],r}));if(ue){W==null?void 0:W(n,n,t)}else{W==null?void 0:W(n[0],n[0],t)}}else{var i=l.map((function(e){return ne.treeSelectorTiledMap[e]}));if(ue){W==null?void 0:W(l,i,t)}else{W==null?void 0:W(l[0],i[0],t)}}}));var Te=a.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(K==null?void 0:K(u({},e)))||e;var t=r[fe.children];var l=r[fe.value];var a=r[fe.label];var n=r[fe.disabled]?r[fe.disabled]:r.disabled;return C(p.TreeNode,u({},r,{disabled:n,value:l,title:a,key:""+l}),t&&t.length>0&&Te(t))}))}));var Re=function e(r){he(r);var t=[];if(!r){he(undefined);t=Se}else{Object.keys(ne.treeSelectorTiledMap).forEach((function(e){var l=ne.treeSelectorTiledMap[e];var a=l==null?void 0:l[fe.label];if(a!=null&&a.includes(r)){t.push(l[fe.value])}}))}var l=M(t,ne.treeSelectorTiledMap);le(l)};var je=ue?Se:Se[0];return L(p,u({searchValue:me,dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:L(t,{}),popupMatchSelectWidth:false},Q,{className:r("v-tree-select-wrapper",Q.className),popupClassName:r("v-tree-select-wrapper-dropdown",Q.popupClassName),onChange:Le,treeExpandedKeys:te,value:je,onSearch:Re,loading:$,onTreeExpand:qe,style:u({width:"100%"},Q.style),suffixIcon:ne.requestStatus==="request-error"?L(e,{spin:$,onClick:we}):undefined,notFoundContent:L(q,{status:ne.requestStatus,messageConfig:N,loading:$,errorButton:L(m,{type:"primary",onClick:we,children:"重新获取数据"})}),children:Te(ne.treeSelectorList)}))};export{I as TreeSelectorWrapper};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n modelKey: string;\n fieldNames?: {\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const result = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onChange?.(resultValueList, resultValueList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultValueList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n modelKey: string;\n fieldNames?: {\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const result = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n const resultItemList = resultValueList.map((item) => {\n return state.treeSelectorTiledMap[item];\n });\n if (isMultiple) {\n onChange?.(resultValueList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultItemList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":";s7BAsBA,IAAMA,EAA2B,CAC/BC,iBAAkB,GAClBC,qBAAsB,CAAE,EACxBC,aAAc,OAGhB,IAAMC,EAAqE,CACzEC,QAAS,CACPC,iBAAkB,SAAAA,EAACC,GACjB,OAAO,SAACC,GACNA,EAAMP,iBAAmBM,EAAON,kBAAoB,GACpDO,EAAMN,qBAAuBK,EAAOL,sBAAwB,CAAA,EAC5DM,EAAMC,cAAgB,kBAEzB,EACDC,mBAAoB,SAAAA,IAClB,OAAO,SAACF,GACNA,EAAMP,iBAAmB,GACzBO,EAAMN,qBAAuB,GAEhC,EACDS,oBAAqB,SAAAA,EAACJ,GACpB,OAAO,SAACC,GACNA,EAAMC,cAAgBF,EAE1B,GAEFC,MAAOR,GAGT,IAAMY,EAAiG,CAAA,EAQhG,IAAMC,EAA2B,SAA3BA,EAA4BC,GACvC,IAAKF,EAA0BE,GAAM,CACnCF,EAA0BE,GAAOC,EAAMX,EACzC,CACA,OAAOQ,EAA0BE,EACnC,ECjEO,IAAME,EAAyB,SAAzBA,EAA0BC,EAAwBf,GAC7D,IAAMgB,EAAmC,GACzC,IAAIC,EAAajB,EAAqBe,GACtC,MAAOE,EAAY,CACjB,IAAMC,EAAMD,EAAWC,IACvBD,EAAajB,EAAqBkB,GAClC,GAAID,EAAY,CACdD,EAASG,KAAKD,EAChB,CACF,CACA,OAAOF,CACT,EAEO,IAAMI,EAA0B,SAA1BA,EAA2BC,EAAgCrB,GACtE,GAAIqB,EAAOC,SAAW,EAAG,MAAO,GAChC,IAAMC,EAAuC,GAC7CF,EAAOG,SAAQ,SAACT,GACd,IAAMU,EAAaX,EAAuBC,EAAOf,GACjDuB,EAAaJ,KAAIO,MAAjBH,EAAqBE,EACvB,IACA,OAAOE,MAAMC,KAAK,IAAIC,IAAIN,GAC5B,2XC8IaO,EAAsB,SAAtBA,EAAuBC,GAClC,IACEC,EAmBED,EAnBFC,cACAC,EAkBEF,EAlBFE,qBACAC,EAiBEH,EAjBFG,yBACAC,EAgBEJ,EAhBFI,2BACApC,EAeEgC,EAfFhC,iBACAqC,EAcEL,EAdFK,qBACAC,EAaEN,EAbFM,SACAtB,EAYEgB,EAZFhB,MACcuB,EAWZP,EAXFQ,aACAC,EAUET,EAVFS,uBACAC,EASEV,EATFU,sBAAqBC,EASnBX,EARFY,qCAAAA,EAAoCD,SAAG,EAAA,KAAIA,EAC3CE,EAOEb,EAPFa,WACAC,EAMEd,EANFc,SACAC,EAKEf,EALFe,qBACAC,EAIEhB,EAJFgB,cACAC,EAGEjB,EAHFiB,eACAC,EAEElB,EAFFkB,wBACGC,EAAUC,EACXpB,EAAKqB,GAKT,IAAMC,EAAsBC,OAAOC,UAAUC,eAAeC,KAAK1B,EAAO,oBACxE,IAAM2B,EAAmB1B,GAAiB,GAC1C,IAAM2B,EAA0B1B,GAAwB,GACxD,IAAA2B,EAA8BC,EAASC,aAAa,OAA7CC,EAAOH,EAAA,GAAEI,GAAUJ,EAAA,GAC1B,IAAAK,GAAgDC,IAAzCC,GAAgBF,GAAA,GAAEG,GAAmBH,GAAA,GAC5C,IAAAI,GAAyB1D,EAAyB0B,GAAUiC,WAArDhE,GAAK+D,GAAA,GAAElE,GAAOkE,GAAA,GACrB,IAAME,uBAAoClC,EAC1C,IAAMmC,GAAatB,EAAWuB,eAAiBvB,EAAWwB,SAC1D,IAAMC,GAAmBC,EAAO,MAKhC,IAAMrC,GAAesC,GAAQ,WAC3B,GAAI3B,EAAW4B,kBAAmB,OAAO,KACzC,OAAOxC,CACR,GAAE,CAACA,EAAeY,EAAW4B,oBAE9B,IAAMC,GAAkBF,GAAQ,WAC9B,OAAAG,EAAA,CACEC,MAAO,QACPlE,MAAO,QACPmE,SAAU,WACVC,SAAU,YACPvC,EAEP,GAAG,CAACA,IAEJ,IAAMwC,GAA8BP,GAAQ,WAC1C,OAAAG,EAAA,CAASC,MAAO,QAASlE,MAAO,SAAYyB,EAC9C,GAAG,CAACA,IAEJ,IAAM6C,GAAkBR,GAAQ,WAC9B,GAAI9B,EAAe,CACjB,IAAMuC,EAASvC,IAAkB,KACjC,MAAO,CACLkC,MAAOK,EAAS,KAAOvC,EAAckC,MACrClE,MAAOuE,EAAS,GAAKvC,EAAchC,MAEvC,CACA,OAAO,IACT,GAAG,CAACgC,IAEJ,IAAAwC,GAAsCrB,IAA/BsB,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAElC,IAAMG,GAAiBb,GAAQ,WAC7B,OAAOc,EAAc5D,EAAMhB,OAAO6E,KAAI,SAACC,GACrC,GAAIC,EAASD,GAAO,CAClB,OAAQtD,GAAesD,EAAKT,GAA4BrE,OAAS8E,EAAKd,GAAgBhE,MAGxF,CACA,OAAO8E,CACT,GACF,GAAG,CAACd,GAAgBhE,MAAOwB,GAAc6C,GAA4BrE,MAAOgB,EAAMhB,QAElF8C,EAASkC,iBAAgB,WACvB,GAAIzF,GAAMP,iBAAiBuB,OAAS,EAAG,CACrC,IAAI6C,EAA2C,GAC/C,GAAIQ,GAAiBqB,QAAS,CAC5BrB,GAAiBqB,QAAU,MAC3B,GAAI/C,EAAyB,CAC3BkB,EAAmBlB,CACpB,MAAM,GAAIH,EAAsB,CAC/B,IAAMmD,EAAY3C,OAAO4C,KAAK5F,GAAMN,sBAAsB4F,KACxD,SAACC,GAAI,IAAAM,EAAA,OAAAA,EAAK7F,GAAMN,qBAAqB6F,KAAK,UAAA,EAAhCM,EAAmCpB,GAAgBhE,MAAM,IAErEoD,EAAmB8B,CACpB,MAAM,GAAIjD,GAAkB1C,GAAMP,iBAAiBuB,SAAW,EAAG,CAChE6C,EAAmB,CAAC7D,GAAMP,iBAAiB,GAAGgF,GAAgBhE,OAChE,CACAqD,GAAoBD,EACtB,KAAO,CACL,IAAKqB,GAAa,CAChB,IAAMjE,EAAeH,EAAwBsE,GAAgBpF,GAAMN,sBACnEoE,GAAoB7C,EACtB,CACF,CACF,CACD,GAAE,CAACR,EAAOT,GAAMP,mBAEjB,IAAMqG,GAAe,SAAfA,EAAgBrF,GACpB,OAAOA,IAAU,IAAMsF,EAAkBtF,IAG3C,IAAMuF,GAAwB,SAAxBA,EAAyBC,GAC7B,IAAMC,EAAS9C,EAAiB+C,uBAC5B/C,EAAiB+C,uBAAuBF,GACxCA,EACJ,GAAIC,IAAWE,EAAQF,GAAS,CAC9BG,QAAQC,KAAK,cAAeJ,GAC5B,MAAO,EACT,CACA,OAAOA,GAAU,IAGnB,IAAMK,GAAyBC,EAAMC,gBAAe,WAAA,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAI5CC,EACA9G,EACA+G,EAYEC,EACAC,EAlBR,IAAK5D,EAAiB6D,UAAW,CAC/B,OAAAL,EAAM,IAAIM,MAAM,wBAClB,CACML,EAAqBzD,EAAiByD,oBAAsB,GAC5D9G,EAASoH,EAAO,CAAA,EAAI/D,EAAiBrD,QACrC+G,EAAUD,EAAmBO,MAAK,SAAC9G,GACvC,OAAOwF,GAAa/F,EAAOO,GAC7B,IACA,GAAIwG,EAAS,MACNjH,GAAQM,oBAAoB,0BACjCkG,QAAQC,KAAI,4BAA6BO,EAAmBQ,KAAK,KAAI,QACrE,OAAAV,GACF,CA1SJ,IAAIW,aAAJ,IAAI,OAAAX,GAAK,CAAC,MAAAY,GAAW,OAAOX,EAAAW,EAAM,GAAlC,IAAIC,EAAA,SAoTSC,GApTb,IAqTM/D,GAAW,OACXgE,OAAOzD,IAAiB,WACnBpE,GAAQM,oBAAoB,iBACjC0B,GAAAA,UAAAA,EAAAA,EAA6B4F,GAxTnC,OAAOH,GAAE,CAAC,MAAAC,GAAW,OAAOX,EAAAW,EAAM,GA2S9B,IACE7D,GAAW,MACXgE,OAAOzD,IAAiB,UACnBpE,GAAQM,oBAAoB,oBACf,OAAAuG,QAAAiB,QAAMvE,EAAiB6D,WAAS,UAAA,EAA1B7D,EAAiB6D,UAAYlH,IAAnC6H,eAA0CC,GA/SlE,IA+SYd,EAAYc,EACZ5B,EAAWD,GAAsBe,GACvCrD,GAAW,OACXgE,OAAOzD,IAAiB,MACxB6D,GAAqB7B,GAAY,IAnTvC,OAAOqB,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAoT9B,CAAC,MAAOC,GAAaD,EAAbC,EAKT,CAAC,OAGHjB,EAAMuB,wBACJ,WACE,GAAIhF,EAAqB,OAEzB,GAAIM,EAAwBrC,OAAQ,CAElC8G,GAAqB,SAChBvB,KACL,MACF,CACA,IAAMyB,EAAW3H,EAAyB0B,GAAUkG,WACpD,GAAID,EAAS/H,gBAAkB,kBAAmB,CAChD,MACF,CAEA,IAAKyH,OAAOzD,IAAgB,MACrBsC,KACL,MACF,CACF,GACAlD,EACA6E,GAGF,IAAMJ,GAAuBtB,EAAMC,gBAAe,SAAC0B,GAAqB,IAAAC,EACtE,IAAID,GAAQ,UAAA,EAARA,EAAUnH,UAAW,GAAKhB,GAAMP,iBAAiBuB,SAAW,EAAG,MAC5DnB,GAAQC,iBAAiB,CAC5BL,iBAAkB,GAClBC,qBAAsB,CAAC,IAEzBkC,GAAAA,UAAAA,EAAAA,EAA2B,IAC3B,MACF,CAEA,IAAMyG,EAAWtD,IAAeqD,EAAA,CAAA,EAAAA,EAEzB3D,GAAgBE,OAAQI,GAAgBJ,MAAKyD,EAC7C3D,GAAgBhE,OAAQsE,GAAgBtE,MAAK2H,GAEhDE,UACJ,IAAMC,EAAc9F,EAAiB4F,CAAAA,GAAQG,OAAKL,GAAYA,OACzDtI,GAAQC,iBAAiB,CAC5BL,iBAAkB8I,EAClB7I,qBAAsB+I,EACpBF,EACA,CACE9H,MAAOgE,GAAgBhE,MACvBmE,SAAUH,GAAgBG,UAE5B,SAGJhD,GAAAA,UAAAA,EAAAA,EAA2BuG,EAC7B,IAEA5E,EAASkC,iBAAgB,WACvB,GAAI1C,EAAqB,CACvB+E,GAAqBrI,GAAoB,GAC3C,CACF,GAAG,CAACA,IAEJ,IAAMiJ,GAAelC,EAAMC,gBAAe,SAACxF,GACzC6C,GAAoB7C,EACtB,IAEA,IAAM0H,GAAiBnC,EAAMC,gBAAe,gBACrCF,IACP,IAMA,IAAMqC,GAAgBpC,EAAMC,gBAAe,SAACoC,EAAmBC,EAAOC,GACpE,IAAIC,EAAkB3D,EAAcwD,GACpC,GAAIjG,EAAW4B,kBAAmB,CAChC,GAAInC,GAAwC0G,EAAYE,QAAS,CAC/D,IAAMC,EAASlJ,GAAMN,qBAAqBqJ,GAAAA,UAAAA,EAAAA,EAAaI,cACvD,GAAIC,EAAgBF,EAAOzE,GAAgBG,WAAY,CACrDoE,EAAkBK,EAAY,CAACH,GAASzE,GAAgBG,UAAUU,KAAI,SAACC,GACrE,OAAOA,EAAKd,GAAgBhE,MAC9B,GACF,KAAO,CACLuI,EAAkBH,GAAAA,UAAAA,EAAAA,EAAavD,KAAI,SAACC,GAAI,OAAKA,EAAK9E,QACpD,CACF,KAAO,CACLuI,EAAkBH,GAAAA,UAAAA,EAAAA,EAAavD,KAAI,SAACC,GAAI,OAAKA,EAAK9E,QACpD,CACF,CACA,GAAIwB,GAAc,CAChB,IAAMqH,EAAiBN,EAAgB1D,KAAI,SAACC,GAAS,IAAAgE,EACnD,IAAML,EAASlJ,GAAMN,qBAAqB6F,GAC1C,OAAAgE,EAAA,CAAA,EAAAA,EACGzE,GAA4BH,OAAQuE,EAAOzE,GAAgBE,OAAM4E,EACjEzE,GAA4BrE,OAAQyI,EAAOzE,GAAgBhE,OAAM8I,CAEtE,IACA,GAAIrF,GAAY,CACd3B,GAAQ,UAAA,EAARA,EAAW+G,EAAgBA,EAAgBP,EAC7C,KAAO,CACLxG,GAAAA,UAAAA,EAAAA,EAAW+G,EAAe,GAAIA,EAAe,GAAIP,EACnD,CACF,KAAO,CACL,IAAMO,EAAiBN,EAAgB1D,KAAI,SAACC,GAC1C,OAAOvF,GAAMN,qBAAqB6F,EACpC,IACA,GAAIrB,GAAY,CACd3B,GAAQ,UAAA,EAARA,EAAWyG,EAAiBM,EAAgBP,EAC9C,KAAO,CACLxG,GAAAA,UAAAA,EAAAA,EAAWyG,EAAgB,GAAIM,EAAe,GAAIP,EACpD,CACF,CACF,IAEA,IAAMS,GAAUhD,EAAMC,gBAAe,SAACgD,GACpC,IAAKA,EAAM,OAAO,KAClB,OAAOA,EAAKnE,KAAI,SAACC,GACf,IAAMmE,GAAkBvH,GAAAA,UAAAA,EAAAA,EAAqBuC,EAAQa,CAAAA,EAAAA,MAAWA,EAChE,IAAMX,EAAW8E,EAAgBjF,GAAgBG,UACjD,IAAMnE,EAAQiJ,EAAgBjF,GAAgBhE,OAC9C,IAAMkE,EAAQ+E,EAAgBjF,GAAgBE,OAC9C,IAAME,EAAW6E,EAAgBjF,GAAgBI,UAC7C6E,EAAgBjF,GAAgBI,UAChC6E,EAAgB7E,SACpB,OACE8E,EAACC,EAAWC,SAAQnF,KACdgF,EAAe,CACnB7E,SAAUA,EACVpE,MAAOA,EACPqJ,MAAOnF,EACPrE,IAAQG,GAAAA,IAEPmE,GAAYA,EAAS5D,OAAS,GAAKwI,GAAQ5E,GAGlD,GACF,IAEA,IAAMmF,GAAW,SAAXA,EAAY7E,GAChBC,GAAeD,GACf,IAAI8E,EAAwC,GAC5C,IAAK9E,EAAa,CAChBC,GAAemD,WACf0B,EAAgB5E,EAClB,KAAO,CACLpC,OAAO4C,KAAK5F,GAAMN,sBAAsBwB,SAAQ,SAACqE,GAC/C,IAAM2D,EAASlJ,GAAMN,qBAAqB6F,GAC1C,IAAMZ,EAAQuE,GAAM,UAAA,EAANA,EAASzE,GAAgBE,OACvC,GAAIA,SAAAA,EAAOsF,SAAS/E,GAAc,CAChC8E,EAAcnJ,KAAKqI,EAAOzE,GAAgBhE,OAC5C,CACF,GACF,CAEA,IAAMyJ,EAAoBpJ,EAAwBkJ,EAAehK,GAAMN,sBACvEoE,GAAoBoG,IAGtB,IAAMC,GAAYjG,GAAakB,GAAiBA,GAAe,GAM/D,OACEgF,EAACR,EAAUlF,EAAA,CACTQ,YAAaA,GACbmF,cAAe,CAAEC,UAAW,IAAKC,SAAU,QAC3CC,WAAY,KACZC,SAAU,CAAEC,aAAc,OAC1BC,mBAAmB,QACnBC,aAAcR,EAAAS,MACdC,sBAAuB,OACnBlI,EAAU,CACdmI,UAAWC,EAAW,wBAAyBpI,EAAWmI,WAC1DE,eAAgBD,EAAW,iCAAkCpI,EAAWqI,gBACxE1I,SAAUqG,GACV/E,iBAAkBA,GAClBpD,MAAO0J,GACPJ,SAAUA,GACVtG,QAASA,EACTiF,aAAcA,GACdwC,MAAKxG,EAAA,CAAIyG,MAAO,QAAWvI,EAAWsI,OACtCE,WACEpL,GAAMC,gBAAkB,gBACtBmK,EAAAiB,EAAA,CAAcC,KAAM7H,EAAS8H,QAAS5C,KACpCL,UAENkD,gBACEpB,EAACqB,EAAa,CACZC,OAAQ1L,GAAMC,cACd0L,cAAe7J,EACf2B,QAASA,EACTmI,YACExB,EAACyB,EAAM,CAACC,KAAK,UAAUP,QAAS5C,GAAe/D,SAAC,aAKrDA,SAEA4E,GAAQxJ,GAAMP,oBAGrB"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './../request-status/index.css';
|
|
3
3
|
import './../button-operate/index.css';
|
|
4
|
-
import './../button-wrapper/index.css';
|
|
5
4
|
import './../config-provider-wrapper/index.css';
|
|
6
5
|
import './../fba-hooks/index.css';
|
|
7
6
|
import './../types/index.css';
|
|
8
7
|
import './../fba-utils/index.css';
|
|
9
|
-
import './../
|
|
8
|
+
import './../button-wrapper/index.css';
|
|
9
|
+
import './../flex-layout/index.css';
|
|
10
10
|
import './../dialog-confirm/index.css';
|
|
11
11
|
import './../dialog-modal/index.css';
|
|
12
|
-
import './../
|
|
12
|
+
import './../dropdown-menu-wrapper/index.css';
|
|
13
13
|
import './../input-search-wrapper/index.css';
|
|
14
14
|
import './index.css';
|
|
15
15
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
16
|
-
import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,toArray as s,treeFilter as o,attachPropertiesToComponent as u}from"@flatbiz/utils";import{isArray as c}from"@dimjs/lang/cjs/is-array";import{Model as d}from"@dimjs/model-react";import f from"@ant-design/icons/es/icons/CaretDownFilled";import v from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as p}from"@dimjs/utils/cjs/class-names";import{extend as m}from"@dimjs/utils/cjs/extend";import{hooks as h}from"@wove/react/cjs/hooks";import{get as g}from"@dimjs/utils/cjs/get";import{_ as y,a as b}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as L}from"@dimjs/model";import{Spin as C,Tree as w,Button as j,message as T}from"antd";import{forwardRef as A,useState as N,useMemo as R,useRef as S,useImperativeHandle as q,Fragment as k,isValidElement as x}from"react";import{ButtonOperate as M}from"../button-operate/index.js";import{DropdownMenuWrapper as E}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as D}from"../fba-hooks/index.js";import{InputSearchWrapper as P}from"../input-search-wrapper/index.js";import{RequestStatus as _}from"../request-status/index.js";import{tree as I}from"@dimjs/utils/cjs/tree";import{isObject as O}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as V,jsx as F}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-21b8c601.js";var K={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var U={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(c(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:K};var z={};var H=function e(r){if(!z[r]){z[r]=d(U)}return z[r]};var B=function e(r){var t=H(r).getState();return t.treeList};var Y=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var G=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var W=function e(r,t){var n=a(r)?[]:r;n=c(n)?n:[n];n=n.map((function(e){if(O(e))return e[t.value];return e}));return n};var J=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=L(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Q(i,d,t)}};var Q=function r(t,n,a){var i;var l=a.value;var s=a.children;I.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var X=function r(t,n,a,l){var s={};var o=[];var u=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){o.push(e)}else{s[e]=e}}));if(o.length>0){o.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(s).length>i.length){var o=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(o.length===i.length){u.push(r)}}}))}return t.filter((function(e){return u.find((function(r){return r==e}))||s[e]}))};var Z=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var $=function e(r,t,n,a){var s={};r.forEach((function(e){var r;var o=(r=t[e])==null?void 0:r[n];if(i(o)){var u=l(o,{value:a,children:n});s=y({},s,u)}}));return r.filter((function(e){return!s[e]}))};var ee=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var re=function r(t,n,a,l){var s=[].concat(t);t.forEach((function(r){var t;var o=(t=n[r])==null?void 0:t[a];if(i(o)){var u=e(o,a);s=s.concat(u.map((function(e){return e[l]})))}}));return Array.from(new Set(s))};var te=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType"];var ne=A((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,u=e.value,d=e.onChange,A=e.modelKey,I=e.checkableResponseParentNode,O=I===void 0?true:I,K=e.checkable,U=e.onSelectorTreeListChange,z=e.onRequestResponseChange,B=e.treeItemDataAdapter,Q=e.searchValue,ne=e.showSearch,ae=e.searchPlaceholder,ie=e.requestMessageConfig,le=e.labelInValueFieldNames,se=e.labelInValue,oe=e.disabledCanUse,ue=e.menuLayoutType,ce=e.menuTriggerType,de=e.initRootExpand,fe=e.searchResultType,ve=e.onDropNodeHandle,pe=e.onDropPrev,me=e.labelRender,he=e.searchStyle,ge=e.className,ye=e.defaultExpandAll,be=e.menus,Le=e.customSearchRule,Ce=e.checkableType,we=b(e,te);var je=e.hasOwnProperty("selectorTreeList");var Te=n||{};var Ae=i||[];var Ne=N([]),Re=Ne[0],Se=Ne[1];var qe=H(A).useStore(),ke=qe[0],xe=qe[1];var Me=D.useSafeState(false),Ee=Me[0],De=Me[1];var Pe="request-progress-"+e.modelKey;var _e=fe==="highlight";var Ie=R((function(){return y({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Oe=ue===undefined?"fold":ue;var Ve=ce===undefined?"click":ce;var Fe=S(true);var Ke=R((function(){return y({label:"label",value:"value"},le)}),[le]);var Ue=N(),ze=Ue[0],He=Ue[1];var Be=R((function(){return W(u,Ke)}),[Ke,u]);D.useEffectCustom((function(){if(ke.treeList.length>0){if(Fe.current&&a(u)){Fe.current=false;if(ye){Se(Y(ke.treeList,Ie));return}else if(de&&ke.treeList.length){Se([ke.treeList[0][Ie.value]]);return}}if(!a(u)){var e=Qe(Be,true);Se(Array.from(new Set(Re==null?void 0:Re.concat(e))))}}}),[u,ke.treeList,Be]);var Ye=function e(r){return r===""||a(r)};var Ge=function e(r){var t=r;if(Te.onRequestResultAdapter){t=Te.onRequestResultAdapter(r)}else if(Ie.list){t=g(r,Ie.list,[])||[]}if(!c(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};D.useEffectCustom((function(){He(Q)}),[Q]);var We=h.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Fe.current=false;De(false);void T.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!Te.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Te.requiredParamsKeys;n=m({},Te.params);if(t){a=t.find((function(e){return Ye(n[e])}));if(a){void xe.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var u=function(){try{return s()}catch(e){return o(e)}};var c=function(e){try{window[Pe]=false;De(false);void xe.changeRequestStatus({status:"request-error",errorMessage:e.message});return u()}catch(e){return o(e)}};try{De(true);return Promise.resolve(xe.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Pe]=true;return Promise.resolve(Te.onRequest==null?void 0:Te.onRequest(n)).then((function(e){try{i=e;z==null?void 0:z(i);l=Ge(i);if(l.length===0){Fe.current=false}Je(l);De(false);window[Pe]=false;return u()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){o(e)}}))}));D.useEffectCustom((function(){if(je)return;if(Ae.length){void We();return}var e=H(A).getState();if(e.requestStatus==="request-success"){U==null?void 0:U(e.treeList);return}if(!window[Pe]){void We()}else{U==null?void 0:U(e.treeList)}}),Ae);D.useEffectCustom((function(){if(je){Je(l||[])}}),[l]);var Je=h.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&ke.treeList.length===0){void xe.changeRequestStatus({status:"request-success"});return}void xe.setTreeList({treeList:e||[],childrenName:Ie.children,valueName:Ie.value});U==null?void 0:U(e)}));var Qe=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Re!=null&&Re.includes(e))return;var r=G(e,ke.treeList,Ie);n=n.concat(r)}));return n};h.useUpdateEffect((function(){if(ze){var e=ke.treeTiledArray.filter((function(e){var r=e[Ie.label]||"";if(Le){return Le(e,ze)}return String(r).toLowerCase().includes(ze.toLowerCase())}));var r=Qe(e.map((function(e){return e[Ie.value]})),true);Se(Array.from(new Set(r)))}else{Se([])}}),[ze]);q(r,(function(){return{onClearSelectorList:function e(){void xe.resetTreeList()},getTreeDataList:function e(){return ke.treeList},onChangeExpandedKeys:function e(r){Se(r)},onSelectAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r);d==null?void 0:d(r,undefined,ke.treeList,undefined)},onCancelSelectAll:function e(){Se([]);d==null?void 0:d(undefined)},onExpandedAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r)},onCancelExpandedAll:function e(){Se([])}}}));var Xe=h.useCallbackRef((function(e){Se(e)}));var Ze=function r(t,n,a,i){if(s(t).length===0){var l=i==null?void 0:i.node[Ie.value];var o=ke.treeTiledArrayMap[l];e.onChange==null?void 0:e.onChange(undefined,o,[o],i)}else{e.onChange==null?void 0:e.onChange(t,n,a,i)}};var $e=h.useCallbackRef((function(r,t){var n=[];var a=[];if(K){n=e.checkStrictly?r.checked:r}else{n=r}n=s(n);if(K==false){a=n}else{if(ne&&ze&&!_e){var i=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=Be.filter((function(e){return e!=i[Ie.value]}))}else{n=Array.from(new Set([].concat(Be,n)))}a=n}else{var l=Ce==="2"||Ce==="3"?re(Be,ke.treeTiledArrayMap,Ie.children,Ie.value):Be;if(t.checked==false){n=Z([].concat(l),i,Ie.children,Ie.value)}else{n=Array.from(new Set([].concat(l,n)))}a=X(n,ke.treeTiledArrayMap,Ie.children,Ie.value)}}else{a=n}if(!e.checkStrictly){if(Ce==="2"){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else if(Ce==="3"){n=$(a,ke.treeTiledArrayMap,Ie.children,Ie.value)}else if(O==false){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else{n=a}}}var o=a.map((function(e){return ke.treeTiledArrayMap[e]}));if(se){var u=Ke.value;var c=Ke.label;var d=n.map((function(e){var r;return r={},r[c]=ke.treeTiledArrayMap[e][Ie.label],r[u]=ke.treeTiledArrayMap[e][Ie.value],r}));if(K){Ze(d,n.map((function(e){return ke.treeTiledArrayMap[e]})),o,t)}else{Ze(d[0],ke.treeTiledArrayMap[n[0]],o,t)}}else{if(K){Ze(n,n.map((function(e){return ke.treeTiledArrayMap[e]})),o,t)}else{Ze(n[0],ke.treeTiledArrayMap[n[0]],o,t)}}}));var er=h.useCallbackRef((function(e){return B==null?void 0:B(e)}));var rr=R((function(){var e=L(ke.treeList||[]);if(ze&&fe!=="highlight"){var r=o(L(ke.treeList||[]),(function(e){var r;if(Le){return Le(e,ze)}var t=(r=e[Ie.label])==null?void 0:r.toLowerCase();return t.indexOf(ze.toLowerCase())>=0}),{childrenName:Ie.children});return r}return e}),[Le,Ie.children,Ie.label,fe,ke.treeList,ze]);var tr=R((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(er==null?void 0:er(r))||r;var a=oe?undefined:n.disabled;var i=n[Ie.label];var l;if(ze){var s=i==null?void 0:i.toLowerCase();var o=s.indexOf(ze.toLowerCase());var u=s.substring(0,o);var d=s.slice(o+ze.length);var f=s.slice(o,o+ze.length);l=o>-1?V("span",{className:p({"v-tree-item-disabled":n.disabled}),children:[u,F("span",{className:"site-tree-search-value",children:f}),d]}):null}if(!l&&n.disabled){l=F("span",{className:p({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Ie.children];return y({},n,(t={disabled:a},t[Ie.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Ie.children]=c(v)&&v.length>0?e(v):undefined,t))}))};return e(rr)}),[rr,er,oe,Ie.label,Ie.children,ze]);var nr=h.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u,c;if(r[Ie.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void T.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{u=n;c=(o=e.loadDataServiceConfig)!=null&&o.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(u):u;void xe.treeListAppendChildren({value:r[Ie.value],appendList:c,childrenName:Ie.children,valueName:Ie.value}).then((function(e){Je(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var ar=h.useCallbackRef((function(r){var t=r==null?void 0:r[Ie.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var ir=h.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Ie.label];var l=be==null?void 0:be(y({},r,(t={},t[Ie.label]=i,t)));if(l!=null&&l.operateList.length){return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),F(M,y({gap:5},l,{dropdownMenuProps:y({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:p("tree-item-title-operate",l.className)}))]})}if(Oe==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var u,c,d;o=((u=e.menuOptions)==null||(c=u[Oe])==null?void 0:c.call(u,y({},r,(d={},d[Ie.label]=i,d))))||[]}else{var f;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(y({},r,(f={},f[Ie.label]=i,f))))||[]}return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),o.length>0&&F(E,{menuList:o,placement:"bottomRight",children:F(v,{})})]})}var m=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(y({},r,(a={},a[Ie.label]=i,a)));return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),m?F(M,y({gap:5},m,{className:p("tree-item-title-operate",m.className)})):null]})}));var lr=h.useDebounceCallback((function(r){He(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var sr=h.useCallbackRef((function(e){lr(e.target.value)}));var or=h.useCallbackRef((function(r){if(!e.icon)return null;if(x(e.icon))return e.icon;var t=ar(r.data);return e.icon(y({},r,{isParent:!t,isLeaf:t}))}));var ur=R((function(){return{title:Ie.label,key:Ie.value,children:Ie.children}}),[Ie]);var cr=tr.length>0&&ke.requestStatus!=="request-error";var dr=y({showLine:{showLeafIcon:false},titleRender:ir,blockNode:true,switcherIcon:F(f,{}),onDrop:function e(r){if(pe){var t=pe(r);if(!t)return}var n=J(rr,Ie,r),a=n.dataList,i=n.dragNodeData;ve==null?void 0:ve(i);Je(a)},expandedKeys:Re},we,{fieldNames:ur,treeData:tr,onExpand:Xe,loadData:e.loadDataFlag?nr:undefined,style:{width:"100%"},icon:or});var fr={onCheck:$e,checkable:K,checkedKeys:Be};var vr={onSelect:$e,multiple:false,selectedKeys:Be};var pr=K?fr:vr;var mr=p("v-tree-wrapper","v-tree-wrapper-menu-"+Ve,ge);var hr=ke.treeList.length>0&&!cr&&ze;return V("div",{className:mr,style:t,children:[!!ne&&V("div",{className:"v-tree-wrapper-search-area",style:he,children:[F(P,{className:"v-tree-wrapper-search",placeholder:a(ae)?"搜索":ae,onChange:sr,value:ze,allowClear:true}),!!e.searchExtraElement&&F("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),cr?V("div",{className:"v-tree-wrapper-tree-wrapper",children:[F(C,{spinning:ke.requestStatus==="request-progress"}),F(w,y({},pr,dr,{className:"v-tree-wrapper-tree"}))]}):F(_,{status:ke.requestStatus,loading:Ee,messageConfig:y({"request-success":hr?"搜索结果为空":"暂无数据","request-error":ke.requestErrorMessage},ie),errorButton:F(j,{type:"primary",onClick:We,children:"重新获取数据"})})]})}));var ae=u(ne,{getTreeDataList:B});export{ae as TreeWrapper};
|
|
16
|
+
import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,toArray as s,treeFilter as o,attachPropertiesToComponent as u}from"@flatbiz/utils";import{isArray as c}from"@dimjs/lang/cjs/is-array";import{Model as d}from"@dimjs/model-react";import f from"@ant-design/icons/es/icons/CaretDownFilled";import v from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as p}from"@dimjs/utils/cjs/class-names";import{isString as m}from"@dimjs/lang/cjs/is-string";import{extend as h}from"@dimjs/utils/cjs/extend";import{hooks as g}from"@wove/react/cjs/hooks";import{get as y}from"@dimjs/utils/cjs/get";import{_ as b,a as L}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as C}from"@dimjs/model";import{Spin as w,Tree as j,Button as T,message as A}from"antd";import{forwardRef as N,useState as R,useMemo as S,useRef as q,useImperativeHandle as k,Fragment as x,isValidElement as M}from"react";import{ButtonOperate as E}from"../button-operate/index.js";import{DropdownMenuWrapper as D}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as P}from"../fba-hooks/index.js";import{InputSearchWrapper as _}from"../input-search-wrapper/index.js";import{RequestStatus as I}from"../request-status/index.js";import{tree as O}from"@dimjs/utils/cjs/tree";import{isObject as V}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as F,jsx as K}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-21b8c601.js";var U={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var z={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(c(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:U};var H={};var B=function e(r){if(!H[r]){H[r]=d(z)}return H[r]};var Y=function e(r){var t=B(r).getState();return t.treeList};var G=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var W=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var J=function e(r,t){var n=a(r)?[]:r;n=c(n)?n:[n];n=n.map((function(e){if(V(e))return e[t.value];return e}));return n};var Q=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=C(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:X(i,d,t)}};var X=function r(t,n,a){var i;var l=a.value;var s=a.children;O.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var Z=function r(t,n,a,l){var s={};var o=[];var u=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){o.push(e)}else{s[e]=e}}));if(o.length>0){o.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(s).length>i.length){var o=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(o.length===i.length){u.push(r)}}}))}return t.filter((function(e){return u.find((function(r){return r==e}))||s[e]}))};var $=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var ee=function e(r,t,n,a){var s={};r.forEach((function(e){var r;var o=(r=t[e])==null?void 0:r[n];if(i(o)){var u=l(o,{value:a,children:n});s=b({},s,u)}}));return r.filter((function(e){return!s[e]}))};var re=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var te=function r(t,n,a,l){var s=[].concat(t);t.forEach((function(r){var t;var o=(t=n[r])==null?void 0:t[a];if(i(o)){var u=e(o,a);s=s.concat(u.map((function(e){return e[l]})))}}));return Array.from(new Set(s))};var ne=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType"];var ae=N((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,u=e.value,d=e.onChange,N=e.modelKey,O=e.checkableResponseParentNode,V=O===void 0?true:O,U=e.checkable,z=e.onSelectorTreeListChange,H=e.onRequestResponseChange,Y=e.treeItemDataAdapter,X=e.searchValue,ae=e.showSearch,ie=e.searchPlaceholder,le=e.requestMessageConfig,se=e.labelInValueFieldNames,oe=e.labelInValue,ue=e.disabledCanUse,ce=e.menuLayoutType,de=e.menuTriggerType,fe=e.initRootExpand,ve=e.searchResultType,pe=e.onDropNodeHandle,me=e.onDropPrev,he=e.labelRender,ge=e.searchStyle,ye=e.className,be=e.defaultExpandAll,Le=e.menus,Ce=e.customSearchRule,we=e.checkableType,je=L(e,ne);var Te=e.hasOwnProperty("selectorTreeList");var Ae=n||{};var Ne=i||[];var Re=R([]),Se=Re[0],qe=Re[1];var ke=B(N).useStore(),xe=ke[0],Me=ke[1];var Ee=P.useSafeState(false),De=Ee[0],Pe=Ee[1];var _e="request-progress-"+e.modelKey;var Ie=ve==="highlight";var Oe=S((function(){return b({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Ve=ce===undefined?"fold":ce;var Fe=de===undefined?"click":de;var Ke=q(true);var Ue=S((function(){return b({label:"label",value:"value"},se)}),[se]);var ze=R(),He=ze[0],Be=ze[1];var Ye=S((function(){return J(u,Ue)}),[Ue,u]);P.useEffectCustom((function(){if(xe.treeList.length>0){if(Ke.current&&a(u)){Ke.current=false;if(be){qe(G(xe.treeList,Oe));return}else if(fe&&xe.treeList.length){qe([xe.treeList[0][Oe.value]]);return}}if(!a(u)){var e=Xe(Ye,true);qe(Array.from(new Set(Se==null?void 0:Se.concat(e))))}}}),[u,xe.treeList,Ye]);var Ge=function e(r){return r===""||a(r)};var We=function e(r){var t=r;if(Ae.onRequestResultAdapter){t=Ae.onRequestResultAdapter(r)}else if(Oe.list){t=y(r,Oe.list,[])||[]}if(!c(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};P.useEffectCustom((function(){Be(X)}),[X]);var Je=g.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ke.current=false;Pe(false);void A.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!Ae.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Ae.requiredParamsKeys;n=h({},Ae.params);if(t){a=t.find((function(e){return Ge(n[e])}));if(a){void Me.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var u=function(){try{return s()}catch(e){return o(e)}};var c=function(e){try{window[_e]=false;Pe(false);void Me.changeRequestStatus({status:"request-error",errorMessage:e.message});return u()}catch(e){return o(e)}};try{Pe(true);return Promise.resolve(Me.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[_e]=true;return Promise.resolve(Ae.onRequest==null?void 0:Ae.onRequest(n)).then((function(e){try{i=e;H==null?void 0:H(i);l=We(i);if(l.length===0){Ke.current=false}Qe(l);Pe(false);window[_e]=false;return u()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){o(e)}}))}));P.useEffectCustom((function(){if(Te)return;if(Ne.length){void Je();return}var e=B(N).getState();if(e.requestStatus==="request-success"){z==null?void 0:z(e.treeList);return}if(!window[_e]){void Je()}else{z==null?void 0:z(e.treeList)}}),Ne);P.useEffectCustom((function(){if(Te){Qe(l||[])}}),[l]);var Qe=g.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&xe.treeList.length===0){void Me.changeRequestStatus({status:"request-success"});return}void Me.setTreeList({treeList:e||[],childrenName:Oe.children,valueName:Oe.value});z==null?void 0:z(e)}));var Xe=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Se!=null&&Se.includes(e))return;var r=W(e,xe.treeList,Oe);n=n.concat(r)}));return n};g.useUpdateEffect((function(){if(He){var e=xe.treeTiledArray.filter((function(e){var r=e[Oe.label]||"";if(Ce){return Ce(e,He)}return String(r).toLowerCase().includes(He.toLowerCase())}));var r=Xe(e.map((function(e){return e[Oe.value]})),true);qe(Array.from(new Set(r)))}else{qe([])}}),[He]);k(r,(function(){return{onClearSelectorList:function e(){void Me.resetTreeList()},getTreeDataList:function e(){return xe.treeList},onChangeExpandedKeys:function e(r){qe(r)},onSelectAll:function e(){var r=xe.treeTiledArray.map((function(e){return e[Oe.value]}));qe(r);d==null?void 0:d(r,undefined,xe.treeList,undefined)},onCancelSelectAll:function e(){qe([]);d==null?void 0:d(undefined)},onExpandedAll:function e(){var r=xe.treeTiledArray.map((function(e){return e[Oe.value]}));qe(r)},onCancelExpandedAll:function e(){qe([])}}}));var Ze=g.useCallbackRef((function(e){qe(e)}));var $e=function r(t,n,a,i){if(s(t).length===0){var l=i==null?void 0:i.node[Oe.value];var o=xe.treeTiledArrayMap[l];e.onChange==null?void 0:e.onChange(undefined,o,[o],i)}else{e.onChange==null?void 0:e.onChange(t,n,a,i)}};var er=g.useCallbackRef((function(r,t){var n=[];var a=[];if(U){n=e.checkStrictly?r.checked:r}else{n=r}n=s(n);if(U==false){a=n}else{if(ae&&He&&!Ie){var i=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=Ye.filter((function(e){return e!=i[Oe.value]}))}else{n=Array.from(new Set([].concat(Ye,n)))}a=n}else{var l=we==="2"||we==="3"?te(Ye,xe.treeTiledArrayMap,Oe.children,Oe.value):Ye;if(t.checked==false){n=$([].concat(l),i,Oe.children,Oe.value)}else{n=Array.from(new Set([].concat(l,n)))}a=Z(n,xe.treeTiledArrayMap,Oe.children,Oe.value)}}else{a=n}if(!e.checkStrictly){if(we==="2"){n=re(a,xe.treeTiledArrayMap,Oe.children)}else if(we==="3"){n=ee(a,xe.treeTiledArrayMap,Oe.children,Oe.value)}else if(V==false){n=re(a,xe.treeTiledArrayMap,Oe.children)}else{n=a}}}var o=a.map((function(e){return xe.treeTiledArrayMap[e]}));if(oe){var u=Ue.value;var c=Ue.label;var d=n.map((function(e){var r;return r={},r[c]=xe.treeTiledArrayMap[e][Oe.label],r[u]=xe.treeTiledArrayMap[e][Oe.value],r}));if(U){$e(d,n.map((function(e){return xe.treeTiledArrayMap[e]})),o,t)}else{$e(d[0],xe.treeTiledArrayMap[n[0]],o,t)}}else{if(U){$e(n,n.map((function(e){return xe.treeTiledArrayMap[e]})),o,t)}else{$e(n[0],xe.treeTiledArrayMap[n[0]],o,t)}}}));var rr=g.useCallbackRef((function(e){return Y==null?void 0:Y(e)}));var tr=S((function(){var e=C(xe.treeList||[]);if(He&&ve!=="highlight"){var r=o(C(xe.treeList||[]),(function(e){var r;if(Ce){return Ce(e,He)}var t=(r=e[Oe.label])==null?void 0:r.toLowerCase();return t.indexOf(He.toLowerCase())>=0}),{childrenName:Oe.children});return r}return e}),[Ce,Oe.children,Oe.label,ve,xe.treeList,He]);var nr=S((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(rr==null?void 0:rr(r))||r;var a=ue?undefined:n.disabled;var i=n[Oe.label]||"";var l;if(He&&m(i)){var s=i==null?void 0:i.toLowerCase();var o=s.indexOf(He.toLowerCase());var u=i.substring(0,o);var d=i.slice(o+He.length);var f=i.slice(o,o+He.length);l=o>-1?F("span",{className:p({"v-tree-item-disabled":n.disabled}),children:[u,K("span",{className:"site-tree-search-value",children:f}),d]}):null}if(!l&&n.disabled){l=K("span",{className:p({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Oe.children];return b({},n,(t={disabled:a},t[Oe.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Oe.children]=c(v)&&v.length>0?e(v):undefined,t))}))};return e(tr)}),[tr,rr,ue,Oe.label,Oe.children,He]);var ar=g.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u,c;if(r[Oe.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void A.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{u=n;c=(o=e.loadDataServiceConfig)!=null&&o.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(u):u;void Me.treeListAppendChildren({value:r[Oe.value],appendList:c,childrenName:Oe.children,valueName:Oe.value}).then((function(e){Qe(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var ir=g.useCallbackRef((function(r){var t=r==null?void 0:r[Oe.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var lr=g.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Oe.label];var l=Le==null?void 0:Le(b({},r,(t={},t[Oe.label]=i,t)));if(l!=null&&l.operateList.length){return F(x,{children:[K("span",{className:"tree-item-title",children:(he==null?void 0:he(r))||(r==null?void 0:r[Oe.label])}),K(E,b({gap:5},l,{dropdownMenuProps:b({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:p("tree-item-title-operate",l.className)}))]})}if(Ve==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var u,c,d;o=((u=e.menuOptions)==null||(c=u[Ve])==null?void 0:c.call(u,b({},r,(d={},d[Oe.label]=i,d))))||[]}else{var f;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(b({},r,(f={},f[Oe.label]=i,f))))||[]}return F(x,{children:[K("span",{className:"tree-item-title",children:(he==null?void 0:he(r))||(r==null?void 0:r[Oe.label])}),o.length>0&&K(D,{menuList:o,placement:"bottomRight",children:K(v,{})})]})}var m=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(b({},r,(a={},a[Oe.label]=i,a)));return F(x,{children:[K("span",{className:"tree-item-title",children:(he==null?void 0:he(r))||(r==null?void 0:r[Oe.label])}),m?K(E,b({gap:5},m,{className:p("tree-item-title-operate",m.className)})):null]})}));var sr=g.useDebounceCallback((function(r){Be(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var or=g.useCallbackRef((function(e){sr(e.target.value)}));var ur=g.useCallbackRef((function(r){if(!e.icon)return null;if(M(e.icon))return e.icon;var t=ir(r.data);return e.icon(b({},r,{isParent:!t,isLeaf:t}))}));var cr=S((function(){return{title:Oe.label,key:Oe.value,children:Oe.children}}),[Oe]);var dr=nr.length>0&&xe.requestStatus!=="request-error";var fr=b({showLine:{showLeafIcon:false},titleRender:lr,blockNode:true,switcherIcon:K(f,{}),onDrop:function e(r){if(me){var t=me(r);if(!t)return}var n=Q(tr,Oe,r),a=n.dataList,i=n.dragNodeData;pe==null?void 0:pe(i);Qe(a)},expandedKeys:Se},je,{fieldNames:cr,treeData:nr,onExpand:Ze,loadData:e.loadDataFlag?ar:undefined,style:{width:"100%"},icon:ur});var vr={onCheck:er,checkable:U,checkedKeys:Ye};var pr={onSelect:er,multiple:false,selectedKeys:Ye};var mr=U?vr:pr;var hr=p("v-tree-wrapper","v-tree-wrapper-menu-"+Fe,ye);var gr=xe.treeList.length>0&&!dr&&He;return F("div",{className:hr,style:t,children:[!!ae&&F("div",{className:"v-tree-wrapper-search-area",style:ge,children:[K(_,{className:"v-tree-wrapper-search",placeholder:a(ie)?"搜索":ie,onChange:or,value:He,allowClear:true}),!!e.searchExtraElement&&K("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),dr?F("div",{className:"v-tree-wrapper-tree-wrapper",children:[K(w,{spinning:xe.requestStatus==="request-progress"}),K(j,b({},mr,fr,{className:"v-tree-wrapper-tree"}))]}):K(I,{status:xe.requestStatus,loading:De,messageConfig:b({"request-success":gr?"搜索结果为空":"暂无数据","request-error":xe.requestErrorMessage},le),errorButton:K(T,{type:"primary",onClick:Je,children:"重新获取数据"})})]})}));var ie=u(ae,{getTreeDataList:Y});export{ie as TreeWrapper};
|
|
17
17
|
//# sourceMappingURL=index.js.map
|