tdp-event-manager-polymer
Version
Master: V2.0.3
Semver
This project aims to maintain the semver version numbering scheme.
Changelog
See changelog file
Overview
A very simple javascript event manager/emitter library, wrapped as a polymer web component. tdp-event-manager-polymer
is intended to be used to provide public/consumable event hooks to facilitate inter-web component communucation.
tdp-event-manager-polymer
runs as a "global" in that there is one running instance of the event manager and each tdp-event-manager-polymer
HTML element simply exposes an API interface to that global instance. This means that you can insert as many tdp-event-manager-polymer
HTML elements as you wish and each can access (register, remove, trigger, list) the all of the events.
Features
- Zero javascript dependencies (does not require e.g.
jquery
) - Packaged as a
bower
component and anNPM
package for ease of use - Automatically and pretty thoroughly tested (though not (yet) multi-browser - via phantom-mocha)
Requirements
- Production requirements
- None!
- Development/test requirements
Installation
You can install either via npm
:
npm install tdp-event-manager-polymer --save
(note: with npm
, you'll need to manually/independently install polymer)
or via bower
:
bower install tdp-event-manager-polymer --save
(note that in both cases --save
will add tdp-event-manager-polymer
to your npm
package.json
or bower
bower.json
config file).
Usage
tdp-event-manager-polymer
provides a polymer/web components custom element called tdp-event-manager
which you can include in the normal polymer fashion:
my-custom-elememt
polymer web component HTML file
In your <!-- Import Polymer --> <!-- Import tdp-event-manager --> <!-- Instantiate a tdp-event-manager element in this template --> <!-- Note 1: The tdp-event-manager instance is referred to via this.$.eventManage --> <!-- ...more template content...-->
Public API functions
registerEvent
(eventName
, callback
)
Overview
Registers a new event
with the instance.
Arguments
eventName
(String
, mandatory)
A name by which the event is refered (e.g. when it is triggered, removed or when a new eventCallback is registered to it).
callback
(Function
, mandatory)
A callback function which will be executed once the event has been registered or when a failure in registration of the event occurs.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
Boolean
|| null
)
returnValue (true
: event was registered successfully.
false
: event was not registered because an event with the same name is already registered.
null
: an error occurred registering the event (usually because arguments are incorrectly specified), the event was not registered.
registerEventCallback(eventName, eventCallbackName, eventCallbackFunction, callback)
Overview
Registers a callback (a function which is executed upon the relevant event being triggered) on an existing event
.
Arguments
eventName (String, mandatory)
A name by which the event is refered (e.g. when it is triggered, removed or when a new eventCallback is registered to it).
eventCallbackName (String, mandatory)
A name by which the eventCallback is refered (e.g. when it is triggered or removed).
eventCallbackFunction (Function, mandatory)
A callback function which will be executed when the event is triggered. eventCallbackFunctions can optionally receive arguments which are passed to the triggerEvent
function.
callback (Function, mandatory)
A callback function which will be executed once the eventCallback
has been registered or when a failure in registration of the eventCallback
occurs.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
returnValue (Boolean || null)
true
: eventCallback
was registered successfully.
false
: an error occurred registering the eventCallback
because the specified eventName
does not exist.
null
: an error occurred registering the eventCallback
(usually because arguments are incorrectly specified), the eventCallback
was not registered.
triggerEvent(eventName, callbackArguments, callback)
Overview
Triggers the specified eventName
which executes all registered eventCallback
s registered to/on that eventName
.
Arguments
eventName (String, mandatory)
The eventName
whose eventCallback
s will be executed.
callbackArguments (Mixed, mandatory)
An argument String, Array, Object, Boolean etc. to pass to each registered eventCallback
which is executed. If not required, this should be set to null
.
callback (Function, mandatory)
A callback function which will be executed once the event has been triggered or when a failure in triggering the event occurs.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
returnValue (Boolean || null)
true
: event was triggered successfully.
false
: an error occurred in attempting to trigger the event because eventName
is not a registered event.
null
: an error occurred in attempting to trigger the specified eventName
(usually because arguments are incorrectly specified), the event was not triggered.
removeEvent(eventName, callback)
Overview
Remove a previously registered event, eventName
and all registered eventCallback
s for that event.
Arguments
eventName (String, mandatory)
The eventName
which we want to remove.
callback (Function, mandatory)
A callback function which will be executed once the event has been removed or when a failure in triggering the event occurs.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
returnValue (Boolean || null)
true
: eventCallback
was removed successfully.
false
: an error occurred in attempting to remove the eventCallback
because eventName
is not a registered event.
null
: an error occurred in attempting to remove the specified eventCallback
(usually because arguments are incorrectly specified), the eventCallback
was not removed.
removeEventCallback(eventName, eventCallbackName, callback)
Overview
Remove a previously registered eventCallback
from the specified eventName
.
Arguments
eventName (String, mandatory)
The eventName
whose eventCallback
we want to remove.
eventCallbackName (String, mandatory)
The eventCallback
which is to be removed from eventName
.
callback (Function, mandatory)
A callback function which will be executed once the eventCallback
has been removed or when a failure in removing the eventCallback
occurs.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
returnValue (Boolean || null)
true
: eventCallback
was removed successfully.
false
: an error occurred in attempting to remove the eventCallback
because eventName
is not a registered event or eventCallback
is not registered.
null
: an error occurred in attempting to remove the specified eventCallback
(usually because arguments are incorrectly specified), the eventCallback
was not removed.
listEvents(callback)
Overview
Lists all registered events.
Arguments
callback (Function, mandatory)
A callback function which will be executed once the list of events has been retrieved.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
eventList (Array)
An array of registered eventName
s, or an empty array if no events have yet been registered.
eventIsRegistered(eventName, callback)
Overview
Check if the specified eventName
has previously been registered.
Arguments
eventName (String, mandatory)
The eventName
to check for.
callback (Function, mandatory)
A callback function which will be executed once the list of events has been checked.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
eventIsRegistered (Boolean || null)
true
: eventName
has previously been registered.
false
: eventName
has not previously been registered.
null
: arguments incorrectly specified (e.g. wrong format)
listEventCallbacks(eventName, callback)
Overview
Lists all registered callbacks for the specified eventName
.
Arguments
eventName (String, mandatory)
The eventName
whose eventCallback
s in which to check.
callback (Function, mandatory)
A callback function which will be executed once the list of events has been retrieved.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
eventCallbackList (Array)
An array of registered eventCallback
s, or an empty array if no eventCallback
s have yet been registered for the specified eventName
.
eventCallbackIsRegistered(eventName, eventCallbackName, callback)
Overview
Check if the specified eventName
has previously been registered.
Arguments
eventName (String, mandatory)
The eventName
to check for.
eventCallbackName (String, mandatory)
The eventCallback
to check for.
callback (Function, mandatory)
A callback function which will be executed once the list of events has been checked.
A hard error will be thrown if callback
is missing or is not of type function
.
Returns
eventIsRegistered (Boolean || null)
true
: eventCallbackName
has previously been registered on eventName
.
false
: eventCallbackName
has not previously been registered on eventName
.
null
: arguments incorrectly specified (e.g. wrong format)