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>
|
||||||
*/
|
*/
|
||||||
OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: hover
|
* APIProperty: hover
|
||||||
* {Boolean} Send GetFeatureInfo requests when mouse stops moving.
|
* {Boolean} Send GetFeatureInfo requests when mouse stops moving.
|
||||||
@@ -46,6 +46,13 @@ OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
|||||||
* requests.
|
* requests.
|
||||||
*/
|
*/
|
||||||
maxFeatures: 10,
|
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
|
* Property: layers
|
||||||
@@ -192,8 +199,10 @@ OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, {
|
|||||||
'delay': 250
|
'delay': 250
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
this.handler = new OpenLayers.Handler.Click(this,
|
var callbacks = {};
|
||||||
{click: this.getInfoForClick}, this.handlerOptions.click || {});
|
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")
|
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) {
|
function test_destroy(t) {
|
||||||
t.plan(2);
|
t.plan(2);
|
||||||
var map = new OpenLayers.Map("map");
|
var map = new OpenLayers.Map("map");
|
||||||
|
|||||||
Reference in New Issue
Block a user