Minor tweaks to custom handler stuff
This commit is contained in:
parent
6110098e97
commit
353d920e25
2
dist/plyr.js
vendored
2
dist/plyr.js
vendored
File diff suppressed because one or more lines are too long
@ -68,18 +68,6 @@
|
|||||||
currentTime: '.plyr__time--current',
|
currentTime: '.plyr__time--current',
|
||||||
duration: '.plyr__time--duration'
|
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: {
|
classes: {
|
||||||
videoWrapper: 'plyr__video-wrapper',
|
videoWrapper: 'plyr__video-wrapper',
|
||||||
embedWrapper: 'plyr__video-embed',
|
embedWrapper: 'plyr__video-embed',
|
||||||
@ -104,6 +92,18 @@
|
|||||||
},
|
},
|
||||||
tabFocus: 'tab-focus'
|
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: {
|
captions: {
|
||||||
defaultActive: false
|
defaultActive: false
|
||||||
},
|
},
|
||||||
@ -512,7 +512,31 @@
|
|||||||
return false;
|
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) {
|
function _toggleHandler(element, events, callback, toggle) {
|
||||||
var eventList = events.split(' ');
|
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
|
// Trigger event
|
||||||
function _triggerEvent(element, event) {
|
function _triggerEvent(element, event) {
|
||||||
// Bail if no element
|
// 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
|
// Play
|
||||||
_registerHandler(plyr.buttons.play, 'click', config.handlers.play, function() { _togglePlay(true); });
|
_proxyHandler(plyr.buttons.play, 'click', config.handlers.play, function() { _togglePlay(true); });
|
||||||
|
|
||||||
// Pause
|
// Pause
|
||||||
_registerHandler(plyr.buttons.pause, 'click', config.handlers.pause, function() { _togglePlay(); });
|
_proxyHandler(plyr.buttons.pause, 'click', config.handlers.pause, function() { _togglePlay(); });
|
||||||
|
|
||||||
// Restart
|
// Restart
|
||||||
_registerHandler(plyr.buttons.restart, 'click', config.handlers.restart, _seek);
|
_proxyHandler(plyr.buttons.restart, 'click', config.handlers.restart, _seek);
|
||||||
|
|
||||||
// Rewind
|
// Rewind
|
||||||
_registerHandler(plyr.buttons.rewind, 'click', config.handlers.rewind, _rewind);
|
_proxyHandler(plyr.buttons.rewind, 'click', config.handlers.rewind, _rewind);
|
||||||
|
|
||||||
// Fast forward
|
// Fast forward
|
||||||
_registerHandler(plyr.buttons.forward, 'click', config.handlers.forward, _forward);
|
_proxyHandler(plyr.buttons.forward, 'click', config.handlers.forward, _forward);
|
||||||
|
|
||||||
// Seek
|
// Seek
|
||||||
_registerHandler(plyr.buttons.seek, inputEvent, config.handlers.seek, _seek);
|
_proxyHandler(plyr.buttons.seek, inputEvent, config.handlers.seek, _seek);
|
||||||
|
|
||||||
// Set volume
|
// Set volume
|
||||||
_registerHandler(plyr.volume, inputEvent, config.handlers.volume, function() {
|
_proxyHandler(plyr.volume, inputEvent, config.handlers.volume, function() {
|
||||||
_setVolume(plyr.volume.value);
|
_setVolume(plyr.volume.value);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Mute
|
// Mute
|
||||||
_registerHandler(plyr.buttons.mute, 'click', config.handlers.mute, _toggleMute);
|
_proxyHandler(plyr.buttons.mute, 'click', config.handlers.mute, _toggleMute);
|
||||||
|
|
||||||
// Fullscreen
|
// 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
|
// Handle user exiting fullscreen by escaping etc
|
||||||
if (fullscreen.supportsFullScreen) {
|
if (fullscreen.supportsFullScreen) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user