@flatbiz/antd 4.5.32 → 4.5.34

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 (38) hide show
  1. package/esm/box-grid/index.js.map +1 -1
  2. package/esm/button-operate/index.js +1 -1
  3. package/esm/button-operate/index.js.map +1 -1
  4. package/esm/cascader-wrapper/index.js +1 -1
  5. package/esm/cascader-wrapper/index.js.map +1 -1
  6. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  7. package/esm/easy-form/index.js +1 -1
  8. package/esm/easy-form/index.js.map +1 -1
  9. package/esm/easy-table/index.js +1 -1
  10. package/esm/easy-table/index.js.map +1 -1
  11. package/esm/index.js +2 -1
  12. package/esm/label-value-render/index.css +1 -1
  13. package/esm/label-value-render/index.js +1 -1
  14. package/esm/label-value-render/index.js.map +1 -1
  15. package/esm/radio-group-wrapper/index.js +1 -1
  16. package/esm/radio-group-wrapper/index.js.map +1 -1
  17. package/esm/selector-wrapper/index.js +1 -1
  18. package/esm/selector-wrapper/index.js.map +1 -1
  19. package/esm/selector-wrapper-search/index.js +1 -1
  20. package/esm/selector-wrapper-search/index.js.map +1 -1
  21. package/esm/selector-wrapper-simple/index.js +1 -1
  22. package/esm/selector-wrapper-simple/index.js.map +1 -1
  23. package/esm/styles/index.css +1 -1
  24. package/esm/table-cell-render/index.js +1 -1
  25. package/esm/table-cell-render/index.js.map +1 -1
  26. package/esm/tabs-sticky/index.css +1 -0
  27. package/esm/tabs-sticky/index.js +5 -0
  28. package/esm/tabs-sticky/index.js.map +1 -0
  29. package/esm/tree-modal/index.js +1 -1
  30. package/esm/tree-modal/index.js.map +1 -1
  31. package/esm/tree-modal-selector/index.js +1 -1
  32. package/esm/tree-modal-selector/index.js.map +1 -1
  33. package/esm/tree-selector-wrapper/index.js +1 -1
  34. package/esm/tree-selector-wrapper/index.js.map +1 -1
  35. package/esm/tree-wrapper/index.js +1 -1
  36. package/esm/tree-wrapper/index.js.map +1 -1
  37. package/index.d.ts +57 -23
  38. package/package.json +3 -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/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 { isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n modelKey: string;\n fieldNames?: {\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const 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 (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onChange?.(resultValueList, resultValueList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultValueList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","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","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n toArray,\n treeToArray,\n treeToTiledMap,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { useMemo, useRef, useState, type DependencyList } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, type TRequestStatusProps } from '../request-status';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeysByValues } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n modelKey: string;\n fieldNames?: {\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(props, 'treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (labelInValue ? item[labelInValueFieldNamesMerge.value] : item[fieldNamesMerge.value]) as\n | string\n | number;\n }\n return item as string | number;\n });\n }, [fieldNamesMerge.value, labelInValue, labelInValueFieldNamesMerge.value, props.value]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) => state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as string | number,\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(propsPureValue, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const result = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId',\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray([target], fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onChange?.(resultValueList, resultValueList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultValueList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(targetKeyList, state.treeSelectorTiledMap);\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","_ref2","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -13,5 +13,5 @@ import './../flex-layout/index.css';
13
13
  import './../input-search-wrapper/index.css';
14
14
  import './index.css';
15
15
  /*! @flatjs/forge MIT @flatbiz/antd */
16
- import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,toArray as s,treeFilter as u,attachPropertiesToComponent as o}from"@flatbiz/utils";import{isArray as c}from"@dimjs/lang/cjs/is-array";import{Model as d}from"@dimjs/model-react";import f from"@ant-design/icons/es/icons/CaretDownFilled";import v from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as p}from"@dimjs/utils/cjs/class-names";import{extend as m}from"@dimjs/utils/cjs/extend";import{hooks as h}from"@wove/react/cjs/hooks";import{get as g}from"@dimjs/utils/cjs/get";import{_ as y,a as b}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as L}from"@dimjs/model";import{Spin as C,Tree as w,Button as j,message as T}from"antd";import{forwardRef as A,useState as N,useMemo as R,useRef as S,useImperativeHandle as q,Fragment as k,isValidElement as x}from"react";import{ButtonOperate as M}from"../button-operate/index.js";import{DropdownMenuWrapper as E}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as D}from"../fba-hooks/index.js";import{InputSearchWrapper as P}from"../input-search-wrapper/index.js";import{RequestStatus as _}from"../request-status/index.js";import{tree as I}from"@dimjs/utils/cjs/tree";import{isObject as O}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as V,jsx as F}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-21b8c601.js";var K={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var U={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(c(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:K};var z={};var H=function e(r){if(!z[r]){z[r]=d(U)}return z[r]};var B=function e(r){var t=H(r).getState();return t.treeList};var Y=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var G=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var W=function e(r,t){var n=a(r)?[]:r;n=c(n)?n:[n];n=n.map((function(e){if(O(e))return e[t.value];return e}));return n};var J=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var u=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][u]===t){return n(r[a],a,r)}if(r[a][o]){e(r[a][o],t,n)}}};var d=L(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===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(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Q(i,d,t)}};var Q=function r(t,n,a){var i;var l=a.value;var s=a.children;I.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var u=e(n,s);var o=u.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 X=function r(t,n,a,l){var s={};var u=[];var o=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){u.push(e)}else{s[e]=e}}));if(u.length>0){u.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(s).length>i.length){var u=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(u.length===i.length){o.push(r)}}}))}return t.filter((function(e){return o.find((function(r){return r==e}))||s[e]}))};var Z=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var $=function e(r,t,n,a){var s={};r.forEach((function(e){var r;var u=(r=t[e])==null?void 0:r[n];if(i(u)){var o=l(u,{value:a,children:n});s=y({},s,o)}}));return r.filter((function(e){return!s[e]}))};var ee=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var re=function r(t,n,a,l){var s=[].concat(t);t.forEach((function(r){var t;var u=(t=n[r])==null?void 0:t[a];if(i(u)){var o=e(u,a);s=s.concat(o.map((function(e){return e[l]})))}}));return Array.from(new Set(s))};var te=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType"];var ne=A((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,o=e.value,d=e.onChange,A=e.modelKey,I=e.checkableResponseParentNode,O=I===void 0?true:I,K=e.checkable,U=e.onSelectorTreeListChange,z=e.onRequestResponseChange,B=e.treeItemDataAdapter,Q=e.searchValue,ne=e.showSearch,ae=e.searchPlaceholder,ie=e.requestMessageConfig,le=e.labelInValueFieldNames,se=e.labelInValue,ue=e.disabledCanUse,oe=e.menuLayoutType,ce=e.menuTriggerType,de=e.initRootExpand,fe=e.searchResultType,ve=e.onDropNodeHandle,pe=e.onDropPrev,me=e.labelRender,he=e.searchStyle,ge=e.className,ye=e.defaultExpandAll,be=e.menus,Le=e.customSearchRule,Ce=e.checkableType,we=b(e,te);var je=e.hasOwnProperty("selectorTreeList");var Te=n||{};var Ae=i||[];var Ne=N([]),Re=Ne[0],Se=Ne[1];var qe=H(A).useStore(),ke=qe[0],xe=qe[1];var Me=D.useSafeState(false),Ee=Me[0],De=Me[1];var Pe="request-progress-"+e.modelKey;var _e=fe==="highlight";var Ie=R((function(){return y({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Oe=oe===undefined?"fold":oe;var Ve=ce===undefined?"click":ce;var Fe=S(true);var Ke=R((function(){return y({label:"label",value:"value"},le)}),[le]);var Ue=N(),ze=Ue[0],He=Ue[1];var Be=R((function(){return W(o,Ke)}),[Ke,o]);D.useEffectCustom((function(){if(ke.treeList.length>0){if(Fe.current){Fe.current=false;if(ye){Se(Y(ke.treeList,Ie));return}else if(de&&ke.treeList.length){Se([ke.treeList[0][Ie.value]]);return}}if(!a(o)){var e=Qe(Be,true);Se(Array.from(new Set(Re==null?void 0:Re.concat(e))))}}}),[o,ke.treeList,Be]);var Ye=function e(r){return r===""||a(r)};var Ge=function e(r){if(Te.onRequestResultAdapter){return Te.onRequestResultAdapter(r)}if(Ie.list){return g(r,Ie.list,[])||[]}if(!c(r)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return r};D.useEffectCustom((function(){He(Q)}),[Q]);var We=h.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var u=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Fe.current=false;De(false);void T.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!Te.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Te.requiredParamsKeys;n=m({},Te.params);if(t){a=t.find((function(e){return Ye(n[e])}));if(a){void xe.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return u()}catch(e){return o(e)}};var d=function(e){try{window[Pe]=false;De(false);void xe.changeRequestStatus({status:"request-error",errorMessage:e.message});return c()}catch(e){return o(e)}};try{De(true);return Promise.resolve(xe.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Pe]=true;return Promise.resolve(Te.onRequest==null?void 0:Te.onRequest(n)).then((function(e){try{i=e;z==null?void 0:z(i);l=Ge(i);s=l||[];if(s.length===0){Fe.current=false}Je(s);De(false);window[Pe]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));D.useEffectCustom((function(){if(je)return;if(Ae.length){void We();return}var e=H(A).getState();if(e.requestStatus==="request-success"){U==null?void 0:U(e.treeList);return}if(!window[Pe]){void We()}else{U==null?void 0:U(e.treeList)}}),Ae);D.useEffectCustom((function(){if(je){Je(l||[])}}),[l]);var Je=h.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&ke.treeList.length===0){void xe.changeRequestStatus({status:"request-success"});return}void xe.setTreeList({treeList:e||[],childrenName:Ie.children,valueName:Ie.value});U==null?void 0:U(e)}));var Qe=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Re!=null&&Re.includes(e))return;var r=G(e,ke.treeList,Ie);n=n.concat(r)}));return n};h.useUpdateEffect((function(){if(ze){var e=ke.treeTiledArray.filter((function(e){var r=e[Ie.label]||"";if(Le){return Le(e,ze)}return String(r).toLowerCase().includes(ze.toLowerCase())}));var r=Qe(e.map((function(e){return e[Ie.value]})),true);Se(Array.from(new Set(r)))}else{Se([])}}),[ze]);q(r,(function(){return{onClearSelectorList:function e(){void xe.resetTreeList()},getTreeDataList:function e(){return ke.treeList},onChangeExpandedKeys:function e(r){Se(r)},onSelectAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r);d==null?void 0:d(r,undefined,ke.treeList,undefined)},onCancelSelectAll:function e(){Se([]);d==null?void 0:d(undefined)},onExpandedAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r)},onCancelExpandedAll:function e(){Se([])}}}));var Xe=h.useCallbackRef((function(e){Se(e)}));var Ze=function r(t,n,a,i){if(s(t).length===0){var l=i==null?void 0:i.node[Ie.value];var u=ke.treeTiledArrayMap[l];e.onChange==null?void 0:e.onChange(undefined,u,[u],i)}else{e.onChange==null?void 0:e.onChange(t,n,a,i)}};var $e=h.useCallbackRef((function(r,t){var n=[];var a=[];if(K){n=e.checkStrictly?r.checked:r}else{n=r}n=s(n);if(K==false){a=n}else{if(ne&&ze&&!_e){var i=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=Be.filter((function(e){return e!=i[Ie.value]}))}else{n=Array.from(new Set([].concat(Be,n)))}a=n}else{var l=Ce==="2"||Ce==="3"?re(Be,ke.treeTiledArrayMap,Ie.children,Ie.value):Be;if(t.checked==false){n=Z([].concat(l),i,Ie.children,Ie.value)}else{n=Array.from(new Set([].concat(l,n)))}a=X(n,ke.treeTiledArrayMap,Ie.children,Ie.value)}}else{a=n}if(!e.checkStrictly){if(Ce==="2"){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else if(Ce==="3"){n=$(a,ke.treeTiledArrayMap,Ie.children,Ie.value)}else if(O==false){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else{n=a}}}var u=a.map((function(e){return ke.treeTiledArrayMap[e]}));if(se){var o=Ke.value;var c=Ke.label;var d=n.map((function(e){var r;return r={},r[c]=ke.treeTiledArrayMap[e][Ie.label],r[o]=ke.treeTiledArrayMap[e][Ie.value],r}));if(K){Ze(d,n.map((function(e){return ke.treeTiledArrayMap[e]})),u,t)}else{Ze(d[0],ke.treeTiledArrayMap[n[0]],u,t)}}else{if(K){Ze(n,n.map((function(e){return ke.treeTiledArrayMap[e]})),u,t)}else{Ze(n[0],ke.treeTiledArrayMap[n[0]],u,t)}}}));var er=h.useCallbackRef((function(e){return B==null?void 0:B(e)}));var rr=R((function(){var e=L(ke.treeList||[]);if(ze&&fe!=="highlight"){var r=u(L(ke.treeList||[]),(function(e){var r;if(Le){return Le(e,ze)}var t=(r=e[Ie.label])==null?void 0:r.toLowerCase();return t.indexOf(ze.toLowerCase())>=0}),{childrenName:Ie.children});return r}return e}),[Le,Ie.children,Ie.label,fe,ke.treeList,ze]);var tr=R((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(er==null?void 0:er(r))||r;var a=ue?undefined:n.disabled;var i=n[Ie.label];var l;if(ze){var s=i==null?void 0:i.toLowerCase();var u=s.indexOf(ze.toLowerCase());var o=s.substring(0,u);var d=s.slice(u+ze.length);var f=s.slice(u,u+ze.length);l=u>-1?V("span",{className:p({"v-tree-item-disabled":n.disabled}),children:[o,F("span",{className:"site-tree-search-value",children:f}),d]}):null}if(!l&&n.disabled){l=F("span",{className:p({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Ie.children];return y({},n,(t={disabled:a},t[Ie.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Ie.children]=c(v)&&v.length>0?e(v):undefined,t))}))};return e(rr)}),[rr,er,ue,Ie.label,Ie.children,ze]);var nr=h.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,u,o,c;if(r[Ie.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void T.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{o=n;c=(u=e.loadDataServiceConfig)!=null&&u.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void xe.treeListAppendChildren({value:r[Ie.value],appendList:c,childrenName:Ie.children,valueName:Ie.value}).then((function(e){Je(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var ar=h.useCallbackRef((function(r){var t=r==null?void 0:r[Ie.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var ir=h.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Ie.label];var l=be==null?void 0:be(y({},r,(t={},t[Ie.label]=i,t)));if(l!=null&&l.operateList.length){return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),F(M,y({gap:5},l,{dropdownMenuProps:y({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:p("tree-item-title-operate",l.className)}))]})}if(Oe==="fold"){var s;var u=[];if((s=e.menuOptions)!=null&&s.fold){var o,c,d;u=((o=e.menuOptions)==null||(c=o[Oe])==null?void 0:c.call(o,y({},r,(d={},d[Ie.label]=i,d))))||[]}else{var f;u=(e.getMenuOptions==null?void 0:e.getMenuOptions(y({},r,(f={},f[Ie.label]=i,f))))||[]}return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),u.length>0&&F(E,{menuList:u,placement:"bottomRight",children:F(v,{})})]})}var m=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(y({},r,(a={},a[Ie.label]=i,a)));return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),m?F(M,y({gap:5},m,{className:p("tree-item-title-operate",m.className)})):null]})}));var lr=h.useDebounceCallback((function(r){He(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var sr=h.useCallbackRef((function(e){lr(e.target.value)}));var ur=h.useCallbackRef((function(r){if(!e.icon)return null;if(x(e.icon))return e.icon;var t=ar(r.data);return e.icon(y({},r,{isParent:!t,isLeaf:t}))}));var or=R((function(){return{title:Ie.label,key:Ie.value,children:Ie.children}}),[Ie]);var cr=tr.length>0&&ke.requestStatus!=="request-error";var dr=y({showLine:{showLeafIcon:false},titleRender:ir,blockNode:true,switcherIcon:F(f,{}),onDrop:function e(r){if(pe){var t=pe(r);if(!t)return}var n=J(rr,Ie,r),a=n.dataList,i=n.dragNodeData;ve==null?void 0:ve(i);Je(a)},expandedKeys:Re},we,{fieldNames:or,treeData:tr,onExpand:Xe,loadData:e.loadDataFlag?nr:undefined,style:{width:"100%"},icon:ur});var fr={onCheck:$e,checkable:K,checkedKeys:Be};var vr={onSelect:$e,multiple:false,selectedKeys:Be};var pr=K?fr:vr;var mr=p("v-tree-wrapper","v-tree-wrapper-menu-"+Ve,ge);var hr=ke.treeList.length>0&&!cr&&ze;return V("div",{className:mr,style:t,children:[!!ne&&V("div",{className:"v-tree-wrapper-search-area",style:he,children:[F(P,{className:"v-tree-wrapper-search",placeholder:a(ae)?"搜索":ae,onChange:sr,value:ze,allowClear:true}),!!e.searchExtraElement&&F("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),cr?V("div",{className:"v-tree-wrapper-tree-wrapper",children:[F(C,{spinning:ke.requestStatus==="request-progress"}),F(w,y({},pr,dr,{className:"v-tree-wrapper-tree"}))]}):F(_,{status:ke.requestStatus,loading:Ee,messageConfig:y({"request-success":hr?"搜索结果为空":"暂无数据","request-error":ke.requestErrorMessage},ie),errorButton:F(j,{type:"primary",onClick:We,children:"重新获取数据"})})]})}));var ae=o(ne,{getTreeDataList:B});export{ae as TreeWrapper};
16
+ import{treeToArray as e,arrayToMap as r,treeToTiledArray as t,treeLeafParentsArray as n,isUndefinedOrNull as a,isNotEmptyArray as i,treeToTiledMap as l,toArray as s,treeFilter as o,attachPropertiesToComponent as u}from"@flatbiz/utils";import{isArray as c}from"@dimjs/lang/cjs/is-array";import{Model as d}from"@dimjs/model-react";import f from"@ant-design/icons/es/icons/CaretDownFilled";import v from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as p}from"@dimjs/utils/cjs/class-names";import{extend as m}from"@dimjs/utils/cjs/extend";import{hooks as h}from"@wove/react/cjs/hooks";import{get as g}from"@dimjs/utils/cjs/get";import{_ as y,a as b}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as L}from"@dimjs/model";import{Spin as C,Tree as w,Button as j,message as T}from"antd";import{forwardRef as A,useState as N,useMemo as R,useRef as S,useImperativeHandle as q,Fragment as k,isValidElement as x}from"react";import{ButtonOperate as M}from"../button-operate/index.js";import{DropdownMenuWrapper as E}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as D}from"../fba-hooks/index.js";import{InputSearchWrapper as P}from"../input-search-wrapper/index.js";import{RequestStatus as _}from"../request-status/index.js";import{tree as I}from"@dimjs/utils/cjs/tree";import{isObject as O}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as V,jsx as F}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"../use-responsive-point-21b8c601.js";var K={treeList:[],treeTiledArray:[],treeTiledArrayMap:{},queryIsEmpty:false};var U={actions:{setTreeList:function t(n){return function(t){t.treeList=n.treeList||[];t.treeTiledArray=e(t.treeList,n.childrenName);t.treeTiledArrayMap=r(t.treeTiledArray,n.valueName);t.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={}}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.treeTiledArrayMap={};e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function t(n){return function(t){var a=e(t.treeList,n.childrenName);var i=r(a,n.valueName);var l=i[n.value];if(l){if(c(n.appendList)&&n.appendList.length>0){l[n.childrenName]=n.appendList}else{l.isLeaf=true}}t.treeTiledArray=a;t.treeTiledArrayMap=i}}},state:K};var z={};var H=function e(r){if(!z[r]){z[r]=d(U)}return z[r]};var B=function e(r){var t=H(r).getState();return t.treeList};var Y=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var G=function e(r,a,i){var l=t(a,i);return n(r,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var W=function e(r,t){var n=a(r)?[]:r;n=c(n)?n:[n];n=n.map((function(e){if(O(e))return e[t.value];return e}));return n};var J=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=L(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Q(i,d,t)}};var Q=function r(t,n,a){var i;var l=a.value;var s=a.children;I.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var X=function r(t,n,a,l){var s={};var o=[];var u=[];t.forEach((function(e){var r;if(i((r=n[e])==null?void 0:r[a])){o.push(e)}else{s[e]=e}}));if(o.length>0){o.forEach((function(r){var i=e(n[r][a],a);if(Object.keys(s).length>i.length){var o=i.filter((function(e){return t.find((function(r){return r===e[l]}))}));if(o.length===i.length){u.push(r)}}}))}return t.filter((function(e){return u.find((function(r){return r==e}))||s[e]}))};var Z=function e(r,t,n,a){var i=l([t],{value:a,children:n});return r.filter((function(e){return!i[e]}))};var $=function e(r,t,n,a){var s={};r.forEach((function(e){var r;var o=(r=t[e])==null?void 0:r[n];if(i(o)){var u=l(o,{value:a,children:n});s=y({},s,u)}}));return r.filter((function(e){return!s[e]}))};var ee=function e(r,t,n){return r.filter((function(e){return!i(t[e][n])}))};var re=function r(t,n,a,l){var s=[].concat(t);t.forEach((function(r){var t;var o=(t=n[r])==null?void 0:t[a];if(i(o)){var u=e(o,a);s=s.concat(u.map((function(e){return e[l]})))}}));return Array.from(new Set(s))};var te=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule","checkableType"];var ne=A((function(e,r){var t=e.style,n=e.serviceConfig,i=e.effectDependencyList,l=e.selectorTreeList,u=e.value,d=e.onChange,A=e.modelKey,I=e.checkableResponseParentNode,O=I===void 0?true:I,K=e.checkable,U=e.onSelectorTreeListChange,z=e.onRequestResponseChange,B=e.treeItemDataAdapter,Q=e.searchValue,ne=e.showSearch,ae=e.searchPlaceholder,ie=e.requestMessageConfig,le=e.labelInValueFieldNames,se=e.labelInValue,oe=e.disabledCanUse,ue=e.menuLayoutType,ce=e.menuTriggerType,de=e.initRootExpand,fe=e.searchResultType,ve=e.onDropNodeHandle,pe=e.onDropPrev,me=e.labelRender,he=e.searchStyle,ge=e.className,ye=e.defaultExpandAll,be=e.menus,Le=e.customSearchRule,Ce=e.checkableType,we=b(e,te);var je=e.hasOwnProperty("selectorTreeList");var Te=n||{};var Ae=i||[];var Ne=N([]),Re=Ne[0],Se=Ne[1];var qe=H(A).useStore(),ke=qe[0],xe=qe[1];var Me=D.useSafeState(false),Ee=Me[0],De=Me[1];var Pe="request-progress-"+e.modelKey;var _e=fe==="highlight";var Ie=R((function(){return y({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Oe=ue===undefined?"fold":ue;var Ve=ce===undefined?"click":ce;var Fe=S(true);var Ke=R((function(){return y({label:"label",value:"value"},le)}),[le]);var Ue=N(),ze=Ue[0],He=Ue[1];var Be=R((function(){return W(u,Ke)}),[Ke,u]);D.useEffectCustom((function(){if(ke.treeList.length>0){if(Fe.current&&a(u)){Fe.current=false;if(ye){Se(Y(ke.treeList,Ie));return}else if(de&&ke.treeList.length){Se([ke.treeList[0][Ie.value]]);return}}if(!a(u)){var e=Qe(Be,true);Se(Array.from(new Set(Re==null?void 0:Re.concat(e))))}}}),[u,ke.treeList,Be]);var Ye=function e(r){return r===""||a(r)};var Ge=function e(r){var t=r;if(Te.onRequestResultAdapter){t=Te.onRequestResultAdapter(r)}else if(Ie.list){t=g(r,Ie.list,[])||[]}if(!c(t)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return t};D.useEffectCustom((function(){He(Q)}),[Q]);var We=h.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Fe.current=false;De(false);void T.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!Te.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=Te.requiredParamsKeys;n=m({},Te.params);if(t){a=t.find((function(e){return Ye(n[e])}));if(a){void xe.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var u=function(){try{return s()}catch(e){return o(e)}};var c=function(e){try{window[Pe]=false;De(false);void xe.changeRequestStatus({status:"request-error",errorMessage:e.message});return u()}catch(e){return o(e)}};try{De(true);return Promise.resolve(xe.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[Pe]=true;return Promise.resolve(Te.onRequest==null?void 0:Te.onRequest(n)).then((function(e){try{i=e;z==null?void 0:z(i);l=Ge(i);if(l.length===0){Fe.current=false}Je(l);De(false);window[Pe]=false;return u()}catch(e){return c(e)}}),c)}catch(e){return c(e)}}),c)}catch(e){c(e)}}catch(e){o(e)}}))}));D.useEffectCustom((function(){if(je)return;if(Ae.length){void We();return}var e=H(A).getState();if(e.requestStatus==="request-success"){U==null?void 0:U(e.treeList);return}if(!window[Pe]){void We()}else{U==null?void 0:U(e.treeList)}}),Ae);D.useEffectCustom((function(){if(je){Je(l||[])}}),[l]);var Je=h.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&ke.treeList.length===0){void xe.changeRequestStatus({status:"request-success"});return}void xe.setTreeList({treeList:e||[],childrenName:Ie.children,valueName:Ie.value});U==null?void 0:U(e)}));var Qe=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Re!=null&&Re.includes(e))return;var r=G(e,ke.treeList,Ie);n=n.concat(r)}));return n};h.useUpdateEffect((function(){if(ze){var e=ke.treeTiledArray.filter((function(e){var r=e[Ie.label]||"";if(Le){return Le(e,ze)}return String(r).toLowerCase().includes(ze.toLowerCase())}));var r=Qe(e.map((function(e){return e[Ie.value]})),true);Se(Array.from(new Set(r)))}else{Se([])}}),[ze]);q(r,(function(){return{onClearSelectorList:function e(){void xe.resetTreeList()},getTreeDataList:function e(){return ke.treeList},onChangeExpandedKeys:function e(r){Se(r)},onSelectAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r);d==null?void 0:d(r,undefined,ke.treeList,undefined)},onCancelSelectAll:function e(){Se([]);d==null?void 0:d(undefined)},onExpandedAll:function e(){var r=ke.treeTiledArray.map((function(e){return e[Ie.value]}));Se(r)},onCancelExpandedAll:function e(){Se([])}}}));var Xe=h.useCallbackRef((function(e){Se(e)}));var Ze=function r(t,n,a,i){if(s(t).length===0){var l=i==null?void 0:i.node[Ie.value];var o=ke.treeTiledArrayMap[l];e.onChange==null?void 0:e.onChange(undefined,o,[o],i)}else{e.onChange==null?void 0:e.onChange(t,n,a,i)}};var $e=h.useCallbackRef((function(r,t){var n=[];var a=[];if(K){n=e.checkStrictly?r.checked:r}else{n=r}n=s(n);if(K==false){a=n}else{if(ne&&ze&&!_e){var i=t==null?void 0:t.node;if(e.checkStrictly){if(t.checked==false){n=Be.filter((function(e){return e!=i[Ie.value]}))}else{n=Array.from(new Set([].concat(Be,n)))}a=n}else{var l=Ce==="2"||Ce==="3"?re(Be,ke.treeTiledArrayMap,Ie.children,Ie.value):Be;if(t.checked==false){n=Z([].concat(l),i,Ie.children,Ie.value)}else{n=Array.from(new Set([].concat(l,n)))}a=X(n,ke.treeTiledArrayMap,Ie.children,Ie.value)}}else{a=n}if(!e.checkStrictly){if(Ce==="2"){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else if(Ce==="3"){n=$(a,ke.treeTiledArrayMap,Ie.children,Ie.value)}else if(O==false){n=ee(a,ke.treeTiledArrayMap,Ie.children)}else{n=a}}}var o=a.map((function(e){return ke.treeTiledArrayMap[e]}));if(se){var u=Ke.value;var c=Ke.label;var d=n.map((function(e){var r;return r={},r[c]=ke.treeTiledArrayMap[e][Ie.label],r[u]=ke.treeTiledArrayMap[e][Ie.value],r}));if(K){Ze(d,n.map((function(e){return ke.treeTiledArrayMap[e]})),o,t)}else{Ze(d[0],ke.treeTiledArrayMap[n[0]],o,t)}}else{if(K){Ze(n,n.map((function(e){return ke.treeTiledArrayMap[e]})),o,t)}else{Ze(n[0],ke.treeTiledArrayMap[n[0]],o,t)}}}));var er=h.useCallbackRef((function(e){return B==null?void 0:B(e)}));var rr=R((function(){var e=L(ke.treeList||[]);if(ze&&fe!=="highlight"){var r=o(L(ke.treeList||[]),(function(e){var r;if(Le){return Le(e,ze)}var t=(r=e[Ie.label])==null?void 0:r.toLowerCase();return t.indexOf(ze.toLowerCase())>=0}),{childrenName:Ie.children});return r}return e}),[Le,Ie.children,Ie.label,fe,ke.treeList,ze]);var tr=R((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(er==null?void 0:er(r))||r;var a=oe?undefined:n.disabled;var i=n[Ie.label];var l;if(ze){var s=i==null?void 0:i.toLowerCase();var o=s.indexOf(ze.toLowerCase());var u=s.substring(0,o);var d=s.slice(o+ze.length);var f=s.slice(o,o+ze.length);l=o>-1?V("span",{className:p({"v-tree-item-disabled":n.disabled}),children:[u,F("span",{className:"site-tree-search-value",children:f}),d]}):null}if(!l&&n.disabled){l=F("span",{className:p({"v-tree-item-disabled":n.disabled}),children:i})}var v=n[Ie.children];return y({},n,(t={disabled:a},t[Ie.label]=l||i,t._treeItemName=i,t._disabled=n.disabled,t[Ie.children]=c(v)&&v.length>0?e(v):undefined,t))}))};return e(rr)}),[rr,er,oe,Ie.label,Ie.children,ze]);var nr=h.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u,c;if(r[Ie.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void T.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{u=n;c=(o=e.loadDataServiceConfig)!=null&&o.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(u):u;void xe.treeListAppendChildren({value:r[Ie.value],appendList:c,childrenName:Ie.children,valueName:Ie.value}).then((function(e){Je(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var ar=h.useCallbackRef((function(r){var t=r==null?void 0:r[Ie.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var ir=h.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Ie.label];var l=be==null?void 0:be(y({},r,(t={},t[Ie.label]=i,t)));if(l!=null&&l.operateList.length){return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),F(M,y({gap:5},l,{dropdownMenuProps:y({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:p("tree-item-title-operate",l.className)}))]})}if(Oe==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var u,c,d;o=((u=e.menuOptions)==null||(c=u[Oe])==null?void 0:c.call(u,y({},r,(d={},d[Ie.label]=i,d))))||[]}else{var f;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(y({},r,(f={},f[Ie.label]=i,f))))||[]}return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),o.length>0&&F(E,{menuList:o,placement:"bottomRight",children:F(v,{})})]})}var m=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(y({},r,(a={},a[Ie.label]=i,a)));return V(k,{children:[F("span",{className:"tree-item-title",children:(me==null?void 0:me(r))||(r==null?void 0:r[Ie.label])}),m?F(M,y({gap:5},m,{className:p("tree-item-title-operate",m.className)})):null]})}));var lr=h.useDebounceCallback((function(r){He(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var sr=h.useCallbackRef((function(e){lr(e.target.value)}));var or=h.useCallbackRef((function(r){if(!e.icon)return null;if(x(e.icon))return e.icon;var t=ar(r.data);return e.icon(y({},r,{isParent:!t,isLeaf:t}))}));var ur=R((function(){return{title:Ie.label,key:Ie.value,children:Ie.children}}),[Ie]);var cr=tr.length>0&&ke.requestStatus!=="request-error";var dr=y({showLine:{showLeafIcon:false},titleRender:ir,blockNode:true,switcherIcon:F(f,{}),onDrop:function e(r){if(pe){var t=pe(r);if(!t)return}var n=J(rr,Ie,r),a=n.dataList,i=n.dragNodeData;ve==null?void 0:ve(i);Je(a)},expandedKeys:Re},we,{fieldNames:ur,treeData:tr,onExpand:Xe,loadData:e.loadDataFlag?nr:undefined,style:{width:"100%"},icon:or});var fr={onCheck:$e,checkable:K,checkedKeys:Be};var vr={onSelect:$e,multiple:false,selectedKeys:Be};var pr=K?fr:vr;var mr=p("v-tree-wrapper","v-tree-wrapper-menu-"+Ve,ge);var hr=ke.treeList.length>0&&!cr&&ze;return V("div",{className:mr,style:t,children:[!!ne&&V("div",{className:"v-tree-wrapper-search-area",style:he,children:[F(P,{className:"v-tree-wrapper-search",placeholder:a(ae)?"搜索":ae,onChange:sr,value:ze,allowClear:true}),!!e.searchExtraElement&&F("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),cr?V("div",{className:"v-tree-wrapper-tree-wrapper",children:[F(C,{spinning:ke.requestStatus==="request-progress"}),F(w,y({},pr,dr,{className:"v-tree-wrapper-tree"}))]}):F(_,{status:ke.requestStatus,loading:Ee,messageConfig:y({"request-success":hr?"搜索结果为空":"暂无数据","request-error":ke.requestErrorMessage},ie),errorButton:F(j,{type:"primary",onClick:We,children:"重新获取数据"})})]})}));var ae=u(ne,{getTreeDataList:B});export{ae as TreeWrapper};
17
17
  //# sourceMappingURL=index.js.map