@flatbiz/antd 5.0.48 → 5.0.49

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,11 +1,13 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
2
 
3
+ import { isArray } from '@dimjs/lang/is-array';
3
4
  import { c as classNames } from './index-C6y8q2MK.js';
4
5
  import { jsx } from 'react/jsx-runtime';
5
6
 
6
7
  /**
7
8
  * 代码、json格式化渲染
8
9
  * ```
10
+ * 1. wrap 是否换行,默认值:true
9
11
  * 例如:
10
12
  * // json数据渲染
11
13
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -31,15 +33,26 @@ return results;
31
33
  var CodeRender = function CodeRender(props) {
32
34
  var code = props.code,
33
35
  className = props.className,
34
- style = props.style;
36
+ style = props.style,
37
+ wrap = props.wrap,
38
+ size = props.size;
39
+ var codeList = isArray(code) ? code : [code];
40
+ var codeRenderClassName = classNames('code-render', className, {
41
+ 'code-render-small': size === 'small'
42
+ });
43
+ if (!props.code) return null;
44
+ var wrapFt = wrap === undefined ? true : wrap;
35
45
  return /*#__PURE__*/jsx("pre", {
36
- className: classNames('code-render', className),
46
+ className: codeRenderClassName,
37
47
  style: style,
38
48
  children: /*#__PURE__*/jsx("code", {
39
- children: code
49
+ style: {
50
+ whiteSpace: wrapFt ? 'pre-wrap' : undefined
51
+ },
52
+ children: "".concat(codeList.join('\n'))
40
53
  })
41
54
  });
42
55
  };
43
56
 
44
57
  export { CodeRender as C };
