import { InputProps } from 'antd/es/input'; import { PopconfirmProps } from 'antd/es/popconfirm'; import { FormInstance } from 'antd/es/form'; import React from 'react'; import type { ProFormColumnType } from '../ProForm/propsType'; export interface ContainerType { /** * @description 触发方式 * @default "click" */ trigger?: 'click' | 'hover'; /** * @description 尺寸 * @default "middle" */ size?: 'small' | 'middle' | 'large'; /** * @description 显示模式 * @default "popup" */ mode?: 'popup' | 'current'; /** * @description 类型 * @default "input" */ type?: 'input' | 'select'; } export interface StateType { /** * @description 弹出值 * @default "" */ popValue?: string; /** * @description 确认值 * @default "" */ confirmValue?: string; } export interface PopupType { /** * @description 类型 * @default - */ type?: string; /** * @description 标签 * @default - */ label?: string | React.ReactNode; /** * @description 标题 * @default - */ title?: string | React.ReactNode; /** * @description 提示 * @default - */ tip?: string | React.ReactNode; /** * @description 是否去除空格 * @default false */ trim?: boolean; /** * @description 标签宽度 * @default - */ labelWidth?: string | number; /** * @description 字段属性 * @default - */ fieldProps?: any; /** * @description 列配置 * @default - */ columns?: ProFormColumnType[]; /** * @description 允许扩展字段 */ [key: string]: any; } export interface LabelType extends Omit { /** * @description 是否打开 * @default false */ open?: boolean; /** * @description 可见性变化回调 * @default - */ onOpenChange?: (open: boolean) => void; /** * @description 值变化回调 * @default - */ onChange?: (value: any) => void; /** * @description 是否可编辑 * @default false */ editable?: boolean; /** * @description 编辑回调 * @default - */ onEdit?: () => void; } export interface ProEditLabelType extends Partial { /** * @description 弹出属性 * @default - */ popupProps?: PopupType; /** * @description 空值显示 * @default "-" */ viewEmpty?: '-'; /** * @description 确认回调 * @default - */ onConfirm?: (e?: any) => void; /** * @description 完成回调 * @default - */ onFinish?: (e?: any) => void; /** * @description 打开状态变化回调 * @default - */ onOpenChange?: (e?: any) => void; /** * @description 触发方式 * @default "click" */ trigger?: 'click' | 'hover'; /** * @description 值 * @default - */ value?: any; /** * @description 表单实例 * @default - */ form?: FormInstance; /** * @description 是否禁用 * @default false */ disabled?: boolean; /** * @description 允许扩展字段 */ [key: string]: any; }