@flatbiz/antd 5.0.14 → 5.0.16

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.
@@ -34,6 +34,7 @@ var _createCtx = createCtx(),
34
34
  * 5. 子组件通过下面方式主动发起服务调用
35
35
  * const localLoadingApi = LocalLoading.useLocalLoading();
36
36
  * localLoadingApi.onRequest();
37
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)
37
38
  * ```
38
39
  */
39
40
  var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -43,7 +44,8 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
43
44
  errorRender = props.errorRender,
44
45
  loadingSpinProps = props.loadingSpinProps,
45
46
  textConfigs = props.textConfigs,
46
- showRequiredError = props.showRequiredError;
47
+ showRequiredError = props.showRequiredError,
48
+ contentScroll = props.contentScroll;
47
49
  var _useState = useState('init'),
48
50
  _useState2 = _slicedToArray(_useState, 2),
49
51
  status = _useState2[0],
@@ -255,12 +257,15 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
255
257
  })
256
258
  });
257
259
  }
260
+ var className = classNames('fba-local-loading', {
261
+ 'fll-content-scroll': contentScroll
262
+ }, props.className);
258
263
  return /*#__PURE__*/jsx(LocalLoadingCtxProvider, {
259
264
  value: {
260
265
  onRequest: onInitRequest
261
266
  },
262
267
  children: /*#__PURE__*/jsxs("div", {
263
- className: classNames('fba-local-loading', props.className),
268
+ className: className,
264
269
  style: props.style,
265
270
  children: [loading ? /*#__PURE__*/jsx(Spin, {
266
271
  spinning: loading,
@@ -291,6 +296,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
291
296
  * 5. 子组件通过下面方式主动发起服务调用
292
297
  * const localLoadingApi = LocalLoading.useLocalLoading();
293
298
  * localLoadingApi.onRequest();
299
+ * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)
294
300
  * ```
295
301
  */
