package org.activityinfo.ui.client.component.report.editor.map.symbols; import org.activityinfo.legacy.shared.reports.content.AdminMarker; import org.activityinfo.legacy.shared.reports.content.AdminOverlay; import org.activityinfo.ui.client.util.LeafletUtil; import org.discotools.gwt.leaflet.client.jsobject.JSObject; import org.discotools.gwt.leaflet.client.layers.others.GeoJSONFeatures; public class AdminChloroplethFeatures extends GeoJSONFeatures { private final AdminOverlay overlay; public AdminChloroplethFeatures(AdminOverlay overlay) { super(); this.overlay = overlay; } @Override public JSObject pointToLayer(JSObject feature, JSObject latlng) { return null; } @Override public JSObject onEachFeature(JSObject feature, JSObject layer) { return feature; } @Override public JSObject style(JSObject feature) { int adminEntityId = feature.getPropertyAsInt("id"); AdminMarker polygon = overlay.getPolygon(adminEntityId); JSObject style = JSObject.createJSObject(); style.setProperty("fillColor", LeafletUtil.color(polygon.getColor())); style.setProperty("fillOpacity", 0.5); style.setProperty("stroke", true); style.setProperty("weight", 2); style.setProperty("color", LeafletUtil.color(overlay.getOutlineColor())); return style; } @Override public boolean filter(JSObject feature, JSObject layer) { return true; } }