@flatbiz/antd 5.0.26 → 5.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/easy-table/index.js +2 -2
- package/dist/easy-table/index.js.map +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.js +1 -1
- package/dist/{label-value-C7kXxKh2.js → label-value-CcmddXdr.js} +34 -13
- package/dist/label-value-CcmddXdr.js.map +1 -0
- package/dist/label-value-render/index.js +1 -1
- package/dist/tree-modal/index.d.ts +22 -0
- package/dist/tree-modal/index.js +1 -0
- package/dist/tree-modal/index.js.map +1 -1
- package/dist/tree-modal-selector/index.d.ts +22 -0
- package/dist/tree-modal-selector/index.js +1 -0
- package/dist/tree-modal-selector/index.js.map +1 -1
- package/dist/tree-wrapper/index.css +1 -1
- package/dist/tree-wrapper/index.d.ts +22 -0
- package/dist/tree-wrapper/index.js +59 -10
- package/dist/tree-wrapper/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/label-value-C7kXxKh2.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { hooks } from '@wove/react/hooks';
|
|
4
4
|
import { classNames } from '@dimjs/utils/class-names/class-names';
|
|
5
5
|
import { b as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
6
|
-
import { useState, useMemo } from 'react';
|
|
6
|
+
import { useState, useMemo, isValidElement } from 'react';
|
|
7
7
|
import { arrayTotal, isUndefinedOrNull, isNumber } from '@flatbiz/utils';
|
|
8
8
|
import { BoxGrid } from './box-grid/index.js';
|
|
9
9
|
import { fbaHooks } from './fba-hooks/index.js';
|
|
@@ -179,11 +179,20 @@ var LabelValueRender = function LabelValueRender(props) {
|
|
|
179
179
|
});
|
|
180
180
|
return getRenderGrid(dataListNew.filter(Boolean));
|
|
181
181
|
}, [breakpoint, columnNew, gridSize, options]);
|
|
182
|
-
var
|
|
182
|
+
var showColon = !borderedNew && directionNew !== 'vertical';
|
|
183
183
|
var getFormRowChildren = function getFormRowChildren() {
|
|
184
184
|
return renderList === null || renderList === void 0 ? void 0 : renderList.map(function (item, index) {
|
|
185
185
|
var ellipsisFt = directionNew === 'vertical' ? true : isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;
|
|
186
|
-
var labelContent =
|
|
186
|
+
var labelContent = item.label;
|
|
187
|
+
// let labelContent: ReactElement | string = isValidElement(item.label)
|
|
188
|
+
// ? item.label
|
|
189
|
+
// : `${item.label}${colon}`;
|
|
190
|
+
// if (colon) {
|
|
191
|
+
// labelContent = isValidElement(item.label)
|
|
192
|
+
// ? item.label
|
|
193
|
+
// : `${item.label}${colon}`;
|
|
194
|
+
// }
|
|
195
|
+
|
|
187
196
|
if (item.tips && ellipsisFt) {
|
|
188
197
|
labelContent = /*#__PURE__*/jsx(TipsWrapper, {
|
|
189
198
|
tipType: "tooltip",
|
|
@@ -209,28 +218,40 @@ var LabelValueRender = function LabelValueRender(props) {
|
|
|
209
218
|
hideTip: item.hideTip
|
|
210
219
|
});
|
|
211
220
|
}
|
|
221
|
+
var innerlabelStyle = showColon ? {
|
|
222
|
+
display: 'flex',
|
|
223
|
+
gap: 3
|
|
224
|
+
} : {};
|
|
212
225
|
return /*#__PURE__*/jsxs(BoxGrid.Col, _objectSpread2(_objectSpread2({}, gridSize), {}, {
|
|
213
226
|
span: item.grid,
|
|
214
227
|
className: classNames('label-value-tr', {
|
|
215
228
|
'label-value-last-tr': item.isLast
|
|
216
229
|
}),
|
|
217
|
-
children: [/*#__PURE__*/
|
|
230
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
218
231
|
className: "label-value-label",
|
|
219
|
-
style: props.labelStyle,
|
|
220
|
-
children: item.required ? /*#__PURE__*/jsx(
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
232
|
+
style: _objectSpread2(_objectSpread2({}, innerlabelStyle), props.labelStyle),
|
|
233
|
+
children: [item.required ? /*#__PURE__*/jsx("div", {
|
|
234
|
+
style: {
|
|
235
|
+
paddingLeft: 8,
|
|
236
|
+
position: 'relative',
|
|
237
|
+
width: '100%'
|
|
238
|
+
},
|
|
239
|
+
children: /*#__PURE__*/jsx(TextSymbolWrapper, {
|
|
240
|
+
text: labelContent,
|
|
241
|
+
symbolType: "required"
|
|
242
|
+
})
|
|
243
|
+
}) : labelContent, showColon ? /*#__PURE__*/jsx("div", {
|
|
244
|
+
children: ":"
|
|
245
|
+
}) : null]
|
|
246
|
+
}), ! /*#__PURE__*/isValidElement(item.value) && ellipsisFt && !item.valueNoWrapper ? /*#__PURE__*/jsx("div", {
|
|
225
247
|
className: "label-value-value",
|
|
226
248
|
style: props.valueStyle,
|
|
227
|
-
onClick: item.onClick,
|
|
228
249
|
children: /*#__PURE__*/jsx(TextOverflow, {
|
|
229
250
|
text: item.value,
|
|
230
251
|
onClick: item.onClick,
|
|
231
252
|
hideTip: item.hideTip
|
|
232
253
|
})
|
|
233
|
-
}) : /*#__PURE__*/jsx("
|
|
254
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
234
255
|
className: "label-value-value",
|
|
235
256
|
style: _objectSpread2({
|
|
236
257
|
wordBreak: 'break-all'
|
|
@@ -277,4 +298,4 @@ var LabelValueRender = function LabelValueRender(props) {
|
|
|
277
298
|
};
|
|
278
299
|
|
|
279
300
|
export { LabelValueRender as L };
|
|
280
|
-
//# sourceMappingURL=label-value-
|
|
301
|
+
//# sourceMappingURL=label-value-CcmddXdr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-value-CcmddXdr.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport type { TLabelValueRenderItem } from './types.js';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n return resultsFt;\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { isValidElement, useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isNumber, isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { TBoxBreakpoint } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { TextOverflow } from '../text-overflow/index.js';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/index.js';\nimport type { TLabelValueItem, TLabelValueRenderItem } from './types.js';\nimport { getRenderGrid } from './utils.js';\nimport './style.less';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. label+value 一组为一列\n * 2. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 3. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\n * 4. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 5. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4 | 6;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4 | 6;\n /** 数据源配置 */\n options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n * ```\n * 1. 当 direction = vertical时,强制为true\n * ```\n */\n ellipsis?: boolean;\n /**\n * 是否添加边框\n * @deprecated 已过期,请使用 bordered\n */\n border?: boolean;\n /** 是否添加边框 */\n bordered?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number | 'auto';\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n\n size?: 'default' | 'small';\n /**\n * label&value 方向布局\n * ```\n * 1. auto表示当响应式为xs(小屏幕)时为vertical,其他情况为horizontal\n * ```\n */\n direction?: 'vertical' | 'horizontal' | 'auto';\n /**\n * 网格布局间距,默认值:[10, 0]\n * ```\n * 1. border = true 无效\n * ```\n */\n gutter?: [number, number];\n\n /** 隐藏 value hover效果 */\n hiddenValueHover?: boolean;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const {\n column,\n forceColumn,\n labelAlign,\n labelWidth,\n options,\n border,\n bordered,\n width,\n size = 'default',\n direction = 'auto',\n gutter,\n hiddenValueHover,\n } = props;\n\n const columnNew = column && [1, 2, 3, 4, 6].includes(column) ? column : 4;\n\n const borderedNew = !isUndefinedOrNull(bordered) ? bordered : border;\n\n const directionNew = useMemo(() => {\n if (direction === 'horizontal' || direction === 'vertical')\n return direction;\n if (screenType === 'xs' || breakpoint === 'xs') return 'vertical';\n return 'horizontal';\n }, [breakpoint, direction, screenType]);\n\n const ellipsis = useMemo(() => {\n if (directionNew === 'vertical') return true;\n return isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n }, [directionNew, props.ellipsis]);\n\n const labelWidthNew = labelWidth\n ? isNumber(labelWidth)\n ? `${labelWidth}px`\n : labelWidth\n : '100px';\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n };\n return columnMap[columnNew];\n }, [columnNew, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n const itemSpan = item.span > columnNew ? columnNew : item.span;\n grid = itemSpan * (24 / columnNew);\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, columnNew, gridSize, options]);\n\n const showColon = !borderedNew && directionNew !== 'vertical';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt =\n directionNew === 'vertical'\n ? true\n : isUndefinedOrNull(item.ellipsis)\n ? ellipsis\n : item.ellipsis;\n\n let labelContent: ReactElement | string = item.label;\n // let labelContent: ReactElement | string = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // if (colon) {\n // labelContent = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // }\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow\n text={labelContent as unknown as string}\n hideTip={item.hideTip}\n />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = (\n <TextOverflow\n text={labelContent as unknown as string}\n hideTip={item.hideTip}\n />\n );\n }\n\n const innerlabelStyle = showColon ? { display: 'flex', gap: 3 } : {};\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', {\n 'label-value-last-tr': item.isLast,\n })}\n >\n <div\n className=\"label-value-label\"\n style={{\n ...innerlabelStyle,\n ...props.labelStyle,\n }}\n >\n {item.required ? (\n <div\n style={{\n paddingLeft: 8,\n position: 'relative',\n width: '100%',\n }}\n >\n <TextSymbolWrapper\n text={labelContent}\n symbolType=\"required\"\n />\n </div>\n ) : (\n labelContent\n )}\n {showColon ? <div>:</div> : null}\n </div>\n {!isValidElement(item.value) &&\n ellipsisFt &&\n !item.valueNoWrapper ? (\n <div className=\"label-value-value\" style={props.valueStyle}>\n <TextOverflow\n text={item.value as string}\n onClick={item.onClick}\n hideTip={item.hideTip}\n />\n </div>\n ) : (\n <div\n className=\"label-value-value\"\n style={{\n wordBreak: 'break-all',\n ...props.valueStyle,\n }}\n >\n {item.onClick ? (\n <a onClick={item.onClick}>{item.value}</a>\n ) : (\n item.value\n )}\n </div>\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef(\n (breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n }\n );\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const align = (function () {\n if (labelAlign) return labelAlign;\n if (borderedNew) return 'left';\n if (directionNew === 'horizontal') return 'right';\n return 'left';\n })();\n\n return (\n <BoxGrid.Row\n style={\n {\n ...innerStyle,\n ...props.style,\n '--lvr-label-width':\n directionNew === 'horizontal' ? labelWidthNew : undefined,\n } as TAny\n }\n className={classNames(\n 'label-value-render',\n `lvr-${directionNew}`,\n `lvr-size-${size}`,\n `lvr-label-${align}`,\n { 'lvr-border': borderedNew },\n { 'lvr-hidden-hover': hiddenValueHover },\n props.className\n )}\n gutter={borderedNew ? [0, 0] : gutter || [10, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_objectSpread","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","_useState2","_slicedToArray","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","bordered","width","_props$size","size","_props$direction","direction","gutter","hiddenValueHover","columnNew","includes","borderedNew","isUndefinedOrNull","directionNew","useMemo","ellipsis","labelWidthNew","isNumber","gridSize","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","itemSpan","filter","Boolean","showColon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","hideTip","innerlabelStyle","display","gap","_jsxs","BoxGrid","Col","className","_classNames","style","labelStyle","required","paddingLeft","position","TextSymbolWrapper","symbolType","isValidElement","value","valueNoWrapper","valueStyle","onClick","wordBreak","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","align","Row"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import './../tips-wrapper/index.css';
|
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
8
|
|
|
9
|
-
export { L as LabelValueRender } from '../label-value-
|
|
9
|
+
export { L as LabelValueRender } from '../label-value-CcmddXdr.js';
|
|
10
10
|
import '@wove/react/hooks';
|
|
11
11
|
import '@dimjs/utils/class-names/class-names';
|
|
12
12
|
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
@@ -361,6 +361,28 @@ 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;
|
|
364
386
|
};
|
|
365
387
|
export type TreeModelSelectItem = {
|
|
366
388
|
label: string;
|
package/dist/tree-modal/index.js
CHANGED
|
@@ -35,6 +35,7 @@ import '@dimjs/lang/is-undefined';
|
|
|
35
35
|
import '@dimjs/lang/is-string';
|
|
36
36
|
import '@dimjs/lang/is-array';
|
|
37
37
|
import '@dimjs/model-react';
|
|
38
|
+
import '@dimjs/utils/array/array-remove';
|
|
38
39
|
import '@ant-design/icons/es/icons/CaretDownFilled.js';
|
|
39
40
|
import '@ant-design/icons/es/icons/MoreOutlined.js';
|
|
40
41
|
import '@dimjs/utils/extend/extend';
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAI9B,EAAK;AACJ,EAAA,IAAMC,aAAa,GAAGD,KAAK,CAACC,aAAa;EACzC,oBACEC,GAAA,CAACC,QAAQ,EAAA;IAAAC,QAAA,EACNH,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEI,GAAG,CAAC,UAACC,IAAI,EAAK;AAC5B,MAAA,IAAMC,KAAK,GAAGD,IAAI,CAACC,KAAK;AACxB,MAAA,IAAMC,KAAK,GAAGF,IAAI,CAACE,KAAK,IAAID,KAAK;MAEjC,oBACEL,GAAA,CAACO,YAAY,EAAA;AAACC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,WAAW,EAAE,CAAC;AAAEC,UAAAA,YAAY,EAAE;SAAI;QAAAR,QAAA,eACvDS,IAAA,CAACC,UAAU,EAAA;AACTC,UAAAA,SAAS,EAAE,CAAE;AACbC,UAAAA,SAAS,EAAC,YAAY;AACtBN,UAAAA,KAAK,EAAE;AACLO,YAAAA,UAAU,EAAE,QAAQ;AACpBC,YAAAA,QAAQ,EAAE,EAAE;AACZC,YAAAA,YAAY,EAAE,CAAC;AACfC,YAAAA,KAAK,EAAE;WACP;UAAAhB,QAAA,EAAA,cAEFF,GAAA,CAACmB,YAAY,EAAA;AAACC,YAAAA,IAAI,EAAEd;WAAQ,CAAC,eAC7BN,GAAA,CAAA,KAAA,EAAA;AACEQ,YAAAA,KAAK,EAAE;AACLa,cAAAA,QAAQ,EAAE,UAAU;AACpBC,cAAAA,MAAM,EAAE,CAAC;AACTJ,cAAAA,KAAK,EAAE;aACP;YAAAhB,QAAA,eAEFF,GAAA,CAACuB,WAAW,EAAA;AACVH,cAAAA,IAAI,eAAEpB,GAAA,CAAAwB,cAAA,IAAgB,CAAE;cACxBC,OAAO,EAAE3B,KAAK,CAAC4B,YAAY,CAACC,IAAI,CAAC,IAAI,EAAEtB,KAAK,CAAE;AAC9CuB,cAAAA,IAAI,EAAC,OAAO;AACZpB,cAAAA,KAAK,EAAE;AAAEE,gBAAAA,YAAY,EAAE,CAAC;AAAEmB,gBAAAA,MAAM,EAAE;AAAM;aACzC;AAAC,WACC,CAAC;SACI;AAAC,OAAA,EA1BgDxB,KA2BjD,CAAC;KAElB;AAAC,GACM,CAAC;AAEf,CAAC;;AC5CM,IAAMyB,aAAa,GAAG,SAAhBA,aAAaA,CAAIhC,KAM7B,EAAK;EAAA,IAAAiC,gBAAA,EAAAC,YAAA;EACJ,IAAMC,QAAQ,GAAGC,KAAA,CAAMC,KAAK,CAACC,SAAS,EAAE,mBAAmB,CAAC;AAC5D,EAAA,oBACEpC,GAAA,CAACqC,WAAW,EAAAC,cAAA,CAAAA,cAAA,CAAA;IACVC,cAAc,EAAA,IAAA;IACdC,UAAU,EAAA,IAAA;AACVC,IAAAA,iBAAiB,EAAC,cAAI;AACtBC,IAAAA,SAAS,EAAE,IAAK;AAChBC,IAAAA,aAAa,EAAC;GACV7C,EAAAA,KAAK,CAAC8C,SAAS,CAAA,EAAA,EAAA,EAAA;AACnBC,IAAAA,QAAQ,EAAE,CAAAd,gBAAA,GAAAjC,KAAK,CAAC8C,SAAS,MAAA,IAAA,IAAAb,gBAAA,KAAA,KAAA,CAAA,IAAfA,gBAAA,CAAiBe,IAAI,GAAG,IAAI,GAAG,KAAM;AAC/CzC,IAAAA,KAAK,EAAA2B,CAAAA,YAAA,GAAElC,KAAK,CAACO,KAAK,MAAA,IAAA,IAAA2B,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,YAAA,CAAa7B,GAAG,CAAC,UAACC,IAAI,EAAA;MAAA,OAAKA,IAAI,CAACC,KAAK;KAAE,CAAA;AAC9C4B,IAAAA,QAAQ,EAAEA,QAAS;IACnBc,UAAU,EAAEjD,KAAK,CAACiD,UAAW;AAC7BC,IAAAA,YAAY,EAAE,IAAK;IACnBC,aAAa,EAAEnD,KAAK,CAACmD,aAAc;AACnCC,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,MAAM,EAAK;AAAA,MAAA,IAAAC,eAAA;AACpB,MAAA,CAAAA,eAAA,GAAAtD,KAAK,CAACoD,QAAQ,MAAA,IAAA,IAAAE,eAAA,KAAdA,KAAAA,CAAAA,IAAAA,eAAA,CAAAC,IAAA,CAAAvD,KAAK,EAAYwD,OAAO,CAACH,MAAM,CAAC,CAAC;AACnC;AAAE,GAAA,CACH,CAAC;AAEN,CAAC;;AC7BM,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIzD,KAYhC,EAAK;EAAA,IAAA0D,iBAAA,EAAAC,kBAAA;AACJ,EAAA,IAAM1D,aAAa,GAAGD,KAAK,CAACO,KAAK,IAAI,EAAE;AAEvC,EAAA,IAAMqD,QAAQ,GAAG,CAAAF,CAAAA,iBAAA,GAAA1D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAS,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBnD,KAAK,KAAI,OAAO;AACnD,EAAA,IAAMsD,WAAW,GAAG,CAAAF,CAAAA,kBAAA,GAAA3D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAU,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBvD,QAAQ,KAAI,UAAU;AAE5D,EAAA,IAAA0D,iBAAA,GAA8C9D,KAAK,CAAC+D,UAAU;IAAtDC,oBAAoB,GAAAF,iBAAA,CAApBE,oBAAoB;IAAEC,WAAW,GAAAH,iBAAA,CAAXG,WAAW;EAEzC,oBACEpD,IAAA,CAACC,UAAU,EAAA;AACTC,IAAAA,SAAS,EAAE,CAAE;AACbC,IAAAA,SAAS,EAAC,YAAY;AACtBkD,IAAAA,GAAG,EAAE,EAAG;AACRxD,IAAAA,KAAK,EAAE;AAAEyD,MAAAA,MAAM,EAAE,MAAM;AAAEC,MAAAA,QAAQ,EAAE;KAAW;AAAAhE,IAAAA,QAAA,gBAE9CF,GAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,KAAK,EAAE;AAAE2D,QAAAA,eAAe,EAAE,SAAS;AAAEC,QAAAA,OAAO,EAAE,EAAE;AAAEC,QAAAA,YAAY,EAAE;OAAI;MAAAnE,QAAA,eACvEF,GAAA,CAAC8B,aAAa,EAAA;QACZc,SAAS,EAAE9C,KAAK,CAAC8C,SAAU;AAC3BvC,QAAAA,KAAK,EAAEN,aAAc;QACrBmD,QAAQ,EAAEpD,KAAK,CAACoD,QAAS;QACzBH,UAAU,EAAEjD,KAAK,CAACiD,UAAW;AAC7BE,QAAAA,aAAa,EAAE;UACbqB,SAAS,EAAExE,KAAK,CAACwE,SAAS;AAC1BC,UAAAA,sBAAsB,EAAE,SAAxBA,sBAAsBA,CAAGC,QAAQ,EAAK;AAAA,YAAA,IAAAC,qBAAA;AACpC,YAAA,IAAMC,OAAqB,GAAGC,cAAc,CAACH,QAAQ,EAAE;AACrDnE,cAAAA,KAAK,EAAEqD,QAAQ;AACfxD,cAAAA,QAAQ,EAAEyD;AACZ,aAAC,CAAC;AACF,YAAA,CAAAc,qBAAA,GAAA3E,KAAK,CAAC8E,kBAAkB,cAAAH,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAApB,IAAA,CAAAvD,KAAK,EAAsB0E,QAAQ,EAAEE,OAAO,CAAC;AAC7C,YAAA,OAAOF,QAAQ;AACjB;AACF;OACD;KACE,CAAC,eAEN7D,IAAA,CAAA,KAAA,EAAA;AACEH,MAAAA,KAAK,EAAE;AACLqE,QAAAA,KAAK,EAAE,KAAK;AACZX,QAAAA,QAAQ,EAAE,QAAQ;AAClBD,QAAAA,MAAM,EAAE,MAAM;AACda,QAAAA,OAAO,EAAE,MAAM;AACfC,QAAAA,aAAa,EAAE,QAAQ;AACvBC,QAAAA,UAAU,EAAE;OACZ;AAAA9E,MAAAA,QAAA,gBAEFF,GAAA,CAAA,KAAA,EAAA;AAAKQ,QAAAA,KAAK,EAAE;AAAEQ,UAAAA,QAAQ,EAAE,EAAE;AAAEiE,UAAAA,UAAU,EAAE,KAAK;AAAEhE,UAAAA,YAAY,EAAE;SAAK;QAAAf,QAAA,EAC/DH,aAAa,CAACmF,MAAM,GAAG,CAAC,gBACvBlF,GAAA,CAACC,QAAQ,EAAA;AAAAC,UAAAA,QAAA,EACN4D,oBAAoB,GACjBA,oBAAoB,CAACqB,OAAO,CAC1B,SAAS,EAAA,EAAA,CAAAC,MAAA,CACN,CAAArF,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEmF,MAAM,KAAI,EAAE,CAChC,CAAC,GAAAE,oBAAAA,CAAAA,MAAA,CACKrF,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEmF,MAAM;SACvB,CAAC,GAEXnB,WAAW,IAAI;OAEd,CAAC,eACN/D,GAAA,CAAA,KAAA,EAAA;AAAKQ,QAAAA,KAAK,EAAE;AAAE0D,UAAAA,QAAQ,EAAE,MAAM;AAAEmB,UAAAA,IAAI,EAAE;SAAI;QAAAnF,QAAA,eACxCF,GAAA,CAACH,cAAc,EAAA;AACbE,UAAAA,aAAa,EAAEA,aAAc;UAC7BgD,UAAU,EAAEjD,KAAK,CAACiD,UAAW;UAC7BrB,YAAY,EAAE5B,KAAK,CAAC4B;SACrB;AAAC,OACC,CAAC;AAAA,KACH,CAAC;AAAA,GACI,CAAC;AAEjB,CAAC;;AClFM,IAAM4D,cAAc,GAAG,SAAjBA,cAAcA,CAAIxF,KAY9B,EAAK;EAAA,IAAA0D,iBAAA,EAAAC,kBAAA;AACJ,EAAA,IAAAG,iBAAA,GAA8C9D,KAAK,CAAC+D,UAAU;IAAtDC,oBAAoB,GAAAF,iBAAA,CAApBE,oBAAoB;IAAEC,WAAW,GAAAH,iBAAA,CAAXG,WAAW;AACzC,EAAA,IAAML,QAAQ,GAAG,CAAAF,CAAAA,iBAAA,GAAA1D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAS,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBnD,KAAK,KAAI,OAAO;AACnD,EAAA,IAAMsD,WAAW,GAAG,CAAAF,CAAAA,kBAAA,GAAA3D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAU,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBvD,QAAQ,KAAI,UAAU;AAE5D,EAAA,IAAMH,aAAa,GAAGD,KAAK,CAACO,KAAK,IAAI,EAAE;AAEvC,EAAA,oBACEM,IAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,KAAK,EAAE;AAAEyD,MAAAA,MAAM,EAAE,MAAM;AAAEC,MAAAA,QAAQ,EAAE;KAAS;AAAAhE,IAAAA,QAAA,gBAC/CF,GAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,KAAK,EAAE;AAAE2D,QAAAA,eAAe,EAAE,SAAS;AAAEC,QAAAA,OAAO,EAAE,EAAE;AAAEC,QAAAA,YAAY,EAAE;OAAI;MAAAnE,QAAA,eACvEF,GAAA,CAAC8B,aAAa,EAAA;QACZc,SAAS,EAAE9C,KAAK,CAAC8C,SAAU;AAC3BvC,QAAAA,KAAK,EAAEN,aAAc;QACrBmD,QAAQ,EAAEpD,KAAK,CAACoD,QAAS;QACzBH,UAAU,EAAEjD,KAAK,CAACiD,UAAW;AAC7BE,QAAAA,aAAa,EAAE;UACbqB,SAAS,EAAExE,KAAK,CAACwE,SAAS;AAC1BC,UAAAA,sBAAsB,EAAE,SAAxBA,sBAAsBA,CAAGC,QAAQ,EAAK;AAAA,YAAA,IAAAC,qBAAA;AACpC,YAAA,IAAMC,OAAqB,GAAGC,cAAc,CAACH,QAAQ,EAAE;AACrDnE,cAAAA,KAAK,EAAEqD,QAAQ;AACfxD,cAAAA,QAAQ,EAAEyD;AACZ,aAAC,CAAC;AACF,YAAA,CAAAc,qBAAA,GAAA3E,KAAK,CAAC8E,kBAAkB,cAAAH,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAApB,IAAA,CAAAvD,KAAK,EAAsB0E,QAAQ,EAAEE,OAAO,CAAC;AAC7C,YAAA,OAAOF,QAAQ;AACjB;AACF;OACD;KACE,CAAC,eAEN7D,IAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,KAAK,EAAE;AAAE+E,QAAAA,SAAS,EAAE;OAAK;AAAArF,MAAAA,QAAA,gBAC5BF,GAAA,CAAA,KAAA,EAAA;AAAKQ,QAAAA,KAAK,EAAE;AAAEQ,UAAAA,QAAQ,EAAE,EAAE;AAAEiE,UAAAA,UAAU,EAAE,KAAK;AAAEhE,UAAAA,YAAY,EAAE;SAAK;QAAAf,QAAA,EAC/DH,aAAa,CAACmF,MAAM,GAAG,CAAC,gBACvBlF,GAAA,CAACC,QAAQ,EAAA;AAAAC,UAAAA,QAAA,EACN4D,oBAAoB,GACjBA,oBAAoB,CAACqB,OAAO,CAC1B,SAAS,EAAA,EAAA,CAAAC,MAAA,CACN,CAAArF,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEmF,MAAM,KAAI,EAAE,CAChC,CAAC,GAAAE,oBAAAA,CAAAA,MAAA,CACKrF,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEmF,MAAM;AAAE,SACzB,CAAC,GAEXnB;AACD,OACE,CAAC,eACN/D,GAAA,CAACH,cAAc,EAAA;AACbE,QAAAA,aAAa,EAAEA,aAAc;QAC7BgD,UAAU,EAAEjD,KAAK,CAACiD,UAAW;QAC7BrB,YAAY,EAAE5B,KAAK,CAAC4B;AAAa,OAClC,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;ACtDM,IAAM8D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI1F,KAA4B,EAAK;EAAA,IAAA0D,iBAAA,EAAAC,kBAAA;AAChE,EAAA,IAAQgC,UAAU,GAAK3F,KAAK,CAApB2F,UAAU;AAClB,EAAA,IAAMC,QAAQ,GAAG,CAAAlC,CAAAA,iBAAA,GAAA1D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAS,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBlD,KAAK,KAAI,OAAO;AACnD,EAAA,IAAMoD,QAAQ,GAAG,CAAAD,CAAAA,kBAAA,GAAA3D,KAAK,CAACiD,UAAU,MAAA,IAAA,IAAAU,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBpD,KAAK,KAAI,OAAO;AACnD,EAAA,IAAMsF,gBAAgB,GAAGC,MAAM,CAAe,EAAE,CAAC;EAEjD,IAAMC,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,EAAE;EAEtD,IAAMjF,SAAS,GAAG+E,UAAU,KAAK,IAAI,GAAG,UAAU,GAAG,YAAY;EACjE,IAAMG,YAAY,GAAGC,iBAAiB,CAACR,UAAU,CAAC,GAAG,IAAI,GAAGA,UAAU;AAEtE,EAAA,IAAAS,SAAA,GAA4BC,QAAQ,EAAyB;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtD/C,IAAAA,MAAM,GAAAiD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAM1E,YAAY,GAAG,SAAfA,YAAYA,CAAIrB,KAAK,EAAK;AAAA,IAAA,IAAA+C,eAAA;IAC9B,IAAMmD,UAAU,GAAGpD,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEqD,MAAM,CAAC,UAACpG,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAACC,KAAK,KAAKA,KAAK;KAAC,CAAA;IACjEiG,SAAS,CAACC,UAAU,CAAC;AACrB,IAAA,CAAAnD,eAAA,GAAAtD,KAAK,CAACoD,QAAQ,MAAAE,IAAAA,IAAAA,eAAA,KAAdA,KAAAA,CAAAA,IAAAA,eAAA,CAAAC,IAAA,CAAAvD,KAAK,EAAYyG,UAAU,CAAC;GAC7B;EAEDT,QAAQ,CAACW,eAAe,CAAC,YAAM;AAC7B,IAAA,IAAMtD,MAAM,GAAGG,OAAO,CAAOxD,KAAK,CAACO,KAAK,CAAC,CAACF,GAAG,CAAC,UAACC,IAAI,EAAK;AAAA,MAAA,IAAAsG,qBAAA;MACtD,IAAMC,MAAM,GAAGC,QAAA,CAASxG,IAAI,CAAC,GAAGA,IAAI,GAAG;AAAEE,QAAAA,KAAK,EAAEF,IAAI;AAAEC,QAAAA,KAAK,EAAED;OAAM;AACnE,MAAA,IAAMC,KAAK,GAAGsG,MAAM,CAACtG,KAAK;MAC1B,OAAO;AACLA,QAAAA,KAAK,EAAEA,KAAK;AACZC,QAAAA,KAAK,EAAE,CAAAoG,CAAAA,qBAAA,GAAAf,gBAAgB,CAACkB,OAAO,CAACxG,KAAK,CAAC,cAAAqG,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA/BA,qBAAA,CAAkChB,QAAQ,CAAC,KAAI;OACvD;AACH,KAAC,CAAC;IACFY,SAAS,CAACnD,MAAM,CAAC;AACnB,GAAC,EAAE,CAACrD,KAAK,CAACO,KAAK,CAAC,CAAC;EAEjB,IAAMyG,WAAW,GAAAxE,cAAA,CAAAA,cAAA,CACZxC,EAAAA,EAAAA,KAAK,CAAC8C,SAAS,CAAA,EAAA,EAAA,EAAA;AAClBF,IAAAA,SAAS,EAAEsD,YAAY,GAAG,IAAI,GAAG;GAClC,CAAA;AAED,EAAA,IAAM9C,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,MAA8B,EAAK;AAAA,IAAA,IAAA4D,gBAAA;IACnDT,SAAS,CAACnD,MAAM,CAAC;AACjB,IAAA,CAAA4D,gBAAA,GAAAjH,KAAK,CAACoD,QAAQ,MAAA6D,IAAAA,IAAAA,gBAAA,KAAdA,KAAAA,CAAAA,IAAAA,gBAAA,CAAA1D,IAAA,CAAAvD,KAAK,EAAYqD,MAAM,CAAC;GACzB;EAED,IAAMyB,kBAAkB,GAAG1C,KAAA,CAAM8E,cAAc,CAC7C,UAACC,YAA4B,EAAEC,OAAqB,EAAK;AAAA,IAAA,IAAAC,qBAAA;IACvDxB,gBAAgB,CAACkB,OAAO,GAAGK,OAAO;AAClC,IAAA,IAAME,MAAM,GAAGjE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CACjBhD,GAAG,CAAC,UAACC,IAAI,EAAK;AACd,MAAA,IAAMuG,MAAM,GAAGO,OAAO,CAAC9G,IAAI,CAACC,KAAK,CAAC;AAClC,MAAA,OAAOsG,MAAM,GACT;AAAErG,QAAAA,KAAK,EAAEqG,MAAM,CAACjB,QAAQ,CAAC;QAAErF,KAAK,EAAEsG,MAAM,CAACjD,QAAQ;AAAE,OAAC,GACpDtB,SAAS;AACf,KAAC,CAAC,CACDoE,MAAM,CAACa,OAAO,CAA0B;IAC3Cf,SAAS,CAACc,MAAM,CAAC;AACjB,IAAA,CAAAD,qBAAA,GAAArH,KAAK,CAACwH,kBAAkB,cAAAH,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAA9D,IAAA,CAAAvD,KAAK,EAAsBmH,YAAY,EAAEC,OAAO,CAAC;AACnD,GACF,CAAC;EAED,oBACElH,GAAA,CAACC,QAAQ,EAAA;AAAAC,IAAAA,QAAA,EACNY,SAAS,KAAK,UAAU,gBACvBd,GAAA,CAACsF,cAAc,EAAA;AACbjF,MAAAA,KAAK,EAAE8C,MAAO;AACdzB,MAAAA,YAAY,EAAEA,YAAa;MAC3BqB,UAAU,EAAEjD,KAAK,CAACiD,UAAW;MAC7BuB,SAAS,EAAExE,KAAK,CAACwE,SAAU;MAC3BT,UAAU,EAAE/D,KAAK,CAAC+D,UAAW;AAC7BX,MAAAA,QAAQ,EAAEA,QAAS;AACnB0B,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvChC,MAAAA,SAAS,EAAEkE;AAAY,KACR,CAAC,gBAElB9G,GAAA,CAACuD,gBAAgB,EAAA;AACflD,MAAAA,KAAK,EAAE8C,MAAO;AACdzB,MAAAA,YAAY,EAAEA,YAAa;MAC3BqB,UAAU,EAAEjD,KAAK,CAACiD,UAAW;MAC7BuB,SAAS,EAAExE,KAAK,CAACwE,SAAU;MAC3BT,UAAU,EAAE/D,KAAK,CAAC+D,UAAW;AAC7BX,MAAAA,QAAQ,EAAEA,QAAS;AACnB0B,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvChC,MAAAA,SAAS,EAAEkE;KACZ;AACF,GACO,CAAC;AAEf,CAAC;;AC5FD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMS,WAAS,GAAG,SAAZA,SAASA,CAAIzH,KAAqB,EAAK;AAClD,EAAA,IAAA0H,WAAA,GAA2B1H,KAAK,CAAxB8B,IAAI;AAAJA,IAAAA,IAAI,GAAA4F,WAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,WAAA;AACtB,EAAA,IAAAtB,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCuB,IAAAA,MAAM,GAAArB,UAAA,CAAA,CAAA,CAAA;AAAEsB,IAAAA,SAAS,GAAAtB,UAAA,CAAA,CAAA,CAAA;EAExB,IAAMuB,QAAQ,GAAGC,OAAO,CAACC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC,CAAC;EACxD,IAAMjC,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,EAAE;EAEtD,IAAMjF,SAAS,GAAG+E,UAAU,KAAK,IAAI,GAAG,UAAU,GAAG,YAAY;AAEjE,EAAA,IAAMkC,aAAa,GAAG7F,KAAA,CAAM8E,cAAc,CAAC,YAAM;IAC/CU,SAAS,CAAC,IAAI,CAAC;AACjB,GAAC,CAAC;AAEF,EAAA,IAAMM,MAAM,GAAGlI,KAAK,CAACI,QAAQ,CAAC+H,IAAI;AAElC,EAAA,IAAAC,UAAA,GAA4B/B,QAAQ,EAAyB;IAAAgC,UAAA,GAAA9B,cAAA,CAAA6B,UAAA,EAAA,CAAA,CAAA;AAAtD/E,IAAAA,MAAM,GAAAgF,UAAA,CAAA,CAAA,CAAA;AAAE7B,IAAAA,SAAS,GAAA6B,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMC,iBAAiB,GAAGxC,MAAM,CAAwB,EAAE,CAAC;AAE3D,EAAA,IAAMyC,UAAU,GAAGC,OAAO,CAAC,YAAM;AAC/B,IAAA,IAAI,EAACX,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAE1D,MAAM,CAAI,IAAA,CAAC4B,UAAU,EAAE,OAAOzD,SAAS;IACtD,IAAMmG,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAACC,QAAQ,CAAC3C,UAAU,CAAC;IAChD,IAAI4C,aAA2B,GAAG,EAAE;IACpC,IAAI7G,IAAI,IAAI,OAAO,EAAE;AACnB6G,MAAAA,aAAa,GAAG;QACdxE,MAAM,EAAE,CAAA0D,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAE1D,MAAM,IAAG,IAAI;AAC/BY,QAAAA,KAAK,EAAE;OACR;AACH,KAAC,MAAM,IAAIjD,IAAI,IAAI,OAAO,EAAE;AAC1B6G,MAAAA,aAAa,GAAG;QACdxE,MAAM,EAAE,CAAA0D,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAE1D,MAAM,IAAG,IAAI;AAC/BY,QAAAA,KAAK,EAAE;OACR;AACH,KAAC,MAAM,IAAIjD,IAAI,IAAI,QAAQ,EAAE;AAC3B6G,MAAAA,aAAa,GAAG;QACdxE,MAAM,EAAE,CAAA0D,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAE1D,MAAM,IAAG,IAAI;AAC/BY,QAAAA,KAAK,EAAE;OACR;AACH;IAEA,OAAO;AACLZ,MAAAA,MAAM,EAAEnE,KAAK,CAAC4I,eAAe,IAAID,aAAa,CAACxE,MAAM;MACrDY,KAAK,EAAE0D,MAAM,GAAG,KAAK,GAAGzI,KAAK,CAAC6I,UAAU,IAAIF,aAAa,CAAC5D;KAC3D;GACF,EAAE,CACD8C,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE1D,MAAM,EAChB4B,UAAU,EACVjE,IAAI,EACJ9B,KAAK,CAAC4I,eAAe,EACrB5I,KAAK,CAAC6I,UAAU,CACjB,CAAC;AAEF,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAAA,IAAA,IAAAxF,eAAA;AACrB,IAAA,CAAAA,eAAA,GAAAtD,KAAK,CAACoD,QAAQ,MAAAE,IAAAA,IAAAA,eAAA,KAAdA,KAAAA,CAAAA,IAAAA,eAAA,CAAAC,IAAA,CAAAvD,KAAK,EAAYqD,MAAM,CAAC;IACxBuE,SAAS,CAAC,KAAK,CAAC;GACjB;AAED,EAAA,IAAMmB,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACrBnB,SAAS,CAAC,KAAK,CAAC;AAChBpB,IAAAA,SAAS,CAAC8B,iBAAiB,CAACvB,OAAO,CAAC;GACrC;EAED,oBACElG,IAAA,CAACV,QAAQ,EAAA;AAAAC,IAAAA,QAAA,EACPF,cAAAA,GAAA,CAACgI,MAAM,EAAA1F,cAAA,CAAAA,cAAA,CAAKxC,EAAAA,EAAAA,KAAK,CAACI,QAAQ,CAACJ,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE2B,MAAAA,OAAO,EAAEsG;AAAc,KAAA,CAAE,CAAC,eAC5D/H,GAAA,CAAC8I,KAAK,EAAA;MACJC,SAAS,EAAEjJ,KAAK,CAACkJ,cAAe;AAChCC,MAAAA,KAAK,EAAEnJ,KAAK,CAAC+D,UAAU,CAACoF,KAAK,IAAI,IAAK;AACtCC,MAAAA,IAAI,EAAEzB,MAAO;AACboB,MAAAA,QAAQ,EAAEA,QAAS;MACnBM,WAAW,EAAErJ,KAAK,CAACqJ,WAAY;MAC/BC,QAAQ,EAAA,IAAA;AACRvE,MAAAA,KAAK,EAAEwD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAExD,KAAM;AACzBwE,MAAAA,IAAI,EAAET,QAAS;AACfU,MAAAA,MAAM,EACJxI,SAAS,KAAK,YAAY,GACtB;AACEyI,QAAAA,IAAI,EAAE;AACJtF,UAAAA,MAAM,EAAEoE,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEpE,MAAM;AAC1BuF,UAAAA,SAAS,EAAE,qBAAqB;AAChCpF,UAAAA,OAAO,EAAE;SACV;AACDqF,QAAAA,OAAO,EAAE;AACPrF,UAAAA,OAAO,EAAE;SACV;AACDsF,QAAAA,MAAM,EAAE;AACNtF,UAAAA,OAAO,EAAE;SACV;AACDuF,QAAAA,MAAM,EAAE;AACNvF,UAAAA,OAAO,EAAE;AACX;AACF,OAAC,GACD;AACEmF,QAAAA,IAAI,EAAE;AACJtF,UAAAA,MAAM,EAAEoE,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEpE;AACtB;OAEP;MAAA/D,QAAA,eAEDF,GAAA,CAACwF,gBAAgB,EAAAlD,cAAA,CAAAA,cAAA,CAAA,EAAA,EACXxC,KAAK,CAAA,EAAA,EAAA,EAAA;AACToD,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,MAAM,EAAK;UACpBmD,SAAS,CAACnD,MAAM,CAAC;AACnB;OACD,CAAA;AAAC,KACG,CAAC;AAAA,GACA,CAAC;AAEf,CAAC;;ICvHYoE,SAAS,GAAGqC,2BAA2B,CAACC,WAAc,EAAE;AACnEC,EAAAA,OAAO,EAAEtE;AACX,CAAC;;;;"}
|
|
@@ -361,6 +361,28 @@ 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;
|
|
364
386
|
};
|
|
365
387
|
export type TreeModelSelectItem = {
|
|
366
388
|
label: string;
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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}.
|
|
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,6 +361,28 @@ 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;
|
|
364
386
|
};
|
|
365
387
|
export type TreeWrapperRefApi = {
|
|
366
388
|
onClearSelectorList: () => void;
|
|
@@ -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"];
|
|
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,9 @@ 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,
|
|
392
399
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
393
400
|
// eslint-disable-next-line no-prototype-builtins
|
|
394
401
|
var hasSelectorTreeList = props.hasOwnProperty('selectorTreeList');
|
|
@@ -418,6 +425,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
418
425
|
var menuLayoutTypeNew = menuLayoutType === undefined ? 'fold' : menuLayoutType;
|
|
419
426
|
var menuTriggerTypeNew = menuTriggerType === undefined ? 'click' : menuTriggerType;
|
|
420
427
|
var responseFirstRef = useRef(true);
|
|
428
|
+
var innerValueListRef = useRef(undefined);
|
|
421
429
|
var labelInValueFieldNamesMerge = useMemo(function () {
|
|
422
430
|
return _objectSpread2({
|
|
423
431
|
label: 'label',
|
|
@@ -445,11 +453,13 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
445
453
|
}
|
|
446
454
|
}
|
|
447
455
|
if (!isUndefinedOrNull(value)) {
|
|
448
|
-
|
|
449
|
-
|
|
456
|
+
if (innerValueListRef.current && !compareArrays(valueList, innerValueListRef.current)) {
|
|
457
|
+
var innerExpandedKeys = getTreeExpandedKeys(valueList);
|
|
458
|
+
setTreeExpandedKeys(Array.from(new Set(treeExpandedKeys === null || treeExpandedKeys === void 0 ? void 0 : treeExpandedKeys.concat(innerExpandedKeys))));
|
|
459
|
+
}
|
|
450
460
|
}
|
|
451
461
|
}
|
|
452
|
-
}, [
|
|
462
|
+
}, [state.treeList, JSON.stringify(valueList)]);
|
|
453
463
|
var valueIsEmpty = function valueIsEmpty(data) {
|
|
454
464
|
return data === '' || isUndefinedOrNull(data);
|
|
455
465
|
};
|
|
@@ -662,6 +672,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
662
672
|
setTreeExpandedKeys(expandedKeys);
|
|
663
673
|
});
|
|
664
674
|
var onInnerChange = function onInnerChange(selectedKey, operateNodeData, operateAllNodeDataList, operateInfo) {
|
|
675
|
+
innerValueListRef.current = toArray(selectedKey);
|
|
665
676
|
if (toArray(selectedKey).length === 0) {
|
|
666
677
|
var _props$onChange;
|
|
667
678
|
var nodeValue = operateInfo === null || operateInfo === void 0 ? void 0 : operateInfo.node[fieldNames.value];
|
|
@@ -681,9 +692,19 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
681
692
|
finalCheckedValueList = props.checkStrictly ? checkedData.checked : checkedData;
|
|
682
693
|
} else {
|
|
683
694
|
finalCheckedValueList = checkedData;
|
|
695
|
+
if (required && !toArray(checkedData).length) {
|
|
696
|
+
return;
|
|
697
|
+
}
|
|
698
|
+
if (disableNodeSelect) {
|
|
699
|
+
var target = state.treeTiledArrayMap[checkedData[0]];
|
|
700
|
+
var x = target ? disableNodeSelect(target) : false;
|
|
701
|
+
if (x) {
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
684
705
|
}
|
|
685
706
|
finalCheckedValueList = toArray(finalCheckedValueList);
|
|
686
|
-
if (checkable
|
|
707
|
+
if (!checkable) {
|
|
687
708
|
completeCheckedValueList = finalCheckedValueList;
|
|
688
709
|
} else {
|
|
689
710
|
if (showSearch && treeSearchValue && !searchTypeHighlight) {
|
|
@@ -876,6 +897,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
876
897
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
877
898
|
children: [/*#__PURE__*/jsx("span", {
|
|
878
899
|
className: "tree-item-title",
|
|
900
|
+
"data-value": nodeData[fieldNames.value],
|
|
879
901
|
children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
|
|
880
902
|
}), /*#__PURE__*/jsx(ButtonOperate, _objectSpread2(_objectSpread2({
|
|
881
903
|
gap: 5
|
|
@@ -901,6 +923,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
901
923
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
902
924
|
children: [/*#__PURE__*/jsx("span", {
|
|
903
925
|
className: "tree-item-title",
|
|
926
|
+
"data-value": nodeData[fieldNames.value],
|
|
904
927
|
children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
|
|
905
928
|
}), _menuOptions.length > 0 && /*#__PURE__*/jsx(DropdownMenuWrapper, {
|
|
906
929
|
menuList: _menuOptions,
|
|
@@ -913,6 +936,7 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
913
936
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
914
937
|
children: [/*#__PURE__*/jsx("span", {
|
|
915
938
|
className: "tree-item-title",
|
|
939
|
+
"data-value": nodeData[fieldNames.value],
|
|
916
940
|
children: (labelRender === null || labelRender === void 0 ? void 0 : labelRender(nodeData)) || (nodeData === null || nodeData === void 0 ? void 0 : nodeData[fieldNames.label])
|
|
917
941
|
}), menuOptions ? /*#__PURE__*/jsx(ButtonOperate, _objectSpread2(_objectSpread2({
|
|
918
942
|
gap: 5
|
|
@@ -973,7 +997,32 @@ var TreeWrapper$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
973
997
|
style: {
|
|
974
998
|
width: '100%'
|
|
975
999
|
},
|
|
976
|
-
icon: iconHandle
|
|
1000
|
+
icon: iconHandle,
|
|
1001
|
+
onClick: function onClick(e) {
|
|
1002
|
+
if (clickParentNodeToggleExpand) {
|
|
1003
|
+
var targetEle = e.target;
|
|
1004
|
+
var _value = targetEle.dataset.value;
|
|
1005
|
+
if (isUndefinedOrNull(_value)) {
|
|
1006
|
+
targetEle = dom.findParentsElement(e.target, function (node) {
|
|
1007
|
+
var _node$classList, _node$classList2;
|
|
1008
|
+
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'));
|
|
1009
|
+
});
|
|
1010
|
+
_value = targetEle.dataset.value;
|
|
1011
|
+
}
|
|
1012
|
+
if (!isUndefinedOrNull(_value)) {
|
|
1013
|
+
var target = state.treeTiledArrayMap[_value];
|
|
1014
|
+
if (target !== null && target !== void 0 && target[fieldNames.children] && target[fieldNames.children].length > 0) {
|
|
1015
|
+
var treeExpandedTarget = treeExpandedKeys.includes(_value);
|
|
1016
|
+
if (treeExpandedTarget) {
|
|
1017
|
+
var newList = arrayRemove(treeExpandedKeys, _value);
|
|
1018
|
+
setTreeExpandedKeys(_toConsumableArray(newList));
|
|
1019
|
+
} else {
|
|
1020
|
+
setTreeExpandedKeys([].concat(_toConsumableArray(treeExpandedKeys), [_value]));
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
977
1026
|
});
|
|
978
1027
|
var checkedProps = {
|
|
979
1028
|
onCheck: onTreeChangeHandle,
|