summary refs log tree commit diff
path: root/webclient/rooms/rooms-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'webclient/rooms/rooms-controller.js')
-rw-r--r--webclient/rooms/rooms-controller.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/webclient/rooms/rooms-controller.js b/webclient/rooms/rooms-controller.js
index 58420e0eb2..33912d63f9 100644
--- a/webclient/rooms/rooms-controller.js
+++ b/webclient/rooms/rooms-controller.js
@@ -18,6 +18,10 @@ angular.module('RoomsController', ['matrixService'])
         room_id: "",
     };
 
+    $scope.joinAlias = {
+        room_alias: "",
+    };
+
     $scope.newProfileInfo = {
         name: matrixService.config().displayName,
         avatar: matrixService.config().avatarUrl
@@ -106,6 +110,22 @@ angular.module('RoomsController', ['matrixService'])
         );
     };
 
+    $scope.joinAlias = function(room_alias) {
+        matrixService.joinAlias(room_alias).then(
+            function(response) {
+                if (response.hasOwnProperty("room_id")) {
+                    $location.path("room/" + response.room_id);
+                    return;
+                } else {
+                    // TODO (erikj): Do something here?
+                }
+            },
+            function(reason) {
+                $scope.feedback = "Can't join room: " + reason;
+            }
+        );
+    };
+
     $scope.setDisplayName = function(newName) {
         matrixService.setDisplayName(newName).then(
             function(response) {