@flatbiz/antd 4.2.86 → 4.2.88

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 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":"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"}
@@ -1 +1 @@
1
- .tce-hidden{display:inline-block;height:0;left:0;overflow:hidden;position:absolute;top:0;width:0}.tce-hidden span,.text-css-ellipsis{display:inline-block;white-space:nowrap}.text-css-ellipsis{overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis}
1
+ .tce-hidden{display:inline-block;height:0;left:0;overflow:hidden;position:absolute;top:0;width:0}.tce-hidden span,.text-css-ellipsis{display:inline-block;white-space:nowrap}.text-css-ellipsis{overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;width:100%}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{Tooltip as t}from"antd";import{useRef as e,useState as r,useEffect as i}from"react";import{jsxs as n,jsx as a}from"react/jsx-runtime";var l=function l(s){var c=e(null);var d=r(false),f=d[0],o=d[1];var h=n("span",{className:"text-css-ellipsis",style:{width:s.width},children:[a("span",{className:"tce-hidden",children:a("span",{ref:c,children:s.text})}),s.text]});i((function(){var t;var e=((t=c.current)==null?void 0:t.offsetWidth)||0;if(s.text&&e>s.width){o(true)}else{o(false)}}),[s.text,s.width]);if(f){return a(t,{title:s.text,children:h})}return h};export{l as TextCssEllipsis};
4
+ import{Tooltip as t}from"antd";import{useState as e,useMemo as i}from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";var d=function d(f){var s=e(0),a=s[0],l=s[1];var h=e(0),c=h[0],o=h[1];var u=i((function(){if(f.hideTips)return false;if(f.width!==undefined){return c>f.width}return c>a}),[a,f.hideTips,f.width,c]);return n(t,{title:u?f.text:undefined,children:r("span",{className:"text-css-ellipsis",style:f.width?{width:f.width}:{},ref:function t(e){if(e){var i;l((e==null||(i=e.parentElement)==null?void 0:i.offsetWidth)||0)}},children:[n("span",{className:"tce-hidden",children:n("span",{ref:function t(e){if(e){o(e.offsetWidth)}},children:f.text})}),f.text]})})};export{d as TextCssEllipsis};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { Tooltip } from 'antd';\nimport { useEffect, useRef, useState } from 'react';\nimport './style.less';\nexport type CssTextEllipsisProps = {\n text?: string;\n width: number;\n};\n\n/**\n * 根据配置宽度显示数据,内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @param props\n * @returns\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const ref = useRef<HTMLSpanElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n const content = (\n <span className=\"text-css-ellipsis\" style={{ width: props.width }}>\n <span className=\"tce-hidden\">\n <span ref={ref}>{props.text}</span>\n </span>\n {props.text}\n </span>\n );\n\n useEffect(() => {\n const offsetWidth = ref.current?.offsetWidth || 0;\n if (props.text && offsetWidth > props.width) {\n setShowTooltip(true);\n } else {\n setShowTooltip(false);\n }\n }, [props.text, props.width]);\n\n if (showTooltip) {\n return <Tooltip title={props.text}>{content}</Tooltip>;\n }\n\n return content;\n};\n"],"names":["TextCssEllipsis","props","ref","useRef","_useState","useState","showTooltip","setShowTooltip","content","_jsxs","className","style","width","children","_jsx","text","useEffect","_ref$current","offsetWidth","current","Tooltip","title"],"mappings":";iJAaaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAMC,EAAwB,MACpC,IAAAC,EAAsCC,EAAS,OAAxCC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElC,IAAMI,EACJC,EAAA,OAAA,CAAMC,UAAU,oBAAoBC,MAAO,CAAEC,MAAOX,EAAMW,OAAQC,UAChEC,EAAA,OAAA,CAAMJ,UAAU,aAAYG,SAC1BC,EAAA,OAAA,CAAMZ,IAAKA,EAAIW,SAAEZ,EAAMc,SAExBd,EAAMc,QAIXC,GAAU,WAAM,IAAAC,EACd,IAAMC,IAAcD,EAAAf,EAAIiB,UAAJF,UAAAA,EAAAA,EAAaC,cAAe,EAChD,GAAIjB,EAAMc,MAAQG,EAAcjB,EAAMW,MAAO,CAC3CL,EAAe,KACjB,KAAO,CACLA,EAAe,MACjB,CACD,GAAE,CAACN,EAAMc,KAAMd,EAAMW,QAEtB,GAAIN,EAAa,CACf,OAAOQ,EAACM,EAAO,CAACC,MAAOpB,EAAMc,KAAKF,SAAEL,GACtC,CAEA,OAAOA,CACT"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { Tooltip } from 'antd';\nimport { useMemo, useState } from 'react';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const [parentNodeWidth, setParentNodeWidth] = useState(0);\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n\n const showTips = useMemo(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n return textNodeWidth > parentNodeWidth;\n }, [parentNodeWidth, props.hideTips, props.width, textNodeWidth]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n setParentNodeWidth(node?.parentElement?.offsetWidth || 0);\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","_useState","useState","parentNodeWidth","setParentNodeWidth","_useState2","textNodeWidth","setTextNodeWidth","showTips","useMemo","hideTips","width","undefined","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node","_node$parentElement","parentElement","offsetWidth"],"mappings":";mIAsBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAAC,EAA8CC,EAAS,GAAhDC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAC1C,IAAAI,EAA0CH,EAAS,GAA5CI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEtC,IAAMG,EAAWC,GAAQ,WACvB,GAAIT,EAAMU,SAAU,OAAO,MAC3B,GAAIV,EAAMW,QAAUC,UAAW,CAC7B,OAAON,EAAgBN,EAAMW,KAC/B,CACA,OAAOL,EAAgBH,CACzB,GAAG,CAACA,EAAiBH,EAAMU,SAAUV,EAAMW,MAAOL,IAElD,OACEO,EAACC,EAAO,CAACC,MAAOP,EAAWR,EAAMgB,KAAOJ,UAAUK,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAOpB,EAAMW,MAAQ,CAAEA,MAAOX,EAAMW,OAAU,CAAG,EACjDU,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CAAA,IAAAC,EACRnB,GAAmBkB,GAAI,OAAAC,EAAJD,EAAME,4BAAND,EAAqBE,cAAe,EACzD,CACA,EAAAR,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRf,EAAiBe,EAAKG,YACxB,CACA,EAAAR,SAEDjB,EAAMgB,SAGVhB,EAAMgB,SAIf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/tree-selector-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, TPlainObject, treeToArray, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * @deprecated 已过期,请使用onChange\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n // const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n // if (!item) return undefined;\n // return {\n // label: item?.[labelInValueFieldNamesMerge.label],\n // value: item?.[labelInValueFieldNamesMerge.value],\n // disabled: item?.['disabled'],\n // };\n // });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n rawData: item,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const valueList = labelInValue\n ? getVauleList(value, labelInValueFieldNamesMerge)\n : getVauleList(value, fieldNamesMerge);\n if (valueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return valueList.map((item) => ({ label: item, value: item }));\n }\n return valueList.map((value) => {\n const target = arrayFind(state.treeSelectorTiledArray, value as string, fieldNamesMerge.value);\n const targetParseItem = parseDataSourceItem(target) as TPlainObject;\n return {\n label: getValueOrDefault(targetParseItem?.label, value),\n value: getValueOrDefault(targetParseItem?.value, value),\n };\n });\n }\n return valueList;\n }, [\n labelInValue,\n value,\n labelInValueFieldNamesMerge,\n fieldNamesMerge,\n otherProps.treeCheckStrictly,\n state.treeSelectorTiledArray,\n parseDataSourceItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","rawData","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","targetParseItem","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/tree-selector-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, TPlainObject, treeToArray, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * @deprecated 已过期,请使用onChange\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器,返回的数据会通过fieldNames配置取数据\n * ```\n * 1. 可用于设置disabled状态\n * onTreeItemDataAdapter: (dataItem) => {\n * if(dataItem.xx === xx){\n * dataItem['disabled] = true;\n * }\n * return dataItem;\n * }\n * 2. 可设置label数据显示\n * ```\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n // const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n // if (!item) return undefined;\n // return {\n // label: item?.[labelInValueFieldNamesMerge.label],\n // value: item?.[labelInValueFieldNamesMerge.value],\n // disabled: item?.['disabled'],\n // };\n // });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n rawData: item,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const valueList = labelInValue\n ? getVauleList(value, labelInValueFieldNamesMerge)\n : getVauleList(value, fieldNamesMerge);\n if (valueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return valueList.map((item) => ({ label: item, value: item }));\n }\n return valueList.map((value) => {\n const target = arrayFind(state.treeSelectorTiledArray, value as string, fieldNamesMerge.value);\n const targetParseItem = parseDataSourceItem(target) as TPlainObject;\n return {\n label: getValueOrDefault(targetParseItem?.label, value),\n value: getValueOrDefault(targetParseItem?.value, value),\n };\n });\n }\n return valueList;\n }, [\n labelInValue,\n value,\n labelInValueFieldNamesMerge,\n fieldNamesMerge,\n otherProps.treeCheckStrictly,\n state.treeSelectorTiledArray,\n parseDataSourceItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","rawData","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","targetParseItem","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -1 +1 @@
1
- .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree-list-holder-inner{overflow:hidden}.v-tree-wrapper-loading{left:50%;position:absolute;top:50%;z-index:9}.v-tree-wrapper-search{flex:1}.v-tree-wrapper-tree-wrapper{flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree-wrapper>.ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.v-tree-wrapper-tree{height:100%;overflow:auto;position:relative}.v-tree-wrapper-tree .ant-tree-title{align-items:center;display:flex;flex:1;position:relative}.v-tree-wrapper-tree .tree-item-title{flex:1;margin-right:5px}.v-tree-wrapper-tree .anticon-more{display:none;font-weight:700}.v-tree-wrapper-tree .tree-item-title-operate{display:none}.v-tree-wrapper-tree .ant-tree-node-selected .anticon-more,.v-tree-wrapper-tree .ant-tree-node-selected .tree-item-title-operate{display:block}.v-tree-wrapper-tree .ant-tree-node-content-wrapper{display:flex}.tree-wrapper-empty{position:relative}.tree-wrapper-empty .ant-empty{margin:8px 0}.tree-wrapper-empty .ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-tree-search-value{color:red}.v-tree-item-disabled{opacity:.5}.tree-item-title-operate .ant-btn{height:auto;padding:0 3px;width:auto}.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .anticon-more,.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .tree-item-title-operate{display:block}.v-tree-wrapper-search-area{align-items:center;display:flex;margin-bottom:12px}.v-tree-wrapper-search-extra{margin-left:12px}
1
+ .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree-list-holder-inner{overflow:hidden}.v-tree-wrapper-loading{left:50%;position:absolute;top:50%;z-index:9}.v-tree-wrapper-search{flex:1}.v-tree-wrapper-tree-wrapper{flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree-wrapper>.ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.v-tree-wrapper-tree{height:100%;overflow:auto;position:relative}.v-tree-wrapper-tree .ant-tree-title{align-items:center;display:flex;flex:1;overflow:hidden;position:relative}.v-tree-wrapper-tree .tree-item-title{display:inline-flex;flex:1;overflow:hidden;padding:1px 0}.v-tree-wrapper-tree .anticon-more{display:none;font-weight:700}.v-tree-wrapper-tree .tree-item-title-operate{display:none;margin-left:5px}.v-tree-wrapper-tree .ant-tree-node-selected .anticon-more,.v-tree-wrapper-tree .ant-tree-node-selected .tree-item-title-operate{display:inline-flex}.v-tree-wrapper-tree .ant-tree-node-content-wrapper{display:flex;overflow:hidden}.tree-wrapper-empty{position:relative}.tree-wrapper-empty .ant-empty{margin:8px 0}.tree-wrapper-empty .ant-spin{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-tree-search-value{color:red}.v-tree-item-disabled{opacity:.5}.tree-item-title-operate .ant-btn{height:auto;padding:0 3px;width:auto}.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .anticon-more,.v-tree-wrapper-menu-hover .ant-tree-node-content-wrapper:hover .tree-item-title-operate{display:inline-flex}.v-tree-wrapper-search-area{align-items:center;display:flex;margin-bottom:12px}.v-tree-wrapper-search-extra{margin-left:12px}
@@ -13,5 +13,5 @@ import './../flex-layout/index.css';
13
13
  import './../input-search-wrapper/index.css';
14
14
  import './index.css';
15
15
  /*! @flatjs/forge MIT @flatbiz/antd */
16
- import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{a as v,_ as p}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as y,message as b}from"antd";import{forwardRef as L,useState as w,useMemo as C,useRef as j,useImperativeHandle as N,Fragment as R,isValidElement as q}from"react";import{ButtonOperate as k}from"../button-operate/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as S}from"../fba-hooks/index.js";import{InputSearchWrapper as T}from"../input-search-wrapper/index.js";import{RequestStatus as P}from"../request-status/index.js";import{tree as D}from"@dimjs/utils/cjs/tree";import{isObject as A}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as E,jsx as _}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../index-ac189a77.js";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"../use-responsive-point-21b8c601.js";var I={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[];e.treeTiledArray=[]}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:I};var V={};var F=function e(r){if(!V[r]){V[r]=s(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var U=function e(n,a,i){var l=r(a,i);return t(n,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var z=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(A(e))return e[t.value];return e}));return a};var H=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function r(t,n,a){var i;var l=a.value;var s=a.children;D.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var Y=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus"];var G=L((function(e,r){var t=e.style,i=e.serviceConfig,s=e.effectDependencyList,L=e.selectorTreeList,D=e.value,A=e.onChange,I=e.modelKey,O=e.checkableResponseParentNode,V=O===void 0?true:O,K=e.checkable,B=e.onSelectorTreeListChange,G=e.onRequestResponseChange,W=e.treeItemDataAdapter,J=e.searchValue,Q=e.showSearch,X=e.searchPlaceholder,Z=e.requestMessageConfig,$=e.labelInValueFieldNames,ee=e.labelInValue,re=e.disabledCanUse,te=e.menuLayoutType,ne=e.menuTriggerType,ae=e.initRootExpand,ie=e.searchResultType,le=e.onDropNodeHandle,se=e.onDropPrev,oe=e.labelRender,ue=e.searchStyle,ce=e.className,de=e.defaultExpandAll,fe=e.menus,ve=v(e,Y);var pe=e.hasOwnProperty("selectorTreeList");var me=i||{};var he=s||[];var ge=w([]),ye=ge[0],be=ge[1];var Le=F(I).useStore(),we=Le[0],Ce=Le[1];var je=S.useSafeState(false),Ne=je[0],Re=je[1];var qe="request-progress-"+e.modelKey;var ke=C((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var xe=te===undefined?"fold":te;var Se=ne===undefined?"click":ne;var Te=j(true);var Pe=C((function(){return p({label:"label",value:"value"},$)}),[$]);var De=w(),Ae=De[0],Ee=De[1];var _e=j();var Ie=C((function(){return z(D,Pe)}),[Pe,D]);S.useEffectCustom((function(){if(we.treeList.length>0){if(Te.current){Te.current=false;if(de){be(M(we.treeList,ke));return}else if(ae&&we.treeList.length){be([we.treeList[0][ke.value]]);return}}if(!n(D)){var e=Me(Ie,true);be(Array.from(new Set(ye==null?void 0:ye.concat(e))))}}}),[D,we.treeList,Ie]);var Oe=function e(r){return r===""||n(r)};var Ve=function e(r){return me.onRequestResultAdapter?me.onRequestResultAdapter(r):r};S.useEffectCustom((function(){Ee(J)}),[J]);var Fe=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{Te.current=false;Re(false);void b.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=me.requiredParamsKeys;n=d({},me.params);if(t){a=t.find((function(e){return Oe(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var f=function(e){try{window[qe]=false;Re(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{Re(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[qe]=true;return Promise.resolve(me.onRequest==null?void 0:me.onRequest(n)).then((function(e){try{i=e;G==null?void 0:G(i);l=Ve(i);s=l||[];if(s.length===0){Te.current=false}Ke(s);Re(false);window[qe]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){u(e)}}))}));S.useEffectCustom((function(){if(pe)return;if(he.length){void Fe();return}var e=F(I).getState();if(e.requestStatus==="request-success"){B==null?void 0:B(e.treeList);return}if(!window[qe]){void Fe()}else{B==null?void 0:B(e.treeList)}}),he);S.useEffectCustom((function(){if(pe){Ke(L||[])}}),[L]);var Ke=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&we.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:ke.children});B==null?void 0:B(e)}));var Me=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=U(e,we.treeList,ke);n=n.concat(r)}));return n};f.useUpdateEffect((function(){if(Ae){var e=we.treeTiledArray.filter((function(e){var r=e[ke.label]||"";return String(r).toLowerCase().includes(Ae.toLowerCase())}));be((function(r){var t=e.map((function(e){return e[ke.value]})).concat(r||[]);var n=Me(t);return Array.from(new Set(n))}))}else{be([])}}),[Ae]);N(r,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return we.treeList},onChangeExpandedKeys:function e(r){be(r)}}}));var Ue=f.useCallbackRef((function(e){be(e)}));var ze=f.useCallbackRef((function(e,r,t,a){_e.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){A==null?void 0:A(e,r,t);return}if(ee){var s=Pe.label;var o=Pe.value;var u=i.map((function(e){var r;return r={},r[s]=e[ke.label],r[o]=e[ke.value],r}));if(l(e)){A==null?void 0:A(u,i,t,a)}else{A==null?void 0:A(u[0],i[0],t,a)}}else{if(l(e)){A==null?void 0:A(e,i,t,a)}else{A==null?void 0:A(e,i[0],t,a)}}}));var He=f.useCallbackRef((function(r,t){var a=n(r)?[]:r;a=e.checkStrictly?r.checked:r;a=l(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var r=we.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!r)return;var t=r==null?void 0:r[ke.children];if(!l(t)||t.length===0){i.push(r);s.push(r[ke.value])}o.push(r);u.push(r[ke.value])}));if(K){be((function(e){var r=Me(s).concat(e||[]);return Array.from(new Set(r))}));if(!V&&!e.checkStrictly){ze(s,i,o,t)}else{ze(u,o,o,t)}}else{if(a[0]){var c=o.find((function(e){return e[ke.value]===a[0]}));ze(a[0],c,[c],t)}else{var d=t.node[ke.value];var f=we.treeTiledArray.find((function(e){return e[ke.value]===d}));ze(undefined,f,[f],t)}}}));var Be=f.useCallbackRef((function(e){return W==null?void 0:W(e)}));var Ye=C((function(){var e=m(we.treeList||[]);if(Ae&&ie!=="highlight"){return a(m(we.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,ie,we.treeList,Ae]);var Ge=C((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t,n;var a=(Be==null?void 0:Be(r))||r;var i=re?undefined:a.disabled;var s=(t=a[ke.label])==null?void 0:t.toLowerCase();var o;if(Ae){var u=s.indexOf(Ae.toLowerCase());var d=s.substring(0,u);var f=s.slice(u+Ae.length);var v=s.slice(u,u+Ae.length);o=u>-1?E("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[d,_("span",{className:"site-tree-search-value",children:v}),f]}):null}if(!o&&a.disabled){o=_("span",{className:c({"v-tree-item-disabled":a.disabled}),children:s})}var m=a[ke.children];return p({},a,(n={disabled:i},n[ke.label]=o||s,n._treeItemName=s,n._disabled=a.disabled,n[ke.children]=l(m)&&m.length>0?e(m):undefined,n))}))};return e(Ye)}),[Ye,Be,re,ke.label,ke.children,Ae]);var We=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[ke.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void b.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(e){try{o=e;u=me.onRequestResultAdapter?me.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[ke.value],appendList:u,childrenName:ke.children,valueName:ke.value}).then((function(e){Ke(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Je=f.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Qe=f.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[ke.label];var l=fe==null?void 0:fe(p({},r,(t={},t[ke.label]=i,t)));if(l){return E(R,{children:[_("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[ke.label])}),_(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(xe==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,f,v;o=((d=e.menuOptions)==null||(f=d[xe])==null?void 0:f.call(d,p({},r,(v={},v[ke.label]=i,v))))||[]}else{var m;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(m={},m[ke.label]=i,m))))||[]}return E(R,{children:[_("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[ke.label])}),o.length>0&&_(x,{menuList:o,placement:"bottomRight",children:_(u,{})})]})}var h=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(p({},r,(a={},a[ke.label]=i,a)));return E(R,{children:[_("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[ke.label])}),h?_(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Xe=f.useDebounceCallback((function(r){Ee(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var Ze=f.useCallbackRef((function(e){Xe(e.target.value)}));var $e=f.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Je(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var er=C((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var rr=Ge.length>0&&we.requestStatus!=="request-error";var tr=p({showLine:{showLeafIcon:false},titleRender:Qe,blockNode:true,switcherIcon:_(o,{}),onDrop:function e(r){if(se){var t=se(r);if(!t)return}var n=H(Ye,ke,r),a=n.dataList,i=n.dragNodeData;le==null?void 0:le(i);Ke(a)},expandedKeys:ye},ve,{fieldNames:er,treeData:Ge,onExpand:Ue,loadData:e.loadDataFlag?We:undefined,style:{width:"100%"},icon:$e});var nr={onCheck:He,checkable:K,checkedKeys:Ie};var ar={onSelect:He,multiple:false,selectedKeys:Ie};var ir=K?nr:ar;var lr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Se,ce);var sr=we.treeList.length>0&&!rr&&Ae;return E("div",{className:lr,style:t,children:[!!Q&&E("div",{className:"v-tree-wrapper-search-area",style:ue,children:[_(T,{className:"v-tree-wrapper-search",placeholder:n(X)?"搜索":X,onChange:Ze,value:J,allowClear:true}),!!e.searchExtraElement&&_("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),rr?E("div",{className:"v-tree-wrapper-tree-wrapper",children:[_(h,{spinning:we.requestStatus==="request-progress"}),_(g,p({},ir,tr,{className:"v-tree-wrapper-tree"}))]}):_(P,{status:we.requestStatus,loading:Ne,messageConfig:p({"request-success":sr?"搜索结果为空":"暂无数据"},Z),errorButton:_(y,{type:"primary",onClick:Fe,children:"重新获取数据"})})]})}));G.defaultProps={disabledCanUse:true};var W=i(G,{getTreeDataList:K});export{W as TreeWrapper};
16
+ import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{get as v}from"@dimjs/utils/cjs/get";import{a as p,_ as m}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as w,useState as C,useMemo as j,useRef as N,useImperativeHandle as R,Fragment as q,isValidElement as S}from"react";import{ButtonOperate as k}from"../button-operate/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{InputSearchWrapper as D}from"../input-search-wrapper/index.js";import{RequestStatus as P}from"../request-status/index.js";import{tree as A}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as _,jsx as I}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../index-ac189a77.js";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"../use-responsive-point-21b8c601.js";var O={treeList:[],treeTiledArray:[],queryIsEmpty:false};var V={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[];e.treeTiledArray=[]}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:O};var F={};var K=function e(r){if(!F[r]){F[r]=s(V)}return F[r]};var M=function e(r){var t=K(r).getState();return t.treeList};var U=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var z=function e(n,a,i){var l=r(a,i);return t(n,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var H=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(E(e))return e[t.value];return e}));return a};var B=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=h(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function r(t,n,a){var i;var l=a.value;var s=a.children;A.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=e(n,s);var u=o.find((function(e){return e[l]===t}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var G=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus"];var W=w((function(e,r){var t=e.style,i=e.serviceConfig,s=e.effectDependencyList,w=e.selectorTreeList,A=e.value,E=e.onChange,O=e.modelKey,V=e.checkableResponseParentNode,F=V===void 0?true:V,M=e.checkable,Y=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,fe=e.defaultExpandAll,ve=e.menus,pe=p(e,G);var me=e.hasOwnProperty("selectorTreeList");var he=i||{};var ge=s||[];var ye=C([]),be=ye[0],Le=ye[1];var we=K(O).useStore(),Ce=we[0],je=we[1];var Ne=T.useSafeState(false),Re=Ne[0],qe=Ne[1];var Se="request-progress-"+e.modelKey;var ke=j((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var xe=ne===undefined?"fold":ne;var Te=ae===undefined?"click":ae;var De=N(true);var Pe=j((function(){return m({label:"label",value:"value"},ee)}),[ee]);var Ae=C(),Ee=Ae[0],_e=Ae[1];var Ie=N();var Oe=j((function(){return H(A,Pe)}),[Pe,A]);T.useEffectCustom((function(){if(Ce.treeList.length>0){if(De.current){De.current=false;if(fe){Le(U(Ce.treeList,ke));return}else if(ie&&Ce.treeList.length){Le([Ce.treeList[0][ke.value]]);return}}if(!n(A)){var e=Ue(Oe,true);Le(Array.from(new Set(be==null?void 0:be.concat(e))))}}}),[A,Ce.treeList,Oe]);var Ve=function e(r){return r===""||n(r)};var Fe=function e(r){if(he.onRequestResultAdapter){return he.onRequestResultAdapter(r)}if(ke.list){return v(r,ke.list,[])||[]}if(!l(r)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return r};T.useEffectCustom((function(){_e(Q)}),[Q]);var Ke=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{De.current=false;qe(false);void L.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){void je.changeRequestStatus("no-dependencies-params");console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var f=function(e){try{window[Se]=false;qe(false);void je.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(je.changeRequestStatus("request-progress")).then((function(e){try{window[Se]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){De.current=false}Me(s);qe(false);window[Se]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(me)return;if(ge.length){void Ke();return}var e=K(O).getState();if(e.requestStatus==="request-success"){Y==null?void 0:Y(e.treeList);return}if(!window[Se]){void Ke()}else{Y==null?void 0:Y(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(w||[])}}),[w]);var Me=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ce.treeList.length===0){void je.changeRequestStatus("request-success");return}void je.setTreeList({treeList:e||[],childrenName:ke.children});Y==null?void 0:Y(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&be!=null&&be.includes(e))return;var r=z(e,Ce.treeList,ke);n=n.concat(r)}));return n};f.useUpdateEffect((function(){if(Ee){var e=Ce.treeTiledArray.filter((function(e){var r=e[ke.label]||"";return String(r).toLowerCase().includes(Ee.toLowerCase())}));Le((function(r){var t=e.map((function(e){return e[ke.value]})).concat(r||[]);var n=Ue(t);return Array.from(new Set(n))}))}else{Le([])}}),[Ee]);R(r,(function(){return{onClearSelectorList:function e(){void je.resetTreeList()},getTreeDataList:function e(){return Ce.treeList},onChangeExpandedKeys:function e(r){Le(r)}}}));var ze=f.useCallbackRef((function(e){Le(e)}));var He=f.useCallbackRef((function(e,r,t,a){Ie.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){E==null?void 0:E(e,r,t);return}if(re){var s=Pe.label;var o=Pe.value;var u=i.map((function(e){var r;return r={},r[s]=e[ke.label],r[o]=e[ke.value],r}));if(l(e)){E==null?void 0:E(u,i,t,a)}else{E==null?void 0:E(u[0],i[0],t,a)}}else{if(l(e)){E==null?void 0:E(e,i,t,a)}else{E==null?void 0:E(e,i[0],t,a)}}}));var Be=f.useCallbackRef((function(r,t){var a=n(r)?[]:r;a=e.checkStrictly?r.checked:r;a=l(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var r=Ce.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!r)return;var t=r==null?void 0:r[ke.children];if(!l(t)||t.length===0){i.push(r);s.push(r[ke.value])}o.push(r);u.push(r[ke.value])}));if(M){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!F&&!e.checkStrictly){He(s,i,o,t)}else{He(u,o,o,t)}}else{if(a[0]){var c=o.find((function(e){return e[ke.value]===a[0]}));He(a[0],c,[c],t)}else{var d=t.node[ke.value];var f=Ce.treeTiledArray.find((function(e){return e[ke.value]===d}));He(undefined,f,[f],t)}}}));var Ye=f.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=j((function(){var e=h(Ce.treeList||[]);if(Ee&&le!=="highlight"){return a(h(Ce.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ee.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,le,Ce.treeList,Ee]);var We=j((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t,n;var a=(Ye==null?void 0:Ye(r))||r;var i=te?undefined:a.disabled;var s=(t=a[ke.label])==null?void 0:t.toLowerCase();var o;if(Ee){var u=s.indexOf(Ee.toLowerCase());var d=s.substring(0,u);var f=s.slice(u+Ee.length);var v=s.slice(u,u+Ee.length);o=u>-1?_("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[d,I("span",{className:"site-tree-search-value",children:v}),f]}):null}if(!o&&a.disabled){o=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:s})}var p=a[ke.children];return m({},a,(n={disabled:i},n[ke.label]=o||s,n._treeItemName=s,n._disabled=a.disabled,n[ke.children]=l(p)&&p.length>0?e(p):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,ke.label,ke.children,Ee]);var Je=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u,c;if(r[ke.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void L.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{u=n;c=(o=e.loadDataServiceConfig)!=null&&o.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(u):u;void je.treeListAppendChildren({value:r[ke.value],appendList:c,childrenName:ke.children,valueName:ke.value}).then((function(e){Me(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var Qe=f.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=f.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[ke.label];var l=ve==null?void 0:ve(m({},r,(t={},t[ke.label]=i,t)));if(l!=null&&l.operateList.length){return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),I(k,m({gap:5},l,{dropdownMenuProps:m({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(xe==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,f,v;o=((d=e.menuOptions)==null||(f=d[xe])==null?void 0:f.call(d,m({},r,(v={},v[ke.label]=i,v))))||[]}else{var p;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(p={},p[ke.label]=i,p))))||[]}return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),o.length>0&&I(x,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(m({},r,(a={},a[ke.label]=i,a)));return _(q,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),h?I(k,m({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=f.useDebounceCallback((function(r){_e(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=f.useCallbackRef((function(e){Ze(e.target.value)}));var er=f.useCallbackRef((function(r){if(!e.icon)return null;if(S(e.icon))return e.icon;var t=Qe(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var rr=j((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var tr=We.length>0&&Ce.requestStatus!=="request-error";var nr=m({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=B(Ge,ke,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:be},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:Be,checkable:M,checkedKeys:Oe};var ir={onSelect:Be,multiple:false,selectedKeys:Oe};var lr=M?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Te,de);var or=Ce.treeList.length>0&&!tr&&Ee;return _("div",{className:sr,style:t,children:[!!X&&_("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(D,{className:"v-tree-wrapper-search",placeholder:n(Z)?"搜索":Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(g,{spinning:Ce.requestStatus==="request-progress"}),I(y,m({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(P,{status:Ce.requestStatus,loading:Re,messageConfig:m({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));W.defaultProps={disabledCanUse:true};var J=i(W,{getTreeDataList:M});export{J as TreeWrapper};
17
17
  //# sourceMappingURL=index.js.map