diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2019-05-29 11:45:23 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2019-05-29 11:45:23 -0400 |
| commit | 2e44ed65be3ad42190af1e590a30ac2866ef65c4 (patch) | |
| tree | e833d7214a9183412be90c38fd12cf94b55510eb /www/js/EventDateTimeFilterCtrl.js | |
| parent | 2f59a4e6ade708f320bb2212c11e6ff2d4259eec (diff) | |
add ability to filter events by monitor
Diffstat (limited to 'www/js/EventDateTimeFilterCtrl.js')
| -rw-r--r-- | www/js/EventDateTimeFilterCtrl.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/www/js/EventDateTimeFilterCtrl.js b/www/js/EventDateTimeFilterCtrl.js index 0e5f9988..ffe8cd62 100644 --- a/www/js/EventDateTimeFilterCtrl.js +++ b/www/js/EventDateTimeFilterCtrl.js @@ -27,8 +27,30 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.beforeEnter', function () { $scope.today = moment().format("YYYY-MM-DD"); + $scope.monitors = NVR.getMonitorsNow(); + if (!$scope.monitors.length) { + NVR.getMonitors(1) + .then (function (data) { + $scope.monitors = data; + for (var i=0; i < $scope.monitors.length; i++) { + if ($scope.monitors[i].Monitor.isChecked == undefined) + $scope.monitors[i].Monitor.isChecked = true; + } + }); + } + else { + for (var i=0; i < $scope.monitors.length; i++) { + if ($scope.monitors[i].Monitor.isChecked == undefined) + $scope.monitors[i].Monitor.isChecked = true; + } + } + $scope.monitorsExpanded = false; }); + $scope.toggleMonitors = function() { + $scope.monitorsExpanded = !$scope.monitorsExpanded; + + }; //-------------------------------------------------------------------------- // Clears filters //-------------------------------------------------------------------------- @@ -124,6 +146,35 @@ angular.module('zmApp.controllers') disableBack: true }); + var includeString=''; + var excludeString=''; + var totalUnchecked = 0; + var totalChecked = 0; + + for (var i=0; i < $scope.monitors.length; i++) { + if ($scope.monitors[i].Monitor.isChecked) { + totalChecked += 1; + includeString = includeString + '/MonitorId =:'+$scope.monitors[i].Monitor.Id; + } + else { + totalUnchecked +=1; + excludeString = excludeString + '/MonitorId !=:'+$scope.monitors[i].Monitor.Id; + } + } + if (!totalUnchecked) { + $rootScope.monitorsFilter = ''; + } else { + if (totalUnchecked >= totalChecked) { + $rootScope.monitorsFilter = includeString; + } + else { + $rootScope.monitorsFilter = excludeString; + } + } + + + //console.log (">>>>>>>>>>>>> MON FILTER="+$rootScope.monitorsFilter); + //console.log (" >>>>>>>> BACK VIEW = "+$ionicHistory.backTitle()); if ($ionicHistory.backTitle() == 'Timeline') { |
