@flatbiz/antd 4.2.85 → 4.2.87

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.
Files changed (68) hide show
  1. package/esm/button-operate/index.js +2 -1
  2. package/esm/button-operate/index.js.map +1 -1
  3. package/esm/button-wrapper/index.js +2 -1
  4. package/esm/button-wrapper/index.js.map +1 -1
  5. package/esm/card-wrapper/index.css +1 -0
  6. package/esm/card-wrapper/index.js +5 -0
  7. package/esm/card-wrapper/index.js.map +1 -0
  8. package/esm/config-provider-wrapper/index.js +2 -1
  9. package/esm/config-provider-wrapper/index.js.map +1 -1
  10. package/esm/create-drawer-wrapper-model/index.js.map +1 -1
  11. package/esm/create-modal-wrapper-model/index.js.map +1 -1
  12. package/esm/dialog-alert/index.js +2 -1
  13. package/esm/dialog-alert/index.js.map +1 -1
  14. package/esm/dialog-confirm/index.js +2 -1
  15. package/esm/dialog-confirm/index.js.map +1 -1
  16. package/esm/dialog-drawer/index.js +2 -1
  17. package/esm/dialog-drawer/index.js.map +1 -1
  18. package/esm/dialog-drawer-content/index.js +2 -1
  19. package/esm/dialog-drawer-content/index.js.map +1 -1
  20. package/esm/dialog-loading/index.js.map +1 -1
  21. package/esm/dialog-modal/index.js +2 -1
  22. package/esm/dialog-modal/index.js.map +1 -1
  23. package/esm/drawer-wrapper/index.js.map +1 -1
  24. package/esm/dropdown-menu-wrapper/index.js +2 -1
  25. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  26. package/esm/easy-table/index.js +2 -1
  27. package/esm/easy-table/index.js.map +1 -1
  28. package/esm/editable-table/index.js +10 -1
  29. package/esm/editable-table/index.js.map +1 -1
  30. package/esm/fba-app/index.css +1 -1
  31. package/esm/fba-app/index.js +3 -1
  32. package/esm/fba-app/index.js.map +1 -1
  33. package/esm/fba-hooks/index.js +1 -1
  34. package/esm/fba-hooks/index.js.map +1 -1
  35. package/esm/flex-layout/index.js.map +1 -1
  36. package/esm/index-ac189a77.js +3 -0
  37. package/esm/index-ac189a77.js.map +1 -0
  38. package/esm/index.js +6 -5
  39. package/esm/label-value-layout/index.css +1 -1
  40. package/esm/label-value-layout/index.js +1 -1
  41. package/esm/label-value-layout/index.js.map +1 -1
  42. package/esm/local-loading/index.js.map +1 -1
  43. package/esm/pre-defined-class-name/index.css +1 -1
  44. package/esm/rich-text-editor/index.js +1 -1
  45. package/esm/rich-text-editor/index.js.map +1 -1
  46. package/esm/rule-describe/index.js +1 -1
  47. package/esm/rule-describe/index.js.map +1 -1
  48. package/esm/selector-wrapper/index.js +1 -1
  49. package/esm/selector-wrapper/index.js.map +1 -1
  50. package/esm/simple-layout/index.css +1 -1
  51. package/esm/simple-layout/index.js.map +1 -1
  52. package/esm/table-cell-render/index.js +2 -1
  53. package/esm/table-cell-render/index.js.map +1 -1
  54. package/esm/tag-list-select/index.js +1 -1
  55. package/esm/tag-list-select/index.js.map +1 -1
  56. package/esm/text-css-ellipsis/index.css +1 -1
  57. package/esm/text-css-ellipsis/index.js +1 -1
  58. package/esm/text-css-ellipsis/index.js.map +1 -1
  59. package/esm/text-overflow-render/index.js +2 -1
  60. package/esm/text-overflow-render/index.js.map +1 -1
  61. package/esm/tips-title/index.css +1 -1
  62. package/esm/tree-selector-wrapper/index.js.map +1 -1
  63. package/esm/tree-wrapper/index.css +1 -1
  64. package/esm/tree-wrapper/index.js +2 -1
  65. package/esm/tree-wrapper/index.js.map +1 -1
  66. package/esm/types/index.js.map +1 -1
  67. package/index.d.ts +208 -121
  68. package/package.json +4 -3
