@flatbiz/antd 4.4.12 → 4.4.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm/ace-editor-groovy/index.js +1 -1
  2. package/esm/ace-editor-groovy/index.js.map +1 -1
  3. package/esm/ace-editor-java/index.js +1 -1
  4. package/esm/ace-editor-java/index.js.map +1 -1
  5. package/esm/ace-editor-json/index.js +1 -1
  6. package/esm/ace-editor-json/index.js.map +1 -1
  7. package/esm/ace-editor-mysql/index.js +1 -1
  8. package/esm/ace-editor-mysql/index.js.map +1 -1
  9. package/esm/ace-editor-xml/index.js +1 -1
  10. package/esm/ace-editor-xml/index.js.map +1 -1
  11. package/esm/date-picker-wrapper/index.js +1 -1
  12. package/esm/date-picker-wrapper/index.js.map +1 -1
  13. package/esm/date-range-picker-wrapper/index.js +1 -1
  14. package/esm/date-range-picker-wrapper/index.js.map +1 -1
  15. package/esm/date-range-picker-wrapper-form-item/index.js +2 -1
  16. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  17. package/esm/drag-form-list/index.css +1 -1
  18. package/esm/drag-form-list/index.js +4 -1
  19. package/esm/drag-form-list/index.js.map +1 -1
  20. package/esm/easy-form/index.js +2 -1
  21. package/esm/easy-form/index.js.map +1 -1
  22. package/esm/easy-table/index.js +5 -2
  23. package/esm/easy-table/index.js.map +1 -1
  24. package/esm/file-export/index.js +1 -1
  25. package/esm/file-export/index.js.map +1 -1
  26. package/esm/file-import/index.js.map +1 -1
  27. package/esm/form-item-text/index.js +2 -1
  28. package/esm/form-item-text/index.js.map +1 -1
  29. package/esm/form-item-wrapper/index.css +1 -0
  30. package/esm/form-item-wrapper/index.js +2 -1
  31. package/esm/form-item-wrapper/index.js.map +1 -1
  32. package/esm/form-list-wrapper/index.js +4 -1
  33. package/esm/form-list-wrapper/index.js.map +1 -1
  34. package/esm/form-wrapper/index.css +1 -0
  35. package/esm/form-wrapper/index.js +2 -1
  36. package/esm/form-wrapper/index.js.map +1 -1
  37. package/esm/index.js +5 -4
  38. package/esm/modal-action/index.js.map +1 -1
  39. package/esm/pre-defined-class-name/index.js +1 -1
  40. package/esm/pre-defined-class-name/index.js.map +1 -1
  41. package/esm/upload-wrapper/index.js.map +1 -1
  42. package/index.d.ts +235 -77
  43. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -21,7 +21,7 @@ import { IAceEditorProps } from 'react-ace';
21
21
  import { SplitProps } from 'react-split';
22
22
  import { Editor as TinyMCEEditor } from 'tinymce';
23
23
 
