import { drawerManager as DrawerManager } from "./drawer-manager"; import { app as App } from "../../app"; import { selector as Selector } from "../application/selector"; import { Action } from "../models/application/actions/action"; export class Drawer { constructor() { this.component; this.drawerManager = DrawerManager; this.drawing = false; this.states = []; this.state = undefined; this.konvaObject; this.elementClass = undefined; } onDragMove() {} setElementClass(elementClass) { this.elementClass = elementClass; } setState(state) { this.state = state; } clearState() { this.state = undefined; } setStatus(status) { App.setStatus(status); } clear() { this.reset(); App.clearSelectedTool(); } reset() { this.clearState(); this.setStatus(""); Selector.clear(); } addAggregator(aggregator) { this.addAction(new Action(aggregator.genericObject)); DrawerManager.addAggregator(aggregator); } draw(object) { Drawer.drawObject(object); } batchDraw() { Drawer.stageBatchDraw(); } update(aggregator, event) { throw "Not implemented exception"; } setKonvaObject(konvaObject) { this.konvaObject = konvaObject; } addAction(action) { this.drawerManager.addAction(action); } static setMaxIndex(object) { object.zIndex(Number.MAX_SAFE_INTEGER); Drawer.stageBatchDraw(); } static drawObject(object) { DrawerManager.draw(object); } static getKonvaGroup(draggable) { if (draggable == undefined) draggable = true; const group = new Konva.Group({ draggable: draggable, resizeEnabled: draggable }); return group; } static stageBatchDraw() { DrawerManager.batchDraw(); } }