refactor: moving connector label to connector view (#11738)
### Changed Moved connector label moving logic from `default-tool` to connector view. #### Other infrastructure changes: - Gfx element view now can handles drag events - Added `context.preventDefault()` support to bypass built-in interactions in extension - Handle the pointer events in element view will bypass the built-in interactions automatically > The built-in interactions include element dragging, click selection, drag-to-scale operations, etc.
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import type { PointerEventState, UIEventState } from '../../event';
|
||||
|
||||
export type SupportedEvents =
|
||||
| 'click'
|
||||
| 'dblclick'
|
||||
@@ -5,4 +7,42 @@ export type SupportedEvents =
|
||||
| 'pointerenter'
|
||||
| 'pointerleave'
|
||||
| 'pointermove'
|
||||
| 'pointerup';
|
||||
| 'pointerup'
|
||||
| 'dragstart'
|
||||
| 'dragmove'
|
||||
| 'dragend';
|
||||
|
||||
export type GfxInteractivityContext<
|
||||
EventState extends UIEventState = PointerEventState,
|
||||
RawEvent extends Event = EventState['event'],
|
||||
> = {
|
||||
event: EventState;
|
||||
|
||||
/**
|
||||
* The raw dom event.
|
||||
*/
|
||||
raw: RawEvent;
|
||||
|
||||
/**
|
||||
* Prevent the default gfx interaction
|
||||
*/
|
||||
preventDefault: () => void;
|
||||
};
|
||||
|
||||
export const createInteractionContext = (event: PointerEventState) => {
|
||||
let preventDefaultState = false;
|
||||
|
||||
return {
|
||||
context: {
|
||||
event,
|
||||
raw: event.raw,
|
||||
preventDefault: () => {
|
||||
preventDefaultState = true;
|
||||
event.raw.preventDefault();
|
||||
},
|
||||
},
|
||||
get preventDefaultState() {
|
||||
return preventDefaultState;
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user