24
- export type AceEditorGroovyProps = Omit<IAceEditorProps, "onLoad" | "mode" | "value" | "onChange" | "theme"> & {
24
+ export type AceEditorGroovyProps = Omit<IAceEditorProps, "mode" | "value" | "onChange" | "theme"> & {
25
25
  /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */
26
26
  height?: string;
27
27
  value?: string | TPlainObject | TPlainObject[];
@@ -53,7 +53,7 @@ export type AceEditorGroovyProps = Omit<IAceEditorProps, "onLoad" | "mode" | "va
53
53
  * ```
54
54
  */
55
55
  export declare const AceEditorGroovy: (props: AceEditorGroovyProps) => import("react/jsx-runtime").JSX.Element;
56
- export type AceEditorJavaProps = Omit<IAceEditorProps, "onLoad" | "mode" | "value" | "onChange" | "theme"> & {
56
+ export type AceEditorJavaProps = Omit<IAceEditorProps, "mode" | "value" | "onChange" | "theme"> & {
57
57
  /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */
58
58
  height?: string;
59
59
  value?: string | TPlainObject | TPlainObject[];
@@ -85,7 +85,7 @@ export type AceEditorJavaProps = Omit<IAceEditorProps, "onLoad" | "mode" | "valu
85
85
  * ```
86
86
  */
87
87
  export declare const AceEditorJava: (props: AceEditorJavaProps) => import("react/jsx-runtime").JSX.Element;
88
- export type AceEditorJsonProps = Omit<IAceEditorProps, "onLoad" | "mode" | "value" | "onChange" | "theme"> & {
88
+ export type AceEditorJsonProps = Omit<IAceEditorProps, "mode" | "value" | "onChange" | "theme"> & {
89
89
  /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */
90
90
  height?: string;
91
91
  value?: string | TPlainObject | TPlainObject[];
@@ -122,7 +122,7 @@ export type AceEditorJsonProps = Omit<IAceEditorProps, "onLoad" | "mode" | "valu
122
122
  * ```
123
123
  */
124
124
  export declare const AceEditorJson: (props: AceEditorJsonProps) => import("react/jsx-runtime").JSX.Element;
125
- export type AceEditorMysqlProps = Omit<IAceEditorProps, "onLoad" | "theme" | "mode" | "value" | "onChange"> & {
125
+ export type AceEditorMysqlProps = Omit<IAceEditorProps, "theme" | "mode" | "value" | "onChange"> & {
126
126
  /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */
127
127
  height?: string;
128
128
  value?: string;
@@ -147,7 +147,7 @@ export type AceEditorMysqlProps = Omit<IAceEditorProps, "onLoad" | "theme" | "mo
147
147
  footerStyle?: CSSProperties;
148
148
  };
149
149
  export declare const AceEditorMysql: (props: AceEditorMysqlProps) => import("react/jsx-runtime").JSX.Element;
150
- export type AceEditorXmlProps = Omit<IAceEditorProps, "onLoad" | "mode" | "value" | "onChange" | "theme"> & {
150
+ export type AceEditorXmlProps = Omit<IAceEditorProps, "mode" | "value" | "onChange" | "theme"> & {
151
151
  /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */
152
152
  height?: string;
153
153
  value?: string | TPlainObject | TPlainObject[];
@@ -861,6 +861,7 @@ export declare const DataRender: (props: DataRenderProps) => import("react/jsx-r
861
861
  export type TDayjsDateType = "YYYY-MM-DD HH:mm:ss" | "YYYY-MM-DD HH:mm" | "YYYY-MM-DD HH" | "YYYY-MM-DD" | (string & {});
862
862
  export type TDayjsTimeType = "HH:mm:ss" | "HH:mm" | "HH" | "mm:ss" | "mm" | "ss" | (string & {});
863
863
  export type DatePickerWrapperProps = Omit<PickerDateProps<TAny>, "value" | "onChange" | "format"> & {
864
+ /** 默认格式为 'YYYY-MM-DD' */
864
865
  value?: string;
865
866
  onChange?: (value?: string) => void;
866
867
  disabledDateConfig?: {
@@ -875,12 +876,16 @@ export type DatePickerWrapperProps = Omit<PickerDateProps<TAny>, "value" | "onCh
875
876
  };
876
877
  /** 可自定义格式 */
877
878
  format?: TDayjsDateType;
879
+ /** value 输出适配 */
880
+ outputNormalize?: (value?: any) => any;
881
+ /** value 输入适配 */
882
+ inputNormalize?: (value?: any) => string | undefined;
878
883
  };
879
884
  /**
880
885
  * DatePicker包装组件
881
886
  * ```
882
- * 1. value类型为 string
883
- * 2. onChange返回类型 string
887
+ * 1. value 默认格式为 'YYYY-MM-DD',可以通过 inputNormalize 来进行自定义转换
888
+ * 2. onChange返回类型 string,可以通过 outputNormalize 来进行自定义转换
884
889
  * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型 DayjsDateTypeEnum.YMDHms;其他格式化类型自定义format
885
890
  * 4. 设置 disabledDate 后,disabledDateConfig配置将失效
886
891
  * 5. 设置 disabledTime 后,内置的disabledTime逻辑将失效
@@ -912,12 +917,22 @@ export type DateRangePickerWrapperProps = Omit<RangePickerDateProps<TAny>, "valu
912
917
  disabledSecondList?: number[];
913
918
  };
914
919
  format?: TDayjsDateType;
920
+ /** value 输出适配 */
921
+ outputNormalize?: (value: [
922
+ string,
923
+ string
924
+ ]) => any;
925
+ /** value 输入适配 */
926
+ inputNormalize?: (value?: any) => [
927
+ string,
928
+ string
929
+ ] | undefined;
915
930
  };
916
931
  /**
917
932
  * DatePicker.RangePicker包装组件
918
933
  * ```
919
- * 1. value类型为 [string, string]
920
- * 2. onChange返回类型 [string, string]
934
+ * 1. value类型为 [string, string],可以通过 inputNormalize来进行自定义转换
935
+ * 2. onChange返回类型 [string, string],可以通过 outputNormalize来进行自定义转换
921
936
  * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss;其他格式化类型自定义format
922
937
  * 4. 可设置disabledDateConfig,来控制日期项的disbaled状态
923
938
  * 5. 设置 disabledDate 后,disabledDateConfig配置将失效
@@ -928,7 +943,45 @@ export type DateRangePickerWrapperProps = Omit<RangePickerDateProps<TAny>, "valu
928
943
  * ```
929
944
  */
930
945
  export declare const DateRangePickerWrapper: (props: DateRangePickerWrapperProps) => import("react/jsx-runtime").JSX.Element;
931
- export interface FormItemWrapperProps extends FormItemProps {
946
+ export type TFormLayoutPreClassNameProps = {
947
+ /**
948
+ * label宽度,Form内部所有FormItem label都生效
949
+ * ```
950
+ * 1. 可设置数值
951
+ * 2. 可设置`auto`自适应
952
+ * ```
953
+ */
954
+ labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
955
+ /** labelItem 竖直布局 */
956
+ labelItemVertical?: boolean;
957
+ /** label 对齐方式 */
958
+ labelAlign?: "left" | "right";
959
+ /** formItem之间竖直间距,默认值:24 */
960
+ formItemGap?: "15" | "8" | "5" | "0";
961
+ /**
962
+ * className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap
963
+ */
964
+ className?: string;
965
+ };
966
+ export type TFormItemLayoutPreClassNameProps = {
967
+ /**
968
+ * label宽度,Form内部所有FormItem label都生效
969
+ * ```
970
+ * 1. 可设置数值
971
+ * 2. 可设置`auto`自适应
972
+ * ```
973
+ */
974
+ labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
975
+ /** labelItem 竖直布局 */
976
+ labelItemVertical?: boolean;
977
+ /** label 对齐方式 */
978
+ labelAlign?: "left" | "right";
979
+ /**
980
+ * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign
981
+ */
982
+ className?: string;
983
+ };
984
+ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
932
985
  wrapper?: (children: ReactNode) => ReactElement;
933
986
  /** 设置wrapper后,before、after失效 */
934
987
  before?: ReactNode;
@@ -943,28 +996,6 @@ export interface FormItemWrapperProps extends FormItemProps {
943
996
  outputNormalize?: (value?: TAny) => TAny;
944
997
  /** 是否清除 Form.Item */
945
998
  isClear?: boolean;
946
- /**
947
- * label宽度
948
- * ```
949
- * 1. 如果想控制Form下所有label,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性
950
- * 2. 可设置`auto`自适应
951
- * ```
952
- */
953
- labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
954
- /**
955
- * labelItem 竖直布局
956
- * ```
957
- * 1. 如果想控制Form下所有labelItem,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性
958
- * ```
959
- */
960
- labelItemVertical?: boolean;
961
- /**
962
- * label 对齐方式
963
- * ```
964
- * 1. 如果想控制Form下所有labelAlign,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性
965
- * ```
966
- */
967
- labelAlign?: "left" | "right";
968
999
  /**
969
1000
  * 栅格占位格数,最大值:24
970
1001
  * ```
@@ -972,7 +1003,7 @@ export interface FormItemWrapperProps extends FormItemProps {
972
1003
  * ```
973
1004
  */
974
1005
  span?: number;
975
- }
1006
+ };
976
1007
  /**
977
1008
  * 对 Form.Item 包装处理
978
1009
  * ```
@@ -1439,6 +1470,7 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1439
1470
  /**
1440
1471
  * 文件上传
1441
1472
  * ```
1473
+ * demo: https://fex.qa.tcshuke.com/docs/admin/main/file/upload
1442
1474
  * 1. 可通过配置children替换默认上传触发布局
1443
1475
  * 2. 接口返回结构:
1444
1476
  * formData上传接口返回值
@@ -1456,6 +1488,14 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1456
1488
  * <Form.Item name="attachmentList" label="附件">
1457
1489
  * <UploadWrapper action={uploadUrl} />
1458
1490
  * </Form.Item>
1491
+ *
1492
+ * 5. 回填数据结构
1493
+ * [{
1494
+ * uid: '唯一值',
1495
+ * name(非必填): 'image.png',
1496
+ * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
1497
+ * }]
1498
+ * 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可
1459
1499
  * ```
1460
1500
  *
1461
1501
  */
@@ -1805,6 +1845,20 @@ export type DragFormListProps = {
1805
1845
  children: ReactElement;
1806
1846
  }) => ReactElement;
1807
1847
  rules?: FormListProps["rules"];
1848
+ /**
1849
+ * 设置FormList字段标题&必填标志
1850
+ * ```
1851
+ * demo: http://dev.flatjs.com:6007/pages/flat/oss-demo/main/form/list?env=me
1852
+ * 1. 会根据数组顺序进行渲染
1853
+ * ```
1854
+ */
1855
+ formListItemTitleList?: {
1856
+ title: string;
1857
+ required?: boolean;
1858
+ width?: number;
1859
+ }[];
1860
+ formListItemTitleClassName?: string;
1861
+ formListItemTitleStyle?: CSSProperties;
1808
1862
  };
1809
1863
  /**
1810
1864
  * 可拖拽FormList
@@ -1913,22 +1967,8 @@ export declare const dynamicNode: {
1913
1967
  };
1914
1968
  remove: (elementId?: string) => void;
1915
1969
  };
1916
- export type FormWrapperProps<Values = any> = FormProps<Values> & {
1970
+ export type FormWrapperProps<Values = any> = TFormLayoutPreClassNameProps & FormProps<Values> & {
1917
1971
  children: ReactNode;
1918
- /**
1919
- * label宽度,Form内部所有FormItem label都生效
1920
- * ```
1921
- * 1. 可设置数值
1922
- * 2. 可设置`auto`自适应
1923
- * ```
1924
- */
1925
- labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
1926
- /** labelItem 竖直布局 */
1927
- labelItemVertical?: boolean;
1928
- /** label 对齐方式 */
1929
- labelAlign?: "left" | "right";
1930
- /** formItem之间竖直间距,默认值:24 */
1931
- formItemGap?: "15" | "8" | "5" | "0";
1932
1972
  };
1933
1973
  /**
1934
1974
  * Form 包装组件,添加对formItem的布局控制
@@ -1974,12 +2014,14 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1974
2014
  /** 网格间距 */
1975
2015
  gridGutter?: BoxRowProps["gutter"];
