diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/api/classes/App.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/api/classes/App.html Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,21831 @@ + + + + + App - YUI 3 + + + + + + + + +
+
+
+ +

+ +
+
+ API Docs for: 3.10.3 +
+
+
+ +
+ +
+
+
+ Show: + + + + + + + +
+ + +
+
+
+

App Class

+
+ +
+ Uses + +
+ + + +
+ Extends App.Base +
+ + + +
+ Defined in: app/js/app-base.js:1036 +
+ + + + + Module: app-base
+ Parent Module: app + + + + +

Available since 3.5.0

+ +
+ + + +
+

Provides a top-level application component which manages navigation and views.

+ +

This gives you a foundation and structure on which to build your application; it +combines robust URL navigation with powerful routing and flexible view +management.

+ +

Y.App is both a namespace and constructor function. The Y.App class is +special in that any Y.App class extensions that are included in the YUI +instance will be auto-mixed on to the Y.App class. Consider this example:

+ +
YUI().use('app-base', 'app-transitions', function (Y) {
+    // This will create two YUI Apps, basicApp will not have transitions,
+    // but fancyApp will have transitions support included and turn it on.
+    var basicApp = new Y.App.Base(),
+        fancyApp = new Y.App({transitions: true});
+});
+
+
+ + +
+

Constructor

+
+

App

+ + +
+ (
    + +
  • + + [config] + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + app/js/app-base.js:1036 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+ +
+ + +
+

Parameters:

+ +
    + +
  • + + [config] + Object + optional + + + + +
    +

    The following are configuration properties that can be + specified in addition to default attribute values and the non-attribute + properties provided by Y.Base:

    +
    + + +
      + +
    • + + [views] + Object + optional + + +
      +

      Hash of view-name to metadata used to + declaratively describe an application's views and their relationship with + the app and other views. The views specified here will override any defaults + provided by the views object on the prototype.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ +
+ + +
+ + +
+
+

Item Index

+ + +
+

Methods

+ + +
+ + + +
+

Properties

+ + +
+ + + +
+

Attributes

+ + +
+ + + +
+

Events

+ + +
+ +
+ + +
+

Methods

+ + +
+

_addAttrs

+ + +
+ (
    + +
  • + + cfgs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:836 + +

+ + + + + +
+ +
+

Implementation behind the public addAttrs method.

+ +

This method is invoked directly by get if it encounters a scenario +in which an attribute's valueFn attempts to obtain the +value an attribute in the same group of attributes, which has not yet +been added (on demand initialization).

+
+ + +
+

Parameters:

+ +
    + +
  • + + cfgs + Object + + + + +
    +

    An object with attribute name/configuration pairs.

    +
    + + +
  • + +
  • + + values + Object + + + + +
    +

    An object with attribute name/value pairs, defining the initial values to apply. +Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.

    +
    + + +
  • + +
  • + + lazy + Boolean + + + + +
    +

    Whether or not to delay the intialization of these attributes until the first call to get/set. +Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration. +See addAttr.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_addLazyAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + [lazyCfg] + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:382 + +

+ + + + + +
+ +
+

Finishes initializing an attribute which has been lazily added.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + Object + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + [lazyCfg] + Object + optional + + + + +
    +

    Optional config hash for the attribute. This is added for performance +along the critical path, where the calling method has already obtained lazy config from state.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_afterActiveViewChange

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:801 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handles the application's activeViewChange event (which is fired when the +activeView attribute changes) by detaching the old view, attaching the new +view.

+ +

The activeView attribute is read-only, so the public API to change its +value is through the showView() method.

+
+ + +
+

Parameters:

+ + +
+ + + + + +
+ + +
+

_afterContainerChange

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:357 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handles containerChange events. Detaches event handlers from the old +container (if any) and attaches them to the new container.

+ +

Right now the container attr is initOnly so this event should only ever +fire the first time the container is created, but in the future (once Y.App +can handle it) we may allow runtime container changes.

+
+ + + + + + +
+ + +
+

_afterHistoryChange

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1269 + +

+ + + + + +
+ +
+

Handles history:change and hashchange events.

+
+ + +
+

Parameters:

+ + +
+ + + + + +
+ + +
+

_aggregateAttrs

+ + +
+ (
    + +
  • + + allAttrs + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:575 + +

+ + + + + +
+ +
+

A helper method, used by _initHierarchyData to aggregate +attribute configuration across the instances class hierarchy.

+ +

The method will protect the attribute configuration value to protect the statically defined +default value in ATTRS if required (if the value is an object literal, array or the +attribute configuration has cloneDefaultValue set to shallow or deep).

+
+ + +
+

Parameters:

+ +
    + +
  • + + allAttrs + Array + + + + +
    +

    An array of ATTRS definitions across classes in the hierarchy +(subclass first, Base last)

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + The aggregate set of ATTRS definitions for the instance + +
+
+ + + +
+ + +
+

_attachView

+ + +
+ (
    + +
  • + + view + +
  • + +
  • + + prepend=false + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:434 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Helper method to attach the view instance to the application by making the +app a bubble target of the view, append the view to the viewContainer, and +assign it to the instance property of the associated view info metadata.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + View + + + + +
    +

    View to attach.

    +
    + + +
  • + +
  • + + prepend=false + Boolean + + + + +
    +

    Whether the view should be prepended instead + of appended to the viewContainer.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_attrCfgHash

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:538 + +

+ + + + + +
+ +
+

Utility method to define the attribute hash used to filter/whitelist property mixes for +this class for iteration performance reasons.

+
+ + + + + + +
+ + +
+

_baseDestroy

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:309 + +

+ + + + + +
+ +
+

Internal destroy implementation for BaseCore

+
+ + + + + + +
+ + +
+

_baseInit

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:281 + +

+ + + + + +
+ +
+

Internal initialization implementation for BaseCore

+
+ + + + + + +
+ + +
+

_cloneDefaultValue

+ + +
+ (
    + +
  • + + cfg + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:549 + +

+ + + + + +
+ +
+

This method assumes that the value has already been checked to be an object. +Since it's on a critical path, we don't want to re-do the check.

+
+ + +
+

Parameters:

+ +
    + +
  • + + cfg + Object + + + + +
    + +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_contentRoute

+ + +
+ (
    + +
  • + + req + +
  • + +
  • + + res + +
  • + +
  • + + next + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Content: + + + + app/js/app-extensions/app-content.js:180 + +

+ + + + + +

Available since 3.7.0

+ +
+ +
+

Provides a default content route which will show a server rendered view.

+ +

Note: This route callback assumes that it's called after the +loadContent() middleware.

+
+ + +
+

Parameters:

+ +
    + +
  • + + req + Object + + + + +
    +

    Request object.

    +
    + + +
  • + +
  • + + res + Object + + + + +
    +

    Response Object.

    +
    + + +
  • + +
  • + + next + Function + + + + +
    +

    Function to pass control to the next route callback.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_decode

+ + +
+ (
    + +
  • + + string + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:564 + +

+ + + + + +
+ +
+

Wrapper around decodeURIComponent that also converts + chars into +spaces.

+
+ + +
+

Parameters:

+ +
    + +
  • + + string + String + + + + +
    +

    String to decode.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Decoded string. + +
+
+ + + +
+ + +
+

_defAttrChangeFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeObservable: + + + + attribute/js/AttributeObservable.js:186 + +

+ + + + + +
+ +
+

Default function for attribute change events.

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    The event object for attribute change events.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_defDestroyFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:190 + +

+ + + + + +
+ +
+

Default destroy event handler

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    Event object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_defInitFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:178 + +

+ + + + + +
+ +
+

Default init event handler

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    Event object, with a cfg property which +refers to the configuration object passed to the constructor.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_defNavigateFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:300 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Default handler for the navigate event.

+ +

Adds a new history entry or replaces the current entry for the specified URL +and will scroll the page to the top if configured to do so.

+
+ + +
+

Parameters:

+ + +
+ + + + + +
+ + +
+

_defReadyFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1300 + +

+ + + + + +
+ +
+

Default handler for the ready event.

+
+ + +
+

Parameters:

+ + +
+ + + + + +
+ + +
+

_dequeue

+ + + () + + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:577 + +

+ + + + + +
+ +
+

Shifts the topmost _save() call off the queue and executes it. Does +nothing if the queue is empty.

+
+ + + + + + +
+ + +
+

_destroyContainer

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ +

Inherited from + + View + + + but overwritten in + + + + app/js/app-base.js:472 + +

+ + + + + +
+ +
+

Overrides View's container destruction to deal with the viewContainer and +checks to make sure not to remove and purge the <body>.

+
+ + + + + + +
+ + +
+

_destroyHierarchy

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:721 + +

+ + + + + +
+ +
+

Destroys the class hierarchy for this instance by invoking +the destructor method on the prototype of each class in the hierarchy.

+
+ + + + + + +
+ + +
+

_detachView

+ + +
+ (
    + +
  • + + view + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:514 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Helper method to detach the view instance from the application by removing +the application as a bubble target of the view, and either just removing the +view if it is intended to be preserved, or destroying the instance +completely.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + View + + + + +
    +

    View to detach.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_dispatch

+ + +
+ (
    + +
  • + + path + +
  • + +
  • + + url + +
  • + +
  • + + src + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:605 + +

+ + + + + +
+ +
+

Dispatches to the first route handler that matches the specified path.

+ +

If called before the ready event has fired, the dispatch will be aborted. +This ensures normalized behavior between Chrome (which fires a popstate +event on every pageview) and other browsers (which do not).

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String + + + + +
    +

    URL path.

    +
    + + +
  • + +
  • + + url + String + + + + +
    +

    Full URL.

    +
    + + +
  • + +
  • + + src + String + + + + +
    +

    What initiated the dispatch.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_filterAdHocAttrs

+ + +
+ (
    + +
  • + + allAttrs + +
  • + +
  • + + userVals + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:427 + +

+ + + + + +
+ +
+ +
+ + +
+

Parameters:

+ +
    + +
  • + + allAttrs + Object + + + + +
    +

    The set of all attribute configurations for this instance. +Attributes will be removed from this set, if they belong to the filtered class, so +that by the time all classes are processed, allCfgs will be empty.

    +
    + + +
  • + +
  • + + userVals + Object + + + + +
    +

    The config object passed in by the user, from which adhoc attrs are to be filtered.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + The set of adhoc attributes passed in, in the form +of an object with attribute name/configuration pairs. + +
+
+ + + +
+ + +
+

_filterAttrCfgs

+ + +
+ (
    + +
  • + + clazz + +
  • + +
  • + + allCfgs + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:356 + +

+ + + + + +
+ +
+

A helper method used when processing ATTRS across the class hierarchy during +initialization. Returns a disposable object with the attributes defined for +the provided class, extracted from the set of all attributes passed in.

+
+ + +
+

Parameters:

+ +
    + +
  • + + clazz + Function + + + + +
    +

    The class for which the desired attributes are required.

    +
    + + +
  • + +
  • + + allCfgs + Object + + + + +
    +

    The set of all attribute configurations for this instance. +Attributes will be removed from this set, if they belong to the filtered class, so +that by the time all classes are processed, allCfgs will be empty.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + The set of attributes belonging to the class passed in, in the form +of an object with attribute name/configuration pairs. + +
+
+ + + +
+ + +
+

_fireAttrChange

+ + +
+ (
    + +
  • + + attrName + +
  • + +
  • + + subAttrName + +
  • + +
  • + + currVal + +
  • + +
  • + + newVal + +
  • + +
  • + + opts + +
  • + +
  • + + [cfg] + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeObservable: + + + + attribute/js/AttributeObservable.js:120 + +

+ + + + + +
+ +
+

Utility method to help setup the event payload and fire the attribute change event.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrName + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + subAttrName + String + + + + +
    +

    The full path of the property being changed, +if this is a sub-attribute value being change. Otherwise null.

    +
    + + +
  • + +
  • + + currVal + Any + + + + +
    +

    The current value of the attribute

    +
    + + +
  • + +
  • + + newVal + Any + + + + +
    +

    The new value of the attribute

    +
    + + +
  • + +
  • + + opts + Object + + + + +
    +

    Any additional event data to mix into the attribute change event's event facade.

    +
    + + +
  • + +
  • + + [cfg] + Object + optional + + + + +
    +

    The attribute config stored in State, if already available.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_getAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Any + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:543 + +

+ + + + + +
+ +
+

Provides the common implementation for the public get method, +allowing Attribute hosts to over-ride either method.

+ +

See get for argument details.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Any: + + The value of the attribute. + +
+
+ + + +
+ + +
+

_getAttrCfg

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:114 + +

+ + + + + +
+ +
+

Returns an object with the configuration properties (and value) +for the given attribute. If attrName is not provided, returns the +configuration properties for all attributes.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    Optional. The attribute name. If not provided, the method will return the configuration for all attributes.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + The configuration properties for the given attribute, or all attributes. + +
+
+ + + +
+ + +
+

_getAttrCfgs

+ + + () + + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:339 + +

+ + + + + +
+ +
+

Returns an aggregated set of attribute configurations, by traversing +the class hierarchy.

+
+ + + + +
+

Returns:

+ +
+ + + Object: + + The hash of attribute configurations, aggregated across classes in the hierarchy +This value is cached the first time the method, or _getClasses, is invoked. Subsequent invocations return +the cached value. + +
+
+ + + +
+ + +
+

_getAttrInitVal

+ + +
+ (
    + +
  • + + attr + +
  • + +
  • + + cfg + +
  • + +
  • + + initValues + +
  • + +
) +
+ + + + + Any + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:945 + +

+ + + + + +
+ +
+

Returns the initial value of the given attribute from +either the default configuration provided, or the +over-ridden value if it exists in the set of initValues +provided and the attribute is not read-only.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attr + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + cfg + Object + + + + +
    +

    The attribute configuration object

    +
    + + +
  • + +
  • + + initValues + Object + + + + +
    +

    The object with simple and complex attribute name/value pairs returned from _normAttrVals

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Any: + + The initial value of the attribute. + +
+
+ + + +
+ + +
+

_getAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:774 + +

+ + + + + +
+ +
+

Implementation behind the public getAttrs method, to get multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Array | boolean + + + + +
    +

    Optional. An array of attribute names. If omitted, all attribute values are +returned. If set to true, all attributes modified from their initial values are returned.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + An object with attribute name/value pairs. + +
+
+ + + +
+ + +
+

_getClasses

+ + + () + + + + + Function[] + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:323 + +

+ + + + + +
+ +
+

Returns the class hierarchy for this object, with BaseCore being the last class in the array.

+
+ + + + +
+

Returns:

+ +
+ + + Function[]: + + An array of classes (constructor functions), making up the class hierarchy for this object. +This value is cached the first time the method, or _getAttrCfgs, is invoked. Subsequent invocations return the +cached value. + +
+
+ + + +
+ + +
+

_getContainer

+ + +
+ (
    + +
  • + + value + +
  • + +
) +
+ + + + + Node + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:323 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Getter for the container attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + value + Node | Null + + + + +
    +

    Current attribute value.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + Container node. + +
+
+ + + +
+ + +
+

_getFullType

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + String + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:586 + +

+ + + + + +
+ +
+

Returns the fully qualified type, given a short type string. +That is, returns "foo:bar" when given "bar" if "foo" is the configured prefix.

+ +

NOTE: This method, unlike _getType, does no checking of the value passed in, and +is designed to be used with the low level _publish() method, for critical path +implementations which need to fast-track publish for performance reasons.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The short type to prefix

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + The prefixed type, if a prefix is set, otherwise the type passed in + +
+
+ + + +
+ + +
+

_getHashPath

+ + +
+ (
    + +
  • + + [hash] + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:697 + +

+ + + + + +
+ +
+

Returns the resolved path from the hash fragment, or an empty string if the +hash is not path-like.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [hash] + String + optional + + + + +
    +

    Hash fragment to resolve into a path. By default this + will be the hash from the current URL.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Current hash path, or an empty string if the hash is empty. + +
+
+ + + +
+ + +
+

_getOrigin

+ + + () + + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:718 + +

+ + + + + +
+ +
+

Gets the location origin (i.e., protocol, host, and port) as a URL.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + Location origin (i.e., protocol, host, and port). + +
+
+ + + +
+

Example:

+ +
+
http://example.com
+
+
+
+ +
+ + +
+

_getPath

+ + + () + + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:733 + +

+ + + + + +
+ +
+

Gets the current route path, relative to the root (if any).

+
+ + + + +
+

Returns:

+ +
+ + + String: + + Current route path. + +
+
+ + + +
+ + +
+

_getPathRoot

+ + + () + + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:747 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Returns the current path root after popping off the last path segment, +making it useful for resolving other URL paths against.

+ +

The path root will always begin and end with a '/'.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + The URL's path root. + +
+
+ + + +
+ + +
+

_getQuery

+ + + () + + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:773 + +

+ + + + + +
+ +
+

Gets the current route query string.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + Current route query string. + +
+
+ + + +
+ + +
+

_getRegex

+ + +
+ (
    + +
  • + + path + +
  • + +
  • + + keys + +
  • + +
) +
+ + + + + RegExp + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:794 + +

+ + + + + +
+ +
+

Creates a regular expression from the given route specification. If path +is already a regex, it will be returned unmodified.

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String | RegExp + + + + +
    +

    Route path specification.

    +
    + + +
  • + +
  • + + keys + Array + + + + +
    +

    Array reference to which route parameter names will be + added.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + RegExp: + + Route regex. + +
+
+ + + +
+ + +
+

_getRequest

+ + +
+ (
    + +
  • + + path + +
  • + +
  • + + url + +
  • + +
  • + + src + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:829 + +

+ + + + + +
+ +
+

Gets a request object that can be passed to a route handler.

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String + + + + +
    +

    Current path being dispatched.

    +
    + + +
  • + +
  • + + url + String + + + + +
    +

    Current full URL being dispatched.

    +
    + + +
  • + +
  • + + src + String + + + + +
    +

    What initiated the dispatch.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Request object. + +
+
+ + + +
+ + +
+

_getResponse

+ + +
+ (
    + +
  • + + req + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:848 + +

+ + + + + +
+ +
+

Gets a response object that can be passed to a route handler.

+
+ + +
+

Parameters:

+ +
    + +
  • + + req + Object + + + + +
    +

    Request object.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Response Object. + +
+
+ + + +
+ + +
+

_getRoutes

+ + + () + + + + + Object[] + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:867 + +

+ + + + + +
+ +
+

Getter for the routes attribute.

+
+ + + + +
+

Returns:

+ +
+ + + Object[]: + + Array of route objects. + +
+
+ + + +
+ + +
+

_getStateVal

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + [cfg] + +
  • + +
) +
+ + + + + Any + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:600 + +

+ + + + + +
+ +
+

Gets the stored value for the attribute, from either the +internal state object, or the state proxy if it exits

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + [cfg] + Object + optional + + + + +
    +

    Optional config hash for the attribute. This is added for performance along the critical path, +where the calling method has already obtained the config from state.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Any: + + The stored value of the attribute + +
+
+ + + +
+ + +
+

_getType

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:36 + +

+ + + + + +
+ +
+

If the instance has a prefix attribute and the +event type is not prefixed, the instance prefix is +applied to the supplied type.

+
+ + + + + + +
+ + +
+

_getURL

+ + + () + + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:878 + +

+ + + + + +
+ +
+

Gets the current full URL.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + URL. + +
+
+ + + +
+ + +
+

_getViewContainer

+ + +
+ (
    + +
  • + + value + +
  • + +
) +
+ + + + + Node + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:555 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Getter for the viewContainer attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + value + Node | Null + + + + +
    +

    Current attribute value.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + View container node. + +
+
+ + + +
+ + +
+

_hasSameOrigin

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + Boolean + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:895 + +

+ + + + + +
+ +
+

Returns true when the specified url is from the same origin as the +current URL; i.e., the protocol, host, and port of the URLs are the same.

+ +

All host or path relative URLs are of the same origin. A scheme-relative URL +is first prefixed with the current scheme before being evaluated.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL to compare origin with the current URL.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + Whether the URL has the same origin of the current URL. + +
+
+ + + +
+ + +
+

_initAttrHost

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:140 + +

+ + + + + +
+ +
+

Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the +constructor.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    The attributes to add during construction (passed through to addAttrs). + These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.

    +
    + + +
  • + +
  • + + values + Object + + + + +
    +

    The initial attribute values to apply (passed through to addAttrs). + These are not merged/cloned. The caller is responsible for isolating user provided values if required.

    +
    + + +
  • + +
  • + + lazy + Boolean + + + + +
    +

    Whether or not to add attributes lazily (passed through to addAttrs).

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_initAttribute

+ + + () + + + + + + + + private + + + + + + + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + base/js/BaseCore.js:254 + +

+ + + + + +
+ +
+

Initializes AttributeCore

+
+ + + + + + +
+ + +
+

_initAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:1011 + +

+ + + + + +
+ +
+

Utility method to set up initial attributes defined during construction, +either through the constructor.ATTRS property, or explicitly passed in.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    The attributes to add during construction (passed through to addAttrs). + These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.

    +
    + + +
  • + +
  • + + values + Object + + + + +
    +

    The initial attribute values to apply (passed through to addAttrs). + These are not merged/cloned. The caller is responsible for isolating user provided values if required.

    +
    + + +
  • + +
  • + + lazy + Boolean + + + + +
    +

    Whether or not to add attributes lazily (passed through to addAttrs).

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_initBase

+ + +
+ (
    + +
  • + + config + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:219 + +

+ + + + + +
+ +
+

Internal construction logic for BaseCore.

+
+ + +
+

Parameters:

+ +
    + +
  • + + config + Object + + + + +
    +

    The constructor configuration object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_initHierarchy

+ + +
+ (
    + +
  • + + userVals + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:659 + +

+ + + + + +
+ +
+

Initializes the class hierarchy for the instance, which includes +initializing attributes for each class defined in the class's +static ATTRS property and +invoking the initializer method on the prototype of each class in the hierarchy.

+
+ + +
+

Parameters:

+ +
    + +
  • + + userVals + Object + + + + +
    +

    Object with configuration property name/value pairs

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_initHierarchyData

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:457 + +

+ + + + + +
+ +
+

A helper method used by _getClasses and _getAttrCfgs, which determines both +the array of classes and aggregate set of attribute configurations +across the class hierarchy for the instance.

+
+ + + + + + +
+ + +
+

_initHtml5

+ + + () + + + + + Boolean + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:580 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Provides the default value for the html5 attribute.

+ +

The value returned is dependent on the value of the serverRouting +attribute. When serverRouting is explicit set to false (not just falsy), +the default value for html5 will be set to false for all browsers.

+ +

When serverRouting is true or undefined the returned value will be +dependent on the browser's capability of using HTML5 history.

+
+ + + + +
+

Returns:

+ +
+ + + Boolean: + + Whether or not HTML5 history should be used. + +
+
+ + + +
+ + +
+

_isChildView

+ + +
+ (
    + +
  • + + view + +
  • + +
  • + + parent + +
  • + +
) +
+ + + + + Boolean + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:606 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Determines if the specified view is configured as a child of the specified +parent view. This requires both views to be either named-views, or view +instances created using configuration data that exists in the views +object, e.g. created by the createView() or showView() method.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + View | String + + + + +
    +

    The name of a view defined in the views object, + or a view instance.

    +
    + + +
  • + +
  • + + parent + View | String + + + + +
    +

    The name of a view defined in the views + object, or a view instance.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + Whether the view is configured as a child of the parent. + +
+
+ + + +
+ + +
+

_isLazyAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Boolean + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:369 + +

+ + + + + +
+ +
+

Checks whether or not the attribute is one which has been +added lazily and still requires initialization.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + true if it's a lazily added attribute, false otherwise. + +
+
+ + + +
+ + +
+

_isLinkSameOrigin

+ + +
+ (
    + +
  • + + link + +
  • + +
) +
+ + + + + Boolean + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:161 + +

+ + + + + +

Available since 3.6.0

+ +
+ +
+

Utility method to test whether a specified link/anchor node's href is of +the same origin as the page's current location.

+ +

This normalize browser inconsistencies with how the port is reported for +anchor elements (IE reports a value for the default port, e.g. "80").

+
+ + +
+

Parameters:

+ +
    + +
  • + + link + Node + + + + +
    +

    The anchor element to test whether its href is of the + same origin as the page's current location.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + Whether or not the link's href is of the same origin as + the page's current location. + +
+
+ + + +
+ + +
+

_isParentView

+ + +
+ (
    + +
  • + + view + +
  • + +
  • + + parent + +
  • + +
) +
+ + + + + Boolean + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:632 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Determines if the specified view is configured as the parent of the +specified child view. This requires both views to be either named-views, +or view instances created using configuration data that exists in the +views object, e.g. created by the createView() or showView() method.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + View | String + + + + +
    +

    The name of a view defined in the views object, + or a view instance.

    +
    + + +
  • + +
  • + + parent + View | String + + + + +
    +

    The name of a view defined in the views + object, or a view instance.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + Whether the view is configured as the parent of the child. + +
+
+ + + +
+ + +
+

_joinURL

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:918 + +

+ + + + + +
+ +
+

Joins the root URL to the specified url, normalizing leading/trailing +/ characters.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL to append to the root URL.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Joined URL. + +
+
+ + + +
+

Example:

+ +
+
router.set('root', '/foo');
+router._joinURL('bar');  // => '/foo/bar'
+router._joinURL('/bar'); // => '/foo/bar'
+
+router.set('root', '/foo/');
+router._joinURL('bar');  // => '/foo/bar'
+router._joinURL('/bar'); // => '/foo/bar'
+
+
+
+ +
+ + +
+

_monitor

+ + +
+ (
    + +
  • + + what + +
  • + +
  • + + eventType + +
  • + +
  • + + o + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:658 + +

+ + + + + +
+ +
+

This is the entry point for the event monitoring system. +You can monitor 'attach', 'detach', 'fire', and 'publish'. +When configured, these events generate an event. click -> +clickattach, clickdetach, click_publish -- these can +be subscribed to like other events to monitor the event +system. Inividual published events can have monitoring +turned on or off (publish can't be turned off before it +it published) by setting the events 'monitor' config.

+
+ + +
+

Parameters:

+ +
    + +
  • + + what + String + + + + +
    +

    'attach', 'detach', 'fire', or 'publish'

    +
    + + +
  • + +
  • + + eventType + String | CustomEvent + + + + +
    +

    The prefixed name of the event being monitored, or the CustomEvent object.

    +
    + + +
  • + +
  • + + o + Object + + + + +
    +

    Information about the event interaction, such as + fire() args, subscription category, publish config

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_navigate

+ + +
+ (
    + +
  • + + url + +
  • + +
  • + + [options] + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ +

Inherited from + + PjaxBase + + + but overwritten in + + + + app/js/app-base.js:658 + +

+ + + + + +
+ +
+

Underlying implementation for navigate().

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    The fully-resolved URL that the app should dispatch to + its route handlers to fulfill the enhanced navigation "request", or use to + update window.location in non-HTML5 history capable browsers when + serverRouting is true.

    +
    + + +
  • + +
  • + + [options] + Object + optional + + + + +
    +

    Additional options to configure the navigation. + These are mixed into the navigate event facade.

    +
    + + +
      + +
    • + + [replace] + Boolean + optional + + +
      +

      Whether or not the current history + entry will be replaced, or a new entry will be created. Will default + to true if the specified url is the same as the current URL.

      +
      + + +
    • + +
    • + + [force] + Boolean + optional + + +
      +

      Whether the enhanced navigation + should occur even in browsers without HTML5 history. Will default to + true when serverRouting is falsy.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

_normalizePath

+ + +
+ (
    + +
  • + + path + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:951 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Returns a normalized path, ridding it of any '..' segments and properly +handling leading and trailing slashes.

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String + + + + +
    +

    URL path to normalize.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Normalized path. + +
+
+ + + +
+ + +
+

_normAttrVals

+ + +
+ (
    + +
  • + + valueHash + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:897 + +

+ + + + + +
+ +
+

Utility method to normalize attribute values. The base implementation +simply merges the hash to protect the original.

+
+ + +
+

Parameters:

+ +
    + +
  • + + valueHash + Object + + + + +
    +

    An object with attribute name/value pairs

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + An object literal with 2 properties - "simple" and "complex", +containing simple and complex attribute values respectively keyed +by the top level attribute name, or null, if valueHash is falsey. + +
+
+ + + +
+ + +
+

_onLinkClick

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:325 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handler for delegated link-click events which match the linkSelector.

+ +

This will attempt to enhance the navigation to the link element's href by +passing the URL to the _navigate() method. When the navigation is being +enhanced, the default action is prevented.

+ +

If the user clicks a link with the middle/right mouse buttons, or is holding +down the Ctrl or Command keys, this method's behavior is not applied and +allows the native behavior to occur. Similarly, if the router is not capable +or handling the URL because no route-handlers match, the link click will +behave natively.

+
+ + +
+

Parameters:

+ + +
+ + + + + +
+ + +
+

_onPjaxIOComplete

+ + +
+ (
    + +
  • + + id + +
  • + +
  • + + ioResponse + +
  • + +
  • + + details + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:159 + +

+ + + + + +

Available since 3.7.0

+ +
+ +
+

Handles IO complete events.

+ +

This parses the content from the Y.io() response and puts it on the +route's response object.

+
+ + +
+

Parameters:

+ +
    + +
  • + + id + String + + + + +
    +

    The Y.io transaction id.

    +
    + + +
  • + +
  • + + ioResponse + Object + + + + +
    +

    The Y.io response object.

    +
    + + +
  • + +
  • + + details + Object + + + + +
    +

    Extra details carried through from loadContent().

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_onPjaxIOEnd

+ + +
+ (
    + +
  • + + id + +
  • + +
  • + + details + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:189 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handles IO end events.

+
+ + +
+

Parameters:

+ +
    + +
  • + + id + String + + + + +
    +

    The Y.io transaction id.

    +
    + + +
  • + +
  • + + details + Object + + + + +
    +

    Extra details carried through from loadContent().

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_parseQuery

+ + +
+ (
    + +
  • + + query + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:993 + +

+ + + + + +
+ +
+

Parses a URL query string into a key/value hash. If Y.QueryString.parse is +available, this method will be an alias to that.

+
+ + +
+

Parameters:

+ +
    + +
  • + + query + String + + + + +
    +

    Query string to parse.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Hash of key/value pairs for query parameters. + +
+
+ + + +
+ + +
+

_parseType

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:52 + +

+ + + + + +
+ +
+

Returns an array with the detach key (if provided), +and the prefixed event name from _getType +Y.on('detachcategory| menu:click', fn)

+
+ + + + + + +
+ + +
+

_pjaxBindUI

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:279 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Binds the delegation of link-click events that match the linkSelector to +the _onLinkClick() handler.

+ +

By default this method will only be called if the browser is capable of +using HTML5 history.

+
+ + + + + + +
+ + +
+

_preInitEventCfg

+ + +
+ (
    + +
  • + + config + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:98 + +

+ + + + + +
+ +
+

Handles the special on, after and target properties which allow the user to +easily configure on and after listeners as well as bubble targets during +construction, prior to init.

+
+ + +
+

Parameters:

+ +
    + +
  • + + config + Object + + + + +
    +

    The user configuration object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_protectAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
) +
+ + + + + Object + + + + + deprecated + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:883 + +

+ + + +

Deprecated: Use `AttributeCore.protectAttrs()` or + `Attribute.protectAttrs()` which are the same static utility method.

+ + + +
+ +
+

Utility method to protect an attribute configuration +hash, by merging the entire object and the individual +attr config objects.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    A hash of attribute to configuration object pairs.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A protected version of the attrs argument. + +
+
+ + + +
+ + +
+

_publish

+ + +
+ (
    + +
  • + + fullType + +
  • + +
  • + + etOpts + +
  • + +
  • + + ceOpts + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:610 + +

+ + + + + +
+ +
+

The low level event publish implementation. It expects all the massaging to have been done +outside of this method. e.g. the type to fullType conversion. It's designed to be a fast +path publish, which can be used by critical code paths to improve performance.

+
+ + +
+

Parameters:

+ +
    + +
  • + + fullType + String + + + + +
    +

    The prefixed type of the event to publish.

    +
    + + +
  • + +
  • + + etOpts + Object + + + + +
    +

    The EventTarget specific configuration to mix into the published event.

    +
    + + +
  • + +
  • + + ceOpts + Object + + + + +
    +

    The publish specific configuration to mix into the published event.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + CustomEvent: + + The published event. If called without etOpts or ceOpts, this will +be the default CustomEvent instance, and can be configured independently. + +
+
+ + + +
+ + +
+

_queue

+ + + () + + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1021 + +

+ + + + + +
+ +
+

Queues up a _save() call to run after all previously-queued calls have +finished.

+ +

This is necessary because if we make multiple _save() calls before the +first call gets dispatched, then both calls will dispatch to the last call's +URL.

+ +

All arguments passed to _queue() will be passed on to _save() when the +queued function is executed.

+
+ + + + + + +
+ + +
+

_resolvePath

+ + +
+ (
    + +
  • + + path + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1066 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Returns the normalized result of resolving the path against the current +path. Falsy values for path will return just the current path.

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String + + + + +
    +

    URL path to resolve.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Resolved path. + +
+
+ + + +
+ + +
+

_resolveURL

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1088 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Resolves the specified URL against the current URL.

+ +

This method resolves URLs like a browser does and will always return an +absolute URL. When the specified URL is already absolute, it is assumed to +be fully resolved and is simply returned as is. Scheme-relative URLs are +prefixed with the current protocol. Relative URLs are giving the current +URL's origin and are resolved and normalized against the current path root.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL to resolve.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Resolved URL. + +
+
+ + + +
+ + +
+

_save

+ + +
+ (
    + +
  • + + [url] + +
  • + +
  • + + [replace=false] + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + chainable + + + + +
+ +

Inherited from + + Router + + + but overwritten in + + + + app/js/app-base.js:688 + +

+ + + + + +
+ +
+

Will either save a history entry using pushState() or the location hash, +or gracefully-degrade to sending a request to the server causing a full-page +reload.

+ +

Overrides Router's _save() method to preform graceful-degradation when the +app's serverRouting is true and html5 is false by updating the full +URL via standard assignment to window.location or by calling +window.location.replace(); both of which will cause a request to the +server resulting in a full-page reload.

+ +

Otherwise this will just delegate off to Router's _save() method allowing +the client-side enhanced routing to occur.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [url] + String + optional + + + + +
    +

    URL for the history entry.

    +
    + + +
  • + +
  • + + [replace=false] + Boolean + optional + + + + +
    +

    If true, the current history entry will + be replaced instead of a new one being added.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_set

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + val + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:427 + +

+ + + + + +
+ +
+

Allows setting of readOnly/writeOnce attributes. See set for argument details.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute.

    +
    + + +
  • + +
  • + + val + Any + + + + +
    +

    The value to set the attribute to.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
  • + + [opts] + +
  • + +
  • + + force + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:443 + +

+ + + + + +
+ +
+

Provides the common implementation for the public set and protected _set methods.

+ +

See set for argument details.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute.

    +
    + + +
  • + +
  • + + value + Any + + + + +
    +

    The value to set the attribute to.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
  • + + force + Boolean + + + + +
    +

    If true, allows the caller to set values for +readOnly or writeOnce attributes which have already been set.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:742 + +

+ + + + + +
+ +
+

Implementation behind the public setAttrs method, to set multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    An object with attributes name/value pairs.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttrVal

+ + +
+ (
    + +
  • + + attrName + +
  • + +
  • + + subAttrName + +
  • + +
  • + + prevVal + +
  • + +
  • + + newVal + +
  • + +
  • + + [opts] + +
  • + +
  • + + [attrCfg] + +
  • + +
) +
+ + + + + Booolean + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:640 + +

+ + + + + +
+ +
+

Updates the stored value of the attribute in the privately held State object, +if validation and setter passes.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrName + String + + + + +
    +

    The attribute name.

    +
    + + +
  • + +
  • + + subAttrName + String + + + + +
    +

    The sub-attribute name, if setting a sub-attribute property ("x.y.z").

    +
    + + +
  • + +
  • + + prevVal + Any + + + + +
    +

    The currently stored value of the attribute.

    +
    + + +
  • + +
  • + + newVal + Any + + + + +
    +

    The value which is going to be stored.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
  • + + [attrCfg] + Object + optional + + + + +
    +

    Optional config hash for the attribute. This is added for performance along the critical path, +where the calling method has already obtained the config from state.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Booolean: + + true if the new attribute value was stored, false if not. + +
+
+ + + +
+ + +
+

_setRoutes

+ + +
+ (
    + +
  • + + routes + +
  • + +
) +
+ + + + + Object[] + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1203 + +

+ + + + + +
+ +
+

Setter for the routes attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + routes + Object[] + + + + +
    +

    Array of route objects.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object[]: + + Array of route objects. + +
+
+ + + +
+ + +
+

_setStateVal

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:622 + +

+ + + + + +
+ +
+

Sets the stored value for the attribute, in either the +internal state object, or the state proxy if it exits

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + value + Any + + + + +
    +

    The value of the attribute

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_setTransitions

+ + +
+ (
    + +
  • + + transitions + +
  • + +
) +
+ + + + + Mixed + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Transitions: + + + + app/js/app-extensions/app-transitions.js:207 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Setter for transitions attribute.

+ +

When specified as true, the defaults will be use as specified by the +transitions prototype property.

+
+ + +
+

Parameters:

+ +
    + +
  • + + transitions + Boolean | Object + + + + +
    +

    The new transitions attribute value.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Mixed: + + The processed value which represents the new state. + +
+
+ + + +
+ + +
+

_uiSetActiveView

+ + +
+ (
    + +
  • + + newView + +
  • + +
  • + + [oldView] + +
  • + +
  • + + [options] + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:741 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Performs the actual change of this app's activeView by attaching the +newView to this app, and detaching the oldView from this app using any +specified options.

+ +

The newView is attached to the app by rendering it to the viewContainer, +and making this app a bubble target of its events.

+ +

The oldView is detached from the app by removing it from the +viewContainer, and removing this app as a bubble target for its events. +The oldView will either be preserved or properly destroyed.

+ +

Note: The activeView attribute is read-only and can be changed by +calling the showView() method.

+
+ + +
+

Parameters:

+ +
    + +
  • + + newView + View + + + + +
    +

    The View which is now this app's activeView.

    +
    + + +
  • + +
  • + + [oldView] + View + optional + + + + +
    +

    The View which was this app's activeView.

    +
    + + +
  • + +
  • + + [options] + Object + optional + + + + +
    +

    Optional object containing any of the following + properties:

    +
    + + +
      + +
    • + + [callback] + Function + optional + + +
      +

      Optional callback function to call + after new activeView is ready to use, the function will be passed:

      +
      + + +
        + +
      • + + view + View + + +
        + A reference to the new + activeView. +
        +
      • + +
      + +
    • + +
    • + + [prepend=false] + Boolean + optional + + +
      +

      Whether the view should be + prepended instead of appended to the viewContainer.

      +
      + + +
    • + +
    • + + [render] + Boolean + optional + + +
      +

      Whether the view should be rendered. + Note: If no value is specified, a view instance will only be + rendered if it's newly created by this method.

      +
      + + +
    • + +
    • + + [update=false] + Boolean + optional + + +
      +

      Whether an existing view should + have its attributes updated by passing the config object to its + setAttrs() method. Note: This option does not have an effect if + the view instance is created as a result of calling this method.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

_upgradeURL

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1224 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Upgrades a hash-based URL to a full-path URL, if necessary.

+ +

The specified url will be upgraded if its of the same origin as the +current URL and has a path-like hash. URLs that don't need upgrading will be +returned as-is.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    The URL to upgrade from hash-based to full-path.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + The upgraded URL, or the specified URL untouched. + +
+
+ + + +
+

Example:

+ +
+
app._upgradeURL('http://example.com/#/foo/'); // => 'http://example.com/foo/';
+
+
+
+ +
+ + +
+

addAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + config + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:157 + +

+ + + + + +
+ +
+

+Adds an attribute with the provided configuration to the host object. +

+ +

+The config argument object supports the following properties: +

+ +
+
value <Any>
+
The initial value to set on the attribute
+ +
valueFn <Function | String>
+
+

A function, which will return the initial value to set on the attribute. This is useful + for cases where the attribute configuration is defined statically, but needs to + reference the host instance ("this") to obtain an initial value. If both the value and valueFn properties are defined, + the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which + case the value property is used.

+ +

valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.

+
+ +
readOnly <boolean>
+
Whether or not the attribute is read only. Attributes having readOnly set to true + cannot be modified by invoking the set method.
+ +
writeOnce <boolean> or <string>
+
+ Whether or not the attribute is "write once". Attributes having writeOnce set to true, + can only have their values set once, be it through the default configuration, + constructor configuration arguments, or by invoking set. +

The writeOnce attribute can also be set to the string "initOnly", + in which case the attribute can only be set during initialization + (when used with Base, this means it can only be set during construction)

+
+ +
setter <Function | String>
+
+

The setter function used to massage or normalize the value passed to the set method for the attribute. + The value returned by the setter will be the final stored value. Returning + Attribute.INVALID_VALUE, from the setter will prevent + the value from being stored. +

+ +

setter can also be set to a string, representing the name of the instance method to be used as the setter function.

+
+ +
getter <Function | String>
+
+

+ The getter function used to massage or normalize the value returned by the get method for the attribute. + The value returned by the getter function is the value which will be returned to the user when they + invoke get. +

+ +

getter can also be set to a string, representing the name of the instance method to be used as the getter function.

+
+ +
validator <Function | String>
+
+

+ The validator function invoked prior to setting the stored value. Returning + false from the validator function will prevent the value from being stored. +

+ +

validator can also be set to a string, representing the name of the instance method to be used as the validator function.

+
+ +
lazyAdd <boolean>
+
Whether or not to delay initialization of the attribute until the first call to get/set it. + This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through + the addAttrs method.
+ +
+ +

The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with +the context ("this") set to the host object.

+ +

Configuration properties outside of the list mentioned above are considered private properties used internally by attribute, +and are not intended for public use.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute.

    +
    + + +
  • + +
  • + + config + Object + + + + +
    +

    An object with attribute configuration property/value pairs, specifying the configuration for the attribute.

    + +

    +NOTE: The configuration object is modified when adding an attribute, so if you need +to protect the original values, you will need to merge the object. +

    +
    + + +
  • + +
  • + + lazy + Boolean + + + + +
    +

    (optional) Whether or not to add this attribute lazily (on the first call to get/set).

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

addAttrs

+ + +
+ (
    + +
  • + + cfgs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:805 + +

+ + + + + +
+ +
+

Configures a group of attributes, and sets initial values.

+ +

+NOTE: This method does not isolate the configuration object by merging/cloning. +The caller is responsible for merging/cloning the configuration object if required. +

+
+ + +
+

Parameters:

+ +
    + +
  • + + cfgs + Object + + + + +
    +

    An object with attribute name/configuration pairs.

    +
    + + +
  • + +
  • + + values + Object + + + + +
    +

    An object with attribute name/value pairs, defining the initial values to apply. +Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.

    +
    + + +
  • + +
  • + + lazy + Boolean + + + + +
    +

    Whether or not to delay the intialization of these attributes until the first call to get/set. +Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration. +See addAttr.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

addTarget

+ + +
+ (
    + +
  • + + o + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:455 + +

+ + + + + +
+ +
+

Registers another EventTarget as a bubble target. Bubble order +is determined by the order registered. Multiple targets can +be specified.

+ +

Events can only bubble if emitFacade is true.

+ +

Included in the event-custom-complex submodule.

+
+ + +
+

Parameters:

+ +
    + +
  • + + o + EventTarget + + + + +
    +

    the target to add

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

after

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:833 + +

+ + + + + +
+ +
+

Subscribe to a custom event hosted by this object. The +supplied callback will execute after any listeners add +via the subscribe method, and after the default function, +if configured for the event, has executed.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The name of the event

    +
    + + +
  • + +
  • + + fn + Function + + + + +
    +

    The callback to execute in response to the event

    +
    + + +
  • + +
  • + + [context] + Object + optional + + + + +
    +

    Override this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching the + subscription + +
+
+ + + +
+ + +
+

attachEvents

+ + +
+ (
    + +
  • + + [events] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:181 + +

+ + + + + +
+ +
+

Attaches delegated event handlers to this view's container element. This +method is called internally to subscribe to events configured in the +events attribute when the view is initialized.

+ +

You may override this method to customize the event attaching logic.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [events] + Object + optional + + + + +
    +

    Hash of events to attach. See the docs for the + events attribute for details on the format. If not specified, this + view's events property will be used.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

attrAdded

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:341 + +

+ + + + + +
+ +
+

Checks if the given attribute has been added to the host

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute to check.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + true if an attribute with the given name has been added, false if it hasn't. + This method will return true for lazily added attributes. + +
+
+ + + +
+ + +
+

before

+ + + () + + + + + + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:870 + +

+ + + + + +
+ +
+

Executes the callback before a DOM event, custom event +or method. If the first argument is a function, it +is assumed the target is a method. For DOM and custom +events, this is an alias for Y.on.

+ +

For DOM and custom events: +type, callback, context, 0-n arguments

+ +

For methods: +callback, object (method host), methodName, context, 0-n arguments

+
+ + + + +
+

Returns:

+ +
+ + + detach handle + +
+
+ + + +
+ + +
+

bubble

+ + +
+ (
    + +
  • + + evt + +
  • + +
) +
+ + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:507 + +

+ + + + + +
+ +
+

Propagate an event. Requires the event-custom-complex module.

+
+ + +
+

Parameters:

+ +
    + +
  • + + evt + CustomEvent + + + + +
    +

    the custom event to propagate

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + the aggregated return value from Event.Custom.fire + +
+
+ + + +
+ + +
+

create

+ + +
+ (
    + +
  • + + [container] + +
  • + +
) +
+ + + + + Node + + + + + + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:233 + +

+ + + + + +
+ +
+

Creates and returns a container node for this view.

+ +

By default, the container is created from the HTML template specified in the +containerTemplate property, and is not added to the DOM automatically.

+ +

You may override this method to customize how the container node is created +(such as by rendering it from a custom template format). Your method must +return a Y.Node instance.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [container] + HTMLElement | Node | String + optional + + + + +
    +

    Selector string, Y.Node + instance, or DOM element to use at the container node.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + Node instance of the created container node. + +
+
+ + + +
+ + +
+

createView

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + [config] + +
  • + +
) +
+ + + + + View + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:185 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Creates and returns a new view instance using the provided name to look up +the view info metadata defined in the views object. The passed-in config +object is passed to the view constructor function.

+ +

This function also maps a view instance back to its view info metadata.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of a view defined on the views object.

    +
    + + +
  • + +
  • + + [config] + Object + optional + + + + +
    +

    The configuration object passed to the view + constructor function when creating the new view instance.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + View: + + The new view instance. + +
+
+ + + +
+ + +
+

destroy

+ + +
+ (
    + +
  • + + [options] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + app/js/view.js:146 + +

+ + + + + +
+ +
+

Destroys this View, detaching any DOM events and optionally also destroying +its container node.

+ +

By default, the container node will not be destroyed. Pass an options +object with a truthy remove property to destroy the container as well.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [options] + Object + optional + + + + +
    +

    Options.

    +
    + + +
      + +
    • + + [remove=false] + Boolean + optional + + +
      +

      If true, this View's container + will be removed from the DOM and destroyed as well.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

detach

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + context + +
  • + +
) +
+ + + + + EventTarget + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:346 + +

+ + + + + +
+ +
+

Detach one or more listeners the from the specified event

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String | Object + + + + +
    +

    Either the handle to the subscriber or the + type of event. If the type + is not specified, it will attempt to remove + the listener from all hosted events.

    +
    + + +
  • + +
  • + + fn + Function + + + + +
    +

    The subscribed function to unsubscribe, if not + supplied, all subscribers will be removed.

    +
    + + +
  • + +
  • + + context + Object + + + + +
    +

    The custom object passed to subscribe. This is + optional, but if supplied will be used to + disambiguate multiple listeners that are the same + (e.g., you subscribe many object using a function + that lives on the prototype)

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventTarget: + + the host + +
+
+ + + +
+ + +
+

detachAll

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:469 + +

+ + + + + +
+ +
+

Removes all listeners from the specified event. If the event type +is not specified, all listeners from all hosted custom events will +be removed.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The type, or name of the event

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

detachEvents

+ + + () + + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:253 + +

+ + + + + +
+ +
+

Detaches DOM events that have previously been attached to the container by +attachEvents().

+
+ + + + + + +
+ + +
+

dispatch

+ + + () + + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:206 + +

+ + + + + +
+ +
+

Dispatches to the first route handler that matches the current URL, if any.

+ +

If dispatch() is called before the ready event has fired, it will +automatically wait for the ready event before dispatching. Otherwise it +will dispatch immediately.

+
+ + + + + + +
+ + +
+

fire

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + arguments + +
  • + +
) +
+ + + + + EventTarget + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:695 + +

+ + + + + +
+ +
+

Fire a custom event by name. The callback functions will be executed +from the context specified when the event was created, and with the +following parameters.

+ +

If the custom event object hasn't been created, then the event hasn't +been published and it has no subscribers. For performance sake, we +immediate exit in this case. This means the event won't bubble, so +if the intention is that a bubble target be notified, the event must +be published on this object first.

+ +

The first argument is the event type, and any additional arguments are +passed to the listeners as parameters. If the first of these is an +object literal, and the event is configured to emit an event facade, +that object is mixed into the event facade and the facade is provided +in place of the original object.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String | Object + + + + +
    +

    The type of the event, or an object that contains +a 'type' property.

    +
    + + +
  • + +
  • + + arguments + Object* + + + + +
    +

    an arbitrary set of parameters to pass to +the handler. If the first of these is an object literal and the event is +configured to emit an event facade, the event facade will replace that +parameter after the properties the object literal contains are copied to +the event facade.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventTarget: + + the event host + +
+
+ + + +
+ + +
+

get

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Any + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:353 + +

+ + + + + +
+ +
+

Returns the current value of the attribute. If the attribute +has been configured with a 'getter' function, this method will delegate +to the 'getter' to obtain the value of the attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute. If the value of the attribute is an Object, +dot notation can be used to obtain the value of a property of the object (e.g. get("x.y.z"))

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Any: + + The value of the attribute + +
+
+ + + +
+ + +
+

getAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:762 + +

+ + + + + +
+ +
+

Gets multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Array | boolean + + + + +
    +

    Optional. An array of attribute names. If omitted, all attribute values are +returned. If set to true, all attributes modified from their initial values are returned.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + An object with attribute name/value pairs. + +
+
+ + + +
+ + +
+

getContent

+ + +
+ (
    + +
  • + + responseText + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:38 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Extracts and returns the relevant HTML content from an Ajax response. The +content is extracted using the contentSelector attribute as a CSS +selector. If contentSelector is null, the entire response will be +returned.

+ +

The return value is an object containing two properties:

+ +
    +
  • node: A Y.Node instance for a document fragment containing the +extracted HTML content.

  • +
  • title: The title of the HTML page, if any, extracted using the +titleSelector attribute (which defaults to looking for a <title> +element). If titleSelector is not set or if a title could not be +found, this property will be undefined.

  • +
+
+ + +
+

Parameters:

+ +
    + +
  • + + responseText + String + + + + +
    +

    Raw Ajax response text.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Content object with the properties described above. + +
+
+ + + +
+ + +
+

getEvent

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + prefixed + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:814 + +

+ + + + + +
+ +
+

Returns the custom event of the provided type has been created, a +falsy value otherwise

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    the type, or name of the event

    +
    + + +
  • + +
  • + + prefixed + String + + + + +
    +

    if true, the type is prefixed already

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + CustomEvent: + + the custom event or null + +
+
+ + + +
+ + +
+

getPath

+ + + () + + + + + String + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:228 + +

+ + + + + +
+ +
+

Gets the current route path, relative to the root (if any).

+
+ + + + +
+

Returns:

+ +
+ + + String: + + Current route path. + +
+
+ + + +
+ + +
+

getTargets

+ + + () + + + + + + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:479 + +

+ + + + + +
+ +
+

Returns an array of bubble targets for this object.

+
+ + + + +
+

Returns:

+ +
+ + + EventTarget[] + +
+
+ + + +
+ + +
+

getViewInfo

+ + +
+ (
    + +
  • + + view + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:215 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Returns the metadata associated with a view instance or view name defined on +the views object.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + View | String + + + + +
    +

    View instance, or name of a view defined on the + views object.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + The metadata for the view, or undefined if the view is + not registered. + +
+
+ + + +
+ + +
+

hasRoute

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:238 + +

+ + + + + +
+ +
+

Returns true if this router has at least one route that matches the +specified URL, false otherwise.

+ +

This method enforces the same-origin security constraint on the specified +url; any URL which is not from the same origin as the current URL will +always return false.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL to match.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + true if there's at least one matching route, false + otherwise. + +
+
+ + + +
+ + +
+

init

+ + +
+ (
    + +
  • + + cfg + +
  • + +
) +
+ + + + + BaseCore + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + base/js/BaseCore.js:264 + +

+ + + + + +
+ +
+

Init lifecycle method, invoked during construction. Sets up attributes +and invokes initializers for the class hierarchy.

+
+ + +
+

Parameters:

+ +
    + +
  • + + cfg + Object + + + + +
    +

    Object with configuration property name/value pairs

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + BaseCore: + + A reference to this object + +
+
+ + + +
+ + +
+

loadContent

+ + +
+ (
    + +
  • + + req + +
  • + +
  • + + res + +
  • + +
  • + + next + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:83 + +

+ + + + + +

Available since 3.7.0

+ +
+ +
+

Pjax route middleware to load content from a server. This makes an Ajax +request for the requested URL, parses the returned content and puts it on +the route's response object.

+ +

This is route middleware and not intended to be the final callback for a +route. This will add the following information to the route's request and +response objects:

+ +
    +
  • req.ioURL: The full URL that was used to make the Y.io() XHR. This +may contain "pjax=1" if the addPjaxParam option is set.

  • +
  • res.content: An object containing node and title properties for +the content extracted from the server's response. See getContent() for +more details.

  • +
  • res.ioResponse: The full Y.io() response object. This is useful if +you need access to the XHR's response status or HTTP headers.

  • +
+
+ + +
+

Parameters:

+ +
    + +
  • + + req + Object + + + + +
    +

    Request object.

    +
    + + +
  • + +
  • + + res + Object + + + + +
    +

    Response Object.

    +
    + + +
  • + +
  • + + next + Function + + + + +
    +

    Function to pass control to the next route callback.

    +
    + + +
  • + +
+
+ + + + + +
+

Example:

+ +
+
router.route('/foo/', 'loadContent', function (req, res, next) {
+    Y.one('container').setHTML(res.content.node);
+    Y.config.doc.title = res.content.title;
+});
+
+
+
+ +
+ + +
+

match

+ + +
+ (
    + +
  • + + path + +
  • + +
) +
+ + + + + Object[] + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:267 + +

+ + + + + +
+ +
+

Returns an array of route objects that match the specified URL path.

+ +

This method is called internally to determine which routes match the current +path whenever the URL changes. You may override it if you want to customize +the route matching logic, although this usually shouldn't be necessary.

+ +

Each returned route object has the following properties:

+ +
    +
  • callback: A function or a string representing the name of a function +this router that should be executed when the route is triggered.

  • +
  • keys: An array of strings representing the named parameters defined in +the route's path specification, if any.

  • +
  • path: The route's path specification, which may be either a string or +a regex.

  • +
  • regex: A regular expression version of the route's path specification. +This regex is used to determine whether the route matches a given path.

  • +
+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String + + + + +
    +

    URL path to match.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object[]: + + Array of route objects that match the specified path. + +
+
+ + + +
+

Example:

+ +
+
router.route('/foo', function () {});
+router.match('/foo');
+// => [{callback: ..., keys: [], path: '/foo', regex: ...}]
+
+
+
+ +
+ + +
+

modifyAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + config + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:40 + +

+ + + + + +
+ +
+

Updates the configuration of an attribute which has already been added.

+ +

+The properties which can be modified through this interface are limited +to the following subset of attributes, which can be safely modified +after a value has already been set on the attribute: readOnly, writeOnce, +broadcast and getter. +

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute whose configuration is to be updated.

    +
    + + +
  • + +
  • + + config + Object + + + + +
    +

    An object with configuration property/value pairs, specifying the configuration properties to modify.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

navigate

+ + +
+ (
    + +
  • + + url + +
  • + +
  • + + [options] + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ +

Inherited from + + PjaxBase + + + but overwritten in + + + + app/js/app-base.js:234 + +

+ + + + + +
+ +
+

Navigates to the specified URL if there is a route handler that matches. In +browsers capable of using HTML5 history or when serverRouting is falsy, +the navigation will be enhanced by firing the navigate event and having +the app handle the "request". When serverRouting is true, non-HTML5 +browsers will navigate to the new URL via a full page reload.

+ +

When there is a route handler for the specified URL and it is being +navigated to, this method will return true, otherwise it will return +false.

+ +

Note: The specified URL must be of the same origin as the current URL, +otherwise an error will be logged and navigation will not occur. This is +intended as both a security constraint and a purposely imposed limitation as +it does not make sense to tell the app to navigate to a URL on a +different scheme, host, or port.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    The URL to navigate to. This must be of the same origin + as the current URL.

    +
    + + +
  • + +
  • + + [options] + Object + optional + + + + +
    +

    Additional options to configure the navigation. + These are mixed into the navigate event facade.

    +
    + + +
      + +
    • + + [replace] + Boolean + optional + + +
      +

      Whether or not the current history + entry will be replaced, or a new entry will be created. Will default + to true if the specified url is the same as the current URL.

      +
      + + +
    • + +
    • + + [force] + Boolean + optional + + +
      +

      Whether the enhanced navigation + should occur even in browsers without HTML5 history. Will default to + true when serverRouting is falsy.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

on

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:188 + +

+ + + + + +
+ +
+

Subscribe a callback function to a custom event fired by this object or +from an object that bubbles its events to this object.

+ +

Callback functions for events published with emitFacade = true will +receive an EventFacade as the first argument (typically named "e"). +These callbacks can then call e.preventDefault() to disable the +behavior published to that event's defaultFn. See the EventFacade +API for all available properties and methods. Subscribers to +non-emitFacade events will receive the arguments passed to fire() +after the event name.

+ +

To subscribe to multiple events at once, pass an object as the first +argument, where the key:value pairs correspond to the eventName:callback, +or pass an array of event names as the first argument to subscribe to +all listed events with the same callback.

+ +

Returning false from a callback is supported as an alternative to +calling e.preventDefault(); e.stopPropagation();. However, it is +recommended to use the event methods whenever possible.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The name of the event

    +
    + + +
  • + +
  • + + fn + Function + + + + +
    +

    The callback to execute in response to the event

    +
    + + +
  • + +
  • + + [context] + Object + optional + + + + +
    +

    Override this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching that + subscription + +
+
+ + + +
+ + +
+

once

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:124 + +

+ + + + + +
+ +
+

Listen to a custom event hosted by this object one time. +This is the equivalent to on except the +listener is immediatelly detached when it is executed.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The name of the event

    +
    + + +
  • + +
  • + + fn + Function + + + + +
    +

    The callback to execute in response to the event

    +
    + + +
  • + +
  • + + [context] + Object + optional + + + + +
    +

    Override this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching the + subscription + +
+
+ + + +
+ + +
+

onceAfter

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:146 + +

+ + + + + +
+ +
+

Listen to a custom event hosted by this object one time. +This is the equivalent to after except the +listener is immediatelly detached when it is executed.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The name of the event

    +
    + + +
  • + +
  • + + fn + Function + + + + +
    +

    The callback to execute in response to the event

    +
    + + +
  • + +
  • + + [context] + Object + optional + + + + +
    +

    Override this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching that + subscription + +
+
+ + + +
+ + +
+

parseType

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + [pre=this._yuievt.config.prefix] + +
  • + +
) +
+ + + + + Array + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:168 + +

+ + + + + +

Available since 3.3.0

+ +
+ +
+

Takes the type parameter passed to 'on' and parses out the +various pieces that could be included in the type. If the +event type is passed without a prefix, it will be expanded +to include the prefix one is supplied or the event target +is configured with a default prefix.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    the type

    +
    + + +
  • + +
  • + + [pre=this._yuievt.config.prefix] + String + optional + + + + +
    +

    the prefix

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Array: + + an array containing: + * the detach category, if supplied, + * the prefixed event type, + * whether or not this is an after listener, + * the supplied event type + +
+
+ + + +
+ + +
+

publish

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + opts + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:493 + +

+ + + + + +
+ +
+

Creates a new custom event of the specified type. If a custom event +by that name already exists, it will not be re-created. In either +case the custom event is returned.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    the type, or name of the event

    +
    + + +
  • + +
  • + + opts + Object + + + + +
    +

    optional config params. Valid properties are:

    + +

      +
    • + 'broadcast': whether or not the YUI instance and YUI global are notified when the event is fired (false) +
    • +
    • + 'bubbles': whether or not this event bubbles (true) + Events can only bubble if emitFacade is true. +
    • +
    • + 'context': the default execution context for the listeners (this) +
    • +
    • + 'defaultFn': the default function to execute when this event fires if preventDefault was not called +
    • +
    • + 'emitFacade': whether or not this event emits a facade (false) +
    • +
    • + 'prefix': the prefix for this targets events, e.g., 'menu' in 'menu:click' +
    • +
    • + 'fireOnce': if an event is configured to fire once, new subscribers after + the fire will be notified immediately. +
    • +
    • + 'async': fireOnce event listeners will fire synchronously if the event has already + fired unless async is true. +
    • +
    • + 'preventable': whether or not preventDefault() has an effect (true) +
    • +
    • + 'preventedFn': a function that is executed when preventDefault is called +
    • +
    • + 'queuable': whether or not this event can be queued during bubbling (false) +
    • +
    • + 'silent': if silent is true, debug messages are not provided for this event. +
    • +
    • + 'stoppedFn': a function that is executed when stopPropagation is called +
    • + +

    • + 'monitored': specifies whether or not this event should send notifications about + when the event has been attached, detached, or published. +
    • +
    • + 'type': the event type (valid option if not provided as the first parameter to publish) +
    • +

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + CustomEvent: + + the custom event + +
+
+ + + +
+ + +
+

remove

+ + + () + + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:272 + +

+ + + + + +
+ +
+

Removes this view's container element from the DOM (if it's in the DOM), +but doesn't destroy it or any event listeners attached to it.

+
+ + + + + + +
+ + +
+

removeAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:79 + +

+ + + + + +
+ +
+

Removes an attribute from the host object

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute to be removed.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

removeQuery

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + String + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:325 + +

+ + + + + +
+ +
+

Removes a query string from the end of the url (if one exists) and returns +the result.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Queryless path. + +
+
+ + + +
+ + +
+

removeRoot

+ + +
+ (
    + +
  • + + url + +
  • + +
) +
+ + + + + String + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:303 + +

+ + + + + +
+ +
+

Removes the root URL from the front of url (if it's there) and returns +the result. The returned path will always have a leading /.

+
+ + +
+

Parameters:

+ +
    + +
  • + + url + String + + + + +
    +

    URL.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + Rootless path. + +
+
+ + + +
+ + +
+

removeTarget

+ + +
+ (
    + +
  • + + o + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:489 + +

+ + + + + +
+ +
+

Removes a bubble target

+
+ + +
+

Parameters:

+ +
    + +
  • + + o + EventTarget + + + + +
    +

    the target to remove

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

render

+ + + () + + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + View + + + but overwritten in + + + + app/js/app-base.js:266 + +

+ + + + + +
+ +
+

Renders this application by appending the viewContainer node to the +container node if it isn't already a child of the container, and the +activeView will be appended the view container, if it isn't already.

+ +

You should call this method at least once, usually after the initialization +of your app instance so the proper DOM structure is setup and optionally +append the container to the DOM if it's not there already.

+ +

You may override this method to customize the app's rendering, but you +should expect that the viewContainer's contents will be modified by the +app for the purpose of rendering the activeView when it changes.

+
+ + + + + + +
+ + +
+

replace

+ + +
+ (
    + +
  • + + [url] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:337 + +

+ + + + + +
+ +
+

Replaces the current browser history entry with a new one, and dispatches to +the first matching route handler, if any.

+ +

Behind the scenes, this method uses HTML5 pushState() in browsers that +support it (or the location hash in older browsers and IE) to change the +URL.

+ +

The specified URL must share the same origin (i.e., protocol, host, and +port) as the current page, or an error will occur.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [url] + String + optional + + + + +
    +

    URL to set. This URL needs to be of the same origin as + the current URL. This can be a URL relative to the router's root + attribute. If no URL is specified, the page's current URL will be used.

    +
    + + +
  • + +
+
+ + + + + +
+

Example:

+ +
+
// Starting URL: http://example.com/
+
+router.replace('/path/');
+// New URL: http://example.com/path/
+
+router.replace('/path?foo=bar');
+// New URL: http://example.com/path?foo=bar
+
+router.replace('/');
+// New URL: http://example.com/
+
+
+
+ +
+ + +
+

reset

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:89 + +

+ + + + + +
+ +
+

Resets the attribute (or all attributes) to its initial value, as long as +the attribute is not readOnly, or writeOnce.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    Optional. The name of the attribute to reset. If omitted, all attributes are reset.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

route

+ + +
+ (
    + +
  • + + path + +
  • + +
  • + + callbacks + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:371 + +

+ + + + + +
+ +
+

Adds a route handler for the specified URL path.

+ +

The path parameter may be either a string or a regular expression. If it's +a string, it may contain named parameters: :param will match any single +part of a URL path (not including / characters), and *param will match +any number of parts of a URL path (including / characters). These named +parameters will be made available as keys on the req.params object that's +passed to route handlers.

+ +

If the path parameter is a regex, all pattern matches will be made +available as numbered keys on req.params, starting with 0 for the full +match, then 1 for the first subpattern match, and so on.

+ +

Here's a set of sample routes along with URL paths that they match:

+ +
    +
  • Route: /photos/:tag/:page

    + +
    • URL: /photos/kittens/1, params: {tag: 'kittens', page: '1'}
    • +
    • URL: /photos/puppies/2, params: {tag: 'puppies', page: '2'}
  • +
  • Route: /file/*path

    + +
    • URL: /file/foo/bar/baz.txt, params: {path: 'foo/bar/baz.txt'}
    • +
    • URL: /file/foo, params: {path: 'foo'}
  • +
+ +

Middleware: Routes also support an arbitrary number of callback +functions. This allows you to easily reuse parts of your route-handling code +with different route. This method is liberal in how it processes the +specified callbacks, you can specify them as separate arguments, or as +arrays, or both.

+ +

If multiple route match a given URL, they will be executed in the order they +were added. The first route that was added will be the first to be executed.

+ +

Passing Control: Invoking the next() function within a route callback +will pass control to the next callback function (if any) or route handler +(if any). If a value is passed to next(), it's assumed to be an error, +therefore stopping the dispatch chain, unless that value is: "route", +which is special case and dispatching will skip to the next route handler. +This allows middleware to skip any remaining middleware for a particular +route.

+
+ + +
+

Parameters:

+ +
    + +
  • + + path + String | RegExp + + + + +
    +

    Path to match. May be a string or a regular + expression.

    +
    + + +
  • + +
  • + + callbacks + Array | Function | String + + + + multiple + + +
    +

    Callback functions to call + whenever this route is triggered. These can be specified as separate + arguments, or in arrays, or both. If a callback is specified as a + string, the named function will be called on this router instance.

    +
    + + +
      + +
    • + + req + Object + + +
      +

      Request object containing information about + the request. It contains the following properties.

      +
      + + +
        + +
      • + + params + Array | Object + + +
        + Captured parameters matched by + the route path specification. If a string path was used and contained + named parameters, then this will be a key/value hash mapping parameter + names to their matched values. If a regex path was used, this will be + an array of subpattern matches starting at index 0 for the full match, + then 1 for the first subpattern match, and so on. +
        +
      • + +
      • + + path + String + + +
        + The current URL path. +
        +
      • + +
      • + + pendingCallbacks + Number + + +
        + Number of remaining + callbacks the route handler has after this one in the dispatch chain. +
        +
      • + +
      • + + pendingRoutes + Number + + +
        + Number of matching routes + after this one in the dispatch chain. +
        +
      • + +
      • + + query + Object + + +
        + Query hash representing the URL + query string, if any. Parameter names are keys, and are mapped to + parameter values. +
        +
      • + +
      • + + url + String + + +
        + The full URL. +
        +
      • + +
      • + + src + String + + +
        + What initiated the dispatch. In an + HTML5 browser, when the back/forward buttons are used, this property + will have a value of "popstate". +
        +
      • + +
      + +
    • + +
    • + + res + Object + + +
      +

      Response object containing methods and + information that relate to responding to a request. It contains the + following properties.

      +
      + + +
        + +
      • + + req + Object + + +
        + Reference to the request object. +
        +
      • + +
      + +
    • + +
    • + + next + Function + + +
      +

      Function to pass control to the next + callback or the next matching route if no more callbacks (middleware) + exist for the current route handler. If you don't call this function, + then no further callbacks or route handlers will be executed, even if + there are more that match. If you do call this function, then the next + callback (if any) or matching route handler (if any) will be called. + All of these functions will receive the same req and res objects + that were passed to this route (so you can use these objects to pass + data along to subsequent callbacks and routes).

      +
      + + +
        + +
      • + + [err] + String + optional + + +
        + Optional error which will stop the + dispatch chaining for this req, unless the value is "route", which + is special cased to jump skip past any callbacks for the current route + and pass control the next route handler. +
        +
      • + +
      + +
    • + +
    + +
  • + +
+
+ + + + + +
+

Example:

+ +
+
router.route('/photos/:tag/:page', function (req, res, next) {
+  Y.log('Current tag: ' + req.params.tag);
+  Y.log('Current page number: ' + req.params.page);
+});
+
+// Using middleware.
+
+router.findUser = function (req, res, next) {
+    req.user = this.get('users').findById(req.params.user);
+    next();
+};
+
+router.route('/users/:user', 'findUser', function (req, res, next) {
+    // The findUser middleware puts the user object on the req.
+    Y.log('Current user:' req.user.get('name'));
+});
+
+
+
+ +
+ + +
+

save

+ + +
+ (
    + +
  • + + [url] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:498 + +

+ + + + + +
+ +
+

Saves a new browser history entry and dispatches to the first matching route +handler, if any.

+ +

Behind the scenes, this method uses HTML5 pushState() in browsers that +support it (or the location hash in older browsers and IE) to change the +URL and create a history entry.

+ +

The specified URL must share the same origin (i.e., protocol, host, and +port) as the current page, or an error will occur.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [url] + String + optional + + + + +
    +

    URL to set. This URL needs to be of the same origin as + the current URL. This can be a URL relative to the router's root + attribute. If no URL is specified, the page's current URL will be used.

    +
    + + +
  • + +
+
+ + + + + +
+

Example:

+ +
+
// Starting URL: http://example.com/
+
+router.save('/path/');
+// New URL: http://example.com/path/
+
+router.save('/path?foo=bar');
+// New URL: http://example.com/path?foo=bar
+
+router.save('/');
+// New URL: http://example.com/
+
+
+
+ +
+ + +
+

set

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:410 + +

+ + + + + +
+ +
+

Sets the value of an attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute. If the +current value of the attribute is an Object, dot notation can be used +to set the value of a property within the object (e.g. set("x.y.z", 5)).

    +
    + + +
  • + +
  • + + value + Any + + + + +
    +

    The value to set the attribute to.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

setAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:729 + +

+ + + + + +
+ +
+

Sets multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    An object with attributes name/value pairs.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

showContent

+ + +
+ (
    + +
  • + + content + +
  • + +
  • + + [options] + +
  • + +
  • + + [callback] + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Content: + + + + app/js/app-extensions/app-content.js:75 + +

+ + + + + +

Available since 3.7.0

+ +
+ +
+

Sets this app's activeView attribute using the specified content.

+ +

This provides an easy way to view-ify HTML content which should be shown as +this app's active/visible view. This method will determine the appropriate +view container node based on the specified content. By default, a new +Y.View instance will be created unless options.view is specified.

+ +

Under the hood, this method calls the showView() method, so refer to its +docs for more information.

+
+ + +
+

Parameters:

+ +
    + +
  • + + content + HTMLElement | Node | String + + + + +
    +

    The content to show, it may be + provided as a selector string, a DOM element, or a Y.Node instance.

    +
    + + +
  • + +
  • + + [options] + Object + optional + + + + +
    +

    Optional objects containing any of the following + properties in addition to any showView() options:

    +
    + + +
      + +
    • + + [view] + Object | String + optional + + +
      +

      The name of a view defined in this + app's views, or an object with the following properties:

      +
      + + +
        + +
      • + + name + String + + +
        + The name of a view defined in this + app's views. +
        +
      • + +
      • + + [config] + Object + optional + + +
        + Optional configuration to use when + creating the new view instance. This config object can also be used + to update an existing or preserved view's attributes when + options.update is true. **Note:** If a container is specified, + it will be overridden by the content specified in the first + argument. +
        +
      • + +
      + +
    • + +
    + +
  • + +
  • + + [callback] + Function + optional + + + + +
    +

    Optional callback function to call after the + new activeView is ready to use. Note: this will override + options.callback and it can be specified as either the second or third + argument. The function will be passed the following:

    +
    + + +
      + +
    • + + view + View + + +
      +

      A reference to the new activeView.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

showView

+ + +
+ (
    + +
  • + + view + +
  • + +
  • + + [config] + +
  • + +
  • + + [options] + +
  • + +
  • + + [callback] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + App.Base + + + but overwritten in + + + + app/js/app-extensions/app-transitions.js:132 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Sets which view is active/visible for the application. This will set the +app's activeView attribute to the specified view.

+ +

The view will be "attached" to this app, meaning it will be both rendered +into this app's viewContainer node and all of its events will bubble to +the app. The previous activeView will be "detached" from this app.

+ +

When a string-name is provided for a view which has been registered on this +app's views object, the referenced metadata will be used and the +activeView will be set to either a preserved view instance, or a new +instance of the registered view will be created using the specified config +object passed-into this method.

+ +

A callback function can be specified as either the third or fourth argument, +and this function will be called after the new view becomes the +activeView, is rendered to the viewContainer, and is ready to use.

+
+ + +
+

Parameters:

+ +
    + +
  • + + view + String | View + + + + +
    +

    The name of a view defined in the views object, + or a view instance which should become this app's activeView.

    +
    + + +
  • + +
  • + + [config] + Object + optional + + + + +
    +

    Optional configuration to use when creating a new + view instance. This config object can also be used to update an existing + or preserved view's attributes when options.update is true.

    +
    + + +
  • + +
  • + + [options] + Object + optional + + + + +
    +

    Optional object containing any of the following + properties:

    +
    + + +
      + +
    • + + [callback] + Function + optional + + +
      +

      Optional callback function to call + after new activeView is ready to use, the function will be passed:

      +
      + + +
        + +
      • + + view + View + + +
        + A reference to the new + activeView. +
        +
      • + +
      + +
    • + +
    • + + [prepend=false] + Boolean + optional + + +
      +

      Whether the view should be + prepended instead of appended to the viewContainer.

      +
      + + +
    • + +
    • + + [render] + Boolean + optional + + +
      +

      Whether the view should be rendered. + Note: If no value is specified, a view instance will only be + rendered if it's newly created by this method.

      +
      + + +
    • + +
    • + + [transition] + Boolean | String + optional + + +
      +

      Optional transition override. + A transition can be specified which will override the default, or + false for no transition.

      +
      + + +
    • + +
    • + + [update=false] + Boolean + optional + + +
      +

      Whether an existing view should + have its attributes updated by passing the config object to its + setAttrs() method. Note: This option does not have an effect if + the view instance is created as a result of calling this method.

      +
      + + +
    • + +
    + +
  • + +
  • + + [callback] + Function + optional + + + + +
    +

    Optional callback Function to call after the + new activeView is ready to use. Note: this will override + options.callback and it can be specified as either the third or fourth + argument. The function will be passed the following:

    +
    + + +
      + +
    • + + view + View + + +
      +

      A reference to the new activeView.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+

Example:

+ +
+
var app = new Y.App({
+    views: {
+        usersView: {
+            // Imagine that Y.UsersView has been defined.
+            type: Y.UsersView
+        }
+    },
+
+    transitions: true,
+    users      : new Y.ModelList()
+});
+
+app.route('/users/', function () {
+    this.showView('usersView', {users: this.get('users')});
+});
+
+app.render();
+app.navigate('/uses/');
+// => Creates a new Y.UsersView and transitions to it.
+
+
+
+ +
+ + +
+

subscribe

+ + + () + + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:336 + +

+ + + +

Deprecated: use on

+ + + +
+ +
+

subscribe to an event

+
+ + + + + + +
+ + +
+

toString

+ + + () + + + + + String + + + + + + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:754 + +

+ + + + + +
+ +
+

Default toString implementation. Provides the constructor NAME +and the instance guid, if set.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + String representation for this object + +
+
+ + + +
+ + +
+

unsubscribe

+ + + () + + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:459 + +

+ + + +

Deprecated: use detach

+ + + +
+ +
+

detach a listener

+
+ + + + + + +
+ + +
+

unsubscribeAll

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:480 + +

+ + + +

Deprecated: use detachAll

+ + + +
+ +
+

Removes all listeners from the specified event. If the event type +is not specified, all listeners from all hosted custom events will +be removed.

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    The type, or name of the event

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

upgrade

+ + + () + + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:532 + +

+ + + + + +
+ +
+

Upgrades a hash-based URL to an HTML5 URL if necessary. In non-HTML5 +browsers, this method is a noop.

+
+ + + + +
+

Returns:

+ +
+ + + Boolean: + + true if the URL was upgraded, false otherwise. + +
+
+ + + +
+ + +
+ + + +
+

Properties

+ + +
+

_allowAdHocAttrs

+ Boolean + + + + + protected + + + + + + +
+ +

Inherited from + + BaseCore + + + but overwritten in + + + + app/js/view.js:111 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

This tells Y.Base that it should create ad-hoc attributes for config +properties passed to View's constructor. This makes it possible to +instantiate a view and set a bunch of attributes without having to subclass +Y.View and declare all those attributes first.

+
+ + +

Default: true

+ + + + + +
+ + +
+

_dispatched

+ Boolean + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:64 + +

+ + + + +
+ +
+

Whether or not _dispatch() has been called since this router was +instantiated.

+
+ + +

Default: undefined

+ + + + + +
+ + +
+

_dispatching

+ Boolean + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:74 + +

+ + + + +
+ +
+

Whether or not we're currently in the process of dispatching to routes.

+
+ + +

Default: undefined

+ + + + + +
+ + +
+

_historyEvents

+ EventHandle + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:83 + +

+ + + + +
+ +
+

History event handle for the history:change or hashchange event +subscription.

+
+ + + + + + +
+ + +
+

_html5

+ Boolean + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:92 + +

+ + + + +
+ +
+

Cached copy of the html5 attribute for internal use.

+
+ + + + + + +
+ + +
+

_pjaxEvents

+ EventHandle + + + + + protected + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:69 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Holds the delegated pjax-link click handler.

+
+ + + + + + +
+ + +
+

_ready

+ Boolean + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:100 + +

+ + + + +
+ +
+

Whether or not the ready event has fired yet.

+
+ + +

Default: undefined

+ + + + + +
+ + +
+

_regexPathParam

+ RegExp + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:109 + +

+ + + + +
+ +
+

Regex used to match parameter placeholders in route paths.

+ +

Subpattern captures:

+ +
    +
  1. Parameter prefix character. Either a : for subpath parameters that + should only match a single level of a path, or * for splat parameters + that should match any number of path levels.

  2. +
  3. Parameter name, if specified, otherwise it is a wildcard match.

  4. +
+
+ + + + + + +
+ + +
+

_regexURL

+ RegExp + + + + + protected + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:78 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Regex used to break up a URL string around the URL's path.

+ +

Subpattern captures:

+ +
    +
  1. Origin, everything before the URL's path-part.
  2. +
  3. The URL's path-part.
  4. +
  5. Suffix, everything after the URL's path-part.
  6. +
+
+ + + + + + +
+ + +
+

_regexUrlOrigin

+ RegExp + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:136 + +

+ + + + +
+ +
+

Regex that matches everything before the path portion of a URL (the origin). +This will be used to strip this part of the URL from a string when we +only want the path.

+
+ + + + + + +
+ + +
+

_regexUrlQuery

+ RegExp + + + + + protected + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:126 + +

+ + + + +
+ +
+

Regex that matches and captures the query portion of a URL, minus the +preceding ? character, and discarding the hash portion of the URL if any.

+
+ + + + + + +
+ + +
+

_viewInfoMap

+ Object + + + + + protected + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:134 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Map of view instance id (via Y.stamp()) to view-info object in views.

+ +

This mapping is used to tie a specific view instance back to its metadata by +adding a reference to the the related view info on the views object.

+
+ + +

Default: {}

+ + + + + +
+ + +
+

CLASS_NAMES

+ Object + + + + + + + + + static + + +
+ + + +

+ + Defined in + + + + + app/js/app-base.js:1071 + +

+ + + + +

Available since 3.6.0

+ +
+ +
+

CSS classes used by Y.App.

+
+ + +

Default: {}

+ + + + + +
+ + +
+

containerTemplate

+ String + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:40 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Template for this view's container.

+
+ + +

Default: "<div/>"

+ + + + + +
+ + +
+

events

+ Object + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:50 + +

+ + + + +
+ +
+

Hash of CSS selectors mapped to events to delegate to elements matching +those selectors.

+ +

CSS selectors are relative to the container element. Events are attached +to the container, and delegation is used so that subscribers are only +notified of events that occur on elements inside the container that match +the specified selectors. This allows the container's contents to be re- +rendered as needed without losing event subscriptions.

+ +

Event handlers can be specified either as functions or as strings that map +to function names on this view instance or its prototype.

+ +

The this object in event handlers will refer to this view instance. If +you'd prefer this to be something else, use Y.bind() to bind a custom +this object.

+
+ + +

Default: {}

+ + + +
+

Example:

+ +
+
var view = new Y.View({
+    events: {
+        // Call this.toggle() whenever the element with the id
+        // "toggle-button" is clicked.
+        '#toggle-button': {click: 'toggle'},
+
+        // Call this.hoverOn() when the mouse moves over any element
+        // with the "hoverable" class, and this.hoverOff() when the
+        // mouse moves out of any element with the "hoverable" class.
+        '.hoverable': {
+            mouseover: 'hoverOn',
+            mouseout : 'hoverOff'
+        }
+    }
+});
+
+
+
+ + + +
+ + +
+

name

+ String + + + deprecated + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:242 + +

+ + +

Deprecated: Use this.constructor.NAME

+ + + +
+ +
+

The string used to identify the class of this object.

+
+ + + + + + +
+ + +
+

serverRouting

+ Boolean + + + + + + + + + static + + +
+ + + +

+ + Defined in + + + + + app/js/app-base.js:1085 + +

+ + + + +

Available since 3.6.0

+ +
+ +
+

Default serverRouting attribute value for all apps.

+
+ + +

Default: undefined

+ + + + + +
+ + +
+

template

+ Mixed + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:91 + +

+ + + + +
+ +
+

Template for this view's contents.

+ +

This is a convenience property that has no default behavior of its own. +It's only provided as a convention to allow you to store whatever you +consider to be a template, whether that's an HTML string, a Y.Node +instance, a Mustache template, or anything else your little heart +desires.

+ +

How this template gets used is entirely up to you and your custom +render() method.

+
+ + +

Default: ''

+ + + + + +
+ + +
+

transitions

+ Object + + + + + + + + + +
+ + +

Inherited from + App.Transitions: + + + + app/js/app-extensions/app-transitions.js:94 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Default transitions to use when the activeView changes.

+ +

The following are types of changes for which transitions can be defined that +correspond to the relationship between the new and previous activeView:

+ +
    +
  • navigate: The default transition to use when changing the activeView +of the application.

  • +
  • toChild: The transition to use when the new activeView is configured +as a child of the previously active view via its parent property as +defined in this app's views.

  • +
  • toParent: The transition to use when the new activeView is +configured as the parent of the previously active view as defined in +this app's views.

  • +
+ +

Note: Transitions are an opt-in feature and will only be used in +browsers which support native CSS3 transitions.

+
+ + +

Default: { + navigate: 'fade', + toChild : 'slideLeft', + toParent: 'slideRight' + }

+ + + + + +
+ + +
+

views

+ Object + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:76 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Hash of view-name to metadata used to declaratively describe an +application's views and their relationship with the app and its other views.

+ +

The view metadata is composed of Objects keyed to a view-name that can have +any or all of the following properties:

+ +
    +
  • type: Function or a string representing the view constructor to use to +create view instances. If a string is used, the constructor function is +assumed to be on the Y object; e.g. "SomeView" -> Y.SomeView.

  • +
  • preserve: Boolean for whether the view instance should be retained. By +default, the view instance will be destroyed when it is no longer the +activeView. If true the view instance will simply be removed() +from the DOM when it is no longer active. This is useful when the view +is frequently used and may be expensive to re-create.

  • +
  • parent: String to another named view in this hash that represents the +parent view within the application's view hierarchy; e.g. a "photo" +view could have "album" has its parent view. This parent/child +relationship is a useful cue for things like transitions.

  • +
  • instance: Used internally to manage the current instance of this named +view. This can be used if your view instance is created up-front, or if +you would rather manage the View lifecycle, but you probably should just +let this be handled for you.

  • +
+ +

If views are specified at instantiation time, the metadata in the views +Object here will be used as defaults when creating the instance's views.

+ +

Every Y.App instance gets its own copy of a views object so this Object +on the prototype will not be polluted.

+
+ + +

Default: {}

+ + + +
+

Example:

+ +
+
// Imagine that Y.UsersView and Y.UserView have been defined.
+var app = new Y.App({
+    views: {
+        users: {
+            type    : Y.UsersView,
+            preserve: true
+        },
+
+        user: {
+            type  : Y.UserView,
+            parent: 'users'
+        }
+    }
+});
+
+
+
+ + + +
+ + +
+ + + +
+

Attributes

+ + +
+ +

activeView

+ View + + + + + + + + + + + + + + + readonly + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:819 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

The application's active/visible view.

+ +

This attribute is read-only, to set the activeView use the +showView() method.

+
+ + +

Default: null

+ + + +
+

Fires event activeViewChange

+ +

+ Fires when the value for the configuration attribute activeView is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

addPjaxParam

+ Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:204 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

If true, a "pjax=1" query parameter will be appended to all URLs +requested via Pjax.

+ +

Browsers ignore HTTP request headers when caching content, so if the +same URL is used to request a partial Pjax page and a full page, the +browser will cache them under the same key and may later load the +cached partial page when the user actually requests a full page (or vice +versa).

+ +

To prevent this, we can add a bogus query parameter to the URL so that +Pjax URLs will always be cached separately from non-Pjax URLs.

+
+ + +

Default: true

+ + + +
+

Fires event addPjaxParamChange

+ +

+ Fires when the value for the configuration attribute addPjaxParam is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

container

+ HTMLElement | Node | String + + + + + + + + + + + + + + + +
+ +

Inherited from + + View + + + but overwritten in + + + + app/js/app-base.js:837 + +

+ + + + +
+ +
+

Container node which represents the application's bounding-box, into +which this app's content will be rendered.

+ +

The container node serves as the host for all DOM events attached by the +app. Delegation is used to handle events on children of the container, +allowing the container's contents to be re-rendered at any time without +losing event subscriptions.

+ +

The default container is the <body> Node, but you can override this in +a subclass, or by passing in a custom container config value at +instantiation time.

+ +

When container is overridden by a subclass or passed as a config +option at instantiation time, it may be provided as a selector string, a +DOM element, or a Y.Node instance. During initialization, this app's +create() method will be called to convert the container into a +Y.Node instance if it isn't one already and stamp it with the CSS +class: "yui3-app".

+ +

The container is not added to the page automatically. This allows you to +have full control over how and when your app is actually rendered to +the page.

+
+ + +

Default: Y.one('body')

+ + + +
+

Fires event containerChange

+ +

+ Fires when the value for the configuration attribute container is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

contentSelector

+ String + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:226 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

CSS selector used to extract a specific portion of the content of a page +loaded via Pjax.

+ +

For example, if you wanted to load the page example.html but only use +the content within an element with the id "pjax-content", you'd set +contentSelector to "#pjax-content".

+ +

If not set, the entire page will be used.

+
+ + +

Default: null

+ + + +
+

Fires event contentSelectorChange

+ +

+ Fires when the value for the configuration attribute contentSelector is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

destroyed

+ Boolean + + + + + + + + + + + + + + + readonly + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:157 + +

+ + + + +
+ +
+

Flag indicating whether or not this object +has been through the destroy lifecycle phase.

+
+ + +

Default: false

+ + + +
+

Fires event destroyedChange

+ +

+ Fires when the value for the configuration attribute destroyed is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

html5

+ Boolean + + + + + + + + + + + + + + + +
+ +

Inherited from + + Router + + + but overwritten in + + + + app/js/app-base.js:872 + +

+ + + + +
+ +
+

Whether or not this browser is capable of using HTML5 history.

+ +

This value is dependent on the value of serverRouting and will default +accordingly.

+ +

Setting this to false will force the use of hash-based history even on +HTML5 browsers, but please don't do this unless you understand the +consequences.

+
+ + + + +
+

Fires event html5Change

+ +

+ Fires when the value for the configuration attribute html5 is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

initialized

+ Boolean + + + + + + + + + + + + + + + readonly + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:143 + +

+ + + + +
+ +
+

Flag indicating whether or not this object +has been through the init lifecycle phase.

+
+ + +

Default: false

+ + + +
+

Fires event initializedChange

+ +

+ Fires when the value for the configuration attribute initialized is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

linkSelector

+ String | Function + + + + + + + + + + + + + + + +
+ +

Inherited from + + PjaxBase + + + but overwritten in + + + + app/js/app-base.js:891 + +

+ + + + +
+ +
+

CSS selector string used to filter link click events so that only the +links which match it will have the enhanced-navigation behavior of pjax +applied.

+ +

When a link is clicked and that link matches this selector, navigating +to the link's href URL using the enhanced, pjax, behavior will be +attempted; and the browser's default way to navigate to new pages will +be the fallback.

+ +

By default this selector will match all links on the page.

+
+ + +

Default: "a"

+ + + +
+

Fires event linkSelectorChange

+ +

+ Fires when the value for the configuration attribute linkSelector is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

navigateOnHash

+ Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:401 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Whether navigating to a hash-fragment identifier on the current page should +be enhanced and cause the navigate event to fire.

+ +

By default Pjax allows the browser to perform its default action when a user +is navigating within a page by clicking in-page links +(e.g. <a href="#top">Top of page</a>) and does not attempt to interfere or +enhance in-page navigation.

+
+ + +

Default: false

+ + + +
+

Fires event navigateOnHashChange

+ +

+ Fires when the value for the configuration attribute navigateOnHash is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

root

+ String + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1336 + +

+ + + + +
+ +
+

Absolute root path from which all routes should be evaluated.

+ +

For example, if your router is running on a page at +http://example.com/myapp/ and you add a route with the path /, your +route will never execute, because the path will always be preceded by +/myapp. Setting root to /myapp would cause all routes to be +evaluated relative to that root URL, so the / route would then execute +when the user browses to http://example.com/myapp/.

+
+ + +

Default: `''`

+ + + +
+

Fires event rootChange

+ +

+ Fires when the value for the configuration attribute root is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

routes

+ Object[] + + + + + + + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:1354 + +

+ + + + +
+ +
+

Array of route objects.

+ +

Each item in the array must be an object with the following properties:

+ +
    +
  • path: String or regex representing the path to match. See the docs +for the route() method for more details.

  • +
  • callbacks: Function or a string representing the name of a +function on this router instance that should be called when the +route is triggered. An array of functions and/or strings may also be +provided. See the docs for the route() method for more details.

  • +
+ +

This attribute is intended to be used to set routes at init time, or to +completely reset all routes after init. To add routes after init without +resetting all existing routes, use the route() method.

+
+ + +

Default: `[]`

+ + + +
+

Fires event routesChange

+ +

+ Fires when the value for the configuration attribute routes is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

scrollToTop

+ Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:419 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Whether the page should be scrolled to the top after navigating to a URL.

+ +

When the user clicks the browser's back button, the previous scroll position +will be maintained.

+
+ + +

Default: true

+ + + +
+

Fires event scrollToTopChange

+ +

+ Fires when the value for the configuration attribute scrollToTop is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

serverRouting

+ Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:911 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Whether or not this application's server is capable of properly routing +all requests and rendering the initial state in the HTML responses.

+ +

This can have three different values, each having particular +implications on how the app will handle routing and navigation:

+ +
    +
  • undefined: The best form of URLs will be chosen based on the +capabilities of the browser. Given no information about the server +environmentm a balanced approach to routing and navigation is +chosen.

    + +

    The server should be capable of handling full-path requests, since +full-URLs will be generated by browsers using HTML5 history. If this +is a client-side-only app the server could handle full-URL requests +by sending a redirect back to the root with a hash-based URL, e.g:

    + +
    Request:     http://example.com/users/1
    +Redirect to: http://example.com/#/users/1
    +
  • +
  • true: The server is fully capable of properly handling requests +to all full-path URLs the app can produce.

    + +

    This is the best option for progressive-enhancement because it will +cause all URLs to always have full-paths, which means the server +will be able to accurately handle all URLs this app produces. e.g.

    + +
    http://example.com/users/1
    +
    + +

    To meet this strict full-URL requirement, browsers which are not +capable of using HTML5 history will make requests to the server +resulting in full-page reloads.

  • +
  • false: The server is not capable of properly handling requests +to all full-path URLs the app can produce, therefore all routing +will be handled by this App instance.

    + +

    Be aware that this will cause all URLs to always be hash-based, +even in browsers that are capable of using HTML5 history. e.g.

    + +
    http://example.com/#/users/1
    +
    + +

    A single-page or client-side-only app where the server sends a +"shell" page with JavaScript to the client might have this +restriction. If you're setting this to false, read the following:

  • +
+ +

Note: When this is set to false, the server will never receive +the full URL because browsers do not send the fragment-part to the +server, that is everything after and including the "#".

+ +

Consider the following example:

+ +
URL shown in browser: http://example.com/#/users/1
+URL sent to server:   http://example.com/
+
+ +

You should feel bad about hurting our precious web if you forcefully set +either serverRouting or html5 to false, because you're basically +punching the web in the face here with your lossy URLs! Please make sure +you know what you're doing and that you understand the implications.

+ +

Ideally you should always prefer full-path URLs (not /#/foo/), and want +full-page reloads when the client's browser is not capable of enhancing +the experience using the HTML5 history APIs. Setting this to true is +the best option for progressive-enhancement (and graceful-degradation).

+
+ + +

Default: undefined

+ + + +
+

Fires event serverRoutingChange

+ +

+ Fires when the value for the configuration attribute serverRouting is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

timeout

+ Number + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:263 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Time in milliseconds after which an Ajax request should time out.

+
+ + +

Default: 30000

+ + + +
+

Fires event timeoutChange

+ +

+ Fires when the value for the configuration attribute timeout is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

titleSelector

+ String + + + + + + + + + + + + + + + +
+ + +

Inherited from + PjaxContent: + + + + pjax/js/pjax-content.js:245 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

CSS selector used to extract a page title from the content of a page +loaded via Pjax.

+ +

By default this is set to extract the title from the <title> element, +but you could customize it to extract the title from an <h1>, or from +any other element, if that's more appropriate for the content you're +loading.

+
+ + +

Default: "title"

+ + + +
+

Fires event titleSelectorChange

+ +

+ Fires when the value for the configuration attribute titleSelector is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

transitions

+ Boolean | Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Transitions: + + + + app/js/app-extensions/app-transitions.js:41 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Whether or not this application should use view transitions, and if so then +which ones or true for the defaults which are specified by the +transitions prototype property.

+ +

Note: Transitions are an opt-in feature and will only be used in +browsers which support native CSS3 transitions.

+
+ + +

Default: false

+ + + +
+

Fires event transitionsChange

+ +

+ Fires when the value for the configuration attribute transitions is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ +

viewContainer

+ HTMLElement | Node | String + + + + + + + + + + + + + + + +
+ + +

Inherited from + App.Base: + + + + app/js/app-base.js:987 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

The node into which this app's views will be rendered when they become +the activeView.

+ +

The view container node serves as the container to hold the app's +activeView. Each time the activeView is set via showView(), the +previous view will be removed from this node, and the new active view's +container node will be appended.

+ +

The default view container is a <div> Node, but you can override this +in a subclass, or by passing in a custom viewContainer config value at +instantiation time. The viewContainer may be provided as a selector +string, DOM element, or a Y.Node instance (having the viewContainer +and the container be the same node is also supported).

+ +

The app's render() method will stamp the view container with the CSS +class "yui3-app-views" and append it to the app's container node if +it isn't already, and any activeView will be appended to this node if +it isn't already.

+
+ + +

Default: Y.Node.create(this.containerTemplate)

+ + + +
+

Fires event viewContainerChange

+ +

+ Fires when the value for the configuration attribute viewContainer is + changed. You can listen for the event using the on method if you + wish to be notified before the attribute's value has changed, or + using the after method if you wish to be notified after the + attribute's value has changed. +

+ +
+

Parameters:

+ +
    +
  • + e + EventFacade + +
    + An Event Facade object with the following + attribute-specific properties added: +
    + +
      +
    • + prevVal + Any +
      The value of the attribute, prior to it being set.
      +
    • +
    • + newVal + Any +
      The value the attribute is to be set to.
      +
    • +
    • + attrName + String +
      The name of the attribute being set.
      +
    • +
    • + subAttrName + String +
      If setting a property within the attribute's value, the name of the sub-attribute property being set.
      +
    • +
    +
  • +
+
+
+ + + +
+ + +
+ + + +
+

Events

+ + +
+

destroy

+ + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:151 + +

+ + + + +
+ +
+

+Lifecycle event for the destroy phase, +fired prior to destruction. Invoking the preventDefault +method on the event object provided to subscribers will +prevent destruction from proceeding. +

+ +

+Subscribers to the "after" moment of this event, will be notified +after destruction is complete (and as a result cannot prevent +destruction). +

+
+ + +
+

Event Payload:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    Event object

    +
    + + +
  • + +
+
+ + + + +
+ + +
+

init

+ + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:62 + +

+ + + + +
+ +
+

+Lifecycle event for the init phase, fired prior to initialization. +Invoking the preventDefault() method on the event object provided +to subscribers will prevent initialization from occuring. +

+ +

+Subscribers to the "after" momemt of this event, will be notified +after initialization of the object is complete (and therefore +cannot prevent initialization). +

+
+ + +
+

Event Payload:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    Event object, with a cfg property which +refers to the configuration object passed to the constructor.

    +
    + + +
  • + +
+
+ + + + +
+ + +
+

navigate

+ + + + + + + + + + +
+ + +

Inherited from + PjaxBase: + + + + pjax/js/pjax-base.js:16 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Fired when navigating to a URL via Pjax.

+ +

When the navigate() method is called or a pjax link is clicked, this event +will be fired if the browser supports HTML5 history and the router has a +route handler for the specified URL.

+ +

This is a useful event to listen to for adding a visual loading indicator +while the route handlers are busy handling the URL change.

+
+ + +
+

Event Payload:

+ +
    + +
  • + + url + String + + + + +
    +

    The URL that the router will dispatch to its route + handlers in order to fulfill the enhanced navigation "request".

    +
    + + +
  • + +
  • + + [force=false] + Boolean + optional + + + + +
    +

    Whether the enhanced navigation should occur + even in browsers without HTML5 history.

    +
    + + +
  • + +
  • + + [hash] + String + optional + + + + +
    +

    The hash-fragment (including "#") of the url. This + will be present when the url differs from the current URL only by its + hash and navigateOnHash has been set to true.

    +
    + + +
  • + +
  • + + [originEvent] + Event + optional + + + + +
    +

    The event that caused the navigation. Usually + this would be a click event from a "pjax" anchor element.

    +
    + + +
  • + +
  • + + [replace] + Boolean + optional + + + + +
    +

    Whether or not the current history entry will be + replaced, or a new entry will be created. Will default to true if the + specified url is the same as the current URL.

    +
    + + +
  • + +
+
+ + + + +
+ + +
+

ready

+ + + + + + + + + + +
+ + +

Inherited from + Router: + + + + app/js/router.js:24 + +

+ + + + +
+ +
+

Fired when the router is ready to begin dispatching to route handlers.

+ +

You shouldn't need to wait for this event unless you plan to implement some +kind of custom dispatching logic. It's used internally in order to avoid +dispatching to an initial route if a browser history change occurs first.

+
+ + +
+

Event Payload:

+ +
    + +
  • + + dispatched + Boolean + + + + +
    +

    true if routes have already been dispatched + (most likely due to a history change).

    +
    + + +
  • + +
+
+ + + + +
+ + +
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + +