The Intl utility provides a central location for managing sets of localized resources (strings and formatting patterns).
_getFullTypetype
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.
type
String
The short type to prefix
_getTypeIf the instance has a prefix attribute and the event type is not prefixed, the instance prefix is applied to the supplied type.
_modmodule
Private method to retrieve the language hash for a given module.
module
String
The name of the module
_monitorwhat
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.
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
_parseTypeReturns an array with the detach key (if provided), and the prefixed event name from _getType Y.on('detachcategory| menu:click', fn)
_publishfullType
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.
etOpts or ceOpts, this will
be the default CustomEvent instance, and can be configured independently.
addmodule
lang
strings
Register a hash of localized resources for the given module and language
addTargeto
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.
o
EventTarget
the target to add
aftertype
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.
beforeExecutes 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
bubbleevt
Propagate an event. Requires the event-custom-complex module.
evt
CustomEvent
the custom event to propagate
detachtype
fn
context
Detach one or more listeners the from the specified event
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)
detachAlltype
Removes all listeners from the specified event. If the event type is not specified, all listeners from all hosted custom events will be removed.
type
String
The type, or name of the event
firetype
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.
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.
getmodule
key
lang
Gets the module's localized resources for the currently active language (as provided by the getLang method).
Optionally, the localized resources for alternate languages which have been added to Intl (see the add method) can be retrieved by providing the BCP 47 language tag as the lang parameter.
getAvailableLangsmodule
Gets the list of languages for which localized resources are available for a given module, based on the module meta-data (part of loader). If loader is not on the page, returns an empty array.
module
String
The name of the module
getEventtype
prefixed
Returns the custom event of the provided type has been created, a falsy value otherwise
getLangmodule
Get the currently active language for the given module.
module
String
The module name.
getTargetsReturns an array of bubble targets for this object.
lookupBestLangpreferredLanguages
availableLanguages
Returns the language among those available that best matches the preferred language list, using the Lookup algorithm of BCP 47. If none of the available languages meets the user's preferences, then "" is returned. Extended language ranges are not supported.
ontype
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.
oncetype
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.
onceAftertype
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.
parseTypetype
[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.
publishtype
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.
type
String
the type, or name of the event
opts
Object
optional config params. Valid properties are:
setLangmodule
lang
Sets the active language for the given module.
Returns false on failure, which would happen if the language had not been registered through the add() method.
subscribesubscribe to an event
unsubscribedetach a listener
unsubscribeAlltype
Removes all listeners from the specified event. If the event type is not specified, all listeners from all hosted custom events will be removed.
type
String
The type, or name of the event
intl:langChangeNotification event to indicate when the lang for a module has changed. There is no default behavior associated with this event, so the on and after moments are equivalent.
e
EventFacade
The event facade
The event facade contains: