=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java 2010-03-25 15:27:40 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java 2010-03-25 18:55:29 +0000 @@ -37,6 +37,10 @@ */ public class MapLegendSet { + public static final String MAPLEGENDSET_TYPE_AUTOMATIC = "automatic"; + + public static final String MAPLEGENDSET_TYPE_PREDEFINED = "predefined"; + private int id; private String name; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java 2010-02-24 17:50:17 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java 2010-03-25 18:55:29 +0000 @@ -60,6 +60,8 @@ private String mapSource; + private String mapLegendType; + private int method; private int classes; @@ -68,6 +70,8 @@ private String colorHigh; + private int mapLegendSetId; + private String longitude; private String latitude; @@ -79,8 +83,8 @@ } public MapView( String name, IndicatorGroup indicatorGroup, Indicator indicator, PeriodType periodType, - Period period, String mapSourceType, String mapSource, int method, int classes, String colorLow, - String colorHigh, String longitude, String latitude, int zoom ) + Period period, String mapSourceType, String mapSource, String mapLegendType, int method, int classes, + String colorLow, String colorHigh, int mapLegendSetId, String longitude, String latitude, int zoom ) { this.name = name; this.indicatorGroup = indicatorGroup; @@ -89,10 +93,12 @@ this.period = period; this.mapSourceType = mapSourceType; this.mapSource = mapSource; + this.mapLegendType = mapLegendType; this.method = method; this.classes = classes; this.colorLow = colorLow; this.colorHigh = colorHigh; + this.mapLegendSetId = mapLegendSetId; this.longitude = longitude; this.latitude = latitude; this.zoom = zoom; @@ -216,6 +222,16 @@ this.mapSource = mapSource; } + public String getMapLegendType() + { + return mapLegendType; + } + + public void setMapLegendType( String mapLegendType ) + { + this.mapLegendType = mapLegendType; + } + public int getMethod() { return method; @@ -256,6 +272,16 @@ this.colorHigh = colorHigh; } + public int getMapLegendSetId() + { + return mapLegendSetId; + } + + public void setMapLegendSetId( int mapLegendSetId ) + { + this.mapLegendSetId = mapLegendSetId; + } + public String getLongitude() { return longitude; === 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 2010-03-25 15:27:40 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java 2010-03-25 18:55:29 +0000 @@ -341,8 +341,8 @@ void updateMapLegendSet( MapLegendSet legendSet ); - void addOrUpdateMapLegendSet( String name, String type, int method, int classes, String colorLow, - String colorHigh, Set mapLegends ); + void addOrUpdateMapLegendSet( String name, String type, int method, int classes, String colorLow, String colorHigh, + Set mapLegends ); void deleteMapLegendSet( MapLegendSet legendSet ); @@ -365,14 +365,14 @@ int addMapView( MapView mapView ); int addMapView( String name, int indicatorGroupId, int indicatorId, String periodTypeName, int periodId, - String mapSourceType, String mapSource, int method, int classes, String colorLow, String colorHigh, - String longitude, String latitude, int zoom ); + String mapSourceType, String mapSource, String mapLegendType, int method, int classes, String colorLow, + String colorHigh, int mapLegendSetId, String longitude, String latitude, int zoom ); void updateMapView( MapView mapView ); void addOrUpdateMapView( String name, int indicatorGroupId, int indicatorId, String periodTypeName, int periodId, - String mapSource, int method, int classes, String colorLow, String colorHigh, String longitude, - String latitude, int zoom ); + String mapSource, String mapLegendType, int method, int classes, String colorLow, String colorHigh, + int mapLegendSetId, String longitude, String latitude, int zoom ); void deleteMapView( MapView view ); === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/comparator/MapLegendComparator.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/comparator/MapLegendComparator.java 2010-03-25 17:25:47 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/comparator/MapLegendComparator.java 2010-03-25 18:55:29 +0000 @@ -35,6 +35,7 @@ * @author Tran Thanh Tri * @version $Id$ */ + public class MapLegendComparator implements Comparator { @@ -43,4 +44,4 @@ { return o1.getStartValue().compareTo( o2.getStartValue() ); } -} +} \ No newline at end of file === 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 2010-03-25 15:27:40 +0000 +++ dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java 2010-03-25 18:55:29 +0000 @@ -649,8 +649,8 @@ } public int addMapView( String name, int indicatorGroupId, int indicatorId, String periodTypeName, int periodId, - String mapSourceType, String mapSource, int method, int classes, String colorLow, String colorHigh, - String longitude, String latitude, int zoom ) + String mapSourceType, String mapSource, String mapLegendType, int method, int classes, String colorLow, + String colorHigh, int mapLegendSetId, String longitude, String latitude, int zoom ) { MapView mapView = new MapView(); @@ -670,10 +670,12 @@ mapView.setPeriod( period ); mapView.setMapSourceType( mapSourceType ); mapView.setMapSource( mapSource ); + mapView.setMapLegendType( mapLegendType ); mapView.setMethod( method ); mapView.setClasses( classes ); mapView.setColorLow( colorLow ); mapView.setColorHigh( colorHigh ); + mapView.setMapLegendSetId( mapLegendSetId ); mapView.setLongitude( longitude ); mapView.setLatitude( latitude ); mapView.setZoom( zoom ); @@ -687,8 +689,8 @@ } public void addOrUpdateMapView( String name, int indicatorGroupId, int indicatorId, String periodTypeName, - int periodId, String mapSource, int method, int classes, String colorLow, String colorHigh, String longitude, - String latitude, int zoom ) + int periodId, String mapSource, String mapLegendType, int method, int classes, String colorLow, String colorHigh, + int mapLegendSetId, String longitude, String latitude, int zoom ) { IndicatorGroup indicatorGroup = indicatorService.getIndicatorGroup( indicatorGroupId ); @@ -713,10 +715,12 @@ mapView.setPeriod( period ); mapView.setMapSourceType( mapSourceType ); mapView.setMapSource( mapSource ); + mapView.setMapLegendType( mapLegendType ); mapView.setMethod( method ); mapView.setClasses( classes ); mapView.setColorLow( colorLow ); mapView.setColorHigh( colorHigh ); + mapView.setMapLegendSetId( mapLegendSetId ); mapView.setLongitude( longitude ); mapView.setLatitude( latitude ); mapView.setZoom( zoom ); @@ -726,7 +730,7 @@ else { mapView = new MapView( name, indicatorGroup, indicator, periodType, period, mapSourceType, mapSource, - method, classes, colorLow, colorHigh, longitude, latitude, zoom ); + mapLegendType, method, classes, colorLow, colorHigh, mapLegendSetId, longitude, latitude, zoom ); addMapView( mapView ); } === modified file 'dhis-2/dhis-services/dhis-service-mapping/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml' --- dhis-2/dhis-services/dhis-service-mapping/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml 2010-02-24 14:11:32 +0000 +++ dhis-2/dhis-services/dhis-service-mapping/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml 2010-03-25 18:55:29 +0000 @@ -29,6 +29,8 @@ + + @@ -37,6 +39,8 @@ + + === modified file 'dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingServiceTest.java' --- dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingServiceTest.java 2010-02-24 14:11:32 +0000 +++ dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingServiceTest.java 2010-03-25 18:55:29 +0000 @@ -205,7 +205,7 @@ MapView mapView = new MapView("MapViewA", indicatorGroup, indicator, periodType, period, MapView.MAP_SOURCE_TYPE_SHAPEFILE, - "sl_districts", 1, 1, "A", "B", "1", "1", 1); + "sl_districts", MapLegendSet.MAPLEGENDSET_TYPE_AUTOMATIC, 1, 1, "A", "B", 1, "1", "1", 1); int idA = mappingService.addMapView(mapView); === modified file 'dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingStoreTest.java' --- dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingStoreTest.java 2010-02-24 14:11:32 +0000 +++ dhis-2/dhis-services/dhis-service-mapping/src/test/java/org/hisp/dhis/mapping/MappingStoreTest.java 2010-03-25 18:55:29 +0000 @@ -146,7 +146,7 @@ MapView mapView = new MapView("MapViewA", indicatorGroup, indicator, periodType, period, MapView.MAP_SOURCE_TYPE_SHAPEFILE, - "sl_districts", 1, 1, "A", "B", "1", "1", 1); + "sl_districts", MapLegendSet.MAPLEGENDSET_TYPE_AUTOMATIC, 1, 1, "A", "B", 1, "1", "1", 1); int idA = mappingStore.addMapView(mapView); === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/AddOrUpdateMapViewAction.java' --- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/AddOrUpdateMapViewAction.java 2010-02-24 16:36:32 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/AddOrUpdateMapViewAction.java 2010-03-25 18:55:29 +0000 @@ -94,6 +94,13 @@ { this.mapSource = mapSource; } + + private String mapLegendType; + + public void setMapLegendType( String mapLegendType ) + { + this.mapLegendType = mapLegendType; + } private int method; @@ -122,6 +129,13 @@ { this.colorHigh = colorHigh; } + + private int mapLegendSetId; + + public void setMapLegendSetId( int mapLegendSetId ) + { + this.mapLegendSetId = mapLegendSetId; + } private String longitude; @@ -152,7 +166,7 @@ throws Exception { mappingService.addOrUpdateMapView( name, indicatorGroupId, indicatorId, periodTypeId, periodId, mapSource, - method, classes, colorLow, colorHigh, longitude, latitude, zoom ); + mapLegendType, method, classes, colorLow, colorHigh, mapLegendSetId, longitude, latitude, zoom ); return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonMapView.vm' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonMapView.vm 2010-02-24 14:11:32 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonMapView.vm 2010-03-25 18:55:29 +0000 @@ -8,10 +8,12 @@ "periodId": "$!{object.period.id}", "mapSourceType": "$!encoder.jsEncode( ${object.mapSourceType} )", "mapSource": "$!encoder.jsEncode( ${object.mapSource} )", + "mapLegendType": "$!encoder.jsEncode( ${object.mapLegendType} )", "method": "$!{object.method}", "classes": "$!{object.classes}", "colorLow": "$!encoder.jsEncode( ${object.colorLow} )", "colorHigh": "$!encoder.jsEncode( ${object.colorHigh} )", + "mapLegendSetId": "$!{object.mapLegendSetId}", "longitude": "$!encoder.jsEncode( ${object.longitude} )", "latitude": "$!encoder.jsEncode( ${object.latitude} )", "zoom": "$!{object.zoom}" === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/css/style.css' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/css/style.css 2010-03-25 16:43:52 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/css/style.css 2010-03-25 18:55:29 +0000 @@ -77,9 +77,6 @@ .x-btn .icon-pdf { background-image:url(../../../images/pdf.png); } -.x-btn .icon-export-map { - background-image:url(../../../images/export.png); -} .aa_dark button { font-family:lucida sans unicode,arial; font-weight:normal; @@ -155,12 +152,6 @@ font:bold 11px arial; color:#111; } -#window-export-map-title { - padding:0 0 3px 21px; - background:url('../../../images/export.png') no-repeat 0 0 transparent; - font:bold 11px arial; - color:#111; -} /* Ext Panel */ .panel-title { === modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js' --- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js 2010-03-25 16:43:52 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js 2010-03-25 18:55:29 +0000 @@ -12,7 +12,6 @@ var MASK; var LABELS; var COLORINTERPOLATION; -var EXPORTVALUES; function getUrlParam(strParamName) { var output = ''; @@ -304,7 +303,7 @@ params: { mapSourceType: MAPSOURCE }, success: function() { - /* VIEW PANEL */ + /* MAPVIEW PANEL */ var viewStore = new Ext.data.JsonStore({ url: path + 'getAllMapViews' + type, root: 'mapViews', @@ -379,9 +378,11 @@ var pt = Ext.getCmp('periodtype_cb').getValue(); var p = Ext.getCmp('period_cb').getValue(); var ms = Ext.getCmp('map_cb').getValue(); + var mlt = Ext.getCmp('maplegendtype_cb').getValue(); var c = Ext.getCmp('numClasses').getValue(); var ca = Ext.getCmp('colorA_cf').getValue(); var cb = Ext.getCmp('colorB_cf').getValue(); + var mlsid = Ext.getCmp('maplegendset_cb').getValue() ? Ext.getCmp('maplegendset_cb').getValue() : 0; var lon = MAP.getCenter().lon; var lat = MAP.getCenter().lat; var zoom = parseInt(MAP.getZoom()); @@ -405,7 +406,7 @@ url: path + 'getAllMapViews' + type, method: 'GET', success: function(r) { - var mapViews = Ext.util.JSON.decode( r.responseText ).mapViews; + var mapViews = Ext.util.JSON.decode(r.responseText).mapViews; for (var i = 0; i < mapViews.length; i++) { if (mapViews[i].name == vn) { @@ -417,7 +418,7 @@ Ext.Ajax.request({ url: path + 'addOrUpdateMapView' + type, method: 'POST', - params: { name: vn, indicatorGroupId: ig, indicatorId: ii, periodTypeId: pt, periodId: p, mapSource: ms, method: 2, classes: c, colorLow: ca, colorHigh: cb, longitude: lon, latitude: lat, zoom: zoom }, + params: { name: vn, indicatorGroupId: ig, indicatorId: ii, periodTypeId: pt, periodId: p, mapSource: ms, mapLegendType: mlt, method: 2, classes: c, colorLow: ca, colorHigh: cb, mapLegendSetId: mlsid, longitude: lon, latitude: lat, zoom: zoom }, success: function(r) { Ext.messageBlack.msg('New map view', 'The view ' + vn + ' was registered.'); @@ -1551,7 +1552,7 @@ title: 'Predefined legend sets', layout: 'fit', closeAction: 'hide', - width: 245, + width: 311, items: [ { @@ -3619,8 +3620,6 @@ '-', pdfButton, '-', - exportMapButton, - '-', favoritesButton, '-', automaticMapLegendSetButton, @@ -3939,27 +3938,6 @@ }); } -function getExportDataValueJSON( mapvalues ){ - var json = '{'; - json += '"datavalues":'; - json += '['; - for (var i = 0; i < mapvalues.length; i++) { - json += '{'; - json += '"organisation": "' + mapvalues[i].orgUnitId + '",'; - json += '"value": "' + mapvalues[i].value + '" '; - if(i < mapvalues.length-1){ - json += '},'; - }else{ - json += '}'; - } - } - json += ']'; - json += '}'; - - return json; - -} - /*CHOROPLETH*/ function getChoroplethData() { MASK.msg = 'Creating choropleth...'; @@ -3980,9 +3958,6 @@ var layers = MAP.getLayersByName('Thematic map'); var features = layers[0].features; var mapvalues = Ext.util.JSON.decode(r.responseText).mapvalues; - - EXPORTVALUES = getExportDataValueJSON( mapvalues ); - var mv = new Array(); var nameColumn = MAPDATA.nameColumn; var options = {}; === 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 2010-03-25 15:27:40 +0000 +++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js 2010-03-25 18:55:29 +0000 @@ -145,6 +145,38 @@ newUrl: false, + applyPredefinedLegend: function() { + var mls = Ext.getCmp('maplegendset_cb').getValue(); + var bounds = []; + Ext.Ajax.request({ + url: path + 'getMapLegendsByMapLegendSet' + type, + method: 'POST', + params: { mapLegendSetId: mls }, + success: function(r) { + var mapLegends = Ext.util.JSON.decode(r.responseText).mapLegends; + var colors = []; + var bounds = []; + for (var i = 0; i < mapLegends.length; i++) { + if (bounds[bounds.length-1] != mapLegends[i].startValue) { + if (bounds.length != 0) { + colors.push(new mapfish.ColorRgb(240,240,240)); + } + bounds.push(mapLegends[i].startValue); + } + colors.push(new mapfish.ColorRgb()); + colors[colors.length-1].setFromHex(mapLegends[i].color); + bounds.push(mapLegends[i].endValue); + } + choropleth.colorInterpolation = colors; + choropleth.bounds = bounds; + choropleth.classify(false); + }, + failure: function() { + alert('Error: getMapLegendsByMapLegendSet'); + } + }); + }, + initComponent : function() { mapViewStore = new Ext.data.JsonStore({ @@ -161,17 +193,38 @@ url: path + 'getMapView' + type, method: 'POST', params: { id: PARAMETER }, - - success: function( responseObject ) { + success: function(r) { PARAMETER = false; - MAPVIEW = Ext.util.JSON.decode(responseObject.responseText).mapView[0]; - + MAPVIEW = Ext.util.JSON.decode(r.responseText).mapView[0]; MAPSOURCE = MAPVIEW.mapSourceType; Ext.getCmp('mapsource_cb').setValue(MAPSOURCE); Ext.getCmp('mapview_cb').setValue(MAPVIEW.id); - Ext.getCmp('numClasses').setValue(MAPVIEW.classes); - Ext.getCmp('colorA_cf').setValue(MAPVIEW.colorLow); - Ext.getCmp('colorB_cf').setValue(MAPVIEW.colorHigh); + + if (MAPVIEW.mapLegendType == map_legend_type_automatic) { + Ext.getCmp('maplegendtype_cb').setValue(map_legend_type_automatic); + Ext.getCmp('numClasses').setValue(MAPVIEW.classes); + Ext.getCmp('colorA_cf').setValue(MAPVIEW.colorLow); + Ext.getCmp('colorB_cf').setValue(MAPVIEW.colorHigh); + + Ext.getCmp('method').show(); + Ext.getCmp('bounds').hide(); + Ext.getCmp('numClasses').show(); + Ext.getCmp('colorA_cf').show(); + Ext.getCmp('colorB_cf').show(); + Ext.getCmp('maplegendset_cb').hide(); + } + else if (MAPVIEW.mapLegendType == map_legend_type_predefined) { + Ext.getCmp('maplegendtype_cb').setValue(map_legend_type_predefined); + Ext.getCmp('method').hide(); + Ext.getCmp('bounds').hide(); + Ext.getCmp('numClasses').hide(); + Ext.getCmp('colorA_cf').hide(); + Ext.getCmp('colorB_cf').hide(); + Ext.getCmp('maplegendset_cb').show(); + + predefinedMapLegendSetStore.load(); + } + MAP.setCenter(new OpenLayers.LonLat(MAPVIEW.longitude, MAPVIEW.latitude), MAPVIEW.zoom); Ext.getCmp('indicatorgroup_cb').setValue(MAPVIEW.indicatorGroupId); @@ -305,9 +358,21 @@ listeners: { 'load': { fn: function() { - // if (MAPVIEW) { - // Ext.getCmp('maplegendset_cb').setValue(MAPVIEW.legendType); - // } + if (MAPVIEW) { + Ext.Ajax.request({ + url: path + 'getMapLegendSet' + type, + method: 'POST', + params: { mapLegendSetId: MAPVIEW.mapLegendSetId }, + success: function(r) { + var mls = Ext.util.JSON.decode(r.responseText).mapLegendSet[0]; + Ext.getCmp('maplegendset_cb').setValue(mls.id); + choropleth.applyPredefinedLegend(); + }, + failure: function() { + alert('Error: getMapLegendSet'); + } + }); + } } } } @@ -340,14 +405,46 @@ url: path + 'getMapView' + type, method: 'POST', params: { id: mId }, - - success: function( responseObject ) { - MAPVIEW = Ext.util.JSON.decode(responseObject.responseText).mapView[0]; + success: function(r) { + MAPVIEW = Ext.util.JSON.decode(r.responseText).mapView[0]; MAPSOURCE = MAPVIEW.mapSourceType; - Ext.getCmp('numClasses').setValue(MAPVIEW.classes); - Ext.getCmp('colorA_cf').setValue(MAPVIEW.colorLow); - Ext.getCmp('colorB_cf').setValue(MAPVIEW.colorHigh); + if (MAPVIEW.mapLegendType == map_legend_type_automatic) { + Ext.getCmp('maplegendtype_cb').setValue(map_legend_type_automatic); + Ext.getCmp('numClasses').setValue(MAPVIEW.classes); + Ext.getCmp('colorA_cf').setValue(MAPVIEW.colorLow); + Ext.getCmp('colorB_cf').setValue(MAPVIEW.colorHigh); + + Ext.getCmp('method').show(); + Ext.getCmp('bounds').hide(); + Ext.getCmp('numClasses').show(); + Ext.getCmp('colorA_cf').show(); + Ext.getCmp('colorB_cf').show(); + Ext.getCmp('maplegendset_cb').hide(); + } + else if (MAPVIEW.mapLegendType == map_legend_type_predefined) { + Ext.getCmp('maplegendtype_cb').setValue(map_legend_type_predefined); + Ext.getCmp('method').hide(); + Ext.getCmp('bounds').hide(); + Ext.getCmp('numClasses').hide(); + Ext.getCmp('colorA_cf').hide(); + Ext.getCmp('colorB_cf').hide(); + Ext.getCmp('maplegendset_cb').show(); + Ext.Ajax.request({ + url: path + 'getMapLegendSet' + type, + method: 'POST', + params: { id: MAPVIEW.mapLegendSetId }, + success: function(r) { + var mls = Ext.util.JSON.decode(r.responseText).mapLegendSet[0]; + Ext.getCmp('maplegendset_cb').setValue(mls.id); + choropleth.applyPredefinedLegend(); + }, + failure: function() { + alert('Error: getMapLegendSet'); + } + }); + } + Ext.getCmp('indicatorgroup_cb').setValue(MAPVIEW.indicatorGroupId); var igId = Ext.getCmp('indicatorgroup_cb').getValue(); @@ -612,35 +709,7 @@ listeners: { 'select': { fn: function() { - var mapLegendSet = Ext.getCmp('maplegendset_cb').getValue(); - var bounds = []; - Ext.Ajax.request({ - url: path + 'getMapLegendsByMapLegendSet' + type, - method: 'POST', - params: { mapLegendSetId: mapLegendSet }, - success: function(r) { - var mapLegends = Ext.util.JSON.decode(r.responseText).mapLegends; - var colors = []; - var bounds = []; - for (var i = 0; i < mapLegends.length; i++) { - if (bounds[bounds.length-1] != mapLegends[i].startValue) { - if (bounds.length != 0) { - colors.push(new mapfish.ColorRgb(240,240,240)); - } - bounds.push(mapLegends[i].startValue); - } - colors.push(new mapfish.ColorRgb()); - colors[colors.length-1].setFromHex(mapLegends[i].color); - bounds.push(mapLegends[i].endValue); - } - choropleth.colorInterpolation = colors; - choropleth.bounds = bounds; - choropleth.classify(false); - }, - failure: function() { - alert('Error: getMapLegendsByMapLegendSet'); - } - }); + choropleth.applyPredefinedLegend(); }, scope: this }