@dineug/erd-editor
Version:
Entity-Relationship Diagram Editor
58 lines (57 loc) • 1.67 kB
TypeScript
import { Reducer } from '@dineug/r-html';
import { EngineContext } from '../../context';
import { RootState } from '../../state';
import { ValuesType } from '../../../internal-types';
export declare const ActionType: {
readonly addTable: "table.add";
readonly moveTable: "table.move";
readonly moveToTable: "table.moveTo";
readonly removeTable: "table.remove";
readonly changeTableName: "table.changeName";
readonly changeTableComment: "table.changeComment";
readonly changeTableColor: "table.changeColor";
readonly changeZIndex: "table.changeZIndex";
readonly sortTable: "table.sort";
};
export type ActionType = ValuesType<typeof ActionType>;
export type ActionMap = {
[ActionType.addTable]: {
id: string;
ui: {
x: number;
y: number;
zIndex: number;
};
};
[ActionType.moveTable]: {
movementX: number;
movementY: number;
ids: string[];
};
[ActionType.moveToTable]: {
id: string;
x: number;
y: number;
};
[ActionType.removeTable]: {
id: string;
};
[ActionType.changeTableName]: ChangeTableValuePayload;
[ActionType.changeTableComment]: ChangeTableValuePayload;
[ActionType.changeTableColor]: {
id: string;
color: string;
prevColor: string;
};
[ActionType.changeZIndex]: {
id: string;
zIndex: number;
};
[ActionType.sortTable]: void;
};
export type ReducerType<T extends keyof ActionMap> = Reducer<RootState, T, ActionMap, EngineContext>;
type ChangeTableValuePayload = {
id: string;
value: string;
};
export {};