jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
50 lines (49 loc) • 1.47 kB
TypeScript
import type { RendererProps } from 'jamis-core';
import type { SchemaCollection, SchemaObject } from '../types';
export interface SchemaQuickEditObject {
/**
* 是否立即保存
*/
saveImmediately?: boolean;
/**
* 接口保存失败后,是否重置组件编辑状态
*/
resetOnFailed?: boolean;
/**
* 配置刷新目标,默认就会刷新所属 crud 组件,
* 如果不需要,请配置为 "none"
*/
reload?: string;
/**
* 是否直接内嵌
*/
mode?: 'inline';
}
export type SchemaQuickEdit = boolean | (SchemaQuickEditObject & Partial<SchemaObject>) | (SchemaQuickEditObject & {
body: SchemaCollection;
});
export interface QuickEditConfig {
saveImmediately?: boolean;
resetOnFailed?: boolean;
reload?: string;
mode?: 'inline' | 'dialog' | 'popOver' | 'append';
type?: string;
body?: any;
focusable?: boolean;
popOverClassName?: string;
[propName: string]: any;
}
export interface QuickEditProps extends RendererProps {
name?: string;
label?: string;
quickEdit: boolean | QuickEditConfig;
quickEditEnabled?: boolean;
/**
* 快速编辑器中form ref对象设置函数
*/
quickEditFormRef?: (ref: any, colIndex: number, rowIndex: number) => void;
/**
* 快速编辑器中form item的ref对象设置函数
*/
quickEditFormItemRef?: (ref: any, colIndex: number, rowIndex: number) => void;
}