]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8018 [verto_communicator] separation of concerns. Get storage service to manage...
authorJoao Mesquita <jmesquita@indicium.com.ar>
Thu, 27 Aug 2015 22:00:43 +0000 (19:00 -0300)
committerJoao Mesquita <jmesquita@indicium.com.ar>
Thu, 27 Aug 2015 22:00:43 +0000 (19:00 -0300)
html5/verto/verto_communicator/src/partials/modal_settings.html
html5/verto/verto_communicator/src/storageService/services/storage.js
html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js
html5/verto/verto_communicator/src/vertoControllers/controllers/ModalSettingsController.js
html5/verto/verto_communicator/src/vertoService/services/vertoService.js

index 55c0ad22056541d069e764b9b7413e60ceaf86d0..bd7066bd7cd4cc8323b3537d8cfbba9f7a3b3087 100644 (file)
@@ -3,24 +3,24 @@
 </div>
 <div class="modal-body">
 
-  <div class="form-group" ng-show="verto.data.useVideo">
+  <div class="form-group" ng-show="mydata.useVideo">
     <label for="settings-camera">Camera:</label>
     <select name="camera" id="settings-camera" class="form-control"
-            ng-model="verto.data.selectedVideo" ng-options="item.id as item.label for item in verto.data.videoDevices">
+            ng-model="mydata.selectedVideo" ng-options="item.id as item.label for item in verto.data.videoDevices">
     </select>
   </div>
 
-  <div class="form-group" ng-show="verto.data.useVideo">
+  <div class="form-group" ng-show="mydata.useVideo">
     <label for="settings-share-device">Share device:</label>
     <select name="share-device" id="settings-share-device" class="form-control"
-            ng-model="verto.data.selectedShare" ng-options="item.id as item.label for item in verto.data.shareDevices">
+            ng-model="mydata.selectedShare" ng-options="item.id as item.label for item in verto.data.shareDevices">
     </select>
   </div>
 
   <div class="form-group">
     <label for="settings-microphone">Microphone:</label>
     <select name="microphone" id="settings-microphone" class="form-control"
-            ng-model="verto.data.selectedAudio" ng-options="item.id as item.label for item in verto.data.audioDevices">
+            ng-model="mydata.selectedAudio" ng-options="item.id as item.label for item in verto.data.audioDevices">
     </select>
 
     <a class="btn btn-primary" href="" ng-click="refreshDeviceList()">Refresh device list</a>
     <label for="settings-microphone">General settings:</label>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="use_video" value="verto.data.useVideo" ng-model="verto.data.useVideo">
+        <input type="checkbox" name="use_video" value="mydata.useVideo" ng-model="mydata.useVideo">
         Use Video
       </label>
     </div>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="use_stereo_audio" ng-value="verto.data.useStereo" ng-model="verto.data.useStereo">
+        <input type="checkbox" name="use_stereo_audio" ng-value="mydata.useStereo" ng-model="mydata.useStereo">
         Stereo Audio
       </label>
     </div>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="use_stun" ng-value="verto.data.useSTUN" ng-model="verto.data.useSTUN">
+        <input type="checkbox" name="use_stun" ng-value="mydata.useSTUN" ng-model="mydata.useSTUN">
         Use STUN
       </label>
     </div>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="use_dedenc" ng-value="verto.data.useDedenc" ng-model="verto.data.useDedenc">
+        <input type="checkbox" name="use_dedenc" ng-value="mydata.useDedenc" ng-model="mydata.useDedenc">
         Use Dedicated Remote Encoder
       </label>
     </div>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="mirror_input" ng-value="verto.data.mirrorInput" ng-model="verto.data.mirrorInput">
+        <input type="checkbox" name="mirror_input" ng-value="mydata.mirrorInput" ng-model="mydata.mirrorInput">
         Scale Remote Video To Match Camera Resolution
       </label>
     </div>
     <div class="checkbox">
       <label>
-        <input type="checkbox" name="ask_recover_call" ng-value="storage.data.askRecoverCall" ng-model="storage.data.askRecoverCall">
+        <input type="checkbox" name="ask_recover_call" ng-value="mydata.askRecoverCall" ng-model="mydata.askRecoverCall">
         Ask before recovering call
       </label>
     </div>
   <div class="form-group">
     <label for="video-quality">Video quality:</label>
     <select name="video_quality" id="video-quality" class="form-control"
-            ng-model="verto.data.vidQual"
+            ng-model="mydata.vidQual"
             ng-options="item.id as item.label for item in verto.videoQuality"></select>
   </div>
 
   <div class="form-group">
     <label for="outgoing-bandwidth">Max outgoing bandwidth:</label>
     <select name="outgoing_bandwidth" id="outgoing-bandwidth" class="form-control"
-            ng-model="verto.data.outgoingBandwidth"
+            ng-model="mydata.outgoingBandwidth"
             ng-options="item.id as item.label for item in verto.bandwidth"></select>
   </div>
 
   <div class="form-group">
     <label for="incoming-bandwidth">Max incoming bandwidth:</label>
     <select name="incoming_bandwidth" id="incoming-bandwidth" class="form-control"
