]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7800 [verto_communicator] - Added Canvas controls and now opening popup with origi...
authorJaon EarlWolf <jamonsterr@gmail.com>
Fri, 27 Nov 2015 21:03:13 +0000 (18:03 -0300)
committerJaon EarlWolf <jamonsterr@gmail.com>
Fri, 27 Nov 2015 21:03:13 +0000 (18:03 -0300)
html5/verto/verto_communicator/src/partials/chat.html
html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js
html5/verto/verto_communicator/src/vertoControllers/controllers/InCallController.js
html5/verto/verto_communicator/src/vertoService/services/vertoService.js

index 23797d0b51cd2d64e2228b597f805c11a54973d2..81eaf12912ef3d41183b288ee5a35ce819f8bf50 100644 (file)
                 Transfer
               </a>
             </li>
+            <li>
+              <a href="" ng-click="confCanvasIn(member.id)">
+                <span class="mdi-fw  mdi-image-switch-video"></span>
+                Canvas In
+              </a>
+            </li>
+            <li>
+              <a href="" ng-click="confCanvasOut(member.id)">
+                <span class="mdi-fw mdi-action-swap-horiz"></span>
+                Canvas Out
+              </a>
+            </li>
+            <li>
+              <a href="" ng-click="confLayer(member.id)">
+                <span class="mdi-fw mdi-action-view-carousel"></span>
+                Layer
+              </a>
+            </li>
           </ul>
         </div>
       </div>
index 99c6359c965311e7364937f819893f122bd315f4..1e725857d2a220ecc6fb09e2cf79fa9f107ff16b 100644 (file)
         });
       };
 
+      $scope.confCanvasIn = function(memberID, canvasID) {
+        if (canvasID) {
+          verto.setCanvasIn(memberID, canvasID);
+          return;
+        }
+
+        shortPrompt('Please insert the Canvas Id', function(canvasID) {
+          console.log(memberID, canvasID);
+          verto.setCanvasIn(memberID, canvasID);
+        });
+
+      };
+
+      $scope.confCanvasOut = function(memberID, canvasID) {
+        if (canvasID) {
+          verto.setCanvasOut(memberID, canvasID);
+          return;
+        }
+
+        shortPrompt('Please insert the Canvas Id', function(canvasID) {
+          verto.setCanvasOut(memberID, canvasID);
+        });
+      };
+
+      $scope.confLayer = function(memberID, canvasID) {
+        if (canvasID) {
+          verto.setLayer(memberID, canvasID);
+          return;
+        }
+
+        shortPrompt('Please insert the Layer', function(canvasID) {
+          verto.setLayer(memberID, canvasID);
+        });
+      };
+
       $scope.confResetBanner = function(memberID) {
         console.log('$scope.confResetBanner');
         var text = 'reset';
           }
         });
       };
+
+      function shortPrompt(text, cb) {
+        prompt({
+          title: text,
+          input: true,
+          label: '',
+          value: '',
+        }).then(function(val) {
+          if (val && cb) {
+            cb(val);
+          }
+        });
+      }
     }
   ]);
 
index 10887d3195598597427503d6306cb56b9a4bd8d1..ab59171d85f232d91eac13017c28d92fee95b160 100644 (file)
         };
 
         $scope.confPopup = function(canvas_id) {
+          var video = document.getElementById('webcam');
           var s = window.location.href;
           var curCall = verto.data.call.callID;
           var extension = verto.data.call.params.remote_caller_id_number;
-          var width = 465, height = 360;
-          var x = screen.width/2 - width/2
-          var y = screen.height/2 - height/2
+          var width = webcam.offsetWidth;
+          var height = webcam.offsetHeight + 100;
+          var x = (screen.width - width)/2
+          var y = (screen.height - height)/2
 
           s = s.replace(/\#.*/, '');
           s += "#/?sessid=random&master=" + curCall + "&watcher=true&extension=" + extension+ "&canvas_id=" + canvas_id;
index 68ed52c4bc385ed4d92712201a104c42f059f15e..480ccb13ac91044b26d761a988ffc63649cdc6af 100644 (file)
@@ -919,6 +919,15 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
       sendConferenceChat: function(message) {
         data.conf.sendChat(message, "message");
       },
+      setCanvasIn: function(memberID, canvasID) {
+        data.conf.modCommand('vid-canvas', memberID, canvasID);
+      },
+      setCanvasOut: function(memberID, canvasID) {
+        data.conf.modCommand('vid-watching-canvas', memberID, canvasID);
+      },
+      setLayer: function(memberID, canvasID) {
+        data.conf.modCommand('vid-layer', memberID, canvasID);
+      },
       /*
       * Method is used to send user2user chats.
       * VC does not yet support that.