@flatbiz/antd 5.0.12 → 5.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-CxZacuxg.js","sources":["@flatbiz/antd/src/tree-modal-selector/selector.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { Select } from 'antd';\nimport { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { TreeModal } from '../tree-modal/index.js';\nimport type {\n TreeModalProps,\n TreeModelSelectItem,\n} from '../tree-modal/types.js';\nexport type TreeModalSelectorProps = Omit<\n TreeModalProps,\n 'children' | 'forceRender' | 'onChange'\n> & {\n placeholder?: string;\n /**\n * 1. 可指定数量\n * 2. 可设置 responsive,一行自适应显示\n */\n maxTagCount?: number | 'responsive';\n /** 是否返回label+value模式 */\n labelInValue?: boolean;\n onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;\n};\n\n/**\n * 树弹框选择器\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalSelector = (props: TreeModalSelectorProps) => {\n const { placeholder, maxTagCount, labelInValue, ...otherProps } = props;\n const placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;\n\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const labelKey = otherProps.fieldNames?.label || 'label';\n const valueKey = otherProps.fieldNames?.value || 'value';\n\n const [showValues, setShowValues] = useState<TreeModelSelectItem[]>(() => {\n return (\n toArray(props.value)?.map((item) => {\n const objItems = (\n isObject(item) ? item : { label: item, value: item }\n ) as TreeModelSelectItem;\n return {\n value: objItems.value,\n label:\n dataSourceMapRef.current[objItems.value]?.[labelKey] ||\n objItems.value,\n } as TreeModelSelectItem;\n }) || []\n );\n });\n\n const onInnerChange = (value: TreeModelSelectItem[]) => {\n const valueFt = toArray(value).length ? value : undefined;\n if (otherProps.isMultiple == false) {\n props.onChange?.(valueFt?.[0]);\n } else {\n props.onChange?.(valueFt);\n }\n };\n\n const onSelectChange = (value) => {\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n const treeModalChange = (value) => {\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n\n const onDataSourceChange = hooks.useCallbackRef(\n (_treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = showValues\n ?.map((item) => {\n const target = mapData[item.value];\n return target\n ? { label: target[labelKey], value: target[valueKey] }\n : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setShowValues(result);\n }\n );\n\n return (\n <TreeModal\n {...otherProps}\n forceRender={true}\n onChange={treeModalChange}\n onDataSourceChange={onDataSourceChange}\n >\n <Select\n labelInValue\n style={{ width: '100%' }}\n placeholder={placeholderFt}\n maxTagCount={maxTagCount}\n mode=\"multiple\"\n open={false}\n value={showValues}\n onChange={onSelectChange}\n />\n </TreeModal>\n );\n};\n"],"names":["TreeModalSelector","props","_otherProps$fieldName","_otherProps$fieldName2","placeholder","maxTagCount","labelInValue","otherProps","_objectWithoutProperties","_excluded","placeholderFt","isUndefinedOrNull","dataSourceMapRef","useRef","labelKey","fieldNames","label","valueKey","value","_useState","useState","_toArray","toArray","map","item","_dataSourceMapRef$cur","objItems","_isObject","current","_useState2","_slicedToArray","showValues","setShowValues","onInnerChange","valueFt","length","undefined","isMultiple","_props$onChange","onChange","call","_props$onChange2","onSelectChange","treeModalChange","onDataSourceChange","_hooks","useCallbackRef","_treeDataList","mapData","result","target","filter","Boolean","_jsx","TreeModal","_objectSpread","forceRender","children","Select","style","width","mode","open"],"mappings":"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"}