summary refs log tree commit diff
path: root/webclient/home
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2014-11-04 15:57:23 +0000
committerMark Haines <mark.haines@matrix.org>2014-11-04 15:57:23 +0000
commit89ba802b23bf1fd22afbc5e9a4b3b732264e3c18 (patch)
tree34b7803cf8dfb570165c1b1c6f674dc5ca4476c7 /webclient/home
parentMerge pull request #11 from matrix-org/webclient-room-data-restructure (diff)
downloadsynapse-89ba802b23bf1fd22afbc5e9a4b3b732264e3c18.tar.xz
Move webclient to a python module so that it can be installed
Diffstat (limited to 'webclient/home')
-rw-r--r--webclient/home/home-controller.js200
-rw-r--r--webclient/home/home.html78
2 files changed, 0 insertions, 278 deletions
diff --git a/webclient/home/home-controller.js b/webclient/home/home-controller.js
deleted file mode 100644
index 3a48e64ab4..0000000000
--- a/webclient/home/home-controller.js
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
-Copyright 2014 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-'use strict';
-
-angular.module('HomeController', ['matrixService', 'eventHandlerService', 'RecentsController'])
-.controller('HomeController', ['$scope', '$location', 'matrixService', 'eventHandlerService', 
-                               function($scope, $location, matrixService, eventHandlerService) {
-
-    $scope.config = matrixService.config();
-    $scope.public_rooms = [];
-    $scope.newRoomId = "";
-    $scope.feedback = "";
-    
-    $scope.newRoom = {
-        room_id: "",
-        private: false
-    };
-    
-    $scope.goToRoom = {
-        room_id: ""
-    };
-
-    $scope.joinAlias = {
-        room_alias: ""
-    };
-    
-    $scope.profile = {
-        displayName: "",
-        avatarUrl: ""
-    };
-    
-    $scope.newChat = {
-        user: ""
-    };
-
-    var refresh = function() {
-        
-        matrixService.publicRooms().then(
-            function(response) {
-                $scope.public_rooms = response.data.chunk;
-                for (var i = 0; i < $scope.public_rooms.length; i++) {
-                    var room = $scope.public_rooms[i];
-
-                    // Add room_alias & room_display_name members
-                    angular.extend(room, matrixService.getRoomAliasAndDisplayName(room));
-                    
-                }
-            }
-        );
-    };
-    
-    $scope.createNewRoom = function(room_alias, isPrivate) {
-        
-        var visibility = "public";
-        if (isPrivate) {
-            visibility = "private";
-        }
-        
-        matrixService.create(room_alias, visibility).then(
-            function(response) { 
-                // This room has been created. Refresh the rooms list
-                console.log("Created room " + response.data.room_alias + " with id: "+
-                response.data.room_id);
-                matrixService.createRoomIdToAliasMapping(
-                    response.data.room_id, response.data.room_alias);
-            },
-            function(error) {
-                $scope.feedback = "Failure: " + JSON.stringify(error.data);
-            });
-    };
-    
-    // Go to a room
-    $scope.goToRoom = function(room_id) {
-        matrixService.join(room_id).then(
-            function(response) {
-                var final_room_id = room_id;
-                if (response.data.hasOwnProperty("room_id")) {
-                    final_room_id = response.data.room_id;
-                }
-
-                // TODO: factor out the common housekeeping whenever we try to join a room or alias
-                matrixService.roomState(final_room_id).then(
-                    function(response) {
-                        eventHandlerService.handleEvents(response.data, false, true);
-                    },
-                    function(error) {
-                        $scope.feedback = "Failed to get room state for: " + final_room_id;
-                    }
-                );                                        
-
-                $location.url("room/" + final_room_id);
-            },
-            function(error) {
-                $scope.feedback = "Can't join room: " + JSON.stringify(error.data);
-            }
-        );
-    };
-
-    $scope.joinAlias = function(room_alias) {
-        matrixService.joinAlias(room_alias).then(
-            function(response) {
-                // TODO: factor out the common housekeeping whenever we try to join a room or alias
-                matrixService.roomState(response.room_id).then(
-                    function(response) {
-                        eventHandlerService.handleEvents(response.data, false, true);
-                    },
-                    function(error) {
-                        $scope.feedback = "Failed to get room state for: " + response.room_id;
-                    }
-                );                                        
-                // Go to this room
-                $location.url("room/" + room_alias);
-            },
-            function(error) {
-                $scope.feedback = "Can't join room: " + JSON.stringify(error.data);
-            }
-        );
-    };
-    
-    // FIXME: factor this out between user-controller and home-controller etc.
-    $scope.messageUser = function() {    
-        
-        // FIXME: create a new room every time, for now
-        
-        matrixService.create(null, 'private').then(
-            function(response) { 
-                // This room has been created. Refresh the rooms list
-                var room_id = response.data.room_id;
-                console.log("Created room with id: "+ room_id);
-                
-                matrixService.invite(room_id, $scope.newChat.user).then(
-                    function() {
-                        $scope.feedback = "Invite sent successfully";
-                        $scope.$parent.goToPage("/room/" + room_id);
-                    },
-                    function(reason) {
-                        $scope.feedback = "Failure: " + JSON.stringify(reason);
-                    });
-            },
-            function(error) {
-                $scope.feedback = "Failure: " + JSON.stringify(error.data);
-            });                
-    };
-    
- 
-    $scope.onInit = function() {
-        // Load profile data
-        // Display name
-        matrixService.getDisplayName($scope.config.user_id).then(
-            function(response) {
-                $scope.profile.displayName = response.data.displayname;
-                var config = matrixService.config();
-                config.display_name = response.data.displayname;
-                matrixService.setConfig(config);
-                matrixService.saveConfig();
-            },
-            function(error) {
-                $scope.feedback = "Can't load display name";
-            } 
-        );
-        // Avatar
-        matrixService.getProfilePictureUrl($scope.config.user_id).then(
-            function(response) {
-                $scope.profile.avatarUrl = response.data.avatar_url;
-            },
-            function(error) {
-                $scope.feedback = "Can't load avatar URL";
-            } 
-        );
-
-        // Listen to room creation event in order to update the public rooms list
-        $scope.$on(eventHandlerService.ROOM_CREATE_EVENT, function(ngEvent, event, isLive) {
-            if (isLive) {
-                // As we do not know if this room is public, do a full list refresh
-                refresh();
-            }
-        });
-
-        refresh();
-    };
-
-    // Clean data when user logs out
-    $scope.$on(eventHandlerService.RESET_EVENT, function() {
-        $scope.public_rooms = [];
-    });
-}]);
diff --git a/webclient/home/home.html b/webclient/home/home.html
deleted file mode 100644
index 0af382916e..0000000000
--- a/webclient/home/home.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<div ng-controller="HomeController" data-ng-init="onInit()">
-
-    <div id="wrapper">
-    
-    <div id="genericHeading">
-        <a href ng-click="goToPage('/')"><img src="img/logo-small.png" width="100" height="43" alt="[matrix]"/></a>
-    </div>
-    
-    <h1>Welcome to homeserver {{ config.homeserver }}</h1>
-    
-    <div>
-        <div class="profile-avatar">
-            <img ng-src="{{ (null !== profile.avatarUrl) ? profile.avatarUrl : 'img/default-profile.png' }}"/>
-        </div>
-        <div id="user-ids">
-            <div id="user-displayname">{{ profile.displayName }}</div>
-            <div>{{ config.user_id }}</div>
-        </div>
-    </div>
-        
-    <h3>Recent conversations</h3>
-        <div ng-include="'recents/recents.html'"></div>
-    <br/>
-
-    <h3>Public rooms</h3>
-    
-    <table class="publicTable">
-        <tbody ng-repeat="room in public_rooms | orderBy:'room_display_name'"
-               class="publicRoomEntry"
-               ng-class="room.room_display_name.toLowerCase().indexOf('#matrix:') === 0 ? 'roomHighlight' : ''">
-            <tr>
-                <td class="publicRoomEntry">
-                    <a href="#/room/{{ room.room_alias ? room.room_alias : room.room_id }}"  >
-                        {{ room.room_display_name }}
-                    </a>
-                </td>
-                <td>
-                    <div class="publicRoomJoinedUsers"
-                         ng-show="room.num_joined_members">
-                        {{ room.num_joined_members }} {{ room.num_joined_members == 1 ? 'user' : 'users' }}
-                    </div>
-                </td>
-            </tr>
-            <tr>
-                <td colspan="2" class="publicRoomTopic">
-                    {{ room.topic }}
-                </td>
-            </tr>
-        </tbody>
-    </table>
-    <br/>
-    
-    <div>
-        <form>
-            <input size="40" ng-model="newRoom.room_alias" ng-enter="createNewRoom(newRoom.room_alias, newRoom.private)" placeholder="(e.g. foo)"/>
-            <input type="checkbox" ng-model="newRoom.private">private
-            <button ng-disabled="!newRoom.room_alias" ng-click="createNewRoom(newRoom.room_alias, newRoom.private)">Create room</button>    
-        </form>
-    </div>
-    <div>
-        <form>
-            <input size="40" ng-model="joinAlias.room_alias" ng-enter="joinAlias(joinAlias.room_alias)" placeholder="(e.g. #foo:example.org)"/>
-            <button ng-disabled="!joinAlias.room_alias" ng-click="joinAlias(joinAlias.room_alias)">Join room</button>    
-        </form>
-    </div>
-    <div>
-        <form>
-            <input size="40" ng-model="newChat.user" ng-enter="messageUser()" placeholder="e.g. @user:domain.com"/>
-            <button ng-disabled="!newChat.user" ng-click="messageUser()">Message user</button>
-        </form>
-    </div>
-    
-    <br/>
-    
-    {{ feedback }}
-
-    </div>    
-</div>