-            ng-model="verto.data.incomingBandwidth"
+            ng-model="mydata.incomingBandwidth"
             ng-options="item.id as item.label for item in verto.bandwidth"></select>
   </div>
 
index 010397ae7a5abc3bee1289c6c93edb6d4aafdf29..04e8b1709dfd06051ad3885062ff68655430f046 100644 (file)
       selectedVideo: null,
       selectedAudio: null,
       selectedShare: null,
-      useVideo: '',
-      useCamera: '',
-      useVideo: '',
-      useCamera: '',
-      useStereo: '',
-      useSTUN: '',
-      useDedenc: '',
-      mirrorInput: '',
-      outgoingBandwidth: '',
-      incomingBandwidth: '',
-      vidQual: '',
+      useStereo: true,
+      useSTUN: true,
+      useDedenc: false,
+      mirrorInput: false,
+      outgoingBandwidth: 'default',
+      incomingBandwidth: 'default',
+      vidQual: 'qvga',
       askRecoverCall: false,
       googNoiseSuppression: false,
       googHighpassFilter: false,
     });
 
     function changeData(verto_data) {
-      data.selectedVideo = verto_data.data.selectedVideo;
-      data.selectedAudio = verto_data.data.selectedAudio;
-      data.selectedShare = verto_data.data.selectedShare;
-      data.useVideo = verto_data.data.useVideo;
-      data.useCamera = verto_data.data.useCamera;
-      data.useStereo = verto_data.data.useStereo;
-      data.useDedenc = verto_data.data.useDedenc;
-      data.useSTUN = verto_data.data.useSTUN;
-      data.vidQual = verto_data.data.vidQual;
-      data.mirrorInput = verto_data.data.mirrorInput;
-      data.outgoingBandwidth = verto_data.data.outgoingBandwidth;
-      data.incomingBandwidth = verto_data.data.incomingBandwidth;
+      angular.extend(data, verto_data);
     }
 
     return {
index 4e65adbf4f827400a3b747cb9294f372ad464fdd..730448b79b08f70eb3ecab1a450bb4bc3a7f3267 100644 (file)
             verto.hangup();
           });
         } else {
-          verto.changeData(storage);
           console.log('redirect to incall page');
           $location.path('/incall');
         }
         storage.data.onHold = false;
 
         verto.data.call.answer({
-          useStereo: verto.data.useStereo,
-          useCamera: verto.data.useCamera,
-          useMic: verto.data.useMic,
+          useStereo: storage.data.useStereo,
+          useCamera: storage.data.selectedVideo,
+          useMic: storage.data.useMic,
           callee_id_name: verto.data.name,
           callee_id_number: verto.data.login
         });
