Skip to content

Commit

Permalink
#245 - api integrated
Browse files Browse the repository at this point in the history
  • Loading branch information
pliablepixels committed May 10, 2016
1 parent 2a0de83 commit 5ca5d41
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 7 deletions.
68 changes: 67 additions & 1 deletion www/js/MonitorModalCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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));
});
}



};


//-----------------------------------------------------------------------
Expand Down
32 changes: 27 additions & 5 deletions www/templates/events-modal.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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">
Expand Down
37 changes: 36 additions & 1 deletion www/templates/monitors-modal.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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>

0 comments on commit 5ca5d41

Please sign in to comment.