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';
}