mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-05 17:57:13 +00:00
30 lines
749 B
TypeScript
30 lines
749 B
TypeScript
import { DragObject as InnerDragObject, DragNodeDataObject } from '@alilc/lowcode-designer';
|
|
import { dragObjectSymbol } from './symbols';
|
|
import Node from './node';
|
|
|
|
export default class DragObject {
|
|
private readonly [dragObjectSymbol]: InnerDragObject;
|
|
|
|
constructor(dragObject: InnerDragObject) {
|
|
this[dragObjectSymbol] = dragObject;
|
|
}
|
|
|
|
static create(dragObject: InnerDragObject) {
|
|
if (!dragObject) return null;
|
|
return new DragObject(dragObject);
|
|
}
|
|
|
|
get type() {
|
|
return this[dragObjectSymbol].type;
|
|
}
|
|
|
|
get nodes() {
|
|
const { nodes } = this[dragObjectSymbol];
|
|
if (!nodes) return null;
|
|
return nodes.map(Node.create);
|
|
}
|
|
|
|
get data() {
|
|
return (this[dragObjectSymbol] as DragNodeDataObject).data;
|
|
}
|
|
} |