=== modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/i18n/en.json' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/i18n/en.json 2014-02-20 11:41:24 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/i18n/en.json 2014-02-21 17:56:00 +0000 @@ -21,7 +21,7 @@ "cancel": "Cancel", "remove": "Remove", "are_you_sure_to_remove": "Are you sure you want to remove the selected item?", - "show_hide_columns": "Show/Hide grid columns", + "show_hide_columns": "Show/Hide columns", "show_all": "Show all", "hide": "Hide", "show_details": "Show details", @@ -75,6 +75,7 @@ "not_selected": "NOT_SELECTED", "search": "Search", "register_new": "Register New", + "empty_event_list": "There are no events", "empty_search_result": "Empty Search Result", "no": "NO", "yes": "YES", === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/index.html' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/index.html 2014-02-20 13:58:38 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/index.html 2014-02-21 17:56:00 +0000 @@ -48,9 +48,8 @@ - + + @@ -85,12 +84,14 @@ {{'event_capture'| translate}} - + +
- + + @@ -98,8 +99,9 @@ @@ -115,34 +117,30 @@
-
+ +
- -
-

{{'show_hide_columns'| translate}}

- - - - - - - - - -
- {{'column' | translate}} - - {{eventGridColumn.name}} -
- {{'hide' | translate}} - - -
- -     - +
+ + + + {{'show_hide_columns' | translate}} + + + + + + +
+ {{eventGridColumn.name}} + + +
+ +
+
- +

{{'registered_events'| translate}}

@@ -151,7 +149,7 @@

- {{'empty_search_result'| translate}} + {{'empty_event_list'| translate}}

