=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/css/widgets.css' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/css/widgets.css 2015-06-02 12:31:34 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/css/widgets.css 2015-06-02 18:23:24 +0000 @@ -906,7 +906,7 @@ .message { - border: 1px solid #ccc; + border: 1px solid #ddd; border-radius: 3px; width: 450px; padding: 9px; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programindicator/GetProgramIndicatorAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programindicator/GetProgramIndicatorAction.java 2015-03-29 20:22:47 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programindicator/GetProgramIndicatorAction.java 2015-06-02 18:23:24 +0000 @@ -86,6 +86,13 @@ { return description; } + + private String filter; + + public String getFilter() + { + return filter; + } private List constants; @@ -105,6 +112,8 @@ programIndicator = programIndicatorService.getProgramIndicator( id ); description = programIndicatorService.getExpressionDescription( programIndicator.getExpression() ); + + filter = programIndicatorService.getExpressionDescription( programIndicator.getFilter() ); constants = new ArrayList<>( constantService.getAllConstants() ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties 2015-06-02 12:18:46 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties 2015-06-02 18:23:24 +0000 @@ -547,4 +547,7 @@ hide_section = Hide section template_reminder_message_management=Template reminder message management expression_description=Expression description -expression_items=Expression items \ No newline at end of file +expression_items=Expression items +filter_items=Filter items +filter_description=Filter description +select_program_stage=Select program stage \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramIndicator.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramIndicator.vm 2015-02-16 11:46:32 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramIndicator.vm 2015-06-02 18:23:24 +0000 @@ -73,18 +73,6 @@ - - - - - - -
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/programIndicator.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/programIndicator.js 2015-06-02 15:46:55 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/programIndicator.js 2015-06-02 18:23:24 +0000 @@ -57,9 +57,9 @@ } } -function getTrackedEntityDataElements() { - clearListById('dataElements'); - clearListById('deSumId'); +function getTrackedEntityDataElements( type ) { + var fieldId = type + '-data-elements'; + clearListById(fieldId); var programStageId = getFieldValue('programStageId'); jQuery.getJSON('getTrackedEntityDataElements.action', @@ -68,7 +68,7 @@ programStageId: programStageId } , function( json ) { - var dataElements = jQuery('#dataElements'); + var dataElements = jQuery('#' + fieldId); for( i in json.dataElements ) { if( json.dataElements[i].type == 'int' || json.dataElements[i].type == 'date' ) { dataElements.append(""); @@ -77,45 +77,55 @@ }); } -function insertDataElement( element ) { - var programStageId = getFieldValue('programStageId'); - var dataElementId = element.options[element.selectedIndex].value; - - insertTextCommon('expression', "#{" + programStageId + "." + dataElementId + "}"); - getConditionDescription(); -} - -function insertData( element, key ){ - var attributeId = element.options[element.selectedIndex].value; - - insertTextCommon('expression', key + "{" + attributeId + "}"); - getConditionDescription(); -} - -function insertInfo( element, isProgramStageProperty ) { - var id = ""; - if( isProgramStageProperty ) { - id = getFieldValue('programStageId'); - } - else { - id = getFieldValue('programId'); - } - - value = element.options[element.selectedIndex].value.replace('*', id); - insertTextCommon('expression', value); - getConditionDescription(); -} - -function insertOperator( value ) { - insertTextCommon('expression', ' ' + value + ' '); +function insertDataElement( type ) { + var psFieldId = type + '-program-stage', + deFieldId = type + '-data-elements', + areaId = type, + programStageId = getFieldValue(psFieldId), + dataElementId = getFieldValue(deFieldId); + + insertTextCommon(areaId, "#{" + programStageId + "." + dataElementId + "}"); + getConditionDescription(); +} + +function insertAttribute( type ){ + var atFieldId = type + '-attributes', + areaId = type, + attributeId = getFieldValue(atFieldId); + + insertTextCommon(areaId, "A{" + attributeId + "}"); + getConditionDescription(); +} + +function insertVariable( type ){ + var varFieldId = type + '-variables', + areaId = type, + variableId = getFieldValue(varFieldId); + + insertTextCommon(areaId, "V{" + variableId + "}"); + getConditionDescription(); +} + +function insertConstant( type ){ + var coFieldId = type + '-constants', + areaId = type, + constantId = getFieldValue(coFieldId); + + insertTextCommon(areaId, "C{" + constantId + "}"); + getConditionDescription(); +} + +function insertOperator( type, value ) { + insertTextCommon(type, ' ' + value + ' '); getConditionDescription(); } function getConditionDescription() { var expression = getFieldValue('expression'); + if( expression == '' ) { - setInnerHTML('aggregationDescription', ''); + setInnerHTML('expression-description', ''); } else { @@ -124,11 +134,11 @@ }, function( json ) { if( json.valid ){ setFieldValue('checkExpression', json.message); - setInnerHTML('aggregationDescription', json.description); + setInnerHTML('expression-description', json.description); } else { setFieldValue('checkExpression',''); - setInnerHTML('aggregationDescription', json.message); + setInnerHTML('expression-description', json.message); } }); } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/programIndicatorForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/programIndicatorForm.vm 2015-06-02 15:46:55 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/programIndicatorForm.vm 2015-06-02 18:23:24 +0000 @@ -1,7 +1,12 @@ - + + +
+ + + - + - - - - -
The expression defines how the indicator is calculated
$i18n.getString( "expression_items" )
@@ -19,13 +24,20 @@
- - + + + +
- +
@@ -37,13 +49,13 @@ + +
- - + +
- #foreach( $programAttribute in $program.programAttributes ) #if( $programAttribute.attribute.valueType=='number' ) @@ -59,18 +71,18 @@ @@ -83,13 +95,13 @@
- - + +
- + + + + +
- @@ -126,12 +138,135 @@ - -
- - + +
- #foreach( $constant in $constants ) #end @@ -112,13 +124,13 @@
- ( - ) - * - / - + - -

+
+ ( + ) + * + / + + + -

-
$!encoder.htmlEncode($!description)
- -
+
$!encoder.htmlEncode($!description)
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
The filter is applied to events and filters the data source used for the calculation
$i18n.getString( "filter_items" )
+ +
+ + +
+ + + + + + + +
+ + + +
+ +
+
+ + #if($program.type!='3') + +
+ + + + + + + +
+ + +
+ +
+
+ + #end + +
+ + + + + + + +
+ + +
+ +
+
+ +
+ +
$i18n.getString( "filter" ) Tip: use abs(x) sin(x) cos(x) tan(x) ln(x) log(x) sqrt(x) mod(x,y) oizp(x) zing(x)
+ +
+ ( + ) + * + / + + + -

+
$i18n.getString( "filter_description" )
+
$!encoder.htmlEncode($!description)
+ +
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramIndicator.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramIndicator.vm 2015-03-31 16:25:10 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramIndicator.vm 2015-06-02 18:23:24 +0000 @@ -77,18 +77,6 @@
- -