lowcode-engine/packages/shell/src/locate-event.ts

48 lines
1.0 KiB
TypeScript

import { LocateEvent as InnerLocateEvent } from '@alilc/lowcode-designer';
import { locateEventSymbol } from './symbols';
import DragObject from './drag-object';
export default class LocateEvent {
private readonly [locateEventSymbol]: InnerLocateEvent;
constructor(locateEvent: InnerLocateEvent) {
this[locateEventSymbol] = locateEvent;
}
static create(locateEvent: InnerLocateEvent) {
if (!locateEvent) return null;
return new LocateEvent(locateEvent);
}
get type() {
return this[locateEventSymbol].type;
}
get globalX() {
return this[locateEventSymbol].globalX;
}
get globalY() {
return this[locateEventSymbol].globalY;
}
get originalEvent() {
return this[locateEventSymbol].originalEvent;
}
get target() {
return this[locateEventSymbol].target;
}
get canvasX() {
return this[locateEventSymbol].canvasX;
}
get canvasY() {
return this[locateEventSymbol].canvasY;
}
get dragObject() {
return DragObject.create(this[locateEventSymbol].dragObject);
}
}