@dineug/erd-editor
Version:
Entity-Relationship Diagram Editor
74 lines (73 loc) • 2.15 kB
TypeScript
import { Point, ValuesType } from '../../../internal-types';
export type Editor = {
id: string;
selectedMap: Record<string, SelectType>;
hasUndo: boolean;
hasRedo: boolean;
viewport: Viewport;
focusTable: FocusTable | null;
drawRelationship: DrawRelationship | null;
hoverColumnMap: Record<string, boolean>;
hoverRelationshipMap: Record<string, boolean>;
openMap: Record<string, boolean>;
draggableColumn: DraggableColumn | null;
draggingColumnMap: Record<string, boolean>;
sharedMouseTrackerMap: Record<string, SharedMouseTracker>;
};
export type Viewport = {
width: number;
height: number;
};
export type FocusTable = {
tableId: string;
columnId: string | null;
focusType: FocusType;
selectColumnIds: string[];
prevSelectColumnId: string | null;
edit: boolean;
};
export type DrawRelationship = {
relationshipType: number;
start: (Point & {
tableId: string;
}) | null;
end: Point;
};
export type DraggableColumn = {
tableId: string;
columnIds: string[];
};
export type SharedMouseTracker = {
id: string;
x: number;
y: number;
nickname: string;
timeoutId: any;
};
export declare const SelectType: {
readonly table: "table";
readonly memo: "memo";
};
export type SelectType = ValuesType<typeof SelectType>;
export declare const FocusType: {
readonly tableName: "tableName";
readonly tableComment: "tableComment";
readonly columnName: "columnName";
readonly columnDataType: "columnDataType";
readonly columnNotNull: "columnNotNull";
readonly columnUnique: "columnUnique";
readonly columnAutoIncrement: "columnAutoIncrement";
readonly columnDefault: "columnDefault";
readonly columnComment: "columnComment";
};
export type FocusType = ValuesType<typeof FocusType>;
export declare const MoveKey: {
ArrowUp: string;
ArrowRight: string;
ArrowDown: string;
ArrowLeft: string;
Tab: string;
};
export type MoveKey = ValuesType<typeof MoveKey>;
export declare const hasMoveKeys: (value: string) => boolean;
export declare const createEditor: () => Editor;