UNPKG

@uozi-admin/curd

Version:
80 lines (79 loc) 3.55 kB
import { AutoCompleteProps, CheckboxGroupProps, DatePickerProps, InputNumberProps, InputProps, ModalProps, RadioGroupProps, RateProps, SelectProps, SliderProps, SwitchProps, TableProps, TextAreaProps, TimePickerProps, TransferProps, UploadProps } from 'ant-design-vue'; import { CascaderProps } from 'ant-design-vue/es/cascader'; import { MonthPickerProps, RangePickerProps, WeekPickerProps } from 'ant-design-vue/es/date-picker'; import { TableRowSelection } from 'ant-design-vue/es/table/interface'; import { CurdApi } from './api'; import { StdTableColumn } from './index'; export interface PlaceholderT { placeholder?: number | string | (() => string) | [string, string]; } interface BaseConfig { defaultValue?: any; class?: string; style?: string; } export interface TimeT extends BaseConfig { timestamp?: boolean; } export type InputConfig = Omit<InputProps, 'placeholder'> & PlaceholderT & BaseConfig; export type InputNumberConfig = Omit<InputNumberProps, 'placeholder'> & PlaceholderT & BaseConfig; export type TextareaConfig = Omit<TextAreaProps, 'placeholder'> & PlaceholderT & BaseConfig; export type PasswordConfig = Omit<InputProps, 'placeholder'> & PlaceholderT & BaseConfig & { generate?: boolean; maxLength?: number; }; export type SelectConfig = Omit<SelectProps, 'placeholder'> & PlaceholderT & { remote?: { valueKey: string; labelKey: string; api: (...args: any[]) => Promise<{ data: any[]; }>; }; mask?: Record<string | number, any>; valueKey?: string; } & BaseConfig; export type AutoCompleteConfig = Omit<AutoCompleteProps, 'placeholder'> & PlaceholderT & { remote?: { valueKey: string; labelKey: string; api: (...args: any[]) => Promise<{ data: any[]; }>; }; mask?: Record<string | number, any>; valueKey?: string; } & BaseConfig; export type SelectorConfig = { tableProps?: TableProps; valueKey?: string; displayKey?: string; selectionType?: 'radio' | 'checkbox'; selectionConfig?: TableRowSelection; getListApi: CurdApi['getList']; columns: StdTableColumn[]; tips?: string; disabled?: boolean; hideInputContainer?: boolean; modalWidth?: number | string; modalProps?: ModalProps; overwriteParams?: Record<string, any>; labelRender?: (row: any) => string; omitZeroString?: boolean; } & PlaceholderT & BaseConfig; export type CascaderConfig = Omit<CascaderProps, 'placeholder'> & PlaceholderT & BaseConfig; export type DatePickerConfig = Omit<DatePickerProps, 'placeholder'> & PlaceholderT & TimeT & BaseConfig; export type RangePickerConfig = Omit<RangePickerProps, 'placeholder'> & PlaceholderT & TimeT & BaseConfig; export type WeekPickerConfig = Omit<WeekPickerProps, 'placeholder'> & PlaceholderT & BaseConfig; export type MonthPickerConfig = Omit<MonthPickerProps, 'placeholder'> & PlaceholderT & BaseConfig; export type TimePickerConfig = Omit<TimePickerProps, 'placeholder'> & PlaceholderT & BaseConfig; export type RadioGroupConfig = RadioGroupProps & BaseConfig; export type CheckboxGroupConfig = CheckboxGroupProps & BaseConfig; export type RateConfig = RateProps & BaseConfig; export type SliderConfig = SliderProps & BaseConfig; export type SwitchConfig = SwitchProps & BaseConfig; export type TransferConfig = Omit<TransferProps, 'placeholder'> & PlaceholderT & BaseConfig; export type UploadConfig = Omit<UploadProps, 'placeholder'> & PlaceholderT & BaseConfig & { multiple?: boolean; }; export {};