@@ -160,15 +158,14 @@ - +
@@ -184,18 +181,16 @@ {{eventGridColumn.name}} - - - + + +
- + @@ -283,22 +278,23 @@ {{'required'| translate}} - - - + +
- -
+ + -
- +
-
+ +
@@ -493,7 +489,7 @@
- + === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/lib/bootstrap/css/bootstrap.min.css' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/lib/bootstrap/css/bootstrap.min.css 2014-02-14 10:59:22 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/lib/bootstrap/css/bootstrap.min.css 2014-02-21 17:56:00 +0000 @@ -4049,6 +4049,7 @@ margin-bottom: 0; line-height: 1.3 } + .panel { margin-bottom: 20px; background-color: #fff; === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/controllers.js' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/controllers.js 2014-02-20 14:31:59 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/controllers.js 2014-02-21 17:56:00 +0000 @@ -7,7 +7,6 @@ .controller('MainController', function($scope, CurrentUserProfile, - OrgUnitFactory, ProgramFactory, ProgramStageFactory, DHIS2EventFactory, @@ -24,80 +23,60 @@ $translate.uses(profile.settings.keyUiLocale); }); + //Paging $scope.rowsPerPage = 50; $scope.currentPage = Paginator.getPage() + 1; - //selections - $scope.selectedOrgUnit = {name: 'please_select'}; - $scope.selectedProgram = ''; - $scope.selectedProgramStage = ''; - $scope.programStageDataElements = []; - $scope.dhis2Events = []; + //Filtering + $scope.reverse = false; + $scope.filterText = {}; + + //Editing $scope.eventRegistration = false; $scope.editGridColumns = false; + $scope.editingEventInFull = false; + $scope.editingEventInGrid = false; + + $scope.programStageDataElements = []; + $scope.dhis2Events = []; + $scope.eventGridColumns = []; + $scope.hiddenGridColumns = 0; $scope.newDhis2Event = {dataValues: []}; $scope.currentEvent = {dataValues: []}; - $scope.currentEventOrginialValue = ''; - - $scope.editingEventInFull = false; - $scope.editingEventInGrid = false; - - $scope.sortHeader = ''; - $scope.reverse = false; - $scope.filterText = {}; - - //Get orgunits for the logged in user - OrgUnitFactory.getMine().then(function(orgUnits) { - $scope.orgUnits = orgUnits; + $scope.currentEventOrginialValue = ''; + + + $scope.$watch('selectedOrgUnit', function(newObj, oldObj) { - //expand root orgunit (the expansion is only if we have one root) - if($scope.orgUnits.length === 1 ){ - $scope.orgUnits[0].show = true; - } + if( angular.isObject($scope.selectedOrgUnit)){ + $scope.loadPrograms($scope.selectedOrgUnit); + } }); - //controll expand/collapse of orgunit tree - $scope.expandCollapse = function(orgUnit) { - - if( !angular.isUndefined( orgUnit.hasChildren ) ){ - - //Get children for the selected orgUnit - OrgUnitFactory.get(orgUnit.id).then(function(data) { - orgUnit.show = !orgUnit.show; - delete orgUnit.hasChildren; - orgUnit.children = data.children; - }); - } - else{ - orgUnit.show = !orgUnit.show; - } - }; - //load programs of type=3 for the selected orgunit - $scope.loadPrograms = function(orgUnit){ + $scope.loadPrograms = function(orgUnit){ + $scope.selectedOrgUnit = orgUnit; $scope.selectedProgram = null; $scope.selectedProgramStage = null; + $scope.eventGridColumns = []; $scope.dhis2Events = []; $scope.newDhis2Event = {dataValues: []}; if (angular.isObject($scope.selectedOrgUnit)) { $scope.programs = []; - ProgramFactory.getMine(3).then(function(data) { - angular.forEach(data.organisationUnits, function(ou) { - if (ou.id === $scope.selectedOrgUnit.id) { - angular.forEach(ou.programs, function(p) { - $scope.programs.push(p); - }); - } - }); + + ProgramFactory.getEventProgramsByOrgUnit($scope.selectedOrgUnit.id,3).then(function(data) { + $scope.programs = data.programs; - if($scope.programs.length === 1){ - $scope.pr = $scope.programs[0]; - $scope.loadEvents($scope.pr); - } - }); + if( !angular.isUndefined($scope.programs)){ + if($scope.programs.length === 1){ + $scope.pr = $scope.programs[0]; + $scope.loadEvents($scope.pr); + } + } + }); } }; @@ -165,24 +144,30 @@ }; $scope.sortEventGrid = function(gridHeader){ + if ($scope.sortHeader === gridHeader.id){ $scope.reverse = !$scope.reverse; return; - } - + } $scope.sortHeader = gridHeader.id; $scope.reverse = false; }; - $scope.showHideColumns = function(showAllColumns){ + $scope.showHideColumns = function(gridColumn, showAllColumns){ if(showAllColumns){ angular.forEach($scope.eventGridColumns, function(gridHeader){ - gridHeader.hide = false; + gridHeader.hide = false; }); + $scope.hiddenGridColumns = 0; } - else{ - $scope.editGridColumns = !$scope.editGridColumns; - } + if(!showAllColumns){ + if(gridColumn.hide){ + $scope.hiddenGridColumns++; + } + else{ + $scope.hiddenGridColumns--; + } + } }; $scope.searchInGrid = function(gridColumn){ @@ -220,13 +205,11 @@ $scope.editingEventInFull = !$scope.editingEventInFull; $scope.eventRegistration = false; - if($scope.currentEvent.dataValues.length !== $scope.selectedProgramStage.programStageDataElements.length){ - angular.forEach($scope.selectedProgramStage.programStageDataElements, function(prStDe){ - if(!$scope.currentEvent.hasOwnProperty(prStDe.dataElement.id)){ - $scope.currentEvent[prStDe.dataElement.id] = ''; - } - }); - } + angular.forEach($scope.selectedProgramStage.programStageDataElements, function(prStDe){ + if(!$scope.currentEvent.hasOwnProperty(prStDe.dataElement.id)){ + $scope.currentEvent[prStDe.dataElement.id] = ''; + } + }); }; $scope.addEvent = function(addingAnotherEvent){ @@ -347,7 +330,8 @@ $scope.generateReport = function(){ console.log('I need to generate the report....'); - }; + }; + }) //Controller for the main page === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/directives.js' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/directives.js 2014-02-20 11:41:24 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/directives.js 2014-02-21 17:56:00 +0000 @@ -18,6 +18,23 @@ }; }) +.directive('selectedOrgUnit', function() { + + return { + restrict: 'A', + link: function(scope, element, attrs){ + + selection.setListenerFunction( organisationUnitSelected ); + selection.responseReceived(); + + function organisationUnitSelected( orgUnits, orgUnitNames ) { + scope.selectedOrgUnit = {id: orgUnits[0], name: orgUnitNames[0]}; + scope.$apply(); + } + } + }; +}) + .directive('dhisContextMenu', function(ContextMenuSelectedItem) { return { === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/services.js' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/services.js 2014-02-20 14:31:59 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/scripts/services.js 2014-02-21 17:56:00 +0000 @@ -33,6 +33,15 @@ }); } return programsPromise; + }, + + getEventProgramsByOrgUnit: function(orgUnit, type){ + + var promise = $http.get( dhis2Url + '/api/programs.json?orgUnit=' + orgUnit + '&type=' + type ).then(function(response){ + programs = response.data; + return programs; + }); + return promise; } }; }) @@ -63,7 +72,7 @@ }) /* factory for loading logged in user profiles from DHIS2 */ -.factory('CurrentUserProfile', function($http, storage) { +.factory('CurrentUserProfile', function($http, storage, TrackerApp) { var dhis2Url = storage.get('CONFIG').activities.dhis.href; @@ -635,6 +644,12 @@ return configurationPromise; } + + /*getConfiguration: function(){ + return this.loadConfiguration().then(function(appConfiguration){ + return appConfiguration; + }); + }*/ }; }) === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/styles/style.css' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/styles/style.css 2014-02-20 13:58:38 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/styles/style.css 2014-02-21 17:56:00 +0000 @@ -681,9 +681,9 @@ color: #000; } -a { +/*a { margin-left: 5px; -} +}*/ div.paging a.active { @@ -704,6 +704,10 @@ color: red; } +.right { + float: right !important; + margin-bottom: 20px; +} .black { color: black; } @@ -826,8 +830,14 @@ display:none; } -.pull-right { - float: right !important +.filter-with-content { + float: right !important; + color: red; +} + +.filter-without-content { + float: right !important; + color: black; } .bold { @@ -1096,4 +1106,218 @@ } .open > .dropdown-menu { display: block +} + + +/*----------------------------------------------------------------------------*/ +/* Bootstrap panel style +/*----------------------------------------------------------------------------*/ + +.panel { + font-family: LiberationSansRegular, arial, sans-serif !important; + font-size: 9pt !important; + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + + -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.05); + box-shadow: 0 1px 1px rgba(0,0,0,0.05) +} +.panel-body { + padding: 10px +} +.panel-body:before, .panel-body:after { + display: table; + content: " " +} +.panel-body:after { + clear: both +} +.panel-body:before, .panel-body:after { + display: table; + content: " " +} +.panel-body:after { + clear: both +} +.panel > .list-group { + margin-bottom: 0 +} +.panel > .list-group .list-group-item { + border-width: 1px 0 +} +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0 +} +.panel > .list-group .list-group-item:last-child { + border-bottom: 0 +} +.panel-heading+ .list-group .list-group-item:first-child { + border-top-width: 0 +} +.panel > .table, .panel > .table-responsive { + margin-bottom: 0 +} +.panel > .panel-body+ .table, .panel > .panel-body+ .table-responsive { + border-top: 1px solid #ddd +} +.panel > .table-bordered, .panel > .table-responsive > .table-bordered { + border: 0 +} +.panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0 +} +.panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0 +} +.panel > .table-bordered > thead > tr:last-child > th, .panel > .table-responsive > .table-bordered > thead > tr:last-child > th, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, .panel > .table-bordered > thead > tr:last-child > td, .panel > .table-responsive > .table-bordered > thead > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0 +} +.panel-heading { + font-family: LiberationSansRegular, arial, sans-serif !important; + font-size: 9pt !important; + padding: 5px 10px; + border-bottom: 1px solid transparent; + +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-family: LiberationSansRegular, arial, sans-serif !important; + font-size: 9pt !important; +} +.panel-title > a { + color: #000; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + +} +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + +} +.panel-group .panel+ .panel { + margin-top: 5px +} +.panel-group .panel-heading { + border-bottom: 0 +} +.panel-group .panel-heading+ .panel-collapse .panel-body { + border-top: 1px solid #ddd +} +.panel-group .panel-footer { + border-top: 0 +} +.panel-group .panel-footer+ .panel-collapse .panel-body { + border-bottom: 1px solid #ddd +} +.panel-default { + border-color: #ddd +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd +} +.panel-default > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #ddd +} +.panel-default > .panel-heading > .dropdown .caret { + border-color: #333 transparent +} +.panel-default > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #ddd +} +.panel-primary { + border-color: #428bca +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #428bca; + border-color: #428bca +} +.panel-primary > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #428bca +} +.panel-primary > .panel-heading > .dropdown .caret { + border-color: #fff transparent +} +.panel-primary > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #428bca +} +.panel-success { + border-color: #d6e9c6 +} +.panel-success > .panel-heading { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6 +} +.panel-success > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #d6e9c6 +} +.panel-success > .panel-heading > .dropdown .caret { + border-color: #468847 transparent +} +.panel-success > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #d6e9c6 +} +.panel-warning { + border-color: #faebcc +} +.panel-warning > .panel-heading { + color: #c09853; + background-color: #fcf8e3; + border-color: #faebcc +} +.panel-warning > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #faebcc +} +.panel-warning > .panel-heading > .dropdown .caret { + border-color: #c09853 transparent +} +.panel-warning > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #faebcc +} +.panel-danger { + border-color: #ebccd1 +} +.panel-danger > .panel-heading { + color: #b94a48; + background-color: #f2dede; + border-color: #ebccd1 +} +.panel-danger > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #ebccd1 +} +.panel-danger > .panel-heading > .dropdown .caret { + border-color: #b94a48 transparent +} +.panel-danger > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #ebccd1 +} +.panel-info { + border-color: #bce8f1 +} +.panel-info > .panel-heading { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1 +} +.panel-info > .panel-heading+ .panel-collapse .panel-body { + border-top-color: #bce8f1 +} +.panel-info > .panel-heading > .dropdown .caret { + border-color: #3a87ad transparent +} +.panel-info > .panel-footer+ .panel-collapse .panel-body { + border-bottom-color: #bce8f1 } \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventList.html' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventList.html 2014-02-18 12:33:44 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventList.html 2014-02-21 17:56:00 +0000 @@ -1,114 +1,181 @@ -
- + +
+

