drawer.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { drawerManager as DrawerManager } from "./drawer-manager";
  2. import { app as App } from "../../app";
  3. export class Drawer {
  4. constructor() {
  5. this.component;
  6. this.drawerManager = DrawerManager;
  7. this.drawing = false;
  8. this.states = [];
  9. this.state = undefined;
  10. this.konvaObject;
  11. }
  12. onDragMove() {}
  13. setState(state) {
  14. console.info(state);
  15. this.state = state;
  16. }
  17. clearState() {
  18. this.state = undefined;
  19. }
  20. setStatus(status) {
  21. App.setStatus(status);
  22. }
  23. clear() {
  24. this.clearState();
  25. App.clearSelectedTool();
  26. this.setStatus("");
  27. }
  28. addAggregator(aggregator) {
  29. DrawerManager.addAggregator(aggregator);
  30. }
  31. draw(object) {
  32. Drawer.drawObject(object);
  33. }
  34. batchDraw() {
  35. Drawer.stageBatchDraw();
  36. }
  37. update(aggregator) {
  38. throw "Not implemented exception";
  39. }
  40. updatePositions(aggregator, event) {
  41. throw "Not implemented exception";
  42. }
  43. setKonvaObject(konvaObject) {
  44. this.konvaObject = konvaObject;
  45. }
  46. static drawObject(object) {
  47. DrawerManager.draw(object);
  48. }
  49. static getKonvaGroup() {
  50. const group = new Konva.Group({
  51. draggable: true,
  52. resizeEnabled: false
  53. });
  54. return group;
  55. }
  56. static stageBatchDraw() {
  57. DrawerManager.batchDraw();
  58. }
  59. }