@gravity-ui/graph
Version:
Modern graph editor component
24 lines (23 loc) • 905 B
JavaScript
export const extractNativeGraphMouseEvent = (event) => {
return event.detail.sourceEvent instanceof MouseEvent ? event.detail.sourceEvent : null;
};
const graphMouseEvents = ["mousedown", "click", "dblclick", "mouseenter", "mousemove", "mouseleave"];
export function isNativeGraphEventName(eventType) {
return graphMouseEvents.includes(eventType);
}
export class GraphEvent extends CustomEvent {
constructor() {
super(...arguments);
this.graphEventDefaultPrevented = false;
this.graphEventPropagationStopped = false;
}
preventGraphEventDefault() {
this.graphEventDefaultPrevented = true;
}
stopGraphEventPropagation() {
this.graphEventPropagationStopped = true;
}
}
export function isGraphEvent(event) {
return (event instanceof CustomEvent && "graphEventDefaultPrevented" in event && "graphEventPropagationStopped" in event);
}