aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plyr.js
diff options
context:
space:
mode:
authorSam Potts <me@sampotts.me>2016-01-14 19:34:09 +1100
committerSam Potts <me@sampotts.me>2016-01-14 19:34:09 +1100
commit353d920e25eaaa97cf64c276657ee2cf138875d6 (patch)
tree1c1f6ffdb4d3fa72765229b71edd5057cb52b663 /src/js/plyr.js
parent6110098e973407fb827e337d800eb1eea2098cc4 (diff)
downloadplyr-353d920e25eaaa97cf64c276657ee2cf138875d6.tar.lz
plyr-353d920e25eaaa97cf64c276657ee2cf138875d6.tar.xz
plyr-353d920e25eaaa97cf64c276657ee2cf138875d6.zip
Minor tweaks to custom handler stuff
Diffstat (limited to 'src/js/plyr.js')
-rw-r--r--src/js/plyr.js91
1 files changed, 46 insertions, 45 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 8f9d72a5..fac7d555 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -68,18 +68,6 @@
currentTime: '.plyr__time--current',
duration: '.plyr__time--duration'
},
- handlers: {
- seek: null,
- play: null,
- pause: null,
- restart: null,
- rewind: null,
- forward: null,
- mute: null,
- volume: null,
- captions: null,
- fullscreen: null
- },
classes: {
videoWrapper: 'plyr__video-wrapper',
embedWrapper: 'plyr__video-embed',
@@ -104,6 +92,18 @@
},
tabFocus: 'tab-focus'
},
+ handlers: {
+ seek: null,
+ play: null,
+ pause: null,
+ restart: null,
+ rewind: null,
+ forward: null,
+ mute: null,
+ volume: null,
+ captions: null,
+ fullscreen: null
+ },
captions: {
defaultActive: false
},
@@ -512,7 +512,31 @@
return false;
}
- // Toggle event
+ // Bind event
+ function _on(element, events, callback) {
+ if (element) {
+ _toggleHandler(element, events, callback, true);
+ }
+ }
+
+ // Unbind event
+ function _off(element, events, callback) {
+ if (element) {
+ _toggleHandler(element, events, callback, false);
+ }
+ }
+
+ // Bind along with custom handler
+ function _proxyHandler(element, eventName, userHandler, defaultHandler) {
+ _on(element, eventName, function(event) {
+ if(userHandler) {
+ userHandler.apply(element, [event]);
+ }
+ defaultHandler.apply(element, [event]);
+ });
+ }
+
+ // Toggle event handler
function _toggleHandler(element, events, callback, toggle) {
var eventList = events.split(' ');
@@ -532,20 +556,6 @@
}
}
- // Bind event
- function _on(element, events, callback) {
- if (element) {
- _toggleHandler(element, events, callback, true);
- }
- }
-
- // Unbind event
- function _off(element, events, callback) {
- if (element) {
- _toggleHandler(element, events, callback, false);
- }
- }
-
// Trigger event
function _triggerEvent(element, event) {
// Bail if no element
@@ -2182,43 +2192,34 @@
});
}
- function _registerHandler(element, event, userHandler, defaultHandler) {
- _on(element, event, function(e) {
- if(userHandler) {
- userHandler(e);
- }
- defaultHandler(e);
- });
- }
-
// Play
- _registerHandler(plyr.buttons.play, 'click', config.handlers.play, function() { _togglePlay(true); });
+ _proxyHandler(plyr.buttons.play, 'click', config.handlers.play, function() { _togglePlay(true); });
// Pause
- _registerHandler(plyr.buttons.pause, 'click', config.handlers.pause, function() { _togglePlay(); });
+ _proxyHandler(plyr.buttons.pause, 'click', config.handlers.pause, function() { _togglePlay(); });
// Restart
- _registerHandler(plyr.buttons.restart, 'click', config.handlers.restart, _seek);
+ _proxyHandler(plyr.buttons.restart, 'click', config.handlers.restart, _seek);
// Rewind
- _registerHandler(plyr.buttons.rewind, 'click', config.handlers.rewind, _rewind);
+ _proxyHandler(plyr.buttons.rewind, 'click', config.handlers.rewind, _rewind);
// Fast forward
- _registerHandler(plyr.buttons.forward, 'click', config.handlers.forward, _forward);
+ _proxyHandler(plyr.buttons.forward, 'click', config.handlers.forward, _forward);
// Seek
- _registerHandler(plyr.buttons.seek, inputEvent, config.handlers.seek, _seek);
+ _proxyHandler(plyr.buttons.seek, inputEvent, config.handlers.seek, _seek);
// Set volume
- _registerHandler(plyr.volume, inputEvent, config.handlers.volume, function() {
+ _proxyHandler(plyr.volume, inputEvent, config.handlers.volume, function() {
_setVolume(plyr.volume.value);
});
// Mute
- _registerHandler(plyr.buttons.mute, 'click', config.handlers.mute, _toggleMute);
+ _proxyHandler(plyr.buttons.mute, 'click', config.handlers.mute, _toggleMute);
// Fullscreen
- _registerHandler(plyr.buttons.fullscreen, 'click', config.handlers.fullscreen, _toggleFullscreen);
+ _proxyHandler(plyr.buttons.fullscreen, 'click', config.handlers.fullscreen, _toggleFullscreen);
// Handle user exiting fullscreen by escaping etc
if (fullscreen.supportsFullScreen) {