CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-google-closure-library

Google's comprehensive JavaScript library providing utilities, DOM manipulation, UI components, and data structures for building scalable web applications

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

events.mddocs/

Event System

Comprehensive event handling system with listening, dispatching, and management capabilities for both DOM and custom events with cross-browser compatibility.

Capabilities

Event Listening

Functions for adding and managing event listeners.

/**
 * Adds event listener to element or event target
 * @param {EventTarget|goog.events.Listenable} src - Event source
 * @param {string|Array<string>} type - Event type(s)
 * @param {Function} listener - Event listener function
 * @param {boolean|Object=} opt_options - Capture flag or options object
 * @param {Object=} opt_handler - Object to bind 'this' to
 * @return {goog.events.Key} Listener key for removal
 */
goog.events.listen = function(src, type, listener, opt_options, opt_handler) {};

/**
 * Adds one-time event listener that removes itself after first trigger
 * @param {EventTarget|goog.events.Listenable} src - Event source
 * @param {string|Array<string>} type - Event type(s)
 * @param {Function} listener - Event listener function
 * @param {boolean|Object=} opt_options - Capture flag or options object
 * @param {Object=} opt_handler - Object to bind 'this' to
 * @return {goog.events.Key} Listener key for removal
 */
goog.events.listenOnce = function(src, type, listener, opt_options, opt_handler) {};

/**
 * Adds event listener using wrapper object
 * @param {EventTarget|goog.events.Listenable} src - Event source
 * @param {goog.events.EventWrapper} wrapper - Event wrapper
 * @param {Function} listener - Event listener function
 * @param {boolean=} opt_capt - Whether to use capture phase
 * @param {Object=} opt_handler - Object to bind 'this' to
 * @return {goog.events.Key} Listener key for removal
 */
goog.events.listenWithWrapper = function(src, wrapper, listener, opt_capt, opt_handler) {};

/**
 * Removes event listener
 * @param {EventTarget|goog.events.Listenable} src - Event source
 * @param {string|Array<string>} type - Event type(s)
 * @param {Function} listener - Event listener function
 * @param {boolean|Object=} opt_options - Capture flag or options object
 * @param {Object=} opt_handler - Object that was bound to
 * @return {boolean} True if listener was removed
 */
goog.events.unlisten = function(src, type, listener, opt_options, opt_handler) {};

/**
 * Removes event listener by key
 * @param {goog.events.Key} key - Listener key returned by listen
 * @return {boolean} True if listener was removed
 */
goog.events.unlistenByKey = function(key) {};

/**
 * Removes all event listeners from object
 * @param {Object=} opt_obj - Object to remove listeners from
 * @param {string=} opt_type - Event type to remove (all if not specified)
 * @param {boolean=} opt_capt - Whether to remove capture listeners
 * @return {number} Number of listeners removed
 */
goog.events.removeAll = function(opt_obj, opt_type, opt_capt) {};

Event Dispatching

Functions for creating and dispatching events.

/**
 * Dispatches event on target
 * @param {EventTarget|goog.events.Listenable} src - Event source
 * @param {string|Object|goog.events.Event} e - Event type, object, or event
 * @return {boolean} True if event was not cancelled
 */
goog.events.dispatchEvent = function(src, e) {};

/**
 * Fires listeners for specific event type on object
 * @param {Object} obj - Event target object
 * @param {string} type - Event type
 * @param {boolean} capture - Whether to fire capture listeners
 * @param {Object} eventObject - Event object to pass to listeners
 * @return {boolean} True if any listener returned false
 */
goog.events.fireListeners = function(obj, type, capture, eventObject) {};

/**
 * Gets total count of active listeners
 * @return {number} Total listener count
 */
goog.events.getTotalListenerCount = function() {};

/**
 * Tests if object has listeners for event type
 * @param {EventTarget|goog.events.Listenable} obj - Object to test
 * @param {string=} opt_type - Event type (any type if not specified)
 * @param {boolean=} opt_capture - Whether to check capture listeners
 * @return {boolean} True if has listeners
 */
goog.events.hasListener = function(obj, opt_type, opt_capture) {};

