@flatbiz/antd 4.5.50 → 4.5.52
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.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/copy-wrapper/index.css +0 -0
- package/esm/copy-wrapper/index.js +6 -0
- package/esm/copy-wrapper/index.js.map +1 -0
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/easy-table/index.css +1 -1
- package/esm/easy-table/index.js +2 -2
- package/esm/easy-table/index.js.map +1 -1
- package/esm/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/full-screen/index.css +1 -0
- package/esm/full-screen/index.js +5 -0
- package/esm/full-screen/index.js.map +1 -0
- package/esm/index.js +3 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- 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 +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/index.d.ts +85 -6
- package/package.json +3 -2
|
@@ -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 n}from"@dimjs/utils/cjs/extend";import{hooks as l}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{get as i}from"@dimjs/utils/cjs/get";import{isObject as o}from"@dimjs/lang/cjs/is-object";import{a as u,_ as s}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{
|
|
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 n}from"@dimjs/utils/cjs/extend";import{hooks as l}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{get as i}from"@dimjs/utils/cjs/get";import{isObject as o}from"@dimjs/lang/cjs/is-object";import{a as u,_ as s}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getUuid as c,toArray as f,treeToTiledMap as d,isNotEmptyArray as v,treeToArray as p,isUndefinedOrNull as m}from"@flatbiz/utils";import{usePrevious as h}from"ahooks";import{TreeSelect as S,Button as g}from"antd";import{dequal as C}from"dequal";import{useMemo as b,useState as y,useRef as q,createElement as L}from"react";import{fbaHooks as w}from"../fba-hooks/index.js";import{RequestStatus as R}from"../request-status/index.js";import{Model as T}from"@dimjs/model-react";import{jsx as j}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var k={treeSelectorList:[],treeSelectorTiledMap:{},queryIsEmpty:false};var x={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:k};var M={};var E=function e(r){if(!M[r]){M[r]=T(x)}return M[r]};var I=function e(r,t){var n=[];var l=t[r];while(l){var a=l.pId;l=t[a];if(l){n.push(a)}}return n};var N=function e(r,t){if(r.length===0)return[];var n=[];r.forEach((function(e){var r=I(e,t);n.push.apply(n,r)}));return Array.from(new Set(n))};var A=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","executeOnChangeInRenderFirstValue"];var O=function T(k){var x=k.serviceConfig,M=k.effectDependencyList,I=k.onTreeSelectorListChange,O=k.onTreeSelectorRequestError,D=k.treeSelectorList,P=k.requestMessageConfig,V=k.modelKey,F=k.value,B=k.labelInValue,K=k.labelInValueFieldNames,H=k.onTreeItemDataAdapter,J=k.selectedParentCheckedAllChildrenList,W=J===void 0?true:J,_=k.fieldNames,z=k.onChange,G=k.treeDefaultExpandAll,Q=k.showAllOption,U=k.initRootExpand,X=k.treeDefaultExpandedKeys,Y=k.executeOnChangeInRenderFirstValue,Z=u(k,A);var $=Object.prototype.hasOwnProperty.call(k,"treeSelectorList");var ee=b((function(){return V||c()}),[V]);var re=x||{};var te=M||[];var ne=w.useSafeState(false),le=ne[0],ae=ne[1];var ie=y(),oe=ie[0],ue=ie[1];var se=E(ee).useStore(),ce=se[0],fe=se[1];var de="request-progress-"+ee;var ve=Z.treeCheckable||Z.multiple;var pe=q(true);var me=b((function(){if(Z.treeCheckStrictly)return true;return B}),[B,Z.treeCheckStrictly]);var he=b((function(){return s({label:"label",value:"value",children:"children",disabled:"disabled"},_)}),[_]);var Se=b((function(){return s({label:"label",value:"value"},K)}),[K]);var ge=b((function(){if(Q){var e=Q===true;return{label:e?"全部":Q.label,value:e?"":Q.value}}return null}),[Q]);var Ce=y(),be=Ce[0],ye=Ce[1];var qe=w.useMemoCustom((function(){return f(F).map((function(e){if(o(e)){return me?e[Se.value]:e[he.value]}return e}))}),[he.value,me,Se.value,k.value]);var Le=h(qe);w.useEffectCustom((function(){if(ce.treeSelectorList.length>0){if(pe.current&&Y&&me){var e=[];var r=[];qe.forEach((function(t){var n=ce.treeSelectorTiledMap[t];if(n){var l;r.push(n);e.push((l={},l[Se.label]=n[he.label],l[Se.value]=n[he.value],l))}}));if(ve){k.onChange==null||k.onChange(e?e:undefined,r)}else{k.onChange==null||k.onChange(e?e[0]:undefined,r[0])}}var t=[];if(pe.current){pe.current=false;if(X){t=X}else if(G){var n=Object.keys(ce.treeSelectorTiledMap).map((function(e){var r;return(r=ce.treeSelectorTiledMap[e])==null?void 0:r[he.value]}));t=n}else if(U&&ce.treeSelectorList.length===1){t=[ce.treeSelectorList[0][he.value]]}ue(t)}}}),[qe,ce.treeSelectorList]);w.useEffectCustom((function(){if(!pe.current&&qe.length>0){if(ce.treeSelectorList.length>0&&JSON.stringify(qe)!==JSON.stringify(Le)){if(!be){var e=N(qe,ce.treeSelectorTiledMap);ue(e)}}}}),[qe,ce.treeSelectorList]);var we=function e(r){return r===""||m(r)};var Re=function e(r){var t=r;if(re.onRequestResultAdapter){t=re.onRequestResultAdapter(r)}else if(he.list){t=i(r,he.list)}if(t&&!a(t)){console.warn("待渲染数据为非数组结构",t);return[]}return t||[]};var Te=l.useCallbackRef((function(){return new Promise((function(e,r){var t,l,a,i,o;if(!re.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=re.requiredParamsKeys||[];l=n({},re.params);a=t.find((function(e){return we(l[e])}));if(a){void fe.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{ae(false);window[de]=false;void fe.changeRequestStatus("request-error");O==null||O(e);return u()}catch(e){return r(e)}};try{ae(true);window[de]=true;void fe.changeRequestStatus("request-progress");return Promise.resolve(re.onRequest==null?void 0:re.onRequest(l)).then((function(e){try{i=e;o=Re(i);ae(false);window[de]=false;je(o||[]);return u()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));l.useCustomCompareEffect((function(){if($)return;if(te.length){je([]);void Te();return}var e=E(ee).getState();if(e.requestStatus==="request-success"){return}if(!window[de]){void Te();return}}),te,C);var je=l.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ce.treeSelectorList.length===0){void fe.setSelectBoxList({treeSelectorList:[],treeSelectorTiledMap:{}});I==null||I([]);return}var t=ge?(r={},r[he.label]=ge.label,r[he.value]=ge.value,r):undefined;var n=Q?[t].concat(e):e;void fe.setSelectBoxList({treeSelectorList:n,treeSelectorTiledMap:d(n,{value:he.value,children:he.children},"pId")});I==null||I(e)}));w.useEffectCustom((function(){if($){je(D||[])}}),[D]);var ke=l.useCallbackRef((function(e){ue(e)}));var xe=l.useCallbackRef((function(){void Te()}));var Me=l.useCallbackRef((function(e,r,t){var n=f(e);if(Z.treeCheckStrictly){if(W&&t.checked){var l=ce.treeSelectorTiledMap[t==null?void 0:t.triggerValue];if(v(l[he.children])){n=p([l],he.children).map((function(e){return e[he.value]}))}else{n=e==null?void 0:e.map((function(e){return e.value}))}}else{n=e==null?void 0:e.map((function(e){return e.value}))}}if(me){var a=n.map((function(e){var r;var t=ce.treeSelectorTiledMap[e];return r={},r[Se.label]=t[he.label],r[Se.value]=t[he.value],r}));if(ve){z==null||z(a,a,t)}else{z==null||z(a[0],a[0],t)}}else{var i=n.map((function(e){return ce.treeSelectorTiledMap[e]}));if(ve){z==null||z(n,i,t)}else{z==null||z(n[0],i[0],t)}}}));var Ee=l.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(H==null?void 0:H(s({},e)))||e;var t=r[he.children];var n=r[he.value];var l=r[he.label];var a=r[he.disabled]?r[he.disabled]:r.disabled;return L(S.TreeNode,s({},r,{disabled:a,value:n,title:l,key:""+n}),t&&t.length>0&&Ee(t))}))}));var Ie=function e(r){ye(r);var t=[];if(!r){ye(undefined);t=qe}else{Object.keys(ce.treeSelectorTiledMap).forEach((function(e){var n=ce.treeSelectorTiledMap[e];var l=n==null?void 0:n[he.label];if(l!=null&&l.includes(r)){t.push(n[he.value])}}))}var n=N(t,ce.treeSelectorTiledMap);ue(n)};var Ne=ve?qe:qe[0];return j(S,s({searchValue:be,dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:j(t,{}),popupMatchSelectWidth:false},Z,{className:r("v-tree-select-wrapper",Z.className),popupClassName:r("v-tree-select-wrapper-dropdown",Z.popupClassName),onChange:Me,treeExpandedKeys:oe,value:Ne,onSearch:Ie,loading:le,onTreeExpand:ke,style:s({width:"100%"},Z.style),suffixIcon:ce.requestStatus==="request-error"?j(e,{spin:le,onClick:xe}):undefined,notFoundContent:j(R,{status:ce.requestStatus,messageConfig:P,loading:le,errorButton:j(g,{type:"primary",onClick:xe,children:"重新获取数据"})}),children:Ee(ce.treeSelectorList)}))};export{O 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, get } 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 { usePrevious } from 'ahooks';\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 /**\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter 后此配置失效\n */\n list?: string;\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 * 在第一次渲染value时,主动执行一次onChange\n * ```\n * 1. 设置labelInValue = true 时有效\n * 2. 不考虑子父节点的关系\n * ```\n */\n executeOnChangeInRenderFirstValue?: boolean;\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 executeOnChangeInRenderFirstValue,\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 = fbaHooks.useMemoCustom(() => {\n return toArray<TAny>(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 const prevPropsPureValue = usePrevious(propsPureValue);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && executeOnChangeInRenderFirstValue && labelInValue) {\n const dataList: TPlainObject[] = [];\n const originalList: TPlainObject[] = [];\n propsPureValue.forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n if (target) {\n originalList.push(target);\n dataList.push({\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n });\n }\n });\n if (isMultiple) {\n props.onChange?.(dataList ? dataList : undefined, originalList);\n } else {\n props.onChange?.(dataList ? dataList[0] : undefined, originalList[0]);\n }\n }\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 }\n // else {\n // responseFirstRef.current = false;\n // if (!searchValue) {\n // const expandedKeys = getExpandedKeysByValues(\n // propsPureValue,\n // state.treeSelectorTiledMap\n // );\n // setTreeExpandedKeys(expandedKeys);\n // }\n // }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n fbaHooks.useEffectCustom(() => {\n if (!responseFirstRef.current && propsPureValue.length > 0) {\n if (\n state.treeSelectorList.length > 0 &&\n JSON.stringify(propsPureValue) !== JSON.stringify(prevPropsPureValue)\n ) {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n let result = respData;\n if (newServiceConfig.onRequestResultAdapter) {\n result = newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNamesMerge.list) {\n result = get(respData, fieldNamesMerge.list);\n }\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","executeOnChangeInRenderFirstValue","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","useMemoCustom","toArray","map","item","_isObject","prevPropsPureValue","usePrevious","useEffectCustom","current","dataList","originalList","target","_dataList$push","undefined","allValues","keys","_state$treeSelectorTi","JSON","stringify","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","_ref","tempItem","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","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, get } from '@dimjs/utils';\nimport {\n getUuid,\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 { usePrevious } from 'ahooks';\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 /**\n * 设置请求唯一值\n * ```\n * 1. 设置后,如果请求入参不变,不会重复请求接口,直接使用上次缓存数据\n * ```\n */\n modelKey?: string;\n fieldNames?: {\n /**\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter 后此配置失效\n */\n list?: string;\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 * 在第一次渲染value时,主动执行一次onChange\n * ```\n * 1. 设置labelInValue = true 时有效\n * 2. 不考虑子父节点的关系\n * ```\n */\n executeOnChangeInRenderFirstValue?: boolean;\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 executeOnChangeInRenderFirstValue,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n\n const modelKeyInner = useMemo(() => {\n return modelKey || getUuid();\n }, [modelKey]);\n\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(modelKeyInner).useStore();\n const requestPreKey = `request-progress-${modelKeyInner}`;\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 = fbaHooks.useMemoCustom(() => {\n return toArray<TAny>(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 const prevPropsPureValue = usePrevious(propsPureValue);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && executeOnChangeInRenderFirstValue && labelInValue) {\n const dataList: TPlainObject[] = [];\n const originalList: TPlainObject[] = [];\n propsPureValue.forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n if (target) {\n originalList.push(target);\n dataList.push({\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n });\n }\n });\n if (isMultiple) {\n props.onChange?.(dataList ? dataList : undefined, originalList);\n } else {\n props.onChange?.(dataList ? dataList[0] : undefined, originalList[0]);\n }\n }\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 }\n // else {\n // responseFirstRef.current = false;\n // if (!searchValue) {\n // const expandedKeys = getExpandedKeysByValues(\n // propsPureValue,\n // state.treeSelectorTiledMap\n // );\n // setTreeExpandedKeys(expandedKeys);\n // }\n // }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n fbaHooks.useEffectCustom(() => {\n if (!responseFirstRef.current && propsPureValue.length > 0) {\n if (\n state.treeSelectorList.length > 0 &&\n JSON.stringify(propsPureValue) !== JSON.stringify(prevPropsPureValue)\n ) {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [propsPureValue, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n let result = respData;\n if (newServiceConfig.onRequestResultAdapter) {\n result = newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNamesMerge.list) {\n result = get(respData, fieldNamesMerge.list);\n }\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(modelKeyInner).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","executeOnChangeInRenderFirstValue","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","modelKeyInner","useMemo","getUuid","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","useMemoCustom","toArray","map","item","_isObject","prevPropsPureValue","usePrevious","useEffectCustom","current","dataList","originalList","target","_dataList$push","undefined","allValues","keys","_state$treeSelectorTi","JSON","stringify","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","_ref","tempItem","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","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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"}
|
|
@@ -13,5 +13,5 @@ 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 u,treeFilter as s,dom as o,attachPropertiesToComponent as c}from"@flatbiz/utils";import{isArray as d}from"@dimjs/lang/cjs/is-array";import{Model as f}from"@dimjs/model-react";import{array as v}from"@dimjs/utils/cjs/array";import p from"@ant-design/icons/es/icons/CaretDownFilled";import m from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as h}from"@dimjs/utils/cjs/class-names";import{isString as g}from"@dimjs/lang/cjs/is-string";import{extend as y}from"@dimjs/utils/cjs/extend";import{hooks as b}from"@wove/react/cjs/hooks";import{get as L}from"@dimjs/utils/cjs/get";import{_ as C,a as T}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{cloneState as j}from"@dimjs/model";import{Spin as w,Tree as A,Button as N,message as S}from"antd";import{forwardRef as R,useState as q,useMemo as k,useRef as x,useImperativeHandle as M,Fragment as E,isValidElement as P}from"react";import{ButtonOperate as D}from"../button-operate/index.js";import{DropdownMenuWrapper as O}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as I}from"../fba-hooks/index.js";import{InputSearchWrapper as _}from"../input-search-wrapper/index.js";import{RequestStatus as V}from"../request-status/index.js";import{tree as F}from"@dimjs/utils/cjs/tree";import{isObject as K}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as U,jsx as z}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-83bede1b.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";import"@dimjs/utils/cjs/uuid";var H={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var J={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(d(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:H};var B={};var Y=function e(r){if(!B[r]){B[r]=f(J)}return B[r]};var G=function e(r){var t=Y(r).getState();return t.treeList};var W=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 Q=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 X=function e(r,t){var n=a(r)?[]:r;n=d(n)?n:[n];n=n.map((function(e){if(K(e))return e[t.value];return e}));return n};var Z=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){c(r[a][o],t,n)}}};var d=j(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[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(u===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:$(i,d,t)}};var $=function r(t,n,a){var i;var l=a.value;var u=a.children;F.walkThroughTree((i={},i[l]=undefined,i[u]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),u);var s=e(n,u);var o=s.find((function(e){return e[l]===t}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var ee=function r(t,n,a,l){var u={};var s=[];var o=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){s.push(e)}else{u[e]=e}}));if(s.length>0){s.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(u).length>i.length){var s=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(s.length===i.length){o.push(r)}}}))}return t.filter((function(e){return o.find((function(r){return r==e}))||u[e]}))};var re=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var te=function e(r,t,n,a){var u={};r.forEach((function(e){var r;var s=(r=t[e])==null?void 0:r[n];if(i(s)){var o=l(s,{value:a,children:n});u=C({},u,o)}}));return r.filter((function(e){return!u[e]}))};var ne=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var ae=function r(t,n,a,l){var u=[].concat(t);t.forEach((function(r){var t;var s=(t=n[r])==null?void 0:t[a];if(i(s)){var o=e(s,a);u=u.concat(o.map((function(e){return e[l]})))}}));return Array.from(new Set(u))};var ie=["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","clickParentNodeToggleExpand","disableNodeSelect","required","executeOnChangeInRenderFirstValue"];var le=function e(r,t){var n=r.slice().sort();var a=t.slice().sort();return JSON.stringify(n)===JSON.stringify(a)};var ue=R((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,c=e.value,f=e.onChange,R=e.modelKey,F=e.checkableResponseParentNode,K=F===void 0?true:F,H=e.checkable,J=e.onSelectorTreeListChange,B=e.onRequestResponseChange,G=e.treeItemDataAdapter,$=e.searchValue,ue=e.showSearch,se=e.searchPlaceholder,oe=e.requestMessageConfig,ce=e.labelInValueFieldNames,de=e.labelInValue,fe=e.disabledCanUse,ve=e.menuLayoutType,pe=e.menuTriggerType,me=e.initRootExpand,he=e.searchResultType,ge=e.onDropNodeHandle,ye=e.onDropPrev,be=e.labelRender,Le=e.searchStyle,Ce=e.className,Te=e.defaultExpandAll,je=e.menus,we=e.customSearchRule,Ae=e.checkableType,Ne=e.clickParentNodeToggleExpand,Se=e.disableNodeSelect,Re=e.required,qe=e.executeOnChangeInRenderFirstValue,ke=T(e,ie);var xe=e.hasOwnProperty("selectorTreeList");var Me=n||{};var Ee=i||[];var Pe=q([]),De=Pe[0],Oe=Pe[1];var Ie=Y(R).useStore(),_e=Ie[0],Ve=Ie[1];var Fe=I.useSafeState(false),Ke=Fe[0],Ue=Fe[1];var ze="request-progress-"+e.modelKey;var He=he==="highlight";var Je=k((function(){return C({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Be=ve===undefined?"fold":ve;var Ye=pe===undefined?"click":pe;var Ge=x(true);var We=x(undefined);var Qe=k((function(){return C({label:"label",value:"value"},ce)}),[ce]);var Xe=q(),Ze=Xe[0],$e=Xe[1];var er=k((function(){return X(c,Qe)}),[Qe,c]);I.useEffectCustom((function(){if(_e.treeList.length>0){if(Ge.current&&de&&qe&&er.length>0){var r=[];var t=[];er.forEach((function(e){var n=_e.treeTiledArrayMap[e];if(n){var a;t.push(n);r.push((a={},a[Qe.label]=n[Je.label],a[Qe.value]=n[Je.value],a))}}));if(H){e.onChange==null||e.onChange(r?r:undefined,t)}else{e.onChange==null||e.onChange(r?r[0]:undefined,t[0])}}if(Ge.current&&er.length===0){Ge.current=false;if(Te){Oe(W(_e.treeList,Je));return}else if(me&&_e.treeList.length){Oe([_e.treeList[0][Je.value]]);return}}if(er.length>0){Ge.current=false;if(We.current){if(!le(er,We.current)){var n=ir(er,true);Oe(Array.from(new Set(De==null?void 0:De.concat(n))))}}else{var a=ir(er,true);Oe(Array.from(new Set(De==null?void 0:De.concat(a))))}}}}),[_e.treeList,JSON.stringify(er)]);var rr=function e(r){return r===""||a(r)};var tr=function e(r){var t=r;if(Me.onRequestResultAdapter){t=Me.onRequestResultAdapter(r)}else if(Je.list){t=L(r,Je.list,[])||[]}if(!d(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};I.useEffectCustom((function(){$e($)}),[$]);var nr=b.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var u=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{Ge.current=false;Ue(false);void S.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Me.requiredParamsKeys;n=y({},Me.params);if(t){a=t.find((function(e){return rr(n[e])}));if(a){void Ve.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var o=function(){try{return u()}catch(e){return s(e)}};var c=function(e){try{window[ze]=false;Ue(false);void Ve.changeRequestStatus({status:"request-error",errorMessage:e.message});return o()}catch(e){return s(e)}};try{Ue(true);return Promise.resolve(Ve.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[ze]=true;return Promise.resolve(Me.onRequest==null?void 0:Me.onRequest(n)).then((function(e){try{i=e;B==null||B(i);l=tr(i);if(l.length===0){Ge.current=false}ar(l);Ue(false);window[ze]=false;return o()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){s(e)}}))}));I.useEffectCustom((function(){if(xe)return;if(Ee.length){void nr();return}var e=Y(R).getState();if(e.requestStatus==="request-success"){J==null||J(e.treeList);return}if(!window[ze]){void nr()}else{J==null||J(e.treeList)}}),Ee);I.useEffectCustom((function(){if(xe){ar(l||[])}}),[l]);var ar=b.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&_e.treeList.length===0){void Ve.changeRequestStatus({status:"request-success"});return}void Ve.setTreeList({treeList:e||[],childrenName:Je.children,valueName:Je.value});J==null||J(e)}));var ir=function e(r,t){var n=[];r.forEach((function(e){if(!t&&De!=null&&De.includes(e))return;var r=Q(e,_e.treeList,Je);n=n.concat(r)}));return n};b.useUpdateEffect((function(){if(Ze){var e=_e.treeTiledArray.filter((function(e){var r=e[Je.label]||"";if(we){return we(e,Ze)}return String(r).toLowerCase().includes(Ze.toLowerCase())}));var r=ir(e.map((function(e){return e[Je.value]})),true);Oe(Array.from(new Set(r)))}else{Oe([])}}),[Ze]);M(r,(function(){return{onClearSelectorList:function e(){void Ve.resetTreeList()},getTreeDataList:function e(){return _e.treeList},getTreeTiledArray:function e(){return _e.treeTiledArray},getTreeTiledArrayMap:function e(){return _e.treeTiledArrayMap},onChangeExpandedKeys:function e(r){Oe(r)},onSelectAll:function e(){var r=_e.treeTiledArray.map((function(e){return e[Je.value]}));Oe(r);f==null||f(r,undefined,_e.treeList,undefined)},onCancelSelectAll:function e(){Oe([]);f==null||f(undefined)},onExpandedAll:function e(){var r=_e.treeTiledArray.map((function(e){return e[Je.value]}));Oe(r)},onCancelExpandedAll:function e(){Oe([])}}}));var lr=b.useCallbackRef((function(e){Oe(e)}));var ur=function r(t,n,a,i){We.current=u(t);if(u(t).length===0){var l=i==null?void 0:i.node[Je.value];var s=_e.treeTiledArrayMap[l];e.onChange==null||e.onChange(undefined,s,[s],i)}else{e.onChange==null||e.onChange(t,n,a,i)}};var sr=b.useCallbackRef((function(r,t){var n=[];var a=[];if(H){n=e.checkStrictly?r.checked:r}else{n=r;if(Re&&!u(r).length){return}if(Se){var i=_e.treeTiledArrayMap[r[0]];var l=i?Se(i):false;if(l){return}}}n=u(n);if(!H){a=n}else{if(ue&&Ze&&!He){var s=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=er.filter((function(e){return e!=s[Je.value]}))}else{n=Array.from(new Set([].concat(er,n)))}a=n}else{var o=Ae==="2"||Ae==="3"?ae(er,_e.treeTiledArrayMap,Je.children,Je.value):er;if(t.checked==false){n=re([].concat(o),s,Je.children,Je.value)}else{n=Array.from(new Set([].concat(o,n)))}a=ee(n,_e.treeTiledArrayMap,Je.children,Je.value)}}else{a=n}if(!e.checkStrictly){if(Ae==="2"){n=ne(a,_e.treeTiledArrayMap,Je.children)}else if(Ae==="3"){n=te(a,_e.treeTiledArrayMap,Je.children,Je.value)}else if(K==false){n=ne(a,_e.treeTiledArrayMap,Je.children)}else{n=a}}}var c=a.map((function(e){return _e.treeTiledArrayMap[e]}));if(de){var d=Qe.value;var f=Qe.label;var v=n.map((function(e){var r;return r={},r[f]=_e.treeTiledArrayMap[e][Je.label],r[d]=_e.treeTiledArrayMap[e][Je.value],r}));if(H){ur(v,n.map((function(e){return _e.treeTiledArrayMap[e]})),c,t)}else{ur(v[0],_e.treeTiledArrayMap[n[0]],c,t)}}else{if(H){ur(n,n.map((function(e){return _e.treeTiledArrayMap[e]})),c,t)}else{ur(n[0],_e.treeTiledArrayMap[n[0]],c,t)}}}));var or=b.useCallbackRef((function(e){return G==null?void 0:G(e)}));var cr=k((function(){var e=j(_e.treeList||[]);if(Ze&&he!=="highlight"){var r=s(j(_e.treeList||[]),(function(e){var r;if(we){return we(e,Ze)}var t=(r=e[Je.label])==null?void 0:r.toLowerCase();return t.indexOf(Ze.toLowerCase())>=0}),{childrenName:Je.children});return r}return e}),[we,Je.children,Je.label,he,_e.treeList,Ze]);var dr=k((function(){var e=function r(t){return t==null?void 0:t.map((function(r){var t;var n=(or==null?void 0:or(r))||r;var a=fe?undefined:n.disabled;var i=n[Je.label]||"";var l;if(Ze&&g(i)){var u=i==null?void 0:i.toLowerCase();var s=u.indexOf(Ze.toLowerCase());var o=i.substring(0,s);var c=i.slice(s+Ze.length);var f=i.slice(s,s+Ze.length);l=s>-1?U("span",{className:h({"v-tree-item-disabled":n.disabled}),children:[o,z("span",{className:"site-tree-search-value",children:f}),c]}):null}if(!l&&n.disabled){l=z("span",{className:h({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Je.children];return C({},n,(t={disabled:a},t[Je.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Je.children]=d(v)&&v.length>0?e(v):undefined,t))}))};return e(cr)}),[cr,or,fe,Je.label,Je.children,Ze]);var fr=b.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o,c;if(r[Je.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void S.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(((u=e.loadDataServiceConfig)==null||u.getParams==null?void 0:u.getParams(r))||{})).then((function(n){try{o=n;c=(s=e.loadDataServiceConfig)!=null&&s.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void Ve.treeListAppendChildren({value:r[Je.value],appendList:c,childrenName:Je.children,valueName:Je.value}).then((function(e){ar(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var vr=b.useCallbackRef((function(r){var t=r==null?void 0:r[Je.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var pr=b.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Je.label];var l=je==null?void 0:je(C({},r,(t={},t[Je.label]=i,t)));if(l!=null&&l.operateList.length){return U(E,{children:[z("span",{className:"tree-item-title","data-value":r[Je.value],children:(be==null?void 0:be(r))||(r==null?void 0:r[Je.label])}),z(D,C({gap:5},l,{dropdownMenuProps:C({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:h("tree-item-title-operate",l.className)}))]})}if(Be==="fold"){var u;var s=[];if((u=e.menuOptions)!=null&&u.fold){var o,c,d;s=((o=e.menuOptions)==null||(c=o[Be])==null?void 0:c.call(o,C({},r,(d={},d[Je.label]=i,d))))||[]}else{var f;s=(e.getMenuOptions==null?void 0:e.getMenuOptions(C({},r,(f={},f[Je.label]=i,f))))||[]}return U(E,{children:[z("span",{className:"tree-item-title","data-value":r[Je.value],children:(be==null?void 0:be(r))||(r==null?void 0:r[Je.label])}),s.length>0&&z(O,{menuList:s,placement:"bottomRight",children:z(m,{})})]})}var v=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(C({},r,(a={},a[Je.label]=i,a)));return U(E,{children:[z("span",{className:"tree-item-title","data-value":r[Je.value],children:(be==null?void 0:be(r))||(r==null?void 0:r[Je.label])}),v?z(D,C({gap:5},v,{className:h("tree-item-title-operate",v.className)})):null]})}));var mr=b.useDebounceCallback((function(r){$e(r);e.onSearchValueChange==null||e.onSearchValueChange(r)}),300);var hr=b.useCallbackRef((function(e){mr(e.target.value)}));var gr=b.useCallbackRef((function(r){if(!e.icon)return null;if(P(e.icon))return e.icon;var t=vr(r.data);return e.icon(C({},r,{isParent:!t,isLeaf:t}))}));var yr=k((function(){return{title:Je.label,key:Je.value,children:Je.children}}),[Je]);var br=dr.length>0&&_e.requestStatus!=="request-error";var Lr=C({showLine:{showLeafIcon:false},titleRender:pr,blockNode:true,switcherIcon:z(p,{}),onDrop:function e(r){if(ye){var t=ye(r);if(!t)return}var n=Z(cr,Je,r),a=n.dataList,i=n.dragNodeData;ge==null||ge(i);ar(a)},expandedKeys:De},ke,{fieldNames:yr,treeData:dr,onExpand:lr,loadData:e.loadDataFlag?fr:undefined,style:{width:"100%"},icon:gr,onClick:function e(r){if(Ne){var t=r.target;var n=t.dataset.value;if(a(n)){t=o.findParentsElement(r.target,(function(e){var r,t;return((r=e.classList)==null?void 0:r.contains("tree-item-title"))||((t=e.classList)==null?void 0:t.contains("ant-tree-treenode"))}));n=t.dataset.value}if(!a(n)){var i=_e.treeTiledArrayMap[n];if(i!=null&&i[Je.children]&&i[Je.children].length>0){var l=De.includes(n);if(l){var u=v.arrayRemove(De,n);Oe([].concat(u))}else{Oe([].concat(De,[n]))}}}}}});var Cr={onCheck:sr,checkable:H,checkedKeys:er};var Tr={onSelect:sr,multiple:false,selectedKeys:er};var jr=H?Cr:Tr;var wr=h("v-tree-wrapper","v-tree-wrapper-menu-"+Ye,Ce);var Ar=_e.treeList.length>0&&!br&&Ze;return U("div",{className:wr,style:t,children:[!!ue&&U("div",{className:"v-tree-wrapper-search-area",style:Le,children:[z(_,{className:"v-tree-wrapper-search",placeholder:a(se)?"搜索":se,onChange:hr,value:Ze,allowClear:true}),!!e.searchExtraElement&&z("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),br?U("div",{className:"v-tree-wrapper-tree-wrapper",children:[z(w,{spinning:_e.requestStatus==="request-progress"}),z(A,C({},jr,Lr,{className:"v-tree-wrapper-tree"}))]}):z(V,{status:_e.requestStatus,loading:Ke,messageConfig:C({"request-success":Ar?"搜索结果为空":"暂无数据","request-error":_e.requestErrorMessage},oe),errorButton:z(N,{type:"primary",onClick:nr,children:"重新获取数据"})})]})}));var se=c(ue,{getTreeDataList:G});export{se 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,getUuid as u,toArray as s,treeFilter as o,dom as c,attachPropertiesToComponent as d}from"@flatbiz/utils";import{isArray as f}from"@dimjs/lang/cjs/is-array";import{Model as v}from"@dimjs/model-react";import{array as p}from"@dimjs/utils/cjs/array";import m from"@ant-design/icons/es/icons/CaretDownFilled";import h from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as g}from"@dimjs/utils/cjs/class-names";import{isString as y}from"@dimjs/lang/cjs/is-string";import{extend as b}from"@dimjs/utils/cjs/extend";import{get as L}from"@dimjs/utils/cjs/get";import{_ as C,a as T}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as j}from"@wove/react/cjs/hooks";import{cloneState as w}from"@dimjs/model";import{Spin as A,Tree as N,Button as R,message as S}from"antd";import{forwardRef as q,useMemo as k,useState as x,useRef as M,useImperativeHandle as E,Fragment as D,isValidElement as P}from"react";import{ButtonOperate as O}from"../button-operate/index.js";import{DropdownMenuWrapper as I}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as _}from"../fba-hooks/index.js";import{InputSearchWrapper as F}from"../input-search-wrapper/index.js";import{RequestStatus as V}from"../request-status/index.js";import{tree as K}from"@dimjs/utils/cjs/tree";import{isObject as U}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as z,jsx as H}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-83bede1b.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";import"@dimjs/utils/cjs/uuid";var J={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var B={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(f(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:J};var Y={};var G=function e(r){if(!Y[r]){Y[r]=v(B)}return Y[r]};var W=function e(r){var t=G(r).getState();return t.treeList};var Q=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 X=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 Z=function e(r,t){var n=a(r)?[]:r;n=f(n)?n:[n];n=n.map((function(e){if(U(e))return e[t.value];return e}));return n};var $=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){c(r[a][o],t,n)}}};var d=w(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[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(u===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:ee(i,d,t)}};var ee=function r(t,n,a){var i;var l=a.value;var u=a.children;K.walkThroughTree((i={},i[l]=undefined,i[u]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),u);var s=e(n,u);var o=s.find((function(e){return e[l]===t}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var re=function r(t,n,a,l){var u={};var s=[];var o=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){s.push(e)}else{u[e]=e}}));if(s.length>0){s.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(u).length>i.length){var s=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(s.length===i.length){o.push(r)}}}))}return t.filter((function(e){return o.find((function(r){return r==e}))||u[e]}))};var te=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var ne=function e(r,t,n,a){var u={};r.forEach((function(e){var r;var s=(r=t[e])==null?void 0:r[n];if(i(s)){var o=l(s,{value:a,children:n});u=C({},u,o)}}));return r.filter((function(e){return!u[e]}))};var ae=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var ie=function r(t,n,a,l){var u=[].concat(t);t.forEach((function(r){var t;var s=(t=n[r])==null?void 0:t[a];if(i(s)){var o=e(s,a);u=u.concat(o.map((function(e){return e[l]})))}}));return Array.from(new Set(u))};var le=["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","clickParentNodeToggleExpand","disableNodeSelect","required","executeOnChangeInRenderFirstValue"];var ue=function e(r,t){var n=r.slice().sort();var a=t.slice().sort();return JSON.stringify(n)===JSON.stringify(a)};var se=q((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,d=e.value,v=e.onChange,q=e.modelKey,K=e.checkableResponseParentNode,U=K===void 0?true:K,J=e.checkable,B=e.onSelectorTreeListChange,Y=e.onRequestResponseChange,W=e.treeItemDataAdapter,ee=e.searchValue,se=e.showSearch,oe=e.searchPlaceholder,ce=e.requestMessageConfig,de=e.labelInValueFieldNames,fe=e.labelInValue,ve=e.disabledCanUse,pe=e.menuLayoutType,me=e.menuTriggerType,he=e.initRootExpand,ge=e.searchResultType,ye=e.onDropNodeHandle,be=e.onDropPrev,Le=e.labelRender,Ce=e.searchStyle,Te=e.className,je=e.defaultExpandAll,we=e.menus,Ae=e.customSearchRule,Ne=e.checkableType,Re=e.clickParentNodeToggleExpand,Se=e.disableNodeSelect,qe=e.required,ke=e.executeOnChangeInRenderFirstValue,xe=T(e,le);var Me=j.useForceUpdate();var Ee=k((function(){return q||u()}),[q]);var De=e.hasOwnProperty("selectorTreeList");var Pe=n||{};var Oe=i||[];var Ie=x([]),_e=Ie[0],Fe=Ie[1];var Ve=G(Ee).useStore(),Ke=Ve[0],Ue=Ve[1];var ze=_.useSafeState(false),He=ze[0],Je=ze[1];var Be="request-progress-"+Ee;var Ye=ge==="highlight";var Ge=k((function(){return C({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var We=pe===undefined?"fold":pe;var Qe=me===undefined?"click":me;var Xe=M(true);var Ze=M(undefined);var $e=k((function(){return C({label:"label",value:"value"},de)}),[de]);var er=x(),rr=er[0],tr=er[1];var nr=k((function(){return Z(d,$e)}),[$e,d]);_.useEffectCustom((function(){if(Ke.treeList.length>0){if(Xe.current&&fe&&ke&&nr.length>0){var r=[];var t=[];nr.forEach((function(e){var n=Ke.treeTiledArrayMap[e];if(n){var a;t.push(n);r.push((a={},a[$e.label]=n[Ge.label],a[$e.value]=n[Ge.value],a))}}));if(J){e.onChange==null||e.onChange(r?r:undefined,t)}else{e.onChange==null||e.onChange(r?r[0]:undefined,t[0])}}if(Xe.current&&nr.length===0){Xe.current=false;if(je){Fe(Q(Ke.treeList,Ge));return}else if(he&&Ke.treeList.length){Fe([Ke.treeList[0][Ge.value]]);return}}if(nr.length>0){Xe.current=false;if(Ze.current){if(!ue(nr,Ze.current)){var n=sr(nr,true);Fe(Array.from(new Set(_e==null?void 0:_e.concat(n))))}}else{var a=sr(nr,true);Fe(Array.from(new Set(_e==null?void 0:_e.concat(a))))}}}}),[Ke.treeList,JSON.stringify(nr)]);var ar=function e(r){return r===""||a(r)};var ir=function e(r){var t=r;if(Pe.onRequestResultAdapter){t=Pe.onRequestResultAdapter(r)}else if(Ge.list){t=L(r,Ge.list,[])||[]}if(!f(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};_.useEffectCustom((function(){tr(ee)}),[ee]);var lr=j.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var u=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{Xe.current=false;Je(false);void S.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Pe.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Pe.requiredParamsKeys;n=b({},Pe.params);if(t){a=t.find((function(e){return ar(n[e])}));if(a){void Ue.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var o=function(){try{return u()}catch(e){return s(e)}};var c=function(e){try{window[Be]=false;Je(false);void Ue.changeRequestStatus({status:"request-error",errorMessage:e.message});return o()}catch(e){return s(e)}};try{Je(true);return Promise.resolve(Ue.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Be]=true;return Promise.resolve(Pe.onRequest==null?void 0:Pe.onRequest(n)).then((function(e){try{i=e;Y==null||Y(i);l=ir(i);if(l.length===0){Xe.current=false}ur(l);Je(false);window[Be]=false;return o()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){s(e)}}))}));_.useEffectCustom((function(){if(De)return;if(Oe.length){void lr();return}var e=G(Ee).getState();if(e.requestStatus==="request-success"){B==null||B(e.treeList);return}if(!window[Be]){void lr()}else{B==null||B(e.treeList)}}),Oe);_.useEffectCustom((function(){if(De){ur(l||[])}}),[l]);var ur=j.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ke.treeList.length===0){void Ue.changeRequestStatus({status:"request-success"});return}void Ue.setTreeList({treeList:e||[],childrenName:Ge.children,valueName:Ge.value});B==null||B(e)}));var sr=function e(r,t){var n=[];r.forEach((function(e){if(!t&&_e!=null&&_e.includes(e))return;var r=X(e,Ke.treeList,Ge);n=n.concat(r)}));return n};j.useUpdateEffect((function(){if(rr){var e=Ke.treeTiledArray.filter((function(e){var r=e[Ge.label]||"";if(Ae){return Ae(e,rr)}return String(r).toLowerCase().includes(rr.toLowerCase())}));var r=sr(e.map((function(e){return e[Ge.value]})),true);Fe(Array.from(new Set(r)))}else{Fe([])}}),[rr]);E(r,(function(){return{onClearSelectorList:function e(){void Ue.resetTreeList()},getTreeDataList:function e(){return Ke.treeList},getTreeTiledArray:function e(){return Ke.treeTiledArray},getTreeTiledArrayMap:function e(){return Ke.treeTiledArrayMap},onChangeExpandedKeys:function e(r){Fe(r)},onSelectAll:function e(){var r=Ke.treeTiledArray.map((function(e){return e[Ge.value]}));Fe(r);v==null||v(r,undefined,Ke.treeList,undefined)},onCancelSelectAll:function e(){Fe([]);v==null||v(undefined)},onExpandedAll:function e(){var r=Ke.treeTiledArray.map((function(e){return e[Ge.value]}));Fe(r)},onCancelExpandedAll:function e(){Fe([])},onRefresh:function e(){Me()}}}));var or=j.useCallbackRef((function(e){Fe(e)}));var cr=function r(t,n,a,i){Ze.current=s(t);if(s(t).length===0){var l=i==null?void 0:i.node[Ge.value];var u=Ke.treeTiledArrayMap[l];e.onChange==null||e.onChange(undefined,u,[u],i)}else{e.onChange==null||e.onChange(t,n,a,i)}};var dr=j.useCallbackRef((function(r,t){var n=[];var a=[];if(J){n=e.checkStrictly?r.checked:r}else{n=r;if(qe&&!s(r).length){return}if(Se){var i=Ke.treeTiledArrayMap[r[0]];var l=i?Se(i):false;if(l){return}}}n=s(n);if(!J){a=n}else{if(se&&rr&&!Ye){var u=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=nr.filter((function(e){return e!=u[Ge.value]}))}else{n=Array.from(new Set([].concat(nr,n)))}a=n}else{var o=Ne==="2"||Ne==="3"?ie(nr,Ke.treeTiledArrayMap,Ge.children,Ge.value):nr;if(t.checked==false){n=te([].concat(o),u,Ge.children,Ge.value)}else{n=Array.from(new Set([].concat(o,n)))}a=re(n,Ke.treeTiledArrayMap,Ge.children,Ge.value)}}else{a=n}if(!e.checkStrictly){if(Ne==="2"){n=ae(a,Ke.treeTiledArrayMap,Ge.children)}else if(Ne==="3"){n=ne(a,Ke.treeTiledArrayMap,Ge.children,Ge.value)}else if(U==false){n=ae(a,Ke.treeTiledArrayMap,Ge.children)}else{n=a}}}var c=a.map((function(e){return Ke.treeTiledArrayMap[e]}));if(fe){var d=$e.value;var f=$e.label;var v=n.map((function(e){var r;return r={},r[f]=Ke.treeTiledArrayMap[e][Ge.label],r[d]=Ke.treeTiledArrayMap[e][Ge.value],r}));if(J){cr(v,n.map((function(e){return Ke.treeTiledArrayMap[e]})),c,t)}else{cr(v[0],Ke.treeTiledArrayMap[n[0]],c,t)}}else{if(J){cr(n,n.map((function(e){return Ke.treeTiledArrayMap[e]})),c,t)}else{cr(n[0],Ke.treeTiledArrayMap[n[0]],c,t)}}}));var fr=j.useCallbackRef((function(e){return W==null?void 0:W(e)}));var vr=k((function(){var e=w(Ke.treeList||[]);if(rr&&ge!=="highlight"){var r=o(w(Ke.treeList||[]),(function(e){var r;if(Ae){return Ae(e,rr)}var t=(r=e[Ge.label])==null?void 0:r.toLowerCase();return t.indexOf(rr.toLowerCase())>=0}),{childrenName:Ge.children});return r}return e}),[Ae,Ge.children,Ge.label,ge,Ke.treeList,rr]);var pr=k((function(){var e=function r(t){return t==null?void 0:t.map((function(r){var t;var n=(fr==null?void 0:fr(r))||r;var a=ve?undefined:n.disabled;var i=n[Ge.label]||"";var l;if(rr&&y(i)){var u=i==null?void 0:i.toLowerCase();var s=u.indexOf(rr.toLowerCase());var o=i.substring(0,s);var c=i.slice(s+rr.length);var d=i.slice(s,s+rr.length);l=s>-1?z("span",{className:g({"v-tree-item-disabled":n.disabled}),children:[o,H("span",{className:"site-tree-search-value",children:d}),c]}):null}if(!l&&n.disabled){l=H("span",{className:g({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Ge.children];return C({},n,(t={disabled:a},t[Ge.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Ge.children]=f(v)&&v.length>0?e(v):undefined,t))}))};return e(vr)}),[vr,fr,ve,Ge.label,Ge.children,rr]);var mr=j.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o,c;if(r[Ge.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void S.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(((u=e.loadDataServiceConfig)==null||u.getParams==null?void 0:u.getParams(r))||{})).then((function(n){try{o=n;c=(s=e.loadDataServiceConfig)!=null&&s.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void Ue.treeListAppendChildren({value:r[Ge.value],appendList:c,childrenName:Ge.children,valueName:Ge.value}).then((function(e){ur(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var hr=j.useCallbackRef((function(r){var t=r==null?void 0:r[Ge.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var gr=j.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Ge.label];var l=we==null?void 0:we(C({},r,(t={},t[Ge.label]=i,t)));if(l!=null&&l.operateList.length){return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),H(O,C({gap:5},l,{dropdownMenuProps:C({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:g("tree-item-title-operate",l.className)}))]})}if(We==="fold"){var u;var s=[];if((u=e.menuOptions)!=null&&u.fold){var o,c,d;s=((o=e.menuOptions)==null||(c=o[We])==null?void 0:c.call(o,C({},r,(d={},d[Ge.label]=i,d))))||[]}else{var f;s=(e.getMenuOptions==null?void 0:e.getMenuOptions(C({},r,(f={},f[Ge.label]=i,f))))||[]}return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),s.length>0&&H(I,{menuList:s,placement:"bottomRight",children:H(h,{})})]})}var v=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(C({},r,(a={},a[Ge.label]=i,a)));return z(D,{children:[H("span",{className:"tree-item-title","data-value":r[Ge.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[Ge.label])}),v?H(O,C({gap:5},v,{className:g("tree-item-title-operate",v.className)})):null]})}));var yr=j.useDebounceCallback((function(r){tr(r);e.onSearchValueChange==null||e.onSearchValueChange(r)}),300);var br=j.useCallbackRef((function(e){yr(e.target.value)}));var Lr=j.useCallbackRef((function(r){if(!e.icon)return null;if(P(e.icon))return e.icon;var t=hr(r.data);return e.icon(C({},r,{isParent:!t,isLeaf:t}))}));var Cr=k((function(){return{title:Ge.label,key:Ge.value,children:Ge.children}}),[Ge]);var Tr=pr.length>0&&Ke.requestStatus!=="request-error";var jr=C({showLine:{showLeafIcon:false},titleRender:gr,blockNode:true,switcherIcon:H(m,{}),onDrop:function e(r){if(be){var t=be(r);if(!t)return}var n=$(vr,Ge,r),a=n.dataList,i=n.dragNodeData;ye==null||ye(i);ur(a)},expandedKeys:_e},xe,{fieldNames:Cr,treeData:pr,onExpand:or,loadData:e.loadDataFlag?mr:undefined,style:{width:"100%"},icon:Lr,onClick:function r(t){if(Re){var n=t.target;var i=n.dataset.value;if(a(i)){n=c.findParentsElement(t.target,(function(e){var r,t;return((r=e.classList)==null?void 0:r.contains("tree-item-title"))||((t=e.classList)==null?void 0:t.contains("ant-tree-treenode"))}));i=n.dataset.value}if(!a(i)){var l=false;if(e.loadDataFlag){l=_e.includes(i)}else{var u;var s=Ke.treeTiledArrayMap[i];if(!(s!=null&&(u=s[Ge.children])!=null&&u.length)){return}l=_e.includes(i)}if(l){var o=p.arrayRemove(_e,i);Fe([].concat(o))}else{Fe([].concat(_e,[i]))}}}}});var wr={onCheck:dr,checkable:J,checkedKeys:nr};var Ar={onSelect:dr,multiple:false,selectedKeys:nr};var Nr=J?wr:Ar;var Rr=g("v-tree-wrapper","v-tree-wrapper-menu-"+Qe,Te);var Sr=Ke.treeList.length>0&&!Tr&&rr;return z("div",{className:Rr,style:t,children:[!!se&&z("div",{className:"v-tree-wrapper-search-area",style:Ce,children:[H(F,{className:"v-tree-wrapper-search",placeholder:a(oe)?"搜索":oe,onChange:br,value:rr,allowClear:true}),!!e.searchExtraElement&&H("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),Tr?z("div",{className:"v-tree-wrapper-tree-wrapper",children:[H(A,{spinning:Ke.requestStatus==="request-progress"}),H(N,C({},Nr,jr,{className:"v-tree-wrapper-tree"}))]}):H(V,{status:Ke.requestStatus,loading:He,messageConfig:C({"request-success":Sr?"搜索结果为空":"暂无数据","request-error":Ke.requestErrorMessage},ce),errorButton:H(R,{type:"primary",onClick:lr,children:"重新获取数据"})})]})}));var oe=d(se,{getTreeDataList:W});export{oe as TreeWrapper};
|
|
17
17
|
//# sourceMappingURL=index.js.map
|