diff options
| author | pliablepixels <pliablepixels@gmail.com> | 2016-03-22 12:47:30 -0400 |
|---|---|---|
| committer | pliablepixels <pliablepixels@gmail.com> | 2016-03-22 12:47:30 -0400 |
| commit | ef13d9e54b1753178415ddf371b4b5efbc3fd8e3 (patch) | |
| tree | 087f31adaf82c386a9f73499fe34037b189cb1b1 /www | |
| parent | dcd2fde3fbeda349f0463cf68e02c1eaea9a58f0 (diff) | |
#206 initial code
Former-commit-id: 78bafe5376d095c89e4ddf1c7c010f156708c49e
Diffstat (limited to 'www')
| -rw-r--r-- | www/css/style.css | 8 | ||||
| -rw-r--r-- | www/js/EventModalCtrl.js | 45 | ||||
| -rw-r--r-- | www/js/TimelineCtrl.js | 12 | ||||
| -rw-r--r-- | www/templates/events-modal.html | 6 |
4 files changed, 55 insertions, 16 deletions
diff --git a/www/css/style.css b/www/css/style.css index ee4a4dc3..c0744be7 100644 --- a/www/css/style.css +++ b/www/css/style.css @@ -397,6 +397,14 @@ http://www.cssportal.com/tryit/index.php?file=blog/css-notification-badge */ opacity:0.5; } +.events-modal-onlyalarms-icon +{ + position:absolute; + bottom:120px; + left:140px; + z-index:10; + opacity:0.5; +} .events-range { position:absolute; diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index 9d7b6ab0..6b2db716 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -342,25 +342,25 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // Saves a snapshot of the monitor image to phone storage //----------------------------------------------------------------------- - $scope.saveEventImageToPhone = function () + $scope.saveEventImageToPhone = function (onlyAlarms) { if ($scope.loginData.useNphZmsForEvents) { ZMDataModel.zmLog ("Use ZMS stream to save to phone"); - saveEventImageToPhoneZms(); + saveEventImageToPhoneZms(onlyAlarms); } else { - saveEventImageToPhone(); + saveEventImageToPhone(onlyAlarms); } }; - function saveEventImageToPhoneZms() + function saveEventImageToPhoneZms(onlyAlarms) { // The strategy here is to build the array now so we can grab frames // $scope.currentProgress is the seconds where we are @@ -381,6 +381,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.currentProgress = resp.data.status.progress; // console.log ("STEP 0 progress is " + $scope.currentProgress); $scope.slides = []; + // myurl = myurl + "/AlarmFrames >=:" + loginData.minAlarmCount; var apiurl = $scope.loginData.apiurl + "/events/" + $scope.eventId + ".json"; ZMDataModel.zmDebug ("prepared to get frame details using " + apiurl); $http.get(apiurl) @@ -407,22 +408,37 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (myFrame > totalFrames) myFrame = totalFrames; // console.log ("STEP 0 myFrame is " + myFrame); - + // console.log ("DUMPING " + JSON.stringify(event)); $scope.mycarousel.index = myFrame; // console.log ("STEP 1 : Computed index as "+ $scope.mycarousel.index); var i; - for (i = 1; i <= event.Event.Frames; i++) { + for (i = 1; i <= event.Frame.length; i++) { var fname = padToN(i, eventImageDigits) + "-capture.jpg"; // console.log ("Building " + fname); - $scope.slides.push({ - id: i, - img: fname - - }); + + // console.log ("DUMPING ONE " + JSON.stringify(event.Frame[i-1])); + // onlyAlarms means only copy alarmed frames + if (onlyAlarms) + { + if (event.Frame[i-1] && event.Frame[i-1].Type == 'Alarm') + { + $scope.slides.push({ + id: i, + img: fname, + }); + } + } + else // push all frames + { + $scope.slides.push({ + id: i, + img: fname, + }); + } } // console.log ("STEP 2 : calling Save Event To Phone"); $ionicLoading.hide(); - saveEventImageToPhone(); + saveEventImageToPhone(onlyAlarms); }, @@ -451,7 +467,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } - function saveEventImageToPhone() + function saveEventImageToPhone(onlyAlarms) { var curState = carouselUtils.getStop(); carouselUtils.setStop(true); @@ -464,7 +480,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var loginData = ZMDataModel.getLogin(); - + // for alarms only + if (onlyAlarms) $scope.mycarousel.index = 0; var url = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.mycarousel.index].img; diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index 6ba9b05e..1a075da1 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -587,10 +587,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (idfound) { if (typeof myevents[i].Event.DefaultVideo === 'undefined') + console.log (JSON.stringify(myevents[i])); myevents[i].Event.DefaultVideo = ""; graphData.add({ id: graphIndex, - content: "<span class='my-vis-font'>" + myevents[i].Event.Notes + "</span>", + content: "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>"+myevents[i].Event.AlarmFrames+") "+myevents[i].Event.Notes + "</span>", start: myevents[i].Event.StartTime, end: myevents[i].Event.EndTime, group: myevents[i].Event.MonitorId, @@ -633,7 +634,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.graphLoaded = true; ZMDataModel.zmDebug("graph loaded: " + $scope.graphLoaded); $scope.navControls = false; + + + timeline.on('select', function (properties) { + //console.log ("CLICK"); + // console.log ("EVENT IS " + JSON.stringify(properties.event)); if (properties.items && !isNaN(properties.items[0])) { ZMDataModel.zmDebug("TimelineCtrl/drawGraph:You clicked on item " + properties.items); var item = graphData.get(properties.items); @@ -654,6 +660,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } }); + + timeline.on ('doubleClick', function (p) { + console.log ("DOUBLE"); + }); }, function (error) { ZMDataModel.displayBanner('error', 'Timeline error', 'Please try again'); diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html index 66a24a6e..ac2065d7 100644 --- a/www/templates/events-modal.html +++ b/www/templates/events-modal.html @@ -155,7 +155,11 @@ </span> <span class="events-modal-camera-icon" ng-if="defaultVideo==''"> - <a class="button button-small icon ion-ios-camera button-positive" href="" ng-click="saveEventImageToPhone()"></a> + <a class="button button-small icon ion-ios-camera button-positive" href="" ng-click="saveEventImageToPhone(false)"></a> +</span> + +<span class="events-modal-onlyalarms-icon" ng-if="defaultVideo==''"> + <a class="button button-small icon ion-android-notifications button-positive" href="" ng-click="saveEventImageToPhone(true)"></a> </span> <!-- |
