Skip to content
Snippets Groups Projects
Commit 5c3fa979 authored by Awab Al Naqshbandy's avatar Awab Al Naqshbandy
Browse files

Room tree in a separate file

parent c4766519
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@ let loadRoom = function (roomId, objectId) {
}).then((response) => {
return response.json();
}).then((res) => {
appStatus.rooms_list = res.rooms_list;
appStatus.rooms_list = JSON.parse(res.rooms_list);
appStatus.room = new Room(res.id, Room.canvasObjectsFromJson(res.objects), res.last_time, res.parent);
appStatus.current_room = res.id;
updateLayout();
......@@ -72,7 +72,7 @@ let fetchChanges = function () {
}).then((response) => {
return response.json();
}).then((res) => __awaiter(this, void 0, void 0, function* () {
//appStatus.rooms_list = res.rooms_list;
appStatus.rooms_list = JSON.parse(res.rooms_list);
if (res.roomId === appStatus.current_room) { //ignore late changes from a previous room
for (let changedObject of res.objects) {
let found = false;
......
......@@ -18,7 +18,7 @@ let loadRoom = function (roomId: number, objectId?: string | null) {
}).then((response) => {
return response.json();
}).then((res) => {
appStatus.rooms_list = res.rooms_list;
appStatus.rooms_list = JSON.parse(res.rooms_list);
appStatus.room = new Room(res.id, Room.canvasObjectsFromJson(res.objects), res.last_time, res.parent);
appStatus.current_room = res.id;
updateLayout();
......@@ -66,7 +66,7 @@ let fetchChanges = function () {
}).then((response) => {
return response.json();
}).then(async (res) => {
//appStatus.rooms_list = res.rooms_list;
appStatus.rooms_list = JSON.parse(res.rooms_list);
if (res.roomId === appStatus.current_room) { //ignore late changes from a previous room
for (let changedObject of res.objects) {
let found = false;
......
......@@ -7,42 +7,9 @@ use TypeError;
class RoomController
{
private function roomsList(): array
private function roomsList():string
{
$rooms = array();
$handle = @opendir('./storage/rooms');
if ($handle) {
while (($room = readdir($handle))) {
if(str_starts_with($room, "r")){
$rooms[] = $room;
}
}
}
closedir($handle);
$return = [];
for ($i = 0; $i < sizeof($rooms); $i++) {
$json = file_get_contents('./storage/rooms/room' . $i);
$room = json_decode($json);
try{
if(property_exists($room,'parent')){
if(isset($return[$room->parent]) && $return[$room->parent]!=[]){
$return[$room->parent] []= strval($room->id);
}else{
$return[$room->parent] = [strval($room->id)];
}
}else{
$return[$room->id] = [];
}
}catch (TypeError $exception){
var_dump("room:");
var_dump($room);
var_dump("i:");
var_dump($i);
var_dump("json:");
var_dump($json);
}
}
return $return;
return file_get_contents('./storage/rooms/tree');
}
public function delete(int $roomId): void
......@@ -122,9 +89,10 @@ class RoomController
$changedObjects[] = $object;
}
}
$rooms_list = "[]";//json_encode($this->roomsList());
$response = json_decode('{"roomId":' . $roomId . ',"objects": [], "rooms_list": '.$rooms_list.'}');
$response = json_decode('{"roomId":' . $roomId . ',"objects": [], "rooms_list": ""}');
$response->objects = $changedObjects;
$response->rooms_list =$this->roomsList();
echo json_encode($response);
}
} else {
......
{
"room_count": 1
"room_count": 5
}
\ No newline at end of file
{"id":0,"last_time":1671024001030,"objects":[{"id":"835b65ee-febb-407d-8f83-6847f5cdc7c6","x":648,"y":178,"w":176,"h":193,"type":"rectangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671023997778,"fillColor":"#4CAF50","strokeColor":"#00695C","links":["1"],"properties":[{"key":"twertwrt","value":"wetrwert"},{"key":"fdsadfs","value":"asfas"},{"key":"fasdfas","value":"asdfas"},{"key":"xcvyx","value":"xycvy"},{"key":"asdfasdf","value":"dfsafa"},{"key":"vxyvcyx","value":"ycvxxvx"}],"x2":824,"y2":178,"x3":824,"y3":371,"x4":648,"y4":371},{"id":"f5be9dac-75a0-4f9f-9d28-9ed1336d61ec","x":324,"y":285,"w":0,"h":0,"type":"triangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671023998910,"fillColor":"#085900","strokeColor":"#0e8e00","links":["1\/656de9d9-cb65-4584-99f9-cdf219431d9a"],"properties":[],"x2":439,"y2":369,"x3":323,"y3":451},{"id":"95171cbd-a5c8-4eea-ae54-ad308b2cfc39","x":67,"y":186,"w":0,"h":0,"type":"triangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671024001030,"fillColor":"#085900","strokeColor":"#0e8e00","links":[],"properties":[],"x2":185,"y2":220.5,"x3":67,"y3":252},{"id":"759ea234-d009-47e8-afc0-665b58d6c3df","x":180,"y":38,"w":371,"h":57,"type":"text","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1670716465623,"fillColor":"#42A5F5","strokeColor":"#0D47A1","links":[],"properties":[],"fontSize":48,"content":"Just a simple text"}]}
\ No newline at end of file
{"id":0,"last_time":1671027895239,"objects":[{"id":"835b65ee-febb-407d-8f83-6847f5cdc7c6","x":622,"y":45,"w":176,"h":193,"type":"rectangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671027409639,"fillColor":"#4CAF50","strokeColor":"#00695C","links":["1"],"properties":[{"key":"twertwrt","value":"wetrwert"},{"key":"fdsadfs","value":"asfas"},{"key":"fasdfas","value":"asdfas"},{"key":"xcvyx","value":"xycvy"},{"key":"asdfasdf","value":"dfsafa"},{"key":"vxyvcyx","value":"ycvxxvx"}],"x2":798,"y2":45,"x3":798,"y3":238,"x4":622,"y4":238},{"id":"f5be9dac-75a0-4f9f-9d28-9ed1336d61ec","x":327,"y":285,"w":0,"h":0,"type":"triangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671027895239,"fillColor":"#085900","strokeColor":"#0e8e00","links":["1\/656de9d9-cb65-4584-99f9-cdf219431d9a"],"properties":[],"x2":442,"y2":369,"x3":326,"y3":451},{"id":"95171cbd-a5c8-4eea-ae54-ad308b2cfc39","x":67,"y":186,"w":0,"h":0,"type":"triangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671024001030,"fillColor":"#085900","strokeColor":"#0e8e00","links":[],"properties":[],"x2":185,"y2":220.5,"x3":67,"y3":252},{"id":"759ea234-d009-47e8-afc0-665b58d6c3df","x":180,"y":58,"w":371,"h":57,"type":"text","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671027408738,"fillColor":"#42A5F5","strokeColor":"#0D47A1","links":[],"properties":[],"fontSize":48,"content":"Just a simple text"}]}
\ No newline at end of file
{"id":1,"last_time":1670716470173,"parent":"0","objects":[{"id":"656de9d9-cb65-4584-99f9-cdf219431d9a","x":121,"y":63,"w":184,"h":213,"type":"rectangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1670716470173,"fillColor":"#085900","strokeColor":"#0e8e00","links":["0\/b5b5b7ba-ae24-4cf9-9fa9-482266fc913a"],"properties":[],"x2":305,"y2":63,"x3":305,"y3":276,"x4":121,"y4":276}]}
\ No newline at end of file
{"id":1,"last_time":1671027899239,"parent":"0","objects":[{"id":"656de9d9-cb65-4584-99f9-cdf219431d9a","x":302,"y":41,"w":288,"h":213,"type":"rectangle","isDragged":false,"isSelected":true,"isDeleted":false,"last_time":1671027899239,"fillColor":"#085900","strokeColor":"#0e8e00","links":["0\/b5b5b7ba-ae24-4cf9-9fa9-482266fc913a"],"properties":[],"x2":590,"y2":41,"x3":590,"y3":254,"x4":302,"y4":254}]}
\ No newline at end of file
{"0": ["1","2"],"1": ["4"],"2": ["3"]}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment