@flatbiz/antd 5.0.27 → 5.0.29

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"label-value-CcmddXdr.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport type { TLabelValueRenderItem } from './types.js';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n return resultsFt;\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { isValidElement, useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isNumber, isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { TBoxBreakpoint } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { TextOverflow } from '../text-overflow/index.js';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/index.js';\nimport type { TLabelValueItem, TLabelValueRenderItem } from './types.js';\nimport { getRenderGrid } from './utils.js';\nimport './style.less';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. label+value 一组为一列\n * 2. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 3. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\n * 4. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 5. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4 | 6;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4 | 6;\n /** 数据源配置 */\n options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n * ```\n * 1. 当 direction = vertical时,强制为true\n * ```\n */\n ellipsis?: boolean;\n /**\n * 是否添加边框\n * @deprecated 已过期,请使用 bordered\n */\n border?: boolean;\n /** 是否添加边框 */\n bordered?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number | 'auto';\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n\n size?: 'default' | 'small';\n /**\n * label&value 方向布局\n * ```\n * 1. auto表示当响应式为xs(小屏幕)时为vertical,其他情况为horizontal\n * ```\n */\n direction?: 'vertical' | 'horizontal' | 'auto';\n /**\n * 网格布局间距,默认值:[10, 0]\n * ```\n * 1. border = true 无效\n * ```\n */\n gutter?: [number, number];\n\n /** 隐藏 value hover效果 */\n hiddenValueHover?: boolean;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const {\n column,\n forceColumn,\n labelAlign,\n labelWidth,\n options,\n border,\n bordered,\n width,\n size = 'default',\n direction = 'auto',\n gutter,\n hiddenValueHover,\n } = props;\n\n const columnNew = column && [1, 2, 3, 4, 6].includes(column) ? column : 4;\n\n const borderedNew = !isUndefinedOrNull(bordered) ? bordered : border;\n\n const directionNew = useMemo(() => {\n if (direction === 'horizontal' || direction === 'vertical')\n return direction;\n if (screenType === 'xs' || breakpoint === 'xs') return 'vertical';\n return 'horizontal';\n }, [breakpoint, direction, screenType]);\n\n const ellipsis = useMemo(() => {\n if (directionNew === 'vertical') return true;\n return isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n }, [directionNew, props.ellipsis]);\n\n const labelWidthNew = labelWidth\n ? isNumber(labelWidth)\n ? `${labelWidth}px`\n : labelWidth\n : '100px';\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n };\n return columnMap[columnNew];\n }, [columnNew, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n const itemSpan = item.span > columnNew ? columnNew : item.span;\n grid = itemSpan * (24 / columnNew);\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, columnNew, gridSize, options]);\n\n const showColon = !borderedNew && directionNew !== 'vertical';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt =\n directionNew === 'vertical'\n ? true\n : isUndefinedOrNull(item.ellipsis)\n ? ellipsis\n : item.ellipsis;\n\n let labelContent: ReactElement | string = item.label;\n // let labelContent: ReactElement | string = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // if (colon) {\n // labelContent = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // }\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow\n text={labelContent as unknown as string}\n hideTip={item.hideTip}\n />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = (\n <TextOverflow\n text={labelContent as unknown as string}\n hideTip={item.hideTip}\n />\n );\n }\n\n const innerlabelStyle = showColon ? { display: 'flex', gap: 3 } : {};\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', {\n 'label-value-last-tr': item.isLast,\n })}\n >\n <div\n className=\"label-value-label\"\n style={{\n ...innerlabelStyle,\n ...props.labelStyle,\n }}\n >\n {item.required ? (\n <div\n style={{\n paddingLeft: 8,\n position: 'relative',\n width: '100%',\n }}\n >\n <TextSymbolWrapper\n text={labelContent}\n symbolType=\"required\"\n />\n </div>\n ) : (\n labelContent\n )}\n {showColon ? <div>:</div> : null}\n </div>\n {!isValidElement(item.value) &&\n ellipsisFt &&\n !item.valueNoWrapper ? (\n <div className=\"label-value-value\" style={props.valueStyle}>\n <TextOverflow\n text={item.value as string}\n onClick={item.onClick}\n hideTip={item.hideTip}\n />\n </div>\n ) : (\n <div\n className=\"label-value-value\"\n style={{\n wordBreak: 'break-all',\n ...props.valueStyle,\n }}\n >\n {item.onClick ? (\n <a onClick={item.onClick}>{item.value}</a>\n ) : (\n item.value\n )}\n </div>\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef(\n (breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n }\n );\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const align = (function () {\n if (labelAlign) return labelAlign;\n if (borderedNew) return 'left';\n if (directionNew === 'horizontal') return 'right';\n return 'left';\n })();\n\n return (\n <BoxGrid.Row\n style={\n {\n ...innerStyle,\n ...props.style,\n '--lvr-label-width':\n directionNew === 'horizontal' ? labelWidthNew : undefined,\n } as TAny\n }\n className={classNames(\n 'label-value-render',\n `lvr-${directionNew}`,\n `lvr-size-${size}`,\n `lvr-label-${align}`,\n { 'lvr-border': borderedNew },\n { 'lvr-hidden-hover': hiddenValueHover },\n props.className\n )}\n gutter={borderedNew ? [0, 0] : gutter || [10, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_objectSpread","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","_useState2","_slicedToArray","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","bordered","width","_props$size","size","_props$direction","direction","gutter","hiddenValueHover","columnNew","includes","borderedNew","isUndefinedOrNull","directionNew","useMemo","ellipsis","labelWidthNew","isNumber","gridSize","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","itemSpan","filter","Boolean","showColon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","hideTip","innerlabelStyle","display","gap","_jsxs","BoxGrid","Col","className","_classNames","style","labelStyle","required","paddingLeft","position","TextSymbolWrapper","symbolType","isValidElement","value","valueNoWrapper","valueStyle","onClick","wordBreak","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","align","Row"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-DTu7bz-a.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/selector.tsx"],"sourcesContent":["import type { TreeSelectProps } from 'antd';\nimport type { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport type { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport type { TRequestStatus } from '../request-status/index.js';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledMap: TPlainObject;\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledMap: TPlainObject;\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledMap = params.treeSelectorTiledMap || {};\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n state.treeSelectorTiledMap = {};\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<\n string,\n API<ModelType<ModelState, ModelActionParams, TAny>>\n> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","export const getExpandedKeysByValue = (value: string | number, treeSelectorTiledMap) => {\n const tempList: Array<string | number> = [];\n let parentNode = treeSelectorTiledMap[value];\n while (parentNode) {\n const pId = parentNode.pId;\n parentNode = treeSelectorTiledMap[pId];\n if (parentNode) {\n tempList.push(pId);\n }\n }\n return tempList;\n};\n\nexport const getExpandedKeysByValues = (values: Array<string | number>, treeSelectorTiledMap) => {\n if (values.length === 0) return [];\n const expandedKeys: Array<string | number> = [];\n values.forEach((value) => {\n const targetList = getExpandedKeysByValue(value, treeSelectorTiledMap);\n expandedKeys.push(...targetList);\n });\n return Array.from(new Set(expandedKeys));\n};\n","import { type DependencyList, useMemo, useRef, useState } from 'react';\nimport { Button, TreeSelect, type TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\nimport { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isObject } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport {\n isNotEmptyArray,\n isUndefinedOrNull,\n type TAny,\n toArray,\n type TPlainObject,\n treeToArray,\n treeToTiledMap,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport {\n RequestStatus,\n type TRequestStatusProps,\n} from '../request-status/index.js';\nimport { treeSelectorWrapperModel } from './model.js';\nimport { getExpandedKeysByValues } from './utils.js';\nimport './style.less';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n | 'onSearch'\n> & {\n modelKey: string;\n fieldNames?: {\n /**\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter 后此配置失效\n */\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n disabled?: string;\n };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (\n treeSelectorList?: TreeSelectProps['treeData']\n ) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * @deprecated 已弃用\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = Object.prototype.hasOwnProperty.call(\n props,\n 'treeSelectorList'\n );\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable || otherProps.multiple;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return {\n label: 'label',\n value: 'value',\n children: 'children',\n disabled: 'disabled',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const [searchValue, setSearchValue] = useState<string>();\n\n const propsPureValue = useMemo(() => {\n return toArray<TAny>(props.value).map((item) => {\n if (isObject(item)) {\n return (\n labelInValue\n ? item[labelInValueFieldNamesMerge.value]\n : item[fieldNamesMerge.value]\n ) as string | number;\n }\n return item as string | number;\n });\n }, [\n fieldNamesMerge.value,\n labelInValue,\n labelInValueFieldNamesMerge.value,\n props.value,\n ]);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n let treeExpandedKeys: Array<string | number> = [];\n if (responseFirstRef.current) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n treeExpandedKeys = treeDefaultExpandedKeys as Array<string | number>;\n } else if (treeDefaultExpandAll) {\n const allValues = Object.keys(state.treeSelectorTiledMap).map(\n (item) =>\n state.treeSelectorTiledMap[item]?.[fieldNamesMerge.value] as\n | string\n | number\n );\n treeExpandedKeys = allValues;\n } else if (initRootExpand && state.treeSelectorList.length === 1) {\n treeExpandedKeys = [state.treeSelectorList[0][fieldNamesMerge.value]];\n }\n setTreeExpandedKeys(treeExpandedKeys);\n } else {\n if (!searchValue) {\n const expandedKeys = getExpandedKeysByValues(\n propsPureValue,\n state.treeSelectorTiledMap\n );\n setTreeExpandedKeys(expandedKeys);\n }\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n let result = respData;\n if (newServiceConfig.onRequestResultAdapter) {\n result = newServiceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n } else if (fieldNamesMerge.list) {\n result = get(respData, fieldNamesMerge.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(\n `TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`\n );\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(\n _respData\n ) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (newEffectDependencyList.length) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledMap: {},\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledMap: treeToTiledMap(\n newdataList,\n {\n value: fieldNamesMerge.value,\n children: fieldNamesMerge.children,\n },\n 'pId'\n ),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef(\n (changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n let resultValueList = toArray<TAny>(changeValue);\n if (otherProps.treeCheckStrictly) {\n if (selectedParentCheckedAllChildrenList && triggerInfo.checked) {\n const target = state.treeSelectorTiledMap[triggerInfo?.triggerValue];\n if (isNotEmptyArray(target[fieldNamesMerge.children])) {\n resultValueList = treeToArray(\n [target],\n fieldNamesMerge.children\n ).map((item) => {\n return item[fieldNamesMerge.value];\n });\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n } else {\n resultValueList = changeValue?.map((item) => item.value);\n }\n }\n if (labelInValue) {\n const resultItemList = resultValueList.map((item) => {\n const target = state.treeSelectorTiledMap[item];\n return {\n [labelInValueFieldNamesMerge.label]: target[fieldNamesMerge.label],\n [labelInValueFieldNamesMerge.value]: target[fieldNamesMerge.value],\n };\n });\n if (isMultiple) {\n onChange?.(resultItemList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultItemList[0], resultItemList[0], triggerInfo);\n }\n } else {\n const resultItemList = resultValueList.map((item) => {\n return state.treeSelectorTiledMap[item];\n });\n if (isMultiple) {\n onChange?.(resultValueList, resultItemList, triggerInfo);\n } else {\n onChange?.(resultValueList[0], resultItemList[0], triggerInfo);\n }\n }\n }\n );\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n const onSearch = (searchValue?: string) => {\n setSearchValue(searchValue);\n let targetKeyList: Array<string | number> = [];\n if (!searchValue) {\n setSearchValue(undefined);\n targetKeyList = propsPureValue;\n } else {\n Object.keys(state.treeSelectorTiledMap).forEach((item) => {\n const target = state.treeSelectorTiledMap[item];\n const label = target?.[fieldNamesMerge.label] as string;\n if (label?.includes(searchValue)) {\n targetKeyList.push(target[fieldNamesMerge.value]);\n }\n });\n }\n\n const expandedKeysMerge = getExpandedKeysByValues(\n targetKeyList,\n state.treeSelectorTiledMap\n );\n setTreeExpandedKeys(expandedKeysMerge);\n };\n\n const treeValue = isMultiple ? propsPureValue : propsPureValue[0];\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n searchValue={searchValue}\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n popupMatchSelectWidth={false}\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames(\n 'v-tree-select-wrapper-dropdown',\n otherProps.popupClassName\n )}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeValue}\n onSearch={onSearch}\n loading={loading}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledMap","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeysByValue","value","tempList","parentNode","pId","push","getExpandedKeysByValues","values","length","expandedKeys","forEach","targetList","apply","_toConsumableArray","Array","from","Set","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","fieldNames","onChange","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutProperties","_excluded","hasTreeSelectorList","Object","prototype","hasOwnProperty","call","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","_slicedToArray","loading","setLoading","_useState","useState","_useState2","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","_treeSelectorWrapperM2","requestPreKey","concat","isMultiple","treeCheckable","multiple","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_objectSpread","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","_useState3","_useState4","searchValue","setSearchValue","propsPureValue","toArray","map","item","_isObject","useEffectCustom","current","allValues","keys","_state$treeSelectorTi","valueIsEmpty","isUndefinedOrNull","serviceResponseHandle","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_newServiceConfig$onR","_respData","onRequest","Error","_extend","find","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","allState","getState","dequal","dataList","tempItem","_defineProperty","undefined","newdataList","treeToTiledMap","onTreeExpand","onAgainRequest","onInnerChange","changeValue","_data","triggerInfo","resultValueList","checked","target","triggerValue","isNotEmptyArray","treeToArray","resultItemList","mapTree","data","itemAdapterData","_createElement","TreeSelect","TreeNode","title","onSearch","targetKeyList","includes","expandedKeysMerge","treeValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","popupMatchSelectWidth","className","_classNames","popupClassName","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-dbYimxeI.js","sources":["@flatbiz/antd/src/tree-modal-selector/selector.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { Select } from 'antd';\nimport { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { TreeModal } from '../tree-modal/index.js';\nimport type {\n TreeModalProps,\n TreeModelSelectItem,\n} from '../tree-modal/types.js';\nexport type TreeModalSelectorProps = Omit<\n TreeModalProps,\n 'children' | 'forceRender' | 'onChange'\n> & {\n placeholder?: string;\n /**\n * 1. 可指定数量\n * 2. 可设置 responsive,一行自适应显示\n */\n maxTagCount?: number | 'responsive';\n /** 是否返回label+value模式 */\n labelInValue?: boolean;\n onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;\n};\n\n/**\n * 树弹框选择器\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalSelector = (props: TreeModalSelectorProps) => {\n const { placeholder, maxTagCount, labelInValue, ...otherProps } = props;\n const placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;\n\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const labelKey = otherProps.fieldNames?.label || 'label';\n const valueKey = otherProps.fieldNames?.value || 'value';\n\n const [showValues, setShowValues] = useState<TreeModelSelectItem[]>();\n\n useEffect(() => {\n const dataList =\n toArray(props.value)?.map((item) => {\n const objItems = (\n isObject(item) ? item : { label: item, value: item }\n ) as TreeModelSelectItem;\n return {\n value: objItems.value,\n label:\n dataSourceMapRef.current[objItems.value]?.[labelKey] ||\n objItems.value,\n } as TreeModelSelectItem;\n }) || [];\n setShowValues(dataList);\n }, [labelKey, props.value]);\n\n const onInnerChange = (value: TreeModelSelectItem[]) => {\n const valueFt = toArray(value).length ? value : undefined;\n if (otherProps.isMultiple == false) {\n props.onChange?.(valueFt?.[0]);\n } else {\n props.onChange?.(valueFt);\n }\n };\n\n const onSelectChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n const treeModalChange = (value) => {\n setShowValues(value);\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n onInnerChange(value?.map((item) => item.value));\n };\n\n const onDataSourceChange = hooks.useCallbackRef(\n (_treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = showValues\n ?.map((item) => {\n const target = mapData[item.value];\n return target\n ? { label: target[labelKey], value: target[valueKey] }\n : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setShowValues(result);\n }\n );\n\n return (\n <TreeModal\n {...otherProps}\n forceRender={true}\n onChange={treeModalChange}\n onDataSourceChange={onDataSourceChange}\n >\n <Select\n labelInValue\n style={{ width: '100%' }}\n placeholder={placeholderFt}\n maxTagCount={maxTagCount}\n mode=\"multiple\"\n open={false}\n value={showValues}\n onChange={onSelectChange}\n />\n </TreeModal>\n );\n};\n"],"names":["TreeModalSelector","props","_otherProps$fieldName","_otherProps$fieldName2","placeholder","maxTagCount","labelInValue","otherProps","_objectWithoutProperties","_excluded","placeholderFt","isUndefinedOrNull","dataSourceMapRef","useRef","labelKey","fieldNames","label","valueKey","value","_useState","useState","_useState2","_slicedToArray","showValues","setShowValues","useEffect","_toArray","dataList","toArray","map","item","_dataSourceMapRef$cur","objItems","_isObject","current","onInnerChange","valueFt","length","undefined","isMultiple","_props$onChange","onChange","call","_props$onChange2","onSelectChange","treeModalChange","onDataSourceChange","_hooks","useCallbackRef","_treeDataList","mapData","result","target","filter","Boolean","_jsx","TreeModal","_objectSpread","forceRender","children","Select","style","width","mode","open"],"mappings":"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"}