296
302
  var LocalLoading = fbaUtils.attachPropertiesToComponent(LocalLoadingInner, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div\n className={classNames('fba-local-loading', props.className)}\n style={props.style}\n >\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={props.contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","height","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","contentStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={props.style}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={props.contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","height","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","contentStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
@@ -20,6 +20,8 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
20
20
  uid: string;
21
21
  name?: string;
22
22
  url?: string;
23
+ /** 文件大小 */
24
+ size?: string | number;
23
25
  };
24
26
  /**
25
27
  * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换
@@ -65,7 +67,15 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
65
67
  * name(非必填): 'image.png',
66
68
  * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
67
69
  * }]
68
- * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可
70
+ * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,
71
+ * 2. 其他需要的字段可在对象中添加 responseData 对象
72
+ * 例如:
73
+ * [{
74
+ * uid: '唯一值',
75
+ * name(非必填): 'image.png',
76
+ * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
77
+ * responseData: { 'xx':'xxx' }
78
+ * }]
69
79
  * ```
70
80
  *
71
81
  */
@@ -3,11 +3,11 @@ import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
5
 
6
- export { U as UploadWrapper } from '../upload-wrapper-CSmbSn4P.js';
6
+ export { U as UploadWrapper } from '../upload-wrapper-BUfwwddm.js';
7
7
  import '@ant-design/icons/es/icons/PlusOutlined.js';
8
- import '../_rollupPluginBabelHelpers-BYm17lo8.js';
9
8
  import '@dimjs/utils/class-names/class-names';
10
9
  import '@wove/react/hooks';
10
+ import '../_rollupPluginBabelHelpers-BYm17lo8.js';
11
11
  import '@dimjs/lang/is-plain-object';
12
12
  import '@dimjs/utils/extend/extend';
13
13
  import 'react';
@@ -1,9 +1,9 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
2
 
3
3
  import _PlusOutlined from '@ant-design/icons/es/icons/PlusOutlined.js';
4
- import { _ as _objectWithoutProperties, a as _slicedToArray, c as _toConsumableArray, b as _objectSpread2, i as _defineProperty } from './_rollupPluginBabelHelpers-BYm17lo8.js';
5
4
  import { classNames } from '@dimjs/utils/class-names/class-names';
6
5
  import { hooks } from '@wove/react/hooks';
6
+ import { _ as _objectWithoutProperties, a as _slicedToArray, c as _toConsumableArray, b as _objectSpread2, i as _defineProperty } from './_rollupPluginBabelHelpers-BYm17lo8.js';
7
7
  import { isPlainObject } from '@dimjs/lang/is-plain-object';
8
8
  import { extend } from '@dimjs/utils/extend/extend';
9
9
  import { useState, useMemo, Fragment } from 'react';
@@ -42,7 +42,15 @@ var _excluded = ["onChange", "onUploadError", "value", "triggerText", "limitHidd
42
42
  * name(非必填): 'image.png',
43
43
  * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
44
44
  * }]
45
- * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可
45
+ * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,
46
+ * 2. 其他需要的字段可在对象中添加 responseData 对象
47
+ * 例如:
48
+ * [{
49
+ * uid: '唯一值',
50
+ * name(非必填): 'image.png',
51
+ * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
52
+ * responseData: { 'xx':'xxx' }
53
+ * }]
46
54
  * ```
47
55
  *
48
56
  */
@@ -61,7 +69,8 @@ var UploadWrapper = function UploadWrapper(props) {
61
69
  var fieldNames = extend({
62
70
  uid: 'uid',
63
71
  name: 'name',
64
- url: 'url'
72
+ url: 'url',
73
+ size: 'size'
65
74
  }, props.fieldNames);
66
75
  var valueList = useMemo(function () {
67
76
  return isUndefinedOrNull(value) ? undefined : toArray(value);
@@ -80,9 +89,10 @@ var UploadWrapper = function UploadWrapper(props) {
80
89
  uid: item[fieldNames.uid],
81
90
  name: item[fieldNames.name],
82
91
  url: item[fieldNames.url],
92
+ size: item[fieldNames.size],
93
+ responseData: item['responseData'],
83
94
  status: 'done',
84
- isOriginal: true,
85
- responseData: item['responseData']
95
+ isOriginal: true
86
96
  });
87
97
  }
88
98
  });
@@ -106,14 +116,27 @@ var UploadWrapper = function UploadWrapper(props) {
106
116
  fileList.forEach(function (item) {
107
117
  if (item['isOriginal']) {
108
118
  if (item['status'] !== 'error') {
109
- newFileList.push(_defineProperty(_defineProperty(_defineProperty({}, fieldNames.uid, item.uid), fieldNames.name, item.name), fieldNames.url, item.url));
119
+ var target = _defineProperty(_defineProperty(_defineProperty({}, fieldNames.uid, item.uid), fieldNames.name, item.name), fieldNames.url, item.url);
120
+ if (!isUndefinedOrNull(item.size)) {
121
+ target[fieldNames.size] = item.size;
122
+ }
123
+ if (item['responseData']) {
124
+ target.responseData = item['responseData'];
125
+ }
126
+ newFileList.push(target);
110
127
  }
111
128
  } else if (isPlainObject(item.response)) {
112
129
  if (item.response.code === '0000') {
113
130
  var _props$onRequestResul;
114
131
  var respData = item.response.data;
115
132
  var result = ((_props$onRequestResul = props.onRequestResultAdapter) === null || _props$onRequestResul === void 0 ? void 0 : _props$onRequestResul.call(props, respData)) || respData;
116
- newFileList.push(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, fieldNames.uid, result[fieldNames.uid] || item.uid), fieldNames.name, result[fieldNames.name] || item.name), fieldNames.url, result[fieldNames.url]), "responseData", respData));
133
+ var _target2 = _defineProperty(_defineProperty(_defineProperty({}, fieldNames.uid, result[fieldNames.uid] || item.uid), fieldNames.name, result[fieldNames.name] || item.name), fieldNames.url, result[fieldNames.url]);
134
+ if (!isUndefinedOrNull(result[fieldNames.size])) {
135
+ _target2[fieldNames.size] = result[fieldNames.size];
136
+ }
137
+ newFileList.push(_objectSpread2(_objectSpread2({}, _target2), {}, {
138
+ responseData: respData
139
+ }));
117
140
  } else {
118
141
  var errorMsg = item.response.message || '上传失败';
119
142
  hasError = true;
@@ -236,4 +259,4 @@ var UploadTrigger = function UploadTrigger(props) {
236
259
  };
237
260
 
238
261
  export { UploadWrapper as U };
239
- //# sourceMappingURL=upload-wrapper-CSmbSn4P.js.map
262
+ //# sourceMappingURL=upload-wrapper-BUfwwddm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-wrapper-BUfwwddm.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Fragment, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport type { UploadProps } from 'antd';\nimport { Button, message, Upload } from 'antd';\nimport type { UploadChangeParam } from 'antd/lib/upload';\nimport type { UploadFile, UploadListType } from 'antd/lib/upload/interface.js';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性取值映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n /** 文件大小 */\n size?: string | number;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n /**\n * 自动提交,默认:true\n * ```\n * 1. 自定义beforeUpload配置后 autoSubmit 失效\n * ```\n */\n autoSubmit?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * demo: https://fex.qa.tcshuke.com/docs/admin/main/file/upload\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n *\n * 5. 回填数据结构\n * [{\n * uid: '唯一值',\n * name(非必填): 'image.png',\n * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n * }]\n * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,\n * 2. 其他需要的字段可在对象中添加 responseData 对象\n * 例如:\n * [{\n * uid: '唯一值',\n * name(非必填): 'image.png',\n * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n * responseData: { 'xx':'xxx' }\n * }]\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const {\n onChange,\n onUploadError,\n value,\n triggerText,\n limitHidden,\n autoSubmit,\n ...otherProps\n } = props;\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n size: 'size',\n },\n props.fieldNames\n );\n\n const valueList = useMemo(\n () => (isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value)),\n [value]\n );\n\n fbaHooks.useEffectCustom(() => {\n const errorList =\n uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList = [] as TAny[];\n valueList?.forEach((item) => {\n // 判断item 为 File类型\n if (item['lastModified']) {\n newList.push(item);\n } else {\n newList.push({\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n size: item[fieldNames.size],\n responseData: item['responseData'],\n status: 'done',\n isOriginal: true,\n });\n }\n });\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n const target: TPlainObject = {\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n };\n if (!isUndefinedOrNull(item.size)) {\n target[fieldNames.size] = item.size;\n }\n if (item['responseData']) {\n target.responseData = item['responseData'];\n }\n newFileList.push(target);\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) ||\n respData) as TPlainObject;\n const target: TPlainObject = {\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n };\n if (!isUndefinedOrNull(result[fieldNames.size])) {\n target[fieldNames.size] = result[fieldNames.size];\n }\n newFileList.push({\n ...target,\n responseData: respData,\n });\n } else {\n const errorMsg = item.response.message || '上传失败';\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n if (onUploadError) {\n onUploadError?.(errorMsg);\n } else {\n void message.error('上传操作失败...');\n }\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter(\n (item) => item.status === 'done' || item['isOriginal']\n );\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid] || item.uid;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n const beforeUpload = (_file, fileList) => {\n if (autoSubmit === false) {\n const maxCount = otherProps.maxCount;\n let mergeList = [...(valueList || []), ...fileList];\n let uploadListMerge = [...(uploadList || []), ...fileList];\n if (maxCount !== undefined && maxCount !== null) {\n if (mergeList.length > maxCount) {\n mergeList = mergeList.slice(mergeList.length - maxCount);\n uploadListMerge = uploadListMerge.slice(\n uploadListMerge.length - maxCount\n );\n }\n }\n setUploadList(uploadListMerge);\n props.onChange?.(mergeList);\n return false;\n }\n return true;\n };\n\n return (\n <Upload\n beforeUpload={beforeUpload}\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","autoSubmit","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","uploadList","setUploadList","fieldNames","_extend","uid","name","url","size","valueList","useMemo","isUndefinedOrNull","undefined","toArray","fbaHooks","useEffectCustom","errorList","filter","item","newList","forEach","push","responseData","status","isOriginal","length","newErrorList","map","response","concat","handleResponse","fileList","newFileList","hasError","target","_defineProperty","_isPlainObject","code","_props$onRequestResul","respData","data","result","onRequestResultAdapter","call","_objectSpread","errorMsg","message","error","_toConsumableArray","onUploadChange","_hooks","useCallbackRef","info","_props$onUploadChange","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","hiddenEmtry","maxCount","beforeUpload","_file","_props$onChange","mergeList","uploadListMerge","slice","_jsx","Upload","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.14",
3
+ "version": "5.0.16",
4
4
  "homepage": "https://gitlab.itcjf.com/flatjs-next/node-template-mono",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-wrapper-CSmbSn4P.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Fragment, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport type { UploadProps } from 'antd';\nimport { Button, message, Upload } from 'antd';\nimport type { UploadChangeParam } from 'antd/lib/upload';\nimport type { UploadFile, UploadListType } from 'antd/lib/upload/interface.js';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性取值映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n /**\n * 自动提交,默认:true\n * ```\n * 1. 自定义beforeUpload配置后 autoSubmit 失效\n * ```\n */\n autoSubmit?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * demo: https://fex.qa.tcshuke.com/docs/admin/main/file/upload\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n *\n * 5. 回填数据结构\n * [{\n * uid: '唯一值',\n * name(非必填): 'image.png',\n * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n * }]\n * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const {\n onChange,\n onUploadError,\n value,\n triggerText,\n limitHidden,\n autoSubmit,\n ...otherProps\n } = props;\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n },\n props.fieldNames\n ) as Required<UploadWrapperFileItem>;\n\n const valueList = useMemo(\n () => (isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value)),\n [value]\n );\n\n fbaHooks.useEffectCustom(() => {\n const errorList =\n uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList = [] as TAny[];\n valueList?.forEach((item) => {\n // 判断item 为 File类型\n if (item['lastModified']) {\n newList.push(item);\n } else {\n newList.push({\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n status: 'done',\n isOriginal: true,\n responseData: item['responseData'],\n });\n }\n });\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n newFileList.push({\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n });\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) ||\n respData) as TPlainObject;\n newFileList.push({\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n responseData: respData,\n });\n } else {\n const errorMsg = item.response.message || '上传失败';\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n if (onUploadError) {\n onUploadError?.(errorMsg);\n } else {\n void message.error('上传操作失败...');\n }\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter(\n (item) => item.status === 'done' || item['isOriginal']\n );\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid] || item.uid;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n const beforeUpload = (_file, fileList) => {\n if (autoSubmit === false) {\n const maxCount = otherProps.maxCount;\n let mergeList = [...(valueList || []), ...fileList];\n let uploadListMerge = [...(uploadList || []), ...fileList];\n if (maxCount !== undefined && maxCount !== null) {\n if (mergeList.length > maxCount) {\n mergeList = mergeList.slice(mergeList.length - maxCount);\n uploadListMerge = uploadListMerge.slice(\n uploadListMerge.length - maxCount\n );\n }\n }\n setUploadList(uploadListMerge);\n props.onChange?.(mergeList);\n return false;\n }\n return true;\n };\n\n return (\n <Upload\n beforeUpload={beforeUpload}\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","autoSubmit","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","uploadList","setUploadList","fieldNames","_extend","uid","name","url","valueList","useMemo","isUndefinedOrNull","undefined","toArray","fbaHooks","useEffectCustom","errorList","filter","item","newList","forEach","push","status","isOriginal","responseData","length","newErrorList","map","response","concat","handleResponse","fileList","newFileList","hasError","_defineProperty","_isPlainObject","code","_props$onRequestResul","respData","data","result","onRequestResultAdapter","call","errorMsg","message","error","_toConsumableArray","onUploadChange","_hooks","useCallbackRef","info","_props$onUploadChange","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","hiddenEmtry","maxCount","beforeUpload","_file","_props$onChange","mergeList","uploadListMerge","slice","_jsx","Upload","_objectSpread","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}