index f0f98486be1c38cddb1d0090ca797d9ba3e3e2db..7eda32dc95bf8017c88113b44b072e05c6339dbc 100644 (file)
@@ -4,16 +4,16 @@
   angular
     .module('vertoControllers')
     .controller('ModalSettingsController', ['$scope', '$http',
-      '$location', '$modalInstance', 'verto', 'storage',
-      function($scope, $http, $location, $modalInstance, verto, storage) {
+      '$location', '$modalInstance', 'storage', 'verto',
+      function($scope, $http, $location, $modalInstance, storage, verto) {
         console.debug('Executing ModalSettingsController.');
 
-        verto.changeData(storage);
-        $scope.verto = verto;
         $scope.storage = storage;
+        $scope.verto = verto;
+        $scope.mydata = angular.copy(storage.data);
 
         $scope.ok = function() {
-          storage.changeData(verto);
+          storage.changeData($scope.mydata);
           $modalInstance.close('Ok.');
         };
 
index a4faf52704bc21e2430c4eeed3c4bb4a5e901ff0..6cba5f1b4ccf138a6cca96212f09cb374f5afb84 100644 (file)
@@ -117,23 +117,8 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
       textTo: $cookieStore.get('verto_demo_textto') || "1000",
       login: $cookieStore.get('verto_demo_login') || "1008",
       password: $cookieStore.get('verto_demo_passwd') || "1234",
-      hostname: $cookieStore.get('verto_demo_hostname') || window.location.hostname,
-      wsURL: $cookieStore.get('verto_demo_wsurl') || ("wss://" + window.location.hostname + ":8082"),
-      useVideo: $cookieStore.get('verto_demo_vid_checked') || true,
-      useCamera: $cookieStore.get('verto_demo_camera_checked') || true,
-      useStereo: $cookieStore.get('verto_demo_stereo_checked') || true,
-      useSTUN: $cookieStore.get('verto_demo_stun_checked') || true,
-      useDedenc: $cookieStore.get('verto_demo_dedenc_checked') || false,
-      mirrorInput: $cookieStore.get('verto_demo_mirror_input_checked') || false,
-      outgoingBandwidth: $cookieStore.get('verto_demo_outgoingBandwidth') || 'default',
-      incomingBandwidth: $cookieStore.get('verto_demo_incomingBandwidth') || 'default',
-      vidQual: $cookieStore.get('verto_demo_vqual') || 'qvga',
-      localVideo: $cookieStore.get('verto_demo_local_video_checked') || false,
-      bestWidth: '',
-      bestHeight: '',
-      selectedVideo: null,
-      selectedAudio: null,
-      selectedShare: null
+      hostname: window.location.hostname,
+      wsURL: ("wss://" + window.location.hostname + ":8082")
     };
 
     function cleanShareCall(that) {
@@ -195,31 +180,6 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
       };
     }
 
-    function changeData(verto_data) {
-      $cookieStore.put('verto_demo_vid_checked', verto_data.data.useVideo);
-      $cookieStore.put('verto_demo_camera_checked', verto_data.data.useCamera);
-      $cookieStore.put('verto_demo_stereo_checked', verto_data.data.useStereo);
-      $cookieStore.put('verto_demo_stun_checked', verto_data.data.useSTUN);
-      $cookieStore.put('verto_demo_dedenc_checked', verto_data.data.useDedenc);
-      $cookieStore.put('verto_demo_mirror_input_checked', verto_data.data.mirrorInput);
-      $cookieStore.put('verto_demo_outgoingBandwidth', verto_data.data.outgoingBandwidth);
-      $cookieStore.put('verto_demo_incomingBandwidth', verto_data.data.incomingBandwidth);
-      $cookieStore.put('verto_demo_vqual', verto_data.data.vidQual);
-
-      data.selectedVideo = verto_data.data.selectedVideo;
-      data.selectedAudio = verto_data.data.selectedAudio;
-      data.selectedShare = verto_data.data.selectedShare;
-      data.useVideo = verto_data.data.useVideo;
-      data.useCamera = verto_data.data.useCamera;
-      data.useStereo = verto_data.data.useStereo;
-      data.useDedenc = verto_data.data.useDedenc;
-      data.useSTUN = verto_data.data.useSTUN;
-      data.vidQual = verto_data.data.vidQual;
-      data.mirrorInput = verto_data.data.mirrorInput;
-      data.outgoingBandwidth = verto_data.data.outgoingBandwidth;
-      data.incomingBandwidth = verto_data.data.incomingBandwidth;
-    }
-
     var callState = {
       muteMic: false,
       muteVideo: false
@@ -228,7 +188,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
     return {
       data: data,
       callState: callState,
-      changeData: changeData,
+      // changeData: changeData,
 
       // Options to compose the interface.
       videoQuality: videoQuality,
@@ -366,7 +326,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
 
           var conf = new $.verto.conf(v, {
             dialog: dialog,
-            hasVid: data.useVideo,
+            hasVid: storage.data.useVideo,
             laData: pvtData,
             onBroadcast: function(v, conf, message) {
               console.log('>>> conf.onBroadcast:', arguments);
@@ -557,10 +517,6 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
             socketUrl: data.wsURL,
             tag: "webcam",
             ringFile: "sounds/bell_ring2.wav",
-            loginParams: {
-              foo: true,
-              bar: "yes"
-            },
             videoParams: getVideoParams(),
             // TODO: Add options for this.
             audioParams: {
@@ -627,14 +583,14 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
           destination_number: destination,
           caller_id_name: data.name,
           caller_id_number: data.login,
-          outgoingBandwidth: data.outgoingBandwidth,
-          incomingBandwidth: data.incomingBandwidth,
-          useVideo: data.useVideo,
-          useStereo: data.useStereo,
-          useCamera: data.selectedVideo,
-          useMic: data.selectedAudio,
-          dedEnc: data.useDedenc,
-          mirrorInput: data.mirrorInput,
+          outgoingBandwidth: storage.data.outgoingBandwidth,
+          incomingBandwidth: storage.data.incomingBandwidth,
+          useVideo: storage.data.useVideo,
+          useStereo: storage.data.useStereo,
+          useCamera: storage.data.selectedVideo,
+          useMic: storage.data.selectedAudio,
+          dedEnc: storage.data.useDedenc,
+          mirrorInput: storage.data.mirrorInput,
           userVariables: {
             email : storage.data.email,
             avatar: "http://gravatar.com/avatar/" + md5(storage.data.email) + ".png?s=600"
@@ -665,13 +621,13 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
             destination_number: destination + '-screen',
             caller_id_name: data.name + ' (Screen)',
             caller_id_number: data.login + ' (Screen)',
-            outgoingBandwidth: data.outgoingBandwidth,
-            incomingBandwidth: data.incomingBandwidth,
+            outgoingBandwidth: storage.data.outgoingBandwidth,
+            incomingBandwidth: storage.data.incomingBandwidth,
             videoParams: screen_constraints.video.mandatory,
-            useVideo: data.useVideo,
+            useVideo: storage.data.useVideo,
             screenShare: true,
-            dedEnc: data.useDedenc,
-            mirrorInput: data.mirrorInput,
+            dedEnc: storage.data.useDedenc,
+            mirrorInput: storage.data.mirrorInput,
             userVariables: {
               email : storage.data.email,
               avatar: "http://gravatar.com/avatar/" + md5(storage.data.email) + ".png?s=600"