@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
36 lines (35 loc) • 1.49 kB
TypeScript
import { VelcronComponentPropertyEditors, VelcronDescriptorTypes, VelcronDataTypes } from "./Enums";
import { VelcroncomponentArrayType, VelcronPrimitiveType } from "./VelcronTypes";
export interface VelcronDescriptor {
descriptorType: VelcronDescriptorTypes;
icon: string;
}
export interface VelcronComponentDescriptor extends VelcronDescriptor {
descriptorType: VelcronDescriptorTypes.component;
type: string;
icon: string;
properties?: Array<VelcronComponentPropertyDescriptor | VelcronComponentArrayPropertyDescriptor>;
events?: Array<VelcronComponentEventDescriptor>;
}
export interface VelcronSubComponentDescriptor extends VelcronDescriptor {
descriptorType: VelcronDescriptorTypes.subComponent;
type: string;
icon: string;
properties?: Array<VelcronComponentPropertyDescriptor | VelcronComponentArrayPropertyDescriptor>;
events?: Array<VelcronComponentEventDescriptor>;
}
export interface VelcronComponentPropertyDescriptor {
name: string;
type: VelcronDataTypes;
editor?: VelcronComponentPropertyEditors;
required?: boolean;
defaultValue?: VelcronPrimitiveType | VelcroncomponentArrayType;
disableRemovePropertyOnEmptyOrFalse?: boolean;
}
export interface VelcronComponentArrayPropertyDescriptor extends VelcronComponentPropertyDescriptor {
type: VelcronDataTypes.componentArray;
subComponent: VelcronSubComponentDescriptor;
}
export interface VelcronComponentEventDescriptor {
name: string;
}