Remove goog.events.KeyHandler

This commit is contained in:
Andreas Hocevar
2016-01-25 10:59:10 +01:00
parent 0f216659f9
commit 1a6daa297e
4 changed files with 38 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
goog.provide('ol.events');
goog.provide('ol.events.EventType');
goog.provide('ol.events.KeyCode');
/**
@@ -18,6 +19,8 @@ ol.events.EventType = {
DRAGOVER: 'dragover',
DROP: 'drop',
ERROR: 'error',
KEYDOWN: 'keydown',
KEYPRESS: 'keypress',
LOAD: 'load',
MOUSEDOWN: 'mousedown',
MOUSEMOVE: 'mousemove',
@@ -27,6 +30,18 @@ ol.events.EventType = {
TOUCHSTART: 'touchstart'
};
/**
* @enum {number}
*/
ol.events.KeyCode = {
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40
};
/**
* Key to use with {@link ol.Observable#unByKey}.
*

View File

@@ -1,12 +1,12 @@
goog.provide('ol.interaction.KeyboardPan');
goog.require('goog.asserts');
goog.require('goog.events.KeyCodes');
goog.require('goog.events.KeyHandler.EventType');
goog.require('goog.functions');
goog.require('ol');
goog.require('ol.coordinate');
goog.require('ol.events.ConditionType');
goog.require('ol.events.EventType');
goog.require('ol.events.KeyCode');
goog.require('ol.events.condition');
goog.require('ol.interaction.Interaction');
@@ -73,25 +73,24 @@ goog.inherits(ol.interaction.KeyboardPan, ol.interaction.Interaction);
*/
ol.interaction.KeyboardPan.handleEvent = function(mapBrowserEvent) {
var stopEvent = false;
if (mapBrowserEvent.type == goog.events.KeyHandler.EventType.KEY) {
var keyEvent = /** @type {Event} */
(mapBrowserEvent.originalEvent);
if (mapBrowserEvent.type == ol.events.EventType.KEYDOWN) {
var keyEvent = mapBrowserEvent.originalEvent;
var keyCode = keyEvent.keyCode;
if (this.condition_(mapBrowserEvent) &&
(keyCode == goog.events.KeyCodes.DOWN ||
keyCode == goog.events.KeyCodes.LEFT ||
keyCode == goog.events.KeyCodes.RIGHT ||
keyCode == goog.events.KeyCodes.UP)) {
(keyCode == ol.events.KeyCode.DOWN ||
keyCode == ol.events.KeyCode.LEFT ||
keyCode == ol.events.KeyCode.RIGHT ||
keyCode == ol.events.KeyCode.UP)) {
var map = mapBrowserEvent.map;
var view = map.getView();
goog.asserts.assert(view, 'map must have view');
var mapUnitsDelta = view.getResolution() * this.pixelDelta_;
var deltaX = 0, deltaY = 0;
if (keyCode == goog.events.KeyCodes.DOWN) {
if (keyCode == ol.events.KeyCode.DOWN) {
deltaY = -mapUnitsDelta;
} else if (keyCode == goog.events.KeyCodes.LEFT) {
} else if (keyCode == ol.events.KeyCode.LEFT) {
deltaX = -mapUnitsDelta;
} else if (keyCode == goog.events.KeyCodes.RIGHT) {
} else if (keyCode == ol.events.KeyCode.RIGHT) {
deltaX = mapUnitsDelta;
} else {
deltaY = mapUnitsDelta;

View File

@@ -1,8 +1,8 @@
goog.provide('ol.interaction.KeyboardZoom');
goog.require('goog.asserts');
goog.require('goog.events.KeyHandler.EventType');
goog.require('ol.events.ConditionType');
goog.require('ol.events.EventType');
goog.require('ol.events.condition');
goog.require('ol.interaction.Interaction');
@@ -66,9 +66,9 @@ goog.inherits(ol.interaction.KeyboardZoom, ol.interaction.Interaction);
*/
ol.interaction.KeyboardZoom.handleEvent = function(mapBrowserEvent) {
var stopEvent = false;
if (mapBrowserEvent.type == goog.events.KeyHandler.EventType.KEY) {
var keyEvent = /** @type {Event} */
(mapBrowserEvent.originalEvent);
if (mapBrowserEvent.type == ol.events.EventType.KEYDOWN ||
mapBrowserEvent.type == ol.events.EventType.KEYPRESS) {
var keyEvent = mapBrowserEvent.originalEvent;
var charCode = keyEvent.charCode;
if (this.condition_(mapBrowserEvent) &&
(charCode == '+'.charCodeAt(0) || charCode == '-'.charCodeAt(0))) {

View File

@@ -12,11 +12,6 @@ goog.require('goog.debug.Console');
goog.require('goog.dom');
goog.require('goog.dom.ViewportSizeMonitor');
goog.require('goog.dom.classlist');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.events.EventType');
goog.require('goog.events.KeyHandler');
goog.require('goog.events.KeyHandler.EventType');
goog.require('goog.events.MouseWheelHandler');
goog.require('goog.events.MouseWheelHandler.EventType');
goog.require('goog.functions');
@@ -312,12 +307,9 @@ ol.Map = function(options) {
/**
* @private
* @type {goog.events.KeyHandler}
* @type {ol.events.Key|undefined}
*/
this.keyHandler_ = new goog.events.KeyHandler();
ol.events.listen(this.keyHandler_, goog.events.KeyHandler.EventType.KEY,
this.handleBrowserEvent, false, this);
this.registerDisposable(this.keyHandler_);
this.keyHandlerKey_;
var mouseWheelHandler = new goog.events.MouseWheelHandler(this.viewport_);
ol.events.listen(mouseWheelHandler,
@@ -1061,7 +1053,9 @@ ol.Map.prototype.handleTargetChanged_ = function() {
var targetElement = this.getTargetElement();
this.keyHandler_.detach();
if (this.keyHandlerKey_) {
ol.events.unlistenByKey(this.keyHandlerKey_);
}
if (!targetElement) {
goog.dom.removeNode(this.viewport_);
@@ -1074,7 +1068,9 @@ ol.Map.prototype.handleTargetChanged_ = function() {
var keyboardEventTarget = !this.keyboardEventTarget_ ?
targetElement : this.keyboardEventTarget_;
this.keyHandler_.attach(keyboardEventTarget);
this.keyHandlerKey_ = ol.events.listen(keyboardEventTarget,
[ol.events.EventType.KEYDOWN, ol.events.EventType.KEYPRESS],
this.handleBrowserEvent, false, this);
if (!this.viewportResizeListenerKey_) {
this.viewportResizeListenerKey_ = ol.events.listen(