=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/jQuery/jquery.dhisPaging.js' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/jQuery/jquery.dhisPaging.js 2011-05-18 08:36:18 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/jQuery/jquery.dhisPaging.js 2011-05-19 11:57:47 +0000 @@ -32,11 +32,12 @@ (function($) { var templates = { wrapper: "
", - button: "", + button: "", option: "", option_selected: "", pagesize_input: "Page size ", filter_input: "", + filter_select: "", select_page: "Page " } @@ -57,10 +58,11 @@ var $previous_button = $("#" + previous_button_id); var filter_input_id = id + "_filter_input"; var $filter_input = $("#" + filter_input_id); + var filter_select_id = id + "_filter_select"; var pagesize_input_id = id + "_pagesize_input"; var $pagesize_input = $("#" + pagesize_input_id); - $.getJSON(settings.url, $.param( settings.params ), function(json) { + $.getJSON(settings.source, $.param( settings.params ), function(json) { $select.empty(); $select_page.empty(); @@ -69,7 +71,10 @@ params.pageSize = json.paging.pageSize; params.startPage = json.paging.startPage; - settings.handler($select, json); + $.each(json[settings.iterator], function(i, item) { + var option = jQuery(settings.handler(item)); + $select.append( option ); + }); for(var j=1; j<=params.numberOfPages; j++) { if(params.currentPage == j) { @@ -113,11 +118,59 @@ var previous_button_id = id + "_previous_button"; var filter_input_id = id + "_filter_input"; var filter_button_id = id + "_filter_button"; + var filter_select_id = id + "_filter_select"; var pagesize_input_id = id + "_pagesize_input"; $select.wrap( $.tmpl(templates.wrapper, { "id": wrapper_id }) ); var $wrapper = $("#" + wrapper_id); + if(settings.filter !== undefined) { + $wrapper.prepend( $.tmpl(templates.filter_select, { "id": filter_select_id } ) ); + + if( settings.filter.label !== undefined ) { + $wrapper.prepend( "
Filter by " + settings.filter.label + ":
" ); + } else { + $wrapper.prepend( "
Filter by:
" ); + } + + var $filter_select = $("#" + filter_select_id); + + $.getJSON(settings.filter.source, function(json) { + $filter_select.empty(); + $filter_select.append( ""); + + $.each(json[settings.filter.iterator], function(i, item) { + var option = jQuery(settings.filter.handler(item)); + $filter_select.append( option ); + }); + }); + + $filter_select.bind("change", {"id": id}, function(event) { + var $option = $(this).find(":selected"); + var key = $option.data("key"); + var value = $option.data("value"); + + key = !! key ? key : ""; + value = !! value ? value : ""; + + var settings = $("#" + event.data.id).data("settings"); + + if(key !== "") { + settings.params[key] = value; + settings.filter_select_key = key; + } else { + if(settings.filter_select_key !== undefined) { + delete settings.params[settings.filter_select_key]; + delete settings.filter_select_key; + } + } + + settings.params.currentPage = 1; + $select.data("settings", settings); + methods.load(event.data.id); + }); + } + var $filter_table = $(""); $filter_table.css({ "padding": "1px", @@ -214,4 +267,4 @@ $.error('Method ' + method + ' does not exist on jQuery.dhisPaging' ); } }; -})(jQuery); +})(jQuery, undefined); === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm 2011-05-18 04:42:29 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm 2011-05-19 11:57:47 +0000 @@ -25,6 +25,7 @@ + === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementsAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementsAction.java 2011-05-06 10:49:36 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementsAction.java 2011-05-19 11:57:47 +0000 @@ -28,6 +28,7 @@ */ import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -54,20 +55,20 @@ extends ActionPagingSupport { private final static int ALL = 0; - + // ------------------------------------------------------------------------- // Dependencies // ------------------------------------------------------------------------- - + private DataElementService dataElementService; - + public void setDataElementService( DataElementService dataElementService ) { this.dataElementService = dataElementService; - } + } private DataElementCategoryService categoryService; - + public void setCategoryService( DataElementCategoryService categoryService ) { this.categoryService = categoryService; @@ -79,13 +80,13 @@ { this.dataSetService = dataSetService; } - + private PeriodService periodService; public void setPeriodService( PeriodService periodService ) { this.periodService = periodService; - } + } // ------------------------------------------------------------------------- // Comparator @@ -107,33 +108,33 @@ public void setDisplayPropertyHandler( DisplayPropertyHandler displayPropertyHandler ) { this.displayPropertyHandler = displayPropertyHandler; - } - + } + // ------------------------------------------------------------------------- // Input & output // ------------------------------------------------------------------------- - + private Integer id; public void setId( Integer id ) { this.id = id; } - + private Integer categoryComboId; public void setCategoryComboId( Integer categoryComboId ) { this.categoryComboId = categoryComboId; } - + private Integer dataSetId; - + public void setDataSetId( Integer dataSetId ) { this.dataSetId = dataSetId; } - + private String periodTypeName; public void setPeriodTypeName( String periodTypeName ) @@ -141,13 +142,43 @@ this.periodTypeName = periodTypeName; } + private List removeDataSets = new ArrayList(); + + public void setRemoveDataSets( String removeDataSets ) + { + if ( removeDataSets.length() > 0 ) + { + List stringList = Arrays.asList( removeDataSets.split( "," ) ); + + for ( String s : stringList ) + { + this.removeDataSets.add( Integer.parseInt( s ) ); + } + } + } + + private List removeDataElements = new ArrayList(); + + public void setRemoveDataElements( String removeDataElements ) + { + if ( removeDataElements.length() > 0 ) + { + List stringList = Arrays.asList( removeDataElements.split( "," ) ); + + for ( String s : stringList ) + { + this.removeDataElements.add( Integer.parseInt( s ) ); + } + } + } + private boolean aggregate = false; public void setAggregate( boolean aggregate ) { this.aggregate = aggregate; } - + private List dataElements; public List getDataElements() @@ -159,12 +190,13 @@ // Action implementation // ------------------------------------------------------------------------- - public String execute() throws Exception + public String execute() + throws Exception { if ( id != null && id != ALL ) { DataElementGroup dataElementGroup = dataElementService.getDataElementGroup( id ); - + if ( dataElementGroup != null ) { dataElements = new ArrayList( dataElementGroup.getMembers() ); @@ -173,16 +205,17 @@ else if ( categoryComboId != null && categoryComboId != ALL ) { DataElementCategoryCombo categoryCombo = categoryService.getDataElementCategoryCombo( categoryComboId ); - + if ( categoryCombo != null ) { - dataElements = new ArrayList( dataElementService.getDataElementByCategoryCombo( categoryCombo ) ); + dataElements = new ArrayList( + dataElementService.getDataElementByCategoryCombo( categoryCombo ) ); } } else if ( dataSetId != null ) { DataSet dataset = dataSetService.getDataSet( dataSetId ); - + if ( dataset != null ) { dataElements = new ArrayList( dataset.getDataElements() ); @@ -191,7 +224,7 @@ else if ( periodTypeName != null ) { PeriodType periodType = periodService.getPeriodTypeByName( periodTypeName ); - + if ( periodType != null ) { dataElements = new ArrayList( dataElementService.getDataElementsByPeriodType( periodType ) ); @@ -201,12 +234,30 @@ { dataElements = new ArrayList( dataElementService.getAllDataElements() ); } - + if ( dataElements == null ) { dataElements = new ArrayList(); } - + + if ( removeDataSets.size() > 0 ) + { + for ( Integer id : removeDataSets ) + { + DataSet dataSet = dataSetService.getDataSet( id ); + dataElements.removeAll( dataSet.getDataElements() ); + } + } + + if ( removeDataElements.size() > 0 ) + { + for ( Integer id : removeDataElements ) + { + DataElement dataElement = dataElementService.getDataElement( id ); + dataElements.remove( dataElement ); + } + } + Collections.sort( dataElements, dataElementComparator ); if ( aggregate ) @@ -220,7 +271,7 @@ dataElements = dataElements.subList( paging.getStartPos(), paging.getEndPos() ); } - + displayPropertyHandler.handle( dataElements ); return SUCCESS; === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetIndicatorsAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetIndicatorsAction.java 2011-05-16 16:14:26 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetIndicatorsAction.java 2011-05-19 11:57:47 +0000 @@ -28,10 +28,12 @@ */ import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataset.DataSet; import org.hisp.dhis.dataset.DataSetService; import org.hisp.dhis.indicator.Indicator; @@ -113,7 +115,37 @@ { this.key = key; } - + + private List removeDataSets = new ArrayList(); + + public void setRemoveDataSets( String removeDataSets ) + { + if ( removeDataSets.length() > 0 ) + { + List stringList = Arrays.asList( removeDataSets.split( "," ) ); + + for ( String s : stringList ) + { + this.removeDataSets.add( Integer.parseInt( s ) ); + } + } + } + + private List removeIndicators = new ArrayList(); + + public void setRemoveIndicators( String removeIndicators ) + { + if ( removeIndicators.length() > 0 ) + { + List stringList = Arrays.asList( removeIndicators.split( "," ) ); + + for ( String s : stringList ) + { + this.removeIndicators.add( Integer.parseInt( s ) ); + } + } + } + private List indicators; public List getIndicators() @@ -156,6 +188,24 @@ indicators = new ArrayList(); } + if ( removeDataSets.size() > 0 ) + { + for ( Integer id : removeDataSets ) + { + DataSet dataSet = dataSetService.getDataSet( id ); + indicators.removeAll( dataSet.getDataElements() ); + } + } + + if ( removeIndicators.size() > 0 ) + { + for ( Integer id : removeIndicators ) + { + Indicator indicator = indicatorService.getIndicator( id ); + indicators.remove( indicator ); + } + } + Collections.sort( indicators, indicatorComparator ); if ( usePaging ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java 2011-05-10 08:42:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java 2011-05-19 11:57:47 +0000 @@ -132,18 +132,18 @@ this.frequencySelect = frequencySelect; } - private Collection selectedList = new HashSet(); + private Collection dataElementsSelectedList = new HashSet(); - public void setSelectedList( Collection selectedList ) + public void setDataElementsSelectedList( Collection dataElementsSelectedList ) { - this.selectedList = selectedList; + this.dataElementsSelectedList = dataElementsSelectedList; } - private Collection indicatorSelectedList = new HashSet(); + private Collection indicatorsSelectedList = new HashSet(); - public void setIndicatorSelectedList( Collection indicatorSelectedList ) + public void setIndicatorsSelectedList( Collection indicatorsSelectedList ) { - this.indicatorSelectedList = indicatorSelectedList; + this.indicatorsSelectedList = indicatorsSelectedList; } private boolean mobile; @@ -177,26 +177,26 @@ PeriodType periodType = periodService.getPeriodTypeByName( frequencySelect ); Collection dataElements = new HashSet(); - - for ( String id : selectedList ) + + for ( String id : dataElementsSelectedList ) { dataElements.add( dataElementService.getDataElement( Integer.parseInt( id ) ) ); } Set indicators = new HashSet(); - for ( String id : indicatorSelectedList ) + for ( String id : indicatorsSelectedList ) { indicators.add( indicatorService.getIndicator( Integer.parseInt( id ) ) ); } DataSet dataSet = new DataSet( name, shortName, code, periodType ); - + dataSet.setMobile( mobile ); dataSet.setVersion( 1 ); dataSet.setDataElements( dataElements ); dataSet.setIndicators( indicators ); - + dataSetService.addDataSet( dataSet ); assignDataSetToUserRole( dataSet ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm 2011-05-10 08:42:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm 2011-05-19 11:57:47 +0000 @@ -1,5 +1,142 @@ @@ -50,7 +187,7 @@

  - ## Available DataElements + ## Available DataElements ## Filter ## Selected DataElements @@ -63,31 +200,20 @@ - + @@ -106,7 +231,7 @@
- [$i18n.getString( "group" )]
[$i18n.getString( "name" )]
- +
@@ -96,8 +222,7 @@
- +
- ## Available Indicators + ## Available Indicators ## Filter ## Selected Indicators @@ -119,31 +244,20 @@ - + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/javascript/addDataSet.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/javascript/addDataSet.js 2011-05-10 08:42:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/javascript/addDataSet.js 2011-05-19 11:57:47 +0000 @@ -3,7 +3,7 @@ form.submit() }, { 'beforeValidateHandler' : function() { - selectAllById('selectedList'); + selectAllById('dataElementsSelectedList'); selectAllById('indicatorSelectedList'); }, 'rules' : getValidationRules("dataSet") === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/viewDataEntryForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/viewDataEntryForm.vm 2011-05-16 19:39:22 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/viewDataEntryForm.vm 2011-05-19 11:57:47 +0000 @@ -1,4 +1,3 @@ -
- $i18n.getString( "group" )
$i18n.getString( "name" )
- +
@@ -152,11 +266,7 @@
- +