@flatbiz/antd 5.0.12 → 5.0.13

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.
@@ -44,22 +44,28 @@ export type CascaderWrapperProps = Omit<CascaderProps<TAny>, "loading" | "notFou
44
44
  * 是否动态加载选项
45
45
  */
46
46
  isDynamicLoad?: boolean;
47
- value?: string | number;
48
- onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;
47
+ value?: string | number | Array<string | number>;
48
+ onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;
49
49
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
50
+ /**
51
+ * 选择数据响应类型(当用户选中后响应数据),默认值:last
52
+ * ```
53
+ * 1. last 响应选中的最后一级数据
54
+ * 2. all 响应选中的多级数据
55
+ * ```
56
+ */
57
+ responseType?: "last" | "all";
50
58
  };
51
59
  export type CascaderWrapperRefApi = {
52
60
  getCascaderList: () => TPlainObject[];
53
61
  };
54
62
  /**
55
- * 级联选择器包装组件,接收value和相应data都是叶子节点数据
56
- * @param props
57
- * @returns
63
+ * 级联选择器包装组件
58
64
  * ```
59
65
  * 1. 数据源中 value 不能重复
60
66
  * 2. 不支持多选
61
67
  * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存
62
- * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据
68
+ * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据
63
69
  * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据
64
70
  * ```
65
71
  */
@@ -90,9 +96,17 @@ export declare const CascaderWrapper: import("react").ForwardRefExoticComponent<
90
96
  * 是否动态加载选项
91
97
  */
92
98
  isDynamicLoad?: boolean;
93
- value?: string | number;
94
- onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;
99
+ value?: string | number | Array<string | number>;
100
+ onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;
95
101
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
102
+ /**
103
+ * 选择数据响应类型(当用户选中后响应数据),默认值:last
104
+ * ```
105
+ * 1. last 响应选中的最后一级数据
106
+ * 2. all 响应选中的多级数据
107
+ * ```
108
+ */
109
+ responseType?: "last" | "all";
96
110
  } & import("react").RefAttributes<CascaderWrapperRefApi>>;
97
111
 
98
112
  export {};
@@ -3,7 +3,7 @@ import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
5
 
6
- export { C as CascaderWrapper } from '../cascader-wrapper-CG3ah945.js';
6
+ export { C as CascaderWrapper } from '../cascader-wrapper-CTqFW2ON.js';
7
7
  import '@ant-design/icons/es/icons/RedoOutlined.js';
8
8
  import '@dimjs/utils/class-names/class-names';
9
9
  import '../_rollupPluginBabelHelpers-BYm17lo8.js';
@@ -10,7 +10,7 @@ import { extend } from '@dimjs/utils/extend/extend';
10
10
  import { forwardRef, useState, useImperativeHandle } from 'react';
11
11
  import { Cascader, Button, message } from 'antd';
12
12
  import { cloneState } from '@dimjs/model';
13
- import { cloneObject, treeNodeParentsList } from '@flatbiz/utils';
13
+ import { cloneObject, toArray, treeNodeParentsList } from '@flatbiz/utils';
14
14
  import { fbaHooks } from './fba-hooks/index.js';
15
15
  import { R as RequestStatus } from './request-status-DQsSHUSx.js';
16
16
  import { Model } from '@dimjs/model-react';
@@ -52,16 +52,14 @@ var cascaderWrapperModel = function cascaderWrapperModel(key) {
52
52
  return cascaderWrapperModels[key];
53
53
  };
54
54
 
55
- var _excluded = ["serviceConfig", "modelKey", "fieldNames", "isDynamicLoad", "requestMessageConfig", "onSelectorListChange"];
55
+ var _excluded = ["serviceConfig", "modelKey", "fieldNames", "isDynamicLoad", "requestMessageConfig", "onSelectorListChange", "responseType"];
56
56
  /**
57
- * 级联选择器包装组件,接收value和相应data都是叶子节点数据
58
- * @param props
59
- * @returns
57
+ * 级联选择器包装组件
60
58
  * ```
61
59
  * 1. 数据源中 value 不能重复
62
60
  * 2. 不支持多选
63
61
  * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存
64
- * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据
62
+ * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据
65
63
  * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据
66
64
  * ```
67
65
  */
@@ -72,6 +70,7 @@ var CascaderWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
72
70
  isDynamicLoad = props.isDynamicLoad,
73
71
  requestMessageConfig = props.requestMessageConfig,
74
72
  onSelectorListChange = props.onSelectorListChange,
73
+ responseType = props.responseType,
75
74
  otherProps = _objectWithoutProperties(props, _excluded);
76
75
  var _useState = useState([]),
77
76
  _useState2 = _slicedToArray(_useState, 2),
@@ -171,12 +170,17 @@ var CascaderWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
171
170
  }, []);
172
171
  fbaHooks.useEffectCustom(function () {
173
172
  var cloneList = cloneObject(state.selectorList);
174
- if (props.value) {
175
- var filterList = treeNodeParentsList(props.value, cloneList, true, fieldNamesMerge).reverse();
176
- if (filterList.length === 0) {
177
- setValueList([props.value]);
173
+ var values = toArray(props.value);
174
+ if (values.length > 0) {
175
+ if (responseType === 'all') {
176
+ setValueList(values);
178
177
  } else {
179
- setValueList(filterList);
178
+ var filterList = treeNodeParentsList(values[0], cloneList, true, fieldNamesMerge).reverse();
179
+ if (filterList.length === 0) {
180
+ setValueList([props.value]);
181
+ } else {
182
+ setValueList(filterList);
183
+ }
180
184
  }
181
185
  } else {
182
186
  setValueList(undefined);
@@ -224,12 +228,17 @@ var CascaderWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
224
228
  });
225
229
  };
226
230
  var onChange = hooks.useCallbackRef(function (values, selectList) {
227
- var _props$onChange;
228
- void ((_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, values === null || values === void 0 ? void 0 : values[values.length - 1], selectList));
231
+ if (responseType === 'all') {
232
+ var _props$onChange;
233
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, values, selectList);
234
+ } else {
235
+ var _props$onChange2;
236
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, values === null || values === void 0 ? void 0 : values[values.length - 1], selectList);
237
+ }
229
238
  });
230
239
  var onClear = hooks.useCallbackRef(function () {
231
- var _props$onChange2;
232
- void ((_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, undefined));
240
+ var _props$onChange3;
241
+ void ((_props$onChange3 = props.onChange) === null || _props$onChange3 === void 0 ? void 0 : _props$onChange3.call(props, undefined));
233
242
  });
234
243
  return /*#__PURE__*/jsx(Cascader, _objectSpread2(_objectSpread2({
235
244
  showSearch: true,
@@ -262,4 +271,4 @@ var CascaderWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
262
271
  });
263
272
 
264
273
  export { CascaderWrapper as C };
265
- //# sourceMappingURL=cascader-wrapper-CG3ah945.js.map
274
+ //# sourceMappingURL=cascader-wrapper-CTqFW2ON.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascader-wrapper-CTqFW2ON.js","sources":["@flatbiz/antd/src/cascader-wrapper/model.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import type { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport type { TRequestStatus } from '../request-status/request-status.jsx';\n\nexport type ModelState = {\n selectorList: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: { selectorList: TPlainObject[] };\n changeRequestStatus: ModelState['requestStatus'];\n};\n\nconst defaultState: ModelState = {\n selectorList: [],\n queryIsEmpty: false,\n requestStatus: 'request-init',\n};\n\nconst _SelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.selectorList = params.selectorList || [];\n state.requestStatus = 'request-success';\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst cascaderWrapperModels: Record<\n string,\n API<ModelType<ModelState, ModelActionParams, TAny>>\n> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const cascaderWrapperModel = (key: string) => {\n if (!cascaderWrapperModels[key]) {\n cascaderWrapperModels[key] = Model(_SelectorWrapperModel);\n }\n return cascaderWrapperModels[key];\n};\n","import type { ReactElement } from 'react';\nimport { forwardRef, useImperativeHandle, useState } from 'react';\nimport type { CascaderProps } from 'antd';\nimport { Button, Cascader, message } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport {\n cloneObject,\n type TAny,\n toArray,\n treeNodeParentsList,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { TRequestStatusProps } from '../request-status/request-status.jsx';\nimport { RequestStatus } from '../request-status/request-status.jsx';\nimport { cascaderWrapperModel } from './model.js';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n | 'loading'\n | 'notFoundContent'\n | 'options'\n | 'value'\n | 'multiple'\n | 'onChange'\n | 'fieldNames'\n> & {\n // 模型唯一值\n modelKey: string;\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?: string | number | Array<string | number>;\n onChange?: (\n value?: string | number | Array<string | number>,\n selectedList?: TPlainObject[]\n ) => void;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * 选择数据响应类型(当用户选中后响应数据),默认值:last\n * ```\n * 1. last 响应选中的最后一级数据\n * 2. all 响应选中的多级数据\n * ```\n */\n responseType?: 'last' | 'all';\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<\n CascaderWrapperRefApi,\n CascaderWrapperProps\n>((props, ref) => {\n const {\n serviceConfig,\n modelKey,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n responseType,\n ...otherProps\n } = props;\n const [options, setOptions] = useState<TAny[]>([]);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [state, actions] = cascaderWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${props.modelKey}`;\n const fieldNamesMerge = extend(\n true,\n { label: 'label', value: 'value', children: 'children' },\n fieldNames\n );\n const [valueList, setValueList] = useState<string[]>();\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceConfig.params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n window[requestPreKey] = false;\n void actions.setSelectBoxList({\n selectorList: respAdapterData || [],\n });\n onSelectorListChange?.(respAdapterData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n void message.error(error.message || '获取数据异常');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n if (window[requestPreKey]) return;\n if (state.requestStatus === 'request-success') {\n setOptions(cloneState(state.selectorList));\n } else {\n void startDataSourceRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n const cloneList = cloneObject(state.selectorList);\n const values = toArray<number | string>(props.value);\n if (values.length > 0) {\n if (responseType === 'all') {\n setValueList(values as string[]);\n } else {\n const filterList = treeNodeParentsList(\n values[0],\n cloneList,\n true,\n fieldNamesMerge\n ).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n }\n } else {\n setValueList(undefined);\n }\n setOptions(cloneList);\n }, [state.selectorList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return state.selectorList;\n },\n };\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n void actions.setSelectBoxList({\n selectorList: options || [],\n });\n onSelectorListChange?.(options || []);\n setOptions([...options]);\n };\n\n const onChange = hooks.useCallbackRef(\n (values: Array<string | number>, selectList) => {\n if (responseType === 'all') {\n props.onChange?.(values, selectList);\n } else {\n props.onChange?.(values?.[values.length - 1], selectList);\n }\n }\n );\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames(\n 'cascader-wrapper-popup',\n otherProps.popupClassName\n )}\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n options={options}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["defaultState","selectorList","queryIsEmpty","requestStatus","_SelectorWrapperModel","actions","setSelectBoxList","params","state","changeRequestStatus","cascaderWrapperModels","cascaderWrapperModel","key","Model","CascaderWrapper","forwardRef","props","ref","serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","responseType","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","options","setOptions","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","loading","setLoading","_cascaderWrapperModel","useStore","_cascaderWrapperModel2","requestPreKey","concat","fieldNamesMerge","_extend","label","value","children","_useState3","_useState4","valueList","setValueList","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_serviceConfig$onRequ","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","message","resolve","call","then","$await_2","map","item","isLeaf","useEffectCustom","cloneState","cloneList","cloneObject","values","toArray","length","filterList","treeNodeParentsList","reverse","undefined","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_serviceConfig$onRequ2","targetOption","_objectSpread","_defineProperty","$await_3","_toConsumableArray","onChange","selectList","_props$onChange","_props$onChange2","onClear","_props$onChange3","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","suffixIcon","_RedoOutlined","spin","multiple"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DateFormatType, TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
2
2
  import { IAllProps } from '@tinymce/tinymce-react';
3
- import { AlertProps, ButtonProps, CardProps, CascaderProps, CheckboxProps, CollapseProps, ColorPickerProps, DatePicker, DrawerProps, DropdownProps, FormInstance, FormItemProps, FormListFieldData, FormListOperation, FormProps, GetProps, InputNumber, InputNumberProps, InputProps, MentionProps, ModalProps, PaginationProps, PopconfirmProps, PopoverProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
3
+ import { AlertProps, ButtonProps, CardProps, CascaderProps, CheckboxProps, CollapseProps, ColorPickerProps, DatePicker, DrawerProps, DropdownProps, FormInstance, FormItemProps, FormListFieldData, FormListOperation, FormProps, GetProps, InputNumber, InputNumberProps, InputProps, MentionProps, ModalProps, PaginationProps, PopconfirmProps, PopoverProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, Tabs, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
4
4
  import { ConfigProviderProps } from 'antd/es/config-provider';
5
5
  import { PickerProps } from 'antd/es/date-picker/generatePicker';
6
6
  import { FormListProps } from 'antd/es/form';
@@ -694,22 +694,28 @@ export type CascaderWrapperProps = Omit<CascaderProps<TAny>, "loading" | "notFou
694
694
  * 是否动态加载选项
695
695
  */
696
696
  isDynamicLoad?: boolean;
697
- value?: string | number;
698
- onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;
697
+ value?: string | number | Array<string | number>;
698
+ onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;
699
699
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
700
+ /**
701
+ * 选择数据响应类型(当用户选中后响应数据),默认值:last
702
+ * ```
703
+ * 1. last 响应选中的最后一级数据
704
+ * 2. all 响应选中的多级数据
705
+ * ```
706
+ */
707
+ responseType?: "last" | "all";
700
708
  };
701
709
  export type CascaderWrapperRefApi = {
702
710
  getCascaderList: () => TPlainObject[];
703
711
  };
704
712
  /**
705
- * 级联选择器包装组件,接收value和相应data都是叶子节点数据
706
- * @param props
707
- * @returns
713
+ * 级联选择器包装组件
708
714
  * ```
709
715
  * 1. 数据源中 value 不能重复
710
716
  * 2. 不支持多选
711
717
  * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存
712
- * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据
718
+ * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据
713
719
  * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据
714
720
  * ```
715
721
  */
@@ -740,9 +746,17 @@ export declare const CascaderWrapper: import("react").ForwardRefExoticComponent<
740
746
  * 是否动态加载选项
741
747
  */
742
748
  isDynamicLoad?: boolean;
743
- value?: string | number;
744
- onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;
749
+ value?: string | number | Array<string | number>;
750
+ onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;
745
751
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
752
+ /**
753
+ * 选择数据响应类型(当用户选中后响应数据),默认值:last
754
+ * ```
755
+ * 1. last 响应选中的最后一级数据
756
+ * 2. all 响应选中的多级数据
757
+ * ```
758
+ */
759
+ responseType?: "last" | "all";
746
760
  } & import("react").RefAttributes<CascaderWrapperRefApi>>;
747
761
  export interface CommonPropsWithChildren<S extends TPlainObject = TPlainObject> {
748
762
  className?: string;
@@ -5266,6 +5280,21 @@ export type TableTitleTooltipProps = {
5266
5280
  * @deprecated 已过期,请使用 TipsWrapper 组件
5267
5281
  */
5268
5282
  export declare const TableTitleTooltip: (props: TableTitleTooltipProps) => import("react").JSX.Element;
5283
+ export type TabsType = GetProps<typeof Tabs>;
5284
+ export type TabsStickyProps = {
5285
+ tabsProps: TabsType;
5286
+ /** tabs头部布局 */
5287
+ headerRender?: ReactElement;
5288
+ /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
5289
+ clickTabToTop?: boolean;
5290
+ };
5291
+ /**
5292
+ * Tabs吸顶组件
5293
+ * ```
5294
+ * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度
5295
+ * ```
5296
+ */
5297
+ export declare const TabsSticky: (props: TabsStickyProps) => import("react").JSX.Element;
5269
5298
  export type TabsWrapperProps = TabsProps & {
5270
5299
  /**
5271
5300
  * Tabs Header 提供 Sticky 效果,默认值:true
package/dist/index.js CHANGED
@@ -107,6 +107,7 @@ import './switch-wrapper/index.css';
107
107
  import './table-cell-render/index.css';
108
108
  import './table-scrollbar/index.css';
109
109
  import './table-title-tooltip/index.css';
110
+ import './tabs-sticky/index.css';
110
111
  import './tabs-wrapper/index.css';
111
112
  import './tag-group/index.css';
112
113
  import './tag-list-render/index.css';
@@ -145,7 +146,7 @@ export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-oper
145
146
  export { B as ButtonWrapper } from './button-wrapper-l9FUsrWl.js';
146
147
  export { C as CardLayout } from './card-layout-BNs6jF2K.js';
147
148
  export { C as CardWrapper } from './card-wrapper-w-JbDJNk.js';
148
- export { C as CascaderWrapper } from './cascader-wrapper-CG3ah945.js';
149
+ export { C as CascaderWrapper } from './cascader-wrapper-CTqFW2ON.js';
149
150
  export { CheckList } from './check-list/index.js';
150
151
  export { C as CheckboxWrapper } from './checkbox-wrapper-vfPLUiSn.js';
151
152
  export { C as ColorPickerWrapper } from './color-picker-BKm2UF_1.js';
@@ -237,6 +238,7 @@ export { S as SwitchWrapper } from './switch-wrapper-CfxaLAKg.js';
237
238
  export { t as tableCellRender } from './cell-render-D4e6I9eI.js';
238
239
  export { T as TableScrollbar } from './table-scrollbar-CBqQ4pYQ.js';
239
240
  export { T as TableTitleTooltip } from './title-render-DGYUo6yV.js';
241
+ export { T as TabsSticky } from './tabs-D2IfpmxW.js';
240
242
  export { T as TabsWrapper } from './tabs-wrapper-CAj9ErGH.js';
241
243
  export { T as TagGroup } from './tag-group-BInmv_6s.js';
242
244
  export { _ as TagListRender } from './tag-list-C9_bM06E.js';
package/dist/index.js.map CHANGED
@@ -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
- .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input-outlined.ant-input-disabled,.ant-radio-wrapper-disabled,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}
1
+ .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input-outlined.ant-input-disabled,.ant-radio-wrapper-disabled,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.8)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}
@@ -0,0 +1,116 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+
3
+ import { a as _slicedToArray, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BYm17lo8.js';
4
+ import { useState, useRef, useEffect, useMemo } from 'react';
5
+ import { useSize } from 'ahooks';
6
+ import { Affix, Tabs } from 'antd';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+
9
+ /**
10
+ * Tabs吸顶组件
11
+ * ```
12
+ * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度
13
+ * ```
14
+ */
15
+ var TabsSticky = function TabsSticky(props) {
16
+ var tabsProps = props.tabsProps;
17
+ var _useState = useState(tabsProps.defaultActiveKey),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ activeKey = _useState2[0],
20
+ setActiveKey = _useState2[1];
21
+ var headerRef = useRef(null);
22
+ var affixRef = useRef(null);
23
+ var affixedFlagRef = useRef();
24
+ var headerSize = useSize(headerRef);
25
+ var scollNodeRef = useRef(null);
26
+ var scollNodeSize = useSize(scollNodeRef);
27
+ var affixRefSize = useSize(affixRef);
28
+ useEffect(function () {
29
+ if (tabsProps.activeKey) {
30
+ setActiveKey(tabsProps.activeKey);
31
+ }
32
+ }, [tabsProps.activeKey]);
33
+ var onChange = function onChange(activeKey) {
34
+ var _tabsProps$onChange;
35
+ if (!tabsProps.activeKey) {
36
+ setActiveKey(activeKey);
37
+ }
38
+ (_tabsProps$onChange = tabsProps.onChange) === null || _tabsProps$onChange === void 0 || _tabsProps$onChange.call(tabsProps, activeKey);
39
+ var top = (headerSize === null || headerSize === void 0 ? void 0 : headerSize.height) || 0;
40
+ if (affixedFlagRef.current) {
41
+ var _scollNodeRef$current;
42
+ (_scollNodeRef$current = scollNodeRef.current) === null || _scollNodeRef$current === void 0 || _scollNodeRef$current.scrollTo({
43
+ top: top
44
+ });
45
+ } else {
46
+ if (props.clickTabToTop !== false) {
47
+ var _scollNodeRef$current2;
48
+ (_scollNodeRef$current2 = scollNodeRef.current) === null || _scollNodeRef$current2 === void 0 || _scollNodeRef$current2.scrollTo({
49
+ top: top
50
+ });
51
+ }
52
+ }
53
+ };
54
+ var minHeight = ((scollNodeSize === null || scollNodeSize === void 0 ? void 0 : scollNodeSize.height) || 0) - ((affixRefSize === null || affixRefSize === void 0 ? void 0 : affixRefSize.height) || 0);
55
+ var stickyTabItems = useMemo(function () {
56
+ var _tabsProps$items;
57
+ return (_tabsProps$items = tabsProps.items) === null || _tabsProps$items === void 0 ? void 0 : _tabsProps$items.map(function (item) {
58
+ return _objectSpread2(_objectSpread2({}, item), {}, {
59
+ children: null
60
+ });
61
+ });
62
+ }, [tabsProps.items]);
63
+ var contentTabItems = useMemo(function () {
64
+ var _tabsProps$items2;
65
+ return (_tabsProps$items2 = tabsProps.items) === null || _tabsProps$items2 === void 0 ? void 0 : _tabsProps$items2.map(function (item) {
66
+ return _objectSpread2(_objectSpread2({}, item), {}, {
67
+ children: /*#__PURE__*/jsx("div", {
68
+ style: {
69
+ minHeight: minHeight
70
+ },
71
+ children: item.children
72
+ })
73
+ });
74
+ });
75
+ }, [tabsProps.items, minHeight]);
76
+ return /*#__PURE__*/jsxs("div", {
77
+ ref: scollNodeRef,
78
+ style: {
79
+ height: '100%',
80
+ overflowY: 'auto'
81
+ },
82
+ children: [/*#__PURE__*/jsx("div", {
83
+ ref: headerRef,
84
+ children: props.headerRender
85
+ }), /*#__PURE__*/jsx(Affix, {
86
+ offsetTop: 0,
87
+ target: function target() {
88
+ return scollNodeRef.current;
89
+ },
90
+ onChange: function onChange(affixed) {
91
+ affixedFlagRef.current = affixed;
92
+ },
93
+ children: /*#__PURE__*/jsx("div", {
94
+ ref: affixRef,
95
+ children: /*#__PURE__*/jsx(Tabs, _objectSpread2(_objectSpread2({}, tabsProps), {}, {
96
+ activeKey: activeKey,
97
+ items: stickyTabItems,
98
+ tabBarStyle: _objectSpread2(_objectSpread2({}, tabsProps.tabBarStyle), {}, {
99
+ margin: 0
100
+ }),
101
+ style: _objectSpread2({
102
+ backgroundColor: 'var(--block-bg-color)'
103
+ }, tabsProps.style),
104
+ onChange: onChange
105
+ }))
106
+ })
107
+ }), /*#__PURE__*/jsx(Tabs, {
108
+ activeKey: activeKey,
109
+ className: "tabs-sticky-contents",
110
+ items: contentTabItems
111
+ })]
112
+ });
113
+ };
114
+
115
+ export { TabsSticky as T };
116
+ //# sourceMappingURL=tabs-D2IfpmxW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-D2IfpmxW.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { type ReactElement, useEffect, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { Affix, type GetProps, Tabs } from 'antd';\nimport './style.less';\n\ntype TabsType = GetProps<typeof Tabs>;\n\nexport type TabsStickyProps = {\n tabsProps: TabsType;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs\n activeKey={activeKey}\n className=\"tabs-sticky-contents\"\n items={contentTabItems}\n />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","_useState2","_slicedToArray","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","_tabsProps$onChange","call","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_objectSpread","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .tabs-sticky-contents>.ant-tabs-nav{display:none}
@@ -0,0 +1,20 @@
1
+ import { GetProps, Tabs } from 'antd';
2
+ import { ReactElement } from 'react';
3
+
4
+ export type TabsType = GetProps<typeof Tabs>;
5
+ export type TabsStickyProps = {
6
+ tabsProps: TabsType;
7
+ /** tabs头部布局 */
8
+ headerRender?: ReactElement;
9
+ /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
10
+ clickTabToTop?: boolean;
11
+ };
12
+ /**
13
+ * Tabs吸顶组件
14
+ * ```
15
+ * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度
16
+ * ```
17
+ */
18
+ export declare const TabsSticky: (props: TabsStickyProps) => import("react").JSX.Element;
19
+
20
+ export {};
@@ -0,0 +1,11 @@
1
+ /* eslint-disable */
2
+ import './index.css';
3
+ /*! @flatjs/forge MIT @flatbiz/antd */
4
+
5
+ export { T as TabsSticky } from '../tabs-D2IfpmxW.js';
6
+ import '../_rollupPluginBabelHelpers-BYm17lo8.js';
7
+ import 'react';
8
+ import 'ahooks';
9
+ import 'antd';
10
+ import 'react/jsx-runtime';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -200,8 +200,7 @@ var HorizontalLayout = function HorizontalLayout(props) {
200
200
  }), /*#__PURE__*/jsx("div", {
201
201
  style: {
202
202
  overflow: 'auto',
203
- flex: 1,
204
- paddingRight: 15
203
+ flex: 1
205
204
  },
206
205
  children: /*#__PURE__*/jsx(SelectItemList, {
207
206
  chenkedIdList: chenkedIdList,
@@ -286,10 +285,12 @@ var TreeModalContent = function TreeModalContent(props) {
286
285
  values = _useState2[0],
287
286
  setValues = _useState2[1];
288
287
  var onDeleteItem = function onDeleteItem(value) {
288
+ var _props$onChange;
289
289
  var targetList = values === null || values === void 0 ? void 0 : values.filter(function (item) {
290
290
  return item.value !== value;
291
291
  });
292
292
  setValues(targetList);
293
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, values);
293
294
  };
294
295
  fbaHooks.useEffectCustom(function () {
295
296
  var values = toArray(props.value).map(function (item) {
@@ -310,9 +311,9 @@ var TreeModalContent = function TreeModalContent(props) {
310
311
  checkable: isMultipleFt ? true : false
311
312
  });
312
313
  var onChange = function onChange(values) {
313
- var _props$onChange;
314
+ var _props$onChange2;
314
315
  setValues(values);
315
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, values);
316
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, values);
316
317
  };
317
318
  var onChangeDataSource = hooks.useCallbackRef(function (treeDataList, mapData) {
318
319
  var _props$onDataSourceCh;
@@ -426,7 +427,7 @@ var TreeModal$1 = function TreeModal(props) {
426
427
  body: {
427
428
  height: customSize === null || customSize === void 0 ? void 0 : customSize.height,
428
429
  maxHeight: 'calc(100vh - 200px)',
429
- padding: '0px 0 0 20px'
430
+ padding: '0px 20px 0 20px'
430
431
  },
431
432
  content: {
432
433
  padding: 0
@@ -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, paddingRight: 15 }}>\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 };\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 0 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","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?.(values);\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,EAAYqD,MAAM,CAAC;GACzB;EAED2C,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;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.12",
3
+ "version": "5.0.13",
4
4
  "homepage": "https://gitlab.itcjf.com/flatjs-next/node-template-mono",
5
5
  "repository": {
6
6
  "type": "git",
@@ -446,6 +446,10 @@
446
446
  "types": "./dist/table-title-tooltip/index.d.ts",
447
447
  "import": "./dist/table-title-tooltip/index.js"
448
448
  },
449
+ "./tabs-sticky": {
450
+ "types": "./dist/tabs-sticky/index.d.ts",
451
+ "import": "./dist/tabs-sticky/index.js"
452
+ },
449
453
  "./tabs-wrapper": {
450
454
  "types": "./dist/tabs-wrapper/index.d.ts",
451
455
  "import": "./dist/tabs-wrapper/index.js"
@@ -1 +0,0 @@
1
- {"version":3,"file":"cascader-wrapper-CG3ah945.js","sources":["@flatbiz/antd/src/cascader-wrapper/model.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import type { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport type { TRequestStatus } from '../request-status/request-status.jsx';\n\nexport type ModelState = {\n selectorList: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: { selectorList: TPlainObject[] };\n changeRequestStatus: ModelState['requestStatus'];\n};\n\nconst defaultState: ModelState = {\n selectorList: [],\n queryIsEmpty: false,\n requestStatus: 'request-init',\n};\n\nconst _SelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.selectorList = params.selectorList || [];\n state.requestStatus = 'request-success';\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst cascaderWrapperModels: Record<\n string,\n API<ModelType<ModelState, ModelActionParams, TAny>>\n> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const cascaderWrapperModel = (key: string) => {\n if (!cascaderWrapperModels[key]) {\n cascaderWrapperModels[key] = Model(_SelectorWrapperModel);\n }\n return cascaderWrapperModels[key];\n};\n","import type { ReactElement } from 'react';\nimport { forwardRef, useImperativeHandle, useState } from 'react';\nimport type { CascaderProps } from 'antd';\nimport { Button, Cascader, message } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { cloneObject, type TAny, treeNodeParentsList } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { TRequestStatusProps } from '../request-status/request-status.jsx';\nimport { RequestStatus } from '../request-status/request-status.jsx';\nimport { cascaderWrapperModel } from './model.js';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n | 'loading'\n | 'notFoundContent'\n | 'options'\n | 'value'\n | 'multiple'\n | 'onChange'\n | 'fieldNames'\n> & {\n // 模型唯一值\n modelKey: string;\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?: string | number;\n onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件,接收value和相应data都是叶子节点数据\n * @param props\n * @returns\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<\n CascaderWrapperRefApi,\n CascaderWrapperProps\n>((props, ref) => {\n const {\n serviceConfig,\n modelKey,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n ...otherProps\n } = props;\n const [options, setOptions] = useState<TAny[]>([]);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [state, actions] = cascaderWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${props.modelKey}`;\n const fieldNamesMerge = extend(\n true,\n { label: 'label', value: 'value', children: 'children' },\n fieldNames\n );\n const [valueList, setValueList] = useState<string[]>();\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceConfig.params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n window[requestPreKey] = false;\n void actions.setSelectBoxList({\n selectorList: respAdapterData || [],\n });\n onSelectorListChange?.(respAdapterData || []);\n } catch (error: TAny) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n void message.error(error.message || '获取数据异常');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n if (window[requestPreKey]) return;\n if (state.requestStatus === 'request-success') {\n setOptions(cloneState(state.selectorList));\n } else {\n void startDataSourceRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n const cloneList = cloneObject(state.selectorList);\n if (props.value) {\n const filterList = treeNodeParentsList(\n props.value,\n cloneList,\n true,\n fieldNamesMerge\n ).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n } else {\n setValueList(undefined);\n }\n setOptions(cloneList);\n }, [state.selectorList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return state.selectorList;\n },\n };\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n void actions.setSelectBoxList({\n selectorList: options || [],\n });\n onSelectorListChange?.(options || []);\n setOptions([...options]);\n };\n\n const onChange = hooks.useCallbackRef(\n (values: Array<string | number>, selectList) => {\n void props.onChange?.(values?.[values.length - 1], selectList);\n }\n );\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames(\n 'cascader-wrapper-popup',\n otherProps.popupClassName\n )}\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n options={options}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["defaultState","selectorList","queryIsEmpty","requestStatus","_SelectorWrapperModel","actions","setSelectBoxList","params","state","changeRequestStatus","cascaderWrapperModels","cascaderWrapperModel","key","Model","CascaderWrapper","forwardRef","props","ref","serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","options","setOptions","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","loading","setLoading","_cascaderWrapperModel","useStore","_cascaderWrapperModel2","requestPreKey","concat","fieldNamesMerge","_extend","label","value","children","_useState3","_useState4","valueList","setValueList","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_serviceConfig$onRequ","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","message","resolve","call","then","$await_2","map","item","isLeaf","useEffectCustom","cloneState","cloneList","cloneObject","filterList","treeNodeParentsList","reverse","length","undefined","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_serviceConfig$onRequ2","targetOption","_objectSpread","_defineProperty","$await_3","_toConsumableArray","onChange","values","selectList","_props$onChange","onClear","_props$onChange2","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","suffixIcon","_RedoOutlined","spin","multiple"],"mappings":"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"}