1976
2016
  children: ReactNode;
2017
+ /** 是否为纯净模式,对EasyForm的子节点不做任何包装处理 */
2018
+ isPure?: boolean;
1977
2019
  };
1978
2020
  /**
1979
2021
  * 简单Form布局,可自定义网格布局
1980
2022
  * ```
1981
2023
  * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid
1982
- * 2. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form属性失效,例如属性form、initialValues等都失效
2024
+ * 2. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效
1983
2025
  * 3. 布局网格以当前节点的宽度来计算的,不是屏幕宽度
1984
2026
  * 4. EasyForm 子节点包含 hidden = true 会被忽略
1985
2027
  * 5. 通过 column 可定义一行显示几列FormItem
@@ -2213,7 +2255,13 @@ export type EasyTableFilterProps = {
2213
2255
  * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };
2214
2256
  */
2215
2257
  formGridSize?: FormRowProps["gridSize"];
2258
+ /**
2259
+ * @deprecated已过期,使用 easyFormProps.className 配置
2260
+ */
2216
2261
  formClassName?: string;
2262
+ /**
2263
+ * @deprecated已过期,使用 easyFormProps.style 配置
2264
+ */
2217
2265
  formStyle?: CSSProperties;
2218
2266
  /** filter Form 外层 BlockLayout style */
2219
2267
  filterWrapperStyle?: CSSProperties;
@@ -2230,6 +2278,7 @@ export type EasyTableFilterProps = {
2230
2278
  rightOperateAreaAppendType?: "cover" | "beforeAppend" | "afterAppend";
2231
2279
  /** 默认重启按钮触发请求,默认值:true */
2232
2280
  defaultResetButtonTriggerRequest?: boolean;
2281
+ easyFormProps?: Omit<EasyFormProps, "isPure" | "column" | "forceColumn" | "width" | "gridGutter" | "children">;
2233
2282
  };
