@flatbiz/antd 4.5.53 → 4.5.55
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/cascader-wrapper/index.css +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/copy-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/index-636a568e.js +8 -0
- package/esm/index-636a568e.js.map +1 -0
- package/esm/index.js +1 -2
- package/esm/request-status/index.css +1 -1
- package/esm/request-status/index.js +2 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/resizable-drawer/index.js +1 -6
- package/esm/resizable-drawer/index.js.map +1 -1
- package/esm/selector-wrapper/index.css +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/styles/index.css +1 -1
- package/esm/tree-modal/index.js +1 -1
- package/esm/tree-modal/index.js.map +1 -1
- package/esm/tree-modal-selector/index.js +1 -1
- package/esm/tree-modal-selector/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 +2 -2
- package/esm/tree-wrapper/index.js.map +1 -1
- package/index.d.ts +12 -25
- package/package.json +1 -1
- package/esm/ai-search/index.css +0 -0
- package/esm/ai-search/index.js +0 -11
- package/esm/ai-search/index.js.map +0 -1
|
@@ -18,5 +18,5 @@ import './../dropdown-menu-wrapper/index.css';
|
|
|
18
18
|
import './../input-search-wrapper/index.css';
|
|
19
19
|
import './index.css';
|
|
20
20
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
21
|
-
import{a as e,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isObject as a}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as o,toArray as t}from"@flatbiz/utils";import{Select as n,message as l}from"antd";import{forwardRef as s,useRef as u,useState as d,useEffect as m,useImperativeHandle as p}from"react";import{TreeModal as c}from"../tree-modal/index.js";import{jsx as j}from"react/jsx-runtime";import"ahooks";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"../flex-layout/index.js";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CloseOutlined";import"../css-node-hover/index.js";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"../tree-wrapper/index.js";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"../button-operate/index.js";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"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"@dimjs/utils/cjs/tree";
|
|
21
|
+
import{a as e,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isObject as a}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as o,toArray as t}from"@flatbiz/utils";import{Select as n,message as l}from"antd";import{forwardRef as s,useRef as u,useState as d,useEffect as m,useImperativeHandle as p}from"react";import{TreeModal as c}from"../tree-modal/index.js";import{jsx as j}from"react/jsx-runtime";import"ahooks";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"../flex-layout/index.js";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CloseOutlined";import"../css-node-hover/index.js";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"../tree-wrapper/index.js";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"dequal";import"../button-operate/index.js";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"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"../index-636a568e.js";import"@dimjs/utils/cjs/tree";var v=["placeholder","maxTagCount","labelInValue","maxCount","overMaxCountMsg","disabled","allowClear"];var f=s((function(s,f){var g,x;var C=s.placeholder,b=s.maxTagCount,h=s.labelInValue,w=s.maxCount,y=s.overMaxCountMsg,M=s.disabled,k=s.allowClear,D=e(s,v);var F=o(C)?"请选择":C;var O=o(k)?true:k;var S=u({});var _=u([]);var z=((g=D.fieldNames)==null?void 0:g.label)||"label";var I=((x=D.fieldNames)==null?void 0:x.value)||"value";var N=d(),T=N[0],V=N[1];m((function(){var e;var i=((e=t(s.value))==null?void 0:e.map((function(e){var i;var r=a(e)?e:{label:e,value:e};return{value:r.value,label:((i=S.current[r.value])==null?void 0:i[z])||r.value}})))||[];V(i)}),[z,s.value]);var q=function e(i){var r=t(i).length?i:undefined;if(D.isMultiple==false){s.onChange==null||s.onChange(r==null?void 0:r[0])}else{if(r&&w!==undefined&&r.length>w){void l.error(y?y:"最多选择"+w+"项");return}s.onChange==null||s.onChange(r)}};var B=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map((function(e){return e.value})))};var L=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map((function(e){return e.value})))};var P=r.useCallbackRef((function(e,i){S.current=i;_.current=e||[];var r=T==null?void 0:T.map((function(e){var r=i[e.value];return r?{label:r[z],value:r[I]}:undefined})).filter(Boolean);V(r)}));p(f,(function(){return{getDataSourceMap:function e(){return{treeDataList:_.current,dataSourceMap:S.current}}}}));return j(c,i({},D,{value:T,forceRender:true,onChange:L,onDataSourceChange:P,disabled:M,children:j(n,{labelInValue:true,style:{width:"100%"},placeholder:F,maxTagCount:b,mode:D.isMultiple?"multiple":undefined,open:false,value:T,onChange:B,disabled:M,allowClear:O})}))}));export{f as TreeModalSelector};
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-modal-selector/selector.tsx"],"sourcesContent":["import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Select } from 'antd';\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { TreeModal } from '../tree-modal';\nimport type { TreeModalProps, TreeModelSelectItem } from '../tree-modal/types';\nexport type TreeModalSelectorProps = Omit<TreeModalProps, 'children' | 'forceRender' | 'onChange'> & {\n placeholder?: string;\n /**\n * 1. 可指定数量\n * 2. 可设置 responsive,一行自适应显示\n */\n maxTagCount?: number | 'responsive';\n /** 是否返回label+value模式 */\n labelInValue?: boolean;\n onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;\n\n /** 最大选择数量 */\n maxCount?: number;\n /** 超过最大选择数量提示文本 */\n overMaxCountMsg?: string;\n disabled?: boolean;\n allowClear?: boolean;\n};\n\nexport type TreeModalSelectorApi = {\n getDataSourceMap: () => {\n treeDataList: TPlainObject[];\n dataSourceMap: TPlainObject;\n };\n};\n\n/**\n * 树弹框选择器\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalSelector = forwardRef<TreeModalSelectorApi, TreeModalSelectorProps>((props, ref) => {\n const {\n placeholder,\n maxTagCount,\n labelInValue,\n maxCount,\n overMaxCountMsg,\n disabled,\n allowClear,\n ...otherProps\n } = props;\n const placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;\n const allowClearFt = isUndefinedOrNull(allowClear) ? true : allowClear;\n\n const dataSourceMapRef = useRef<TPlainObject>({});\n const treeDataListRef = useRef<TPlainObject[]>([]);\n\n const labelKey = otherProps.fieldNames?.label || 'label';\n const valueKey = otherProps.fieldNames?.value || 'value';\n\n const [showValues, setShowValues] = useState<TreeModelSelectItem[]>();\n\n useEffect(() => {\n const dataList =\n toArray(props.value)?.map((item) => {\n const objItems = (isObject(item) ? item : { label: item, value: item }) as TreeModelSelectItem;\n return {\n value: objItems.value,\n label: dataSourceMapRef.current[objItems.value]?.[labelKey] || objItems.value,\n } as TreeModelSelectItem;\n }) || [];\n setShowValues(dataList);\n }, [labelKey, props.value]);\n\n const onInnerChange = (value: TreeModelSelectItem[]) => {\n const valueFt = toArray(value).length ? value : undefined;\n if (otherProps.isMultiple == false) {\n props.onChange?.(valueFt?.[0]);\n } else {\n if (valueFt && maxCount !== undefined && valueFt.length > maxCount) {\n void message.error(overMaxCountMsg ? overMaxCountMsg : `最多选择${maxCount}项`);\n return;\n }\n\n props.onChange?.(valueFt);\n }\n };\n\n const onSelectChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n const treeModalChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n onInnerChange(value?.map((item) => item.value));\n };\n\n const onDataSourceChange = hooks.useCallbackRef((treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n treeDataListRef.current = treeDataList || [];\n const result = showValues\n ?.map((item) => {\n const target = mapData[item.value];\n return target ? { label: target[labelKey], value: target[valueKey] } : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setShowValues(result);\n });\n\n useImperativeHandle(ref, () => {\n return {\n getDataSourceMap: () => {\n return {\n treeDataList: treeDataListRef.current,\n dataSourceMap: dataSourceMapRef.current,\n };\n },\n };\n });\n\n return (\n <TreeModal\n {...otherProps}\n value={showValues}\n forceRender={true}\n onChange={treeModalChange}\n onDataSourceChange={onDataSourceChange}\n disabled={disabled}\n >\n <Select\n labelInValue\n style={{ width: '100%' }}\n placeholder={placeholderFt}\n maxTagCount={maxTagCount}\n mode={otherProps.isMultiple ? 'multiple' : undefined}\n open={false}\n value={showValues}\n onChange={onSelectChange}\n disabled={disabled}\n allowClear={allowClearFt}\n />\n </TreeModal>\n );\n});\n"],"names":["TreeModalSelector","forwardRef","props","ref","_otherProps$fieldName","_otherProps$fieldName2","placeholder","maxTagCount","labelInValue","maxCount","overMaxCountMsg","disabled","allowClear","otherProps","_objectWithoutPropertiesLoose","_excluded","placeholderFt","isUndefinedOrNull","allowClearFt","dataSourceMapRef","useRef","treeDataListRef","labelKey","fieldNames","label","valueKey","value","_useState","useState","showValues","setShowValues","useEffect","_toArray","dataList","toArray","map","item","_dataSourceMapRef$cur","objItems","_isObject","current","onInnerChange","valueFt","length","undefined","isMultiple","onChange","message","error","onSelectChange","treeModalChange","onDataSourceChange","_hooks","useCallbackRef","treeDataList","mapData","result","target","filter","Boolean","useImperativeHandle","getDataSourceMap","dataSourceMap","_jsx","TreeModal","_extends","forceRender","children","Select","style","width","mode","open"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-modal-selector/selector.tsx"],"sourcesContent":["import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Select } from 'antd';\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { TreeModal } from '../tree-modal';\nimport type { TreeModalProps, TreeModelSelectItem } from '../tree-modal/types';\nexport type TreeModalSelectorProps = Omit<TreeModalProps, 'children' | 'forceRender' | 'onChange'> & {\n placeholder?: string;\n /**\n * 1. 可指定数量\n * 2. 可设置 responsive,一行自适应显示\n */\n maxTagCount?: number | 'responsive';\n /** 是否返回label+value模式 */\n labelInValue?: boolean;\n onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;\n\n /** 最大选择数量 */\n maxCount?: number;\n /** 超过最大选择数量提示文本 */\n overMaxCountMsg?: string;\n disabled?: boolean;\n allowClear?: boolean;\n};\n\nexport type TreeModalSelectorApi = {\n getDataSourceMap: () => {\n treeDataList: TPlainObject[];\n dataSourceMap: TPlainObject;\n };\n};\n\n/**\n * 树弹框选择器\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalSelector = forwardRef<TreeModalSelectorApi, TreeModalSelectorProps>((props, ref) => {\n const {\n placeholder,\n maxTagCount,\n labelInValue,\n maxCount,\n overMaxCountMsg,\n disabled,\n allowClear,\n ...otherProps\n } = props;\n const placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;\n const allowClearFt = isUndefinedOrNull(allowClear) ? true : allowClear;\n\n const dataSourceMapRef = useRef<TPlainObject>({});\n const treeDataListRef = useRef<TPlainObject[]>([]);\n\n const labelKey = otherProps.fieldNames?.label || 'label';\n const valueKey = otherProps.fieldNames?.value || 'value';\n\n const [showValues, setShowValues] = useState<TreeModelSelectItem[]>();\n\n useEffect(() => {\n const dataList =\n toArray(props.value)?.map((item) => {\n const objItems = (isObject(item) ? item : { label: item, value: item }) as TreeModelSelectItem;\n return {\n value: objItems.value,\n label: dataSourceMapRef.current[objItems.value]?.[labelKey] || objItems.value,\n } as TreeModelSelectItem;\n }) || [];\n setShowValues(dataList);\n }, [labelKey, props.value]);\n\n const onInnerChange = (value: TreeModelSelectItem[]) => {\n const valueFt = toArray(value).length ? value : undefined;\n if (otherProps.isMultiple == false) {\n props.onChange?.(valueFt?.[0]);\n } else {\n if (valueFt && maxCount !== undefined && valueFt.length > maxCount) {\n void message.error(overMaxCountMsg ? overMaxCountMsg : `最多选择${maxCount}项`);\n return;\n }\n\n props.onChange?.(valueFt);\n }\n };\n\n const onSelectChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n const treeModalChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n onInnerChange(value?.map((item) => item.value));\n };\n\n const onDataSourceChange = hooks.useCallbackRef((treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n treeDataListRef.current = treeDataList || [];\n const result = showValues\n ?.map((item) => {\n const target = mapData[item.value];\n return target ? { label: target[labelKey], value: target[valueKey] } : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setShowValues(result);\n });\n\n useImperativeHandle(ref, () => {\n return {\n getDataSourceMap: () => {\n return {\n treeDataList: treeDataListRef.current,\n dataSourceMap: dataSourceMapRef.current,\n };\n },\n };\n });\n\n return (\n <TreeModal\n {...otherProps}\n value={showValues}\n forceRender={true}\n onChange={treeModalChange}\n onDataSourceChange={onDataSourceChange}\n disabled={disabled}\n >\n <Select\n labelInValue\n style={{ width: '100%' }}\n placeholder={placeholderFt}\n maxTagCount={maxTagCount}\n mode={otherProps.isMultiple ? 'multiple' : undefined}\n open={false}\n value={showValues}\n onChange={onSelectChange}\n disabled={disabled}\n allowClear={allowClearFt}\n />\n </TreeModal>\n );\n});\n"],"names":["TreeModalSelector","forwardRef","props","ref","_otherProps$fieldName","_otherProps$fieldName2","placeholder","maxTagCount","labelInValue","maxCount","overMaxCountMsg","disabled","allowClear","otherProps","_objectWithoutPropertiesLoose","_excluded","placeholderFt","isUndefinedOrNull","allowClearFt","dataSourceMapRef","useRef","treeDataListRef","labelKey","fieldNames","label","valueKey","value","_useState","useState","showValues","setShowValues","useEffect","_toArray","dataList","toArray","map","item","_dataSourceMapRef$cur","objItems","_isObject","current","onInnerChange","valueFt","length","undefined","isMultiple","onChange","message","error","onSelectChange","treeModalChange","onDataSourceChange","_hooks","useCallbackRef","treeDataList","mapData","result","target","filter","Boolean","useImperativeHandle","getDataSourceMap","dataSourceMap","_jsx","TreeModal","_extends","forceRender","children","Select","style","width","mode","open"],"mappings":"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"}
|
|
@@ -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{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
|
|
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 w}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{RequestStatus as j}from"../request-status/index.js";import{Model as R}from"@dimjs/model-react";import{jsx as T}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"../index-636a568e.js";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";var x={treeSelectorList:[],treeSelectorTiledMap:{},queryIsEmpty:false};var k={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:x};var M={};var E=function e(r){if(!M[r]){M[r]=R(k)}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 R(x){var k=x.serviceConfig,M=x.effectDependencyList,I=x.onTreeSelectorListChange,O=x.onTreeSelectorRequestError,D=x.treeSelectorList,P=x.requestMessageConfig,V=x.modelKey,F=x.value,B=x.labelInValue,K=x.labelInValueFieldNames,H=x.onTreeItemDataAdapter,J=x.selectedParentCheckedAllChildrenList,W=J===void 0?true:J,_=x.fieldNames,z=x.onChange,G=x.treeDefaultExpandAll,Q=x.showAllOption,U=x.initRootExpand,X=x.treeDefaultExpandedKeys,Y=x.executeOnChangeInRenderFirstValue,Z=u(x,A);var $=Object.prototype.hasOwnProperty.call(x,"treeSelectorList");var ee=b((function(){return V||c()}),[V]);var re=k||{};var te=M||[];var ne=L.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=L.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,x.value]);var we=h(qe);L.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){x.onChange==null||x.onChange(e?e:undefined,r)}else{x.onChange==null||x.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]);L.useEffectCustom((function(){if(!pe.current&&qe.length>0){if(ce.treeSelectorList.length>0&&JSON.stringify(qe)!==JSON.stringify(we)){if(!be){var e=N(qe,ce.treeSelectorTiledMap);ue(e)}}}}),[qe,ce.treeSelectorList]);var Le=function e(r){return r===""||m(r)};var je=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 Re=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 Le(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=je(i);ae(false);window[de]=false;Te(o||[]);return u()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));l.useCustomCompareEffect((function(){if($)return;if(te.length){Te([]);void Re();return}var e=E(ee).getState();if(e.requestStatus==="request-success"){return}if(!window[de]){void Re();return}}),te,C);var Te=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)}));L.useEffectCustom((function(){if($){Te(D||[])}}),[D]);var xe=l.useCallbackRef((function(e){ue(e)}));var ke=l.useCallbackRef((function(){void Re()}));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 w(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 T(S,s({searchValue:be,dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:T(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:xe,style:s({width:"100%"},Z.style),suffixIcon:ce.requestStatus==="request-error"?T(e,{spin:le,onClick:ke}):undefined,notFoundContent:T(j,{status:ce.requestStatus,messageConfig:P,loading:le,errorButton:T(g,{type:"primary",onClick:ke,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 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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"}
|
|
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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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './../request-status/index.css';
|
|
3
|
+
import './../fba-hooks/index.css';
|
|
3
4
|
import './../button-operate/index.css';
|
|
4
5
|
import './../config-provider-wrapper/index.css';
|
|
5
|
-
import './../fba-hooks/index.css';
|
|
6
6
|
import './../types/index.css';
|
|
7
7
|
import './../fba-utils/index.css';
|
|
8
8
|
import './../button-wrapper/index.css';
|
|
@@ -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,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};
|
|
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 C}from"@dimjs/utils/cjs/get";import{_ as L,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{dequal as q}from"dequal";import{forwardRef as k,useMemo as x,useState as M,useRef as E,useImperativeHandle as D,Fragment as P,isValidElement as O}from"react";import{ButtonOperate as I}from"../button-operate/index.js";import{DropdownMenuWrapper as _}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as F}from"../fba-hooks/index.js";import{InputSearchWrapper as V}from"../input-search-wrapper/index.js";import{RequestStatus as K}from"../request-status/index.js";import{tree as U}from"@dimjs/utils/cjs/tree";import{isObject as z}from"@dimjs/lang/cjs/is-object";import{jsxs as H,jsx as J}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";import"../index-636a568e.js";import"../text-overflow/index.js";var B={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var Y={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:B};var G={};var W=function e(r){if(!G[r]){G[r]=v(Y)}return G[r]};var Q=function e(r){var t=W(r).getState();return t.treeList};var X=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 Z=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 $=function e(r,t){var n=a(r)?[]:r;n=f(n)?n:[n];n=n.map((function(e){if(z(e))return e[t.value];return e}));return n};var ee=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:re(i,d,t)}};var re=function r(t,n,a){var i;var l=a.value;var u=a.children;U.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 te=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 ne=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var ae=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=L({},u,o)}}));return r.filter((function(e){return!u[e]}))};var ie=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var le=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 ue=["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 se=function e(r,t){var n=r.slice().sort();var a=t.slice().sort();return JSON.stringify(n)===JSON.stringify(a)};var oe=k((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,d=e.value,v=e.onChange,k=e.modelKey,U=e.checkableResponseParentNode,z=U===void 0?true:U,B=e.checkable,Y=e.onSelectorTreeListChange,G=e.onRequestResponseChange,Q=e.treeItemDataAdapter,re=e.searchValue,oe=e.showSearch,ce=e.searchPlaceholder,de=e.requestMessageConfig,fe=e.labelInValueFieldNames,ve=e.labelInValue,pe=e.disabledCanUse,me=e.menuLayoutType,he=e.menuTriggerType,ge=e.initRootExpand,ye=e.searchResultType,be=e.onDropNodeHandle,Ce=e.onDropPrev,Le=e.labelRender,Te=e.searchStyle,je=e.className,we=e.defaultExpandAll,Ae=e.menus,Ne=e.customSearchRule,Re=e.checkableType,Se=e.clickParentNodeToggleExpand,qe=e.disableNodeSelect,ke=e.required,xe=e.executeOnChangeInRenderFirstValue,Me=T(e,ue);var Ee=j.useForceUpdate();var De=x((function(){return k||u()}),[k]);var Pe=e.hasOwnProperty("selectorTreeList");var Oe=n||{};var Ie=i||[];var _e=M([]),Fe=_e[0],Ve=_e[1];var Ke=W(De).useStore(),Ue=Ke[0],ze=Ke[1];var He=F.useSafeState(false),Je=He[0],Be=He[1];var Ye="request-progress-"+De;var Ge=ye==="highlight";var We=x((function(){return L({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Qe=me===undefined?"fold":me;var Xe=he===undefined?"click":he;var Ze=E(true);var $e=E(undefined);var er=x((function(){return L({label:"label",value:"value"},fe)}),[fe]);var rr=M(),tr=rr[0],nr=rr[1];var ar=x((function(){return $(d,er)}),[er,d]);F.useEffectCustom((function(){if(Ue.treeList.length>0){if(Ze.current&&ve&&xe&&ar.length>0){var r=[];var t=[];ar.forEach((function(e){var n=Ue.treeTiledArrayMap[e];if(n){var a;t.push(n);r.push((a={},a[er.label]=n[We.label],a[er.value]=n[We.value],a))}}));if(B){e.onChange==null||e.onChange(r?r:undefined,t)}else{e.onChange==null||e.onChange(r?r[0]:undefined,t[0])}}if(Ze.current&&ar.length===0){Ze.current=false;if(we){Ve(X(Ue.treeList,We));return}else if(ge&&Ue.treeList.length){Ve([Ue.treeList[0][We.value]]);return}}if(ar.length>0){Ze.current=false;if($e.current){if(!se(ar,$e.current)){var n=or(ar,true);Ve(Array.from(new Set(Fe==null?void 0:Fe.concat(n))))}}else{var a=or(ar,true);Ve(Array.from(new Set(Fe==null?void 0:Fe.concat(a))))}}}}),[Ue.treeList,JSON.stringify(ar)]);var ir=function e(r){return r===""||a(r)};var lr=function e(r){var t=r;if(Oe.onRequestResultAdapter){t=Oe.onRequestResultAdapter(r)}else if(We.list){t=C(r,We.list,[])||[]}if(!f(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};F.useEffectCustom((function(){nr(re)}),[re]);var ur=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{Ze.current=false;Be(false);void S.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Oe.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Oe.requiredParamsKeys;n=b({},Oe.params);if(t){a=t.find((function(e){return ir(n[e])}));if(a){void ze.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[Ye]=false;Be(false);void ze.changeRequestStatus({status:"request-error",errorMessage:e.message});return o()}catch(e){return s(e)}};try{Be(true);return Promise.resolve(ze.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Ye]=true;return Promise.resolve(Oe.onRequest==null?void 0:Oe.onRequest(n)).then((function(e){try{i=e;G==null||G(i);l=lr(i);if(l.length===0){Ze.current=false}sr(l);Be(false);window[Ye]=false;return o()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){s(e)}}))}));j.useCustomCompareEffect((function(){if(Pe)return;if(Ie.length){void ur();return}var e=W(De).getState();if(e.requestStatus==="request-success"){Y==null||Y(e.treeList);return}if(!window[Ye]){void ur()}else{Y==null||Y(e.treeList)}}),Ie,q);F.useEffectCustom((function(){if(Pe){sr(l||[])}}),[l]);var sr=j.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ue.treeList.length===0){void ze.changeRequestStatus({status:"request-success"});return}void ze.setTreeList({treeList:e||[],childrenName:We.children,valueName:We.value});Y==null||Y(e)}));var or=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Fe!=null&&Fe.includes(e))return;var r=Z(e,Ue.treeList,We);n=n.concat(r)}));return n};j.useUpdateEffect((function(){if(tr){var e=Ue.treeTiledArray.filter((function(e){var r=e[We.label]||"";if(Ne){return Ne(e,tr)}return String(r).toLowerCase().includes(tr.toLowerCase())}));var r=or(e.map((function(e){return e[We.value]})),true);Ve(Array.from(new Set(r)))}else{Ve([])}}),[tr]);D(r,(function(){return{onClearSelectorList:function e(){void ze.resetTreeList()},getTreeDataList:function e(){return Ue.treeList},getTreeTiledArray:function e(){return Ue.treeTiledArray},getTreeTiledArrayMap:function e(){return Ue.treeTiledArrayMap},onChangeExpandedKeys:function e(r){Ve(r)},onSelectAll:function e(){var r=Ue.treeTiledArray.map((function(e){return e[We.value]}));Ve(r);v==null||v(r,undefined,Ue.treeList,undefined)},onCancelSelectAll:function e(){Ve([]);v==null||v(undefined)},onExpandedAll:function e(){var r=Ue.treeTiledArray.map((function(e){return e[We.value]}));Ve(r)},onCancelExpandedAll:function e(){Ve([])},onRefresh:function e(){Ee()}}}));var cr=j.useCallbackRef((function(e){Ve(e)}));var dr=function r(t,n,a,i){$e.current=s(t);if(s(t).length===0){var l=i==null?void 0:i.node[We.value];var u=Ue.treeTiledArrayMap[l];e.onChange==null||e.onChange(undefined,u,[u],i)}else{e.onChange==null||e.onChange(t,n,a,i)}};var fr=j.useCallbackRef((function(r,t){var n=[];var a=[];if(B){n=e.checkStrictly?r.checked:r}else{n=r;if(ke&&!s(r).length){return}if(qe){var i=Ue.treeTiledArrayMap[r[0]];var l=i?qe(i):false;if(l){return}}}n=s(n);if(!B){a=n}else{if(oe&&tr&&!Ge){var u=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=ar.filter((function(e){return e!=u[We.value]}))}else{n=Array.from(new Set([].concat(ar,n)))}a=n}else{var o=Re==="2"||Re==="3"?le(ar,Ue.treeTiledArrayMap,We.children,We.value):ar;if(t.checked==false){n=ne([].concat(o),u,We.children,We.value)}else{n=Array.from(new Set([].concat(o,n)))}a=te(n,Ue.treeTiledArrayMap,We.children,We.value)}}else{a=n}if(!e.checkStrictly){if(Re==="2"){n=ie(a,Ue.treeTiledArrayMap,We.children)}else if(Re==="3"){n=ae(a,Ue.treeTiledArrayMap,We.children,We.value)}else if(z==false){n=ie(a,Ue.treeTiledArrayMap,We.children)}else{n=a}}}var c=a.map((function(e){return Ue.treeTiledArrayMap[e]}));if(ve){var d=er.value;var f=er.label;var v=n.map((function(e){var r;return r={},r[f]=Ue.treeTiledArrayMap[e][We.label],r[d]=Ue.treeTiledArrayMap[e][We.value],r}));if(B){dr(v,n.map((function(e){return Ue.treeTiledArrayMap[e]})),c,t)}else{dr(v[0],Ue.treeTiledArrayMap[n[0]],c,t)}}else{if(B){dr(n,n.map((function(e){return Ue.treeTiledArrayMap[e]})),c,t)}else{dr(n[0],Ue.treeTiledArrayMap[n[0]],c,t)}}}));var vr=j.useCallbackRef((function(e){return Q==null?void 0:Q(e)}));var pr=x((function(){var e=w(Ue.treeList||[]);if(tr&&ye!=="highlight"){var r=o(w(Ue.treeList||[]),(function(e){var r;if(Ne){return Ne(e,tr)}var t=(r=e[We.label])==null?void 0:r.toLowerCase();return t.indexOf(tr.toLowerCase())>=0}),{childrenName:We.children});return r}return e}),[Ne,We.children,We.label,ye,Ue.treeList,tr]);var mr=x((function(){var e=function r(t){return t==null?void 0:t.map((function(r){var t;var n=(vr==null?void 0:vr(r))||r;var a=pe?undefined:n.disabled;var i=n[We.label]||"";var l;if(tr&&y(i)){var u=i==null?void 0:i.toLowerCase();var s=u.indexOf(tr.toLowerCase());var o=i.substring(0,s);var c=i.slice(s+tr.length);var d=i.slice(s,s+tr.length);l=s>-1?H("span",{className:g({"v-tree-item-disabled":n.disabled}),children:[o,J("span",{className:"site-tree-search-value",children:d}),c]}):null}if(!l&&n.disabled){l=J("span",{className:g({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[We.children];return L({},n,(t={disabled:a},t[We.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[We.children]=f(v)&&v.length>0?e(v):undefined,t))}))};return e(pr)}),[pr,vr,pe,We.label,We.children,tr]);var hr=j.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o,c;if(r[We.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 ze.treeListAppendChildren({value:r[We.value],appendList:c,childrenName:We.children,valueName:We.value}).then((function(e){sr(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var gr=j.useCallbackRef((function(r){var t=r==null?void 0:r[We.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var yr=j.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[We.label];var l=Ae==null?void 0:Ae(L({},r,(t={},t[We.label]=i,t)));if(l!=null&&l.operateList.length){return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),J(I,L({gap:5},l,{dropdownMenuProps:L({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:g("tree-item-title-operate",l.className)}))]})}if(Qe==="fold"){var u;var s=[];if((u=e.menuOptions)!=null&&u.fold){var o,c,d;s=((o=e.menuOptions)==null||(c=o[Qe])==null?void 0:c.call(o,L({},r,(d={},d[We.label]=i,d))))||[]}else{var f;s=(e.getMenuOptions==null?void 0:e.getMenuOptions(L({},r,(f={},f[We.label]=i,f))))||[]}return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),s.length>0&&J(_,{menuList:s,placement:"bottomRight",children:J(h,{})})]})}var v=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(L({},r,(a={},a[We.label]=i,a)));return H(P,{children:[J("span",{className:"tree-item-title","data-value":r[We.value],children:(Le==null?void 0:Le(r))||(r==null?void 0:r[We.label])}),v?J(I,L({gap:5},v,{className:g("tree-item-title-operate",v.className)})):null]})}));var br=j.useDebounceCallback((function(r){nr(r);e.onSearchValueChange==null||e.onSearchValueChange(r)}),300);var Cr=j.useCallbackRef((function(e){br(e.target.value)}));var Lr=j.useCallbackRef((function(r){if(!e.icon)return null;if(O(e.icon))return e.icon;var t=gr(r.data);return e.icon(L({},r,{isParent:!t,isLeaf:t}))}));var Tr=x((function(){return{title:We.label,key:We.value,children:We.children}}),[We]);var jr=mr.length>0&&Ue.requestStatus!=="request-error";var wr=L({showLine:{showLeafIcon:false},titleRender:yr,blockNode:true,switcherIcon:J(m,{}),onDrop:function e(r){if(Ce){var t=Ce(r);if(!t)return}var n=ee(pr,We,r),a=n.dataList,i=n.dragNodeData;be==null||be(i);sr(a)},expandedKeys:Fe},Me,{fieldNames:Tr,treeData:mr,onExpand:cr,loadData:e.loadDataFlag?hr:undefined,style:{width:"100%"},icon:Lr,onClick:function r(t){if(Se){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=Fe.includes(i)}else{var u;var s=Ue.treeTiledArrayMap[i];if(!(s!=null&&(u=s[We.children])!=null&&u.length)){return}l=Fe.includes(i)}if(l){var o=p.arrayRemove(Fe,i);Ve([].concat(o))}else{Ve([].concat(Fe,[i]))}}}}});var Ar={onCheck:fr,checkable:B,checkedKeys:ar};var Nr={onSelect:fr,multiple:false,selectedKeys:ar};var Rr=B?Ar:Nr;var Sr=g("v-tree-wrapper","v-tree-wrapper-menu-"+Xe,je);var qr=Ue.treeList.length>0&&!jr&&tr;return H("div",{className:Sr,style:t,children:[!!oe&&H("div",{className:"v-tree-wrapper-search-area",style:Te,children:[J(V,{className:"v-tree-wrapper-search",placeholder:a(ce)?"搜索":ce,onChange:Cr,value:tr,allowClear:true}),!!e.searchExtraElement&&J("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),jr?H("div",{className:"v-tree-wrapper-tree-wrapper",children:[J(A,{spinning:Ue.requestStatus==="request-progress"}),J(N,L({},Rr,wr,{className:"v-tree-wrapper-tree"}))]}):J(K,{status:Ue.requestStatus,loading:Je,messageConfig:L({"request-success":qr?"搜索结果为空":"暂无数据","request-error":Ue.requestErrorMessage},de),errorButton:J(R,{type:"primary",onClick:ur,children:"重新获取数据"})})]})}));var ce=d(oe,{getTreeDataList:Q});export{ce as TreeWrapper};
|
|
17
17
|
//# sourceMappingURL=index.js.map
|