@flatbiz/antd 2.3.18 → 2.3.19

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.
package/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import { API, ModelType } from '@dimjs/model';
5
5
  import { ButtonProps, DrawerProps, FormItemProps, InputNumberProps, InputProps, ModalProps, RadioGroupProps, SelectProps, SpaceProps, TableProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
6
6
  import { CheckboxGroupProps } from 'antd/lib/checkbox';
7
7
  import { PickerDateProps, RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';
8
- import { FormListFieldData, FormListOperation } from 'antd/lib/form/FormList';
8
+ import { FormListFieldData, FormListOperation, FormListProps } from 'antd/lib/form/FormList';
9
9
  import { TextAreaProps } from 'antd/lib/input';
10
10
  import { ColumnsType } from 'antd/lib/table';
11
11
  import { UploadChangeParam } from 'antd/lib/upload';
@@ -28,7 +28,7 @@ export interface ButtonOperateProps {
28
28
  size?: SpaceProps["size"];
29
29
  }
30
30
  export declare const ButtonOperate: VFC<ButtonOperateProps>;
31
- export declare type DatePickerWraperProps = {
31
+ export declare type DatePickerWrapperProps = {
32
32
  value?: string;
33
33
  onChange?: (value?: string) => void;
34
34
  } & Omit<PickerDateProps<moment.Moment>, "value" | "onChange">;
@@ -41,8 +41,8 @@ export declare type DatePickerWraperProps = {
41
41
  * 4. 其他格式化类型自定义format
42
42
  * ```
43
43
  */
44
- export declare const DatePickerWraper: VFC<DatePickerWraperProps>;
45
- export declare type DateRangePickerWraperProps = {
44
+ export declare const DatePickerWrapper: VFC<DatePickerWrapperProps>;
45
+ export declare type DateRangePickerWrapperProps = {
46
46
  value?: [
47
47
  string,
48
48
  string
@@ -61,7 +61,7 @@ export declare type DateRangePickerWraperProps = {
61
61
  * 4. 其他格式化类型自定义format
62
62
  * ```
63
63
  */
64
- export declare const DateRangePickerWraper: VFC<DateRangePickerWraperProps>;
64
+ export declare const DateRangePickerWrapper: VFC<DateRangePickerWrapperProps>;
65
65
  export interface DrawerStateType {
66
66
  title: string;
67
67
  /**
@@ -80,7 +80,7 @@ export interface DrawerActionsParamType {
80
80
  closeDrawer: void;
81
81
  setDrawerItemData: Record<string, any>;
82
82
  }
83
- export interface DrawerOperationProps {
83
+ export interface DrawerOperationOldProps {
84
84
  loading?: boolean;
85
85
  okText?: string;
86
86
  cancelText?: string;
@@ -96,8 +96,15 @@ export declare type DrawerFormProps = {
96
96
  * 整个drawer页面级的spinning <Page loading />
97
97
  */
98
98
  pageLoading?: boolean;
99
- operationProps?: DrawerOperationProps;
99
+ operationProps?: DrawerOperationOldProps;
100
100
  } & DrawerProps;
101
+ /**
102
+ * 弹窗机制
103
+ * ```
104
+ * 1. 默认 destroyOnClose = true
105
+ * 2. 默认 forceRender = false
106
+ * ```
107
+ */
101
108
  export declare const DrawerWraper: FC<DrawerFormProps>;
102
109
  /**
103
110
  * drawer弹窗模型
@@ -110,6 +117,61 @@ export declare const DrawerWraper: FC<DrawerFormProps>;
110
117
  * ```
111
118
  */
112
119
  export declare const createDrawerWraperModel: (key: string) => API<ModelType<DrawerStateType, DrawerActionsParamType, any>>;
120
+ export interface DrawerStateType {
121
+ title: string;
122
+ /**
123
+ * 显示drawer
124
+ */
125
+ visible: boolean;
126
+ /**
127
+ * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`
128
+ */
129
+ itemData?: Record<string, any>;
130
+ operateType: "create" | "update" | "view" | null;
131
+ pageLoading?: boolean;
132
+ }
133
+ export interface DrawerActionsParamType {
134
+ openDrawerForm: Pick<DrawerStateType, "title" | "itemData" | "operateType" | "pageLoading">;
135
+ closeDrawer: void;
136
+ setDrawerItemData: Record<string, any>;
137
+ }
138
+ export interface DrawerOperationProps {
139
+ loading?: boolean;
140
+ okText?: string;
141
+ cancelText?: string;
142
+ onOk?: () => void;
143
+ onCancel?: () => void;
144
+ hideOkBtn?: boolean;
145
+ okButtonProps?: Omit<ButtonProps, "onClick" | "loading" | "className">;
146
+ cancelButtonProps?: Omit<ButtonProps, "onClick" | "loading" | "className">;
147
+ }
148
+ export declare type DrawerWrapperProps = {
149
+ className?: string;
150
+ /**
151
+ * 整个drawer页面级的spinning <Page loading />
152
+ */
153
+ pageLoading?: boolean;
154
+ operationProps?: DrawerOperationProps;
155
+ } & DrawerProps;
156
+ /**
157
+ * 弹窗机制
158
+ * ```
159
+ * 1. 默认 destroyOnClose = true
160
+ * 2. 默认 forceRender = false
161
+ * ```
162
+ */
163
+ export declare const DrawerWrapper: FC<DrawerWrapperProps>;
164
+ /**
165
+ * drawer弹窗模型
166
+ * @param key 唯一值必传
167
+ * @returns
168
+ *
169
+ * ```
170
+ * 使用方式
171
+ * const [drawerState, drawerActions] = createDrawerWrapperModel('key值').useStore();
172
+ * ```
173
+ */
174
+ export declare const createDrawerWrapperModel: (key: string) => API<ModelType<DrawerStateType, DrawerActionsParamType, any>>;
113
175
  export declare type FileUploadItem = {
114
176
  fileKey: string;
115
177
  fileName: string;
@@ -152,26 +214,26 @@ export declare type FileUploadProps = {
152
214
  *
153
215
  */
154
216
  export declare const FileUpload: FC<FileUploadProps>;
155
- export declare type TPlainObject<T = any> = Record<string, T>;
156
217
  export declare type LabelValueItem<T extends string | number = string | number> = {
157
218
  value: T;
158
219
  label: string;
159
220
  };
221
+ export declare type TPlainObject<T = any> = Record<string, T>;
160
222
  export declare type SelectorServiceConfig = {
161
223
  params?: TPlainObject;
162
224
  requiredParamsKeys?: string[];
163
- fieldNames?: {
164
- label: string;
165
- value: string;
166
- };
167
225
  onRequest?: (params?: any) => any;
168
226
  /**
169
227
  * 响应数据适配器
170
228
  */
171
229
  onRequestResultAdapter?: (respData: any) => TPlainObject[];
172
230
  };
173
- export declare type SelectorWrapperProps = Omit<SelectProps, "filterOption" | "onSearch" | "loading" | "notFoundContent" | "options"> & {
231
+ export declare type SelectorWrapperProps = Omit<SelectProps, "filterOption" | "onSearch" | "loading" | "notFoundContent" | "options" | "fieldNames"> & {
174
232
  modelKey: string;
233
+ fieldNames?: {
234
+ label: string;
235
+ value: string;
236
+ };
175
237
  /**
176
238
  * useEffect依赖性数组
177
239
  */
@@ -185,13 +247,14 @@ export declare type SelectorWrapperProps = Omit<SelectProps, "filterOption" | "o
185
247
  * ```
186
248
  * 1. 当设置selectorList后,serviceConfig、operateType=search、onSelectorListChange将失效
187
249
  * 2. 不支持异步数据,异步使用serviceConfig方式
250
+ * 3. 如果配置fieldNames,会转换后使用
188
251
  * ```
189
252
  */
190
- selectorList?: LabelValueItem<string | number>[];
253
+ selectorList?: TPlainObject[];
191
254
  /**
192
255
  * 通过服务获取数据后回调,当设置`selectorList`后无效果
193
256
  */
194
- onSelectorListChange?: (selectorList: LabelValueItem<string | number>[]) => void;
257
+ onSelectorListChange?: (dataList: LabelValueItem[]) => void;
195
258
  /**
196
259
  * 添加全部选项
197
260
  * ```
@@ -229,8 +292,12 @@ export declare type SelectorWrapperRefApi = {
229
292
  * 3. operateType=search状态下,回填数据查询接口时,会在接口中默认添加id字段(id的值为回填的值)
230
293
  * ```
231
294
  */
232
- export declare const SelectorWrapper: import("react").ForwardRefExoticComponent<Omit<SelectProps<any, import("rc-select/lib/Select").DefaultOptionType>, "loading" | "options" | "filterOption" | "notFoundContent" | "onSearch"> & {
295
+ export declare const SelectorWrapper: import("react").ForwardRefExoticComponent<Omit<SelectProps<any, import("rc-select/lib/Select").DefaultOptionType>, "loading" | "options" | "filterOption" | "notFoundContent" | "onSearch" | "fieldNames"> & {
233
296
  modelKey: string;
297
+ fieldNames?: {
298
+ label: string;
299
+ value: string;
300
+ } | undefined;
234
301
  /**
235
302
  * useEffect依赖性数组
236
303
  */
@@ -244,13 +311,14 @@ export declare const SelectorWrapper: import("react").ForwardRefExoticComponent<
244
311
  * ```
245
312
  * 1. 当设置selectorList后,serviceConfig、operateType=search、onSelectorListChange将失效
246
313
  * 2. 不支持异步数据,异步使用serviceConfig方式
314
+ * 3. 如果配置fieldNames,会转换后使用
247
315
  * ```
248
316
  */
249
- selectorList?: LabelValueItem<string | number>[] | undefined;
317
+ selectorList?: TPlainObject<any>[] | undefined;
250
318
  /**
251
319
  * 通过服务获取数据后回调,当设置`selectorList`后无效果
252
320
  */
253
- onSelectorListChange?: ((selectorList: LabelValueItem<string | number>[]) => void) | undefined;
321
+ onSelectorListChange?: ((dataList: LabelValueItem[]) => void) | undefined;
254
322
  /**
255
323
  * 添加全部选项
256
324
  * ```
@@ -278,17 +346,17 @@ export declare type EditableInputNumberConfig = {
278
346
  type: "inputNumber";
279
347
  editableComptProps?: InputNumberProps;
280
348
  };
281
- export declare type EditableSelectWraperConfig = {
349
+ export declare type EditableSelectWrapperConfig = {
282
350
  type: "selectorWrapper";
283
351
  editableComptProps: SelectorWrapperProps;
284
352
  };
285
- export declare type EditableDatePickerWraperConfig = {
286
- type: "datePickerWraper";
287
- editableComptProps?: DatePickerWraperProps;
353
+ export declare type EditableDatePickerWrapperConfig = {
354
+ type: "datePickerWrapper";
355
+ editableComptProps?: DatePickerWrapperProps;
288
356
  };
289
- export declare type EditableDateRangePickerWraperConfig = {
290
- type: "dateRangePickerWrapers";
291
- editableComptProps?: DateRangePickerWraperProps;
357
+ export declare type EditableDateRangePickerWrapperConfig = {
358
+ type: "dateRangePickerWrapper";
359
+ editableComptProps?: DateRangePickerWrapperProps;
292
360
  };
293
361
  export declare type EditableCheckboxGroupConfig = {
294
362
  type: "checkboxGroup";
@@ -331,7 +399,7 @@ export declare type EditableCustomConfig = {
331
399
  completeName: Array<number | string>;
332
400
  }) => ReactElement;
333
401
  };
334
- export declare type EditableTypeConfig = EditableCustomConfig | EditableInputConfig | EditableSelectWraperConfig | EditableDatePickerWraperConfig | EditableDateRangePickerWraperConfig | EditableCheckboxGroupConfig | EditableTextareaConfig | EditableInputNumberConfig | EditableRadioGroupConfig | EditableFileUploadConfig;
402
+ export declare type EditableTypeConfig = EditableCustomConfig | EditableInputConfig | EditableSelectWrapperConfig | EditableDatePickerWrapperConfig | EditableDateRangePickerWrapperConfig | EditableCheckboxGroupConfig | EditableTextareaConfig | EditableInputNumberConfig | EditableRadioGroupConfig | EditableFileUploadConfig;
335
403
  export declare type FieldSingleConfig = {
336
404
  editable?: boolean | ((data: {
337
405
  tableRowIndex: number;
@@ -380,22 +448,40 @@ export declare type EditableTableColumn = Omit<ColumnsType["0"], "render"> & {
380
448
  fieldConfig?: FieldSingleConfig | FormListConfig;
381
449
  /**
382
450
  * 配置操作功能处理后,fieldConfig配置将失效
451
+ * ```
452
+ * 1. tableRowIndex:当前row的索引值
453
+ * 1. name:当前row的form.item的name值
454
+ * ```
383
455
  */
384
- operateRender?: (item: EditableTableDataSourceItem & {
456
+ operateRender?: (item: {
385
457
  tableRowIndex: number;
458
+ name: Array<string | number>;
459
+ operation: FormListOperation;
386
460
  }) => ReactElement;
387
461
  };
388
462
  export declare type EditableTableProps = {
389
463
  name: string;
390
- tableProps: Omit<TableProps<any>, "dataSource" | "columns" | "rowKey">;
464
+ /**
465
+ * ```
466
+ * antd table属性
467
+ * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table components属性后失效
468
+ * ```
469
+ */
470
+ tableProps: Omit<TableProps<any>, "dataSource" | "columns" | "rowKey"> & {
471
+ cellVerticalAlign?: "baseline" | "middle" | "top" | "bottom";
472
+ };
391
473
  columns: EditableTableColumn[];
392
- onTableBeforeRender?: (data: FormListOperation) => ReactElement | null;
393
- onTableAfterRender?: (data: FormListOperation) => ReactElement | null;
474
+ onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;
475
+ /**
476
+ * 设置后,将覆盖底部`新增`按钮
477
+ */
478
+ onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;
479
+ rules?: FormListProps["rules"];
394
480
  };
395
481
  export declare const EditableTable: (props: EditableTableProps) => JSX.Element;
396
482
  export declare type FileImportProps = {
397
- onImportFinish: (data: any) => void;
398
- } & Omit<UploadProps, "onChange" | "fileList" | "onPreview">;
483
+ onImportFinish: (data?: any[]) => void;
484
+ } & Pick<UploadProps, "accept" | "action" | "beforeUpload" | "disabled" | "maxCount" | "method" | "name">;
399
485
  /**
400
486
  * 文件导入
401
487
  * ```
@@ -470,6 +556,13 @@ export declare type ModalFormProps = {
470
556
  operationProps?: ModalOperationProps;
471
557
  footer?: null | React.ReactNode;
472
558
  } & Omit<ModalProps, "footer" | "onOk" | "okText" | "cancelText" | "okButtonProps" | "cancelButtonProps" | "okType" | "confirmLoading">;
559
+ /**
560
+ * 弹窗机制
561
+ * ```
562
+ * 1. 默认 destroyOnClose = true
563
+ * 2. 默认 forceRender = false
564
+ * ```
565
+ */
473
566
  export declare const ModalWraper: FC<ModalFormProps>;
474
567
  /**
475
568
  * modal弹窗模型
@@ -482,6 +575,59 @@ export declare const ModalWraper: FC<ModalFormProps>;
482
575
  * ```
483
576
  */
484
577
  export declare const createModalWraperModel: (key: string) => API<ModelType<ModalStateType, ModalActionsParamType, any>>;
578
+ export interface ModalStateType {
579
+ title?: string;
580
+ /**
581
+ * 显示modal
582
+ */
583
+ visible: boolean;
584
+ /**
585
+ * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`
586
+ */
587
+ itemData?: Record<string, unknown> | null;
588
+ operateType: "create" | "update" | "view";
589
+ pageLoading?: boolean;
590
+ }
591
+ export interface ModalActionsParamType {
592
+ openModalForm: Pick<ModalStateType, "title" | "itemData" | "operateType" | "pageLoading">;
593
+ closeModal: void;
594
+ setModalItemData: Record<string, unknown>;
595
+ }
596
+ export interface ModalOperationOldProps {
597
+ loading?: boolean;
598
+ okText?: string;
599
+ cancelText?: string;
600
+ onOk?: () => void;
601
+ onCancel?: () => void;
602
+ hideOkBtn?: boolean;
603
+ okButtonProps?: Omit<ButtonProps, "onClick" | "loading" | "className">;
604
+ cancelButtonProps?: Omit<ButtonProps, "onClick" | "loading" | "className">;
605
+ }
606
+ export declare type ModalWrapperProps = {
607
+ className?: string;
608
+ pageLoading?: boolean;
609
+ operationProps?: ModalOperationOldProps;
610
+ footer?: null | React.ReactNode;
611
+ } & Omit<ModalProps, "footer" | "onOk" | "okText" | "cancelText" | "okButtonProps" | "cancelButtonProps" | "okType" | "confirmLoading">;
612
+ /**
613
+ * 弹窗机制
614
+ * ```
615
+ * 1. 默认 destroyOnClose = true
616
+ * 2. 默认 forceRender = false
617
+ * ```
618
+ */
619
+ export declare const ModalWrapper: FC<ModalWrapperProps>;
620
+ /**
621
+ * modal弹窗模型
622
+ * @param key 唯一值必传
623
+ * @returns
624
+ *
625
+ * ```
626
+ * 使用方式
627
+ * const [modalState, modalActions] = createModalWrapperModel('key值').useStore();
628
+ * ```
629
+ */
630
+ export declare const createModalWrapperModel: (key: string) => API<ModelType<ModalStateType, ModalActionsParamType, any>>;
485
631
  export declare type PageFixedFooterProps = {
486
632
  className?: string;
487
633
  style?: CSSProperties;
@@ -701,5 +847,51 @@ export declare const TreeWrapper: import("react").ForwardRefExoticComponent<Omit
701
847
  */
702
848
  filterLabel?: string | undefined;
703
849
  } & import("react").RefAttributes<TreeWrapperRefApi>>;
850
+ export declare type UploadWrapperFileItem = {
851
+ uid: string;
852
+ name: string;
853
+ url: string;
854
+ };
855
+ export declare type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
856
+ value?: T[];
857
+ onChange?: (value?: T[]) => void;
858
+ onUploadError?: (message?: string) => void;
859
+ onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;
860
+ /**
861
+ * 属性映射
862
+ */
863
+ fieldNames?: {
864
+ uid: string;
865
+ name: string;
866
+ url: string;
867
+ };
868
+ /**
869
+ * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换
870
+ */
871
+ onRequestResultAdapter?: (respData: any) => TPlainObject;
872
+ } & Omit<UploadProps, "onChange" | "fileList">;
873
+ /**
874
+ * 文件上传
875
+ * ```
876
+ * 1. 可通过配置children替换默认上传触发布局
877
+ * 2. 接口返回结构:
878
+ * formData上传接口返回值
879
+ * {
880
+ * code: '0000',
881
+ * data: {
882
+ * uid: '唯一值,可使用fileKey值'
883
+ * name: '文件名称'
884
+ * url: '预览地址'
885
+ * }
886
+ * }
887
+ * 可通过fieldNames配置接口返回值属性名称映射
888
+ * 3. 最佳使用方式,与Form结合使用
889
+ * <Form.Item name="attachmentList" label="附件">
890
+ * <UploadWrapper action={uploadUrl} onPreview={onPreviewFile} />
891
+ * </Form.Item>
892
+ * ```
893
+ *
894
+ */
895
+ export declare const UploadWrapper: FC<UploadWrapperProps>;
704
896
 
705
897
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "2.3.18",
3
+ "version": "2.3.19",
4
4
  "description": "flat-biz oss ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -40,5 +40,5 @@
40
40
  "@flatbiz/utils": "^2.3.15",
41
41
  "@wove/react": "^1.2.10"
42
42
  },
43
- "gitHead": "216f22124d1ce0b0c1e2c389914291ec12f784a9"
43
+ "gitHead": "bb3e9505174f2460930ce3704b6ac673e57703e8"
44
44
  }