summaryrefslogtreecommitdiff
path: root/www/js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2016-09-04 09:43:09 -0400
committerPliable Pixels <pliablepixels@gmail.com>2016-09-04 09:43:09 -0400
commit1649d8a03c8fdd8d9e9491e5c06233f4c15f35a0 (patch)
treefedc2bfa5d7f938b3be4e837022e0034f124c292 /www/js
parent3e011566d57ada671534906cd080ad59294f0b53 (diff)
#319 - you can now cycle monitors. Time Interval can be specified in developer settings.
Former-commit-id: 401b429cdd914fab7f6399551e4bc9083e803c0b
Diffstat (limited to 'www/js')
-rw-r--r--www/js/DataModel.js16
-rw-r--r--www/js/DevOptionsCtrl.js5
-rw-r--r--www/js/MonitorModalCtrl.js64
-rw-r--r--www/js/app.js3
4 files changed, 85 insertions, 3 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js
index 233e92df..43f350d6 100644
--- a/www/js/DataModel.js
+++ b/www/js/DataModel.js
@@ -103,7 +103,9 @@ angular.module('zmApp.controllers')
'forceImageModePath': false,
'disableNative': false,
'vibrateOnPush': true,
- 'soundOnPush': true
+ 'soundOnPush': true,
+ 'cycleMonitors': false,
+ 'cycleMonitorsInterval':10, // 10sec
@@ -673,6 +675,18 @@ angular.module('zmApp.controllers')
loginData.soundOnPush = true;
}
+
+ if (typeof loginData.cycleMonitors == 'undefined') {
+
+ loginData.cycleMonitors = false;
+
+ }
+
+ if (typeof loginData.cycleMonitorsInterval == 'undefined') {
+
+ loginData.cycleMonitorsInterval = 10;
+
+ }
log("DataModel init recovered this loginData as " + JSON.stringify(loginData));
diff --git a/www/js/DevOptionsCtrl.js b/www/js/DevOptionsCtrl.js
index a4b8d002..7ca09068 100644
--- a/www/js/DevOptionsCtrl.js
+++ b/www/js/DevOptionsCtrl.js
@@ -62,7 +62,10 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope'
NVRDataModel.debug("SaveDevOptions: called");
-
+ if (parseInt($scope.loginData.cycleMonitorsInterval) < zm.minCycleTime)
+ {
+ $scope.loginData.cycleMonitorsInterval = zm.minCycleTime.toString();
+ }
if ((parseInt($scope.loginData.maxFPS) < 0) || (parseInt($scope.loginData.maxFPS) > zm.maxFPS)) {
$scope.loginData.maxFPS = zm.defaultFPS.toString();
}
diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js
index e99ce25c..3278a862 100644
--- a/www/js/MonitorModalCtrl.js
+++ b/www/js/MonitorModalCtrl.js
@@ -15,6 +15,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$scope.imageFit = true;
$scope.isModalActive = true;
var intervalModalHandle;
+ var cycleHandle;
var nphTimer;
var ld = NVRDataModel.getLogin();
@@ -54,6 +55,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$interval.cancel(intervalModalHandle);
+ $interval.cancel(cycleHandle);
intervalModalHandle = $interval(function () {
loadModalNotifications();
@@ -247,6 +249,34 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
// console.log ("ERROR");
});
};
+
+
+ $scope.toggleCycle = function()
+ {
+ //console.log ("HERE");
+ $scope.isCycle = !$scope.isCycle;
+ var ld = NVRDataModel.getLogin();
+ ld.cycleMonitors = $scope.isCycle;
+ NVRDataModel.setLogin(ld);
+ $scope.cycleText = $scope.isCycle ? $translate.instant ('kOn'):$translate.instant ('kOff');
+
+ if ($scope.isCycle)
+ {
+ NVRDataModel.log ("re-starting cycle timer");
+ $interval.cancel(cycleHandle);
+
+ cycleHandle = $interval(function () {
+ moveToMonitor($scope.monitorId,1);
+ // console.log ("Refreshing Image...");
+ }.bind(this), ld.cycleMonitorsInterval * 1000);
+ }
+ else
+ {
+ NVRDataModel.log ("cancelling cycle timer");
+ $interval.cancel(cycleHandle);
+ }
+
+ };
//-------------------------------------------------------------
// PTZ enable/disable
@@ -282,6 +312,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
function onPause() {
NVRDataModel.debug("ModalCtrl: onpause called");
$interval.cancel(intervalModalHandle);
+ $interval.cancel(cycleHandle);
// $interval.cancel(modalIntervalHandle);
// FIXME: Do I need to setAwake(false) here?
@@ -294,12 +325,26 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
NVRDataModel.log("ModalCtrl: Restarting Modal timer on resume");
$interval.cancel(intervalModalHandle);
+ $interval.cancel(cycleHandle);
var ld = NVRDataModel.getLogin();
intervalModalHandle = $interval(function () {
loadModalNotifications();
}.bind(this), 5000);
+
+ if (ld.cycleMonitors)
+ {
+ NVRDataModel.debug ("Cycling enabled at "+ld.cycleMonitorsInterval);
+
+ $interval.cancel(cycleHandle);
+
+ cycleHandle = $interval(function () {
+ moveToMonitor($scope.monitorId,1);
+ // console.log ("Refreshing Image...");
+ }.bind(this), ld.cycleMonitorsInterval * 1000);
+
+ }
$rootScope.modalRand = Math.floor((Math.random() * 100000) + 1);
@@ -858,6 +903,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
// console.log("**MODAL: Stopping modal timer");
$scope.isModalActive = false;
$interval.cancel(intervalModalHandle);
+ $interval.cancel(cycleHandle);
});
@@ -880,6 +926,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$scope.isModalActive = false;
$interval.cancel(intervalModalHandle);
+ $interval.cance(cycleHandle);
});
@@ -887,6 +934,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$scope.isModalActive = false;
//console.log("**MODAL REMOVED: Stopping modal timer");
$interval.cancel(intervalModalHandle);
+ $interval.cancel(cycleHandle);
NVRDataModel.debug("Modal removed - killing connkey");
controlStream(17, "", $scope.connKey, -1);
@@ -1228,8 +1276,24 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
//console.log ("************* GENERATED CONNKEY " + $scope.connKey);
$scope.currentFrame = 1;
$scope.monStatus = "";
+ $scope.isCycle = ld.cycleMonitors;
+ $scope.cycleText = $scope.isCycle ? $translate.instant ('kOn'):$translate.instant ('kOff');
configurePTZ($scope.monitorId);
+
+ if (ld.cycleMonitors)
+ {
+ NVRDataModel.debug ("Cycling enabled at "+ld.cycleMonitorsInterval);
+
+ $interval.cancel(cycleHandle);
+
+ cycleHandle = $interval(function () {
+ moveToMonitor($scope.monitorId,1);
+ // console.log ("Refreshing Image...");
+ }.bind(this), ld.cycleMonitorsInterval * 1000);
+
+ }
+
});
diff --git a/www/js/app.js b/www/js/app.js
index f9ea05e5..22057355 100644
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -79,7 +79,8 @@ angular.module('zmApp', [
eventPlaybackQuery: 3000,
packeryTimer: 500,
dbName: 'zmninja',
- cipherKey: 'sdf#@#%FSXSA_AR'
+ cipherKey: 'sdf#@#%FSXSA_AR',
+ minCycleTime: 5,
})