/**
 * Gets all listeners for object and type
 * @param {EventTarget|goog.events.Listenable} obj - Object to get listeners from
 * @param {string} type - Event type
 * @param {boolean} capture - Whether to get capture listeners
 * @return {Array<goog.events.Listener>} Array of listeners
 */
goog.events.getListeners = function(obj, type, capture) {};

Event Classes

Core event classes for creating and handling events.

/**
 * Basic event class for custom events
 * @param {string} type - Event type
 * @param {Object=} opt_target - Event target
 * @constructor
 */
goog.events.Event = function(type, opt_target) {};

/**
 * Event type string
 * @type {string}
 */
goog.events.Event.prototype.type;

/**
 * Event target object
 * @type {Object}
 */
goog.events.Event.prototype.target;

/**
 * Current event target during bubbling
 * @type {Object}
 */
goog.events.Event.prototype.currentTarget;

/**
 * Whether event propagation has been stopped
 * @type {boolean}
 */
goog.events.Event.prototype.propagationStopped_;

/**
 * Stops event propagation
 */
goog.events.Event.prototype.stopPropagation = function() {};

/**
 * Prevents default action
 */
goog.events.Event.prototype.preventDefault = function() {};

/**
 * Browser event wrapper that normalizes browser events
 * @param {Event} e - Native browser event
 * @param {EventTarget=} opt_currentTarget - Current target
 * @constructor
 * @extends {goog.events.Event}
 */
goog.events.BrowserEvent = function(e, opt_currentTarget) {};

/**
 * Native browser event object
 * @type {Event}
 */
goog.events.BrowserEvent.prototype.event;

/**
 * X coordinate of mouse event
 * @type {number}
 */
goog.events.BrowserEvent.prototype.clientX;

/**
 * Y coordinate of mouse event
 * @type {number}
 */
goog.events.BrowserEvent.prototype.clientY;

/**
 * Key code for keyboard events
 * @type {number}
 */
goog.events.BrowserEvent.prototype.keyCode;

/**
 * Whether Ctrl key was pressed
 * @type {boolean}
 */
goog.events.BrowserEvent.prototype.ctrlKey;

/**
 * Whether Alt key was pressed
 * @type {boolean}
 */
goog.events.BrowserEvent.prototype.altKey;

/**
 * Whether Shift key was pressed
 * @type {boolean}
 */
goog.events.BrowserEvent.prototype.shiftKey;

/**
 * Whether Meta key was pressed
 * @type {boolean}
 */
goog.events.BrowserEvent.prototype.metaKey;

/**
 * Event target implementation class
 * @constructor
 * @implements {goog.events.Listenable}
 */
goog.events.EventTarget = function() {};

/**
 * Dispatches event on this target
 * @param {string|Object|goog.events.Event} e - Event to dispatch
 * @return {boolean} True if not cancelled
 */
goog.events.EventTarget.prototype.dispatchEvent = function(e) {};

/**
 * Adds event listener to this target
 * @param {string} type - Event type
 * @param {Function} handler - Event handler
 * @param {boolean=} opt_capture - Use capture phase
 * @param {Object=} opt_handlerScope - Handler scope
 */
goog.events.EventTarget.prototype.addEventListener = function(type, handler, opt_capture, opt_handlerScope) {};

/**
 * Removes event listener from this target
 * @param {string} type - Event type
 * @param {Function} handler - Event handler
 * @param {boolean=} opt_capture - Use capture phase
 * @param {Object=} opt_handlerScope - Handler scope
 */
goog.events.EventTarget.prototype.removeEventListener = function(type, handler, opt_capture, opt_handlerScope) {};

Event Types and Constants

Standard event types and keyboard codes.

/**
 * Standard DOM event types
 * @enum {string}
 */
goog.events.EventType = {
  CLICK: 'click',
  RIGHTCLICK: 'rightclick', 
  DBLCLICK: 'dblclick',
  MOUSEDOWN: 'mousedown',
  MOUSEUP: 'mouseup',
  MOUSEOVER: 'mouseover',
  MOUSEOUT: 'mouseout',
  MOUSEMOVE: 'mousemove',
  MOUSEENTER: 'mouseenter',
  MOUSELEAVE: 'mouseleave',
  KEYPRESS: 'keypress',
  KEYDOWN: 'keydown',
  KEYUP: 'keyup',
  BLUR: 'blur',
  FOCUS: 'focus',
  DEACTIVATE: 'deactivate',
  FOCUSIN: 'focusin',
  FOCUSOUT: 'focusout',
  CHANGE: 'change',
  RESET: 'reset',
  SELECT: 'select',
  SUBMIT: 'submit',
  INPUT: 'input',
  PROPERTYCHANGE: 'propertychange',
  DRAGSTART: 'dragstart',
  DRAG: 'drag',
  DRAGENTER: 'dragenter',
  DRAGOVER: 'dragover',
  DRAGLEAVE: 'dragleave',
  DROP: 'drop',
  DRAGEND: 'dragend',
  TOUCHSTART: 'touchstart',
  TOUCHMOVE: 'touchmove',
  TOUCHEND: 'touchend',
  TOUCHCANCEL: 'touchcancel',
  BEFOREUNLOAD: 'beforeunload',
  CONTEXTMENU: 'contextmenu',
  ERROR: 'error',
  HELP: 'help',
  LOAD: 'load',
  LOSECAPTURE: 'losecapture',
  ORIENTATIONCHANGE: 'orientationchange',
  READYSTATECHANGE: 'readystatechange',
  RESIZE: 'resize',
  SCROLL: 'scroll',
  UNLOAD: 'unload'
};

/**
 * Keyboard key codes
 * @enum {number}
 */
goog.events.KeyCodes = {
  WIN_KEY_FF_LINUX: 0,
  MAC_ENTER: 3,
  BACKSPACE: 8,
  TAB: 9,
  NUM_CENTER: 12,
  ENTER: 13,
  SHIFT: 16,
  CTRL: 17,
  ALT: 18,
  PAUSE: 19,
  CAPS_LOCK: 20,
  ESC: 27,
  SPACE: 32,
  PAGE_UP: 33,
  PAGE_DOWN: 34,
  END: 35,
  HOME: 36,
  LEFT: 37,
  UP: 38,
  RIGHT: 39,
  DOWN: 40,
  PLUS_SIGN: 43,
  PRINT_SCREEN: 44,
  INSERT: 45,
  DELETE: 46,
  ZERO: 48,
  ONE: 49,
  TWO: 50,
  THREE: 51,
  FOUR: 52,
  FIVE: 53,
  SIX: 54,
  SEVEN: 55,
  EIGHT: 56,
  NINE: 57,
  A: 65,
  B: 66,
  C: 67,
  V: 86,
  X: 88,
  F1: 112,
  F2: 113,
  F3: 114,
  F4: 115,
  F5: 116,
  F6: 117,
  F7: 118,
  F8: 119,
  F9: 120,
  F10: 121,
  F11: 122,
  F12: 123
};

Usage Examples:

// Basic event listening
var button = goog.dom.getElement('myButton');
goog.events.listen(button, goog.events.EventType.CLICK, function(e) {
    console.log('Button clicked!');
    e.preventDefault(); // Prevent default action
});

// One-time event listener
goog.events.listenOnce(window, goog.events.EventType.LOAD, function() {
    console.log('Page loaded!');
});

// Multiple event types
goog.events.listen(element, [
    goog.events.EventType.MOUSEENTER,
    goog.events.EventType.MOUSELEAVE
], handleMouseEvent);

// Custom event target
var eventTarget = new goog.events.EventTarget();
goog.events.listen(eventTarget, 'custom-event', function(e) {
    console.log('Custom event fired:', e.data);
});

// Dispatch custom event
eventTarget.dispatchEvent(new goog.events.Event('custom-event'));

// Keyboard event handling
goog.events.listen(document, goog.events.EventType.KEYDOWN, function(e) {
    if (e.keyCode === goog.events.KeyCodes.ENTER) {
        console.log('Enter key pressed');
    }
});

docs

arrays.md

assertions.md

core.md

dom.md

events.md

index.md

math.md

objects.md

strings.md

tile.json