Changeset 0c6b92a for imaps-frontend/src/scripts/shapes/Entrance.js
- Timestamp:
- 12/12/24 17:06:06 (5 weeks ago)
- Branches:
- main
- Parents:
- d565449
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
imaps-frontend/src/scripts/shapes/Entrance.js
rd565449 r0c6b92a 1 import Konva from "konva"; 2 import MapShape from "./MapShape"; 3 import { _registerNode } from "konva/lib/Global"; 4 export default class Entrance extends MapShape { 5 constructor(mousePos, blockSize, layer, rotation, snap,id,scaleX = 1, scaleY = 1) { 6 super( 7 { 8 x: mousePos.x, 9 y: mousePos.y, 10 width: blockSize * scaleX, 11 height: blockSize * 2 * scaleY, 12 fill: "#0051ff", 13 stroke: "grey", 14 strokeWidth: 1, 15 opacity: 0.7, 16 name: "mapObj", 17 draggable: true, 18 rotation: rotation, 19 zIndex: 1, 20 }, 21 layer, 22 blockSize, 23 snap 24 ); 25 this.type = "Entrance"; 26 this.modalEventName = "openEntranceModalEvent"; 1 import {_registerNode} from "konva/lib/Global"; 2 import MapNode from "../base/MapNode.js"; 3 import {node} from "prop-types"; 27 4 28 this.id = id; 5 export default class Entrance extends MapNode { 29 6 30 this._info = { 31 name: `Entrance ${id}`, 32 connectedRoom: "", 33 description: "", 34 isMainEntrance: false, 35 selectedPin: "", 36 selectedPins: [], 37 }; 7 constructor(attrs, id) { 38 8 39 this.initText(); 40 } 9 if (!attrs.fromLoad) { 10 attrs.height *= 2; 11 } 12 super( 13 { 14 x: attrs.position.x, 15 y: attrs.position.y, 16 width: attrs.width, 17 height: attrs.height, 18 fill: "rgb(126,238,167)", 19 stroke: "#252627", 20 strokeWidth: 1, 21 opacity: 0.9, 22 name: "mapObj", 23 draggable: true, 24 rotation: attrs.rotation, 25 zIndex: 1, 26 }, 27 attrs.layer, 28 attrs.blockSize, 29 attrs.snap 30 ); 31 this.type = "Entrance"; 32 this.eventName = "openEntranceModalEvent"; 33 this.floorNum = attrs.floorNum 41 34 42 loadInfo(attrs) { 43 this.info.name = attrs.obj_name; 44 this.info.connectedRoom = attrs.connected_room; 45 this.info.description = attrs.description; 46 this.info.isMainEntrance = attrs.is_main_entrance; 47 this.info.selectedPins = attrs.connected_pins; 48 } 35 this.id = id; 49 36 50 saveShapeDetails() { 51 this.setAttr("connected_pins", this.info.selectedPins); 52 this.setAttr("obj_name", this.info.name); 53 this.setAttr("description", this.info.description); 54 this.setAttr("is_main_entrance", this.info.isMainEntrance); 55 this.setAttr("connected_room", this.info.connectedRoom); 56 } 37 this._info = { 38 name: `Entrance${id} [${this.floorNum}F]`, 39 connectedRoom: "", 40 description: "", 41 isMainEntrance: false, 42 selectedPin: "", 43 selectedPins: [], 44 }; 45 46 this.initText(); 47 this.moveToTop(); 48 } 49 50 loadInfo(attrs) { 51 this.info.name = attrs.obj_name; 52 this.info.connectedRoom = attrs.connected_room; 53 this.info.description = attrs.description; 54 this.info.isMainEntrance = attrs.is_main_entrance; 55 this.info.selectedPins = attrs.connected_pins; 56 this.floorNum = attrs.floor_num; 57 } 58 59 saveShapeDetails() { 60 console.info("fnum entrance",this.attrs.floorNum) 61 62 this.setAttr("connected_pins", this.info.selectedPins); 63 this.setAttr("obj_name", this.info.name); 64 this.setAttr("description", this.info.description); 65 this.setAttr("is_main_entrance", this.info.isMainEntrance); 66 this.setAttr("connected_room", this.info.connectedRoom); 67 this.setAttr("floor_num",this.floorNum); 68 } 69 70 connect(node, draw = true) { 71 if(this.floorNum !== node.floorNum) return; 72 73 super.connect(node) 74 } 75 76 setInfo(infoObj) { 77 console.log("SA VIKNA SETINFO") 78 this.info = infoObj; 79 if(this.info.connectedRoom == null || this.info.connectedRoom === "" ){ 80 this.strokeWidth(2); 81 this.stroke("#a10114") 82 }else{ 83 this.strokeWidth(1) 84 this.stroke("black") 85 } 86 } 57 87 } 58 88
Note:
See TracChangeset
for help on using the changeset viewer.