Passing renderer options to the sketch layer.
The draw feature control should pass preferred render and other renderer options to the sketch handler.
This commit is contained in:
@@ -83,6 +83,11 @@ OpenLayers.Control.DrawFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
);
|
||||
this.layer = layer;
|
||||
this.handlerOptions = this.handlerOptions || {};
|
||||
this.handlerOptions.layerOptions = OpenLayers.Util.applyDefaults(
|
||||
this.handlerOptions.layerOptions, {
|
||||
renderers: layer.renderers, rendererOptions: layer.rendererOptions
|
||||
}
|
||||
);
|
||||
if (!("multi" in this.handlerOptions)) {
|
||||
this.handlerOptions.multi = this.multi;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,33 @@
|
||||
t.ok(!control.handler.multi, "handlerOptions.multi respected");
|
||||
|
||||
}
|
||||
|
||||
function test_rendererOptions(t) {
|
||||
t.plan(2);
|
||||
|
||||
var map = new OpenLayers.Map("map");
|
||||
var renderers = ["Canvas", "VML"];
|
||||
|
||||
var layer = new OpenLayers.Layer.Vector(null, {
|
||||
renderers: renderers,
|
||||
rendererOptions: {zIndexing: true},
|
||||
isBaseLayer: true
|
||||
});
|
||||
map.addLayer(layer);
|
||||
|
||||
var control = new OpenLayers.Control.DrawFeature(
|
||||
layer, OpenLayers.Handler.Polygon, {autoActivate: true}
|
||||
);
|
||||
map.addControl(control);
|
||||
|
||||
var sketchLayer = control.handler.layer;
|
||||
|
||||
t.eq(sketchLayer.renderers, renderers, "Preferred renderers");
|
||||
t.eq(sketchLayer.rendererOptions.zIndexing, true, "renderer options");
|
||||
|
||||
map.destroy();
|
||||
|
||||
}
|
||||
|
||||
function test_drawFeature(t) {
|
||||
t.plan(3);
|
||||
|
||||
Reference in New Issue
Block a user