summaryrefslogtreecommitdiff
path: root/www/js/MontageCtrl.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/MontageCtrl.js')
-rw-r--r--www/js/MontageCtrl.js187
1 files changed, 109 insertions, 78 deletions
diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js
index d0fdd1b3..4ee543d4 100644
--- a/www/js/MontageCtrl.js
+++ b/www/js/MontageCtrl.js
@@ -84,6 +84,26 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', '
ZMDataModel.zmDebug("MontageCtrl: Hidden order is " + myhiddenorder);
if (myorder) montageOrder = myorder.split(",");
if (myhiddenorder) hiddenOrder = myhiddenorder.split(",");
+
+ // handle add/delete monitors after the array has been
+ // saved
+
+ if ($scope.monitors.length != montageOrder.length)
+ {
+ ZMDataModel.zmLog("Monitors array length different from stored hidden/order array. It's possible monitors were added/removed. Resetting...");
+ montageOrder = [];
+ hiddenOrder = [];
+ for (i = 0; i < $scope.monitors.length; i++) {
+ montageOrder[i] = i; // order to show is order ZM returns
+ hiddenOrder[i] = 0; // don't hide them
+ }
+ window.localStorage.setItem("montageOrder",
+ montageOrder.toString());
+ window.localStorage.setItem("montageHiddenOrder",
+ hiddenOrder.toString());
+
+
+ }
} // at this stage, the monitor arrangement is not matching
// the montage order. Its in true order. Let us first process the hiddenOrder part
@@ -208,65 +228,68 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', '
var modalIntervalHandle;
+ $scope.closeReorderModal = function () {
+ console.log("Close & Destroy Monitor Modal");
+ // switch off awake, as liveview is finished
+ //ZMDataModel.setAwake(false);
+ $scope.modal.remove();
+ };
//-------------------------------------------------------------
// Called when user taps on the reorder button
//-------------------------------------------------------------
- $scope.toggleReorder = function () {
- $scope.isReorder = !$scope.isReorder;
-
- var i;
- oldMonitors = angular.copy($scope.monitors);
- /*for (i=0; i<$scope.monitors.length; i++)
- {
- $scope.monitors[i].Monitor.listDisplay="show";
- }*/
+ $scope.reorderList = function()
+ {
+ console.log ("REORDER");
+ $scope.data.showDelete = false;
+ $scope.data.showReorder = !$scope.data.showReorder;
+ };
+
+ $scope.deleteList = function()
+ {
+ console.log ("DELETE");
+ $scope.data.showDelete = !$scope.data.showDelete;
+ $scope.data.showReorder = false;
+ };
+
+ $scope.reloadReorder = function()
+ {
+ var refresh = ZMDataModel.getMonitors(1);
+ refresh.then(function (data) {
+ $scope.monitors = data;
+ $scope.MontageMonitors = data;
+ oldMonitors = angular.copy($scope.monitors);
+ var i;
+ montageOrder = [];
+ for (i = 0; i < $scope.monitors.length; i++) {
+ montageOrder[i] = i;
+ hiddenOrder[i] = 0;
+ }
+ window.localStorage.setItem("montageOrder", montageOrder.toString());
+ window.localStorage.setItem("montageHiddenOrder", hiddenOrder.toString());
+ ZMDataModel.zmLog("Montage order saved on refresh: " + montageOrder.toString() + " and hidden order: " + hiddenOrder.toString());
- ld = ZMDataModel.getLogin();
- if (ld.enableDebug)
- {
- // Lets show the re-order list
- for (i=0; i < $scope.MontageMonitors.length; i++)
- {
- ZMDataModel.zmDebug ("Montage reorder list: " + $scope.MontageMonitors[i].Monitor.Name +
- ":listdisplay->"+$scope.MontageMonitors[i].Monitor.listDisplay);
-
- }
- }
-
- var getConfig = $ionicPopup.show({
- scope: $scope,
- template: '<ion-scroll><ion-list show-delete="true" show-reorder="true">' +
- '<ion-item class="item-remove-animate" ng-repeat="item in MontageMonitors"> ' +
- '{{item.Monitor.Name}}' +
- '<ion-delete-button ng-class="' +
- '{\'ion-eye\':item.Monitor.listDisplay==\'show\',' +
- '\'ion-eye-disabled\':item.Monitor.listDisplay!=\'show\'}"' +
- 'ng-click="deleteItem($index)">' +
- '</ion-delete-button>' +
- '<ion-reorder-button class="ion-navicon" ' +
- 'on-reorder="reorderItem(item, $fromIndex, $toIndex)">' +
- '</ion-reorder-button></ion-item></ion-list></ion-scroll>',
-
- title: "Edit Montage",
- buttons: [
- {
- // user tapped Ok
- type: 'button-block icon ion-checkmark-round',
- onTap: function (e) {
- window.localStorage.setItem("montageOrder", montageOrder.toString());
- window.localStorage.setItem("montageHiddenOrder", hiddenOrder.toString());
+ });
+ };
+
+ $scope.saveReorder = function()
+ {
+ window.localStorage.setItem("montageOrder", montageOrder.toString());
+ window.localStorage.setItem("montageHiddenOrder",
+ hiddenOrder.toString());
console.log("Saved " + montageOrder.toString());
- ZMDataModel.zmLog("User press OK. Saved Monitor Order as: " + montageOrder.toString() + " and hidden order as " + hiddenOrder.toString());
- }
- },
- {
- type: 'button-block icon ion-close-round',
- onTap: function (e) {
- // user tapped cancel
+ ZMDataModel.zmLog("User press OK. Saved Monitor Order as: " +
+ montageOrder.toString() +
+ " and hidden order as " + hiddenOrder.toString());
+ $scope.modal.remove();
+ };
+
+ $scope.cancelReorder = function()
+ {
+ // user tapped cancel
var i,myhiddenorder;
if (window.localStorage.getItem("montageOrder") == undefined) {
for (i = 0; i < $scope.MontageMonitors.length; i++) {
@@ -304,37 +327,45 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', '
ZMDataModel.zmLog("User press Cancel. Restored Monitor Order as: " + montageOrder.toString() + " and hidden order as: " + hiddenOrder.toString());
}
+ $scope.modal.remove();
+ };
+
+ $scope.toggleReorder = function () {
+ $scope.isReorder = !$scope.isReorder;
+ $scope.data={};
+ $scope.data.showDelete = false;
+ $scope.data.showReorder = false;
- }
- },
- {
- type: 'button-block icon ion-loop',
- onTap: function (e) {
- // user tapped refresh, so don't close this dialog
- e.preventDefault();
-
- // FIXME: list visually expands then resets
- // why?
- var refresh = ZMDataModel.getMonitors(1);
- refresh.then(function (data) {
- $scope.monitors = data;
- $scope.MontageMonitors = data;
- oldMonitors = angular.copy($scope.monitors);
- var i;
- montageOrder = [];
- for (i = 0; i < $scope.monitors.length; i++) {
- montageOrder[i] = i;
- hiddenOrder[i] = 0;
- }
- window.localStorage.setItem("montageOrder", montageOrder.toString());
- window.localStorage.setItem("montageHiddenOrder", hiddenOrder.toString());
- ZMDataModel.zmLog("Montage order saved on refresh: " + montageOrder.toString() + " and hidden order: " + hiddenOrder.toString());
+ var i;
+ oldMonitors = angular.copy($scope.monitors);
+ /*for (i=0; i<$scope.monitors.length; i++)
+ {
+ $scope.monitors[i].Monitor.listDisplay="show";
+ }*/
- });
- }
- }
- ]
+ ld = ZMDataModel.getLogin();
+ if (ld.enableDebug)
+ {
+ // Lets show the re-order list
+ for (i=0; i < $scope.MontageMonitors.length; i++)
+ {
+ ZMDataModel.zmDebug ("Montage reorder list: " + $scope.MontageMonitors[i].Monitor.Name +
+ ":listdisplay->"+$scope.MontageMonitors[i].Monitor.listDisplay);
+
+ }
+ }
+
+ $ionicModal.fromTemplateUrl('templates/reorder-modal.html', {
+ scope:$scope,
+ animation: 'slide-in-up'
+ })
+ .then (function(modal) {
+ $scope.modal = modal;
+ $scope.modal.show();
});
+
+
+
};
$scope.onSwipeLeft = function ($index)