diff --git a/webclient/app-controller.js b/webclient/app-controller.js
index 80474bb8df..42c45f7c31 100644
--- a/webclient/app-controller.js
+++ b/webclient/app-controller.js
@@ -21,8 +21,8 @@ limitations under the License.
'use strict';
angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'eventStreamService'])
-.controller('MatrixWebClientController', ['$scope', '$location', '$rootScope', 'matrixService', 'mPresence', 'eventStreamService',
- function($scope, $location, $rootScope, matrixService, mPresence, eventStreamService) {
+.controller('MatrixWebClientController', ['$scope', '$location', '$rootScope', 'matrixService', 'mPresence', 'eventStreamService', 'matrixPhoneService',
+ function($scope, $location, $rootScope, matrixService, mPresence, eventStreamService, matrixPhoneService) {
// Check current URL to avoid to display the logout button on the login page
$scope.location = $location.path();
@@ -36,6 +36,12 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
eventStreamService.resume();
mPresence.start();
}
+
+ $scope.user_id;
+ var config = matrixService.config();
+ if (config) {
+ $scope.user_id = matrixService.config().user_id;
+ }
/**
* Open a given page.
@@ -45,6 +51,16 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
$location.url(url);
};
+ // Open the given user profile page
+ $scope.goToUserPage = function(user_id) {
+ if (user_id === $scope.user_id) {
+ $location.url("/settings");
+ }
+ else {
+ $location.url("/user/" + user_id);
+ }
+ };
+
// Logs the user out
$scope.logout = function() {
@@ -69,13 +85,30 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
$scope.logout();
});
- $scope.requestNotifications = function() {
- if (window.Notification) {
- console.log("Notification.permission: " + window.Notification.permission);
- window.Notification.requestPermission(function(){});
- }
+ $scope.updateHeader = function() {
+ $scope.user_id = matrixService.config().user_id;
+ };
+
+ $rootScope.$on(matrixPhoneService.INCOMING_CALL_EVENT, function(ngEvent, call) {
+ console.trace("incoming call");
+ call.onError = $scope.onCallError;
+ call.onHangup = $scope.onCallHangup;
+ $rootScope.currentCall = call;
+ });
+
+ $scope.answerCall = function() {
+ $scope.currentCall.answer();
+ };
+
+ $scope.hangupCall = function() {
+ $scope.currentCall.hangup();
+ $scope.currentCall = undefined;
};
-}]);
+ $rootScope.onCallError = function(errStr) {
+ $scope.feedback = errStr;
+ }
-
+ $rootScope.onCallHangup = function() {
+ }
+}]);
|