@flatbiz/antd 5.0.26 → 5.0.28

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/tree-modal/select-item.tsx","@flatbiz/antd/src/tree-modal/tree.tsx","@flatbiz/antd/src/tree-modal/horizontal.tsx","@flatbiz/antd/src/tree-modal/vertical.tsx","@flatbiz/antd/src/tree-modal/select-modal-content.tsx","@flatbiz/antd/src/tree-modal/select-modal.tsx","@flatbiz/antd/src/tree-modal/index.ts"],"sourcesContent":["import { Fragment } from 'react';\nimport { CloseOutlined } from '@ant-design/icons';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { CssNodeHover } from '../css-node-hover/index.js';\nimport { FlexLayout } from '../flex-layout/index.js';\nimport { IconWrapper } from '../icon-wrapper/index.js';\nimport { TextOverflow } from '../text-overflow/index.js';\nimport type { TreeModalProps } from './types.js';\n\nexport const SelectItemList = (props: {\n chenkedIdList: TPlainObject[];\n fieldNames: TreeModalProps['fieldNames'];\n onDeleteItem: (value: TAny) => void;\n}) => {\n const chenkedIdList = props.chenkedIdList;\n return (\n <Fragment>\n {chenkedIdList?.map((item) => {\n const value = item.value;\n const label = item.label || value;\n\n return (\n <CssNodeHover style={{ paddingLeft: 5, paddingRight: 0 }} key={value}>\n <FlexLayout\n fullIndex={1}\n direction=\"horizontal\"\n style={{\n alignItems: 'center',\n fontSize: 14,\n marginBottom: 0,\n color: '#505050',\n }}\n >\n <TextOverflow text={label} />\n <div\n style={{\n position: 'relative',\n zIndex: 9,\n color: '#a1a1a1',\n }}\n >\n <IconWrapper\n text={<CloseOutlined />}\n onClick={props.onDeleteItem.bind(null, value)}\n size=\"small\"\n style={{ paddingRight: 5, margin: '2px' }}\n />\n </div>\n </FlexLayout>\n </CssNodeHover>\n );\n })}\n </Fragment>\n );\n};\n","import type { TAny } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport type {\n TreeServiceConfig,\n TreeWrapperProps,\n} from '../tree-wrapper/index.js';\nimport { TreeWrapper } from '../tree-wrapper/index.js';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const SelectContent = (props: {\n value?: TAny;\n onChange?: (value?: TreeModelSelectItem[]) => void;\n fieldNames?: TreeWrapperProps['fieldNames'];\n serviceConfig?: TreeServiceConfig;\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const modelKey = hooks.useId(undefined, 'tree-select-modal');\n return (\n <TreeWrapper\n initRootExpand\n showSearch\n searchPlaceholder=\"搜索\"\n checkable={true}\n checkableType=\"2\"\n {...props.treeProps}\n showIcon={props.treeProps?.icon ? true : false}\n value={props.value?.map((item) => item.value)}\n modelKey={modelKey}\n fieldNames={props.fieldNames}\n labelInValue={true}\n serviceConfig={props.serviceConfig}\n onChange={(values) => {\n props.onChange?.(toArray(values));\n }}\n />\n );\n};\n","import { Fragment } from 'react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { FlexLayout } from '../flex-layout/index.js';\nimport { SelectItemList } from './select-item.jsx';\nimport { SelectContent } from './tree.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const HorizontalLayout = (props: {\n onChangeDataSource?: (\n treeDataList: TPlainObject[],\n mapData: TPlainObject\n ) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n onRequest?: TreeModalProps['onRequest'];\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const chenkedIdList = props.value || [];\n\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n gap={10}\n style={{ height: '100%', overflow: 'hidden' }}\n >\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n onRequest: props.onRequest,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div\n style={{\n width: '40%',\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n }}\n >\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace(\n '{total}',\n `${chenkedIdList?.length || ''}`\n )\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder || '请选择'\n )}\n </div>\n <div style={{ overflow: 'auto', flex: 1 }}>\n <SelectItemList\n chenkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n </FlexLayout>\n );\n};\n","import { Fragment } from 'react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { SelectItemList } from './select-item.jsx';\nimport { SelectContent } from './tree.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const VerticalLayout = (props: {\n onChangeDataSource?: (\n treeDataList: TPlainObject[],\n mapData: TPlainObject\n ) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n onRequest?: TreeModalProps['onRequest'];\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const chenkedIdList = props.value || [];\n\n return (\n <div style={{ height: '100%', overflow: 'auto' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n onRequest: props.onRequest,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div style={{ marginTop: 20 }}>\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace(\n '{total}',\n `${chenkedIdList?.length || ''}`\n )\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder\n )}\n </div>\n <SelectItemList\n chenkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n );\n};\n","import { Fragment, useRef, useState } from 'react';\nimport { isObject } from '@dimjs/lang';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { HorizontalLayout } from './horizontal.jsx';\nimport type { TreeModalContentProps, TreeModelSelectItem } from './types.js';\nimport { VerticalLayout } from './vertical.jsx';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalContent = (props: TreeModalContentProps) => {\n const { isMultiple } = props;\n const labelKey = props.fieldNames?.label || 'label';\n const valueKey = props.fieldNames?.value || 'value';\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n const isMultipleFt = isUndefinedOrNull(isMultiple) ? true : isMultiple;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n\n const onDeleteItem = (value) => {\n const targetList = values?.filter((item) => item.value !== value);\n setValues(targetList);\n props.onChange?.(targetList);\n };\n\n fbaHooks.useEffectCustom(() => {\n const values = toArray<TAny>(props.value).map((item) => {\n const target = isObject(item) ? item : { label: item, value: item };\n const value = target.value;\n return {\n value: value,\n label: dataSourceMapRef.current[value]?.[labelKey] || '',\n };\n });\n setValues(values);\n }, [props.value]);\n\n const treePropsFt = {\n ...props.treeProps,\n checkable: isMultipleFt ? true : false,\n };\n\n const onChange = (values?: TreeModelSelectItem[]) => {\n setValues(values);\n props.onChange?.(values);\n };\n\n const onChangeDataSource = hooks.useCallbackRef(\n (treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = values\n ?.map((item) => {\n const target = mapData[item.value];\n return target\n ? { label: target[labelKey], value: target[valueKey] }\n : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setValues(result);\n props.onDataSourceChange?.(treeDataList, mapData);\n }\n );\n\n return (\n <Fragment>\n {direction === 'vertical' ? (\n <VerticalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n onRequest={props.onRequest}\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n ></VerticalLayout>\n ) : (\n <HorizontalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n onRequest={props.onRequest}\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n />\n )}\n </Fragment>\n );\n};\n","import { Fragment, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { Modal } from 'antd';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { TreeModalContent } from './select-modal-content.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModal = (props: TreeModalProps) => {\n const { size = 'large' } = props;\n const [isOpen, setIsOpen] = useState(false);\n\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n\n const handleOnClick = hooks.useCallbackRef(() => {\n setIsOpen(true);\n });\n\n const Action = props.children.type;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n const originalValuesRef = useRef<TreeModelSelectItem[]>([]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n let sizeCalculate: TPlainObject = {};\n if (size == 'large') {\n sizeCalculate = {\n height: htmlSize?.height * 0.65,\n width: 800,\n };\n } else if (size == 'small') {\n sizeCalculate = {\n height: htmlSize?.height * 0.45,\n width: 450,\n };\n } else if (size == 'middle') {\n sizeCalculate = {\n height: htmlSize?.height * 0.55,\n width: 600,\n };\n }\n\n return {\n height: props.modalBodyHeight || sizeCalculate.height,\n width: isXsSm ? '90%' : props.modalWidth || sizeCalculate.width,\n };\n }, [\n htmlSize?.height,\n screenType,\n size,\n props.modalBodyHeight,\n props.modalWidth,\n ]);\n\n const onSubmit = () => {\n props.onChange?.(values);\n setIsOpen(false);\n };\n\n const onCancel = () => {\n setIsOpen(false);\n setValues(originalValuesRef.current);\n };\n\n return (\n <Fragment>\n <Action {...props.children.props} onClick={handleOnClick} />\n <Modal\n className={props.modalClassName}\n title={props.textConfig.title || '选择'}\n open={isOpen}\n onCancel={onCancel}\n forceRender={props.forceRender}\n centered\n width={customSize?.width}\n onOk={onSubmit}\n styles={\n direction === 'horizontal'\n ? {\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n padding: '0px 20px 0 20px',\n },\n content: {\n padding: 0,\n },\n header: {\n padding: '20px 24px 0 20px',\n },\n footer: {\n padding: '0 24px 20px 24px',\n },\n }\n : {\n body: {\n height: customSize?.height,\n },\n }\n }\n >\n <TreeModalContent\n {...props}\n onChange={(values) => {\n setValues(values);\n }}\n />\n </Modal>\n </Fragment>\n );\n};\n","import { attachPropertiesToComponent } from '@flatbiz/utils';\nimport { TreeModal as TreeModalInner } from './select-modal.jsx';\nimport { TreeModalContent } from './select-modal-content.jsx';\n\nexport const TreeModal = attachPropertiesToComponent(TreeModalInner, {\n Content: TreeModalContent,\n});\n"],"names":["SelectItemList","props","chenkedIdList","_jsx","Fragment","children","map","item","value","label","CssNodeHover","style","paddingLeft","paddingRight","_jsxs","FlexLayout","fullIndex","direction","alignItems","fontSize","marginBottom","color","TextOverflow","text","position","zIndex","IconWrapper","_CloseOutlined","onClick","onDeleteItem","bind","size","margin","SelectContent","_props$treeProps","_props$value","modelKey","_hooks","useId","undefined","TreeWrapper","_objectSpread","initRootExpand","showSearch","searchPlaceholder","checkable","checkableType","treeProps","showIcon","icon","fieldNames","labelInValue","serviceConfig","onChange","values","_props$onChange","call","toArray","HorizontalLayout","_props$fieldNames","_props$fieldNames2","valueKey","childrenKey","_props$textConfig","textConfig","selectQuantityPrompt","placeholder","gap","height","overflow","backgroundColor","padding","borderRadius","onRequest","onRequestResultAdapter","respData","_props$onChangeDataSo","listMap","treeToTiledMap","onChangeDataSource","width","display","flexDirection","flexShrink","fontWeight","length","replace","concat","flex","VerticalLayout","marginTop","TreeModalContent","isMultiple","labelKey","dataSourceMapRef","useRef","screenType","fbaHooks","useResponsivePoint","isMultipleFt","isUndefinedOrNull","_useState","useState","_useState2","_slicedToArray","setValues","targetList","filter","useEffectCustom","_dataSourceMapRef$cur","target","_isObject","current","treePropsFt","_props$onChange2","useCallbackRef","treeDataList","mapData","_props$onDataSourceCh","result","Boolean","onDataSourceChange","TreeModal","_props$size","isOpen","setIsOpen","htmlSize","useSize","document","querySelector","handleOnClick","Action","type","_useState3","_useState4","originalValuesRef","customSize","useMemo","isXsSm","includes","sizeCalculate","modalBodyHeight","modalWidth","onSubmit","onCancel","Modal","className","modalClassName","title","open","forceRender","centered","onOk","styles","body","maxHeight","content","header","footer","attachPropertiesToComponent","TreeModalInner","Content"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-modal/select-item.tsx","@flatbiz/antd/src/tree-modal/tree.tsx","@flatbiz/antd/src/tree-modal/horizontal.tsx","@flatbiz/antd/src/tree-modal/vertical.tsx","@flatbiz/antd/src/tree-modal/select-modal-content.tsx","@flatbiz/antd/src/tree-modal/select-modal.tsx","@flatbiz/antd/src/tree-modal/index.ts"],"sourcesContent":["import { Fragment } from 'react';\nimport { CloseOutlined } from '@ant-design/icons';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { CssNodeHover } from '../css-node-hover/index.js';\nimport { FlexLayout } from '../flex-layout/index.js';\nimport { IconWrapper } from '../icon-wrapper/index.js';\nimport { TextOverflow } from '../text-overflow/index.js';\nimport type { TreeModalProps } from './types.js';\n\nexport const SelectItemList = (props: {\n chenkedIdList: TPlainObject[];\n fieldNames: TreeModalProps['fieldNames'];\n onDeleteItem: (value: TAny) => void;\n}) => {\n const chenkedIdList = props.chenkedIdList;\n return (\n <Fragment>\n {chenkedIdList?.map((item) => {\n const value = item.value;\n const label = item.label || value;\n\n return (\n <CssNodeHover style={{ paddingLeft: 5, paddingRight: 0 }} key={value}>\n <FlexLayout\n fullIndex={1}\n direction=\"horizontal\"\n style={{\n alignItems: 'center',\n fontSize: 14,\n marginBottom: 0,\n color: '#505050',\n }}\n >\n <TextOverflow text={label} />\n <div\n style={{\n position: 'relative',\n zIndex: 9,\n color: '#a1a1a1',\n }}\n >\n <IconWrapper\n text={<CloseOutlined />}\n onClick={props.onDeleteItem.bind(null, value)}\n size=\"small\"\n style={{ paddingRight: 5, margin: '2px' }}\n />\n </div>\n </FlexLayout>\n </CssNodeHover>\n );\n })}\n </Fragment>\n );\n};\n","import type { TAny } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport type {\n TreeServiceConfig,\n TreeWrapperProps,\n} from '../tree-wrapper/index.js';\nimport { TreeWrapper } from '../tree-wrapper/index.js';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const SelectContent = (props: {\n value?: TAny;\n onChange?: (value?: TreeModelSelectItem[]) => void;\n fieldNames?: TreeWrapperProps['fieldNames'];\n serviceConfig?: TreeServiceConfig;\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const modelKey = hooks.useId(undefined, 'tree-select-modal');\n return (\n <TreeWrapper\n initRootExpand\n showSearch\n searchPlaceholder=\"搜索\"\n checkable={true}\n checkableType=\"2\"\n {...props.treeProps}\n showIcon={props.treeProps?.icon ? true : false}\n value={props.value?.map((item) => item.value)}\n modelKey={modelKey}\n fieldNames={props.fieldNames}\n labelInValue={true}\n serviceConfig={props.serviceConfig}\n onChange={(values) => {\n props.onChange?.(toArray(values));\n }}\n />\n );\n};\n","import { Fragment } from 'react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { FlexLayout } from '../flex-layout/index.js';\nimport { SelectItemList } from './select-item.jsx';\nimport { SelectContent } from './tree.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const HorizontalLayout = (props: {\n onChangeDataSource?: (\n treeDataList: TPlainObject[],\n mapData: TPlainObject\n ) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n onRequest?: TreeModalProps['onRequest'];\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const chenkedIdList = props.value || [];\n\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n gap={10}\n style={{ height: '100%', overflow: 'hidden' }}\n >\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n onRequest: props.onRequest,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div\n style={{\n width: '40%',\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n }}\n >\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace(\n '{total}',\n `${chenkedIdList?.length || ''}`\n )\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder || '请选择'\n )}\n </div>\n <div style={{ overflow: 'auto', flex: 1 }}>\n <SelectItemList\n chenkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n </FlexLayout>\n );\n};\n","import { Fragment } from 'react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { SelectItemList } from './select-item.jsx';\nimport { SelectContent } from './tree.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\nexport const VerticalLayout = (props: {\n onChangeDataSource?: (\n treeDataList: TPlainObject[],\n mapData: TPlainObject\n ) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n onRequest?: TreeModalProps['onRequest'];\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const chenkedIdList = props.value || [];\n\n return (\n <div style={{ height: '100%', overflow: 'auto' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n onRequest: props.onRequest,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div style={{ marginTop: 20 }}>\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace(\n '{total}',\n `${chenkedIdList?.length || ''}`\n )\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder\n )}\n </div>\n <SelectItemList\n chenkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n );\n};\n","import { Fragment, useRef, useState } from 'react';\nimport { isObject } from '@dimjs/lang';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { HorizontalLayout } from './horizontal.jsx';\nimport type { TreeModalContentProps, TreeModelSelectItem } from './types.js';\nimport { VerticalLayout } from './vertical.jsx';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalContent = (props: TreeModalContentProps) => {\n const { isMultiple } = props;\n const labelKey = props.fieldNames?.label || 'label';\n const valueKey = props.fieldNames?.value || 'value';\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n const isMultipleFt = isUndefinedOrNull(isMultiple) ? true : isMultiple;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n\n const onDeleteItem = (value) => {\n const targetList = values?.filter((item) => item.value !== value);\n setValues(targetList);\n props.onChange?.(targetList);\n };\n\n fbaHooks.useEffectCustom(() => {\n const values = toArray<TAny>(props.value).map((item) => {\n const target = isObject(item) ? item : { label: item, value: item };\n const value = target.value;\n return {\n value: value,\n label: dataSourceMapRef.current[value]?.[labelKey] || '',\n };\n });\n setValues(values);\n }, [props.value]);\n\n const treePropsFt = {\n ...props.treeProps,\n checkable: isMultipleFt ? true : false,\n };\n\n const onChange = (values?: TreeModelSelectItem[]) => {\n setValues(values);\n props.onChange?.(values);\n };\n\n const onChangeDataSource = hooks.useCallbackRef(\n (treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = values\n ?.map((item) => {\n const target = mapData[item.value];\n return target\n ? { label: target[labelKey], value: target[valueKey] }\n : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setValues(result);\n props.onDataSourceChange?.(treeDataList, mapData);\n }\n );\n\n return (\n <Fragment>\n {direction === 'vertical' ? (\n <VerticalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n onRequest={props.onRequest}\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n ></VerticalLayout>\n ) : (\n <HorizontalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n onRequest={props.onRequest}\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n />\n )}\n </Fragment>\n );\n};\n","import { Fragment, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { Modal } from 'antd';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { TreeModalContent } from './select-modal-content.jsx';\nimport type { TreeModalProps, TreeModelSelectItem } from './types.js';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModal = (props: TreeModalProps) => {\n const { size = 'large' } = props;\n const [isOpen, setIsOpen] = useState(false);\n\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n\n const handleOnClick = hooks.useCallbackRef(() => {\n setIsOpen(true);\n });\n\n const Action = props.children.type;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n const originalValuesRef = useRef<TreeModelSelectItem[]>([]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n let sizeCalculate: TPlainObject = {};\n if (size == 'large') {\n sizeCalculate = {\n height: htmlSize?.height * 0.65,\n width: 800,\n };\n } else if (size == 'small') {\n sizeCalculate = {\n height: htmlSize?.height * 0.45,\n width: 450,\n };\n } else if (size == 'middle') {\n sizeCalculate = {\n height: htmlSize?.height * 0.55,\n width: 600,\n };\n }\n\n return {\n height: props.modalBodyHeight || sizeCalculate.height,\n width: isXsSm ? '90%' : props.modalWidth || sizeCalculate.width,\n };\n }, [\n htmlSize?.height,\n screenType,\n size,\n props.modalBodyHeight,\n props.modalWidth,\n ]);\n\n const onSubmit = () => {\n props.onChange?.(values);\n setIsOpen(false);\n };\n\n const onCancel = () => {\n setIsOpen(false);\n setValues(originalValuesRef.current);\n };\n\n return (\n <Fragment>\n <Action {...props.children.props} onClick={handleOnClick} />\n <Modal\n className={props.modalClassName}\n title={props.textConfig.title || '选择'}\n open={isOpen}\n onCancel={onCancel}\n forceRender={props.forceRender}\n centered\n width={customSize?.width}\n onOk={onSubmit}\n styles={\n direction === 'horizontal'\n ? {\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n padding: '0px 20px 0 20px',\n },\n content: {\n padding: 0,\n },\n header: {\n padding: '20px 24px 0 20px',\n },\n footer: {\n padding: '0 24px 20px 24px',\n },\n }\n : {\n body: {\n height: customSize?.height,\n },\n }\n }\n >\n <TreeModalContent\n {...props}\n onChange={(values) => {\n setValues(values);\n }}\n />\n </Modal>\n </Fragment>\n );\n};\n","import { attachPropertiesToComponent } from '@flatbiz/utils';\nimport { TreeModal as TreeModalInner } from './select-modal.jsx';\nimport { TreeModalContent } from './select-modal-content.jsx';\n\nexport const TreeModal = attachPropertiesToComponent(TreeModalInner, {\n Content: TreeModalContent,\n});\n"],"names":["SelectItemList","props","chenkedIdList","_jsx","Fragment","children","map","item","value","label","CssNodeHover","style","paddingLeft","paddingRight","_jsxs","FlexLayout","fullIndex","direction","alignItems","fontSize","marginBottom","color","TextOverflow","text","position","zIndex","IconWrapper","_CloseOutlined","onClick","onDeleteItem","bind","size","margin","SelectContent","_props$treeProps","_props$value","modelKey","_hooks","useId","undefined","TreeWrapper","_objectSpread","initRootExpand","showSearch","searchPlaceholder","checkable","checkableType","treeProps","showIcon","icon","fieldNames","labelInValue","serviceConfig","onChange","values","_props$onChange","call","toArray","HorizontalLayout","_props$fieldNames","_props$fieldNames2","valueKey","childrenKey","_props$textConfig","textConfig","selectQuantityPrompt","placeholder","gap","height","overflow","backgroundColor","padding","borderRadius","onRequest","onRequestResultAdapter","respData","_props$onChangeDataSo","listMap","treeToTiledMap","onChangeDataSource","width","display","flexDirection","flexShrink","fontWeight","length","replace","concat","flex","VerticalLayout","marginTop","TreeModalContent","isMultiple","labelKey","dataSourceMapRef","useRef","screenType","fbaHooks","useResponsivePoint","isMultipleFt","isUndefinedOrNull","_useState","useState","_useState2","_slicedToArray","setValues","targetList","filter","useEffectCustom","_dataSourceMapRef$cur","target","_isObject","current","treePropsFt","_props$onChange2","useCallbackRef","treeDataList","mapData","_props$onDataSourceCh","result","Boolean","onDataSourceChange","TreeModal","_props$size","isOpen","setIsOpen","htmlSize","useSize","document","querySelector","handleOnClick","Action","type","_useState3","_useState4","originalValuesRef","customSize","useMemo","isXsSm","includes","sizeCalculate","modalBodyHeight","modalWidth","onSubmit","onCancel","Modal","className","modalClassName","title","open","forceRender","centered","onOk","styles","body","maxHeight","content","header","footer","attachPropertiesToComponent","TreeModalInner","Content"],"mappings":"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"}
@@ -361,6 +361,36 @@ export type TreeWrapperProps = Omit<TreeProps, "treeData" | "onExpand" | "select
361
361
  * 自定义搜索规则
362
362
  */
363
363
  customSearchRule?: (nodeData: TPlainObject, searchValue?: string) => boolean;
364
+ /**
365
+ * 点击父节点 是否切换折叠
366
+ * ```
367
+ * 1. 设置 titleRender 后,此配置失效
368
+ * ```
369
+ */
370
+ clickParentNodeToggleExpand?: boolean;
371
+ /**
372
+ * 禁用节点选中
373
+ * ```
374
+ * 1. checkable = true,此配置失效
375
+ * 2. 在未设置节点 disabled 属性情况下,满足此配置不会触发onChange事件
376
+ * ```
377
+ */
378
+ disableNodeSelect?: (item: TPlainObject) => boolean;
379
+ /**
380
+ * 是否必选,最后一个不能取消
381
+ * ```
382
+ * 1. 设置 checkable = true 时无效
383
+ * ```
384
+ */
385
+ required?: boolean;
386
+ /**
387
+ * 在第一次渲染value时,主动执行一次onChange
388
+ * ```
389
+ * 1. 设置labelInValue = true 时有效
390
+ * 2. 不考虑子父节点的关系
391
+ * ```
392
+ */
393
+ executeOnChangeInRenderFirstValue?: boolean;
364
394
  };
365
395
  export type TreeModelSelectItem = {
366
396
  label: string;
@@ -413,6 +443,10 @@ export type TreeModalSelectorProps = Omit<TreeModalProps, "children" | "forceRen
413
443
  /** 是否返回label+value模式 */
414
444
  labelInValue?: boolean;
415
445
  onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;
446
+ /** 最大选择数量 */
447
+ maxCount?: number;
448
+ /** 超过最大选择数量提示文本 */
449
+ overMaxCountMsg?: string;
416
450
  };
417
451
  /**
418
452
  * 树弹框选择器
@@ -15,7 +15,7 @@ import './../tree-wrapper/index.css';
15
15
  import './index.css';
16
16
  /*! @flatjs/forge MIT @flatbiz/antd */
17
17
 
18
- export { T as TreeModalSelector } from '../selector-dbYimxeI.js';
18
+ export { T as TreeModalSelector } from '../selector-DZ66pfO5.js';
19
19
  import '../_rollupPluginBabelHelpers-BYm17lo8.js';
20
20
  import '@wove/react/hooks';
21
21
  import '@dimjs/lang/is-object';
@@ -38,6 +38,7 @@ import '@dimjs/lang/is-string';
38
38
  import '../tree-wrapper/index.js';
39
39
  import '@dimjs/lang/is-array';
40
40
  import '@dimjs/model-react';
41
+ import '@dimjs/utils/array/array-remove';
41
42
  import '@ant-design/icons/es/icons/CaretDownFilled.js';
42
43
  import '@ant-design/icons/es/icons/MoreOutlined.js';
43
44
  import '@dimjs/utils/extend/extend';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -118,6 +118,14 @@ export type TreeSelectorWrapperProps = Omit<TreeSelectProps, "treeExpandedKeys"
118
118
  selectedParentCheckedAllChildrenList?: boolean;
119
119
  /** 有唯一跟节点时,初始化是否展开,默认值:false */
120
120
  initRootExpand?: boolean;
121
+ /**
122
+ * 在第一次渲染value时,主动执行一次onChange
123
+ * ```
124
+ * 1. 设置labelInValue = true 时有效
125
+ * 2. 不考虑子父节点的关系
126
+ * ```
127
+ */
128
+ executeOnChangeInRenderFirstValue?: boolean;
121
129
  };
122
130
  /**
123
131
  * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现
@@ -4,7 +4,7 @@ import './../request-status/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
6
 
7
- export { T as TreeSelectorWrapper } from '../selector-DTu7bz-a.js';
7
+ export { T as TreeSelectorWrapper } from '../selector-DCHIIlhe.js';
8
8
  import '@ant-design/icons/es/icons/RedoOutlined.js';
9
9
  import '@dimjs/utils/class-names/class-names';
10
10
  import '@ant-design/icons/es/icons/CaretDownFilled.js';
@@ -15,6 +15,7 @@ import '@dimjs/lang/is-array';
15
15
  import '@dimjs/utils/get/get';
16
16
  import '@dimjs/lang/is-object';
17
17
  import 'react';
18
+ import 'ahooks';
18
19
  import 'antd';
19
20
  import 'dequal';
20
21
  import '@flatbiz/utils';
@@ -23,7 +24,6 @@ import '../use-responsive-point-Bp3D3lZT.js';
23
24
  import '../request-status-BNGBHA33.js';
24
25
  import '../text-overflow-Bk9MC6Cg.js';
25
26
  import '@dimjs/lang/is-string';
26
- import 'ahooks';
27
27
  import 'react/jsx-runtime';
28
28
  import '@dimjs/model-react';
29
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree{background:transparent}.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}
1
+ .v-tree-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.v-tree-wrapper .ant-tree{background:transparent}.v-tree-wrapper .ant-tree-list-holder-inner{overflow:hidden}.v-tree-wrapper .ant-tree-switcher{margin-inline-end:0}.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}.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}
@@ -361,11 +361,43 @@ export type TreeWrapperProps = Omit<TreeProps, "treeData" | "onExpand" | "select
361
361
  * 自定义搜索规则
362
362
  */
363
363
  customSearchRule?: (nodeData: TPlainObject, searchValue?: string) => boolean;
364
+ /**
365
+ * 点击父节点 是否切换折叠
366
+ * ```
367
+ * 1. 设置 titleRender 后,此配置失效
368
+ * ```
369
+ */
370
+ clickParentNodeToggleExpand?: boolean;
371
+ /**
372
+ * 禁用节点选中
373
+ * ```
374
+ * 1. checkable = true,此配置失效
375
+ * 2. 在未设置节点 disabled 属性情况下,满足此配置不会触发onChange事件
376
+ * ```
377
+ */
378
+ disableNodeSelect?: (item: TPlainObject) => boolean;
379
+ /**
380
+ * 是否必选,最后一个不能取消
381
+ * ```
382
+ * 1. 设置 checkable = true 时无效
383
+ * ```
384
+ */
385
+ required?: boolean;
386
+ /**
387
+ * 在第一次渲染value时,主动执行一次onChange
388
+ * ```
389
+ * 1. 设置labelInValue = true 时有效
390
+ * 2. 不考虑子父节点的关系
391
+ * ```
392
+ */
393
+ executeOnChangeInRenderFirstValue?: boolean;
364
394
  };
365
395
  export type TreeWrapperRefApi = {
366
396
  onClearSelectorList: () => void;
367
397
  getTreeDataList: () => TreeProps["treeData"];
368
398
  onChangeExpandedKeys: (expandedKeys: Array<string | number>) => void;
399
+ getTreeTiledArray: () => TPlainObject[];
400
+ getTreeTiledArrayMap: () => TPlainObject;
369
401
  /** 选择所有 */
370
402
  onSelectAll: () => void;
371
403
  /** 取消选择所有 */
@@ -9,9 +9,10 @@ import './../request-status/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
11
 
12
- import { treeToArray, arrayToMap, treeToTiledArray, treeLeafParentsArray, isUndefinedOrNull, isNotEmptyArray, treeToTiledMap, toArray, treeFilter, attachPropertiesToComponent } from '@flatbiz/utils';
12
+ import { treeToArray, arrayToMap, treeToTiledArray, treeLeafParentsArray, isUndefinedOrNull, isNotEmptyArray, treeToTiledMap, toArray, treeFilter, dom, attachPropertiesToComponent } from '@flatbiz/utils';
13
13
  import { isArray } from '@dimjs/lang/is-array';
14
14
  import { Model } from '@dimjs/model-react';
15
+ import { arrayRemove } from '@dimjs/utils/array/array-remove';
15
16
  import _CaretDownFilled from '@ant-design/icons/es/icons/CaretDownFilled.js';
16
17
  import _MoreOutlined from '@ant-design/icons/es/icons/MoreOutlined.js';
17
18
  import { classNames } from '@dimjs/utils/class-names/class-names';
@@ -322,7 +323,7 @@ var removeAllParentNode = function removeAllParentNode(checkedValueList, treeTil
322
323
  });
323
324
  };
324
325
 
325
- /** values中的数据可能存在缺少父节点下的子节点情况,此处不起 */
326
+ /** values中的数据可能存在缺少父节点下的子节点情况,此处补齐 */
326
327
  var completionParentChildrenNode = function completionParentChildrenNode(values, treeTiledArrayMap, chidlrenKey, valueKey) {
327
328
  var allValues = _toConsumableArray(values);
328
329
  values.forEach(function (item) {
@@ -338,11 +339,14 @@ var completionParentChildrenNode = function completionParentChildrenNode(values,
338
339
  return Array.from(new Set(allValues));
339
340
  };
340
341
 
341
- var _excluded = ["style", "serviceConfig", "effectDependencyList", "selectorTreeList", "value", "onChange", "modelKey", "checkableResponseParentNode", "checkable", "onSelectorTreeListChange", "onRequestResponseChange", "treeItemDataAdapter", "searchValue", "showSearch", "searchPlaceholder", "requestMessageConfig", "labelInValueFieldNames", "labelInValue", "disabledCanUse", "menuLayoutType", "menuTriggerType", "initRootExpand", "searchResultType", "onDropNodeHandle", "onDropPrev", "labelRender", "searchStyle", "className", "defaultExpandAll", "menus", "customSearchRule", "checkableType"];
342
+ var _excluded = ["style", "serviceConfig", "effectDependencyList", "selectorTreeList", "value", "onChange", "modelKey", "checkableResponseParentNode", "checkable", "onSelectorTreeListChange", "onRequestResponseChange", "treeItemDataAdapter", "searchValue", "showSearch", "searchPlaceholder", "requestMessageConfig", "labelInValueFieldNames", "labelInValue", "disabledCanUse", "menuLayoutType", "menuTriggerType", "initRootExpand", "searchResultType", "onDropNodeHandle", "onDropPrev", "labelRender", "searchStyle", "className", "defaultExpandAll", "menus", "customSearchRule", "checkableType", "clickParentNodeToggleExpand", "disableNodeSelect", "required", "executeOnChangeInRenderFirstValue"];
343
+ var compareArrays = function compareArrays(arr1, arr2) {
344
+ var sortedArr1 = arr1.slice().sort();
345
+ var sortedArr2 = arr2.slice().sort();
346
+ return JSON.stringify(sortedArr1) === JSON.stringify(sortedArr2);
347
+ };
342
348
  /**
343
349
  * Tree包装组件,默认返回父节点,可配置不返回
344
- * @param props
345
- * @returns
346
350
  * ```
347
351
  * 1. treeNode内置字段说明(如需要相关功能,可在接口中添加固定字段)
348
352
  * a. disabled 禁掉响应
@@ -389,6 +393,10 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
389
393
  menus = props.menus,
390
394
  customSearchRule = props.customSearchRule,
391
395
  checkableType = props.checkableType,
396
+ clickParentNodeToggleExpand = props.clickParentNodeToggleExpand,
397
+ disableNodeSelect = props.disableNodeSelect,
398
+ required = props.required,
399
+ executeOnChangeInRenderFirstValue = props.executeOnChangeInRenderFirstValue,
392
400
  otherProps = _objectWithoutProperties(props, _excluded);
393
401
  // eslint-disable-next-line no-prototype-builtins
394
402
  var hasSelectorTreeList = props.hasOwnProperty('selectorTreeList');
@@ -418,6 +426,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
418
426
  var menuLayoutTypeNew = menuLayoutType === undefined ? 'fold' : menuLayoutType;
419
427
  var menuTriggerTypeNew = menuTriggerType === undefined ? 'click' : menuTriggerType;
420
428
  var responseFirstRef = useRef(true);
429
+ var innerValueListRef = useRef(undefined);
421
430
  var labelInValueFieldNamesMerge = useMemo(function () {
422
431
  return _objectSpread2({
423
432
  label: 'label',
@@ -434,6 +443,24 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
434
443
  }, [labelInValueFieldNamesMerge, value]);
435
444
  fbaHooks.useEffectCustom(function () {
436
445
  if (state.treeList.length > 0) {
446
+ if (responseFirstRef.current && labelInValue && executeOnChangeInRenderFirstValue && valueList.length > 0) {
447
+ var dataList = [];
448
+ var originalList = [];
449
+ valueList.forEach(function (item) {
450
+ var target = state.treeTiledArrayMap[item];
451
+ if (target) {
452
+ originalList.push(target);
453
+ dataList.push(_defineProperty(_defineProperty({}, labelInValueFieldNamesMerge.label, target[fieldNames.label]), labelInValueFieldNamesMerge.value, target[fieldNames.value]));
454
+ }
455
+ });
456
+ if (checkable) {
457
+ var _props$onChange;
458
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, dataList ? dataList : undefined, originalList);
459
+ } else {
460
+ var _props$onChange2;
461
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, dataList ? dataList[0] : undefined, originalList[0]);
462
+ }
463
+ }
437
464
  if (responseFirstRef.current && isUndefinedOrNull(value)) {
438
465
  responseFirstRef.current = false;
439
466
  if (defaultExpandAll) {
@@ -445,11 +472,20 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
445
472
  }
446
473
  }
447
474
  if (!isUndefinedOrNull(value)) {
448
- var expandedKeys = getTreeExpandedKeys(valueList);
449
- setTreeExpandedKeys(Array.from(new Set(treeExpandedKeys === null || treeExpandedKeys === void 0 ? void 0 : treeExpandedKeys.concat(expandedKeys))));
475
+ responseFirstRef.current = false;
476
+ if (innerValueListRef.current) {
477
+ if (!compareArrays(valueList, innerValueListRef.current)) {
478
+ var innerExpandedKeys = getTreeExpandedKeys(valueList);
479
+ setTreeExpandedKeys(Array.from(new Set(treeExpandedKeys === null || treeExpandedKeys === void 0 ? void 0 : treeExpandedKeys.concat(innerExpandedKeys))));
480
+ }
481
+ } else {
482
+ var _innerExpandedKeys = getTreeExpandedKeys(valueList);
483
+ setTreeExpandedKeys(Array.from(new Set(treeExpandedKeys === null || treeExpandedKeys === void 0 ? void 0 : treeExpandedKeys.concat(_innerExpandedKeys))));
484
+ }
450
485
  }
451
486
  }
452
- }, [value, state.treeList, valueList]);
487
+ // valueList 为空时,不去清除treeExpandedKeys数据
488
+ }, [state.treeList, JSON.stringify(valueList)]);
453
489
  var valueIsEmpty = function valueIsEmpty(data) {
454
490
  return data === '' || isUndefinedOrNull(data);
455
491
  };
@@ -633,6 +669,12 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
633
669
  getTreeDataList: function getTreeDataList() {
634
670
  return state.treeList;
635
671
  },
672
+ getTreeTiledArray: function getTreeTiledArray() {
673
+ return state.treeTiledArray;
674
+ },
675
+ getTreeTiledArrayMap: function getTreeTiledArrayMap() {
676
+ return state.treeTiledArrayMap;
677
+ },
636
678
  onChangeExpandedKeys: function onChangeExpandedKeys(dataList) {
637
679
  setTreeExpandedKeys(dataList);
638
680
  },
@@ -662,14 +704,15 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
662
704
  setTreeExpandedKeys(expandedKeys);
663
705
  });
664
706
  var onInnerChange = function onInnerChange(selectedKey, operateNodeData, operateAllNodeDataList, operateInfo) {
707
+ innerValueListRef.current = toArray(selectedKey);
665
708
  if (toArray(selectedKey).length === 0) {
666
- var _props$onChange;
709
+ var _props$onChange3;
667
710
  var nodeValue = operateInfo === null || operateInfo === void 0 ? void 0 : operateInfo.node[fieldNames.value];
668
711
  var target = state.treeTiledArrayMap[nodeValue];
669
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, undefined, target, [target], operateInfo);
712
+ (_props$onChange3 = props.onChange) === null || _props$onChange3 === void 0 || _props$onChange3.call(props, undefined, target, [target], operateInfo);
670
713
  } else {
671
- var _props$onChange2;
672
- (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, selectedKey, operateNodeData, operateAllNodeDataList, operateInfo);
714
+ var _props$onChange4;
715
+ (_props$onChange4 = props.onChange) === null || _props$onChange4 === void 0 || _props$onChange4.call(props, selectedKey, operateNodeData, operateAllNodeDataList, operateInfo);
673
716
  }
674
717
  };
675
718
  var onTreeChangeHandle = hooks.useCallbackRef(function (checkedData, operateInfo) {
@@ -681,9 +724,19 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
681
724
  finalCheckedValueList = props.checkStrictly ? checkedData.checked : checkedData;
682
725
  } else {
683
726
  finalCheckedValueList = checkedData;
727
+ if (required && !toArray(checkedData).length) {
728
+ return;
729
+ }
730
+ if (disableNodeSelect) {
731
+ var target = state.treeTiledArrayMap[checkedData[0]];
732
+ var x = target ? disableNodeSelect(target) : false;
733
+ if (x) {
734
+ return;
735
+ }
736
+ }
684
737
  }
685
738
  finalCheckedValueList = toArray(finalCheckedValueList);
686
- if (checkable == false) {
739
+ if (!checkable) {
687
740
  completeCheckedValueList = finalCheckedValueList;
688
741
  } else {
689
742
  if (showSearch && treeSearchValue && !searchTypeHighlight) {
@@ -876,6 +929,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
876
929
  return /*#__PURE__*/jsxs(Fragment, {
877
930
  children: [/*#__PURE__*/jsx("span", {
878
931
  className: "tree-item-title",
932
+ "data-value": nodeData[fieldNames.value],
879
933
  children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
880
934
  }), /*#__PURE__*/jsx(ButtonOperate, _objectSpread2(_objectSpread2({
881
935
  gap: 5
@@ -901,6 +955,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
901
955
  return /*#__PURE__*/jsxs(Fragment, {
902
956
  children: [/*#__PURE__*/jsx("span", {
903
957
  className: "tree-item-title",
958
+ "data-value": nodeData[fieldNames.value],
904
959
  children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
905
960
  }), _menuOptions.length > 0 && /*#__PURE__*/jsx(DropdownMenuWrapper, {
906
961
  menuList: _menuOptions,
@@ -913,6 +968,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
913
968
  return /*#__PURE__*/jsxs(Fragment, {
914
969
  children: [/*#__PURE__*/jsx("span", {
915
970
  className: "tree-item-title",
971
+ "data-value": nodeData[fieldNames.value],
916
972
  children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
917
973
  }), menuOptions ? /*#__PURE__*/jsx(ButtonOperate, _objectSpread2(_objectSpread2({
918
974
  gap: 5
@@ -973,7 +1029,32 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
973
1029
  style: {
974
1030
  width: '100%'
975
1031
  },
976
- icon: iconHandle
1032
+ icon: iconHandle,
1033
+ onClick: function onClick(e) {
1034
+ if (clickParentNodeToggleExpand) {
1035
+ var targetEle = e.target;
1036
+ var _value = targetEle.dataset.value;
1037
+ if (isUndefinedOrNull(_value)) {
1038
+ targetEle = dom.findParentsElement(e.target, function (node) {
1039
+ var _node$classList, _node$classList2;
1040
+ return ((_node$classList = node.classList) === null || _node$classList === void 0 ? void 0 : _node$classList.contains('tree-item-title')) || ((_node$classList2 = node.classList) === null || _node$classList2 === void 0 ? void 0 : _node$classList2.contains('ant-tree-treenode'));
1041
+ });
1042
+ _value = targetEle.dataset.value;
1043
+ }
1044
+ if (!isUndefinedOrNull(_value)) {
1045
+ var target = state.treeTiledArrayMap[_value];
1046
+ if (target !== null && target !== void 0 && target[fieldNames.children] && target[fieldNames.children].length > 0) {
1047
+ var treeExpandedTarget = treeExpandedKeys.includes(_value);
1048
+ if (treeExpandedTarget) {
1049
+ var newList = arrayRemove(treeExpandedKeys, _value);
1050
+ setTreeExpandedKeys(_toConsumableArray(newList));
1051
+ } else {
1052
+ setTreeExpandedKeys([].concat(_toConsumableArray(treeExpandedKeys), [_value]));
1053
+ }
1054
+ }
1055
+ }
1056
+ }
1057
+ }
977
1058
  });
978
1059
  var checkedProps = {
979
1060
  onCheck: onTreeChangeHandle,