summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/js/MonitorModalCtrl.js68
-rw-r--r--www/templates/events-modal.html32
-rw-r--r--www/templates/monitors-modal.html37
3 files changed, 130 insertions, 7 deletions
diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js
index c01ef369..9ae6f60a 100644
--- a/www/js/MonitorModalCtrl.js
+++ b/www/js/MonitorModalCtrl.js
@@ -12,7 +12,7 @@ d) gapless
*/
-angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$rootScope', 'zm', 'ZMDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', function ($scope, $rootScope, zm, ZMDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup) {
+angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$rootScope', 'zm', 'ZMDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', 'SecuredPopups', function ($scope, $rootScope, zm, ZMDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, SecuredPopups) {
// from parent scope
@@ -829,6 +829,72 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
}
+ $scope.enableAlarm = function(mid,mode)
+ {
+
+ if (mode) // trigger alarm
+ {
+ $rootScope.zmPopup = SecuredPopups.show('show',{
+ title: 'Confirm',
+ template: "Are you sure you want to force an alarm for Monitor:"+$scope.monitorName+"?",
+ buttons: [
+ {
+ text: 'Yes',
+ onTap: function(e)
+ {
+ enableAlarm(mid, mode);
+ }
+ },
+ {
+ text: 'No',
+ onTap: function (e)
+ {
+ return;
+ }
+ }
+ ]
+
+ });
+ }
+ else
+ enableAlarm(mid,mode);
+
+ function enableAlarm(mid,mode)
+ {
+ var apiurl = ZMDataModel.getLogin().apiurl;
+ var c = mode? "on":"off";
+ var alarmurl = apiurl+"/monitors/alarm/id:"+mid+"/command:"+c+".json";
+ ZMDataModel.zmLog ("Invoking " + alarmurl);
+
+ var status = mode? "forcing alarm": "cancelling alarm";
+ $ionicLoading.show({
+ template: status,
+ noBackdrop: true,
+ duration: zm.largeHttpTimeout,
+ });
+
+ $http.get(alarmurl)
+ .then (function (data) {
+ $ionicLoading.show({
+ template: "success",
+ noBackdrop: true,
+ duration: 2000,
+ });
+ },
+ function (error) {
+
+ $ionicLoading.show({
+ template: "error - please make sure your API supports this feature",
+ noBackdrop: true,
+ duration: 3000,
+ });
+ ZMDataModel.zmDebug ("Error in enableAlarm " + JSON.stringify(error));
+ });
+ }
+
+
+
+ };
//-----------------------------------------------------------------------
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index c768b4e2..5aeb1811 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -143,12 +143,34 @@
<div class="events-range-modal-text" >showing event: {{d_eventId}}</div>
+
+
+<div id="flyoutmenu" style="position:absolute;bottom:80px;left:10px">
+ <ul>
+ <li ng-if="defaultVideo==''">
+ <a href="" ng-click="toggleGapless()"> <i class="ion-ios-loop-strong"></i>-{{loginData.gapless?"on":"off"}}</a>
+ </li>
+
+ <li ng-if="defaultVideo==''">
+ <a href="" ng-click="saveEventImageToPhone(false)"> <i class="ion-ios-camera"></i></a>
+ </li>
+
+ <li ng-if="defaultVideo==''">
+ <a href="" ng-click="saveEventImageToPhone(true)"> <i class="ion-android-notifications"></i></a>
+ </li>
+
+ <li ng-if="$root.isAlarm">
+ <a data-badge="{{$root.alarmCount}}" class="notification-badge animated infinite tada" href="" ng-click="handleAlarms()"><i class="ion-ios-bell"></i></a>
+ </li>
+
+
+
+ </ul>
+
+</div>
-<span class="event-modal-alarm-badge">
- <a data-badge="{{$root.alarmCount}}" class="animated infinite tada button icon ion-ios-bell notification-badge button-assertive button-small"
- ng-click="handleAlarms();" ng-if="$root.isAlarm" ></a>
-</span>
+<!--
<span class="events-modal-gapless-icon" ng-if="defaultVideo==''">
<a ng-class="loginData.gapless? 'button button-small button-stable' : 'button button-small button-assertive' " href="" ng-click="toggleGapless()">gapless: {{loginData.gapless?"on":"off"}}</a>
@@ -162,7 +184,7 @@
<a class="button button-small icon ion-android-notifications button-positive" href="" ng-click="saveEventImageToPhone(true)"></a>
</span>
-
+-->
<div class="events-range-modal" ng-if="(defaultVideo=='' )&& (loginData.useNphZmsForEvents)" style="color:white">
<!-- Progress: Event: {{eventId}} - {{progressText}}-->
<div class="row">
diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html
index 0a2ae8ee..8e29449b 100644
--- a/www/templates/monitors-modal.html
+++ b/www/templates/monitors-modal.html
@@ -88,7 +88,42 @@
</button>
</nav>
+
+
+
+
+ <div id="flyoutmenu" style="position:absolute;bottom:20px;left:10px">
+ <ul>
+
+ <li>
+ <a href="" ng-click="saveImageToPhone(monitorId)"> <i class="icon ion-ios-camera"></i></a>
+ </li>
+
+ <li ng-if="$root.platformOS == 'desktop'">
+ <a href="" ng-click="zoomImage(1)"><i class="ion-plus-round"></i></a>
+ </li>
+ <li ng-if="$root.platformOS == 'desktop'">
+ <a href="" ng-click="zoomImage(-1)"><i class="ion-minus-round"></i></a>
+ </li>
+
+ <li>
+ <a href="" ng-click="enableAlarm(monitorId,true)"> <i class="icon ion-flash"></i></a>
+ </li>
+ <li>
+ <a href="" ng-click="enableAlarm(monitorId,false)"> <i class="icon ion-flash-off"></i></a>
+ </li>
+
+
+
+ <li ng-if="$root.isAlarm">
+ <a data-badge="{{$root.alarmCount}}" class="notification-badge animated infinite tada" href="" ng-click="handleAlarms()"><i class="ion-ios-bell"></i></a>
+ </li>
+
+
+ </ul>
+</div>
+<!--
<span class="camera-icon">
<a class="button icon ion-ios-camera button-positive" href="" ng-click="saveImageToPhone(monitorId)"></a>
</span>
@@ -103,7 +138,7 @@
<a data-badge="{{$root.alarmCount}}" class="animated infinite tada button icon ion-ios-bell notification-badge button-assertive"
ng-click="handleAlarms();" ng-if="$root.isAlarm"></a>
</span>
-
+-->
<div class="monitor-modal-text">{{monitorName}}</div>
</div> \ No newline at end of file