diff --git a/html5/verto/verto_communicator/js/app.js b/html5/verto/verto_communicator/js/app.js index 98a4d4931f..1fcabae3c9 100644 --- a/html5/verto/verto_communicator/js/app.js +++ b/html5/verto/verto_communicator/js/app.js @@ -17,8 +17,8 @@ var vertoApp = angular.module('vertoApp', [ 'ui.gravatar', ]); -vertoApp.config(['$routeProvider', 'gravatarServiceProvider', - function($routeProvider, gravatarServiceProvider) { +vertoApp.config(['$routeProvider', 'gravatarServiceProvider', 'toastrConfig', + function($routeProvider, gravatarServiceProvider, toastrConfig) { $routeProvider. when('/login', { title: 'Login', @@ -52,6 +52,10 @@ vertoApp.config(['$routeProvider', 'gravatarServiceProvider', gravatarServiceProvider.defaults = { default: 'mm' // Mystery man as default for missing avatars }; + + angular.extend(toastrConfig, { + maxOpened: 4 + }); } ]); diff --git a/html5/verto/verto_communicator/js/controllers.js b/html5/verto/verto_communicator/js/controllers.js index f2f5f0e1b5..15558d8470 100644 --- a/html5/verto/verto_communicator/js/controllers.js +++ b/html5/verto/verto_communicator/js/controllers.js @@ -462,9 +462,9 @@ vertoControllers.controller('MainController', ['$scope', '$rootScope', vertoControllers.controller('ChatController', ['$scope', '$rootScope', '$http', - '$location', '$anchorScroll', '$timeout', 'verto', + '$location', '$anchorScroll', '$timeout', 'toastr', 'verto', 'storage', function($scope, $rootScope, $http, $location, $anchorScroll, $timeout, - verto) { + toastr, verto, storage) { console.debug('Executing ChatController.'); function scrollToChatBottom() { @@ -495,11 +495,24 @@ vertoControllers.controller('ChatController', ['$scope', '$rootScope', '$http', $rootScope.$on('chat.newMessage', function(event, data) { data.created_at = new Date(); console.log('chat.newMessage', data); + $scope.$apply(function() { $scope.messages.push(data); - if (data.from != verto.data.name && (!$scope.chatStatus || - $scope.activePane != 'chat')) { + if(data.from != storage.data.name && + (angular.element('#wrapper').hasClass('toggled') || + $scope.activePane != 'chat')) { + toastr.info(data.body, data.from, {onHidden: function(clicked) { + if(clicked) { + $scope.chatStatus = false; + angular.element('#wrapper').removeClass('toggled'); + $rootScope.activePane = 'chat'; + $scope.activePane = 'chat'; + $scope.$apply(); + return true; + } + }}); ++$rootScope.chat_counter; + return true; } $timeout(function() { scrollToChatBottom(); @@ -807,7 +820,6 @@ vertoControllers.controller('InCallController', ['$rootScope', '$scope', $scope.dialpadTemplate = ''; $scope.incall = true; - if (storage.data.videoCall) { $scope.callTemplate = 'partials/video_call.html'; }