UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

131 lines (130 loc) 2.82 kB
import type { SchemaBoolean, SchemaClassName } from 'jamis-core'; import type { CSSProperties } from 'react'; import type { FormBaseControl, FormControlProps, SchemaApi, TableSchema } from '../types'; export interface InputTableControlSchema extends FormBaseControl, Omit<TableSchema, 'type'> { type: 'input-table'; /** * 可新增 */ addable?: boolean; addableOn?: SchemaBoolean; /** * 新增 API */ addApi?: SchemaApi; /** * 新增按钮文字 */ addBtnLabel?: string; /** * 新增按钮图标 */ addBtnIcon?: string | false; /** * 显示新增按钮 */ showAddBtn?: boolean; /** * 可复制新增 */ copyable?: boolean; copyableOn?: SchemaBoolean; /** * 复制按钮文字 */ 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<string, any>; /** * 删除确认文字 */ 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<InputTableControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName' | 'data'> { }