=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOperands.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOperands.vm 2010-12-12 19:49:23 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOperands.vm 2011-01-12 11:07:48 +0000
@@ -8,4 +8,6 @@
"operandName": "$!encoder.jsonEncode( ${operand.operandName} )"
}#if( $velocityCount < $size ),#end
#end
-] }
\ No newline at end of file
+] ,
+ "paging":#parse( "/dhis-web-commons/ajax/jsonPaging.vm" )
+}
\ No newline at end of file
=== added file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonPaging.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonPaging.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonPaging.vm 2011-01-12 11:07:48 +0000
@@ -0,0 +1,12 @@
+#set ( $baseLink = $paging.baseLink )
+#set ( $pageSize = $paging.pageSize )
+#set ( $currentPage = $paging.currentPage )
+#set ( $startPage = $paging.startPage )
+#set ( $numberOfPages = $paging.numberOfPages )
+{
+ "numberOfPages": "${numberOfPages}",
+ "currentPage":"${currentPage}",
+ "baseLink":"$!encoder.jsonEncode( ${baseLink} )",
+ "pageSize":"${pageSize}",
+ "startPage":"${startPage}"
+}
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.ajax.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.ajax.js 2010-12-10 07:45:59 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.ajax.js 2011-01-12 11:07:48 +0000
@@ -18,6 +18,12 @@
var operandsByDataElementGroup = new Array();
+ var params = {};
+
+ var jQuerySelectionString;
+
+ var url;
+
this.loadDataElementGroups = function( jQuerySelectionString )
{
var target = jQuery( jQuerySelectionString );
@@ -160,6 +166,18 @@
});
}
+ }
+
+ this.reloadOperands = function( currentpage )
+ {
+ this.params.currentPage = currentpage;
+ this.loadOperands( this.jQuerySelectionString, this.params );
+ }
+
+ this.changeOperandsPageSize = function( pagesize )
+ {
+ this.params.pageSize = pagesize;
+ this.loadOperands( this.jQuerySelectionString, this.params );
}
this.loadOperands = function ( jQuerySelectionString, params )
@@ -167,12 +185,34 @@
var target = jQuery( jQuerySelectionString );
target.children().remove();
- jQuery.getJSON('../dhis-web-commons-ajax-json/getOperands.action'
- , params
+ this.params = params;
+ this.jQuerySelectionString = jQuerySelectionString;
+
+ jQuery.getJSON( '../dhis-web-commons-ajax-json/getOperands.action'
+ , this.params
, function( json ){
jQuery.each( json.operands, function(i, item){
target.append('');
- });
+ });
+ if( params.usepaging ){
+ var numberOfPages = json.paging.numberOfPages;
+ var currentPage = json.paging.currentPage;
+ var baseLink = json.paging.baseLink;
+ var pageSize = json.paging.pageSize;
+ var startPage = json.paging.startPage;
+
+ var html = '
';
+ if( numberOfPages > 1 ){
+ html += 'Page: ';
+ }
+ html += 'Size:
';
+ jQuery( '#abcd1234' ).remove();;
+ jQuery( html ).insertAfter( target );
+ }
});
}
=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java 2010-12-07 17:02:27 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java 2011-01-12 11:07:48 +0000
@@ -38,14 +38,13 @@
import org.hisp.dhis.dataelement.comparator.DataElementOperandNameComparator;
import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.dataset.DataSetService;
-
-import com.opensymphony.xwork2.Action;
+import org.hisp.dhis.paging.ActionPagingSupport;
/**
* @author Lars Helge Overland
*/
public class GetOperandsAction
- implements Action
+ extends ActionPagingSupport
{
// -------------------------------------------------------------------------
// Dependencies
@@ -98,7 +97,7 @@
}
private boolean includeTotals = false;
-
+
public void setIncludeTotals( boolean includeTotals )
{
this.includeTotals = includeTotals;
@@ -140,10 +139,20 @@
dataElements.retainAll( dataElementService.getDataElementsByAggregationOperator( aggregationOperator ) );
}
- operands = new ArrayList( dataElementCategoryService.getOperands( dataElements, includeTotals ) );
+ operands = new ArrayList( dataElementCategoryService.getOperands( dataElements,
+ includeTotals ) );
Collections.sort( operands, new DataElementOperandNameComparator() );
+ if ( this.usepaging )
+ {
+
+ this.paging = createPaging( operands.size() );
+
+ operands = operands.subList( paging.getStartPos(), paging.getEndPos() );
+
+ }
+
return SUCCESS;
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/paging/ActionPagingSupport.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/paging/ActionPagingSupport.java 2010-10-30 05:54:51 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/paging/ActionPagingSupport.java 2011-01-12 11:07:48 +0000
@@ -65,16 +65,28 @@
{
return paging;
}
-
- @SuppressWarnings("unchecked")
+
+ protected boolean usepaging;
+
+ public boolean isUsepaging()
+ {
+ return usepaging;
+ }
+
+ public void setUsepaging( boolean usepaging )
+ {
+ this.usepaging = usepaging;
+ }
+
+ @SuppressWarnings( "unchecked" )
private String getCurrentLink()
{
HttpServletRequest request = ServletActionContext.getRequest();
-
+
String baseLink = request.getRequestURI() + "?";
Enumeration paramNames = request.getParameterNames();
-
+
while ( paramNames.hasMoreElements() )
{
String paramName = paramNames.nextElement();
@@ -85,7 +97,7 @@
}
}
- return baseLink.substring( 0, baseLink.length()-1 );
+ return baseLink.substring( 0, baseLink.length() - 1 );
}
protected Paging createPaging( Integer totalRecord )
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorExpressionBuilderForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorExpressionBuilderForm.vm 2010-12-12 20:39:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/indicatorExpressionBuilderForm.vm 2011-01-12 11:07:48 +0000
@@ -137,7 +137,7 @@
var id = getFieldValue( "indicator-expression-container select[id=dataElementGroupId]");
- dataDictionary.loadOperands( "#indicator-expression-container select[id=dataElementId]", {id: id, aggregationOperator: aggregationOperator} );
+ dataDictionary.loadOperands( "#indicator-expression-container select[id=dataElementId]", {id: id, aggregationOperator: aggregationOperator} , usepaging:true );
checkAggregationOperator();
}