App Class
+ + + + +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]+ +
+
+
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
+viewsobject on theprototype.
+
+
+
+ -
+
+
-
+
- Index + + +
- Methods + + +
- Properties + + +
- Attributes + + +
- Events + +
Item Index
+ + +Methods
+ +-
+
+
- + _addAttrs + + + + + +
- + _addLazyAttr + + + + + +
- + _afterActiveViewChange + + + + + +
- + _afterContainerChange + + + + + +
- + _afterHistoryChange + + + + + +
- + _aggregateAttrs + + + + + +
- + _attachView + + + + + +
- + _attrCfgHash + + + + + +
- + _baseDestroy + + + + + +
- + _baseInit + + + + + +
- + _cloneDefaultValue + + + + + +
- + _contentRoute + + + + + +
- + _decode + + + + + +
- + _defAttrChangeFn + + + + + +
- + _defDestroyFn + + + + + +
- + _defInitFn + + + + + +
- + _defNavigateFn + + + + + +
- + _defReadyFn + + + + + +
- + _dequeue + + + + + +
- + _destroyContainer + + + + + +
- + _destroyHierarchy + + + + + +
- + _detachView + + + + + +
- + _dispatch + + + + + +
- + _filterAdHocAttrs + + + + + +
- + _filterAttrCfgs + + + + + +
- + _fireAttrChange + + + + + +
- + _getAttr + + + + + +
- + _getAttrCfg + + + + + +
- + _getAttrCfgs + + + + + +
- + _getAttrInitVal + + + + + +
- + _getAttrs + + + + + +
- + _getClasses + + + + + +
- + _getContainer + + + + + +
- + _getFullType + + + + + +
- + _getHashPath + + + + + +
- + _getOrigin + + + + + +
- + _getPath + + + + + +
- + _getPathRoot + + + + + +
- + _getQuery + + + + + +
- + _getRegex + + + + + +
- + _getRequest + + + + + +
- + _getResponse + + + + + +
- + _getRoutes + + + + + +
- + _getStateVal + + + + + +
- + _getType + + + + + +
- + _getURL + + + + + +
- + _getViewContainer + + + + + +
- + _hasSameOrigin + + + + + +
- + _initAttrHost + + + + + +
- + _initAttribute + + + + + +
- + _initAttrs + + + + + +
- + _initBase + + + + + +
- + _initHierarchy + + + + + +
- + _initHierarchyData + + + + + +
- + _initHtml5 + + + + + +
- + _isChildView + + + + + +
- + _isLazyAttr + + + + + +
- + _isLinkSameOrigin + + + + + +
- + _isParentView + + + + + +
- + _joinURL + + + + + +
- + _monitor + + + + + +
- + _navigate + + + + + +
- + _normalizePath + + + + + +
- + _normAttrVals + + + + + +
- + _onLinkClick + + + + + +
- + _onPjaxIOComplete + + + + + +
- + _onPjaxIOEnd + + + + + +
- + _parseQuery + + + + + +
- + _parseType + + + + + +
- + _pjaxBindUI + + + + + +
- + _preInitEventCfg + + + + + +
- + _protectAttrs + + + + deprecated + + + +
- + _publish + + + + + +
- + _queue + + + + + +
- + _resolvePath + + + + + +
- + _resolveURL + + + + + +
- + _save + + + + + +
- + _set + + + + + +
- + _setAttr + + + + + +
- + _setAttrs + + + + + +
- + _setAttrVal + + + + + +
- + _setRoutes + + + + + +
- + _setStateVal + + + + + +
- + _setTransitions + + + + + +
- + _uiSetActiveView + + + + + +
- + _upgradeURL + + + + + +
- + addAttr + + + + + +
- + addAttrs + + + + + +
- + addTarget + + + + + +
- + after + + + + + +
- + attachEvents + + + + + +
- + attrAdded + + + + + +
- + before + + + + + +
- + bubble + + + + + +
- + create + + + + + +
- + createView + + + + + +
- + destroy + + + + + +
- + detach + + + + + +
- + detachAll + + + + + +
- + detachEvents + + + + + +
- + dispatch + + + + + +
- + fire + + + + + +
- + get + + + + + +
- + getAttrs + + + + + +
- + getContent + + + + + +
- + getEvent + + + + + +
- + getPath + + + + + +
- + getTargets + + + + + +
- + getViewInfo + + + + + +
- + hasRoute + + + + + +
- + init + + + + + +
- + loadContent + + + + + +
- + match + + + + + +
- + modifyAttr + + + + + +
- + navigate + + + + + +
- + on + + + + + +
- + once + + + + + +
- + onceAfter + + + + + +
- + parseType + + + + + +
- + publish + + + + + +
- + remove + + + + + +
- + removeAttr + + + + + +
- + removeQuery + + + + + +
- + removeRoot + + + + + +
- + removeTarget + + + + + +
- + render + + + + + +
- + replace + + + + + +
- + reset + + + + + +
- + route + + + + + +
- + save + + + + + +
- + set + + + + + +
- + setAttrs + + + + + +
- + showContent + + + + + +
- + showView + + + + + +
- + subscribe + + + + deprecated + + + +
- + toString + + + + + +
- + unsubscribe + + + + deprecated + + + +
- + unsubscribeAll + + + + deprecated + + + +
- + upgrade + + + + + +
Properties
+ +-
+
+
- + _allowAdHocAttrs + + + + + +
- + _dispatched + + + + + +
- + _dispatching + + + + + +
- + _historyEvents + + + + + +
- + _html5 + + + + + +
- + _pjaxEvents + + + + + +
- + _ready + + + + + +
- + _regexPathParam + + + + + +
- + _regexURL + + + + + +
- + _regexUrlOrigin + + + + + +
- + _regexUrlQuery + + + + + +
- + _viewInfoMap + + + + + +
- + CLASS_NAMES + + + static + + + + +
- + containerTemplate + + + + + +
- + events + + + + + +
- + name + + + + deprecated + + + +
- + serverRouting + + + static + + + + +
- + template + + + + + +
- + transitions + + + + + +
- + views + + + + + +
Attributes
+ +-
+
+
- + activeView + + +
- + addPjaxParam + + +
- + container + + +
- + contentSelector + + +
- + destroyed + + +
- + html5 + + +
- + initialized + + +
- + linkSelector + + +
- + navigateOnHash + + +
- + root + + +
- + routes + + +
- + scrollToTop + + +
- + serverRouting + + +
- + timeout + + +
- + titleSelector + + +
- + transitions + + +
- + viewContainer + + +
Methods
+ + +_addAttrs
+
+
+ -
+
+
-
+
+
cfgs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
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]+ +
+
+
Finishes initializing an attribute which has been lazily added.
+Parameters:
+ + +_afterActiveViewChange
+
+
+ -
+
+
-
+
+
e+ +
+
+
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:
+ +-
+
+
-
+
+
e+ EventFacade + + + + ++ ++ + +
+
+
_afterContainerChange
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ 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+ +
+
+
Handles history:change and hashchange events.
Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + ++ ++ + +
+
+
_aggregateAttrs
+
+
+ -
+
+
-
+
+
allAttrs+ +
+
+
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:
+ +_attachView
+
+
+ -
+
+
-
+
+
view+ +
+
+ -
+
+
prepend=false+ +
+
+
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.
_attrCfgHash
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Utility method to define the attribute hash used to filter/whitelist property mixes for +this class for iteration performance reasons.
+_baseDestroy
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Internal destroy implementation for BaseCore
+_baseInit
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Internal initialization implementation for BaseCore
+_cloneDefaultValue
+
+
+ -
+
+
-
+
+
cfg+ +
+
+
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+ +
+
+
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.
_decode
+
+
+ -
+
+
-
+
+
string+ +
+
+
Wrapper around decodeURIComponent that also converts + chars into
+spaces.
Parameters:
+ +-
+
+
-
+
+
string+ String + + + + +++ + +String to decode.
+
+
+
Returns:
+ +_defAttrChangeFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default function for attribute change events.
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +The event object for attribute change events.
+
+
+
_defDestroyFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default destroy event handler
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object
+
+
+
_defInitFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default init event handler
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object, with a cfg property which +refers to the configuration object passed to the constructor.
+
+
+
_defReadyFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default handler for the ready event.
Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + ++ ++ + +
+
+
_dequeue
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ Shifts the topmost _save() call off the queue and executes it. Does
+nothing if the queue is empty.
_destroyContainer
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Overrides View's container destruction to deal with the viewContainer and
+checks to make sure not to remove and purge the <body>.
_destroyHierarchy
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Destroys the class hierarchy for this instance by invoking +the destructor method on the prototype of each class in the hierarchy.
+_detachView
+
+
+ -
+
+
-
+
+
view+ +
+
+
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+ +
+
+
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).
_filterAdHocAttrs
+
+
+ -
+
+
-
+
+
allAttrs+ +
+
+ -
+
+
userVals+ +
+
+
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:
+ +_filterAttrCfgs
+
+
+ -
+
+
-
+
+
clazz+ +
+
+ -
+
+
allCfgs+ +
+
+
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:
+ +_fireAttrChange
+
+
+ -
+
+
-
+
+
attrName+ +
+
+ -
+
+
subAttrName+ +
+
+ -
+
+
currVal+ +
+
+ -
+
+
newVal+ +
+
+ -
+
+
opts+ +
+
+ -
+
+
[cfg]+ +
+
+
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+ +
+
+
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:
+ +_getAttrCfg
+
+
+ -
+
+
-
+
+
name+ +
+
+
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:
+ +_getAttrCfgs
+
+
+ ()
+
+
+
+
+ Object
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an aggregated set of attribute configurations, by traversing +the class hierarchy.
+Returns:
+ +_getAttrInitVal
+
+
+ -
+
+
-
+
+
attr+ +
+
+ -
+
+
cfg+ +
+
+ -
+
+
initValues+ +
+
+
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:
+ + +Returns:
+ +_getAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+
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:
+ +_getClasses
+
+
+ ()
+
+
+
+
+ Function[]
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the class hierarchy for this object, with BaseCore being the last class in the array.
+Returns:
+ +_getContainer
+
+
+ -
+
+
-
+
+
value+ +
+
+
Getter for the container attribute.
Parameters:
+ +-
+
+
-
+
+
value+ Node | Null + + + + +++ + +Current attribute value.
+
+
+
Returns:
+ +_getFullType
+
+
+ -
+
+
-
+
+
type+ +
+
+
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:
+ +_getHashPath
+
+
+ -
+
+
-
+
+
[hash]+ +
+
+
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:
+ +_getOrigin
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the location origin (i.e., protocol, host, and port) as a URL.
+Returns:
+ +Example:
+ +http://example.com
+
+ _getPath
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the current route path, relative to the root (if any).
Returns:
+ +_getPathRoot
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ 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:
+ +_getQuery
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the current route query string.
+Returns:
+ +_getRegex
+
+
+ -
+
+
-
+
+
path+ +
+
+ -
+
+
keys+ +
+
+
Creates a regular expression from the given route specification. If path +is already a regex, it will be returned unmodified.
+Parameters:
+ + +Returns:
+ +_getRequest
+
+
+ -
+
+
-
+
+
path+ +
+
+ -
+
+
url+ +
+
+ -
+
+
src+ +
+
+
Gets a request object that can be passed to a route handler.
+Parameters:
+ + +Returns:
+ +_getResponse
+
+
+ -
+
+
-
+
+
req+ +
+
+
Gets a response object that can be passed to a route handler.
+Parameters:
+ +-
+
+
-
+
+
req+ Object + + + + +++ + +Request object.
+
+
+
Returns:
+ +_getRoutes
+
+
+ ()
+
+
+
+
+ Object[]
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Getter for the routes attribute.
Returns:
+ +_getStateVal
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
[cfg]+ +
+
+
Gets the stored value for the attribute, from either the +internal state object, or the state proxy if it exits
+Parameters:
+ + +Returns:
+ +_getType
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the current full URL.
+Returns:
+ +_getViewContainer
+
+
+ -
+
+
-
+
+
value+ +
+
+
Getter for the viewContainer attribute.
Parameters:
+ +-
+
+
-
+
+
value+ Node | Null + + + + +++ + +Current attribute value.
+
+
+
Returns:
+ +_hasSameOrigin
+
+
+ -
+
+
-
+
+
url+ +
+
+
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:
+ +_initAttrHost
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
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
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes AttributeCore
+_initAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
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+ +
+
+
Internal construction logic for BaseCore.
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +The constructor configuration object
+
+
+
_initHierarchy
+
+
+ -
+
+
-
+
+
userVals+ +
+
+
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
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+ 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:
+ +_isChildView
+
+
+ -
+
+
-
+
+
view+ +
+
+ -
+
+
parent+ +
+
+
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:
+ + +Returns:
+ +_isLazyAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+
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:
+ +_isLinkSameOrigin
+
+
+ -
+
+
-
+
+
link+ +
+
+
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
+hrefis of the + same origin as the page's current location.
+
+
Returns:
+ +href is of the same origin as
+ the page's current location.
+
+ _isParentView
+
+
+ -
+
+
-
+
+
view+ +
+
+ -
+
+
parent+ +
+
+
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:
+ + +Returns:
+ +_joinURL
+
+
+ -
+
+
-
+
+
url+ +
+
+
Joins the root URL to the specified url, normalizing leading/trailing
+/ characters.
Parameters:
+ +-
+
+
-
+
+
url+ String + + + + +++ + +URL to append to the
+rootURL.
+
+
Returns:
+ +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+ +
+
+
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
+
+
+
_normalizePath
+
+
+ -
+
+
-
+
+
path+ +
+
+
Returns a normalized path, ridding it of any '..' segments and properly +handling leading and trailing slashes.
+Parameters:
+ +-
+
+
-
+
+
path+ String + + + + +++ + +URL path to normalize.
+
+
+
Returns:
+ +_normAttrVals
+
+
+ -
+
+
-
+
+
valueHash+ +
+
+
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:
+ +_onLinkClick
+
+
+ -
+
+
-
+
+
e+ +
+
+
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:
+ +-
+
+
-
+
+
e+ EventFacade + + + + ++ ++ + +
+
+
_onPjaxIOComplete
+
+
+ -
+
+
-
+
+
id+ +
+
+ -
+
+
ioResponse+ +
+
+ -
+
+
details+ +
+
+
Handles IO complete events.
+ +This parses the content from the Y.io() response and puts it on the
+route's response object.
_onPjaxIOEnd
+
+
+ -
+
+
-
+
+
id+ +
+
+ -
+
+
details+ +
+
+
Handles IO end events.
+_parseQuery
+
+
+ -
+
+
-
+
+
query+ +
+
+
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:
+ +_parseType
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an array with the detach key (if provided), +and the prefixed event name from _getType +Y.on('detachcategory| menu:click', fn)
+_pjaxBindUI
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ 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+ +
+
+
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+ +
+
+
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:
+ +_publish
+
+
+ -
+
+
-
+
+
fullType+ +
+
+ -
+
+
etOpts+ +
+
+ -
+
+
ceOpts+ +
+
+
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:
+ +etOpts or ceOpts, this will
+be the default CustomEvent instance, and can be configured independently.
+
+ _queue
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ 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+ +
+
+
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:
+ +_resolveURL
+
+
+ -
+
+
-
+
+
url+ +
+
+
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:
+ +_save
+
+
+ -
+
+
-
+
+
[url]+ +
+
+ -
+
+
[replace=false]+ +
+
+
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.
_set
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
val+ +
+
+ -
+
+
[opts]+ +
+
+
Allows setting of readOnly/writeOnce attributes. See set for argument details.
+Parameters:
+ + +Returns:
+ +_setAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
value+ +
+
+ -
+
+
[opts]+ +
+
+ -
+
+
force+ +
+
+
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:
+ +_setAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
[opts]+ +
+
+
Implementation behind the public setAttrs method, to set multiple attribute values.
+Parameters:
+ + +Returns:
+ +_setAttrVal
+
+
+ -
+
+
-
+
+
attrName+ +
+
+ -
+
+
subAttrName+ +
+
+ -
+
+
prevVal+ +
+
+ -
+
+
newVal+ +
+
+ -
+
+
[opts]+ +
+
+ -
+
+
[attrCfg]+ +
+
+
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:
+ +_setRoutes
+
+
+ -
+
+
-
+
+
routes+ +
+
+
Setter for the routes attribute.
Parameters:
+ +-
+
+
-
+
+
routes+ Object[] + + + + +++ + +Array of route objects.
+
+
+
Returns:
+ +_setStateVal
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
value+ +
+
+
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+ +
+
+
Setter for transitions attribute.
When specified as true, the defaults will be use as specified by the
+transitions prototype property.
Parameters:
+ + +Returns:
+ +_uiSetActiveView
+
+
+ -
+
+
-
+
+
newView+ +
+
+ -
+
+
[oldView]+ +
+
+ -
+
+
[options]+ +
+
+
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
+activeViewis ready to use, the function will be passed:-
+
+
-
+
+
view+ View + + ++ A reference to the new ++activeView. +
+
+
+
+ -
+
+
-
+
+
[prepend=false]+ Boolean + optional + + +++ + +Whether the
+viewshould be + prepended instead of appended to theviewContainer.
+
+ -
+
+
[render]+ Boolean + optional + + +++ + +Whether the
+viewshould 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
+configobject to its +setAttrs()method. Note: This option does not have an effect if + theviewinstance is created as a result of calling this method.
+
+
+
+ -
+
+
_upgradeURL
+
+
+ -
+
+
-
+
+
url+ +
+
+
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:
+ +Example:
+ +app._upgradeURL('http://example.com/#/foo/'); // => 'http://example.com/foo/';
+
+ addAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
config+ +
+
+ -
+
+
lazy+ +
+
+
+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:
+ +addAttrs
+
+
+ -
+
+
-
+
+
cfgs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
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:
+ +addTarget
+
+
+ -
+
+
-
+
+
o+ +
+
+
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*]+ +
+
+
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
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +attachEvents
+
+
+ -
+
+
-
+
+
[events]+ +
+
+
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 +
+eventsattribute for details on the format. If not specified, this + view'seventsproperty will be used.
+
+
attrAdded
+
+
+ -
+
+
-
+
+
name+ +
+
+
Checks if the given attribute has been added to the host
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute to check.
+
+
+
Returns:
+ +before
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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:
+ +bubble
+
+
+ -
+
+
-
+
+
evt+ +
+
+
Propagate an event. Requires the event-custom-complex module.
+Parameters:
+ +-
+
+
-
+
+
evt+ CustomEvent + + + + +++ + +the custom event to propagate
+
+
+
Returns:
+ +create
+
+
+ -
+
+
-
+
+
[container]+ +
+
+
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:
+ +createView
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
[config]+ +
+
+
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:
+ + +Returns:
+ +destroy
+
+
+ -
+
+
-
+
+
[options]+ +
+
+
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.
detach
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
context+ +
+
+
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:
+ +detachAll
+
+
+ -
+
+
-
+
+
type+ +
+
+
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
+
+
+
+
+
+
+ Detaches DOM events that have previously been attached to the container by
+attachEvents().
dispatch
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ 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+ +
+
+
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:
+ +get
+
+
+ -
+
+
-
+
+
name+ +
+
+
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:
+ +getAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+
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:
+ +getContent
+
+
+ -
+
+
-
+
+
responseText+ +
+
+
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: AY.Nodeinstance for a document fragment containing the +extracted HTML content.
+title: The title of the HTML page, if any, extracted using the +titleSelectorattribute (which defaults to looking for a<title>+element). IftitleSelectoris not set or if a title could not be +found, this property will beundefined.
+
Parameters:
+ +-
+
+
-
+
+
responseText+ String + + + + +++ + +Raw Ajax response text.
+
+
+
Returns:
+ +getEvent
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
prefixed+ +
+
+
Returns the custom event of the provided type has been created, a +falsy value otherwise
+Parameters:
+ + +Returns:
+ +getPath
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the current route path, relative to the root (if any).
Returns:
+ +getTargets
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an array of bubble targets for this object.
+Returns:
+ +getViewInfo
+
+
+ -
+
+
-
+
+
view+ +
+
+
Returns the metadata associated with a view instance or view name defined on
+the views object.
Parameters:
+ + +Returns:
+ +undefined if the view is
+ not registered.
+
+ hasRoute
+
+
+ -
+
+
-
+
+
url+ +
+
+
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:
+ + +init
+
+
+ -
+
+
-
+
+
cfg+ +
+
+
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:
+ +loadContent
+
+
+ -
+
+
-
+
+
req+ +
+
+ -
+
+
res+ +
+
+ -
+
+
next+ +
+
+
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 theY.io()XHR. This +may contain"pjax=1"if theaddPjaxParamoption is set.
+res.content: An object containingnodeandtitleproperties for +the content extracted from the server's response. SeegetContent()for +more details.
+res.ioResponse: The fullY.io()response object. This is useful if +you need access to the XHR's responsestatusor HTTP headers.
+
Parameters:
+ + +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+ +
+
+
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:
+ +Example:
+ +router.route('/foo', function () {});
+router.match('/foo');
+// => [{callback: ..., keys: [], path: '/foo', regex: ...}]
+
+ modifyAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
config+ +
+
+
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. +
+on
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
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
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +once
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
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
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +onceAfter
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
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
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +parseType
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
[pre=this._yuievt.config.prefix]+ +
+
+
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:
+ + +Returns:
+ +publish
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
opts+ +
+
+
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:
+ +remove
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ 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+ +
+
+
Removes an attribute from the host object
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute to be removed.
+
+
+
removeQuery
+
+
+ -
+
+
-
+
+
url+ +
+
+
Removes a query string from the end of the url (if one exists) and returns +the result.
+Parameters:
+ +-
+
+
-
+
+
url+ String + + + + +++ + +URL.
+
+
+
Returns:
+ +removeRoot
+
+
+ -
+
+
-
+
+
url+ +
+
+
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:
+ +removeTarget
+
+
+ -
+
+
-
+
+
o+ +
+
+
Removes a bubble target
+Parameters:
+ +-
+
+
-
+
+
o+ EventTarget + + + + +++ + +the target to remove
+
+
+
render
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ 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]+ +
+
+
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+ +
+
+
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:
+ +route
+
+
+ -
+
+
-
+
+
path+ +
+
+ -
+
+
callbacks+ +
+
+
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'}
+- URL:
Route:
+ +/file/*path- URL:
/file/foo/bar/baz.txt, params:{path: 'foo/bar/baz.txt'}
+ - URL:
/file/foo, params:{path: 'foo'}
+- URL:
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
+reqandresobjects + 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]+ +
+
+
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]+ +
+
+
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:
+ +setAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
[opts]+ +
+
+
Sets multiple attribute values.
+Parameters:
+ + +Returns:
+ +showContent
+
+
+ -
+
+
-
+
+
content+ +
+
+ -
+
+
[options]+ +
+
+ -
+
+
[callback]+ +
+
+
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.Nodeinstance.
+
+ -
+
+
[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.updateistrue. **Note:** If acontaineris specified, + it will be overridden by thecontentspecified in the first + argument. +
+
+
+
+ -
+
+
+
+ -
+
+
-
+
+
[callback]+ Function + optional + + + + +++ + +Optional callback function to call after the + new
+activeViewis ready to use. Note: this will override +options.callbackand 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]+ +
+
+
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
+viewsobject, + or a view instance which should become this app'sactiveView.
+
+ -
+
+
[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.updateistrue.
+
+ -
+
+
[options]+ Object + optional + + + + +++ + +Optional object containing any of the following + properties:
+-
+
+
-
+
+
[callback]+ Function + optional + + +++ + +Optional callback function to call + after new
+activeViewis ready to use, the function will be passed:-
+
+
-
+
+
view+ View + + ++ A reference to the new ++activeView. +
+
+
+
+ -
+
+
-
+
+
[prepend=false]+ Boolean + optional + + +++ + +Whether the
+viewshould be + prepended instead of appended to theviewContainer.
+
+ -
+
+
[render]+ Boolean + optional + + +++ + +Whether the
+viewshould 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 +
+falsefor no transition.
+
+ -
+
+
[update=false]+ Boolean + optional + + +++ + +Whether an existing view should + have its attributes updated by passing the
+configobject to its +setAttrs()method. Note: This option does not have an effect if + theviewinstance is created as a result of calling this method.
+
+
+
+ -
+
+
-
+
+
[callback]+ Function + optional + + + + +++ + +Optional callback Function to call after the + new
+activeViewis ready to use. Note: this will override +options.callbackand 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subscribe to an event
+toString
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default toString implementation. Provides the constructor NAME +and the instance guid, if set.
+Returns:
+ +unsubscribe
+
+
+ ()
+
+
+
+
+
+ deprecated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ detach a listener
+unsubscribeAll
+
+
+ -
+
+
-
+
+
type+ +
+
+
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
+
+
+
Properties
+ + +_allowAdHocAttrs
+ Boolean
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+ Whether or not _dispatch() has been called since this router was
+instantiated.
Default: undefined
+ + + + + +_dispatching
+ Boolean
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Whether or not we're currently in the process of dispatching to routes.
+Default: undefined
+ + + + + +_historyEvents
+ EventHandle
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ History event handle for the history:change or hashchange event
+subscription.
_html5
+ Boolean
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Cached copy of the html5 attribute for internal use.
_pjaxEvents
+ EventHandle
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Holds the delegated pjax-link click handler.
+_ready
+ Boolean
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Whether or not the ready event has fired yet.
Default: undefined
+ + + + + +_regexPathParam
+ RegExp
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Regex used to match parameter placeholders in route paths.
+ +Subpattern captures:
+ +-
+
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.
+Parameter name, if specified, otherwise it is a wildcard match.
+
_regexURL
+ RegExp
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Regex used to break up a URL string around the URL's path.
+ +Subpattern captures:
+ +-
+
- Origin, everything before the URL's path-part. +
- The URL's path-part. +
- Suffix, everything after the URL's path-part. +
_regexUrlOrigin
+ RegExp
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ CSS classes used by Y.App.
Default: {}
+ + + + + +containerTemplate
+ String
+
+
+
+
+
+
+
+
+
+
+
+ Template for this view's container.
+Default: "<div/>"
+ + + + + +events
+ Object
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+ The string used to identify the class of this object.
+serverRouting
+ Boolean
+
+
+
+
+
+
+
+
+ static
+
+
+
+
+ Default serverRouting attribute value for all apps.
Default: undefined
+ + + + + +template
+ Mixed
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+ 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 theactiveView+of the application.
+toChild: The transition to use when the newactiveViewis configured +as a child of the previously active view via itsparentproperty as +defined in this app'sviews.
+toParent: The transition to use when the newactiveViewis +configured as theparentof the previously active view as defined in +this app'sviews.
+
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
+
+
+
+
+
+
+
+
+
+
+
+ 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 theYobject; 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. Iftruethe view instance will simply beremoved()+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 itsparentview. 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
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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.+
+
+ -
+
root
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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[]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 theroute()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 theroute()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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+ +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
+
+
+
+
+
+
+
+
+
+
+
+
+ +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.
+
+
+
ready
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 + + + + +++ + +
+trueif routes have already been dispatched + (most likely due to a history change).
+
+
