modules/edit-modes/src/lib/edit-mode.ts (19 lines of code) (raw):
/* istanbul ignore file */
import {
ClickEvent,
PointerMoveEvent,
StartDraggingEvent,
StopDraggingEvent,
DraggingEvent,
Tooltip,
ModeProps,
} from '../types';
export interface EditMode<TData, TGuides> {
// Called when the pointer went down and up without dragging regardless of whether something was picked
handleClick(event: ClickEvent, props: ModeProps<TData>): void;
// Called when the pointer moved, regardless of whether the pointer is down, up, and whether something was picked
handlePointerMove(event: PointerMoveEvent, props: ModeProps<TData>): void;
// Called when the pointer went down on something rendered by this layer and the pointer started to move
handleStartDragging(event: StartDraggingEvent, props: ModeProps<TData>): void;
// Called when the pointer went down on something rendered by this layer, the pointer moved, and now the pointer is up
handleStopDragging(event: StopDraggingEvent, props: ModeProps<TData>): void;
// Called when the pointer went down and is moving, regardless of whether something was picked
handleDragging(event: DraggingEvent, props: ModeProps<TData>): void;
// Called when the key is up;
handleKeyUp(event: KeyboardEvent, props: ModeProps<TData>): void;
// Return features that can be used as a guide for editing the data
getGuides(props: ModeProps<TData>): TGuides | undefined;
// Return tooltips
getTooltips(props: ModeProps<TData>): Tooltip[];
}