OpenTV Player Web HTML5

Class: Plugin

Plugin

Parent class for all advanced plugins.

new Plugin(player)

Creates an instance of this class.

Sub-classes should call super to ensure plugins are properly initialized.

Name Type Description
player Player

A Video.js player instance.

Fires:
Listens to Events:
Throws:
Type When
Error

If attempting to instantiate the base Plugin class directly instead of via a sub-class.

Mixes In

Members

static Plugin.BASE_PLUGIN_NAMEstring

The name of the base plugin class as it is registered.

stateObject

A hash containing arbitrary keys and values representing the state of the object.

stateObject

A hash containing arbitrary keys and values representing the state of the object.

Methods

staticPlugin.deregisterPlugin(name)

De-register a Video.js plugin.

Name Type Description
name string

The name of the plugin to be de-registered. Must be a string that matches an existing plugin.

Throws:
Type When
Error

If an attempt is made to de-register the base plugin.

staticPlugin.getPlugin(name)

Gets a plugin by name if it exists.

Name Type Description
name string

The name of a plugin.

Returns:

staticPlugin.getPlugins(names){Object|undefined}

Gets an object containing multiple Video.js plugins.

Name Type Description
names Array optional

If provided, should be an array of plugin names. Defaults to all plugin names.

Returns:
Type Description
Object | undefined An object containing plugin(s) associated with their name(s) or undefined if no matching plugins exist).

staticPlugin.getPluginVersion(name){string}

Gets a plugin's version, if available

Name Type Description
name string

The name of a plugin.

Returns:
Type Description
string The plugin's version or an empty string.

staticPlugin.isBasic(plugin){boolean}

Determines if a plugin is a basic plugin (i.e. not a sub-class of Plugin).

Name Type Description
plugin string | function

If a string, matches the name of a plugin. If a function, will be tested directly.

Returns:
Type Description
boolean Whether or not a plugin is a basic plugin.

staticPlugin.registerPlugin(name, plugin)

Register a Video.js plugin.

Name Type Description
name string

The name of the plugin to be registered. Must be a string and must not match an existing plugin or a method on the Player prototype.

plugin
Returns:

any(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object. The listener will only be called once for the first event that is triggered then removed.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

any(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object. The listener will only be called once for the first event that is triggered then removed.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

dispose()

Disposes a plugin.

Subclasses can override this if they want, but for the sake of safety, it's probably best to subscribe the "dispose" event.

Fires:

getEventHash(hash){PluginEventHash}

Each event triggered by plugins includes a hash of additional data with conventional properties.

This returns that object or mutates an existing hash.

Name Type Default Description
hash Object {} optional

An object to be used as event an event hash.

Returns:
Type Description
PluginEventHash An event hash object with provided properties mixed-in.

abstracthandleStateChanged(e)

Handles "statechanged" events on the plugin. No-op by default, override by subclassing.

Name Type Description
e Event

An event object provided by a "statechanged" event.

Name Type Description
changes Object

An object describing changes that occurred with the "statechanged" event.

off(targetOrType, typeOrListener, listener)

Removes listener(s) from event(s) on an evented object.

Name Type Description
targetOrType string | Array | Element | Object optional

If this is a string or array, it represents the event type(s).

    Another evented object can be passed here instead, in which case
    ALL 3 arguments are _required_.
typeOrListener string | Array | function optional

If the first argument was a string or array, this may be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function; otherwise, all listeners bound to the event type(s) will be removed.

off(targetOrType, typeOrListener, listener)

Removes listener(s) from event(s) on an evented object.

Name Type Description
targetOrType string | Array | Element | Object optional

If this is a string or array, it represents the event type(s).

    Another evented object can be passed here instead, in which case
    ALL 3 arguments are _required_.
typeOrListener string | Array | function optional

If the first argument was a string or array, this may be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function; otherwise, all listeners bound to the event type(s) will be removed.

on(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

on(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

one(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object. The listener will be called once per event and then removed.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

one(targetOrType, typeOrListener, listener)

Add a listener to an event (or events) on this object or another evented object. The listener will be called once per event and then removed.

Name Type Description
targetOrType string | Array | Element | Object

If this is a string or array, it represents the event type(s) that will trigger the listener.

    Another evented object can be passed here instead, which will
    cause the listener to listen for events on _that_ object.

    In either case, the listener's `this` value will be bound to
    this object.
typeOrListener string | Array | function

If the first argument was a string or array, this should be the listener function. Otherwise, this is a string or array of event type(s).

listener function optional

If the first argument was another evented object, this will be the listener function.

setState(stateUpdates){Object|undefined}

Set the state of an object by mutating its state object in place.

Name Type Description
stateUpdates Object | function

A new set of properties to shallow-merge into the plugin state. Can be a plain object or a function returning a plain object.

Fires:
Returns:
Type Description
Object | undefined An object containing changes that occurred. If no changes occurred, returns undefined.

setState(stateUpdates){Object|undefined}

Set the state of an object by mutating its state object in place.

Name Type Description
stateUpdates Object | function

A new set of properties to shallow-merge into the plugin state. Can be a plain object or a function returning a plain object.

Fires:
Returns:
Type Description
Object | undefined An object containing changes that occurred. If no changes occurred, returns undefined.

trigger(event, hash){boolean}

Triggers an event on the plugin object and overrides EventedMixin.trigger.

Name Type Default Description
event string | Object

An event type or an object with a type property.

hash Object {} optional

Additional data hash to merge with a PluginEventHash.

Returns:
Type Description
boolean Whether or not default was prevented.

trigger(event, hash){boolean}

Fire an event on this evented object, causing its listeners to be called.

Name Type Description
event string | Object

An event type or an object with a type property.

hash Object optional

An additional object to pass along to listeners.

Returns:
Type Description
boolean Whether or not the default behavior was prevented.

trigger(event, hash){boolean}

Fire an event on this evented object, causing its listeners to be called.

Name Type Description
event string | Object

An event type or an object with a type property.

hash Object optional

An additional object to pass along to listeners.

Returns:
Type Description
boolean Whether or not the default behavior was prevented.

version()

Get the version of the plugin that was set on .VERSION

Events

dispose

Signals that a advanced plugin is about to be disposed.

Type: