import type { SchemaBoolean, SchemaClassName } from 'jamis-core'; import type { CSSProperties } from 'react'; import type { ButtonSchema, FormBaseControl, FormControlProps, SchemaApi, TableSchema } from '../types'; export interface InputTableControlSchema extends FormBaseControl, Omit { type: 'input-table'; /** * 可新增 */ addable?: boolean; addableOn?: SchemaBoolean; /** * 新增 API */ addApi?: SchemaApi; /** * 新增按钮文字 */ addBtnLabel?: string; /** * 新增按钮图标 */ addBtnIcon?: string | false; /** * 显示新增按钮 */ showAddBtn?: boolean; /** * 可复制新增, 支持直接配置复制按钮的操作 */ copyable?: boolean | Partial; copyableOn?: SchemaBoolean; /** * 显示复制按钮, 默认是 true * @deprecated 请使用`slots.InputTable-copyBtn`来定制 */ showCopyBtn?: boolean; /** * 复制按钮文字 */ copyBtnLabel?: string; /** * 复制按钮图标 */ copyBtnIcon?: string | false; /** * 是否显示复制按钮 */ copyAddBtn?: boolean; /** * 可否删除 */ removable?: boolean; removableOn?: SchemaBoolean; /** * 删除的 API */ deleteApi?: SchemaApi; /** * 可否编辑 */ editable?: boolean; editableOn?: SchemaBoolean; /** * 更新按钮名称 */ editBtnLabel?: string; /** * 更新按钮图标 */ editBtnIcon?: string; /** * 确认按钮文字 */ confirmBtnLabel?: string; /** * 确认按钮图标 */ confirmBtnIcon?: string; /** * 取消按钮文字 */ cancelBtnLabel?: string; /** * 取消按钮图标 */ cancelBtnIcon?: string; /** * 删除按钮文字 */ deleteBtnLabel?: string; /** * 删除按钮图标 */ deleteBtnIcon?: string | false; /** * 更新 API */ updateApi?: SchemaApi; /** * 初始值,新增的时候 */ scaffold?: Record; /** * 删除确认文字 */ deleteConfirmText?: string; /** * 值字段 */ valueField?: string; /** * 是否为确认的编辑模式。 */ needConfirm?: boolean; /** * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。 */ canAccessSuperData?: boolean; /** * 是否显示序号 */ showIndex?: boolean; /** * 分页个数,默认不分页 */ perPage?: number; operationStyle?: CSSProperties; operationClassName?: SchemaClassName; /** * 懒加载的行数, 默认是100 */ lazyRenderAfter?: number; } export interface InputTableProps extends FormControlProps, Omit { }