Merge authors: Jan Henrik Ă˜verland (janhenrik-overland) ------------------------------------------------------------ revno: 5291 [merge] committer: Jan Henrik Overland <janhenrik.overl...@gmail.com> branch nick: dhis2 timestamp: Mon 2011-12-05 18:03:50 +0100 message: (GIS) More significant performance improvements. added: dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetGeoJsonWithValuesAction.java dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/geojsonmin.vm modified: dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetIndicatorMapValuesAction.java dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/core/GeoStat.js dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js
-- 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/chart/Chart.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java 2011-12-03 10:35:41 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java 2011-12-05 16:53:11 +0000 @@ -76,14 +76,13 @@ public static final String SIZE_NORMAL = "normal"; public static final String SIZE_WIDE = "wide"; public static final String SIZE_TALL = "tall"; - - public static final String TYPE = "tall"; - public static final String TYPE_COLUMN = "column"; - public static final String TYPE_STACKED_COLUMN = "stackedColumn"; - public static final String TYPE_BAR = "bar"; - public static final String TYPE_STACKED_BAR = "stackedBar"; - public static final String TYPE_LINE = "line"; - public static final String TYPE_AREA = "area"; + + public static final String TYPE_COLUMN = "column"; + public static final String TYPE_STACKED_COLUMN = "stackedColumn"; + public static final String TYPE_BAR = "bar"; + public static final String TYPE_STACKED_BAR = "stackedBar"; + public static final String TYPE_LINE = "line"; + public static final String TYPE_AREA = "area"; public static final String TYPE_PIE = "pie"; public static final String DIMENSION_DATA = "data"; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java 2011-12-05 12:21:38 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java 2011-12-05 16:53:11 +0000 @@ -31,6 +31,7 @@ import java.util.Set; import org.hisp.dhis.aggregation.AggregatedMapValue; +import org.hisp.dhis.organisationunit.OrganisationUnit; /** * @author Jan Henrik Overland @@ -75,6 +76,8 @@ Collection<AggregatedMapValue> getIndicatorMapValues( int indicatorId, int periodId, int parentOrganisationUnitId, Integer level ); + Collection<AggregatedMapValue> getIndicatorMapValues( int indicatorId, int periodId, Collection<OrganisationUnit> units ); + // ------------------------------------------------------------------------- // DataMapValue // ------------------------------------------------------------------------- @@ -82,6 +85,8 @@ Collection<AggregatedMapValue> getDataElementMapValues( int dataElementId, int periodId, int parentOrganisationUnitId, Integer level ); + Collection<AggregatedMapValue> getDataElementMapValues( int dataElementId, int periodId, Collection<OrganisationUnit> units ); + Collection<AggregatedMapValue> getInfrastructuralDataElementMapValues( Integer periodId, Integer organisationUnitId ); // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java 2011-12-03 10:35:41 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java 2011-12-05 16:53:11 +0000 @@ -30,6 +30,7 @@ import org.apache.commons.lang.StringUtils; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonSerialize; +import org.hisp.dhis.aggregation.AggregatedMapValue; import org.hisp.dhis.attribute.AttributeValue; import org.hisp.dhis.common.BaseNameableObject; import org.hisp.dhis.common.Dxf2Namespace; @@ -118,6 +119,8 @@ private transient String type; private transient String[] groupNames; + + private transient Double value; /** * Set of the dynamic attributes values that belong to this @@ -772,4 +775,14 @@ { this.groupNames = groupNames; } + + public Double getValue() + { + return value; + } + + public void setValue( Double value ) + { + this.value = value; + } } === modified file 'dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java' --- dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java 2011-12-05 12:21:38 +0000 +++ dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java 2011-12-05 16:53:11 +0000 @@ -187,7 +187,12 @@ int parentOrganisationUnitId, Integer level ) { Collection<OrganisationUnit> units = getOrganisationUnits( parentOrganisationUnitId, level ); - + + return getIndicatorMapValues( indicatorId, periodId, units ); + } + + public Collection<AggregatedMapValue> getIndicatorMapValues( int indicatorId, int periodId, Collection<OrganisationUnit> units ) + { Collection<AggregatedMapValue> values = aggregatedDataValueService.getAggregatedIndicatorMapValues( indicatorId, periodId, ConversionUtils.getIdentifiers( OrganisationUnit.class, units ) ); @@ -195,7 +200,7 @@ { value.setValue( MathUtils.getRounded( value.getValue(), 2 ) ); } - + return values; } @@ -223,7 +228,12 @@ int parentOrganisationUnitId, Integer level ) { Collection<OrganisationUnit> units = getOrganisationUnits( parentOrganisationUnitId, level ); - + + return getDataElementMapValues( dataElementId, periodId, units ); + } + + public Collection<AggregatedMapValue> getDataElementMapValues( int dataElementId, int periodId, Collection<OrganisationUnit> units ) + { Collection<AggregatedMapValue> values = aggregatedDataValueService.getAggregatedDataMapValues( dataElementId, periodId, ConversionUtils.getIdentifiers( OrganisationUnit.class, units ) ); === added file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetGeoJsonWithValuesAction.java' --- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetGeoJsonWithValuesAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetGeoJsonWithValuesAction.java 2011-12-05 13:32:32 +0000 @@ -0,0 +1,182 @@ +package org.hisp.dhis.mapping.action; + +/* + * Copyright (c) 2004-2010, University of Oslo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * * Neither the name of the HISP project nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import java.util.ArrayList; +import java.util.Collection; + +import org.hisp.dhis.aggregation.AggregatedMapValue; +import org.hisp.dhis.mapping.MappingService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; +import org.hisp.dhis.system.filter.OrganisationUnitWithCoordinatesFilter; +import org.hisp.dhis.system.filter.OrganisationUnitWithValidPointCoordinateFilter; +import org.hisp.dhis.system.util.FilterUtils; + +import com.opensymphony.xwork2.Action; + +/** + * @author Jan Henrik Overland + * @version $Id$ + */ +public class GetGeoJsonWithValuesAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + + private MappingService mappingService; + + public void setMappingService( MappingService mappingService ) + { + this.mappingService = mappingService; + } + + // ------------------------------------------------------------------------- + // Input + // ------------------------------------------------------------------------- + + private Integer indicatorId; + + public void setIndicatorId( Integer indicatorId ) + { + this.indicatorId = indicatorId; + } + + private Integer dataElementId; + + public void setDataElementId( Integer dataElementId ) + { + this.dataElementId = dataElementId; + } + + private Integer periodId; + + public void setPeriodId( Integer periodId ) + { + this.periodId = periodId; + } + + private Integer parentId; + + public void setParentId( Integer id ) + { + this.parentId = id; + } + + private Integer level; + + public void setLevel( Integer level ) + { + this.level = level; + } + + // ------------------------------------------------------------------------- + // Output + // ------------------------------------------------------------------------- + + private Collection<OrganisationUnit> object; + + public Collection<OrganisationUnit> getObject() + { + return object; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + throws Exception + { + OrganisationUnit parent = organisationUnitService.getOrganisationUnit( parentId ); + + level = level == null ? organisationUnitService.getLevelOfOrganisationUnit( parent ) : level; + + Collection<OrganisationUnit> organisationUnits = organisationUnitService.getOrganisationUnitsAtLevel( level, + parent ); + + FilterUtils.filter( organisationUnits, new OrganisationUnitWithCoordinatesFilter() ); + + FilterUtils.filter( organisationUnits, new OrganisationUnitWithValidPointCoordinateFilter() ); + + object = new ArrayList<OrganisationUnit>(); + + for ( OrganisationUnit unit : organisationUnits ) + { + if ( !unit.getFeatureType().equals( OrganisationUnit.FEATURETYPE_POINT ) ) + { + object.add( unit ); + } + } + + for ( OrganisationUnit unit : organisationUnits ) + { + if ( unit.getFeatureType().equals( OrganisationUnit.FEATURETYPE_POINT ) ) + { + object.add( unit ); + } + } + + Collection<AggregatedMapValue> values = new ArrayList<AggregatedMapValue>(); + + if ( indicatorId != null ) + { + values = mappingService.getIndicatorMapValues( indicatorId, periodId, object ); + } + + else if ( dataElementId != null ) + { + values = mappingService.getDataElementMapValues( dataElementId, periodId, object ); + } + + if ( values != null ) + { + for ( OrganisationUnit unit : object ) + { + for ( AggregatedMapValue value : values ) + { + if ( unit.getId() == value.getOrganisationUnitId() ) + { + unit.setValue( value.getValue() ); + } + } + } + } + + return SUCCESS; + } +} === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetIndicatorMapValuesAction.java' --- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetIndicatorMapValuesAction.java 2011-12-01 15:43:25 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetIndicatorMapValuesAction.java 2011-12-05 13:32:32 +0000 @@ -103,7 +103,7 @@ throws Exception { object = mappingService.getIndicatorMapValues( id, periodId, parentId, level ); - + return SUCCESS; } } === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml 2011-12-02 13:24:16 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml 2011-12-05 13:32:32 +0000 @@ -311,6 +311,15 @@ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" /> </bean> + <bean id="org.hisp.dhis.mapping.action.GetGeoJsonWithValuesAction" + class="org.hisp.dhis.mapping.action.GetGeoJsonWithValuesAction" + scope="prototype"> + <property name="organisationUnitService" + ref="org.hisp.dhis.organisationunit.OrganisationUnitService" /> + <property name="mappingService" + ref="org.hisp.dhis.mapping.MappingService" /> + </bean> + <bean id="org.hisp.dhis.mapping.action.GetGeoJsonFacilitiesAction" class="org.hisp.dhis.mapping.action.GetGeoJsonFacilitiesAction" scope="prototype"> === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml 2011-12-02 13:24:16 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml 2011-12-05 13:32:32 +0000 @@ -337,6 +337,11 @@ <result name="success" type="velocity-json">/dhis-web-mapping/geojson.vm</result> </action> + <action name="getGeoJsonWithValues" + class="org.hisp.dhis.mapping.action.GetGeoJsonWithValuesAction"> + <result name="success" type="velocity-json">/dhis-web-mapping/geojsonmin.vm</result> + </action> + <action name="getGeoJsonFacilities" class="org.hisp.dhis.mapping.action.GetGeoJsonFacilitiesAction"> <result name="success" type="velocity-json">/dhis-web-mapping/geojsonFacilities.vm</result> === added file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/geojsonmin.vm' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/geojsonmin.vm 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/geojsonmin.vm 2011-12-05 16:06:25 +0000 @@ -0,0 +1,1 @@ +#set($size=$object.size())[#foreach($unit in $object){"t":#if(${unit.featureType}=="Point")"2"#else"1"#end,"c":$!encoder.jsonEncode($!{unit.validCoordinates}),"i":"$!{unit.id}","n":"$!encoder.jsonEncode(${unit.name})","v":"$!{unit.value}"#if($!{unit.featureType}!="Point"),"h":$!{unit.hasChildrenWithCoordinates()}#end}#if($velocityCount<$size),#end#end] \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js 2011-12-01 15:49:20 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js 2011-12-05 16:06:25 +0000 @@ -570,6 +570,43 @@ return str; }, + getOrganisationUnitIdStringFromFeatures: function(features) { + var str = ''; + for (var i = 0; i < features.length; i++) { + str += features[i].attributes.id; + str += i < (features.length - 1) ? ',' : ''; + } + return str; + }, + + geoJsonDecode: function(doc) { + doc = Ext.util.JSON.decode(doc); + var geojson = {}; + geojson.type = 'FeatureCollection'; + geojson.crs = { + type: 'EPSG', + properties: { + code: '4326' + } + }; + geojson.features = []; + for (var i = 0; i < doc.length; i++) { + geojson.features.push({ + geometry: { + type: doc[i].t == 1 ? 'MultiPolygon' : 'Point', + coordinates: doc[i].c + }, + properties: { + id: doc[i].i, + name: doc[i].n, + value: doc[i].v, + hcwc: doc[i].h + } + }); + } + return geojson; + }, + mapView: { layer: function(id) { var w = new Ext.Window({ @@ -736,7 +773,7 @@ }; G.cls = { - vectorLayerButton: function(iconCls, tooltip, widget) { + vectorLayerButton: function(iconCls, tooltip, widget) { return new Ext.Button({ iconCls: iconCls, tooltip: tooltip, === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/core/GeoStat.js' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/core/GeoStat.js 2011-10-10 14:37:12 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/core/GeoStat.js 2011-12-05 16:53:11 +0000 @@ -89,6 +89,11 @@ if (!doc || !doc.documentElement) { doc = request.responseText; } + + if (doc.length && G.vars.activeWidget != symbol) { + doc = G.util.geoJsonDecode(doc); + } + var format = this.format || new OpenLayers.Format.GeoJSON(); this.layer.removeFeatures(this.layer.features); this.layer.addFeatures(format.read(doc)); === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js 2011-12-02 13:26:11 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js 2011-12-05 13:49:31 +0000 @@ -1648,20 +1648,22 @@ }, loadGeoJson: function() { - G.vars.mask.msg = G.i18n.loading_geojson; + G.vars.mask.msg = G.i18n.loading; G.vars.mask.show(); G.vars.activeWidget = this; - this.updateValues = true; + this.updateValues = false; - this.setUrl(G.conf.path_mapping + 'getGeoJson.action?' + - 'parentId=' + this.organisationUnitSelection.parent.id + - '&level=' + this.organisationUnitSelection.level.level - ); + var url = G.conf.path_mapping + 'getGeoJsonWithValues.action?' + + 'periodId=' + this.cmp.period.getValue() + + '&parentId=' + this.organisationUnitSelection.parent.id + + '&level=' + this.organisationUnitSelection.level.level; + url += this.valueType.isIndicator() ? '&indicatorId=' + this.cmp.indicator.getValue() : '&dataElementId=' + this.cmp.dataElement.getValue(); + this.setUrl(url); }, classify: function(exception, lockPosition) { if (this.formValidation.validateForm.apply(this, [exception])) { - G.vars.mask.msg = G.i18n.aggregating_map_values; + G.vars.mask.msg = G.i18n.loading; G.vars.mask.show(); G.vars.lockPosition = lockPosition; @@ -1708,15 +1710,11 @@ for (var i = 0; i < mapvalues.length; i++) { if (this.layer.features[j].attributes.id == mapvalues[i].oi) { this.layer.features[j].attributes.value = parseFloat(mapvalues[i].v); - this.layer.features[j].attributes.labelString = this.layer.features[j].attributes.name + ' (' + this.layer.features[j].attributes.value + ')'; - this.layer.features[j].attributes.fixedName = G.util.cutString(this.layer.features[j].attributes.name, 30); break; } } if (!this.layer.features[j].attributes.value) { this.layer.features[j].attributes.value = 0; - this.layer.features[j].attributes.labelString = this.layer.features[j].attributes.name + ' (0)'; - this.layer.features[j].attributes.fixedName = G.util.cutString(this.layer.features[j].attributes.name, 30); } } @@ -1730,8 +1728,14 @@ } } }, - + applyValues: function() { + for (var i = 0, f; i < this.layer.features.length; i++) { + f = this.layer.features[i]; + f.attributes.labelString = f.attributes.name + ' (' + f.attributes.value + ')'; + f.attributes.fixedName = G.util.cutString(f.attributes.name, 30); + } + this.button.menu.find('name','history')[0].addItem(this); var options = { === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js 2011-12-02 13:26:11 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js 2011-12-05 16:06:25 +0000 @@ -1648,20 +1648,22 @@ }, loadGeoJson: function() { - G.vars.mask.msg = G.i18n.loading_geojson; + G.vars.mask.msg = G.i18n.loading; G.vars.mask.show(); G.vars.activeWidget = this; - this.updateValues = true; + this.updateValues = false; - this.setUrl(G.conf.path_mapping + 'getGeoJson.action?' + - 'parentId=' + this.organisationUnitSelection.parent.id + - '&level=' + this.organisationUnitSelection.level.level - ); + var url = G.conf.path_mapping + 'getGeoJsonWithValues.action?' + + 'periodId=' + this.cmp.period.getValue() + + '&parentId=' + this.organisationUnitSelection.parent.id + + '&level=' + this.organisationUnitSelection.level.level; + url += this.valueType.isIndicator() ? '&indicatorId=' + this.cmp.indicator.getValue() : '&dataElementId=' + this.cmp.dataElement.getValue(); + this.setUrl(url); }, classify: function(exception, lockPosition) { if (this.formValidation.validateForm.apply(this, [exception])) { - G.vars.mask.msg = G.i18n.aggregating_map_values; + G.vars.mask.msg = G.i18n.loading; G.vars.mask.show(); G.vars.lockPosition = lockPosition; @@ -1708,15 +1710,11 @@ for (var i = 0; i < mapvalues.length; i++) { if (this.layer.features[j].attributes.id == mapvalues[i].oi) { this.layer.features[j].attributes.value = parseFloat(mapvalues[i].v); - this.layer.features[j].attributes.labelString = this.layer.features[j].attributes.name + ' (' + this.layer.features[j].attributes.value + ')'; - this.layer.features[j].attributes.fixedName = G.util.cutString(this.layer.features[j].attributes.name, 30); break; } } if (!this.layer.features[j].attributes.value) { this.layer.features[j].attributes.value = 0; - this.layer.features[j].attributes.labelString = this.layer.features[j].attributes.name + ' (0)'; - this.layer.features[j].attributes.fixedName = G.util.cutString(this.layer.features[j].attributes.name, 30); } } @@ -1732,6 +1730,12 @@ }, applyValues: function() { + for (var i = 0, f; i < this.layer.features.length; i++) { + f = this.layer.features[i]; + f.attributes.labelString = f.attributes.name + ' (' + f.attributes.value + ')'; + f.attributes.fixedName = G.util.cutString(f.attributes.name, 30); + } + this.button.menu.find('name','history')[0].addItem(this); var options = {
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp