64 lines
1.4 KiB
JavaScript
64 lines
1.4 KiB
JavaScript
/**
|
|
* @fileoverview Click Handler.
|
|
*
|
|
* Provides a class for listening to click events on a DOM element
|
|
* and re-dispatching to a map instance.
|
|
*
|
|
* This handler has no default behaviour.
|
|
*/
|
|
|
|
goog.provide('ol.handler.Click');
|
|
|
|
goog.require('goog.asserts');
|
|
goog.require('goog.events');
|
|
goog.require('goog.events.EventType');
|
|
goog.require('goog.Disposable');
|
|
|
|
|
|
/**
|
|
* @constructor
|
|
* @extends {goog.Disposable}
|
|
* @param {ol.Map} map The map instance.
|
|
* @param {Element} elt The element we listen to mousewheel on.
|
|
* @param {Object} states An object for the handlers to share states.
|
|
*/
|
|
ol.handler.Click = function(map, elt, states) {
|
|
goog.base(this);
|
|
|
|
/**
|
|
* @type {ol.Map}
|
|
*/
|
|
this.map_ = map;
|
|
|
|
/**
|
|
* @type {Element}
|
|
*/
|
|
this.elt_ = elt;
|
|
|
|
/**
|
|
* @type {Object}
|
|
*/
|
|
this.states_ = states;
|
|
|
|
goog.events.listen(this.elt_, goog.events.EventType.CLICK,
|
|
this.handleClick, undefined, this);
|
|
};
|
|
goog.inherits(ol.handler.Click, goog.Disposable);
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
ol.handler.Click.prototype.disposeInternal = function() {
|
|
goog.events.unlisten(this.elt_, goog.events.EventType.CLICK,
|
|
this.handleClick, undefined, this);
|
|
};
|
|
|
|
/**
|
|
* @param {goog.events.BrowserEvent} e
|
|
*/
|
|
ol.handler.Click.prototype.handleClick = function(e) {
|
|
if (!this.states_.dragged) {
|
|
goog.events.dispatchEvent(this.map_, e);
|
|
}
|
|
};
|