changes to WMSGetFeatureInfo so requests can be sent on click,
rightclick, and dblclick, r=bartvde (closes #2528) git-svn-id: http://svn.openlayers.org/trunk/openlayers@10117 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
* - <OpenLayers.Control>
|
||||
*/
|
||||
OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
||||
|
||||
|
||||
/**
|
||||
* APIProperty: hover
|
||||
* {Boolean} Send GetFeatureInfo requests when mouse stops moving.
|
||||
@@ -46,6 +46,13 @@ OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
||||
* requests.
|
||||
*/
|
||||
maxFeatures: 10,
|
||||
|
||||
/** APIProperty: clickCallback
|
||||
* {String} The click callback to register in the
|
||||
* {<OpenLayers.Handler.Click>} object created when the hover
|
||||
* option is set to false. Default is "click".
|
||||
*/
|
||||
clickCallback: "click",
|
||||
|
||||
/**
|
||||
* Property: layers
|
||||
@@ -192,8 +199,10 @@ OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
||||
'delay': 250
|
||||
}));
|
||||
} else {
|
||||
this.handler = new OpenLayers.Handler.Click(this,
|
||||
{click: this.getInfoForClick}, this.handlerOptions.click || {});
|
||||
var callbacks = {};
|
||||
callbacks[this.clickCallback] = this.getInfoForClick;
|
||||
this.handler = new OpenLayers.Handler.Click(
|
||||
this, callbacks, this.handlerOptions.click || {});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -25,6 +25,50 @@
|
||||
t.eq(control.format.foo, "bar", "format options used")
|
||||
}
|
||||
|
||||
function test_clickCallBack_option(t) {
|
||||
t.plan(9);
|
||||
|
||||
var control;
|
||||
|
||||
control = new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
hover: true
|
||||
});
|
||||
t.ok(control.handler instanceof OpenLayers.Handler.Hover,
|
||||
'constructor creates hover handler');
|
||||
t.ok(control.handler.callbacks["move"] === control.cancelHover,
|
||||
'constructor registers proper "move" callback in handler');
|
||||
t.ok(control.handler.callbacks["pause"] === control.getInfoForHover,
|
||||
'constructor registers proper "pause" callback in handler');
|
||||
|
||||
control = new OpenLayers.Control.WMSGetFeatureInfo();
|
||||
t.ok(control.handler instanceof OpenLayers.Handler.Click,
|
||||
'constructor creates click handler');
|
||||
t.ok(control.handler.callbacks["click"] === control.getInfoForClick,
|
||||
'constructor registers proper "click" callback in handler');
|
||||
|
||||
control = new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
clickCallback: "rightclick"
|
||||
});
|
||||
t.ok(control.handler.callbacks["rightclick"] === control.getInfoForClick,
|
||||
'constructor registers proper "rightclick" callback in handler');
|
||||
|
||||
control = new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
clickCallback: "dblclick",
|
||||
handlerOptions: {
|
||||
click: {
|
||||
"single": false,
|
||||
"double": true
|
||||
}
|
||||
}
|
||||
});
|
||||
t.ok(control.handler.callbacks["dblclick"] === control.getInfoForClick,
|
||||
'constructor registers proper "dblclick" callback in handler');
|
||||
t.eq(control.handler["single"], false,
|
||||
'constructor sets "single" to false in handler');
|
||||
t.eq(control.handler["double"], true,
|
||||
'constructor sets "double" to true in handler');
|
||||
}
|
||||
|
||||
function test_destroy(t) {
|
||||
t.plan(2);
|
||||
var map = new OpenLayers.Map("map");
|
||||
|
||||
Reference in New Issue
Block a user