------------------------------------------------------------ revno: 15398 committer: Abyot Asalefew Gizaw aby...@gmail.com branch nick: dhis2 timestamp: Mon 2014-05-26 10:08:05 +0200 message: drop down menus for program selection and advanced search - wip modified: dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/i18n/en.json dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/index.html dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/styles/style.css dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/home.html dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/pagination.html dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/registration.html dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/search.html
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/i18n/en.json' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/i18n/en.json 2014-05-21 15:55:51 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/i18n/en.json 2014-05-26 08:08:05 +0000 @@ -63,6 +63,7 @@ "show_hide_widgets": "Show/Hide widgets", "select_widgets_to_show": "Select widgets to show", "close": "Close", + "list_programs": "List programs", "program_stage": "Program stage", "scheduled_date": "Scheduled date", "scheduling": "Scheduling", === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/index.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/index.html 2014-05-16 11:32:21 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/index.html 2014-05-26 08:08:05 +0000 @@ -63,7 +63,7 @@ <script type="text/javascript" src="scripts/filters.js"></script> <script type="text/javascript" src="scripts/directives.js"></script> <script type="text/javascript" src="scripts/controllers.js"></script> - + <!-- Menu scripts --> <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.translate.js"></script> <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.menu.js"></script> === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js 2014-05-21 16:21:54 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js 2014-05-26 08:08:05 +0000 @@ -37,8 +37,8 @@ $scope.showSearchDiv = false; $scope.searchText = null; $scope.emptySearchText = false; - $scope.searchFilterExists = false; - $scope.attributes = AttributesFactory.getWithoutProgram(); + $scope.searchFilterExists = false; + $scope.searchMode = { listAll: 'LIST_ALL', freeText: 'FREE_TEXT', @@ -51,6 +51,8 @@ //watch for selection of org unit from tree $scope.$watch('selectedOrgUnit', function() { + $scope.attributes = AttributesFactory.getWithoutProgram(); + if( angular.isObject($scope.selectedOrgUnit)){ storage.set('SELECTED_OU', $scope.selectedOrgUnit); @@ -60,8 +62,9 @@ //apply translation - by now user's profile is fetched from server. TranslationService.translate(); - $scope.loadPrograms($scope.selectedOrgUnit); + $scope.loadPrograms($scope.selectedOrgUnit); $scope.search($scope.searchMode.listAll); + } }); @@ -91,7 +94,8 @@ if( !angular.isUndefined($scope.programs)){ if($scope.programs.length === 1){ $scope.selectedProgram = $scope.programs[0]; - $scope.pr = $scope.selectedProgram; + $scope.pr = $scope.selectedProgram; + $scope.attributes = AttributesFactory.getByProgram($scope.selectedProgram); } } } @@ -101,16 +105,19 @@ $scope.getProgramAttributes = function(program){ $scope.trackedEntityList = null; $scope.selectedProgram = program; + if($scope.selectedProgram){ $scope.attributes = AttributesFactory.getByProgram($scope.selectedProgram); } else{ $scope.attributes = AttributesFactory.getWithoutProgram(); } + + $scope.search($scope.searchMode); }; $scope.search = function(mode){ - + $scope.emptySearchText = false; $scope.emptySearchAttribute = false; $scope.showSearchDiv = false; @@ -148,6 +155,8 @@ else if( mode === $scope.searchMode.listAll ){ $scope.showTrackedEntityDiv = true; } + + $scope.gridColumns = $scope.generateGridColumns($scope.attributes); //get events for the specified parameters TEIService.search($scope.selectedOrgUnit.id, @@ -155,12 +164,7 @@ queryUrl, programUrl, attributeUrl.url).then(function(data){ - $scope.trackedEntityList = data; - - if($scope.trackedEntityList){ - $scope.gridColumns = $scope.generateGridColumns($scope.attributes); - } - + $scope.trackedEntityList = data; }); }; === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js 2014-05-21 16:13:41 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js 2014-05-26 08:08:05 +0000 @@ -124,6 +124,23 @@ //dhis2.availability.startAvailabilityCheck(); + //drop down menus for program selection and advanced search + $( "#searchDropDown" ).width($( "#searchDropDownParent" ).width()); + $( "#selectDropDown" ).width($( "#selectDropDownParent" ).width()); + + $(".select-drop-down-button").on('click', function(e){ + e.stopPropagation(); + $("#selectDropDown").dropdown('toggle'); + }); + +}); + +$(window).resize(function() { + $( "#selectDropDown" ).width($( "#selectDropDownParent" ).width()); + $( "#searchDropDown" ).width($( "#searchDropDownParent" ).width()); + + console.log('select parent width is-r: ', $( "#selectDropDownParent" ).width()); + console.log('select width is-r: ', $( "#selectDropDown" ).width()); }); function ajax_login() === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/styles/style.css' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/styles/style.css 2014-05-22 13:19:01 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/styles/style.css 2014-05-26 08:08:05 +0000 @@ -849,4 +849,14 @@ .underline{ text-decoration: underline; +} + +.select-drop-down-button{ + text-align: left; + padding: 6px 12px; + color: #999; +} + +.dropdown-menu { + margin-top: -5px; } \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/home.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/home.html 2014-05-22 13:19:01 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/home.html 2014-05-26 08:08:05 +0000 @@ -21,11 +21,15 @@ <input type="text" selected-org-unit ng-model="selectedOrgUnit.name" ng-hide=true> <div class="row"> - <div class="input-group col-md-4"> + <div id="searchDropDownParent" class="input-group col-md-6"> <input type="text" placeholder="{{'your_search_input_here'| translate}}" ng-model="searchText" class="form-control" ng-class="{true: 'invalid - input'} [!searchText && emptySearchText]" ng-focus="hideSearch()" ng-disabled="showRegistrationDiv"> - <span class="input-group-btn"> - <button class="btn btn-default trim" type="button" title="{{'advanced_search'| translate}}" ng-click="showSearch()" ng-disabled="showRegistrationDiv"><i class="fa fa-caret-down"></i></button> - </span> + <div class="input-group-btn"> + <button class="btn btn-default trim" type="button" title="{{'advanced_search'| translate}}" data-toggle="dropdown" ng-disabled="showRegistrationDiv"><i class="fa fa-caret-down"></i></button> + <div id="searchDropDown" class="dropdown-menu pull-right"> + <form ng-include="'views/search.html'"> + </form> + </div> + </div> </div> <div class="col-md-3 trim"> <button type="button" @@ -44,11 +48,21 @@ </div> <div class="row vertical-spacing"> - <div class="col-md-4"> - <select class="form-control" ng-model="pr" ng-change="getProgramAttributes(pr)" ng-options="program as program.name for program in programs | orderBy: 'name'"> - <option value="">{{'please_select_a_program'| translate}}</option> - </select> + <div id="selectDropDownParent" class="input-group col-md-6"> + <button type="button" class="select-drop-down-button form-control" >{{selectedProgram ? selectedProgram.name : 'please_select_a_program'| translate}}</button> + <div class="input-group-btn"> + <button class="btn btn-default trim" type="button" title="{{'list_programs'| translate}}" data-toggle="dropdown"><i class="fa fa-caret-down"></i></button> + <ul id="selectDropDown" class="dropdown-menu pull-right"> + <li> + <a href ng-click="getProgramAttributes(null)">{{'please_select_a_program'| translate}}</a> + </li> + <li ng-repeat="program in programs | orderBy: 'name'"> + <a href ng-click="getProgramAttributes(program)">{{program.name}}</a> + </li> + </ul> + </div> </div> + <div class="col-md-3 trim"> <button type="button" class="btn btn-default" @@ -59,17 +73,17 @@ </div> <div class="row vertical-spacing" ng-if="!searchText && emptySearchText"> - <div class="col-md-4"> + <div class="col-md-6"> <div class="alert alert-danger">{{'search_input_required'| translate}}</div> </div> </div> <!-- search begins --> - <div class="row" ng-show="showSearchDiv"> + <!--<div class="row" ng-show="showSearchDiv"> <div class="col-md-6"> <div ng-include="'views/search.html'"></div> </div> - </div> + </div>--> <!-- search ends --> <!--registration begins --> === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/pagination.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/pagination.html 2014-05-22 13:19:01 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/pagination.html 2014-05-26 08:08:05 +0000 @@ -1,5 +1,5 @@ <div class="paging-container"> - <table style="background-color: #f5f5f5;" width='100%'> + <table style="background-color: #ebf0f6;" width='100%'> <tr> <td> {{'total_number_of_pages'| translate}}: {{paginator.pageCount()}} === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/registration.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/registration.html 2014-05-21 14:59:16 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/registration.html 2014-05-26 08:08:05 +0000 @@ -81,10 +81,10 @@ </table> </div> - <div class="btn-group vertical-spacing"> + <div class="vertical-spacing"> <button type="button" class="btn btn-default" ng-click="registerEntity(true)">{{'save_and_continue'| translate}}</button> - <button type="button" class="btn btn-default" ng-click="registerEntity(false)">{{'save_and_add_new'| translate}}</button> - <button type="button" class="btn btn-default" ng-click="showRegistration()">{{'cancel'| translate}}</button> + <button type="button" class="btn btn-default small-horizonal-spacing" ng-click="registerEntity(false)">{{'save_and_add_new'| translate}}</button> + <button type="button" class="btn btn-default small-horizonal-spacing" ng-click="showRegistration()">{{'cancel'| translate}}</button> </div> </form> </div> === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/search.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/search.html 2014-05-22 13:19:01 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/views/search.html 2014-05-26 08:08:05 +0000 @@ -1,53 +1,49 @@ -<div class="bordered-div"> - - <div class="search-container"> - <table class="table-borderless table-striped"> - <tr> - <td>{{'org_unit_mode'| translate}}</td> - <td> - <input type="radio" ng-model="ouMode.name" value="SELECTED">{{'use_selected'| translate}}<br/> - <input type="radio" ng-model="ouMode.name" value="CHILDREN">{{'use_immediate_children'| translate}}<br/> - <input type="radio" ng-model="ouMode.name" value="DESCENDANTS">{{'use_all_children'| translate}} - </td> - </tr> - <tr ng-repeat="attribute in attributes"> - <td> - {{attribute.name}} - {{attribute.valueType}} - </td> - <td> - <div ng-switch="attribute.valueType"> - <div ng-switch-when="date"> - <input type="text" class="form-control" ng-date ng-model="attribute.value" /> - </div> - <div ng-switch-when="trueOnly"> - <input type="checkbox" class="form-control" ng-model="attribute.value" /> - </div> - <div ng-switch-when="bool"> - <select multiple ui-select2 ng-model="attribute.value" data-placeholder="{{'please_select'| translate}}" style="width:100%;"> - <option value="0">{{'no'| translate}}</option> - <option value="1">{{'yes'| translate}}</option> - </select> - </div> - <div ng-switch-when="combo"> - <select multiple ui-select2 ng-model="attribute.value" data-placeholder="{{'please_select'| translate}}" style="width:100%;"> - <option ng-repeat="option in attribute.optionSet.options" value="{{option}}">{{option}}</option> - </select> - </div> - <div ng-switch-when="number"> - <input type="number" class="form-control" ng-model="attribute.value"/> - </div> - <div ng-switch-default> - <input type="text" class="form-control" ng-model="attribute.value" /> - </div> - </div> - </td> - </tr> - </table> - </div> - + + <table class="table-borderless table-striped"> + <tr> + <td>{{'org_unit_mode'| translate}}</td> + <td> + <input type="radio" ng-model="ouMode.name" value="SELECTED">{{'use_selected'| translate}}<br/> + <input type="radio" ng-model="ouMode.name" value="CHILDREN">{{'use_immediate_children'| translate}}<br/> + <input type="radio" ng-model="ouMode.name" value="DESCENDANTS">{{'use_all_children'| translate}} + </td> + </tr> + <tr ng-repeat="attribute in attributes"> + <td> + {{attribute.name}} - {{attribute.valueType}} + </td> + <td> + <div ng-switch="attribute.valueType"> + <div ng-switch-when="date"> + <input type="text" class="form-control" ng-date ng-model="attribute.value" /> + </div> + <div ng-switch-when="trueOnly"> + <input type="checkbox" class="form-control" ng-model="attribute.value" /> + </div> + <div ng-switch-when="bool"> + <select multiple ui-select2 ng-model="attribute.value" data-placeholder="{{'please_select'| translate}}" style="width:100%;"> + <option value="0">{{'no'| translate}}</option> + <option value="1">{{'yes'| translate}}</option> + </select> + </div> + <div ng-switch-when="combo"> + <select multiple ui-select2 ng-model="attribute.value" data-placeholder="{{'please_select'| translate}}" style="width:100%;"> + <option ng-repeat="option in attribute.optionSet.options" value="{{option}}">{{option}}</option> + </select> + </div> + <div ng-switch-when="number"> + <input type="number" class="form-control" ng-model="attribute.value"/> + </div> + <div ng-switch-default> + <input type="text" class="form-control" ng-model="attribute.value" /> + </div> + </div> + </td> + </tr> + </table> <button type="button" - class="btn btn-default small-horizonal-spacing" + class="btn btn-default" ng-click="search(searchMode.attributeBased)"> {{'search'| translate}} </button> @@ -68,4 +64,4 @@ </div> </div> -</div> \ No newline at end of file +
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp