dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #20667
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 9570: Ad-hoc aggregated reports in Tabular reports(WIP) - Allow to add more filter DE fields.
------------------------------------------------------------
revno: 9570
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-01-22 13:42:20 +0700
message:
Ad-hoc aggregated reports in Tabular reports(WIP) - Allow to add more filter DE fields.
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/i18n.vm
--
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-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java 2013-01-21 09:52:11 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java 2013-01-22 06:42:20 +0000
@@ -69,6 +69,8 @@
public static final int POSITION_ROW_DATA_COLUMN_ORGUNIT = 10; // PIVOT FROM
// 7
+
+ public static final String SEPARATE_FILTER = "_";
private ProgramStage programStage;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java 2013-01-21 06:18:31 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java 2013-01-22 06:42:20 +0000
@@ -28,6 +28,7 @@
import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -111,7 +112,7 @@
Collection<Integer> orgunitIds, Date startDate, Date endDate, int status, Integer max, Integer min );
Grid getAggregateReport( int position, ProgramStage programStage, Collection<Integer> orgunitIds,
- String facilityLB, Integer dataElementId, Map<Integer, String> deFilters, Collection<Period> periods,
+ String facilityLB, Integer dataElementId, Map<Integer, Collection<String>> deFilters, Collection<Period> periods,
String aggregateType, Integer limit, Boolean useCompletedEvents, I18nFormat format, I18n i18n );
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java 2013-01-21 06:18:31 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java 2013-01-22 06:42:20 +0000
@@ -28,6 +28,7 @@
import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -102,7 +103,7 @@
Collection<Integer> orgunitIds, Date startDate, Date endDate, int status, Integer min, Integer max );
Grid getAggregateReport( int position, ProgramStage programStage, Collection<Integer> orgunitIds,
- String facilityLB, Integer dataElementId, Map<Integer, String> deFilters, Collection<Period> periods,
+ String facilityLB, Integer dataElementId, Map<Integer, Collection<String>> deFilters, Collection<Period> periods,
String aggregateType, Integer limit, Boolean useCompletedEvents, I18nFormat format, I18n i18n );
}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2013-01-21 06:18:31 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2013-01-22 06:42:20 +0000
@@ -347,7 +347,7 @@
@Override
public Grid getAggregateReport( int position, ProgramStage programStage, Collection<Integer> orgunitIds,
- String facilityLB, Integer dataElementId, Map<Integer, String> deFilters, Collection<Period> periods,
+ String facilityLB, Integer dataElementId, Map<Integer, Collection<String>> deFilters, Collection<Period> periods,
String aggregateType, Integer limit, Boolean useCompletedEvents, I18nFormat format, I18n i18n )
{
return programStageInstanceStore.getAggregateReport( position, programStage, orgunitIds, facilityLB,
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-01-21 07:29:15 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-01-22 06:42:20 +0000
@@ -392,7 +392,7 @@
}
public Grid getAggregateReport( int position, ProgramStage programStage, Collection<Integer> orgunitIds,
- String facilityLB, Integer deGroupBy, Map<Integer, String> deFilters, Collection<Period> periods,
+ String facilityLB, Integer deGroupBy, Map<Integer, Collection<String>> deFilters, Collection<Period> periods,
String aggregateType, Integer limit, Boolean useCompletedEvents, I18nFormat format, I18n i18n )
{
String sql = "";
@@ -590,13 +590,13 @@
// ---------------------------------------------------------------------
// Headers cols
// ---------------------------------------------------------------------
-
+
if ( position == PatientAggregateReport.POSITION_ROW_ORGUNIT_COLUMN_DATA )
{
grid.addHeader( new GridHeader( i18n.getString( "orgunit" ), false, true ) );
grid.addHeader( new GridHeader( i18n.getString( aggregateType ), false, false ) );
}
-
+
// ---------------------------------------------------------------------
// Get SQL and build grid
// ---------------------------------------------------------------------
@@ -1378,7 +1378,7 @@
}
}
- private String filterSQLStatement( Map<Integer, String> deFilters )
+ private String filterSQLStatement( Map<Integer, Collection<String>> deFilters )
{
String filter = "";
if ( deFilters != null )
@@ -1389,26 +1389,22 @@
while ( iterFilter.hasNext() )
{
Integer id = iterFilter.next();
- String[] filterKey = deFilters.get( id ).split( "_" );
-
- filter += "AND (SELECT value ";
- filter += "FROM patientdatavalue ";
- filter += "WHERE programstageinstanceid=psi_1.programstageinstanceid AND ";
- if ( !flag )
- {
- filter += "dataelementid= pdv_1.dataelementid AND ";
- flag = true;
- }
- filter += "dataelementid=" + id + " ";
- filter += ") " + filterKey[0] + " " + filterKey[1] + " ";
-
- if ( filterKey.length == 4 )
- {
+ for ( String filterValue : deFilters.get( id ) )
+ {
+ int index = filterValue.indexOf( PatientAggregateReport.SEPARATE_FILTER );
+ String operator = (filterValue.substring( 0, index ));
+ String value = filterValue.substring( index + 1, filterValue.length() );
+
filter += "AND (SELECT value ";
filter += "FROM patientdatavalue ";
filter += "WHERE programstageinstanceid=psi_1.programstageinstanceid AND ";
+ if ( !flag )
+ {
+ filter += "dataelementid= pdv_1.dataelementid AND ";
+ flag = true;
+ }
filter += "dataelementid=" + id + " ";
- filter += ") " + filterKey[2] + " " + filterKey[3] + " ";
+ filter += ") " + operator + " " + value + " ";
}
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java 2013-01-21 06:18:31 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java 2013-01-22 06:42:20 +0000
@@ -38,6 +38,7 @@
import org.hisp.dhis.i18n.I18n;
import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.patientreport.PatientAggregateReport;
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodService;
import org.hisp.dhis.period.PeriodType;
@@ -57,8 +58,6 @@
public class GenerateAggregateReportAction
implements Action
{
- private final String SEPARATE_FILTER = "_";
-
// -------------------------------------------------------------------------
// Dependencies
// -------------------------------------------------------------------------
@@ -243,7 +242,7 @@
// ---------------------------------------------------------------------
Collection<OrganisationUnit> userOrgunits = currentUserService.getCurrentUser().getOrganisationUnits();
-
+
if ( userOrganisationUnit || userOrganisationUnitChildren )
{
orgunitIds = new HashSet<Integer>();
@@ -301,15 +300,26 @@
// ---------------------------------------------------------------------
ProgramStage programStage = programStageService.getProgramStage( programStageId );
- Map<Integer, String> deFilterMap = null;
+ Map<Integer, Collection<String>> deFilterMap = null;
if ( deFilters != null )
{
- deFilterMap = new HashMap<Integer, String>();
+ deFilterMap = new HashMap<Integer, Collection<String>>();
for ( String deFilter : deFilters )
{
- int index = deFilter.indexOf( SEPARATE_FILTER );
- deFilterMap.put( Integer.parseInt( deFilter.substring( 0, index ) ),
- deFilter.substring( index + 1, deFilter.length() ) );
+ int index = deFilter.indexOf( PatientAggregateReport.SEPARATE_FILTER );
+ Integer deId = Integer.parseInt( deFilter.substring( 0, index ) );
+ String filter = deFilter.substring( index + 1, deFilter.length() );
+ if ( deFilterMap.containsKey( deId ) )
+ {
+ Collection<String> filterValues = deFilterMap.get( deId );
+ filterValues.add( filter );
+ }
+ else
+ {
+ Collection<String> filterValues = new HashSet<String>();
+ filterValues.add( filter );
+ deFilterMap.put( deId, filterValues );
+ }
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2013-01-21 07:29:15 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2013-01-22 06:42:20 +0000
@@ -528,7 +528,7 @@
rows = Rows
columns = Columns
filters = Filters
-enter_filter_value = Enter filter value
+Filter_value = Filter value
filter_values = Filter values
fill_filter_values_for_all_selected_data_elements = Please fill filter values for all selected data elements
data_filter = Data filter
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-01-21 09:52:11 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-01-22 06:42:20 +0000
@@ -379,59 +379,93 @@
},
addFilterField: function( p, id, name, valueType ){
var xtype = TR.value.covertXType(valueType);
+ var panelid = 'p_' + id;
+ var idx = 0;
+ var subPanel = Ext.getCmp(panelid);
+ if( subPanel == undefined )
+ {
+ var panel = {
+ xtype: 'panel',
+ id: panelid,
+ layout: 'column',
+ bodyStyle: 'border-style:none',
+ autoScroll: true,
+ overflowX: 'hidden',
+ overflowY: 'auto',
+ width: TR.conf.layout.west_fieldset_width - 40
+ };
+ Ext.getCmp(p).add(panel);
+ subPanel = Ext.getCmp(panelid);
+ }
+ else {
+ idx = subPanel.items.length/4;
+ }
- var fields = [];
- fields[0] = {
+ var items = [];
+ var fieldid = id + '_' + idx;
+ items[0] = {
xtype: 'label',
- id: 'filter_lb_' + id,
+ id: 'filter_lb_' + fieldid,
text:name,
- width:(TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) / 2
+ width:(TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) / 2 - 60
};
- fields[1] = this.createOperatorField(valueType, id);
- fields[2] = this.createFilterField( xtype, id, name );
+ items[1] = this.createOperatorField(valueType, fieldid);
+ items[2] = this.createFilterField( xtype, fieldid );
+ if( idx == 0 ){
+ items[3] = this.addFieldBtn( panelid, id, name, valueType, idx );
+ }
+ else
+ {
+ items[3] = this.removeFieldBtn( panelid, fieldid );
+ }
- if(valueType != 'string' && valueType != 'trueOnly'
- && valueType != 'bool' && valueType != 'list' ){
- id = id + '_1';
- fields[3] = {
- xtype: 'label',
- id: 'filter_lb_' + id,
- text: '-',
- width:(TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) / 2
- };
- fields[4] = this.createOperatorField(valueType, id);
- fields[5] = this.createFilterField( xtype, id, name );
- }
- Ext.getCmp(p).add(fields);
+ subPanel.add(items);
},
- removeFilterField: function( p, id, valueType ){
- var e1 = Ext.getCmp( 'filter_' + id );
- var e2 = Ext.getCmp( 'filter_opt_' + id );
- var e3 = Ext.getCmp( 'filter_lb_' + id );
-
- Ext.getCmp(p).remove(e1);
- Ext.getCmp(p).remove(e2);
- Ext.getCmp(p).remove(e3);
-
- if(valueType != 'string' && valueType != 'trueOnly' && valueType != 'bool'){
- id = id + '_1';
- var e4 = Ext.getCmp( 'filter_' + id );
- var e5 = Ext.getCmp( 'filter_opt_' + id );
- var e6 = Ext.getCmp( 'filter_lb_' + id );
- Ext.getCmp(p).remove(e4);
- Ext.getCmp(p).remove(e5);
- Ext.getCmp(p).remove(e6);
- }
-
+ removeFilterField: function( p, id ){
+ var e = Ext.getCmp( 'p_' + id );
+ Ext.getCmp(p).remove(e);
Ext.getCmp(p).doLayout();
},
+ createOperatorField: function( valueType, id ){
+ var params = {};
+ params.xtype = 'combobox';
+ params.id = 'filter_opt_' + id;
+ params.width = 50;
+ params.queryMode = 'local';
+ params.valueField = 'value';
+ params.displayField = 'name';
+ params.editable = false;
+ params.value = '=';
+
+ if(valueType == 'string' || valueType == 'trueOnly'
+ || valueType == 'bool' || valueType == 'list' ){
+ params.store = new Ext.data.ArrayStore({
+ fields: ['value','name'],
+ data: [ ['=','='],['like',TR.i18n.like],['in',TR.i18n.in] ]
+ });
+ }
+ else
+ {
+ params.store = new Ext.data.ArrayStore({
+ fields: ['value','name'],
+ data: [ ['=','='],
+ ['>','>'],
+ ['>=','>='],
+ ['<','<'],
+ ['<=','<='],
+ ['!=','!=' ] ]
+ });
+ }
+
+ return params;
+ },
createFilterField: function( xtype, id ){
var params = {};
params.xtype = xtype;
params.id = 'filter_' + id;
params.cls = 'tr-textfield-alt1';
- params.emptyText = TR.i18n.enter_filter_value;
- params.width = (TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) / 2 - 70;
+ params.emptyText = TR.i18n.filter_value;
+ params.width = (TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) / 2 - 50;
xtype = xtype.toLowerCase();
if( xtype == 'datefield' )
{
@@ -475,36 +509,33 @@
}
return params;
},
- createOperatorField: function( valueType, id){
- var params = {};
- params.xtype = 'combobox';
- params.id = 'filter_opt_' + id;
- params.width = 40;
- params.queryMode = 'local';
- params.valueField = 'value';
- params.displayField = 'name';
- params.value = '=';
-
- if(valueType == 'string' || valueType == 'trueOnly'
- || valueType == 'bool' || valueType == 'list' ){
- params.store = new Ext.data.ArrayStore({
- fields: ['value','name'],
- data: [ ['=','='],['like',TR.i18n.like],['in',TR.i18n.in] ]
- });
- }
- else
- {
- params.store = new Ext.data.ArrayStore({
- fields: ['value','name'],
- data: [ ['=','='],
- ['>','>'],
- ['>=','>='],
- ['<','<'],
- ['<=','<='],
- ['!=','!=' ] ]
- });
- }
-
+ addFieldBtn: function( p, id, name, valueType, idx ){
+ var params = {};
+ params.xtype = 'button';
+ params.text = "+";
+ params.tooltip = TR.i18n.add,
+ params.handler = function() {
+ TR.util.multiselect.addFilterField(p, id, name, valueType);
+ }
+
+ return params;
+ },
+ removeFieldBtn: function( p, id ){
+ var params = {};
+ params.xtype = 'button';
+ params.id = 'filter_rmv_' + id;
+ params.text = "-";
+ params.tooltip = TR.i18n.add,
+ params.handler = function() {
+ var e1 = Ext.getCmp( 'filter_' + id );
+ var e2 = Ext.getCmp( 'filter_opt_' + id );
+ var e3 = Ext.getCmp( 'filter_lb_' + id );
+ var e4 = Ext.getCmp( 'filter_rmv_' + id );
+ Ext.getCmp(p).remove(e1);
+ Ext.getCmp(p).remove(e2);
+ Ext.getCmp(p).remove(e3);
+ Ext.getCmp(p).remove(e4);
+ }
return params;
}
},
@@ -1671,10 +1702,10 @@
return false;
}
- /* if (TR.state.orgunitIds.length == 0) {
+ if (TR.state.orgunitIds.length == 0) {
TR.util.notification.error(TR.i18n.et_no_orgunits, TR.i18n.em_no_orgunits);
return false;
- } */
+ }
if (Ext.getCmp('programStageCombobox').getValue() == '') {
TR.util.notification.error(TR.i18n.em_no_program_stage, TR.i18n.em_no_program_stage);
@@ -1844,37 +1875,31 @@
TR.cmp.params.dataelement.selected.store.each( function(r) {
var valueType = r.data.valueType;
var deId = r.data.id;
- var filterOpt = Ext.getCmp('filter_opt_' + deId).rawValue;
- var filterValue = Ext.getCmp('filter_' + deId).rawValue;
- var filter = deId.split('_')[1] + "_" + filterOpt + '_';
-
- if( valueType == 'string' || valueType == 'trueOnly'
- || valueType == 'bool' || valueType == 'list' )
- {
- var filterValues = filterValue.split(";");
- filter +=" (";
- for(var i=0;i<filterValues.length;i++)
- {
- filter += "'"+ filterValues[i] +"',";
- }
- filter = filter.substr(0,filter.length - 1) + " ) ";
- }
- else
- {
- filter += filterValue;
-
- var deId = deId + '_1';
- if( Ext.getCmp('filter_' + deId) != undefined
- && Ext.getCmp('filter_' + deId).rawValue != '' )
- {
- filterOpt = Ext.getCmp('filter_opt_' + deId).rawValue;
- filterValue = Ext.getCmp('filter_' + deId).rawValue;
- filter += "_" + filterOpt + "_" + filterValue;
- }
-
- }
- p.deFilters.push( filter );
-
+ var length = Ext.getCmp('p_' + deId).items.length/4;
+
+ for(var idx=0;idx<length;idx++)
+ {
+ var id = deId + '_' + idx;
+ var filterOpt = Ext.getCmp('filter_opt_' + id).rawValue;
+ var filterValue = Ext.getCmp('filter_' + id).rawValue;
+ var filter = deId.split('_')[1] + "_" + filterOpt + '_';
+
+ if( valueType == 'list' )
+ {
+ var filterValues = filterValue.split(";");
+ filter +=" (";
+ for(var i=0;i<filterValues.length;i++)
+ {
+ filter += "'"+ filterValues[i] +"',";
+ }
+ filter = filter.substr(0,filter.length - 1) + " ) ";
+ }
+ else
+ {
+ filter += "'" + filterValue + "'";
+ }
+ p.deFilters.push( filter );
+ }
});
// Period range
@@ -2029,12 +2054,12 @@
return false;
}
- /* if (TR.state.orgunitIds.length == 0
+ if (TR.state.orgunitIds.length == 0
&& TR.cmp.aggregateFavorite.userorganisationunit.getValue() == 'false'
&& TR.cmp.aggregateFavorite.userorganisationunitchildren.getValue() == 'false' ) {
TR.util.notification.error(TR.i18n.et_no_orgunits, TR.i18n.em_no_orgunits);
return false;
- }*/
+ }
if (Ext.getCmp('programStageCombobox').getValue() == '') {
TR.util.notification.error(TR.i18n.em_no_program_stage, TR.i18n.em_no_program_stage);
@@ -2061,10 +2086,15 @@
TR.cmp.params.dataelement.selected.store.each( function(r) {
var deId = r.data.id;
- var filterValue = Ext.getCmp('filter_' + deId).getValue();
- if( filterValue == null ){
- TR.util.notification.error(TR.i18n.fill_filter_values_for_all_selected_data_elements, TR.i18n.fill_filter_values_for_all_selected_data_elements);
- return false;
+ var length = Ext.getCmp('p_' + deId).items.length/4;
+ for(var idx=0;idx<length;idx++)
+ {
+ var id = deId + '_' + idx;
+ var filterValue = Ext.getCmp('filter_' + id).getValue();
+ if( filterValue == null ){
+ TR.util.notification.error(TR.i18n.fill_filter_values_for_all_selected_data_elements, TR.i18n.fill_filter_values_for_all_selected_data_elements);
+ return false;
+ }
}
});
@@ -3874,7 +3904,7 @@
Ext.getCmp('selectedDEBar').setVisible(false);
Ext.getCmp('availableDataelements').setVisible(false);
Ext.getCmp('selectedDataelements').setVisible(false);
- Ext.getCmp('filterPanel').setHeight(210);
+ Ext.getCmp('filterPanel').setHeight(260);
this.setIcon('images/arrowdown.png');
this.up = false;
}
@@ -3883,7 +3913,7 @@
Ext.getCmp('selectedDEBar').setVisible(true);
Ext.getCmp('availableDataelements').setVisible(true);
Ext.getCmp('selectedDataelements').setVisible(true);
- Ext.getCmp('filterPanel').setHeight(65);
+ Ext.getCmp('filterPanel').setHeight(110);
this.setIcon('images/arrowup.png');
this.up = true;
}
@@ -3897,6 +3927,8 @@
id: 'filterPanel',
bodyStyle: 'background-color:transparent; padding:10px 10px 0px 3px',
autoScroll: true,
+ overflowX: 'hidden',
+ overflowY: 'auto',
height: 110,
width: (TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor) ,
items: []
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/i18n.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/i18n.vm 2013-01-21 07:29:15 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/i18n.vm 2013-01-22 06:42:20 +0000
@@ -132,7 +132,7 @@
orgunit: '$encoder.jsEscape($i18n.getString( 'orgunit' ) , "'")',
data: '$encoder.jsEscape($i18n.getString( 'data' ) , "'")',
select_data_element_for_grouping: '$encoder.jsEscape($i18n.getString( 'select_data_element_for_grouping' ) , "'")',
-enter_filter_value: '$encoder.jsEscape($i18n.getString( 'enter_filter_value' ) , "'")',
+filter_value: '$encoder.jsEscape($i18n.getString( 'filter_value' ) , "'")',
add: '$encoder.jsEscape($i18n.getString( 'add' ) , "'")',
xls: '$encoder.jsEscape($i18n.getString( 'xls' ) , "'")',
pdf: '$encoder.jsEscape($i18n.getString( 'pdf' ) , "'")',