StructureJS

0.15.2

A 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.

File: ts/event/RouterEvent.ts

import BaseEvent from './BaseEvent';

/**
 * The RouterEvent is used in the {{#crossLink "Router"}}{{/crossLink}} class and gets passed to the callback in the {{#crossLink "Route"}}{{/crossLink}} class.
 *
 * @class RouterEvent
 * @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 [data=null] {any} Use to pass any type of data with the event.
 * @module StructureJS
 * @submodule event
 * @requires Extend
 * @requires BaseEvent
 * @constructor
 * @author Robert S. (www.codeBelt.com)
 */
class RouterEvent extends BaseEvent
{
    /**
     * The RouterEvent.CHANGE constant defines the value of the type property of an change route event object.
     *
     * @event CHANGE
     * @type {string}
     * @static
     */
    public static CHANGE:string = 'RouterEvent.change';

    /**
     * The route that was matched against {{#crossLink "RouterEvent/routePattern:property"}}{{/crossLink}} property.
     *
     * @property route
     * @type {string}
     * @public
     */
    public route:string = null;

    /**
     * The new URL to which the window is navigating.
     *
     * @property newURL
     * @type {string}
     * @public
     */
    public newURL:string = null;

    /**
     * The previous URL from which the window was navigated.
     *
     * @property oldURL
     * @type {string}
     * @public
     */
    public oldURL:string = null;

    /**
     * The route pattern that matched the {{#crossLink "RouterEvent/route:property"}}{{/crossLink}} property.
     *
     * @property routePattern
     * @type {string}
     * @public
     */
    public routePattern:string = null;

    /**
     * An array containing the parameters captured from the Route.{{#crossLink "Route/match:method"}}{{/crossLink}}
     * being called with the {{#crossLink "RouterEvent/routePattern:property"}}{{/crossLink}} property.
     *
     * @property params
     * @type {Array.<string>}
     * @public
     */
    public params:Array<string> = [];

    /**
     * A query object the represents the query string in the hash url.
     *
     * @property query
     * @type {any}
     * @public
     */
    public query:any = null;

    constructor(type:string = RouterEvent.CHANGE, bubbles:boolean = false, cancelable:boolean = false, data:any = null)
    {
        super(type, bubbles, cancelable, data);
    }

}

export default RouterEvent;
    
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy