lowcode-engine/packages/shell/src/drop-location.ts
2022-12-10 11:55:33 +08:00

26 lines
710 B
TypeScript

import {
DropLocation as InnerDropLocation,
} from '@alilc/lowcode-designer';
import { dropLocationSymbol } from './symbols';
import Node from './node';
import { IPublicModelDropLocation } from '@alilc/lowcode-types';
export default class DropLocation implements IPublicModelDropLocation {
private readonly [dropLocationSymbol]: InnerDropLocation;
constructor(dropLocation: InnerDropLocation) {
this[dropLocationSymbol] = dropLocation;
}
static create(dropLocation: InnerDropLocation | null): DropLocation | null {
if (!dropLocation) {
return null;
}
return new DropLocation(dropLocation);
}
get target() {
return Node.create(this[dropLocationSymbol].target);
}
}