@@ -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/tree-selector-wrapper.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 treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\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.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\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","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, TPlainObject, treeToArray, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } 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> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\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 * @deprecated 已过期,请使用onChange\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 onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\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 数据适配器\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 * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\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 onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\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 { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\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 isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\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 (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\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 treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\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 const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n // const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n // if (!item) return undefined;\n // return {\n // label: item?.[labelInValueFieldNamesMerge.label],\n // value: item?.[labelInValueFieldNamesMerge.value],\n // disabled: item?.['disabled'],\n // };\n // });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\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 const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n rawData: item,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[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 /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const valueList = labelInValue\n ? getVauleList(value, labelInValueFieldNamesMerge)\n : getVauleList(value, fieldNamesMerge);\n if (valueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return valueList.map((item) => ({ label: item, value: item }));\n }\n return valueList.map((value) => {\n const target = arrayFind(state.treeSelectorTiledArray, value as string, fieldNamesMerge.value);\n const targetParseItem = parseDataSourceItem(target) as TPlainObject;\n return {\n label: getValueOrDefault(targetParseItem?.label, value),\n value: getValueOrDefault(targetParseItem?.value, value),\n };\n });\n }\n return valueList;\n }, [\n labelInValue,\n value,\n labelInValueFieldNamesMerge,\n fieldNamesMerge,\n otherProps.treeCheckStrictly,\n state.treeSelectorTiledArray,\n parseDataSourceItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\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={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\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","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","rawData","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","targetParseItem","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","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/tree-selector-wrapper.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 treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\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.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\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","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, TPlainObject, treeToArray, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } 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> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\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 * @deprecated 已过期,请使用onChange\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 onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\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 * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\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 onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\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 { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\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 isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\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 (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\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 treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\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 const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n // const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n // if (!item) return undefined;\n // return {\n // label: item?.[labelInValueFieldNamesMerge.label],\n // value: item?.[labelInValueFieldNamesMerge.value],\n // disabled: item?.['disabled'],\n // };\n // });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\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 const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n rawData: item,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[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 /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const valueList = labelInValue\n ? getVauleList(value, labelInValueFieldNamesMerge)\n : getVauleList(value, fieldNamesMerge);\n if (valueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return valueList.map((item) => ({ label: item, value: item }));\n }\n return valueList.map((value) => {\n const target = arrayFind(state.treeSelectorTiledArray, value as string, fieldNamesMerge.value);\n const targetParseItem = parseDataSourceItem(target) as TPlainObject;\n return {\n label: getValueOrDefault(targetParseItem?.label, value),\n value: getValueOrDefault(targetParseItem?.value, value),\n };\n });\n }\n return valueList;\n }, [\n labelInValue,\n value,\n labelInValueFieldNamesMerge,\n fieldNamesMerge,\n otherProps.treeCheckStrictly,\n state.treeSelectorTiledArray,\n parseDataSourceItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\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={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\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","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","rawData","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","targetParseItem","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -1 +1 @@
1
- .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree-list-holder-inner{overflow:hidden}.v-tree-wrapper-loading{left:50%;position:absolute;top:50%;z-index:9}.v-tree-wrapper-search{flex:1}.v-tree-wrapper-tree-wrapper{flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree-wrapper>.ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.v-tree-wrapper-tree{height:100%;overflow:auto;position:relative}.v-tree-wrapper-tree .ant-tree-title{align-items:center;display:flex;flex:1;position:relative}.v-tree-wrapper-tree .tree-item-title{flex:1;margin-right:5px}.v-tree-wrapper-tree .anticon-more{display:none;font-weight:700}.v-tree-wrapper-tree .tree-item-title-operate{display:none}.v-tree-wrapper-tree .ant-tree-node-selected .anticon-more,.v-tree-wrapper-tree .ant-tree-node-selected .tree-item-title-operate{display:block}.v-tree-wrapper-tree .ant-tree-node-content-wrapper{display:flex}.tree-wrapper-empty{position:relative}.tree-wrapper-empty .ant-empty{margin:8px 0}.tree-wrapper-empty .ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-tree-search-value{color:red}.v-tree-item-disabled{opacity:.5}.tree-item-title-operate .ant-btn{height:auto;padding:0 3px;width:auto}.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .anticon-more,.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .tree-item-title-operate{display:block}.v-tree-wrapper-search-area{align-items:center;display:flex;margin-bottom:12px}.v-tree-wrapper-search-extra{margin-left:12px}
1
+ .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree-list-holder-inner{overflow:hidden}.v-tree-wrapper-loading{left:50%;position:absolute;top:50%;z-index:9}.v-tree-wrapper-search{flex:1}.v-tree-wrapper-tree-wrapper{flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree-wrapper>.ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.v-tree-wrapper-tree{height:100%;overflow:auto;position:relative}.v-tree-wrapper-tree .ant-tree-title{align-items:center;display:flex;flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree .tree-item-title{display:inline-flex;flex:1;overflow:hidden;padding:1px 0}.v-tree-wrapper-tree .anticon-more{display:none;font-weight:700}.v-tree-wrapper-tree .tree-item-title-operate{display:none;margin-left:5px}.v-tree-wrapper-tree .ant-tree-node-selected .anticon-more,.v-tree-wrapper-tree .ant-tree-node-selected .tree-item-title-operate{display:inline-flex}.v-tree-wrapper-tree .ant-tree-node-content-wrapper{display:flex;overflow:hidden}.tree-wrapper-empty{position:relative}.tree-wrapper-empty .ant-empty{margin:8px 0}.tree-wrapper-empty .ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-tree-search-value{color:red}.v-tree-item-disabled{opacity:.5}.tree-item-title-operate .ant-btn{height:auto;padding:0 3px;width:auto}.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .anticon-more,.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .tree-item-title-operate{display:inline-flex}.v-tree-wrapper-search-area{align-items:center;display:flex;margin-bottom:12px}.v-tree-wrapper-search-extra{margin-left:12px}
@@ -4,6 +4,7 @@ import './../button-operate/index.css';
4
4
  import './../button-wrapper/index.css';
5
5
  import './../config-provider-wrapper/index.css';
6
6
  import './../fba-hooks/index.css';
7
+ import './../types/index.css';
7
8
  import './../fba-utils/index.css';
8
9
  import './../dropdown-menu-wrapper/index.css';
9
10
  import './../dialog-confirm/index.css';
@@ -12,5 +13,5 @@ import './../flex-layout/index.css';
12
13
  import './../input-search-wrapper/index.css';
13
14
  import './index.css';
14
15
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as v}from"@wove/react/cjs/hooks";import{a as f,_ as p}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as b,message as y}from"antd";import{forwardRef as L,useState as w,useMemo as C,useRef as j,useImperativeHandle as N,Fragment as R,isValidElement as q}from"react";import{ButtonOperate as k}from"../button-operate/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as S}from"../fba-hooks/index.js";import{InputSearchWrapper as T}from"../input-search-wrapper/index.js";import{RequestStatus as P}from"../request-status/index.js";import{tree as D}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as A,jsx as _}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.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"../use-responsive-point-21b8c601.js";var I={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:I};var V={};var F=function e(r){if(!V[r]){V[r]=s(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function e(n,a,i){var l=r(a,i);return t(n,l,true,{value:"value",parentValue:"parentValue"})};var U=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(E(e))return e[t.value];return e}));return a};var z=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(s===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function r(t,n,a){var i;var l=a.value;var s=a.children;D.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var H=["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"];var Y=L((function(t,i){var s=t.style,L=t.serviceConfig,D=t.effectDependencyList,E=t.selectorTreeList,I=t.value,O=t.onChange,V=t.modelKey,K=t.checkableResponseParentNode,B=K===void 0?true:K,Y=t.checkable,G=t.onSelectorTreeListChange,W=t.onRequestResponseChange,J=t.treeItemDataAdapter,Q=t.searchValue,X=t.showSearch,Z=t.searchPlaceholder,$=t.requestMessageConfig,ee=t.labelInValueFieldNames,re=t.labelInValue,te=t.disabledCanUse,ne=t.menuLayoutType,ae=t.menuTriggerType,ie=t.initRootExpand,le=t.searchResultType,se=t.onDropNodeHandle,oe=t.onDropPrev,ue=t.labelRender,ce=t.searchStyle,de=t.className,ve=t.defaultExpandAll,fe=t.menus,pe=f(t,H);var me=t.hasOwnProperty("selectorTreeList");var he=L||{};var ge=D||[];var be=w([]),ye=be[0],Le=be[1];var we=F(V).useStore(),Ce=we[0],je=we[1];var Ne=S.useSafeState(false),Re=Ne[0],qe=Ne[1];var ke="request-progress-"+t.modelKey;var xe=C((function(){return p({label:"label",value:"value",children:"children"},t.fieldNames)}),[t.fieldNames]);var Se=ne===undefined?"fold":ne;var Te=ae===undefined?"click":ae;var Pe=j(true);var De=C((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Ee=w(),Ae=Ee[0],_e=Ee[1];var Ie=j();var Oe=C((function(){var e=U(I,De);return e}),[De,I]);S.useEffectCustom((function(){if(Ce.treeList.length>0){if(Pe.current){Pe.current=false;if(ve){var r=e(Ce.treeList,xe.children).map((function(e){return e[xe.value]}));Le(r);return}else if(ie&&Ce.treeList.length){Le([Ce.treeList[0][xe.value]]);return}}if(!n(I)){var t=Ue(Oe,true);Le(Array.from(new Set(ye==null?void 0:ye.concat(t))))}}}),[I,Ce.treeList,Oe]);var Ve=function e(r){return r===""||n(r)};var Fe=function e(r){var t=he.onRequestResultAdapter?he.onRequestResultAdapter(r):r;return t};S.useEffectCustom((function(){_e(Q)}),[Q]);var Ke=v.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{Pe.current=false;qe(false);void y.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var v=function(e){try{window[ke]=false;qe(false);void je.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(je.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){Pe.current=false}Me(s);qe(false);window[ke]=false;return c()}catch(e){return v(e)}}),v)}catch(e){return v(e)}}),v)}catch(e){v(e)}}catch(e){u(e)}}))}));S.useEffectCustom((function(){if(me)return;if(Boolean(ge.length)){void Ke();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[ke]){void Ke()}else{G==null?void 0:G(e.treeList)}}),ge);S.useEffectCustom((function(){if(me){Me(E||[])}}),[E]);var Me=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ce.treeList.length===0){void je.changeRequestStatus("request-success");return}void je.setTreeList({treeList:e||[],childrenName:xe.children});G==null?void 0:G(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,Ce.treeList,xe);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ae){var e=r(Ce.treeList||[],xe);var t=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));Le((function(e){var r=Ue(t.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(r))}))}else{Le([])}}),[Ae]);N(i,(function(){return{onClearSelectorList:function e(){void je.resetTreeList()},getTreeDataList:function e(){return Ce.treeList},onChangeExpandedKeys:function e(r){Le(r)}}}));var ze=v.useCallbackRef((function(e){Le(e)}));var Be=v.useCallbackRef((function(e,r,t,a){Ie.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){O==null?void 0:O(e,r,t);return}if(re){var s=De.label;var o=De.value;var u=i.map((function(e){var r;return r={},r[s]=e[xe.label],r[o]=e[xe.value],r}));if(l(e)){O==null?void 0:O(u,i,t,a)}else{O==null?void 0:O(u[0],i[0],t,a)}}else{if(l(e)){O==null?void 0:O(e,i,t,a)}else{O==null?void 0:O(e,i[0],t,a)}}}));var He=v.useCallbackRef((function(e,r){var a=n(e)?[]:e;a=t.checkStrictly?e.checked:e;a=l(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var r=Ce.treeTiledArray.find((function(r){return r[xe.value]===e}));if(!r)return;var t=r==null?void 0:r[xe.children];if(!l(t)||t.length===0){i.push(r);s.push(r[xe.value])}o.push(r);u.push(r[xe.value])}));if(Y){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!t.checkStrictly){Be(s,i,o,r)}else{Be(u,o,o,r)}}else{if(a[0]){var c=o.find((function(e){return e[xe.value]===a[0]}));Be(a[0],c,[c],r)}else{var d=r.node[xe.value];var v=Ce.treeTiledArray.find((function(e){return e[xe.value]===d}));Be(undefined,v,[v],r)}}}));var Ye=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=C((function(){var e=m(Ce.treeList||[]);if(Ae&&le!=="highlight"){return a(m(Ce.treeList||[]),(function(e){var r;var t=(r=e[xe.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:xe.children})}return e}),[xe.children,xe.label,le,Ce.treeList,Ae]);var We=C((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t,n;var a=(Ye==null?void 0:Ye(r))||r;var i=te?undefined:a.disabled;var s=(t=a[xe.label])==null?void 0:t.toLowerCase();var o;if(Ae){var u=s.indexOf(Ae.toLowerCase());var d=s.substring(0,u);var v=s.slice(u+Ae.length);var f=s.slice(u,u+Ae.length);o=u>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[d,_("span",{className:"site-tree-search-value",children:f}),v]}):null}if(!o&&a.disabled){o=_("span",{className:c({"v-tree-item-disabled":a.disabled}),children:s})}var m=a[xe.children];return p({},a,(n={disabled:i},n[xe.label]=o||s,n._treeItemName=s,n._disabled=a.disabled,n[xe.children]=l(m)&&m.length>0?e(m):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,xe.label,xe.children,Ae]);var Je=v.useCallbackRef((function(e){return new Promise((function(r,n){return new Promise((function(a,i){var l,s,o,u;if(e[xe.children]){r();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void y.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=t.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=t.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(e))||{})).then((function(t){try{o=t;u=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void je.treeListAppendChildren({value:e[xe.value],appendList:u,childrenName:xe.children,valueName:xe.value}).then((function(e){Me(e.treeList);r()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=v.useCallbackRef((function(e){var r=e==null?void 0:e[xe.children];var n=t.loadDataFlag;var a=n?!e.isLeaf:false;var i=r&&r.length>0||a;return!i}));var Xe=v.useCallbackRef((function(e){var r,n,a;var i=e._treeItemName||e[xe.label];var l=fe==null?void 0:fe(p({},e,(r={},r[xe.label]=i,r)));if(l){return A(R,{children:[_("span",{className:"tree-item-title",children:(ue==null?void 0:ue(e))||(e==null?void 0:e[xe.label])}),_(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Se==="fold"){var s;var o=[];if((s=t.menuOptions)!=null&&s.fold){var d,v,f;o=((d=t.menuOptions)==null||(v=d[Se])==null?void 0:v.call(d,p({},e,(f={},f[xe.label]=i,f))))||[]}else{var m;o=(t.getMenuOptions==null?void 0:t.getMenuOptions(p({},e,(m={},m[xe.label]=i,m))))||[]}return A(R,{children:[_("span",{className:"tree-item-title",children:(ue==null?void 0:ue(e))||(e==null?void 0:e[xe.label])}),o.length>0&&_(x,{menuList:o,placement:"bottomRight",children:_(u,{})})]})}var h=(n=t.menuOptions)==null||n.tile==null?void 0:n.tile(p({},e,(a={},a[xe.label]=i,a)));return A(R,{children:[_("span",{className:"tree-item-title",children:(ue==null?void 0:ue(e))||(e==null?void 0:e[xe.label])}),h?_(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=v.useDebounceCallback((function(e){_e(e);t.onSearchValueChange==null?void 0:t.onSearchValueChange(e)}),300);var $e=v.useCallbackRef((function(e){Ze(e.target.value)}));var er=v.useCallbackRef((function(e){if(!t.icon)return null;if(q(t.icon))return t.icon;var r=Qe(e.data);return t.icon(p({},e,{isParent:!r,isLeaf:r}))}));var rr=C((function(){return{title:xe.label,key:xe.value,children:xe.children}}),[xe]);var tr=We.length>0&&Ce.requestStatus!=="request-error";var nr=p({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:_(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,xe,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:ye},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:t.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:He,checkable:Y,checkedKeys:Oe};var ir={onSelect:He,multiple:false,selectedKeys:Oe};var lr=Y?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Te,de);var or=Ce.treeList.length>0&&!tr&&Ae;return A("div",{className:sr,style:s,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[_(T,{className:"v-tree-wrapper-search",placeholder:Z,onChange:$e,value:Q,allowClear:true}),!!t.searchExtraElement&&_("span",{className:"v-tree-wrapper-search-extra",children:t.searchExtraElement})]}),tr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[_(h,{spinning:Ce.requestStatus==="request-progress"}),_(g,p({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):_(P,{status:Ce.requestStatus,loading:Re,messageConfig:p({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:_(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));Y.defaultProps={disabledCanUse:true};var G=i(Y,{getTreeDataList:K});export{G as TreeWrapper};
16
+ import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{get as v}from"@dimjs/utils/cjs/get";import{a as p,_ as m}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as w,useState as j,useMemo as C,useRef as N,useImperativeHandle as R,Fragment as q,isValidElement as k}from"react";import{ButtonOperate as x}from"../button-operate/index.js";import{DropdownMenuWrapper as S}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{InputSearchWrapper as P}from"../input-search-wrapper/index.js";import{RequestStatus as D}from"../request-status/index.js";import{tree as A}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as _,jsx as I}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.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"../index-ac189a77.js";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"../use-responsive-point-21b8c601.js";var O={treeList:[],treeTiledArray:[],queryIsEmpty:false};var V={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[];e.treeTiledArray=[]}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:O};var F={};var K=function e(r){if(!F[r]){F[r]=s(V)}return F[r]};var M=function e(r){var t=K(r).getState();return t.treeList};var U=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(n,a,i){var l=r(a,i);return t(n,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 H=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(E(e))return e[t.value];return e}));return a};var B=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=h(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function r(t,n,a){var i;var l=a.value;var s=a.children;A.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var G=["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"];var W=w((function(e,r){var t=e.style,i=e.serviceConfig,s=e.effectDependencyList,w=e.selectorTreeList,A=e.value,E=e.onChange,O=e.modelKey,V=e.checkableResponseParentNode,F=V===void 0?true:V,M=e.checkable,Y=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,fe=e.defaultExpandAll,ve=e.menus,pe=p(e,G);var me=e.hasOwnProperty("selectorTreeList");var he=i||{};var ge=s||[];var ye=j([]),be=ye[0],Le=ye[1];var we=K(O).useStore(),je=we[0],Ce=we[1];var Ne=T.useSafeState(false),Re=Ne[0],qe=Ne[1];var ke="request-progress-"+e.modelKey;var xe=C((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Se=ne===undefined?"fold":ne;var Te=ae===undefined?"click":ae;var Pe=N(true);var De=C((function(){return m({label:"label",value:"value"},ee)}),[ee]);var Ae=j(),Ee=Ae[0],_e=Ae[1];var Ie=N();var Oe=C((function(){return H(A,De)}),[De,A]);T.useEffectCustom((function(){if(je.treeList.length>0){if(Pe.current){Pe.current=false;if(fe){Le(U(je.treeList,xe));return}else if(ie&&je.treeList.length){Le([je.treeList[0][xe.value]]);return}}if(!n(A)){var e=Ue(Oe,true);Le(Array.from(new Set(be==null?void 0:be.concat(e))))}}}),[A,je.treeList,Oe]);var Ve=function e(r){return r===""||n(r)};var Fe=function e(r){if(he.onRequestResultAdapter){return he.onRequestResultAdapter(r)}if(xe.list){return v(r,xe.list,[])||[]}if(!l(r)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return r};T.useEffectCustom((function(){_e(Q)}),[Q]);var Ke=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{Pe.current=false;qe(false);void L.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var f=function(e){try{window[ke]=false;qe(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){Pe.current=false}Me(s);qe(false);window[ke]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(me)return;if(ge.length){void Ke();return}var e=K(O).getState();if(e.requestStatus==="request-success"){Y==null?void 0:Y(e.treeList);return}if(!window[ke]){void Ke()}else{Y==null?void 0:Y(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(w||[])}}),[w]);var Me=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&je.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:xe.children});Y==null?void 0:Y(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&be!=null&&be.includes(e))return;var r=z(e,je.treeList,xe);n=n.concat(r)}));return n};f.useUpdateEffect((function(){if(Ee){var e=je.treeTiledArray.filter((function(e){var r=e[xe.label]||"";return String(r).toLowerCase().includes(Ee.toLowerCase())}));Le((function(r){var t=e.map((function(e){return e[xe.value]})).concat(r||[]);var n=Ue(t);return Array.from(new Set(n))}))}else{Le([])}}),[Ee]);R(r,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return je.treeList},onChangeExpandedKeys:function e(r){Le(r)}}}));var ze=f.useCallbackRef((function(e){Le(e)}));var He=f.useCallbackRef((function(e,r,t,a){Ie.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){E==null?void 0:E(e,r,t);return}if(re){var s=De.label;var o=De.value;var u=i.map((function(e){var r;return r={},r[s]=e[xe.label],r[o]=e[xe.value],r}));if(l(e)){E==null?void 0:E(u,i,t,a)}else{E==null?void 0:E(u[0],i[0],t,a)}}else{if(l(e)){E==null?void 0:E(e,i,t,a)}else{E==null?void 0:E(e,i[0],t,a)}}}));var Be=f.useCallbackRef((function(r,t){var a=n(r)?[]:r;a=e.checkStrictly?r.checked:r;a=l(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var r=je.treeTiledArray.find((function(r){return r[xe.value]===e}));if(!r)return;var t=r==null?void 0:r[xe.children];if(!l(t)||t.length===0){i.push(r);s.push(r[xe.value])}o.push(r);u.push(r[xe.value])}));if(M){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!F&&!e.checkStrictly){He(s,i,o,t)}else{He(u,o,o,t)}}else{if(a[0]){var c=o.find((function(e){return e[xe.value]===a[0]}));He(a[0],c,[c],t)}else{var d=t.node[xe.value];var f=je.treeTiledArray.find((function(e){return e[xe.value]===d}));He(undefined,f,[f],t)}}}));var Ye=f.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=C((function(){var e=h(je.treeList||[]);if(Ee&&le!=="highlight"){return a(h(je.treeList||[]),(function(e){var r;var t=(r=e[xe.label])==null?void 0:r.toLowerCase();return t.indexOf(Ee.toLowerCase())>=0}),{childrenName:xe.children})}return e}),[xe.children,xe.label,le,je.treeList,Ee]);var We=C((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t,n;var a=(Ye==null?void 0:Ye(r))||r;var i=te?undefined:a.disabled;var s=(t=a[xe.label])==null?void 0:t.toLowerCase();var o;if(Ee){var u=s.indexOf(Ee.toLowerCase());var d=s.substring(0,u);var f=s.slice(u+Ee.length);var v=s.slice(u,u+Ee.length);o=u>-1?_("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[d,I("span",{className:"site-tree-search-value",children:v}),f]}):null}if(!o&&a.disabled){o=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:s})}var p=a[xe.children];return m({},a,(n={disabled:i},n[xe.label]=o||s,n._treeItemName=s,n._disabled=a.disabled,n[xe.children]=l(p)&&p.length>0?e(p):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,xe.label,xe.children,Ee]);var Je=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[xe.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void L.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(e){try{o=e;u=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[xe.value],appendList:u,childrenName:xe.children,valueName:xe.value}).then((function(e){Me(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=f.useCallbackRef((function(r){var t=r==null?void 0:r[xe.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=f.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[xe.label];var l=ve==null?void 0:ve(m({},r,(t={},t[xe.label]=i,t)));if(l!=null&&l.operateList.length){return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[xe.label])}),I(x,m({gap:5},l,{dropdownMenuProps:m({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Se==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,f,v;o=((d=e.menuOptions)==null||(f=d[Se])==null?void 0:f.call(d,m({},r,(v={},v[xe.label]=i,v))))||[]}else{var p;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(p={},p[xe.label]=i,p))))||[]}return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[xe.label])}),o.length>0&&I(S,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(m({},r,(a={},a[xe.label]=i,a)));return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[xe.label])}),h?I(x,m({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=f.useDebounceCallback((function(r){_e(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=f.useCallbackRef((function(e){Ze(e.target.value)}));var er=f.useCallbackRef((function(r){if(!e.icon)return null;if(k(e.icon))return e.icon;var t=Qe(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var rr=C((function(){return{title:xe.label,key:xe.value,children:xe.children}}),[xe]);var tr=We.length>0&&je.requestStatus!=="request-error";var nr=m({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=B(Ge,xe,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:be},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:Be,checkable:M,checkedKeys:Oe};var ir={onSelect:Be,multiple:false,selectedKeys:Oe};var lr=M?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Te,de);var or=je.treeList.length>0&&!tr&&Ee;return _("div",{className:sr,style:t,children:[!!X&&_("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(P,{className:"v-tree-wrapper-search",placeholder:n(Z)?"搜索":Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(g,{spinning:je.requestStatus==="request-progress"}),I(y,m({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(D,{status:je.requestStatus,loading:Re,messageConfig:m({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));W.defaultProps={disabledCanUse:true};var J=i(W,{getTreeDataList:M});export{J as TreeWrapper};
16
17
  //# sourceMappingURL=index.js.map