summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2018-04-16 15:19:26 -0400
committerPliable Pixels <pliablepixels@gmail.com>2018-04-16 15:19:26 -0400
commit37085065444ad570118a2f71431d3c8a02af38a7 (patch)
tree05d31193e97e3d2b453c079961b0f88aee890f0b /www
parent5bfd723958f58444142cdd0bc3f6bae3f82a2aec (diff)
#606 cleanup on montage profile switch, also make sure we don't add noshow monitors to DOM (and try to kill)
Diffstat (limited to 'www')
-rw-r--r--www/js/MontageCtrl.js75
-rw-r--r--www/templates/montage.html2
2 files changed, 47 insertions, 30 deletions
diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js
index 70baec5b..3e52842d 100644
--- a/www/js/MontageCtrl.js
+++ b/www/js/MontageCtrl.js
@@ -222,6 +222,13 @@ angular.module('zmApp.controllers')
$scope.areImagesLoading = true;
var progressCalled = false;
+
+ if (draggies) {
+ draggies.forEach(function (drag) {
+ drag.destroy();
+ });
+ }
+
draggies = [];
var layouttype = true;
var ld = NVRDataModel.getLogin();
@@ -344,8 +351,8 @@ angular.module('zmApp.controllers')
//NVRDataModel.log("Force calling resize");
///pckry.reloadItems();
///positions is defined only if layouttype was false
- // console.log (">>> Positions is "+ JSON.stringify(positions));
- if (!layouttype) pckry.initShiftLayout(positions, "data-item-id");
+ console.log (">>> Positions is "+ JSON.stringify(positions));
+ if (!layouttype && positions) pckry.initShiftLayout(positions, "data-item-id");
// now do a jiggle
$timeout(function () {
NVRDataModel.debug("doing the jiggle and dance...");
@@ -1041,7 +1048,7 @@ angular.module('zmApp.controllers')
} else {
for (var i = 0; i < $scope.MontageMonitors.length; i++) {
- NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
}
}
}
@@ -1222,27 +1229,17 @@ angular.module('zmApp.controllers')
NVRDataModel.debug("Montage View Cleanup was already done, skipping");
return;
}
- viewCleaned = true;
$interval.cancel(intervalHandleMontage);
$interval.cancel(intervalHandleMontageCycle);
$interval.cancel(intervalHandleAlarmStatus);
$interval.cancel(intervalHandleReloadPage);
if (pckry) pckry.destroy();
- NVRDataModel.debug("Montage: Deregistering broadcast handles");
- for (var i = 0; i < broadcastHandles.length; i++) {
- // broadcastHandles[i]();
- //console.log ("DEREGISTER "+broadcastHandles[i]);
- }
+
broadcastHandles = [];
areStreamsStopped = true;
-
-
- // if modal is open stream gets killed
- // inside monitorModal
-
$timeout(function () {
if (!$scope.singleMonitorModalOpen && simulStreaming) {
NVRDataModel.debug("Killing all streams in montage to save memory/nw...");
@@ -1252,7 +1249,7 @@ angular.module('zmApp.controllers')
NVRDataModel.stopNetwork();
} else {
for (i = 0; i < $scope.MontageMonitors.length; i++) {
- NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL);
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL);
}
}
@@ -1269,6 +1266,7 @@ angular.module('zmApp.controllers')
function onPause() {
NVRDataModel.debug("MontageCtrl: onpause called");
viewCleanup();
+ viewCleaned = true;
}
function onResume() {
@@ -1384,6 +1382,8 @@ angular.module('zmApp.controllers')
// console.log ("Refreshing Image...");
}.bind(this), NVRDataModel.getLogin().cycleMontageInterval * 1000);
+
+
//console.log ("SELECTED " + $scope.data.selectedVal);
var ld = NVRDataModel.getLogin();
@@ -1393,23 +1393,39 @@ angular.module('zmApp.controllers')
$scope.currentProfileName = mName;
//console.log ("NEW POS="+ld.packeryPositions);
NVRDataModel.setLogin(ld);
- //console.log ("SAVING "+ld.packeryPositions.name+ " but "+$scope.data.selectedVal);
+
+ areStreamsStopped = true;
+ $timeout(function () { // after render
+
+
+ if (simulStreaming) {
+
+ NVRDataModel.debug("Killing all streams in montage to save memory/nw...");
+
+ if ($rootScope.platformOS == 'ios') {
+
+ } else {
+
+ for (var i = 0; i < $scope.MontageMonitors.length; i++) {
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ }
+ }
+
+ NVRDataModel.regenConnKeys();
+ $scope.monitors = NVRDataModel.getMonitorsNow();
+ $scope.MontageMonitors = angular.copy($scope.monitors);
+ $timeout(function () {
+ initPackery();
+ }, zm.packeryTimer);
+
+ }
- //$scope.MontageMonitors = angular.copy(NVRDataModel.getMonitorsNow());
- draggies.forEach(function (drag) {
- drag.destroy();
});
- draggies = [];
- pckry.destroy();
- NVRDataModel.reloadMonitorDisplayStatus();
- NVRDataModel.regenConnKeys();
- $scope.monitors = NVRDataModel.getMonitorsNow();
- $scope.MontageMonitors = angular.copy($scope.monitors);
- $timeout(function () {
- initPackery();
- }, zm.packeryTimer);
+
+
+
@@ -1601,7 +1617,7 @@ angular.module('zmApp.controllers')
if (simulStreaming && areStreamsStopped) {
NVRDataModel.debug("Killing all streams in montage to save memory/nw...");
for (var i = 0; i < $scope.MontageMonitors.length; i++) {
- NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL);
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL);
}
}
@@ -1889,6 +1905,7 @@ angular.module('zmApp.controllers')
areStreamsStopped = true;
viewCleanup();
+ viewCleaned = true;
});
diff --git a/www/templates/montage.html b/www/templates/montage.html
index 5952ad9e..4f341c5a 100644
--- a/www/templates/montage.html
+++ b/www/templates/montage.html
@@ -98,7 +98,7 @@
</figure>-->
- <figure class="{{dragBorder}}" ng-show="monitor.Monitor.listDisplay!='noshow'">
+ <figure class="{{dragBorder}}" ng-if="monitor.Monitor.listDisplay!='noshow'">
<!--<div ng-if="!isModalActive" >-->
<!--<div ng-if="$root.authSession!='undefined' && !isBackground() && !areImagesLoading">-->
<div ng-if="$root.authSession!='undefined' && $root.authSession!=''">