From d838992731c1a60a418192eeb4139b2b96e5b1fd Mon Sep 17 00:00:00 2001 From: Simon Eisenmann Date: Thu, 4 Dec 2014 14:40:44 +0100 Subject: [PATCH] Fixed room leaves to main room. --- static/js/directives/page.js | 4 +++- static/js/directives/welcome.js | 10 ++++++++-- static/js/services/rooms.js | 30 ++++++++++++------------------ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/static/js/directives/page.js b/static/js/directives/page.js index 3cb71d9e..791a2833 100644 --- a/static/js/directives/page.js +++ b/static/js/directives/page.js @@ -33,7 +33,9 @@ define(['text!partials/page.html', 'text!partials/page/welcome.html'], function( }); $scope.$on("room.random", function(ev, roomdata) { // Show welcome page on room random events. - $scope.page = "page/welcome.html"; + $timeout(function() { + $scope.page = "page/welcome.html"; + }); }); }; diff --git a/static/js/directives/welcome.js b/static/js/directives/welcome.js index 853ff9ed..c939261d 100644 --- a/static/js/directives/welcome.js +++ b/static/js/directives/welcome.js @@ -43,8 +43,10 @@ define([], function() { }; var roomdata = rooms.getRandomRoom(); + var recreate = true; if (roomdata) { - $scope.roomdata = {name: roomdata.name, placeholder: roomdata.name ? roomdata.name : placeHolder} + $scope.roomdata = {name: roomdata.name, placeholder: roomdata.name ? roomdata.name : placeHolder}; + recreate = false; } else { $scope.roomdata = {placeholder: placeHolder}; } @@ -59,7 +61,11 @@ define([], function() { $scope.$watch("roomdataInput.name", function(name) { if (name === "") { - $scope.randomRoom(); + if (recreate) { + $scope.randomRoom(); + } else { + recreate = true; + } } else { $scope.roomdata.name = name; } diff --git a/static/js/services/rooms.js b/static/js/services/rooms.js index b3413784..2eb264af 100644 --- a/static/js/services/rooms.js +++ b/static/js/services/rooms.js @@ -76,23 +76,17 @@ define([ return; } if (!connector.connected || !currentRoom || requestedRoomName !== currentRoom.Name) { - if (requestedRoomName !== "" || globalContext.Cfg.DefaultRoomEnabled) { - requestedRoomName = requestedRoomName ? requestedRoomName : ""; - if (helloedRoomName !== requestedRoomName) { - console.log("Joining room", requestedRoomName); - helloedRoomName = requestedRoomName; - api.sendHello(requestedRoomName, roompin.get(requestedRoomName), function(room) { - helloedRoomName = null; - setCurrentRoom(room); - }, function(error) { - helloedRoomName = null; - joinFailed(error); - }); - } - } else { - console.log("Default room disabled, requesting a random room."); - setCurrentRoom(null); - rooms.randomRoom(); + requestedRoomName = requestedRoomName ? requestedRoomName : ""; + if (helloedRoomName !== requestedRoomName) { + console.log("Joining room", [requestedRoomName]); + helloedRoomName = requestedRoomName; + api.sendHello(requestedRoomName, roompin.get(requestedRoomName), function(room) { + helloedRoomName = null; + setCurrentRoom(room); + }, function(error) { + helloedRoomName = null; + joinFailed(error); + }); } } }; @@ -108,7 +102,7 @@ define([ $rootScope.$broadcast("room.left", priorRoom.Name); } if (currentRoom) { - console.log("Joined room", currentRoom.Name); + console.log("Joined room", [currentRoom.Name]); $rootScope.$broadcast("room.joined", currentRoom.Name); } };