From d900028c2a4ece3ad5dd2e761b4bd0afd2bc0212 Mon Sep 17 00:00:00 2001 From: Matthew Perry Date: Mon, 6 Feb 2012 19:56:02 -0800 Subject: [PATCH] function to reset handler --- lib/OpenLayers/Control/UTFGrid.js | 35 +++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/OpenLayers/Control/UTFGrid.js b/lib/OpenLayers/Control/UTFGrid.js index 409975bb3c..8fe4480c26 100644 --- a/lib/OpenLayers/Control/UTFGrid.js +++ b/lib/OpenLayers/Control/UTFGrid.js @@ -45,7 +45,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { * options - {Object} Options for control. */ defaultHandlerOptions: { - 'delay': 500, + 'delay': 200, 'pixelTolerance': null, 'stopMove': false, 'single': true, @@ -55,10 +55,23 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { 'stopDouble': false }, - handlerMode: 'move', + /* Property: handlerMode + * Defaults to 'click'. Can be 'hover' or 'move'. + */ + handlerMode: 'hover', - setHandler: function() { - this.handler = null; + setHandler: function(hm) { + this.handlerMode = hm; + this.resetHandler(); + }, + + resetHandler: function() { + if (this.handler) { + this.handler.deactivate(); + this.handler.destroy(); + this.handler = null; + } + if (this.handlerMode == 'hover') { // Handle this event on hover this.handler = new OpenLayers.Handler.Hover( @@ -81,6 +94,11 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { this.handlerOptions ); } + if (this.handler) { + return true; + } else { + return false; + } }, initialize: function(options) { @@ -90,7 +108,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { OpenLayers.Control.prototype.initialize.apply( this, arguments ); - this.setHandler(); + this.resetHandler(); }, /** @@ -124,7 +142,6 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { var layer; for (var i=0, len=layers.length; i"; } val += ""; - //var val = attrs.NAME + ": population " + attrs.POP2005; this.element.innerHTML = val; return true; } else { @@ -207,7 +224,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, { reset: function(evt) { this.callback(null); if (this.element) - this.element.innerHTML = this.emptyString; + this.element.innerHTML = ''; }, /**