@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
30 lines (29 loc) • 1.88 kB
TypeScript
export type EditorType = 'button-edit' | 'check-box' | 'check-group' | 'combo-list' | 'combo-lookup' | 'combo-tree' | 'date-picker' | 'date-range' | 'datetime-picker' | 'time-picker' | 'datetime-range' | 'events-editor' | 'month-picker' | 'month-range' | 'year-picker' | 'year-range' | 'input-group' | 'lookup' | 'number-range' | 'number-spinner' | 'radio-group' | 'text' | 'response-layout-editor-setting' | 'switch' | 'grid-field-editor' | 'field-selector' | 'schema-selector' | 'mapping-editor' | 'textarea' | 'response-form-layout-setting' | 'binding-selector' | 'query-solution-config' | 'solution-preset' | 'filter-bar-config' | 'item-collection-editor' | 'menu-lookup' | 'response-layout-splitter' | 'json-editor' | 'property-editor' | 'sort-condition-editor' | 'filter-condition-editor' | 'expression-editor' | 'code-editor' | 'collection-property-editor' | 'language-textbox' | 'image' | 'rich-text-editor';
export interface EditorConfig {
/** 编辑器类型 */
type: EditorType;
/** 自定义样式 */
customClass?: string;
/** 禁用 */
disabled?: boolean;
/** 只读 */
readonly?: boolean;
/** 必填 */
required?: boolean;
/** 提示文本 */
placeholder?: string;
/** 其他属性 */
[key: string]: any;
}
export interface FormUnifiedColumnLayout {
uniqueColClassInSM: number;
uniqueColClassInMD: number;
uniqueColClassInLG: number;
uniqueColClassInEL: number;
}
export interface UseResponseFormLayoutSetting {
checkIsInFormComponent: (componentId: string) => boolean;
assembleUnifiedLayoutContext: (propertyData: any) => FormUnifiedColumnLayout;
changeFormControlsByUnifiedLayoutConfig: (formNode: any, unifiedLayout: FormUnifiedColumnLayout, formSchemaId: string) => void;
changeControlClassInByColumn: (controlClass: string, unifiedLayout: FormUnifiedColumnLayout) => string;
}