]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8002 - Verto Communicator - Using toastr to prompt popup
authorStefan Yohansson <stefan@evolux.net.br>
Fri, 21 Aug 2015 19:14:54 +0000 (16:14 -0300)
committerroot <root@dev-vm1.evolux.net.br>
Fri, 21 Aug 2015 21:02:51 +0000 (18:02 -0300)
html5/verto/verto_communicator/js/app.js
html5/verto/verto_communicator/js/controllers.js

index 98a4d4931f15a9cca0af476f4247df80428e03b0..1fcabae3c982a9921a679722adaefaad50a0e6f9 100644 (file)
@@ -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
+    });
   }
 ]);
 
index a4bfd07b505adc209a60bd11c84f244d15ad8000..eb635869bc9838cd9e89ef1d53d72779d0da602f 100644 (file)
@@ -463,9 +463,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() {
@@ -496,11 +496,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();
@@ -803,7 +816,6 @@ vertoControllers.controller('InCallController', ['$rootScope', '$scope',
     $scope.dialpadTemplate = '';
     $scope.incall = true;
 
-
     if (storage.data.videoCall) {
       $scope.callTemplate = 'partials/video_call.html';
     }