45
- //# sourceMappingURL=code-D9xbvmEX.js.map
58
+ //# sourceMappingURL=code-6OasUxQG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-6OasUxQG.js","sources":["@flatbiz/antd/src/code-render/code.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { isArray } from '@dimjs/lang';\nimport './style.less';\n\nexport type CodeRenderProps = {\n code?: string | string[];\n className?: string;\n style?: CSSProperties;\n /** 是否换行,默认值:true */\n wrap?: boolean;\n size?: 'small' | 'default';\n};\n\n/**\n * 代码、json格式化渲染\n * ```\n * 1. wrap 是否换行,默认值:true\n * 例如:\n * // json数据渲染\n * <CodeWrapper code={JSON.stringify(data, null, 2)}/>\n * \n * // 代码渲染\n * <CodeWrapper code={`def results=[];\ndef datas=表单字段.dataList;\nfor index,data in datas do\n def item = [\n 'a':data.DomainName,\n 'b':data.Owner,\n 'userName': 流程参数.发起人账号\n ];\n results = results+item;\nend\nreturn results;\n` \n}/>\n *\n * ```\n *\n */\nexport const CodeRender = (props: CodeRenderProps) => {\n const { code, className, style, wrap, size } = props;\n const codeList = (isArray(code) ? code : [code]) as any[];\n const codeRenderClassName = classNames('code-render', className, {\n 'code-render-small': size === 'small',\n });\n\n if (!props.code) return null;\n\n const wrapFt = wrap === undefined ? true : wrap;\n\n return (\n <pre className={codeRenderClassName} style={style}>\n <code\n style={{ whiteSpace: wrapFt ? 'pre-wrap' : undefined }}\n >{`${codeList.join('\\n')}`}</code>\n </pre>\n );\n};\n"],"names":["CodeRender","props","code","className","style","wrap","size","codeList","_isArray","codeRenderClassName","classNames","wrapFt","undefined","_jsx","children","whiteSpace","concat","join"],"mappings":";;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAQC,IAAI,GAAmCD,KAAK,CAA5CC,IAAI;IAAEC,SAAS,GAAwBF,KAAK,CAAtCE,SAAS;IAAEC,KAAK,GAAiBH,KAAK,CAA3BG,KAAK;IAAEC,IAAI,GAAWJ,KAAK,CAApBI,IAAI;IAAEC,IAAI,GAAKL,KAAK,CAAdK,IAAI;EAC1C,IAAMC,QAAQ,GAAIC,OAAA,CAAQN,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAW;AACzD,EAAA,IAAMO,mBAAmB,GAAGC,UAAU,CAAC,aAAa,EAAEP,SAAS,EAAE;IAC/D,mBAAmB,EAAEG,IAAI,KAAK;AAChC,GAAC,CAAC;AAEF,EAAA,IAAI,CAACL,KAAK,CAACC,IAAI,EAAE,OAAO,IAAI;EAE5B,IAAMS,MAAM,GAAGN,IAAI,KAAKO,SAAS,GAAG,IAAI,GAAGP,IAAI;AAE/C,EAAA,oBACEQ,GAAA,CAAA,KAAA,EAAA;AAAKV,IAAAA,SAAS,EAAEM,mBAAoB;AAACL,IAAAA,KAAK,EAAEA,KAAM;AAAAU,IAAAA,QAAA,eAChDD,GAAA,CAAA,MAAA,EAAA;AACET,MAAAA,KAAK,EAAE;AAAEW,QAAAA,UAAU,EAAEJ,MAAM,GAAG,UAAU,GAAGC;OAAY;MAAAE,QAAA,EAAA,EAAA,CAAAE,MAAA,CACpDT,QAAQ,CAACU,IAAI,CAAC,IAAI,CAAC;KAAS;AAAC,GAC/B,CAAC;AAEV;;;;"}
@@ -1 +1 @@
1
- .code-render{background-color:#f5f5f5;border-radius:4px;margin:0;padding:10px}
1
+ .code-render{background-color:#f5f5f5;border-radius:4px;color:#3d3d3d;font-size:14px;margin:0;padding:10px}.code-render-small{font-size:12px}
@@ -1,13 +1,17 @@
1
1
  import { CSSProperties } from 'react';
2
2
 
3
3
  export type CodeRenderProps = {
4
- code?: string;
4
+ code?: string | string[];
5
5
  className?: string;
6
6
  style?: CSSProperties;
7
+ /** 是否换行,默认值:true */
8
+ wrap?: boolean;
9
+ size?: "small" | "default";
7
10
  };
8
11
  /**
9
12
  * 代码、json格式化渲染
10
13
  * ```
14
+ * 1. wrap 是否换行,默认值:true
11
15
  * 例如:
12
16
  * // json数据渲染
13
17
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -30,6 +34,6 @@ return results;
30
34
  * ```
31
35
  *
32
36
  */
33
- export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element;
37
+ export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element | null;
34
38
 
35
39
  export {};
@@ -2,7 +2,8 @@
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
4
 
5
- export { C as CodeRender } from '../code-D9xbvmEX.js';
5
+ export { C as CodeRender } from '../code-6OasUxQG.js';
6
+ import '@dimjs/lang/is-array';
6
7
  import '../index-C6y8q2MK.js';
7
8
  import '../_commonjsHelpers-a3yINl_6.js';
8
9
  import 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -31,7 +31,7 @@ export type DragCollapseFormListProps = {
31
31
  /** 手风琴模式,只允许单个内容区域展开 */
32
32
  accordion?: boolean;
33
33
  /** 当前激活 tab 面板的key */
34
- activeKey?: number | number[];
34
+ activeKey?: (string | number)[];
35
35
  /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
36
36
  collapsible?: CollapseProps["collapsible"];
37
37
  /** 初始化选中面板的 key */
package/dist/index.d.ts CHANGED
@@ -843,13 +843,17 @@ export type CheckboxWrapperProps = Omit<CheckboxProps, "checked" | "defaultCheck
843
843
  */
844
844
  export declare const CheckboxWrapper: (props: CheckboxWrapperProps) => import("react").JSX.Element;
845
845
  export type CodeRenderProps = {
846
- code?: string;
846
+ code?: string | string[];
847
847
  className?: string;
848
848
  style?: CSSProperties;
849
+ /** 是否换行,默认值:true */
850
+ wrap?: boolean;
851
+ size?: "small" | "default";
849
852
  };
850
853
  /**
851
854
  * 代码、json格式化渲染
852
855
  * ```
856
+ * 1. wrap 是否换行,默认值:true
853
857
  * 例如:
854
858
  * // json数据渲染
855
859
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -872,7 +876,7 @@ return results;
872
876
  * ```
873
877
  *
874
878
  */
875
- export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element;
879
+ export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element | null;
876
880
  export type ColorPickerWrapperProps = Omit<ColorPickerProps, "value" | "onChange"> & {
877
881
  /** 格式:#1677ff */
878
882
  value?: string;
@@ -1500,7 +1504,7 @@ export type DragCollapseFormListProps = {
1500
1504
  /** 手风琴模式,只允许单个内容区域展开 */
1501
1505
  accordion?: boolean;
1502
1506
  /** 当前激活 tab 面板的key */
1503
- activeKey?: number | number[];
1507
+ activeKey?: (string | number)[];
1504
1508
  /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
1505
1509
  collapsible?: CollapseProps["collapsible"];
1506
1510
  /** 初始化选中面板的 key */
@@ -5037,6 +5041,8 @@ export interface ISearchMenuProps {
5037
5041
  wrapStyle?: CSSProperties;
5038
5042
  style?: CSSProperties;
5039
5043
  searchStyle?: CSSProperties;
5044
+ /** 搜索框自动聚焦 */
5045
+ searchAutoFocus?: boolean;
5040
5046
  /** 是否显示搜索区域 */
5041
5047
  showSearch?: boolean;
5042
5048
  }
package/dist/index.js CHANGED
@@ -156,7 +156,7 @@ export { C as CardWrapper } from './card-wrapper-C8YADYlW.js';
156
156
  export { C as CascaderWrapper } from './cascader-wrapper-CMYrmR6L.js';
157
157
  export { CheckList } from './check-list/index.js';
158
158
  export { C as CheckboxWrapper } from './checkbox-wrapper-BOIS5kIz.js';
159
- export { C as CodeRender } from './code-D9xbvmEX.js';
159
+ export { C as CodeRender } from './code-6OasUxQG.js';
160
160
  export { C as ColorPickerWrapper } from './color-picker-D8Tiiut0.js';
161
161
  export { C as ConfigProviderWrapper } from './config-provider-wrapper-C72dPUJZ.js';
162
162
  export { C as CopyWrapper } from './copy-BSlIwnwz.js';
@@ -238,7 +238,7 @@ export { R as RollLocationCenter } from './center-DgQUmnwe.js';
238
238
  export { R as RollLocationInView } from './in-view-XeG6cIRO.js';
239
239
  export { R as RuleDescribe } from './rule-describe-BkkX7ukt.js';
240
240
  export { S as SearchForm } from './search-BbKmdP-9.js';
241
- export { S as SearchMenu } from './search-menu-N7nz0XoH.js';
241
+ export { S as SearchMenu } from './search-menu-BEAe3rD_.js';
242
242
  export { S as SelectorWrapper } from './selector-wrapper-B5PUm15M.js';
243
243
  export { S as SelectorWrapperSearch } from './selector-wrapper-search-BMyOMlZl.js';
244
244
  export { S as SelectorWrapperSimple } from './selector-wrapper-simple-Vbt4cYNm.js';
@@ -63,7 +63,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
63
63
  loading = _useState6[0],
64
64
  setLoading = _useState6[1];
65
65
  var errorRef = useRef();
66
- var hiddenRequiredErrorRenderRef = useRef(true);
67
66
  var prevParams = fbaHooks.usePrevious(serviceConfig.params);
68
67
  var loadingSpinContent = getValueOrDefault(loadingSpinProps === null || loadingSpinProps === void 0 ? void 0 : loadingSpinProps.content, /*#__PURE__*/jsx("span", {}));
69
68
  var loadingSpinBgColor = getValueOrDefault(loadingSpinProps === null || loadingSpinProps === void 0 ? void 0 : loadingSpinProps.bgColor, 'rgba(0,0,0,0.01)');
@@ -129,7 +128,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
129
128
  console.error(error);
130
129
  setStatus('error');
131
130
  errorRef.current = error.message;
132
- hiddenRequiredErrorRenderRef.current = false;
133
131
  return $Try_1_Finally($Try_1_Post)();
134
132
  } catch ($boundEx) {
135
133
  return $Try_1_Finally($error)($boundEx);
@@ -143,7 +141,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
143
141
  _respData = $await_3;
144
142
  setStatus('success');
145
143
  setRespData(_respData);
146
- hiddenRequiredErrorRenderRef.current = false;
147
144
  return $Try_1_Finally($Try_1_Post)();
148
145
  } catch ($boundEx) {
149
146
  return $Try_1_Catch($boundEx);
@@ -189,7 +186,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
189
186
  };
190
187
  });
191
188
  if (!completeResult.complete) {
192
- if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {
189
+ if (!showRequiredError) {
193
190
  return /*#__PURE__*/jsx(Fragment, {});
194
191
  }
195
192
  return /*#__PURE__*/jsx(LocalLoadingCtxProvider, {
@@ -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 /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n /** 设置高度 */\n height?: number | string;\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 contentStyle,\n height,\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 const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\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={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","contentStyle","height","_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","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","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 height?: number | string;\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 contentStyle,\n height,\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\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 } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\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 (!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 const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\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={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","contentStyle","height","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","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","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":";;;;;;;;;;;;;;;;;;AAGO,IAAAA,UAAA,GAAsDC,SAAA,EAEzD;EAAAC,WAAA,GAAAC,cAAA,CAAAH,UAAA,EAAA,CAAA,CAAA;AAFUI,EAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEG,EAAAA,uBAAuB,GAAAH,WAAA,CAAA,CAAA,CAAA;;ACsEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMI,iBAAiB,gBAAGC,UAAU,CAGzC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAChB,EAAA,IACEC,aAAa,GAUXF,KAAK,CAVPE,aAAa;IACbC,OAAO,GASLH,KAAK,CATPG,OAAO;IACPC,QAAQ,GAQNJ,KAAK,CARPI,QAAQ;IACRC,WAAW,GAOTL,KAAK,CAPPK,WAAW;IACXC,gBAAgB,GAMdN,KAAK,CANPM,gBAAgB;IAChBC,WAAW,GAKTP,KAAK,CALPO,WAAW;IACXC,iBAAiB,GAIfR,KAAK,CAJPQ,iBAAiB;IACjBC,aAAa,GAGXT,KAAK,CAHPS,aAAa;IACbC,YAAY,GAEVV,KAAK,CAFPU,YAAY;IACZC,MAAM,GACJX,KAAK,CADPW,MAAM;AAER,EAAA,IAAAC,SAAA,GAA4BC,QAAQ,CAElC,MAAM,CAAC;IAAAC,UAAA,GAAAnB,cAAA,CAAAiB,SAAA,EAAA,CAAA,CAAA;AAFFG,IAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAGxB,EAAA,IAAAG,UAAA,GAAgCJ,QAAQ,EAAQ;IAAAK,UAAA,GAAAvB,cAAA,CAAAsB,UAAA,EAAA,CAAA,CAAA;AAAzCE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMG,aAAa,GACjBrB,KAAK,CAACqB,aAAa,KAAKC,SAAS,GAAG,GAAG,GAAGtB,KAAK,CAACqB,aAAa;AAC/D,EAAA,IAAAE,UAAA,GAA8BV,QAAQ,CAAU,KAAK,CAAC;IAAAW,UAAA,GAAA7B,cAAA,CAAA4B,UAAA,EAAA,CAAA,CAAA;AAA/CE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAMG,QAAQ,GAAGC,MAAM,EAAU;EAEjC,IAAMC,UAAU,GAAGC,QAAQ,CAACC,WAAW,CAAC7B,aAAa,CAAC8B,MAAM,CAAC;AAE7D,EAAA,IAAMC,kBAAkB,GAAGC,iBAAiB,CAC1C5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE6B,OAAO,eACzBC,GAAA,CAAA,MAAA,EAAA,EAAO,CACT,CAAC;AACD,EAAA,IAAMC,kBAAkB,GAAGH,iBAAiB,CAC1C5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEgC,OAAO,EACzB,kBACF,CAAC;AACD,EAAA,IAAMC,cAAc,GAAGL,iBAAiB,CAAC5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEkC,GAAG,EAAE,SAAS,CAAC;EAE1E,IAAMC,iBAAiB,GAAGlC,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEkC,iBAAiB;;AAExD;AACA,EAAA,IAAMC,aAAa,GAAGC,OAAO,CAAC,YAAM;AAAA,IAAA,IAAAC,qBAAA;AAClC,IAAA,IACE,CAAC1C,aAAa,CAAC8B,MAAM,IACrBa,OAAO,CAAC3C,aAAa,CAAC4C,eAAe,CAAC,CAACC,MAAM,KAAK,CAAC,EACnD;MACA,OAAO7C,aAAa,CAAC8B,MAAM;AAC7B,IAAA;AACA,IAAA,IAAMgB,SAAS,GAAAC,cAAA,KAAQ/C,aAAa,CAAC8B,MAAM,CAAE;AAC7C,IAAA,CAAAY,qBAAA,GAAA1C,aAAa,CAAC4C,eAAe,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,IAA7BA,qBAAA,CAA+BM,OAAO,CAAC,UAACC,GAAG,EAAK;AAC9CH,MAAAA,SAAS,CAACG,GAAG,CAAC,GAAG7B,SAAS;AAC5B,IAAA,CAAC,CAAC;AACF,IAAA,OAAO0B,SAAS;AAClB,EAAA,CAAC,EAAE,CAAC9C,aAAa,CAAC,CAAC;;AAEnB;EACA,IAAMkD,8BAA8B,GAAGC,KAAA,CAAMC,cAAc,CACzD,UAACtB,MAAqB,EAAK;IACzB,IAAMuB,IAAI,GAAGrD,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEsD,kBAAkB;AAC9C,IAAA,IAAID,IAAI,KAAA,IAAA,IAAJA,IAAI,eAAJA,IAAI,CAAER,MAAM,EAAE;MAChB,IAAMU,MAAM,GAAGF,IAAI,CAACG,IAAI,CAAC,UAACC,IAAI,EAAK;QACjC,OAAOC,iBAAiB,CAAC5B,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAG2B,IAAI,CAAC,CAAC;AAC1C,MAAA,CAAC,CAAC;AACF,MAAA,IAAIF,MAAM,EAAE;QACV,OAAO;AACLI,UAAAA,QAAQ,EAAE,KAAK;UACfC,OAAO,EACLrB,iBAAiB,IAAA,oEAAA,CAAAsB,MAAA,CACOR,IAAI,CAACS,IAAI,CAAC,GAAG,CAAC;SACzC;AACH,MAAA;AACF,IAAA;IACA,OAAO;AAAEH,MAAAA,QAAQ,EAAE;KAAM;AAC3B,EAAA,CACF,CAAC;AAED,EAAA,IAAMI,cAAc,GAAGtB,OAAO,CAAC,YAAM;AACnC,IAAA,OAAOS,8BAA8B,CAAClD,aAAa,CAAC8B,MAAM,CAAC;EAC7D,CAAC,EAAE,CAACoB,8BAA8B,EAAElD,aAAa,CAAC8B,MAAM,CAAC,CAAC;AAE1D,EAAA,IAAMkC,aAAa,GAAG,SAAhBA,aAAaA,CAAUlC,MAAqB,EAAA;AAA5B,IAAA,OAAA,IAAAmC,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;MAAA,IAAAC,cAAA,GAtKxB,UAAAC,WAAA,EAAA;QAAA,OAAC,UAAAC,YAAA,EAAkB;UAAnB,IAAI;YAkLE9C,UAAU,CAAC,KAAK,CAAC;YAlLwF,OAAO6C,WAAA,IAAUA,WAAA,CAAME,IAAI,CAAC,IAAI,EAAAD,YAAQ,CAAE;UAAjJ,CAAC,CAAC,OAAAE,QAAA,EAAU;YAAC,OAAOL,MAAA,CAAAK,QAAK,CAAC;AAAA,UAAA;AAAgI,QAAA,CAAC,CAAhKC,IAAI,CAAC,IAAI,CAAC;MAAA,CAAA,CAAVA,IAAI,CAAC,IAAI,CAAC;MAAA,IAwKDC,UAA4C,EAE5CC,SAAoD;MA1KhE,IAAIC,WAAA,eAAA;QAAJ,IAAI;AAAA,UAAA,OAAAV,OAAA,EAAA;QAAI,CAAC,CAAC,OAAAM,QAAA,EAAU;UAAC,OAAOL,MAAA,CAAAK,QAAK,CAAC;AAAA,QAAA;MAAC,CAAxB;AAAX,MAAA,IAAIK,YAAA,GAAA,UA6KSC,KAAW,EAAE;QA7K1B,IAAI;AA8KEC,UAAAA,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;UACpBhE,SAAS,CAAC,OAAO,CAAC;AAClBW,UAAAA,QAAQ,CAACuD,OAAO,GAAGF,KAAK,CAAClB,OAAO;AAhLtC,UAAA,OAAOQ,cAAA,CAAAQ,WAAA,CAAA,EAAI;QAAH,CAAC,CAAC,OAAAJ,QAAA,EAAU;AAAC,UAAA,OAAOJ,cAAA,CAAAD,MAAA,CAAA,CAAAK,QAAK,CAAC;AAAA,QAAA;MAiL9B,CAjLO;MAuKP,IAAI;AACIE,QAAAA,UAAU,GAAA3B,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAQP,aAAa,GAAKV,MAAM,CAAA;QAChDN,UAAU,CAAC,IAAI,CAAC;AACC,QAAA,OAAAyC,OAAA,CAAAgB,OAAA,CAAMjF,aAAa,CAACkF,SAAS,CAACR,UAAU,CAAC,CAAA,CAAzCS,IAAyC,WAAAC,QAAA,EAAA;UA1KhE,IAAI;AA0KQnE,YAAAA,SAAQ,GAAGmE,QAAyC;YAC1DtE,SAAS,CAAC,SAAS,CAAC;YACpBI,WAAW,CAACD,SAAQ,CAAC;AA5K3B,YAAA,OAAOmD,cAAA,CAAAQ,WAAA,CAAA,EAAI;UAAH,CAAC,CAAC,OAAAJ,QAAA,EAAU;YAAC,OAAOK,YAAA,CAAAL,QAAK,CAAC;AAAA,UAAA;AAAC,QAAA,CAAA,EAAAK,YAAA,CAAA;MA6K/B,CAAC,CAAC,OAAOC,KAAW,EAAE;AAAAD,QAAAA,YAAA,CAAbC,KAAW;AAIpB,MAAA;AAEC,IAAA,CAAA,CAAA;AACF,EAAA,CAAA;EAEDlD,QAAQ,CAACyD,oBAAoB,CAAC,YAAA;AAAA,IAAA,OAAA,IAAApB,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;MAC5B,IAAIJ,cAAc,CAACJ,QAAQ,EAAE;QAC3B,OAAAM,OAAA,CAAAgB,OAAA,CAAMjB,aAAa,EAAE,CAAA,CAArBmB,IAAqB,CAxL3B,UAAAG,QAAA,EAAA;UAAA,IAAI;AAAA,YAAA,OAAJC,KAAA,CAAGhB,IAAI,CAAA,IAAG,CAAC;UAAH,CAAC,CAAC,OAAAC,QAAA,EAAU;YAAC,OAAOL,MAAA,CAAAK,QAAK,CAAC;AAAA,UAAA;AAAC,QAAA,CAAA,CAAhCC,IAAI,CAAC,IAAI,CAAC,EAAAN,MAAA,CAAA;AAyLT,MAAA;AAAC,MAAA,SAAAoB,KAAAA,GAAA;AAAA,QAAA,OAAArB,OAAA,EAAA;AAAA,MAAA;AAAA,MAAA,OAzLLqB,KAAA,CAAGhB,IAAI,CAAA,IAAG,CAAC;AAAA,IAAA,CAAA,CAAA;AA0LR,EAAA,CAAA,EAAE,EAAE,CAAC;EAEN3C,QAAQ,CAAC4D,eAAe,CAAC,YAAM;IAC7B,IAAIzB,cAAc,CAACJ,QAAQ,EAAE;AAC3B,MAAA,IAAIhC,UAAU,EAAE;QACd,IAAI,CAAC8D,WAAA,CAAYzF,aAAa,CAAC8B,MAAM,EAAEH,UAAU,CAAC,EAAE;UAClD,IAAId,MAAM,KAAK,OAAO,EAAE;YACtBC,SAAS,CAAC,MAAM,CAAC;AACnB,UAAA;UACA,KAAKkD,aAAa,EAAE;AACtB,QAAA;AACF,MAAA;AACF,IAAA;EACF,CAAC,EAAE,CAACrC,UAAU,EAAE3B,aAAa,CAAC8B,MAAM,CAAC,CAAC;EAEtC4D,mBAAmB,CAAC3F,GAAG,EAAE,YAAM;IAC7B,OAAO;AAAE4F,MAAAA,SAAS,EAAE3B;KAAe;AACrC,EAAA,CAAC,CAAC;AAEF,EAAA,IAAI,CAACD,cAAc,CAACJ,QAAQ,EAAE;IAC5B,IAAI,CAACrD,iBAAiB,EAAE;AACtB,MAAA,oBAAO4B,GAAA,CAAC0D,QAAQ,EAAA,EAAE,CAAC;AACrB,IAAA;IACA,oBACE1D,GAAA,CAACvC,uBAAuB,EAAA;AAACkG,MAAAA,KAAK,EAAE;AAAEX,QAAAA,SAAS,EAAElB;OAAgB;AAAA9D,MAAAA,QAAA,eAC3D4F,IAAA,CAAA,KAAA,EAAA;QAAKC,SAAS,EAAEC,UAAA,CAAW,qBAAqB,EAAElG,KAAK,CAACiG,SAAS,CAAE;AAAA7F,QAAAA,QAAA,gBACjEgC,GAAA,CAAA,KAAA,EAAA;AAAK6D,UAAAA,SAAS,EAAC;AAAoB,SAAM,CAAC,eAC1C7D,GAAA,CAAC+D,MAAM,EAAA;AAACpF,UAAAA,MAAM,EAAC,OAAO;UAACqF,QAAQ,EAAEnC,cAAc,CAACH;AAAQ,SAAE,CAAC;OACxD;AAAC,KACiB,CAAC;AAE9B,EAAA;EAEA,IAAI/C,MAAM,KAAK,OAAO,EAAE;AACtB,IAAA,IAAIV,WAAW,EAAE;AACf,MAAA,OAAOA,WAAW,CAAC;QAAEyD,OAAO,EAAEnC,QAAQ,CAACuD;AAAQ,OAAC,CAAC;AACnD,IAAA;IACA,oBACE9C,GAAA,CAACvC,uBAAuB,EAAA;AAACkG,MAAAA,KAAK,EAAE;AAAEX,QAAAA,SAAS,EAAElB;OAAgB;AAAA9D,MAAAA,QAAA,eAC3D4F,IAAA,CAAA,KAAA,EAAA;QAAKC,SAAS,EAAEC,UAAA,CAAW,qBAAqB,EAAElG,KAAK,CAACiG,SAAS,CAAE;AAAA7F,QAAAA,QAAA,gBACjEgC,GAAA,CAAA,KAAA,EAAA;AAAK6D,UAAAA,SAAS,EAAC;AAAoB,SAAM,CAAC,eAC1C7D,GAAA,CAAC+D,MAAM,EAAA;AACLpF,UAAAA,MAAM,EAAC,OAAO;AACdqF,UAAAA,QAAQ,EAAEzE,QAAQ,CAACuD,OAAO,IAAI,QAAS;AACvCmB,UAAAA,KAAK,EAAE,cACLjE,GAAA,CAACkE,MAAM,EAAA;AACLC,YAAAA,IAAI,EAAC,SAAS;YACdC,KAAK,EAAA,IAAA;AAELC,YAAAA,IAAI,EAAC,OAAO;AACZC,YAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;cACb1F,SAAS,CAAC,MAAM,CAAC;cACjB,KAAKkD,aAAa,EAAE;YACtB,CAAE;AAAA9D,YAAAA,QAAA,EACH;AAED,WAAA,EARM,SAQE,CAAC;AACT,SACH,CAAC;OACC;AAAC,KACiB,CAAC;AAE9B,EAAA;AAEA,EAAA,IAAIW,MAAM,KAAK,SAAS,IAAI,CAACZ,OAAO,EAAE;AACpC,IAAA,oBACEiC,GAAA,CAAA,KAAA,EAAA;MACE6D,SAAS,EAAEC,UAAA,CAAW,2BAA2B,EAAElG,KAAK,CAACiG,SAAS,CAAE;AACpEU,MAAAA,KAAK,EAAE;AACLhG,QAAAA,MAAM,EAAEU,aAAa;AACrBuF,QAAAA,OAAO,EAAE,MAAM;AACfC,QAAAA,cAAc,EAAE,QAAQ;AACxBC,QAAAA,QAAQ,EAAE,UAAU;AACpBC,QAAAA,eAAe,EAAE;OACjB;MAAA3G,QAAA,eAEFgC,GAAA,CAAC4E,IAAI,EAAA;AACHC,QAAAA,QAAQ,EAAExF,OAAQ;AAClBe,QAAAA,GAAG,EAAED,cAAe;AACpB2E,QAAAA,gBAAgB,EAAC,4BAA4B;AAC7CjB,QAAAA,SAAS,EAAC,oBAAoB;AAC9BU,QAAAA,KAAK,EACH;AACE,UAAA,8BAA8B,EAAEtE;SAEnC;AAAAjC,QAAAA,QAAA,EAEA6B;OACG;AAAC,KACJ,CAAC;AAEV,EAAA;AAEA,EAAA,IAAMgE,SAAS,GAAGC,UAAA,CAChB,mBAAmB,EACnB;AAAE,IAAA,oBAAoB,EAAEzF;AAAc,GAAC,EACvCT,KAAK,CAACiG,SACR,CAAC;EAED,IAAMkB,SAAS,GAAAlE,cAAA,CAAA;AAAKtC,IAAAA,MAAM,EAANA;GAAM,EAAKX,KAAK,CAAC2G,KAAK,CAAE;EAE5C,oBACEvE,GAAA,CAACvC,uBAAuB,EAAA;AAACkG,IAAAA,KAAK,EAAE;AAAEX,MAAAA,SAAS,EAAElB;KAAgB;AAAA9D,IAAAA,QAAA,eAC3D4F,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAEA,SAAU;AAACU,MAAAA,KAAK,EAAEQ,SAAU;AAAA/G,MAAAA,QAAA,EAAA,CACzCqB,OAAO,gBACNW,GAAA,CAAC4E,IAAI,EAAA;AACHC,QAAAA,QAAQ,EAAExF,OAAQ;AAClBe,QAAAA,GAAG,EAAED,cAAe;AACpB2E,QAAAA,gBAAgB,EAAC,4BAA4B;AAC7CjB,QAAAA,SAAS,EAAC,oBAAoB;AAC9BU,QAAAA,KAAK,EACH;AACE,UAAA,8BAA8B,EAAEtE;SAEnC;AAAAjC,QAAAA,QAAA,EAEA6B;AAAkB,OACf,CAAC,GACL,IAAI,eACRG,GAAA,CAAA,KAAA,EAAA;AAAK6D,QAAAA,SAAS,EAAC,uBAAuB;AAACU,QAAAA,KAAK,EAAEjG,YAAa;QAAAN,QAAA,EACxDA,QAAQ,CAACe,QAAQ;AAAC,OAChB,CAAC;KACH;AAAC,GACiB,CAAC;AAE9B,CAAC,CAAC;;AClTF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMiG,YAAY,GAAGC,QAAQ,CAACC,2BAA2B,CAC9DxH,iBAAiB,EACjB;AACEyH,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAQ;AACrB,IAAA,IAAMC,GAAG,GAAG5H,kBAAkB,EAAE;IAChC,OAAO;AACLwF,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGpD,MAAqB,EAAK;AACpCwF,QAAAA,GAAG,CAACpC,SAAS,CAACpD,MAAM,CAAC;AACvB,MAAA;KACD;AACH,EAAA;AACF,CACF;;;;"}
@@ -33,6 +33,8 @@ export interface ISearchMenuProps {
33
33
  wrapStyle?: CSSProperties;
34
34
  style?: CSSProperties;
35
35
  searchStyle?: CSSProperties;
36
+ /** 搜索框自动聚焦 */
37
+ searchAutoFocus?: boolean;
36
38
  /** 是否显示搜索区域 */
37
39
  showSearch?: boolean;
38
40
  }
@@ -5,7 +5,7 @@ import './../roll-location-center/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
7
 
8
- export { S as SearchMenu } from '../search-menu-N7nz0XoH.js';
8
+ export { S as SearchMenu } from '../search-menu-BEAe3rD_.js';
9
9
  import '@dimjs/utils/class-names/class-names';
10
10
  import '@wove/react/hooks';
11
11
  import '../_rollupPluginBabelHelpers-BspM60Sw.js';
@@ -69,6 +69,7 @@ function SearchMenu(props) {
69
69
  searchStyle = props.searchStyle,
70
70
  emptyView = props.emptyView,
71
71
  showSearch = props.showSearch,
72
+ searchAutoFocus = props.searchAutoFocus,
72
73
  size = props.size;
73
74
  var _useState = useState([]),
74
75
  _useState2 = _slicedToArray(_useState, 2),
@@ -152,7 +153,8 @@ function SearchMenu(props) {
152
153
  onSearch: lazySearch ? handleSearch : undefined,
153
154
  onChange: !lazySearch ? handleWordChange : undefined,
154
155
  placeholder: placeholder || '请输入搜索关键词',
155
- allowClear: true
156
+ allowClear: true,
157
+ autoFocus: searchAutoFocus
156
158
  }), !!props.searchExtraElement && /*#__PURE__*/jsx("div", {
157
159
  className: "v-search-menu-search-extra",
158
160
  children: props.searchExtraElement
@@ -168,4 +170,4 @@ function SearchMenu(props) {
168
170
  }
169
171
 
170
172
  export { SearchMenu as S };
171
- //# sourceMappingURL=search-menu-N7nz0XoH.js.map
173
+ //# sourceMappingURL=search-menu-BEAe3rD_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-menu-BEAe3rD_.js","sources":["@flatbiz/antd/src/search-menu/list-view/index.tsx","@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { type CSSProperties, type FC, type ReactElement } from 'react';\nimport { Empty } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { RollLocationCenter } from '../../roll-location-center/index.js';\nimport { type IListViewItem } from '../type.js';\nimport './style.less';\n\nexport interface IListViewProps {\n dataList: IListViewItem[];\n value?: string;\n onChange?: (key: string, item: IListViewItem) => void;\n style?: CSSProperties;\n /** 自定义空数据提示 */\n emptyView?: ReactElement;\n}\n\n/**\n * 搜索列表\n * @param props\n * @returns search menu list view\n */\nexport const ListView: FC<IListViewProps> = (props) => {\n const { value, dataList, onChange, style, emptyView } = props;\n // 数据判空提示\n if (!dataList?.length) {\n return emptyView ? (\n <>{emptyView}</>\n ) : (\n <Empty\n style={{\n marginTop: '40px',\n }}\n description=\"暂无数据\"\n />\n );\n }\n\n return (\n <ul className=\"v-search-menu-list-view\" style={style}>\n <RollLocationCenter\n activeKey={props.value}\n renderList={dataList.map((item) => {\n return {\n activeKey: item.key,\n render: (\n <li\n className={classNames('v-search-menu-list-view-item', {\n 'v-search-menu-list-view-item-active': value == item.key,\n })}\n key={item.key}\n onClick={onChange?.bind(null, item.key, item)}\n >\n {item.label}\n </li>\n ),\n };\n })}\n />\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { type TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { InputSearchWrapper } from '../input-search-wrapper/index.js';\nimport { type IListViewProps, ListView } from './list-view/index.jsx';\nimport { type ISearchMenuProps } from './type.js';\nimport './style.less';\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(\n props: ISearchMenuProps & Pick<IListViewProps, 'emptyView'>\n) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n searchStyle,\n emptyView,\n showSearch,\n searchAutoFocus,\n size,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length\n ? searchKeyList\n : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const listViewData = useMemo(() => {\n const { label, key } = mergeFormatOption;\n return listFilter?.map((item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n };\n });\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 还原列表\n setListFilter(dataSource);\n return;\n }\n // 根据搜索次过滤\n const resList = dataSource.filter((item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n });\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击条目\n */\n const onClick = hooks.useCallbackRef((key) => {\n const targetItem = dataSource.find((item) =>\n valueIsEqual(key, item[mergeFormatOption.key])\n );\n onChange?.(key, targetItem);\n });\n\n const cname = classNames(className, 'v-search-menu', {\n 'v-search-menu-small': size === 'small',\n });\n\n return (\n <div style={wrapStyle} className={cname}>\n {showSearch !== false ? (\n <div className=\"v-search-menu-search-area\" style={searchStyle}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n autoFocus={searchAutoFocus}\n />\n {!!props.searchExtraElement && (\n <div className=\"v-search-menu-search-extra\">\n {props.searchExtraElement}\n </div>\n )}\n </div>\n ) : null}\n <ListView\n style={style}\n value={value}\n dataList={listViewData}\n onChange={onClick}\n emptyView={emptyView}\n />\n </div>\n );\n}\n"],"names":["ListView","props","value","dataList","onChange","style","emptyView","length","_jsx","_Fragment","children","Empty","marginTop","description","className","RollLocationCenter","activeKey","renderList","map","item","key","render","_classNames","onClick","bind","label","SearchMenu","dataSource","searchKeyList","wrapStyle","placeholder","fieldNames","renderItem","lazySearch","searchStyle","showSearch","searchAutoFocus","size","_useState","useState","_useState2","_slicedToArray","listFilter","setListFilter","mergeFormatOption","useMemo","_objectSpread","targetSearchKeyList","listViewData","fbaHooks","useEffectCustom","handleSearch","searchWord","resList","filter","find","_item$key","includes","handleWordChange","e","target","_hooks","useCallbackRef","targetItem","valueIsEqual","cname","_jsxs","InputSearchWrapper","onSearch","undefined","allowClear","autoFocus","searchExtraElement"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.48",
3
+ "version": "5.0.49",
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":"code-D9xbvmEX.js","sources":["@flatbiz/antd/src/code-render/code.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport './style.less';\n\nexport type CodeRenderProps = {\n code?: string;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 代码、json格式化渲染\n * ```\n * 例如:\n * // json数据渲染\n * <CodeWrapper code={JSON.stringify(data, null, 2)}/>\n * \n * // 代码渲染\n * <CodeWrapper code={`def results=[];\ndef datas=表单字段.dataList;\nfor index,data in datas do\n def item = [\n 'a':data.DomainName,\n 'b':data.Owner,\n 'userName': 流程参数.发起人账号\n ];\n results = results+item;\nend\nreturn results;\n` \n}/>\n *\n * ```\n *\n */\nexport const CodeRender = (props: CodeRenderProps) => {\n const { code, className, style } = props;\n return (\n <pre className={classNames('code-render', className)} style={style}>\n <code>{code}</code>\n </pre>\n );\n};\n"],"names":["CodeRender","props","code","className","style","_jsx","classNames","children"],"mappings":";;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAQC,IAAI,GAAuBD,KAAK,CAAhCC,IAAI;IAAEC,SAAS,GAAYF,KAAK,CAA1BE,SAAS;IAAEC,KAAK,GAAKH,KAAK,CAAfG,KAAK;AAC9B,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAEG,UAAU,CAAC,aAAa,EAAEH,SAAS,CAAE;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAG,IAAAA,QAAA,eACjEF,GAAA,CAAA,MAAA,EAAA;AAAAE,MAAAA,QAAA,EAAOL;KAAW;AAAC,GAChB,CAAC;AAEV;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-menu-N7nz0XoH.js","sources":["@flatbiz/antd/src/search-menu/list-view/index.tsx","@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { type CSSProperties, type FC, type ReactElement } from 'react';\nimport { Empty } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { RollLocationCenter } from '../../roll-location-center/index.js';\nimport { type IListViewItem } from '../type.js';\nimport './style.less';\n\nexport interface IListViewProps {\n dataList: IListViewItem[];\n value?: string;\n onChange?: (key: string, item: IListViewItem) => void;\n style?: CSSProperties;\n /** 自定义空数据提示 */\n emptyView?: ReactElement;\n}\n\n/**\n * 搜索列表\n * @param props\n * @returns search menu list view\n */\nexport const ListView: FC<IListViewProps> = (props) => {\n const { value, dataList, onChange, style, emptyView } = props;\n // 数据判空提示\n if (!dataList?.length) {\n return emptyView ? (\n <>{emptyView}</>\n ) : (\n <Empty\n style={{\n marginTop: '40px',\n }}\n description=\"暂无数据\"\n />\n );\n }\n\n return (\n <ul className=\"v-search-menu-list-view\" style={style}>\n <RollLocationCenter\n activeKey={props.value}\n renderList={dataList.map((item) => {\n return {\n activeKey: item.key,\n render: (\n <li\n className={classNames('v-search-menu-list-view-item', {\n 'v-search-menu-list-view-item-active': value == item.key,\n })}\n key={item.key}\n onClick={onChange?.bind(null, item.key, item)}\n >\n {item.label}\n </li>\n ),\n };\n })}\n />\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { type TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { InputSearchWrapper } from '../input-search-wrapper/index.js';\nimport { type IListViewProps, ListView } from './list-view/index.jsx';\nimport { type ISearchMenuProps } from './type.js';\nimport './style.less';\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(\n props: ISearchMenuProps & Pick<IListViewProps, 'emptyView'>\n) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n searchStyle,\n emptyView,\n showSearch,\n size,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length\n ? searchKeyList\n : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const listViewData = useMemo(() => {\n const { label, key } = mergeFormatOption;\n return listFilter?.map((item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n };\n });\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 还原列表\n setListFilter(dataSource);\n return;\n }\n // 根据搜索次过滤\n const resList = dataSource.filter((item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n });\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击条目\n */\n const onClick = hooks.useCallbackRef((key) => {\n const targetItem = dataSource.find((item) =>\n valueIsEqual(key, item[mergeFormatOption.key])\n );\n onChange?.(key, targetItem);\n });\n\n const cname = classNames(className, 'v-search-menu', {\n 'v-search-menu-small': size === 'small',\n });\n\n return (\n <div style={wrapStyle} className={cname}>\n {showSearch !== false ? (\n <div className=\"v-search-menu-search-area\" style={searchStyle}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n />\n {!!props.searchExtraElement && (\n <div className=\"v-search-menu-search-extra\">\n {props.searchExtraElement}\n </div>\n )}\n </div>\n ) : null}\n <ListView\n style={style}\n value={value}\n dataList={listViewData}\n onChange={onClick}\n emptyView={emptyView}\n />\n </div>\n );\n}\n"],"names":["ListView","props","value","dataList","onChange","style","emptyView","length","_jsx","_Fragment","children","Empty","marginTop","description","className","RollLocationCenter","activeKey","renderList","map","item","key","render","_classNames","onClick","bind","label","SearchMenu","dataSource","searchKeyList","wrapStyle","placeholder","fieldNames","renderItem","lazySearch","searchStyle","showSearch","size","_useState","useState","_useState2","_slicedToArray","listFilter","setListFilter","mergeFormatOption","useMemo","_objectSpread","targetSearchKeyList","listViewData","fbaHooks","useEffectCustom","handleSearch","searchWord","resList","filter","find","_item$key","includes","handleWordChange","e","target","_hooks","useCallbackRef","targetItem","valueIsEqual","cname","_jsxs","InputSearchWrapper","onSearch","undefined","allowClear","searchExtraElement"],"mappings":"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"}