epic-designer
Version:
基于vue3的设计器,可视化开发页面表单
83 lines (82 loc) • 2.45 kB
TypeScript
import { AsyncComponentLoader, Component, ShallowRef } from 'vue';
import { ComponentSchema } from './epic-designer';
export type ComponentType = AsyncComponentLoader | Component | string;
export interface ActivitybarModel {
component: ComponentType;
icon: string;
id: string;
sort?: number;
title: string;
visible?: boolean;
}
export interface RightSidebarModel {
component: ComponentType;
id: string;
sort?: number;
title: string;
visible?: boolean;
}
export interface ViewsContainersModel {
activityBars: ShallowRef<ActivitybarModel[]>;
rightSidebars: ShallowRef<RightSidebarModel[]>;
}
export type Components = Record<string, ComponentType>;
export interface EventModel {
/**
* @deprecated 此属性用于兼容旧版,后期可能会移除,请使用description属性代替。
*/
describe?: string;
description: string;
type: string;
}
export interface ActionModel extends EventModel {
args?: unknown[];
argsConfigs?: ComponentSchema[];
}
export interface EditConstraintsModel {
childImmovable?: boolean;
fixedField?: boolean;
immovable?: boolean;
locked?: boolean;
}
export interface ComponentConfigModel {
bindModel?: string;
component: ComponentType;
config: {
action?: ActionModel[];
attribute?: ComponentSchema[];
event?: EventModel[];
style?: ComponentSchema[];
};
defaultSchema: ComponentSchema;
editConstraints?: EditConstraintsModel;
groupName?: string;
icon?: string;
isSubTable?: boolean;
priority?: number;
sort?: number;
}
export type ComponentConfigModelRecords = Record<string, ComponentConfigModel>;
export interface PublicMethodModel {
/**
* @deprecated 此属性用于兼容旧版,后期可能会移除,请使用description属性代替。
*/
describe?: string;
description?: string;
handler: Function;
/**
* @deprecated 此属性用于兼容旧版,后期可能会移除,请使用handler属性代替。
*/
method?: Function;
/**
* @deprecated 此属性用于兼容旧版,后期可能会移除,请使用name属性代替。
*/
methodName?: string;
name: string;
}
export type PublicMethodsModel = Record<string, PublicMethodModel>;
export interface ComponentGroup {
list: ComponentSchema[];
title: string;
}
export type ComponentSchemaGroups = ComponentGroup[];