Handler.RegularPolygon doesn't always call the "done" callback, r=tschaub (closes #1857)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8616 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -274,6 +274,12 @@ OpenLayers.Handler.RegularPolygon = OpenLayers.Class(OpenLayers.Handler.Drag, {
|
|||||||
*/
|
*/
|
||||||
up: function(evt) {
|
up: function(evt) {
|
||||||
this.finalize();
|
this.finalize();
|
||||||
|
// the mouseup method of superclass doesn't call the
|
||||||
|
// "done" callback if there's been no move between
|
||||||
|
// down and up
|
||||||
|
if (this.start == this.last) {
|
||||||
|
this.callback("done", [evt.xy]);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -186,6 +186,40 @@
|
|||||||
handler.move({xy: {x: 20, y: 15}});
|
handler.move({xy: {x: 20, y: 15}});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_callbacks(t) {
|
||||||
|
t.plan(1);
|
||||||
|
|
||||||
|
// setup
|
||||||
|
var map = new OpenLayers.Map("map", {
|
||||||
|
getLonLatFromPixel: function(px) {
|
||||||
|
return {lon: px.x, lat: px.y};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var control = {"map": map};
|
||||||
|
|
||||||
|
var done = function(geom) {
|
||||||
|
t.ok(true,
|
||||||
|
"done callback called even if no move between down and up");
|
||||||
|
};
|
||||||
|
|
||||||
|
var handler = new OpenLayers.Handler.RegularPolygon(
|
||||||
|
control, {"done": done});
|
||||||
|
handler.activate();
|
||||||
|
|
||||||
|
var xy = new OpenLayers.Pixel(Math.random(), Math.random());
|
||||||
|
|
||||||
|
var isLeftClick = OpenLayers.Event.isLeftClick;
|
||||||
|
OpenLayers.Event.isLeftClick = function() { return true; };
|
||||||
|
|
||||||
|
// test
|
||||||
|
map.events.triggerEvent("mousedown", {"xy": xy});
|
||||||
|
map.events.triggerEvent("mouseup", {"xy": xy});
|
||||||
|
|
||||||
|
// tear down
|
||||||
|
OpenLayers.Event.isLeftClick = isLeftClick;
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
Reference in New Issue
Block a user