diff options
| author | PliablePixels <pliablepixels@gmail.com> | 2015-08-05 17:59:26 -0400 |
|---|---|---|
| committer | PliablePixels <pliablepixels@gmail.com> | 2015-08-05 17:59:26 -0400 |
| commit | 10f5788d747d2f96027c0591fe332b74f9b9aac7 (patch) | |
| tree | 1f0162ff7fd69338eba5eea78cc09fc1f5affd33 /www/js/EventCtrl.js | |
| parent | 67b5040175a6c282be515dfb61e30540f22d0333 (diff) | |
Timeline feature (Experimental)
Diffstat (limited to 'www/js/EventCtrl.js')
| -rw-r--r-- | www/js/EventCtrl.js | 90 |
1 files changed, 83 insertions, 7 deletions
diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index 7a7ce39b..761bf9ec 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -7,8 +7,10 @@ // and whether the new API has a better mechanism angular.module('zmApp.controllers') - .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'ZMDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', function ($scope, $rootScope, zm, ZMDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition) { + .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'ZMDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', '$ionicPopover', function ($scope, $rootScope, zm, ZMDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition, $ionicPopover) { + // events in last 5 minutes + // TODO https://server/zm/api/events/consoleEvents/5%20minute.json //--------------------------------------------------- // Controller main @@ -30,6 +32,14 @@ angular.module('zmApp.controllers') //var segmentHandle = 0; + + +$ionicPopover.fromTemplateUrl('templates/events-popover.html', { + scope: $scope, + }).then(function(popover) { + $scope.popover = popover; + }); + // These are the commands ZM uses to move around // in ZMS var eventCommands = { @@ -103,13 +113,13 @@ angular.module('zmApp.controllers') // First get total pages and then // start from the latest. If this fails, nothing displays - ZMDataModel.getEventsPages($scope.id) + ZMDataModel.getEventsPages($scope.id, $rootScope.fromString, $rootScope.toString) .then(function (data) { eventsPage = data.pageCount; console.log("TOTAL EVENT PAGES IS " + eventsPage); pageLoaded = true; $scope.viewTitle.title = data.count; - ZMDataModel.getEvents($scope.id, eventsPage, "") + ZMDataModel.getEvents($scope.id, eventsPage, "",$rootScope.fromString, $rootScope.toString) .then(function (data) { console.log("EventCtrl Got events"); //var events = []; @@ -182,6 +192,20 @@ angular.module('zmApp.controllers') $ionicSideMenuDelegate.toggleLeft(); }; + $scope.scrollPosition= function() { + var scrl = parseFloat( $ionicScrollDelegate.$getByHandle("mainScroll").getScrollPosition().top); + var item = Math.round(scrl/200.0); + if ($scope.events[item] == undefined) + { + return ""; + } + else + { + return prettifyDate($scope.events[item].Event.StartTime); + } + //return Math.random(); + }; + //------------------------------------------------------------------------- // called when user switches to background //------------------------------------------------------------------------- @@ -912,7 +936,7 @@ angular.module('zmApp.controllers') loadingStr = "none"; } - ZMDataModel.getEvents($scope.id, eventsPage, loadingStr) + ZMDataModel.getEvents($scope.id, eventsPage, loadingStr,$rootScope.fromString, $rootScope.toString) .then(function (data) { var loginData = ZMDataModel.getLogin(); console.log("Got new page of events with Page=" + eventsPage); @@ -969,10 +993,31 @@ angular.module('zmApp.controllers') }; + + + + + + + //-------------------------------------- // formats events dates in a nice way //--------------------------------------- + $scope.prettifyDate = function (str) { + return moment(str).format('MMM Do'); + }; + + function prettifyDate (str) + { + return moment(str).format('MMM Do'); + } + + $scope.prettifyTime = function (str) { + return moment(str).format('h:mm:ssa'); + }; + + $scope.prettify = function (str) { return moment(str).format('h:mm:ssa on MMMM Do YYYY'); }; @@ -992,13 +1037,13 @@ angular.module('zmApp.controllers') console.log("***Pull to Refresh"); $scope.events = []; moreEvents = true; - ZMDataModel.getEventsPages($scope.id) + ZMDataModel.getEventsPages($scope.id, $rootScope.fromString, $rootScope.toString) .then(function (data) { eventsPage = data.pageCount; console.log("TOTAL EVENT PAGES IS " + eventsPage); pageLoaded = true; $scope.viewTitle.title = data.count; - ZMDataModel.getEvents($scope.id, eventsPage, "") + ZMDataModel.getEvents($scope.id, eventsPage, "",$rootScope.fromString, $rootScope.toString) .then(function (data) { console.log("EventCtrl Got events"); @@ -1007,10 +1052,41 @@ angular.module('zmApp.controllers') for (var i = 0; i < myevents.length; i++) { myevents[i].Event.MonitorName = ZMDataModel.getMonitorName(myevents[i].Event.MonitorId); - } + + // now construct base path + + var str = myevents[i].Event.StartTime; + //var yy = moment(str).format('h:mm:ssa on MMMM Do YYYY'); + var yy = moment(str).format('YY'); + var mm = moment(str).format('MM'); + var dd = moment(str).format('DD'); + var hh = moment(str).format('HH'); + var min = moment(str).format('mm'); + var sec = moment(str).format('ss'); + var loginData = ZMDataModel.getLogin(); + myevents[i].Event.BasePath = loginData.url + "/events/" + + myevents[i].Event.MonitorId + "/" + + yy + "/" + + mm + "/" + + dd + "/" + + hh + "/" + + min + "/" + + sec + "/"; + + myevents[i].Event.relativePath = + myevents[i].Event.MonitorId + "/" + + yy + "/" + + mm + "/" + + dd + "/" + + hh + "/" + + min + "/" + + sec + "/"; + myevents[i].Event.ShowScrub = false; myevents[i].Event.height = zm.eventsListDetailsHeight; + } $scope.events = myevents; + loadMore(); }); }); |
