=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events-controller.js 2015-03-30 10:40:41 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events-controller.js 2015-04-27 08:24:30 +0000 @@ -5,7 +5,7 @@ $modal, $location, $translate, - orderByFilter, + $filter, DateUtils, Paginator, EventReportService, @@ -132,11 +132,14 @@ }); //sort overdue events by their due dates - this is default - $scope.overdueEvents = orderByFilter($scope.overdueEvents, '-dueDate'); - $scope.overdueEvents.reverse(); - + if(!$scope.sortColumn.id){ + $scope.sortGrid({id: 'dueDate', name: $translate('due_date'), valueType: 'date', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.reverse = false; + } + $scope.reportFinished = true; $scope.reportStarted = false; + }); } }; @@ -146,8 +149,10 @@ if (angular.isObject($scope.selectedProgram)){ $scope.programStages = []; + $scope.sortColumn = {}; $scope.filterTypes = {}; $scope.filterText = {}; + $scope.reverse = false; angular.forEach($scope.selectedProgram.programStages, function(stage){ $scope.programStages[stage.id] = stage; @@ -156,12 +161,16 @@ AttributesFactory.getByProgram($scope.selectedProgram).then(function(atts){ var grid = TEIGridService.generateGridColumns(atts, $scope.selectedOuMode); $scope.gridColumns = grid.columns; + + angular.forEach($scope.gridColumns, function(col){ + col.eventCol = false; + }); - $scope.gridColumns.push({name: $translate('event_orgunit_name'), id: 'orgUnitName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.gridColumns.push({name: $translate('event_orgunit_name'), id: 'orgUnitName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['orgUnitName'] = 'string'; - $scope.gridColumns.push({name: $translate('event_name'), id: 'eventName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.gridColumns.push({name: $translate('event_name'), id: 'eventName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['eventName'] = 'string'; - $scope.gridColumns.push({name: $translate('due_date'), id: 'dueDate', type: 'date', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.gridColumns.push({name: $translate('due_date'), id: 'dueDate', type: 'date', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['dueDate'] = 'date'; $scope.filterText['dueDate']= {}; }); @@ -197,21 +206,31 @@ }, function () { }); }; - + + //sortGrid $scope.sortGrid = function(gridHeader){ - if ($scope.sortHeader === gridHeader.id){ + if ($scope.sortColumn && $scope.sortColumn.id === gridHeader.id){ $scope.reverse = !$scope.reverse; return; } - $scope.sortHeader = gridHeader.id; - $scope.reverse = false; - - $scope.overdueEvents = orderByFilter($scope.overdueEvents, $scope.sortHeader); - - if($scope.reverse){ - $scope.overdueEvents.reverse(); - } - }; + $scope.sortColumn = gridHeader; + if($scope.sortColumn.valueType === 'date'){ + $scope.reverse = true; + } + else{ + $scope.reverse = false; + } + }; + + + $scope.d2Sort = function(overDueEvent){ + if($scope.sortColumn && $scope.sortColumn.valueType === 'date'){ + var d = overDueEvent[$scope.sortColumn.id]; + return DateUtils.getDate(d); + } + return overDueEvent[$scope.sortColumn.id]; + }; + $scope.searchInGrid = function(gridColumn){ === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events.html 2015-04-21 07:42:41 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/overdue-events.html 2015-04-27 08:24:30 +0000 @@ -125,30 +125,29 @@
- - + - - + - + + - +
+
+ {{gridColumn.name}} - - - + - + - + @@ -170,22 +169,25 @@ - +
- {{overdueEvent[gridColumn.id]}} - + {{overdueEvent[gridColumn.id]}} + + {{overdueEvent[gridColumn.id]}} +
- +
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events-controller.js 2015-03-30 10:40:41 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events-controller.js 2015-04-27 08:24:30 +0000 @@ -129,9 +129,11 @@ }); - //sort overdue events by their due dates - this is default - $scope.upcomingEvents = orderByFilter($scope.upcomingEvents, '-dueDate'); - $scope.upcomingEvents.reverse(); + //sort upcoming events by their due dates - this is default + if(!$scope.sortColumn.id){ + $scope.sortGrid({id: 'dueDate', name: $translate('due_date'), valueType: 'date', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.reverse = false; + } $scope.reportFinished = true; $scope.reportStarted = false; @@ -143,8 +145,10 @@ if (angular.isObject($scope.selectedProgram)){ $scope.programStages = []; + $scope.sortColumn = {}; $scope.filterTypes = {}; $scope.filterText = {}; + $scope.reverse = false;; angular.forEach($scope.selectedProgram.programStages, function(stage){ $scope.programStages[stage.id] = stage; @@ -155,11 +159,15 @@ var grid = TEIGridService.generateGridColumns(atts, $scope.selectedOuMode); $scope.gridColumns = grid.columns; - $scope.gridColumns.push({name: $translate('event_orgunit_name'), id: 'eventOrgUnitName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true}); + angular.forEach($scope.gridColumns, function(col){ + col.eventCol = false; + }); + + $scope.gridColumns.push({name: $translate('event_orgunit_name'), id: 'orgUnitName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['orgUnitName'] = 'string'; - $scope.gridColumns.push({name: $translate('event_name'), id: 'eventName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.gridColumns.push({name: $translate('event_name'), id: 'eventName', type: 'string', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['eventName'] = 'string'; - $scope.gridColumns.push({name: $translate('due_date'), id: 'dueDate', type: 'date', displayInListNoProgram: false, showFilter: false, show: true}); + $scope.gridColumns.push({name: $translate('due_date'), id: 'dueDate', type: 'date', displayInListNoProgram: false, showFilter: false, show: true, eventCol: true}); $scope.filterTypes['dueDate'] = 'date'; $scope.filterText['dueDate']= {}; }); @@ -197,18 +205,25 @@ }; $scope.sortGrid = function(gridHeader){ - if ($scope.sortHeader === gridHeader.id){ + if ($scope.sortColumn && $scope.sortColumn.id === gridHeader.id){ $scope.reverse = !$scope.reverse; return; } - $scope.sortHeader = gridHeader.id; - $scope.reverse = false; - - $scope.upcomingEvents = orderByFilter($scope.upcomingEvents, $scope.sortHeader); - - if($scope.reverse){ - $scope.upcomingEvents.reverse(); - } + $scope.sortColumn = gridHeader; + if($scope.sortColumn.valueType === 'date'){ + $scope.reverse = true; + } + else{ + $scope.reverse = false; + } + }; + + $scope.d2Sort = function(upcomingDueEvent){ + if($scope.sortColumn && $scope.sortColumn.valueType === 'date'){ + var d = upcomingDueEvent[$scope.sortColumn.id]; + return DateUtils.getDate(d); + } + return upcomingDueEvent[$scope.sortColumn.id]; }; $scope.searchInGrid = function(gridColumn){ === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events.html 2015-04-21 07:42:41 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/report/upcoming-events.html 2015-04-27 08:24:30 +0000 @@ -152,29 +152,28 @@ - - - + +
+ - {{gridColumn.name| translate}} - - + + {{gridColumn.name}} - - - + + + - - + + - + @@ -182,11 +181,11 @@ - + - + @@ -196,22 +195,25 @@ - +
- {{upcomingEvent[gridColumn.id]}} - + {{upcomingEvent[gridColumn.id]}} + + {{upcomingEvent[gridColumn.id]}} +
- + === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2015-04-23 15:18:14 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2015-04-27 08:24:30 +0000 @@ -999,7 +999,7 @@ var pg = pager ? pager.page : 1; pgSize = pgSize > 1 ? pgSize : 1; pg = pg > 1 ? pg : 1; - var url = '../api/events/eventRows.json?' + 'orgUnit=' + orgUnit + '&ouMode='+ ouMode + '&program=' + program + '&programStatus=' + programStatus + '&eventStatus='+ eventStatus + '&pageSize=' + pgSize + '&page=' + pg; + var url = '../api/events/eventRows.json?' + 'orgUnit=' + orgUnit + '&ouMode='+ ouMode + '&program=' + program + '&programStatus=' + programStatus + '&eventStatus='+ eventStatus; if(startDate && endDate){ url = url + '&startDate=' + startDate + '&endDate=' + endDate ; }