@flatbiz/antd 4.2.35 → 4.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/cascader-wrapper-7f1eed71.js +3 -0
- package/esm/cascader-wrapper-7f1eed71.js.map +1 -0
- package/esm/cell-render-8d9d3ee9.js +3 -0
- package/esm/cell-render-8d9d3ee9.js.map +1 -0
- package/esm/center-a4dfda6f.js +3 -0
- package/esm/center-a4dfda6f.js.map +1 -0
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/checkbox-wrapper-018a5c59.js +3 -0
- package/esm/checkbox-wrapper-018a5c59.js.map +1 -0
- package/esm/css-node-hover/index.js +1 -1
- package/esm/css-node-hover/index.js.map +1 -1
- package/esm/css-node-hover-ed7b9860.js +3 -0
- package/esm/css-node-hover-ed7b9860.js.map +1 -0
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item-688cf465.js +3 -0
- package/esm/date-range-picker-wrapper-form-item-688cf465.js.map +1 -0
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-alert-0ca83448.js +3 -0
- package/esm/dialog-alert-0ca83448.js.map +1 -0
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-525a0bc3.js +3 -0
- package/esm/dialog-drawer-525a0bc3.js.map +1 -0
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-loading-16bd1baa.js +3 -0
- package/esm/dialog-loading-16bd1baa.js.map +1 -0
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/drawer-wrapper-9af2f178.js +3 -0
- package/esm/drawer-wrapper-9af2f178.js.map +1 -0
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-field-7f30db8e.js +3 -0
- package/esm/editable-field-7f30db8e.js.map +1 -0
- package/esm/editable-field-provider/index.js +1 -1
- package/esm/editable-field-provider/index.js.map +1 -1
- package/esm/editable-field-provider-20963c3e.js +3 -0
- package/esm/editable-field-provider-20963c3e.js.map +1 -0
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editable-table-6bd8df15.js +3 -0
- package/esm/editable-table-6bd8df15.js.map +1 -0
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/editor-wrapper-ff6e75b7.js +3 -0
- package/esm/editor-wrapper-ff6e75b7.js.map +1 -0
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/file-import-890a1df9.js +3 -0
- package/esm/file-import-890a1df9.js.map +1 -0
- package/esm/form-item-hidden/index.js +1 -1
- package/esm/form-item-hidden/index.js.map +1 -1
- package/esm/form-item-hidden-45541774.js +3 -0
- package/esm/form-item-hidden-45541774.js.map +1 -0
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-item-wrapper-dfe2ebd9.js +3 -0
- package/esm/form-item-wrapper-dfe2ebd9.js.map +1 -0
- package/esm/gap/index.js +1 -1
- package/esm/gap/index.js.map +1 -1
- package/esm/gap-284e1f59.js +3 -0
- package/esm/gap-284e1f59.js.map +1 -0
- package/esm/in-view-448ba714.js +3 -0
- package/esm/in-view-448ba714.js.map +1 -0
- package/esm/index.css +0 -0
- package/esm/index.js +80 -0
- package/esm/index.js.map +1 -0
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/label-value-layout-beb35b0d.js +3 -0
- package/esm/label-value-layout-beb35b0d.js.map +1 -0
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-action-5c5ca8a7.js +3 -0
- package/esm/modal-action-5c5ca8a7.js.map +1 -0
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/modal-wrapper-ff8df98b.js +3 -0
- package/esm/modal-wrapper-ff8df98b.js.map +1 -0
- package/esm/page-fixed-footer/index.js +1 -1
- package/esm/page-fixed-footer/index.js.map +1 -1
- package/esm/page-fixed-footer-5fa10112.js +3 -0
- package/esm/page-fixed-footer-5fa10112.js.map +1 -0
- package/esm/page404/index.js +1 -1
- package/esm/page404/index.js.map +1 -1
- package/esm/page404-f087129a.js +3 -0
- package/esm/page404-f087129a.js.map +1 -0
- package/esm/permission/index.js +1 -1
- package/esm/permission/index.js.map +1 -1
- package/esm/permission-a1c99455.js +3 -0
- package/esm/permission-a1c99455.js.map +1 -0
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/radio-group-wrapper-b34746d1.js +3 -0
- package/esm/radio-group-wrapper-b34746d1.js.map +1 -0
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/relation-tree-7bec12bd.js +3 -0
- package/esm/relation-tree-7bec12bd.js.map +1 -0
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/rich-text-viewer-5cbe01e9.js +3 -0
- package/esm/rich-text-viewer-5cbe01e9.js.map +1 -0
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/rule-describe-b4a8e831.js +3 -0
- package/esm/rule-describe-b4a8e831.js.map +1 -0
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-search-aad145b5.js +3 -0
- package/esm/selector-wrapper-search-aad145b5.js.map +1 -0
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/selector-wrapper-simple-49384d37.js +3 -0
- package/esm/selector-wrapper-simple-49384d37.js.map +1 -0
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/sms-count-down-c2609386.js +3 -0
- package/esm/sms-count-down-c2609386.js.map +1 -0
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper-f20b9a58.js +3 -0
- package/esm/switch-wrapper-f20b9a58.js.map +1 -0
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-title-tooltip/index.js +1 -1
- package/esm/table-title-tooltip/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tabs-wrapper-e26ba7fb.js +3 -0
- package/esm/tabs-wrapper-e26ba7fb.js.map +1 -0
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-group-4fbcaa14.js +3 -0
- package/esm/tag-group-4fbcaa14.js.map +1 -0
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/tag-wrapper-6d8b505e.js +3 -0
- package/esm/tag-wrapper-6d8b505e.js.map +1 -0
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-picker-wrapper-f1d26d96.js +3 -0
- package/esm/time-picker-wrapper-f1d26d96.js.map +1 -0
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js +3 -0
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js.map +1 -0
- package/esm/title-render-2874a932.js +3 -0
- package/esm/title-render-2874a932.js.map +1 -0
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-selector-wrapper-9cd9da23.js +3 -0
- package/esm/tree-selector-wrapper-9cd9da23.js.map +1 -0
- package/esm/tree-wrapper/index.css +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper-ea6a5bdd.js +3 -0
- package/esm/tree-wrapper-ea6a5bdd.js.map +1 -0
- package/index.d.ts +6 -0
- package/package.json +1 -1
|
@@ -3,5 +3,5 @@ import './../request-status/index.css';
|
|
|
3
3
|
import './../fba-hooks/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
|
|
6
|
+
export{T as TreeSelectorWrapper}from"../tree-selector-wrapper-9cd9da23.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CaretDownFilled";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"@dimjs/model-react";import"dequal";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"../request-status-03fc60e2.js";import"react/jsx-runtime";import"@dimjs/lang/cjs/is-object";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/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, isString } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNumber,\n isUndefinedOrNull,\n TAny,\n toArray,\n TPlainObject,\n treeToArray,\n valueIsEqual,\n} 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 { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList, treeSelectorWrapperValueDeepEqual } 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' | 'treeData' | 'loading' | 'onTreeExpand' | 'onChange' | 'value' | 'fieldNames'\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 * 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 // // label渲染适配器\n // onLabelRenderAdapter?: (dataItem: TPlainObject) => string;\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 /**\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};\n\ntype TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n};\n\n/**\n * 树选择器包装组件\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 // onLabelRenderAdapter,\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 showAllOption,\n ...otherProps\n } = props as TreeSelectorWrapperPropsInner;\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 /**\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 [innerOperateValue, setInnerOperateValue] = useState<\n Array<TPlainObject> | string | number | Array<string | number> | TPlainObject\n >();\n const isFirstUseValueRef = useRef(true);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (state.treeSelectorList.length > 0) {\n if (!treeSelectorWrapperValueDeepEqual(value, innerOperateValue, labelInValueFieldNamesMerge)) {\n console.log(`modelKey:${modelKey} TreeSelectorWrapper key refresh`, value, innerOperateValue);\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n setInnerOperateValue(valueList);\n // 重新计算 expandedKeys\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 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) {\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 = hooks.useCallbackRef((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);\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 };\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 innerOperateValueList = toArray(innerOperateValue);\n if (innerOperateValueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return innerOperateValueList.map((item) => ({ label: item, value: item }));\n }\n return innerOperateValueList.map((item) => {\n let targetParseItem: TPlainObject;\n let defualtValue;\n if (isString(item) || isNumber(item as TAny)) {\n const target = arrayFind(state.treeSelectorTiledArray, item as string, fieldNamesMerge.value);\n targetParseItem = parseDataSourceItem(target) as TPlainObject;\n defualtValue = item;\n } else {\n targetParseItem = parseLabelInValueItem(item as TPlainObject) as TPlainObject;\n }\n return {\n label: getValueOrDefault(targetParseItem?.label, defualtValue),\n value: getValueOrDefault(targetParseItem?.value, defualtValue),\n };\n });\n }\n return getVauleList(innerOperateValue, labelInValueFieldNamesMerge);\n }, [\n innerOperateValue,\n otherProps.treeCheckStrictly,\n labelInValueFieldNamesMerge,\n state.treeSelectorTiledArray,\n fieldNamesMerge.value,\n parseDataSourceItem,\n parseLabelInValueItem,\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","array2map","list","forEach","treeSelectorWrapperValueDeepEqual","value1","value2","isUndefinedOrNull","object1","object2","diff","dequal","TreeSelectorWrapper","props","_ref","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_ref$selectedParentCh","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","showAllOption","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","innerOperateValue","setInnerOperateValue","isFirstUseValueRef","useRef","useEffectCustom","current","console","log","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","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dataList","_ref2","tempItem","undefined","newdataList","concat","treeToArray","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","includes","targetList","parseDataSourceItem","parseLabelInValueItem","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","_ref3","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","innerOperateValueList","_targetParseItem","_targetParseItem2","targetParseItem","defualtValue","_isString","isNumber","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":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{isString as l}from"@dimjs/lang/cjs/is-string";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as u}from"@wove/react/cjs/hooks";import{_ as i,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{treeToTiledArray as s,treeLeafParentsArray as c,toArray as f,isUndefinedOrNull as v,treeToArray as d,arrayFind as m,valueIsEqual as h,isNumber as p,getValueOrDefault as S}from"@flatbiz/utils";import{TreeSelect as b,Button as C}from"antd";import{useState as g,useMemo as y,useRef as L,createElement as w}from"react";import{Model as k}from"@dimjs/model-react";import{dequal as q}from"dequal";import{fbaHooks as R}from"./fba-hooks/index.js";import{R as T}from"./request-status-03fc60e2.js";import{isObject as A}from"@dimjs/lang/cjs/is-object";import{jsx as j}from"react/jsx-runtime";var N={treeSelectorList:[],treeSelectorTiledArray:[],queryIsEmpty:false};var E={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledArray=r.treeSelectorTiledArray||[];e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:N};var x={};var I=function e(r){if(!x[r]){x[r]=k(E)}return x[r]};var P=function e(r,t,l){if(!n(t)||t.length===0)return[];var a=s(t,l);return c(r,a,true,{value:"value",parentValue:"parentValue"})};var V=function e(r,t){var l=f(r);l=l.map((function(e){if(A(e))return e[t.value];return e}));return l};var B=function e(r,t){var l=V(r,t);var n={};l.forEach((function(e){n[e]=true}));return n};var H=function e(r,t,l){if(v(r)&&v(t))return true;var n=B(r,l);var a=B(t,l);var u=q(n,a);return u};var O=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","onChangeHandle","showAllOption"];var D=function s(c){var k=c,A=k.serviceConfig,N=k.effectDependencyList,E=k.onTreeSelectorListChange,x=k.onTreeSelectorRequestError,B=k.treeSelectorList,D=k.requestMessageConfig,F=k.modelKey,K=k.value,W=k.labelInValue,_=k.labelInValueFieldNames,M=k.onTreeItemDataAdapter,z=k.selectedParentCheckedAllChildrenList,G=z===void 0?true:z,J=k.fieldNames,Q=k.onChange,U=k.onChangeHandle,X=k.showAllOption,Y=i(k,O);var Z=c.hasOwnProperty("treeSelectorList");var $=A||{};var ee=N||[];var re=R.useSafeState(false),te=re[0],le=re[1];var ne=g(),ae=ne[0],ue=ne[1];var ie=I(F).useStore(),oe=ie[0],se=ie[1];var ce="request-progress-"+F;var fe=Y.treeCheckable;var ve=y((function(){if(Y.treeCheckStrictly)return true;return W}),[W,Y.treeCheckStrictly]);var de=y((function(){return o({label:"label",value:"value",children:"children",disabled:"disabled"},J)}),[J]);var me=y((function(){return o({label:"label",value:"value"},_)}),[_]);var he=y((function(){if(X){var e=X===true;return{label:e?"全部":X.label,value:e?"":X.value}}return null}),[X]);var pe=g(),Se=pe[0],be=pe[1];var Ce=L(true);R.useEffectCustom((function(){if(v(K)&&Ce.current)return;Ce.current=false;if(oe.treeSelectorList.length>0){if(!H(K,Se,me)){console.log("modelKey:"+F+" TreeSelectorWrapper key refresh",K,Se);var e=V(K,me);be(e);var r=Re(e,true);ue(Array.from(new Set(r)))}}}),[K,oe.treeSelectorList]);var ge=function e(r){return r===""||v(r)};var ye=function e(r){var t=$.onRequestResultAdapter?$.onRequestResultAdapter(r):r;return t};var Le=u.useCallbackRef((function(){return new Promise((function(e,r){var t,l,n,u,i;if(!$.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=$.requiredParamsKeys||[];l=a({},$.params);n=t.find((function(e){return ge(l[e])}));if(n){console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var o=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{le(false);window[ce]=false;void se.changeRequestStatus("request-error");x==null?void 0:x(e);return o()}catch(e){return r(e)}};try{le(true);window[ce]=true;void se.changeRequestStatus("request-progress");return Promise.resolve($.onRequest==null?void 0:$.onRequest(l)).then((function(e){try{u=e;i=ye(u);le(false);window[ce]=false;we(i||[]);return o()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));u.useCustomCompareEffect((function(){if(Z)return;if(Boolean(ee.length)){we([]);void Le();return}var e=I(F).getState();if(e.requestStatus==="request-success"){return}if(!window[ce]){void Le();return}}),ee,q);var we=u.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&oe.treeSelectorList.length===0){void se.setSelectBoxList({treeSelectorList:[],treeSelectorTiledArray:[]});E==null?void 0:E([]);return}var t=he?(r={},r[de.label]=he.label,r[de.value]=he.value,r):undefined;var l=X?[t].concat(e):e;void se.setSelectBoxList({treeSelectorList:l,treeSelectorTiledArray:d(l||[],de.children)});E==null?void 0:E(e)}));R.useEffectCustom((function(){if(Z){we(B||[])}}),[B]);var ke=u.useCallbackRef((function(e){ue(e)}));var qe=u.useCallbackRef((function(){void Le()}));var Re=u.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&ae!=null&&ae.includes(e))return;var l=P(e,oe.treeSelectorList,de);t=t.concat(l.map((function(e){return e.value})))}));return t}));var Te=u.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[de.label],value:e==null?void 0:e[de.value],children:e==null?void 0:e[de.children],disabled:e==null?void 0:e["disabled"]}}));var Ae=u.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[me.label],value:e==null?void 0:e[me.value],disabled:e==null?void 0:e["disabled"]}}));var je=u.useCallbackRef((function(e,r){var t=V(e,{value:"value",label:"label"});var l=[];t.forEach((function(e){var r=m(oe.treeSelectorTiledArray,e,de.value);if(!r)return;l.push(r)}));if(Y.treeCheckStrictly&&G){var a=Te(r.checked?m(oe.treeSelectorTiledArray,r.triggerValue,de.value):null);if(a&&n(a.children)&&a.children.length>0){var u=d(a.children,de.children);var i=u.filter((function(e){var r=Te(e);if(r!=null&&r.disabled)return false;if(m(l,r==null?void 0:r.value,de.value))return false;return true}));l=l.concat(i)}}var o=[];if(Y.treeCheckable){if(Y.treeCheckStrictly===true||h(Y.showCheckedStrategy,["SHOW_ALL","SHOW_PARENT"])){o=l}else{o=l.filter((function(e){var r=e[de.children];return!(n(r)&&r.length>0)}))}}else{o=l}return{realTreeNodeList:o,realTreeNodeValueList:V(o,de)}}));var Ne=u.useCallbackRef((function(e,r,t){be(e);Q==null?void 0:Q(e);U==null?void 0:U(e,r,t)}));var Ee=u.useCallbackRef((function(e,r,t){var l=je(e,t),n=l.realTreeNodeList,a=l.realTreeNodeValueList;if(Y.treeCheckable){ue((function(e){var r=Re(a).concat(e||[]);return Array.from(new Set(r))}))}if(ve){var u=n.map((function(e){var r;var t=Te(e);return r={},r[me.label]=t==null?void 0:t.label,r[me.value]=t==null?void 0:t.value,r}));if(fe){Ne==null?void 0:Ne(u,n,t)}else{Ne==null?void 0:Ne(u[0],n[0],t)}}else{if(fe){Ne==null?void 0:Ne(a,n,t)}else{Ne==null?void 0:Ne(a[0],n[0],t)}}}));var xe=u.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(M==null?void 0:M(o({},e)))||e;var t=r[de.children];var l=r[de.value];var n=r[de.label];var a=r[de.disabled]?r[de.disabled]:r.disabled;return w(b.TreeNode,o({},r,{disabled:a,value:l,title:n,key:""+l}),t&&t.length>0&&xe(t))}))}));var Ie=y((function(){var e=f(Se);if(e.length==0)return[];if(Y.treeCheckStrictly){if(oe.treeSelectorTiledArray.length===0){return e.map((function(e){return{label:e,value:e}}))}return e.map((function(e){var r,t;var n;var a;if(l(e)||p(e)){var u=m(oe.treeSelectorTiledArray,e,de.value);n=Te(u);a=e}else{n=Ae(e)}return{label:S((r=n)==null?void 0:r.label,a),value:S((t=n)==null?void 0:t.value,a)}}))}return V(Se,me)}),[Se,Y.treeCheckStrictly,me,oe.treeSelectorTiledArray,de.value,Te,Ae]);var Pe=y((function(){if(n(Ie)&&Ie.length===0){return undefined}return fe?Ie:Ie[0]}),[fe,Ie]);return j(b,o({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:j(t,{}),showArrow:true},Y,{className:r("v-tree-select-wrapper",Y.className),popupClassName:r("v-tree-select-wrapper-dropdown",Y.popupClassName),onChange:Ee,treeExpandedKeys:ae,value:Pe,loading:te,dropdownMatchSelectWidth:false,onTreeExpand:ke,style:o({width:"100%"},Y.style),suffixIcon:oe.requestStatus==="request-error"?j(e,{spin:te,onClick:qe}):undefined,notFoundContent:j(T,{status:oe.requestStatus,messageConfig:D,loading:te,errorButton:j(C,{type:"primary",onClick:qe,children:"重新获取数据"})}),children:xe(oe.treeSelectorList)}))};export{D as T};
|
|
3
|
+
//# sourceMappingURL=tree-selector-wrapper-9cd9da23.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-selector-wrapper-9cd9da23.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, isString } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNumber,\n isUndefinedOrNull,\n TAny,\n toArray,\n TPlainObject,\n treeToArray,\n valueIsEqual,\n} 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 { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList, treeSelectorWrapperValueDeepEqual } 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' | 'treeData' | 'loading' | 'onTreeExpand' | 'onChange' | 'value' | 'fieldNames'\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 * 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 // // label渲染适配器\n // onLabelRenderAdapter?: (dataItem: TPlainObject) => string;\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 /**\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};\n\ntype TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n};\n\n/**\n * 树选择器包装组件\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 // onLabelRenderAdapter,\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 showAllOption,\n ...otherProps\n } = props as TreeSelectorWrapperPropsInner;\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 /**\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 [innerOperateValue, setInnerOperateValue] = useState<\n Array<TPlainObject> | string | number | Array<string | number> | TPlainObject\n >();\n const isFirstUseValueRef = useRef(true);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (state.treeSelectorList.length > 0) {\n if (!treeSelectorWrapperValueDeepEqual(value, innerOperateValue, labelInValueFieldNamesMerge)) {\n console.log(`modelKey:${modelKey} TreeSelectorWrapper key refresh`, value, innerOperateValue);\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n setInnerOperateValue(valueList);\n // 重新计算 expandedKeys\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 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) {\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 = hooks.useCallbackRef((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);\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 };\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 innerOperateValueList = toArray(innerOperateValue);\n if (innerOperateValueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return innerOperateValueList.map((item) => ({ label: item, value: item }));\n }\n return innerOperateValueList.map((item) => {\n let targetParseItem: TPlainObject;\n let defualtValue;\n if (isString(item) || isNumber(item as TAny)) {\n const target = arrayFind(state.treeSelectorTiledArray, item as string, fieldNamesMerge.value);\n targetParseItem = parseDataSourceItem(target) as TPlainObject;\n defualtValue = item;\n } else {\n targetParseItem = parseLabelInValueItem(item as TPlainObject) as TPlainObject;\n }\n return {\n label: getValueOrDefault(targetParseItem?.label, defualtValue),\n value: getValueOrDefault(targetParseItem?.value, defualtValue),\n };\n });\n }\n return getVauleList(innerOperateValue, labelInValueFieldNamesMerge);\n }, [\n innerOperateValue,\n otherProps.treeCheckStrictly,\n labelInValueFieldNamesMerge,\n state.treeSelectorTiledArray,\n fieldNamesMerge.value,\n parseDataSourceItem,\n parseLabelInValueItem,\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","array2map","list","forEach","treeSelectorWrapperValueDeepEqual","value1","value2","isUndefinedOrNull","object1","object2","diff","dequal","TreeSelectorWrapper","props","_ref","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_ref$selectedParentCh","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","showAllOption","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState2","innerOperateValue","setInnerOperateValue","isFirstUseValueRef","useRef","useEffectCustom","current","console","log","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","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dataList","_ref2","tempItem","undefined","newdataList","concat","treeToArray","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","includes","targetList","parseDataSourceItem","parseLabelInValueItem","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","_ref3","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","innerOperateValueList","_targetParseItem","_targetParseItem2","targetParseItem","defualtValue","_isString","isNumber","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{flex: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:scroll;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}
|
|
@@ -9,5 +9,5 @@ import './../input-search-wrapper/index.css';
|
|
|
9
9
|
import './../request-status/index.css';
|
|
10
10
|
import './index.css';
|
|
11
11
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
12
|
-
import e from"@ant-design/icons/es/icons/CaretDownFilled";import r from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{extend as n}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as l,a as u}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as s}from"@dimjs/model";import{treeToArray as o,treeToTiledArray as c,treeLeafParentsArray as d,isUndefinedOrNull as f,toArray as v,treeFilter as m}from"@flatbiz/utils";import{Tree as p,Button as h,message as g}from"antd";import{forwardRef as b,useState as y,useMemo as L,useRef as C,useImperativeHandle as w,Fragment as j,isValidElement as R}from"react";import{a as q}from"../button-operate-04d9185b.js";import{D as k}from"../dropdown-menu-wrapper-2c4b6cad.js";import{fbaHooks as N}from"../fba-hooks/index.js";import{I as S}from"../input-search-wrapper-10d4a9b9.js";import{R as T}from"../request-status-03fc60e2.js";import{Model as P}from"@dimjs/model-react";import{isObject as E}from"@dimjs/lang/cjs/is-object";import{dequal as A}from"dequal";import{jsxs as D,jsx as x}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-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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-1e895394.js";import"../use-responsive-point-21b8c601.js";var I={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=o(e.treeList,r.childrenName);e.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 e(r){return function(e){var t=o(e.treeList,r.childrenName);var n=t.find((function(e){return e[r.valueName]===r.value}));if(n){if(a(r.appendList)&&r.appendList.length>0){n[r.childrenName]=r.appendList}else{n.isLeaf=true}}e.treeTiledArray=o(e.treeList,r.childrenName)}}},state:I};var V={};var K=function e(r){if(!V[r]){V[r]=P(O)}return V[r]};var F=function e(r,t,a){var n=c(t,a);return d(r,n,true,{value:"value",parentValue:"parentValue"})};var _=function e(r,t){var n=f(r)?[]:r;n=a(n)?n:[n];n=n.map((function(e){if(E(e))return e[t.value];return e}));return n};var M=function e(r,t){var a=_(r,t);var n={};a.forEach((function(e){n[e]=true}));return n};var U=function e(r,t,a){if(f(r)&&f(t))return true;var n=M(r,a);var i=M(t,a);var l=A(n,i);return l};var z=["serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand"];var B=b((function(o,d){var b=o.serviceConfig,P=o.effectDependencyList,E=o.selectorTreeList,A=o.value,I=o.onChange,O=o.modelKey,V=o.checkableResponseParentNode,M=V===void 0?true:V,B=o.checkable,W=o.onSelectorTreeListChange,Y=o.treeItemDataAdapter,H=o.searchValue,G=o.showSearch,J=o.searchPlaceholder,Q=o.requestMessageConfig,X=o.labelInValueFieldNames,Z=o.labelInValue,$=o.disabledCanUse,ee=o.menuLayoutType,re=o.menuTriggerType,te=o.initRootExpand,ae=l(o,z);var ne=o.hasOwnProperty("selectorTreeList");var ie=b||{};var le=P||[];var ue=y(),se=ue[0],oe=ue[1];var ce=K(O).useStore(),de=ce[0],fe=ce[1];var ve=N.useSafeState(false),me=ve[0],pe=ve[1];var he="request-progress-"+o.modelKey;var ge=L((function(){return u({label:"label",value:"value",children:"children"},o.fieldNames)}),[o.fieldNames]);var be=C();var ye=ee===undefined?"fold":ee;var Le=re===undefined?"click":re;var Ce=B===true;var we=L((function(){return u({label:"label",value:"value"},X)}),[X]);var je=y(),Re=je[0],qe=je[1];var ke=C(true);var Ne=y(0),Se=Ne[0],Te=Ne[1];var Pe=C();var Ee=L((function(){var e=_(A,we);return e}),[we,A]);N.useEffectCustom((function(){if(f(A)&&ke.current||de.treeList.length==0)return;ke.current=false;if(!U(A,Pe.current,we)){console.log("modelKey:"+O+" TreeWrapper key refresh",A,Pe.current);Pe.current=Ce?Ee:Ee[0];var e=Oe(Ee,true);oe(Array.from(new Set(e)));be.current=Ee;Te(Date.now())}}),[A,de.treeList]);var Ae=function e(r){return r===""||f(r)};var De=function e(r){var t=ie.onRequestResultAdapter?ie.onRequestResultAdapter(r):r;return t};N.useEffectCustom((function(){qe(H)}),[H]);var xe=i.useCallbackRef((function(){return new Promise((function(e,r){var t,a,i,l,u;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{pe(false);void g.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!ie.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=ie.requiredParamsKeys;a=n({},ie.params);if(t){i=t.find((function(e){return Ae(a[e])}));if(i){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[he]=false;pe(false);void fe.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{pe(true);return Promise.resolve(fe.changeRequestStatus("request-progress")).then((function(e){try{window[he]=true;return Promise.resolve(ie.onRequest==null?void 0:ie.onRequest(a)).then((function(e){try{l=e;u=De(l);Ie(u||[]);pe(false);if(te&&v(u).length){oe([u==null?void 0:u[0][ge.value]])}window[he]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));N.useEffectCustom((function(){if(ne)return;if(Boolean(le.length)){void xe();return}var e=K(O).getState();if(e.requestStatus==="request-success"){return}if(!window[he]){void xe();return}}),le);N.useEffectCustom((function(){if(ne){Ie(E||[])}}),[E]);var Ie=i.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&de.treeList.length===0){void fe.changeRequestStatus("request-success");return}void fe.setTreeList({treeList:e||[],childrenName:ge.children});W==null?void 0:W(e)}));var Oe=i.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&se!=null&&se.includes(e))return;var a=F(e,de.treeList,ge);t=t.concat(a.map((function(e){return e.value})))}));return t}));i.useUpdateEffect((function(){if(Re){var e=c(de.treeList||[],ge);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Re||"")}));oe((function(e){var t=Oe(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{oe([])}}),[Re]);w(d,(function(){return{onClearSelectorList:function e(){void fe.resetTreeList()},getTreeDataList:function e(){return de.treeList}}}));var Ve=i.useCallbackRef((function(e){oe(e)}));var Ke=i.useCallbackRef((function(e,r,t){Pe.current=e;var n=f(r)?[]:a(r)?r:[r];if(f(e)){I==null?void 0:I(e,r,t);return}if(Z){var i=we.label;var l=we.value;var u=n.map((function(e){var r;return r={},r[i]=e[ge.label],r[l]=e[ge.value],r}));if(a(e)){I==null?void 0:I(u,n,t)}else{I==null?void 0:I(u[0],n[0],t)}}else{if(a(e)){I==null?void 0:I(e,n,t)}else{I==null?void 0:I(e,n[0],t)}}}));var Fe=i.useCallbackRef((function(e,r){var t=o.checkStrictly?e.checked:e;t=f(e)?[]:e;t=a(t)?t:[t];var n=[];var i=[];var l=[];var u=[];t.forEach((function(e){var r=de.treeTiledArray.find((function(r){return r[ge.value]===e}));if(!r)return;var t=r==null?void 0:r[ge.children];if(!a(t)||t.length===0){n.push(r);i.push(r[ge.value])}l.push(r);u.push(r[ge.value])}));if(B){oe((function(e){var r=Oe(i).concat(e||[]);return Array.from(new Set(r))}));if(!M&&!o.checkStrictly){Ke(i,n,l)}else{Ke(u,l,l)}}else{if(t[0]){var s=l.find((function(e){return e[ge.value]===t[0]}));Ke(t[0],s,[s])}else{var c=r.node[ge.value];var d=de.treeTiledArray.find((function(e){return e[ge.value]===c}));Ke(undefined,d,[d])}}}));var _e=i.useCallbackRef((function(e){return Y==null?void 0:Y(e)}));var Me=L((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var n;var i=(_e==null?void 0:_e(r))||r;var l=$?undefined:i.disabled;var s=i[ge.label];var o;if(Re){var c=s.indexOf(Re);var d=s.substring(0,c);var f=s.slice(c+Re.length);o=c>-1?D("span",{className:t({"v-tree-item-disabled":i.disabled}),children:[d,x("span",{className:"site-tree-search-value",children:Re}),f]}):null}if(!o){o=x("span",{className:t({"v-tree-item-disabled":i.disabled}),children:s})}var v=i[ge.children];return u({},i,(n={disabled:l},n[ge.label]=o,n._treeItemName=s,n._disabled=i.disabled,n[ge.children]=a(v)&&v.length>0?e(v):undefined,n))}))};var r=s(de.treeList||[]);if(Re){return e(m(s(de.treeList||[]),(function(e){var r;var t=(r=e[ge.label])==null?void 0:r.toLowerCase();return t.indexOf(Re.toLowerCase())>=0})))}return e(r)}),[de.treeList,_e,$,ge.label,ge.children,Re]);var Ue=i.useCallbackRef((function(e){return new Promise((function(r,t){return new Promise((function(a,n){var i,l,u,s;if(e[ge.children]){r();return a()}var c=function(){try{return a()}catch(e){return n(e)}};var d=function(e){try{void g.error(e.message||"数据加载异常...");t();return c()}catch(e){return n(e)}};try{return Promise.resolve((i=o.loadDataServiceConfig)==null?void 0:i.onRequest==null?void 0:i.onRequest((l=o.loadDataServiceConfig)==null?void 0:l.getParams==null?void 0:l.getParams(e))).then((function(t){try{u=t;s=ie.onRequestResultAdapter?ie.onRequestResultAdapter(u):u;void fe.treeListAppendChildren({value:e[ge.value],appendList:s,childrenName:ge.children,valueName:ge.value}).then((function(e){Ie(e.treeList);r()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var ze=i.useCallbackRef((function(e){var r=e==null?void 0:e[ge.children];var t=o.loadDataFlag;var a=t?!e.isLeaf:false;var n=r&&r.length>0||a;return!n}));var Be=i.useCallbackRef((function(e){var a,n;var i=e._treeItemName||e[ge.label];if(ye==="fold"){var l;var s=[];if((l=o.menuOptions)!=null&&l.fold){var c,d,f;s=((c=o.menuOptions)==null?void 0:(d=c[ye])==null?void 0:d.call(c,u({},e,(f={},f[ge.label]=i,f))))||[]}else{var v;s=(o.getMenuOptions==null?void 0:o.getMenuOptions(u({},e,(v={},v[ge.label]=i,v))))||[]}return D(j,{children:[x("span",{className:"tree-item-title",children:e==null?void 0:e[ge.label]}),s.length>0&&x(k,{menuList:s,children:x(r,{})})]})}var m=(a=o.menuOptions)==null?void 0:a.tile==null?void 0:a.tile(u({},e,(n={},n[ge.label]=i,n)));return D(j,{children:[x("span",{className:"tree-item-title",children:e==null?void 0:e[ge.label]}),m?x(q,u({},m,{gap:5,className:t("tree-item-title-operate",m.className)})):null]})}));var We=i.useDebounceCallback((function(e){qe(e);o.onSearchValueChange==null?void 0:o.onSearchValueChange(e)}),300);var Ye=i.useCallbackRef((function(e){We(e.target.value)}));var He=i.useCallbackRef((function(e){if(!o.icon)return null;if(R(o.icon))return o.icon;var r=ze(e.data);return o.icon(u({},e,{isParent:!r,isLeaf:r}))}));var Ge=L((function(){return{title:ge.label,key:ge.value,children:ge.children}}),[ge]);var Je=Me.length>0&&de.requestStatus!=="request-error";var Qe=u({showLine:{showLeafIcon:false},titleRender:Be,blockNode:true,switcherIcon:x(e,{})},ae,{fieldNames:Ge,expandedKeys:se,treeData:Me,onExpand:Ve,loadData:o.loadDataFlag?Ue:undefined,style:u({width:"100%"},ae.style),icon:He});var Xe={onCheck:Fe,checkable:B,defaultCheckedKeys:be.current};var Ze={onSelect:Fe,multiple:false,defaultSelectedKeys:be.current};var $e=B?Xe:Ze;var er=t("v-tree-wrapper","v-tree-wrapper-menu-"+Le);var rr=de.treeList.length>0&&!Je&ℜreturn D("div",{className:er,children:[!!G&&D("div",{className:"v-tree-wrapper-search-area",children:[x(S,{className:"v-tree-wrapper-search",placeholder:J,onChange:Ye,value:H,allowClear:true}),!!o.searchExtraElement&&x("span",{className:"v-tree-wrapper-search-extra",children:o.searchExtraElement})]}),Je?x(p,u({},$e,Qe,{className:"v-tree-wrapper-tree"}),Se):x(T,{status:de.requestStatus,loading:me,messageConfig:u({"request-success":rr?"搜索结果为空":"暂无数据"},Q),errorButton:x(h,{type:"primary",onClick:xe,children:"重新获取数据"})})]})}));B.defaultProps={disabledCanUse:true};export{B as TreeWrapper};
|
|
12
|
+
export{T as TreeWrapper}from"../tree-wrapper-ea6a5bdd.js";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/model";import"@flatbiz/utils";import"antd";import"react";import"../button-operate-04d9185b.js";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-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dropdown-menu-wrapper-2c4b6cad.js";import"../input-search-wrapper-10d4a9b9.js";import"../request-status-03fc60e2.js";import"@dimjs/model-react";import"@dimjs/lang/cjs/is-object";import"dequal";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-wrapper/model.ts","@flatbiz/antd/src/tree-wrapper/utils.ts","@flatbiz/antd/src/tree-wrapper/tree-wrapper.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TPlainObject, treeToArray, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeList: TSetDefaultDefined<TreeProps['treeData'], []>;\n treeTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setTreeList: {\n treeList: ModelState['treeList'];\n childrenName: string;\n };\n resetTreeList: void;\n changeRequestStatus: TRequestStatus;\n treeListAppendChildren: {\n value: string | number;\n appendList: TPlainObject[];\n childrenName: string;\n valueName: string;\n };\n};\n\nconst defaultState: ModelState = {\n treeList: [],\n treeTiledArray: [],\n queryIsEmpty: false,\n};\n\nconst TreeWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setTreeList: (params) => {\n return (state) => {\n state.treeList = params.treeList || [];\n state.treeTiledArray = treeToArray(state.treeList, params.childrenName);\n state.requestStatus = 'request-success';\n };\n },\n resetTreeList: () => {\n return (state) => {\n state.treeList = [];\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n if (params === 'request-error') {\n state.treeList = [];\n }\n };\n },\n treeListAppendChildren: (params) => {\n return (state) => {\n const array = treeToArray(state.treeList, params.childrenName);\n const target = array.find((item) => item[params.valueName] === params.value);\n if (target) {\n if (isArray(params.appendList) && params.appendList.length > 0) {\n target[params.childrenName] = params.appendList;\n } else {\n target.isLeaf = true;\n }\n }\n state.treeTiledArray = treeToArray(state.treeList, params.childrenName);\n };\n },\n },\n state: defaultState,\n};\n\nconst treeWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, any>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeWrapperModel('key值').useStore();\n * ```\n */\nexport const treeWrapperModel = (key: string) => {\n if (!treeWrapperModels[key]) {\n treeWrapperModels[key] = Model(TreeWrapperModel);\n }\n return treeWrapperModels[key];\n};\n","import { TPlainObject, treeLeafParentsArray, treeToTiledArray } from '@flatbiz/utils';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: { label?: string; value?: string; children?: string },\n) => {\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nimport { isArray, isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, LabelValueItem } from '@flatbiz/utils';\nimport { dequal } from 'dequal';\n\nexport const getVauleList = (data, labelInValueFieldNames: LabelValueItem<string | number>) => {\n let tempList = isUndefinedOrNull(data) ? [] : data;\n tempList = isArray(tempList) ? tempList : [tempList];\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[labelInValueFieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, labelInValueFieldNames: LabelValueItem<string | number>) => {\n const list = getVauleList(data, labelInValueFieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括\n * string、number、\n * Array<string | number>、{ label: string, value: string | nuber }、\n * Array<{ label: string, value: string | nuber }>\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n labelInValueFieldNames: LabelValueItem<string | number>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, labelInValueFieldNames);\n const object2 = array2map(value2, labelInValueFieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, MoreOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, extend } from '@dimjs/utils';\n\nimport { isUndefinedOrNull, TAny, toArray, TPlainObject, treeToTiledArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Tree, TreeProps } from 'antd';\nimport {\n DependencyList,\n forwardRef,\n Fragment,\n isValidElement,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { treeFilter } from '@flatbiz/utils';\nimport { ButtonOperate, ButtonOperateItem, ButtonOperateProps } from '../button-operate';\nimport { DropdownMenuItem, DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { InputSearchWrapper } from '../input-search-wrapper';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { treeWrapperModel } from './model';\nimport './style.less';\nimport { getExpandedKeys, getVauleList, treeWrapperValueDeepEqual } from './utils';\n\ntype TreeWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\ntype TreeLoadDataServiceConfig = {\n getParams: (dataItem: TPlainObject) => TPlainObject;\n onRequest: (params: TPlainObject) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeWrapperMenuItem = {\n title: string;\n onClick: (dataItem: TPlainObject, event) => void;\n icon?: ReactElement;\n};\n\nexport type TreeWrapperProps = Omit<\n TreeProps,\n | 'expandedKeys'\n | 'treeData'\n | 'onExpand'\n | 'selectedKeys'\n | 'checkedKeys'\n | 'onCheck'\n | 'onSelect'\n | 'defaultCheckedKeys'\n | 'defaultSelectedKeys'\n | 'fieldNames'\n | 'multiple'\n | 'loadData'\n | 'icon'\n> & {\n modelKey: string;\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`selectorTreeList`后无效果\n */\n serviceConfig?: TreeServiceConfig;\n loadDataServiceConfig?: TreeLoadDataServiceConfig;\n /**\n * 当设置selectorTreeList后,serviceConfig将失效\n * ```\n * 1. 不支持异步数据,异步使用serviceConfig方式\n * ```\n */\n selectorTreeList?: TPlainObject[];\n /**\n * 通过服务获取数据后回调,当设置`selectorList`后无效果\n */\n onSelectorTreeListChange?: (dataList: TPlainObject[]) => void;\n onChange?: (\n selectedKey?: TreeWrapperValue,\n operateNodeData?: TPlainObject[] | TPlainObject,\n operateAllNodeDataList?: TPlainObject[],\n ) => void;\n fieldNames?: { label?: string; value?: string; children?: string };\n /**\n * 搜索关键字,打开tree折叠过滤关键字\n */\n searchValue?: string;\n /**\n * checkable模式下,onChange是否返回父节点,默认值true\n * 1. checkStrictly = true,模式下失效\n */\n checkableResponseParentNode?: boolean;\n loadDataFlag?: boolean;\n /** 菜单结构类型 tile/平铺 fold/折叠;默认:fold */\n menuLayoutType?: 'tile' | 'fold';\n /** 菜单触发类型,默认:click */\n menuTriggerType?: 'click' | 'hover';\n /**\n * 获取菜单类别\n * @param dataItem\n * @deprecated 已过期,请使用 menuOptions\n * @returns\n * ```\n * menuLayoutType = tile 无效\n * ```\n */\n getMenuOptions?: (dataItem: TPlainObject) => DropdownMenuItem[] | ButtonOperateItem[];\n\n /**\n * 根据 menuLayoutType 类型赋值\n */\n menuOptions?: {\n tile?: (dataItem: TPlainObject) => ButtonOperateProps;\n fold?: (dataItem: TPlainObject) => DropdownMenuItem[];\n };\n showSearch?: boolean;\n onSearchValueChange?: (searchValue?: string) => void;\n searchPlaceholder?: string;\n icon?: (data: { isParent: boolean; isLeaf: boolean }) => ReactElement;\n /**\n * 是否必选,最后一个不能取消\n */\n // required?: boolean;\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?: TreeWrapperValue;\n labelInValue?: boolean;\n /**\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * 禁用状态是否可选,默认值true\n * 当dateItem中包含 disabled 则数据为禁用状态\n */\n disabledCanUse?: boolean;\n\n /** treeItem数据适配器 */\n treeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n /** 搜索位置额外元素 */\n searchExtraElement?: ReactElement;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\nexport type TreeWrapperRefApi = {\n onClearSelectorList: () => void;\n getTreeDataList: () => TreeProps['treeData'];\n};\n\n/**\n * Tree包装组件,默认返回父节点,可配置不返回\n * @param props\n * @returns\n * ```\n * 1. treeNode内置字段说明(如需要相关功能,可在接口中添加固定字段)\n * a. disabled 禁掉响应\n * b. isLeaf 设置为叶子节点 (设置了 loadData 时有效)。为 false 时会强制将其作为父节点\n * c. disableCheckbox checkable模式下,treeNode复选框是否可选\n * 2. 当设置selectorTreeList属性后,serviceConfig将失效\n * 3. checkable=true,为多选模式\n * 4. 设置value后,组件显示受控\n * 5. 设置loadDataFlag=true,会动态获取children,当treeNode中包含isLeaf=true字段,表示为叶子节点,没有children了\n * ```\n */\nexport const TreeWrapper = forwardRef<TreeWrapperRefApi, TreeWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n effectDependencyList,\n selectorTreeList,\n value,\n onChange,\n modelKey,\n checkableResponseParentNode = true,\n checkable,\n onSelectorTreeListChange,\n treeItemDataAdapter,\n searchValue,\n showSearch,\n searchPlaceholder,\n requestMessageConfig,\n labelInValueFieldNames,\n labelInValue,\n disabledCanUse,\n menuLayoutType,\n menuTriggerType,\n initRootExpand,\n ...otherProps\n } = props;\n const hasSelectorTreeList = props.hasOwnProperty('selectorTreeList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeWrapperModel(modelKey).useStore();\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const requestPreKey = `request-progress-${props.modelKey}`;\n const fieldNames = useMemo(() => {\n return { label: 'label', value: 'value', children: 'children', ...props.fieldNames };\n }, [props.fieldNames]);\n // 必须是数组格式\n const defaultValueRef = useRef<Array<string | number>>();\n const menuLayoutTypeNew = menuLayoutType === undefined ? 'fold' : menuLayoutType;\n const menuTriggerTypeNew = menuTriggerType === undefined ? 'click' : menuTriggerType;\n\n const isMultiple = checkable === true;\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n // tree 搜索值\n const [treeSearchValue, setTreeSearchValue] = useState<string>();\n\n const isFirstUseValueRef = useRef(true);\n const [refreshKey, setRefreshKey] = useState(0);\n const innerOperateValueRef = useRef<Array<string | number> | string | number>();\n\n const valueList = useMemo(() => {\n const tempList = getVauleList(value, labelInValueFieldNamesMerge);\n return tempList;\n }, [labelInValueFieldNamesMerge, value]);\n\n fbaHooks.useEffectCustom(() => {\n if ((isUndefinedOrNull(value) && isFirstUseValueRef.current) || state.treeList.length == 0) return;\n isFirstUseValueRef.current = false;\n if (!treeWrapperValueDeepEqual(value, innerOperateValueRef.current, labelInValueFieldNamesMerge)) {\n console.log(`modelKey:${modelKey} TreeWrapper key refresh`, value, innerOperateValueRef.current);\n innerOperateValueRef.current = isMultiple ? valueList : valueList[0];\n // 重新计算 expandedKeys\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n defaultValueRef.current = valueList;\n setRefreshKey(Date.now());\n }\n }, [value, state.treeList]);\n\n const valueIsEmpty = (data: string | number) => {\n return data === '' || isUndefinedOrNull(data);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n return respDataList;\n };\n\n fbaHooks.useEffectCustom(() => {\n setTreeSearchValue(searchValue);\n }, [searchValue]);\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n try {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys;\n const params = extend({}, newServiceConfig.params);\n if (requiredParamsKeys) {\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n console.warn(`TreeWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n try {\n setLoading(true);\n await actions.changeRequestStatus('request-progress');\n window[requestPreKey] = true;\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeProps['treeData'];\n onChangeSelectorList(respData || []);\n setLoading(false);\n if (initRootExpand && toArray(respData).length) {\n setTreeExpandedKeys([respData?.[0][fieldNames.value]]);\n }\n window[requestPreKey] = false;\n } catch (error) {\n window[requestPreKey] = false;\n setLoading(false);\n void actions.changeRequestStatus('request-error');\n }\n } catch (error) {\n setLoading(false);\n void message.error((error.message as string) || '数据查询异常...');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasSelectorTreeList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (Boolean(newEffectDependencyList.length)) {\n void startDataSourceRequest();\n return;\n }\n const allState = treeWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n }, newEffectDependencyList);\n\n fbaHooks.useEffectCustom(() => {\n if (hasSelectorTreeList) {\n onChangeSelectorList(selectorTreeList || []);\n }\n }, [selectorTreeList]);\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeList.length === 0) {\n void actions.changeRequestStatus('request-success');\n return;\n }\n void actions.setTreeList({\n treeList: dataList || [],\n childrenName: fieldNames.children,\n });\n onSelectorTreeListChange?.(dataList);\n });\n\n const getTreeExpandedKeys = hooks.useCallbackRef((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.treeList, fieldNames);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n });\n\n hooks.useUpdateEffect(() => {\n if (treeSearchValue) {\n const tiledArray = treeToTiledArray(state.treeList || [], fieldNames);\n const targetList = tiledArray.filter((item) => item.label?.includes(treeSearchValue || ''));\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(targetList.map((item) => item.value)).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n } else {\n setTreeExpandedKeys([]);\n }\n }, [treeSearchValue]);\n\n useImperativeHandle(ref, () => {\n return {\n onClearSelectorList: () => {\n void actions.resetTreeList();\n },\n getTreeDataList: () => {\n return state.treeList;\n },\n };\n });\n\n const onExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onRespChange = hooks.useCallbackRef((selectedKey, selectInfo?, selectAllList?) => {\n innerOperateValueRef.current = selectedKey;\n const selectList = isUndefinedOrNull(selectInfo) ? [] : isArray(selectInfo) ? selectInfo : [selectInfo];\n if (isUndefinedOrNull(selectedKey)) {\n onChange?.(selectedKey, selectInfo, selectAllList);\n return;\n }\n if (labelInValue) {\n const lvLabel = labelInValueFieldNamesMerge.label;\n const lvValue = labelInValueFieldNamesMerge.value;\n const labelInValueList = selectList.map((item) => {\n return {\n [lvLabel]: item[fieldNames.label],\n [lvValue]: item[fieldNames.value],\n };\n });\n if (isArray(selectedKey)) {\n onChange?.(labelInValueList, selectList, selectAllList);\n } else {\n onChange?.(labelInValueList[0], selectList[0], selectAllList);\n }\n } else {\n if (isArray(selectedKey)) {\n onChange?.(selectedKey, selectList, selectAllList);\n } else {\n onChange?.(selectedKey, selectList[0], selectAllList);\n }\n }\n });\n\n const onTreeChangeHandle = hooks.useCallbackRef((checkedData, operateInfo) => {\n let checkedValueList = props.checkStrictly ? checkedData.checked : checkedData;\n checkedValueList = isUndefinedOrNull(checkedData) ? [] : checkedData;\n checkedValueList = isArray(checkedValueList) ? checkedValueList : [checkedValueList];\n\n const selectedLeafList = [] as TPlainObject[];\n const selectedLeafValueList = [] as Array<string | number>;\n const selectedAllList = [] as TPlainObject[];\n const selectedAllValueList = [] as Array<string | number>;\n checkedValueList.forEach((item) => {\n const target = state.treeTiledArray.find((temp) => temp[fieldNames.value] === item);\n if (!target) return;\n const children = target?.[fieldNames.children];\n if (!isArray(children) || children.length === 0) {\n selectedLeafList.push(target);\n selectedLeafValueList.push(target[fieldNames.value]);\n }\n selectedAllList.push(target);\n selectedAllValueList.push(target[fieldNames.value]);\n });\n\n if (checkable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(selectedLeafValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n if (!checkableResponseParentNode && !props.checkStrictly) {\n onRespChange(selectedLeafValueList, selectedLeafList, selectedAllList);\n } else {\n onRespChange(selectedAllValueList, selectedAllList, selectedAllList);\n }\n } else {\n if (checkedValueList[0]) {\n const currentNode = selectedAllList.find((item) => item[fieldNames.value] === checkedValueList[0]);\n onRespChange(checkedValueList[0], currentNode, [currentNode]);\n } else {\n const nodeValue = operateInfo.node[fieldNames.value];\n const target = state.treeTiledArray.find((temp) => temp[fieldNames.value] === nodeValue);\n onRespChange(undefined, target, [target]);\n }\n }\n });\n\n const treeItemDataAdapterHandle = hooks.useCallbackRef((dataItem) => {\n return treeItemDataAdapter?.(dataItem);\n });\n\n const treeData = useMemo(() => {\n const loop = (data: TAny[]): TAny[] =>\n data?.map((item) => {\n const adapterItem = treeItemDataAdapterHandle?.(item) || item;\n const disabled = disabledCanUse ? undefined : adapterItem.disabled;\n const strTitle = adapterItem[fieldNames.label] as string;\n let titleDom;\n if (treeSearchValue) {\n const index = strTitle.indexOf(treeSearchValue);\n const beforeStr = strTitle.substring(0, index);\n const afterStr = strTitle.slice(index + treeSearchValue.length);\n titleDom =\n index > -1 ? (\n <span className={classNames({ 'v-tree-item-disabled': adapterItem.disabled })}>\n {beforeStr}\n <span className=\"site-tree-search-value\">{treeSearchValue}</span>\n {afterStr}\n </span>\n ) : null;\n }\n if (!titleDom) {\n titleDom = (\n <span className={classNames({ 'v-tree-item-disabled': adapterItem.disabled })}>{strTitle}</span>\n );\n }\n const children = adapterItem[fieldNames.children];\n return {\n ...adapterItem,\n disabled,\n [fieldNames.label]: titleDom,\n _treeItemName: strTitle,\n _disabled: adapterItem.disabled,\n [fieldNames.children]: isArray(children) && children.length > 0 ? loop(children) : undefined,\n };\n });\n const list = cloneState(state.treeList || []);\n if (treeSearchValue) {\n return loop(\n treeFilter(cloneState(state.treeList || []), (node) => {\n const value = node[fieldNames.label]?.toLowerCase();\n return value.indexOf(treeSearchValue.toLowerCase()) >= 0;\n }),\n );\n }\n return loop(list);\n }, [\n state.treeList,\n treeItemDataAdapterHandle,\n disabledCanUse,\n fieldNames.label,\n fieldNames.children,\n treeSearchValue,\n ]);\n\n const loadData = hooks.useCallbackRef((dataItem: TPlainObject) => {\n return new Promise<void>(async (resolve, reject) => {\n if (dataItem[fieldNames.children]) {\n resolve();\n return;\n }\n try {\n const respData = await props.loadDataServiceConfig?.onRequest?.(\n props.loadDataServiceConfig?.getParams?.(dataItem),\n );\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n void actions\n .treeListAppendChildren({\n value: dataItem[fieldNames.value],\n appendList: respDataList,\n childrenName: fieldNames.children,\n valueName: fieldNames.value,\n })\n .then((allState) => {\n onChangeSelectorList(allState.treeList as TPlainObject[]);\n resolve();\n });\n } catch (error) {\n void message.error(error.message || '数据加载异常...');\n // 此处失败后,会重试“loadData”请求多次\n reject();\n }\n });\n });\n\n const isLeafNode = hooks.useCallbackRef((nodeData) => {\n const children = nodeData?.[fieldNames.children];\n // 当loadDataFlag=true,考虑叶子节点显示问题\n const loadDataFlag = props.loadDataFlag;\n const loadHasChildren = loadDataFlag ? !nodeData.isLeaf : false;\n const hasChildren = (children && children.length > 0) || loadHasChildren;\n return !hasChildren;\n });\n\n const titleRender = hooks.useCallbackRef((nodeData) => {\n const stringLabel = nodeData._treeItemName || nodeData[fieldNames.label];\n\n if (menuLayoutTypeNew === 'fold') {\n let menuOptions: TAny[] = [];\n if (props.menuOptions?.fold) {\n menuOptions =\n props.menuOptions?.[menuLayoutTypeNew]?.({\n ...nodeData,\n [fieldNames.label]: stringLabel,\n }) || [];\n } else {\n menuOptions =\n props.getMenuOptions?.({\n ...nodeData,\n [fieldNames.label]: stringLabel,\n }) || [];\n }\n return (\n <Fragment>\n <span className=\"tree-item-title\">{nodeData?.[fieldNames.label]}</span>\n {menuOptions.length > 0 && (\n <DropdownMenuWrapper menuList={menuOptions}>\n <MoreOutlined />\n </DropdownMenuWrapper>\n )}\n </Fragment>\n );\n }\n const menuOptions = props.menuOptions?.tile?.({\n ...nodeData,\n [fieldNames.label]: stringLabel,\n });\n return (\n <Fragment>\n <span className=\"tree-item-title\">{nodeData?.[fieldNames.label]}</span>\n {menuOptions ? (\n <ButtonOperate\n {...menuOptions}\n gap={5}\n className={classNames('tree-item-title-operate', menuOptions.className)}\n />\n ) : null}\n </Fragment>\n );\n });\n\n const onChangeDebounce = hooks.useDebounceCallback((value: string) => {\n setTreeSearchValue(value);\n props.onSearchValueChange?.(value);\n }, 300);\n\n const onSearchChange = hooks.useCallbackRef((e: React.ChangeEvent<HTMLInputElement>) => {\n onChangeDebounce(e.target.value);\n });\n\n const iconHandle = hooks.useCallbackRef((treeData) => {\n if (!props.icon) return null;\n if (isValidElement(props.icon)) return props.icon;\n const isLeafFlag = isLeafNode(treeData.data);\n return props.icon({\n ...treeData,\n isParent: !isLeafFlag,\n isLeaf: isLeafFlag,\n });\n });\n\n const treeFieldNames = useMemo(() => {\n return { title: fieldNames.label, key: fieldNames.value, children: fieldNames.children };\n }, [fieldNames]);\n\n const showTree = treeData.length > 0 && state.requestStatus !== 'request-error';\n const commonProps = {\n showLine: { showLeafIcon: false },\n titleRender,\n blockNode: true,\n switcherIcon: <CaretDownFilled />,\n ...otherProps,\n fieldNames: treeFieldNames,\n expandedKeys: treeExpandedKeys,\n treeData,\n onExpand,\n loadData: props.loadDataFlag ? loadData : undefined,\n style: { width: '100%', ...otherProps.style },\n icon: iconHandle,\n };\n\n const checkedProps = {\n onCheck: onTreeChangeHandle,\n checkable,\n // 必须是数组格式\n defaultCheckedKeys: defaultValueRef.current,\n };\n\n const selectedProps = {\n onSelect: onTreeChangeHandle,\n multiple: false,\n // 必须是数组格式\n defaultSelectedKeys: defaultValueRef.current,\n };\n const sceneProps = checkable ? checkedProps : selectedProps;\n const cName = classNames('v-tree-wrapper', `v-tree-wrapper-menu-${menuTriggerTypeNew}`);\n const isSearchEmpty = state.treeList.length > 0 && !showTree && treeSearchValue;\n return (\n <div className={cName}>\n {/* {showTree && <Spin spinning={loading} className=\"v-tree-wrapper-loading\"></Spin>} */}\n {!!showSearch && (\n <div className=\"v-tree-wrapper-search-area\">\n <InputSearchWrapper\n className=\"v-tree-wrapper-search\"\n placeholder={searchPlaceholder}\n onChange={onSearchChange}\n value={searchValue}\n allowClear\n />\n {!!props.searchExtraElement && (\n <span className=\"v-tree-wrapper-search-extra\">{props.searchExtraElement}</span>\n )}\n </div>\n )}\n {showTree ? (\n <Tree key={refreshKey} {...sceneProps} {...commonProps} className=\"v-tree-wrapper-tree\"></Tree>\n ) : (\n <RequestStatus\n status={state.requestStatus}\n loading={loading}\n messageConfig={{\n 'request-success': isSearchEmpty ? '搜索结果为空' : '暂无数据',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n )}\n </div>\n );\n});\n\nTreeWrapper.defaultProps = {\n disabledCanUse: true,\n};\n"],"names":["defaultState","treeList","treeTiledArray","queryIsEmpty","TreeWrapperModel","actions","setTreeList","params","state","treeToArray","childrenName","requestStatus","resetTreeList","changeRequestStatus","treeListAppendChildren","array","target","find","item","valueName","value","_isArray","appendList","length","isLeaf","treeWrapperModels","treeWrapperModel","key","Model","getExpandedKeys","fieldNames","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","labelInValueFieldNames","tempList","isUndefinedOrNull","map","_isObject","array2map","list","forEach","treeWrapperValueDeepEqual","value1","value2","object1","object2","diff","dequal","TreeWrapper","forwardRef","props","ref","serviceConfig","effectDependencyList","selectorTreeList","onChange","modelKey","_props$checkableRespo","checkableResponseParentNode","checkable","onSelectorTreeListChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","otherProps","_objectWithoutPropertiesLoose","_excluded","hasSelectorTreeList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeWrapperModel$use","useStore","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","requestPreKey","useMemo","_extends","label","children","defaultValueRef","useRef","menuLayoutTypeNew","undefined","menuTriggerTypeNew","isMultiple","labelInValueFieldNamesMerge","_useState2","treeSearchValue","setTreeSearchValue","isFirstUseValueRef","_useState3","refreshKey","setRefreshKey","innerOperateValueRef","valueList","useEffectCustom","current","console","log","expandedKeys","getTreeExpandedKeys","Array","from","Set","Date","now","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","_params","isEmpty","_respData","_respData2","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","onRequest","Error","_extend","warn","join","$Try_2_Post","$Try_2_Catch","window","resolve","then","$await_4","$await_5","onChangeSelectorList","toArray","Boolean","allState","getState","dataList","refresh","newTreeExpandedKeys","includes","targetList","concat","useUpdateEffect","filter","_item$label","prev","mergeList","useImperativeHandle","onClearSelectorList","getTreeDataList","onExpand","onRespChange","selectedKey","selectInfo","selectAllList","selectList","lvLabel","lvValue","labelInValueList","_ref","onTreeChangeHandle","checkedData","operateInfo","checkedValueList","checkStrictly","checked","selectedLeafList","selectedLeafValueList","selectedAllList","selectedAllValueList","temp","push","currentNode","nodeValue","node","treeItemDataAdapterHandle","dataItem","treeData","loop","_extends2","adapterItem","disabled","strTitle","titleDom","index","indexOf","beforeStr","substring","afterStr","slice","_jsxs","className","_classNames","_jsx","_treeItemName","_disabled","cloneState","treeFilter","_node$fieldNames$labe","toLowerCase","loadData","reject","_props$loadDataServic","_props$loadDataServic2","_respData3","$Try_3_Post","$Try_3_Catch","loadDataServiceConfig","getParams","$await_6","isLeafNode","nodeData","loadDataFlag","loadHasChildren","hasChildren","titleRender","_props$menuOptions3","_extends5","stringLabel","_props$menuOptions","menuOptions","fold","_props$menuOptions2","_props$menuOptions2$m","_extends3","call","_extends4","getMenuOptions","Fragment","DropdownMenuWrapper","menuList","_MoreOutlined","tile","ButtonOperate","gap","onChangeDebounce","useDebounceCallback","onSearchValueChange","onSearchChange","e","iconHandle","icon","isValidElement","isLeafFlag","isParent","treeFieldNames","title","showTree","commonProps","showLine","showLeafIcon","blockNode","switcherIcon","_CaretDownFilled","style","width","checkedProps","onCheck","defaultCheckedKeys","selectedProps","onSelect","multiple","defaultSelectedKeys","sceneProps","cName","isSearchEmpty","InputSearchWrapper","placeholder","allowClear","searchExtraElement","Tree","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import e from"@ant-design/icons/es/icons/CaretDownFilled";import r from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as l,a as u}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as s}from"@dimjs/model";import{treeToArray as o,treeToTiledArray as c,treeLeafParentsArray as f,isUndefinedOrNull as v,toArray as d,treeFilter as m}from"@flatbiz/utils";import{Spin as h,Tree as p,Button as g,message as b}from"antd";import{forwardRef as y,useState as L,useMemo as C,useRef as R,useImperativeHandle as w,Fragment as q,isValidElement as N}from"react";import{a as k}from"./button-operate-04d9185b.js";import{D as S}from"./dropdown-menu-wrapper-2c4b6cad.js";import{fbaHooks as T}from"./fba-hooks/index.js";import{I as j}from"./input-search-wrapper-10d4a9b9.js";import{R as E}from"./request-status-03fc60e2.js";import{Model as P}from"@dimjs/model-react";import{isObject as A}from"@dimjs/lang/cjs/is-object";import{dequal as D}from"dequal";import{jsxs as x,jsx as I}from"react/jsx-runtime";var V={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=o(e.treeList,r.childrenName);e.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 e(r){return function(e){var t=o(e.treeList,r.childrenName);var a=t.find((function(e){return e[r.valueName]===r.value}));if(a){if(n(r.appendList)&&r.appendList.length>0){a[r.childrenName]=r.appendList}else{a.isLeaf=true}}e.treeTiledArray=o(e.treeList,r.childrenName)}}},state:V};var K={};var F=function e(r){if(!K[r]){K[r]=P(O)}return K[r]};var M=function e(r,t,n){var a=c(t,n);return f(r,a,true,{value:"value",parentValue:"parentValue"})};var _=function e(r,t){var a=v(r)?[]:r;a=n(a)?a:[a];a=a.map((function(e){if(A(e))return e[t.value];return e}));return a};var U=function e(r,t){var n=_(r,t);var a={};n.forEach((function(e){a[e]=true}));return a};var B=function e(r,t,n){if(v(r)&&v(t))return true;var a=U(r,n);var i=U(t,n);var l=D(a,i);return l};var W=["serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType"];var z=y((function(o,f){var y=o.serviceConfig,P=o.effectDependencyList,A=o.selectorTreeList,D=o.value,V=o.onChange,O=o.modelKey,K=o.checkableResponseParentNode,U=K===void 0?true:K,z=o.checkable,H=o.onSelectorTreeListChange,G=o.onRequestResponseChange,J=o.treeItemDataAdapter,Q=o.searchValue,X=o.showSearch,Y=o.searchPlaceholder,Z=o.requestMessageConfig,$=o.labelInValueFieldNames,ee=o.labelInValue,re=o.disabledCanUse,te=o.menuLayoutType,ne=o.menuTriggerType,ae=o.initRootExpand,ie=o.searchResultType,le=l(o,W);var ue=o.hasOwnProperty("selectorTreeList");var se=y||{};var oe=P||[];var ce=L(),fe=ce[0],ve=ce[1];var de=F(O).useStore(),me=de[0],he=de[1];var pe=T.useSafeState(false),ge=pe[0],be=pe[1];var ye="request-progress-"+o.modelKey;var Le=C((function(){return u({label:"label",value:"value",children:"children"},o.fieldNames)}),[o.fieldNames]);var Ce=R();var Re=te===undefined?"fold":te;var we=ne===undefined?"click":ne;var qe=z===true;var Ne=C((function(){return u({label:"label",value:"value"},$)}),[$]);var ke=L(),Se=ke[0],Te=ke[1];var je=R(true);var Ee=L(0),Pe=Ee[0],Ae=Ee[1];var De=R();var xe=C((function(){var e=_(D,Ne);return e}),[Ne,D]);T.useEffectCustom((function(){if(v(D)&&je.current||me.treeList.length==0)return;je.current=false;if(!B(D,De.current,Ne)){console.log("modelKey:"+O+" TreeWrapper key refresh",D,De.current);De.current=qe?xe:xe[0];var e=Fe(xe,true);ve(Array.from(new Set(e)));Ce.current=xe;Ae(Date.now())}}),[D,me.treeList]);var Ie=function e(r){return r===""||v(r)};var Ve=function e(r){var t=se.onRequestResultAdapter?se.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Te(Q)}),[Q]);var Oe=i.useCallbackRef((function(){return new Promise((function(e,r){var t,n,i,l,u;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{be(false);void b.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!se.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=se.requiredParamsKeys;n=a({},se.params);if(t){i=t.find((function(e){return Ie(n[e])}));if(i){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var f=function(e){try{window[ye]=false;be(false);void he.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{be(true);return Promise.resolve(he.changeRequestStatus("request-progress")).then((function(e){try{window[ye]=true;return Promise.resolve(se.onRequest==null?void 0:se.onRequest(n)).then((function(e){try{l=e;G==null?void 0:G(l);u=Ve(l);Ke(u||[]);be(false);if(ae&&d(u).length){ve([u==null?void 0:u[0][Le.value]])}window[ye]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){o(e)}}))}));T.useEffectCustom((function(){if(ue)return;if(Boolean(oe.length)){void Oe();return}var e=F(O).getState();if(e.requestStatus==="request-success"){return}if(!window[ye]){void Oe();return}}),oe);T.useEffectCustom((function(){if(ue){Ke(A||[])}}),[A]);var Ke=i.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&me.treeList.length===0){void he.changeRequestStatus("request-success");return}void he.setTreeList({treeList:e||[],childrenName:Le.children});H==null?void 0:H(e)}));var Fe=i.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&fe!=null&&fe.includes(e))return;var n=M(e,me.treeList,Le);t=t.concat(n.map((function(e){return e.value})))}));return t}));i.useUpdateEffect((function(){if(Se){var e=c(me.treeList||[],Le);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Se||"")}));ve((function(e){var t=Fe(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{ve([])}}),[Se]);w(f,(function(){return{onClearSelectorList:function e(){void he.resetTreeList()},getTreeDataList:function e(){return me.treeList}}}));var Me=i.useCallbackRef((function(e){ve(e)}));var _e=i.useCallbackRef((function(e,r,t){De.current=e;var a=v(r)?[]:n(r)?r:[r];if(v(e)){V==null?void 0:V(e,r,t);return}if(ee){var i=Ne.label;var l=Ne.value;var u=a.map((function(e){var r;return r={},r[i]=e[Le.label],r[l]=e[Le.value],r}));if(n(e)){V==null?void 0:V(u,a,t)}else{V==null?void 0:V(u[0],a[0],t)}}else{if(n(e)){V==null?void 0:V(e,a,t)}else{V==null?void 0:V(e,a[0],t)}}}));var Ue=i.useCallbackRef((function(e,r){var t=o.checkStrictly?e.checked:e;t=v(e)?[]:e;t=n(t)?t:[t];var a=[];var i=[];var l=[];var u=[];t.forEach((function(e){var r=me.treeTiledArray.find((function(r){return r[Le.value]===e}));if(!r)return;var t=r==null?void 0:r[Le.children];if(!n(t)||t.length===0){a.push(r);i.push(r[Le.value])}l.push(r);u.push(r[Le.value])}));if(z){ve((function(e){var r=Fe(i).concat(e||[]);return Array.from(new Set(r))}));if(!U&&!o.checkStrictly){_e(i,a,l)}else{_e(u,l,l)}}else{if(t[0]){var s=l.find((function(e){return e[Le.value]===t[0]}));_e(t[0],s,[s])}else{var c=r.node[Le.value];var f=me.treeTiledArray.find((function(e){return e[Le.value]===c}));_e(undefined,f,[f])}}}));var Be=i.useCallbackRef((function(e){return J==null?void 0:J(e)}));var We=C((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var a;var i=(Be==null?void 0:Be(r))||r;var l=re?undefined:i.disabled;var s=i[Le.label];var o;if(Se){var c=s.indexOf(Se);var f=s.substring(0,c);var v=s.slice(c+Se.length);o=c>-1?x("span",{className:t({"v-tree-item-disabled":i.disabled}),children:[f,I("span",{className:"site-tree-search-value",children:Se}),v]}):null}if(!o){o=I("span",{className:t({"v-tree-item-disabled":i.disabled}),children:s})}var d=i[Le.children];return u({},i,(a={disabled:l},a[Le.label]=o,a._treeItemName=s,a._disabled=i.disabled,a[Le.children]=n(d)&&d.length>0?e(d):undefined,a))}))};var r=s(me.treeList||[]);if(Se&&ie!=="highlight"){return e(m(s(me.treeList||[]),(function(e){var r;var t=(r=e[Le.label])==null?void 0:r.toLowerCase();return t.indexOf(Se.toLowerCase())>=0})))}return e(r)}),[me.treeList,Se,ie,Be,re,Le.label,Le.children]);var ze=i.useCallbackRef((function(e){return new Promise((function(r,t){return new Promise((function(n,a){var i,l,u,s;if(e[Le.children]){r();return n()}var c=function(){try{return n()}catch(e){return a(e)}};var f=function(e){try{void b.error(e.message||"数据加载异常...");t();return c()}catch(e){return a(e)}};try{return Promise.resolve((i=o.loadDataServiceConfig)==null?void 0:i.onRequest==null?void 0:i.onRequest((l=o.loadDataServiceConfig)==null?void 0:l.getParams==null?void 0:l.getParams(e))).then((function(t){try{u=t;s=se.onRequestResultAdapter?se.onRequestResultAdapter(u):u;void he.treeListAppendChildren({value:e[Le.value],appendList:s,childrenName:Le.children,valueName:Le.value}).then((function(e){Ke(e.treeList);r()}));return c()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var He=i.useCallbackRef((function(e){var r=e==null?void 0:e[Le.children];var t=o.loadDataFlag;var n=t?!e.isLeaf:false;var a=r&&r.length>0||n;return!a}));var Ge=i.useCallbackRef((function(e){var n,a;var i=e._treeItemName||e[Le.label];if(Re==="fold"){var l;var s=[];if((l=o.menuOptions)!=null&&l.fold){var c,f,v;s=((c=o.menuOptions)==null?void 0:(f=c[Re])==null?void 0:f.call(c,u({},e,(v={},v[Le.label]=i,v))))||[]}else{var d;s=(o.getMenuOptions==null?void 0:o.getMenuOptions(u({},e,(d={},d[Le.label]=i,d))))||[]}return x(q,{children:[I("span",{className:"tree-item-title",children:e==null?void 0:e[Le.label]}),s.length>0&&I(S,{menuList:s,children:I(r,{})})]})}var m=(n=o.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(u({},e,(a={},a[Le.label]=i,a)));return x(q,{children:[I("span",{className:"tree-item-title",children:e==null?void 0:e[Le.label]}),m?I(k,u({},m,{gap:5,className:t("tree-item-title-operate",m.className)})):null]})}));var Je=i.useDebounceCallback((function(e){Te(e);o.onSearchValueChange==null?void 0:o.onSearchValueChange(e)}),300);var Qe=i.useCallbackRef((function(e){Je(e.target.value)}));var Xe=i.useCallbackRef((function(e){if(!o.icon)return null;if(N(o.icon))return o.icon;var r=He(e.data);return o.icon(u({},e,{isParent:!r,isLeaf:r}))}));var Ye=C((function(){return{title:Le.label,key:Le.value,children:Le.children}}),[Le]);var Ze=We.length>0&&me.requestStatus!=="request-error";var $e=u({showLine:{showLeafIcon:false},titleRender:Ge,blockNode:true,switcherIcon:I(e,{})},le,{fieldNames:Ye,expandedKeys:fe,treeData:We,onExpand:Me,loadData:o.loadDataFlag?ze:undefined,style:u({width:"100%"},le.style),icon:Xe});var er={onCheck:Ue,checkable:z,defaultCheckedKeys:Ce.current};var rr={onSelect:Ue,multiple:false,defaultSelectedKeys:Ce.current};var tr=z?er:rr;var nr=t("v-tree-wrapper","v-tree-wrapper-menu-"+we);var ar=me.treeList.length>0&&!Ze&&Se;return x("div",{className:nr,children:[!!X&&x("div",{className:"v-tree-wrapper-search-area",children:[I(j,{className:"v-tree-wrapper-search",placeholder:Y,onChange:Qe,value:Q,allowClear:true}),!!o.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:o.searchExtraElement})]}),Ze?x("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:me.requestStatus==="request-progress"}),I(p,u({},tr,$e,{className:"v-tree-wrapper-tree"}),Pe)]}):I(E,{status:me.requestStatus,loading:ge,messageConfig:u({"request-success":ar?"搜索结果为空":"暂无数据"},Z),errorButton:I(g,{type:"primary",onClick:Oe,children:"重新获取数据"})})]})}));z.defaultProps={disabledCanUse:true};export{z as T};
|
|
3
|
+
//# sourceMappingURL=tree-wrapper-ea6a5bdd.js.map
|