=== 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 @@
-
|
[$i18n.getString( "group" )] |
|
- |
+ |
[$i18n.getString( "name" )] |
|
-
+
|
@@ -96,8 +222,7 @@
|
-
+
|
@@ -106,7 +231,7 @@
- ## Available Indicators
+ ## Available Indicators
## Filter
## Selected Indicators
@@ -119,31 +244,20 @@
-
|
$i18n.getString( "group" ) |
|
- |
+ |
$i18n.getString( "name" ) |
|
-
+
|
@@ -152,11 +266,7 @@
|
-
+
|
=== 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 @@
-