jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
50 lines (49 loc) • 1.71 kB
TypeScript
import type { ConditionBuilderConfig, ConditionBuilderFields, ConditionBuilderFuncs, FormBaseControlSchema, FormControlProps, IconSchema, SchemaApi, SchemaClassName, SchemaTokenizeableString } from '../types';
export * from './components/types';
/**
* 条件组合控件
*/
export interface ConditionBuilderControlSchema extends FormBaseControlSchema {
/**
* 指定为
*/
type: 'condition-builder';
/**
* embed情况下, 弹窗的标题
*/
title?: string;
/** @see {ConditionBuilderProps.embed} */
embed?: boolean;
/** @see {ConditionBuilderProps.pickerIcon} */
pickerIcon?: IconSchema;
/** @see {ConditionBuilderProps.funcs} */
funcs?: ConditionBuilderFuncs;
/** @see {ConditionBuilderProps.fields} */
fields: ConditionBuilderFields;
/** @see {ConditionBuilderProps.config} */
config?: ConditionBuilderConfig;
/**
* 通过远程拉取配置项
*/
source?: SchemaApi | SchemaTokenizeableString;
/** @see {ConditionBuilderProps.builderMode} */
builderMode?: 'simple' | 'full';
/** @see {ConditionBuilderProps.showANDOR} */
showANDOR?: boolean;
/** @see {ConditionBuilderProps.draggable} */
draggable?: boolean;
/** @see {ConditionBuilderProps.labelAND} */
labelAND?: string;
/** @see {ConditionBuilderProps.labelOR} */
labelOR?: string;
/**
* 项的样式类
*/
itemClassName?: SchemaClassName;
/**
* 值的样式类
*/
valueClassName?: SchemaClassName;
}
export interface ConditionBuilderControlProps extends FormControlProps, Omit<ConditionBuilderControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
}