aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/events/eventhandler.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/events/eventhandler.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/events/eventhandler.js279
1 files changed, 0 insertions, 279 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/events/eventhandler.js b/contexts/data/lib/closure-library/closure/goog/events/eventhandler.js
deleted file mode 100644
index eff909f..0000000
--- a/contexts/data/lib/closure-library/closure/goog/events/eventhandler.js
+++ /dev/null
@@ -1,279 +0,0 @@
-// Copyright 2005 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Class to create objects which want to handle multiple events
- * and have their listeners easily cleaned up via a dispose method.
- *
- * Example:
- * <pre>
- * function Something() {
- * goog.base(this);
- *
- * ... set up object ...
- *
- * // Add event listeners
- * this.listen(this.starEl, goog.events.EventType.CLICK, this.handleStar);
- * this.listen(this.headerEl, goog.events.EventType.CLICK, this.expand);
- * this.listen(this.collapseEl, goog.events.EventType.CLICK, this.collapse);
- * this.listen(this.infoEl, goog.events.EventType.MOUSEOVER, this.showHover);
- * this.listen(this.infoEl, goog.events.EventType.MOUSEOUT, this.hideHover);
- * }
- * goog.inherits(Something, goog.events.EventHandler);
- *
- * Something.prototype.disposeInternal = function() {
- * goog.base(this, 'disposeInternal');
- * goog.dom.removeNode(this.container);
- * };
- *
- *
- * // Then elsewhere:
- *
- * var activeSomething = null;
- * function openSomething() {
- * activeSomething = new Something();
- * }
- *
- * function closeSomething() {
- * if (activeSomething) {
- * activeSomething.dispose(); // Remove event listeners
- * activeSomething = null;
- * }
- * }
- * </pre>
- *
- */
-
-goog.provide('goog.events.EventHandler');
-
-goog.require('goog.Disposable');
-goog.require('goog.array');
-goog.require('goog.events');
-goog.require('goog.events.EventWrapper');
-
-
-
-/**
- * Super class for objects that want to easily manage a number of event
- * listeners. It allows a short cut to listen and also provides a quick way
- * to remove all events listeners belonging to this object.
- * @param {Object=} opt_handler Object in whose scope to call the listeners.
- * @constructor
- * @extends {goog.Disposable}
- */
-goog.events.EventHandler = function(opt_handler) {
- goog.Disposable.call(this);
- this.handler_ = opt_handler;
-
- /**
- * Keys for events that are being listened to.
- * @type {Array.<number>}
- * @private
- */
- this.keys_ = [];
-};
-goog.inherits(goog.events.EventHandler, goog.Disposable);
-
-
-/**
- * Utility array used to unify the cases of listening for an array of types
- * and listening for a single event, without using recursion or allocating
- * an array each time.
- * @type {Array.<string>}
- * @private
- */
-goog.events.EventHandler.typeArray_ = [];
-
-
-/**
- * Listen to an event on a DOM node or EventTarget. If the function is omitted
- * then the EventHandler's handleEvent method will be used.
- * @param {goog.events.EventTarget|EventTarget} src Event source.
- * @param {string|Array.<string>} type Event type to listen for or array of
- * event types.
- * @param {Function|Object=} opt_fn Optional callback function to be used as the
- * listener or an object with handleEvent function.
- * @param {boolean=} opt_capture Optional whether to use capture phase.
- * @param {Object=} opt_handler Object in whose scope to call the listener.
- * @return {goog.events.EventHandler} This object, allowing for chaining of
- * calls.
- */
-goog.events.EventHandler.prototype.listen = function(src, type, opt_fn,
- opt_capture,
- opt_handler) {
- if (!goog.isArray(type)) {
- goog.events.EventHandler.typeArray_[0] = /** @type {string} */(type);
- type = goog.events.EventHandler.typeArray_;
- }
- for (var i = 0; i < type.length; i++) {
- // goog.events.listen generates unique keys so we don't have to check their
- // presence in the this.keys_ array.
- var key = (/** @type {number} */
- goog.events.listen(src, type[i], opt_fn || this,
- opt_capture || false,
- opt_handler || this.handler_ || this));
- this.keys_.push(key);
- }
-
- return this;
-};
-
-
-/**
- * Listen to an event on a DOM node or EventTarget. If the function is omitted
- * then the EventHandler's handleEvent method will be used. After the event has
- * fired the event listener is removed from the target. If an array of event
- * types is provided, each event type will be listened to once.
- * @param {goog.events.EventTarget|EventTarget} src Event source.
- * @param {string|Array.<string>} type Event type to listen for or array of
- * event types.
- * @param {Function|Object=} opt_fn Optional callback function to be used as the
- * listener or an object with handleEvent function.
- * @param {boolean=} opt_capture Optional whether to use capture phase.
- * @param {Object=} opt_handler Object in whose scope to call the listener.
- * @return {goog.events.EventHandler} This object, allowing for chaining of
- * calls.
- */
-goog.events.EventHandler.prototype.listenOnce = function(src, type, opt_fn,
- opt_capture,
- opt_handler) {
- if (goog.isArray(type)) {
- for (var i = 0; i < type.length; i++) {
- this.listenOnce(src, type[i], opt_fn, opt_capture, opt_handler);
- }
- } else {
- var key = (/** @type {number} */
- goog.events.listenOnce(src, type, opt_fn || this, opt_capture,
- opt_handler || this.handler_ || this));
- this.keys_.push(key);
- }
-
- return this;
-};
-
-
-/**
- * Adds an event listener with a specific event wrapper on a DOM Node or an
- * object that has implemented {@link goog.events.EventTarget}. A listener can
- * only be added once to an object.
- *
- * @param {EventTarget|goog.events.EventTarget} src The node to listen to
- * events on.
- * @param {goog.events.EventWrapper} wrapper Event wrapper to use.
- * @param {Function|Object} listener Callback method, or an object with a
- * handleEvent function.
- * @param {boolean=} opt_capt Whether to fire in capture phase (defaults to
- * false).
- * @param {Object=} opt_handler Element in whose scope to call the listener.
- * @return {goog.events.EventHandler} This object, allowing for chaining of
- * calls.
- */
-goog.events.EventHandler.prototype.listenWithWrapper = function(src, wrapper,
- listener, opt_capt, opt_handler) {
- wrapper.listen(src, listener, opt_capt, opt_handler || this.handler_ || this,
- this);
- return this;
-};
-
-
-/**
- * @return {number} Number of listeners registered by this handler.
- */
-goog.events.EventHandler.prototype.getListenerCount = function() {
- return this.keys_.length;
-};
-
-
-/**
- * Unlistens on an event.
- * @param {goog.events.EventTarget|EventTarget} src Event source.
- * @param {string|Array.<string>} type Event type to listen for.
- * @param {Function|Object=} opt_fn Optional callback function to be used as the
- * listener or an object with handleEvent function.
- * @param {boolean=} opt_capture Optional whether to use capture phase.
- * @param {Object=} opt_handler Object in whose scope to call the listener.
- * @return {goog.events.EventHandler} This object, allowing for chaining of
- * calls.
- */
-goog.events.EventHandler.prototype.unlisten = function(src, type, opt_fn,
- opt_capture,
- opt_handler) {
- if (goog.isArray(type)) {
- for (var i = 0; i < type.length; i++) {
- this.unlisten(src, type[i], opt_fn, opt_capture, opt_handler);
- }
- } else {
- var listener = goog.events.getListener(src, type, opt_fn || this,
- opt_capture, opt_handler || this.handler_ || this);
-
- if (listener) {
- var key = listener.key;
- goog.events.unlistenByKey(key);
- goog.array.remove(this.keys_, key);
- }
- }
-
- return this;
-};
-
-
-/**
- * Removes an event listener which was added with listenWithWrapper().
- *
- * @param {EventTarget|goog.events.EventTarget} src The target to stop
- * listening to events on.
- * @param {goog.events.EventWrapper} wrapper Event wrapper to use.
- * @param {Function|Object} listener The listener function to remove.
- * @param {boolean=} opt_capt In DOM-compliant browsers, this determines
- * whether the listener is fired during the capture or bubble phase of the
- * event.
- * @param {Object=} opt_handler Element in whose scope to call the listener.
- * @return {goog.events.EventHandler} This object, allowing for chaining of
- * calls.
- */
-goog.events.EventHandler.prototype.unlistenWithWrapper = function(src, wrapper,
- listener, opt_capt, opt_handler) {
- wrapper.unlisten(src, listener, opt_capt,
- opt_handler || this.handler_ || this, this);
- return this;
-};
-
-
-/**
- * Unlistens to all events.
- */
-goog.events.EventHandler.prototype.removeAll = function() {
- goog.array.forEach(this.keys_, goog.events.unlistenByKey);
- this.keys_.length = 0;
-};
-
-
-/**
- * Disposes of this EventHandler and removes all listeners that it registered.
- * @override
- * @protected
- */
-goog.events.EventHandler.prototype.disposeInternal = function() {
- goog.events.EventHandler.superClass_.disposeInternal.call(this);
- this.removeAll();
-};
-
-
-/**
- * Default event handler
- * @param {goog.events.Event} e Event object.
- */
-goog.events.EventHandler.prototype.handleEvent = function(e) {
- throw Error('EventHandler.handleEvent not implemented');
-};