{{'show_hide_columns'| translate}}

+ + + + + + + + + +
+ {{'column' | translate}} + + {{eventGridColumn.name}} +
+ {{'hide' | translate}} + + +
+ +     +
-
- - - + + + +
-
- - -
- - - - - - - - - - -
- {{eventGridColumn.name}} - - {{'hide'| translate}} -
- - - -
-
- - - - - - - - - - - - - - - - - -
- {{eventGridColumn.name}} - - - - -
- {{dhis2Event[eventGridColumn.id]}} - - -
-
- - {{'required'| translate}} -
-
-
-
-
- - {{'required'| translate}} -
-
-
- - {{'required'| translate}} -
+

+ {{'registered_events'| translate}} +

+ +
+ +
+

+ {{'empty_search_result'| translate}} +

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + - - - -
+ + + + + {{eventGridColumn.name}} + + + + + + +
+ +
+ +
+ +
+ {{dhis2Event[eventGridColumn.id]}} + + +
+
+ + {{'required'| translate}} +
+
+
+
+
+ + {{'required'| translate}}
-
- + - {{'required'| translate}} -
-
- - {{'required'| translate}} + {{'required'| translate}}
- -
- - - - -
-

- -
-
- +
+
+ + {{'required'| translate}} +
+
+ + {{'required'| translate}} +
+ + +
+ + + +
+ + + +
+ \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventRegistration.html' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventRegistration.html 2014-02-18 09:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/eventRegistration.html 2014-02-21 17:56:00 +0000 @@ -1,56 +1,92 @@ -
- - - - - - - - - - - + + +
- {{'data_element' | translate}} - - {{'value' | translate}} -
- {{eventDataValue.name}} - -
-
- -
-
-
-
-
- +

+ {{'new_event_registration'| translate}} +

+
+
+ + + + + + + + + + + - - -
+ {{'data_element'| translate}} + + {{'value'| translate}} +
+ {{eventGridColumn.name}} + + +
+
+ + {{'required'| translate}} +
+
+
+
+
+ + {{'required'| translate}} +
+
+
+ + {{'required'| translate}} +
-
- + + + + {{'required'| translate}} +
+
+ + {{'required'| translate}}
- -
- -
-
- -
- -
- - -      - + +
+ + +      + +      + +
\ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/orgUnitTree.html' --- dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/orgUnitTree.html 2014-02-18 09:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-event-capture/src/main/webapp/dhis-web-event-capture/app/views/orgUnitTree.html 2014-02-21 17:56:00 +0000 @@ -1,4 +1,4 @@ -
+ +
---> \ No newline at end of file + \ No newline at end of file