Skip to content

Commit df6ed69

Browse files
AntamansidAntamansid
andauthored
feat: add double-click event support for graph components (#92)
Co-authored-by: Antamansid <[email protected]>
1 parent 2619cb3 commit df6ed69

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

src/graphEvents.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ export const extractNativeGraphMouseEvent = (event: GraphMouseEvent) => {
1414
return event.detail.sourceEvent instanceof MouseEvent ? event.detail.sourceEvent : null;
1515
};
1616

17-
export type GraphMouseEventNames = "mousedown" | "click" | "mouseenter" | "mouseleave";
17+
export type GraphMouseEventNames = "mousedown" | "click" | "dblclick" | "mouseenter" | "mouseleave";
1818

1919
export interface BaseGraphEventDefinition {
2020
mousedown: (event: GraphMouseEvent) => void;
2121
click: (event: GraphMouseEvent) => void;
22+
dblclick: (event: GraphMouseEvent) => void;
2223
mouseenter: (event: GraphMouseEvent) => void;
2324
mouseleave: (event: GraphMouseEvent) => void;
2425
}
@@ -41,7 +42,7 @@ export interface GraphEventsDefinitions extends BaseGraphEventDefinition {
4142
"colors-changed": (event: CustomEvent<{ colors: TGraphColors }>) => void;
4243
"state-change": (event: CustomEvent<{ state: GraphState }>) => void;
4344
}
44-
const graphMouseEvents = ["mousedown", "click", "mouseenter", "mousemove", "mouseleave"];
45+
const graphMouseEvents = ["mousedown", "click", "dblclick", "mouseenter", "mousemove", "mouseleave"];
4546

4647
export type UnwrapGraphEvents<
4748
Key extends keyof GraphEventsDefinitions,

src/react-component/events.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { GraphEventsDefinitions, UnwrapGraphEvents, UnwrapGraphEventsDetail } fr
22

33
export type TGraphEventCallbacks = {
44
click: (data: UnwrapGraphEventsDetail<"click">, event: UnwrapGraphEvents<"click">) => void;
5+
dblclick: (data: UnwrapGraphEventsDetail<"dblclick">, event: UnwrapGraphEvents<"dblclick">) => void;
56
onCameraChange: (data: UnwrapGraphEventsDetail<"camera-change">, event: UnwrapGraphEvents<"camera-change">) => void;
67
onBlockDragStart: (
78
data: UnwrapGraphEventsDetail<"block-drag-start">,
@@ -30,6 +31,7 @@ export type GraphEvent<T extends keyof TGraphEventCallbacks> = Parameters<TGraph
3031

3132
export const GraphCallbacksMap: Record<keyof TGraphEventCallbacks, keyof GraphEventsDefinitions> = {
3233
click: "click",
34+
dblclick: "dblclick",
3335
onCameraChange: "camera-change",
3436
onBlockDragStart: "block-drag-start",
3537
onBlockDrag: "block-drag",

src/stories/main/GraphEditor.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const action =
2828
const callbacks = {
2929
mousedown: action("mousedown"),
3030
click: action("click"),
31+
dblclick: action("dblclick"),
3132
mouseenter: action("mouseenter"),
3233
mouseleave: action("mouseleave"),
3334
onCameraChange: action("onCameraChange"),

0 commit comments

Comments
 (0)