2234
2283
  export type EasyTableTableProps<T> = Omit<TableProps<TAny>, "dataSource" | "loading" | "rowKey" | "columns"> & {
2235
2284
  children?: ReactElement | ReactElement[];
@@ -2265,6 +2314,8 @@ export type EasyTableTableProps<T> = Omit<TableProps<TAny>, "dataSource" | "load
2265
2314
  /**
2266
2315
  * 对 查询条件+表格数据 进行深度封装,内置数据交互处理
2267
2316
  * ```
2317
+ * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table
2318
+ *
2268
2319
  * 1. 废弃modelKey参数
2269
2320
  * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true
2270
2321
  * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作
@@ -2274,41 +2325,38 @@ export type EasyTableTableProps<T> = Omit<TableProps<TAny>, "dataSource" | "load
2274
2325
  * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动
2275
2326
  * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动
2276
2327
  * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值
2277
- * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提示高windows下table左右滚动体验
2278
- *
2279
- * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table
2328
+ * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验
2280
2329
  * ```
2281
2330
  */
2282
2331
  export declare const EasyTable: import("react").ForwardRefExoticComponent<EasyTableProps & import("react").RefAttributes<EasyTableRefApi>> & {
2283
2332
  /**
2284
2333
  * 过滤条件
2285
- * @param props
2286
- * @returns
2287
- *
2288
2334
  *```
2289
- *1. 用法1
2335
+ * 1. 用法1
2290
2336
  * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
2291
2337
  * <EasyTable.Filter>
2292
- * <Form.Item name="field1" label="条件1">xxx</Form.Item>
2338
+ * <FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper>
2293
2339
  * </EasyTable.Filter>
2294
2340
  *
2295
- * -- 自定义网格布局 使用 FormCol组件包装 Form.Item
2341
+ * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper
2296
2342
  * <EasyTable.Filter>
2297
- * <FormCol span={12}><Form.Item name="field1" label="条件1">xxx</Form.Item></FormCol>
2343
+ * <FormCol span={12}><FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper></FormCol>
2298
2344
  * </EasyTable.Filter>
2299
2345
  *
2300
2346
  * -- children 可为 function
2301
2347
  * <EasyTable.Filter>
2302
2348
  * {(form) => {
2303
- * return <Form.Item name="field1" label="条件1">xxx</Form.Item>
2349
+ * return <FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper>
2304
2350
  * }}
2305
2351
  * </EasyTable.Filter>
2306
- *2. 用户2(自定义布局)
2307
- * EasyTable.Filter设置 isPure = true,FormItem无布局规则
2308
- *3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例
2309
- *4. 默认布局下,可通过设置 filterOperate 设置操作按钮
2310
- *5. Filter 子节点包含 hidden = true 会被忽略
2311
- *6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden
2352
+ * 2. 用户2(自定义布局)
2353
+ * EasyTable.Filter设置 isPure = true,FormItem无布局规则
2354
+ * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例
2355
+ * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮
2356
+ * 5. Filter 子节点包含 hidden = true 会被忽略
2357
+ * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden
2358
+ * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等
2359
+ * 8. 通过easyFormProps属性可整体控制子节点FormItem布局
2312
2360
  *```
2313
2361
  */
2314
2362
  Filter: (props: EasyTableFilterProps) => import("react/jsx-runtime").JSX.Element;
@@ -2602,6 +2650,48 @@ export declare const fbaUtils: {
2602
2650
  attachPropertiesToComponent: typeof attachPropertiesToComponent;
2603
2651
  getModelKey: () => string;
2604
2652
  };
2653
+ export type FileExportProps = {
2654
+ /** 触发节点 */
2655
+ action: (ReactElement & {
2656
+ onClick?: (e: any) => void;
2657
+ }) | ((data: {
2658
+ onClick: (e: any) => void;
2659
+ }) => ReactElement);
2660
+ /**
2661
+ * 获取文件流数据
2662
+ * ```
2663
+ * 1. fileName 文件名称
2664
+ * 2. data 文件流
2665
+ * ```
2666
+ */
2667
+ onRequest: () => Promise<{
2668
+ fileName: string;
2669
+ data: Blob;
2670
+ }>;
2671
+ /** 导出操作前 */
2672
+ onExportPre?: () => void;
2673
+ /** 导出操作后 */
2674
+ onExportNext?: () => void;
2675
+ /** 导出操作失败,隐藏默认失败效果 */
2676
+ onExportError?: (error?: any) => void;
2677
+ };
2678
+ /**
2679
+ * 文件导出
2680
+ * ```
2681
+ * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export
2682
+ * 例如:
2683
+ <FileExport
2684
+ action={<Button>下载</Button>}
2685
+ onRequest={() => {
2686
+ return serviceHandle.fileExport('/export/file', {});
2687
+ }}
2688
+ onExportNext={() => {
2689
+ message.success('导出成功...');
2690
+ }}
2691
+ />
2692
+ * ```
2693
+ */
2694
+ export declare const FileExport: (props: FileExportProps) => import("react/jsx-runtime").JSX.Element;
2605
2695
  export type FileImportProps = {
2606
2696
  /** 上传文件接口返回处理 */
2607
2697
  onImportFinish: (data?: TAny) => void;
@@ -2613,9 +2703,19 @@ export type FileImportProps = {
2613
2703
  /**
2614
2704
  * 文件导入
2615
2705
  * ```
2616
- * 默认值:
2617
- * name: 'file',
2618
- * accept: '.xlsx,.xls',
2706
+ * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export
2707
+ * 1. accept默认值 '.xlsx,.xls',
2708
+ * 2. formData 上传key默认值 file
2709
+ *
2710
+ * 例如:
2711
+ <FileImport
2712
+ action={'https://xxx/xxx/xx'}
2713
+ onImportFinish={(data) => {
2714
+ console.log('上传接口响应数据', data);
2715
+ }}
2716
+ >
2717
+ <Button>文件上传</Button>
2718
+ </FileImport>
2619
2719
  * ```
2620
2720
  */
2621
2721
  export declare const FileImport: {
@@ -2765,12 +2865,11 @@ export type FormItemHiddenProps = {
2765
2865
  export declare const FormItemHidden: (props: FormItemHiddenProps) => import("react/jsx-runtime").JSX.Element;
2766
2866
  export type FormItemTextServiceConfig = {
2767
2867
  onRequest: (params?: TAny) => Promise<TAny>;
2868
+ /** 接口参数,当params发生变化后,会主动发送查询请求 */
2768
2869
  params?: TPlainObject;
2769
2870
  /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */
2770
2871
  invalidParamKey?: string[];
2771
- /**
2772
- * 如果没有配置 render,返回结果会直接进行dom渲染,如果非string类型会进行JSON.stringify处理
2773
- */
2872
+ /** 如果没有配置 render,返回结果会直接进行dom渲染,如果非string类型会进行JSON.stringify处理 */
2774
2873
  onResponseAdapter?: (respData?: TAny, value?: TAny) => TAny;
2775
2874
  /** 必须参数key列表,与params配合使用 */
2776
2875
  requiredParamsKeys?: string[];
@@ -2782,6 +2881,12 @@ export type FormItemTextProps = FormItemWrapperProps & {
2782
2881
  render?: (value?: TAny) => ReactNode;
2783
2882
  /** 占位值,当 value 为 ''、undefined、null时显示 */
2784
2883
  placeholderValue?: string;
2884
+ /**
2885
+ * 发起服务调用显示数据,例如:数据为key,通过key查询text显示
2886
+ * ```
2887
+ * 1. 当serviceConfig.params发生变化后,会主动发送查询请求
2888
+ * ```
2889
+ */
2785
2890
  serviceConfig?: FormItemTextServiceConfig;
2786
2891
  };
2787
2892
  /**
@@ -2888,6 +2993,20 @@ export type FormListWrapperProps = {
2888
2993
  }) => ReactElement;
2889
2994
  /** FormList rules */
2890
2995
  rules?: FormListProps["rules"];
2996
+ /**
2997
+ * 设置FormList字段标题&必填标志
2998
+ * ```
2999
+ * demo: http://dev.flatjs.com:6007/pages/flat/oss-demo/main/form/list?env=me
3000
+ * 1. 会根据数组顺序进行渲染
3001
+ * ```
3002
+ */
3003
+ formListItemTitleList?: {
3004
+ title: string;
3005
+ required?: boolean;
3006
+ width?: number;
3007
+ }[];
3008
+ formListItemTitleClassName?: string;
3009
+ formListItemTitleStyle?: CSSProperties;
2891
3010
  };
2892
3011
  /**
2893
3012
  * FormList
@@ -3179,16 +3298,15 @@ export type MetionEditorProps = Omit<MentionsWrapperProps, "prefix"> & {
3179
3298
  * 5. Demo: https://fex.qa.tcshuke.com/docs/admin/main/widget?key=mention-editor
3180
3299
  */
3181
3300
  export declare const MetionEditor: (props: MetionEditorProps) => import("react/jsx-runtime").JSX.Element;
3182
- export type onClick = (e?: React.MouseEvent<HTMLElement>) => void;
3183
3301
  export interface ModalActionProps {
3184
3302
  children: ReactElement | ((data: {
3185
3303
  onClose: () => void;
3186
3304
  open: boolean;
3187
3305
  }) => ReactElement);
3188
3306
  action?: (ReactElement & {
3189
- onClick?: onClick;
3307
+ onClick?: (e: any) => void;
3190
3308
  }) | ((data: {
3191
- onClick: onClick;
3309
+ onClick: (e: any) => void;
3192
3310
  onClose: () => void;
3193
3311
  open: boolean;
3194
3312
  }) => ReactElement);
@@ -3274,6 +3392,9 @@ export declare const Permission: (props: PermissionProps) => import("react/jsx-r
3274
3392
  * ```
3275
3393
  */
3276
3394
  export declare const preDefinedClassName: {
3395
+ /**
3396
+ * @deprecated,已过期,使用preDefinedClassName.getFormLayoutClassName(...)
3397
+ */
3277
3398
  form: {
3278
3399
  label_width_70: string;
3279
3400
  label_width_80: string;
@@ -3284,12 +3405,27 @@ export declare const preDefinedClassName: {
3284
3405
  label_width_130: string;
3285
3406
  label_width_140: string;
3286
3407
  label_width_150: string;
3287
- label_width_160: string;
3408
+ label_width_160: string; /**
3409
+ * 获取针对Form下全部label布局的预设className,包括
3410
+ * ```
3411
+ * 1. formLabel宽度
3412
+ * 2. formLabel对齐方式
3413
+ * 3. form label value的竖直布局
3414
+ * 4. formItem之间的间距
3415
+ * ```
3416
+ */
3288
3417
  label_width_170: string;
3289
3418
  label_width_180: string;
3290
3419
  label_width_190: string;
3291
3420
  label_width_200: string;
3292
- label_width_auto: string;
3421
+ label_width_auto: string; /**
3422
+ * 获取针对单个FormItem label布局的预设className,包括
3423
+ * ```
3424
+ * 1. formLabel宽度
3425
+ * 2. formLabel对齐方式
3426
+ * 3. form label value的竖直布局
3427
+ * ```
3428
+ */
3293
3429
  label_align_left: string;
3294
3430
  label_align_right: string;
3295
3431
  label_value_vertical: string;
@@ -3298,6 +3434,9 @@ export declare const preDefinedClassName: {
3298
3434
  formItemGap5: string;
3299
3435
  formItemGap0: string;
3300
3436
  };
3437
+ /**
3438
+ * @deprecated 已过期,使用preDefinedClassName.getFormItemLayoutClassName(...)
3439
+ */
3301
3440
  formItem: {
3302
3441
  label_width_70: string;
3303
3442
  label_width_80: string;
@@ -3318,6 +3457,25 @@ export declare const preDefinedClassName: {
3318
3457
  label_align_right: string;
3319
3458
  label_value_vertical: string;
3320
3459
  };
3460
+ /**
3461
+ * 获取针对Form下全部label布局的预设className,包括
3462
+ * ```
3463
+ * 1. formLabel宽度
3464
+ * 2. formLabel对齐方式
3465
+ * 3. form label value的竖直布局
3466
+ * 4. formItem之间的间距
3467
+ * ```
3468
+ */
3469
+ getFormLayoutClassName: (props: TFormLayoutPreClassNameProps) => string;
3470
+ /**
3471
+ * 获取针对单个FormItem label布局的预设className,包括
3472
+ * ```
3473
+ * 1. formLabel宽度
3474
+ * 2. formLabel对齐方式
3475
+ * 3. form label value的竖直布局
3476
+ * ```
3477
+ */
3478
+ getFormItemLayoutClassName: (props: TFormItemLayoutPreClassNameProps) => string;
3321
3479
  };
3322
3480
  export type RadioGroupWrapperValue = string | number | boolean;
3323
3481
  export type RadioGroupWrapperOptionItem = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.4.12",
3
+ "version": "4.4.14",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",