StructureJS
0.15.2A class based utility library for building modular and scalable web platform applications. Features opt-in classes and utilities which provide a solid foundation and toolset to build your next project.
import BaseEvent from './BaseEvent'; /** * The LocalStorageEvent .... * Note: the event only dispatches in other browser windows and does not show up in the window where you made a change to the local storage. * * @class LocalStorageEvent * @extends BaseEvent * @param type {string} The type of event. The type is case-sensitive. * @param [bubbles=false] {boolean} Indicates whether an event is a bubbling event. If the event can bubble, this value is true; otherwise it is false. * Note: With event-bubbling you can let one Event subsequently call on every ancestor ({{#crossLink "EventDispatcher/parent:property"}}{{/crossLink}}) * (containers of containers of etc.) of the {{#crossLink "DisplayObjectContainer"}}{{/crossLink}} that originally dispatched the Event, all the way up to the surface ({{#crossLink "Stage"}}{{/crossLink}}). Any classes that do not have a parent cannot bubble. * @param [cancelable=false] {boolean} Indicates whether the behavior associated with the event can be prevented. If the behavior can be canceled, this value is true; otherwise it is false. * @param nativeEvent {StorageEvent} The native browser event for localStorage. * @module StructureJS * @submodule event * @requires Extend * @requires BaseEvent * @constructor * @author Robert S. (www.codeBelt.com) */ class LocalStorageEvent extends BaseEvent { /** * The storage event is fired on a Document's Window object when a storage area changes. * * @event STORAGE * @type {string} * @static */ public static STORAGE:string = 'storage'; /** * TODO: YUIDoc_comment * * @property originalEvent * @type {any} * @public */ public originalEvent:any = null; /** * The named key that was added, removed, or modified * * @event key * @type {string} */ public key:string; /** * The previous value (now overwritten), or null if a new item was added * * @event oldValue * @type {string} */ public oldValue:string; /** * The new value, or null if an item was removed * * @event newValue * @type {string} */ public newValue:string; /** * The page which called a method that triggered this change * * @event key * @type {string} */ public url:string; constructor(type:string, bubbles:boolean, cancelable:boolean, nativeEvent:StorageEvent) { super(type, bubbles, cancelable, nativeEvent); if (nativeEvent) { this.key = nativeEvent.key; this.oldValue = nativeEvent.oldValue; this.newValue = nativeEvent.newValue; this.url = nativeEvent.url; } this.originalEvent = nativeEvent; } } export default LocalStorageEvent;