diff options
author | Andreas Hubel | 2020-06-07 21:41:40 +0200 |
---|---|---|
committer | Andreas Hubel | 2020-06-07 21:41:40 +0200 |
commit | a66c79184091efdac09ee31a3778c6fc850dbbda (patch) | |
tree | d0c8f474548d8699411b7e33ee3fde62029c13da /assets/netcut/lib/videojs-hotkeys | |
parent | d0a9d8b2b0d28dbef209c7cbcbfd56eaeac24d9b (diff) |
add netcut assets to repo
submodules are propably to complicated for deployment.... :-)
Diffstat (limited to '')
3 files changed, 403 insertions, 0 deletions
diff --git a/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.js b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.js new file mode 100644 index 0000000..90d2452 --- /dev/null +++ b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.js @@ -0,0 +1,399 @@ +/* + * Video.js Hotkeys + * https://github.com/ctd1500/videojs-hotkeys + * + * Copyright (c) 2015 Chris Dougherty + * Licensed under the Apache-2.0 license. + */ + +;(function(root, factory) { + if (typeof window !== 'undefined' && window.videojs) { + factory(window.videojs); + } else if (typeof define === 'function' && define.amd) { + define('videojs-hotkeys', ['video.js'], function (module) { + return factory(module.default || module); + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = factory(require('video.js')); + } +}(this, function (videojs) { + "use strict"; + if (typeof window !== 'undefined') { + window['videojs_hotkeys'] = { version: "0.2.22" }; + } + + var hotkeys = function(options) { + var player = this; + var pEl = player.el(); + var doc = document; + var def_options = { + volumeStep: 0.1, + seekStep: 5, + enableMute: true, + enableVolumeScroll: true, + enableFullscreen: true, + enableNumbers: true, + enableJogStyle: false, + alwaysCaptureHotkeys: false, + enableModifiersForNumbers: true, + enableInactiveFocus: true, + skipInitialFocus: false, + playPauseKey: playPauseKey, + rewindKey: rewindKey, + forwardKey: forwardKey, + volumeUpKey: volumeUpKey, + volumeDownKey: volumeDownKey, + muteKey: muteKey, + fullscreenKey: fullscreenKey, + customKeys: {} + }; + + var cPlay = 1, + cRewind = 2, + cForward = 3, + cVolumeUp = 4, + cVolumeDown = 5, + cMute = 6, + cFullscreen = 7; + + // Use built-in merge function from Video.js v5.0+ or v4.4.0+ + var mergeOptions = videojs.mergeOptions || videojs.util.mergeOptions; + options = mergeOptions(def_options, options || {}); + + var volumeStep = options.volumeStep, + seekStep = options.seekStep, + enableMute = options.enableMute, + enableVolumeScroll = options.enableVolumeScroll, + enableFull = options.enableFullscreen, + enableNumbers = options.enableNumbers, + enableJogStyle = options.enableJogStyle, + alwaysCaptureHotkeys = options.alwaysCaptureHotkeys, + enableModifiersForNumbers = options.enableModifiersForNumbers, + enableInactiveFocus = options.enableInactiveFocus, + skipInitialFocus = options.skipInitialFocus; + + // Set default player tabindex to handle keydown and doubleclick events + if (!pEl.hasAttribute('tabIndex')) { + pEl.setAttribute('tabIndex', '-1'); + } + + // Remove player outline to fix video performance issue + pEl.style.outline = "none"; + + if (alwaysCaptureHotkeys || !player.autoplay()) { + if (!skipInitialFocus) { + player.one('play', function() { + pEl.focus(); // Fixes the .vjs-big-play-button handing focus back to body instead of the player + }); + } + } + + if (enableInactiveFocus) { + player.on('userinactive', function() { + // When the control bar fades, re-apply focus to the player if last focus was a control button + var cancelFocusingPlayer = function() { + clearTimeout(focusingPlayerTimeout); + }; + var focusingPlayerTimeout = setTimeout(function() { + player.off('useractive', cancelFocusingPlayer); + var activeElement = doc.activeElement; + var controlBar = pEl.querySelector('.vjs-control-bar'); + if (activeElement && activeElement.parentElement == controlBar) { + pEl.focus(); + } + }, 10); + + player.one('useractive', cancelFocusingPlayer); + }); + } + + player.on('play', function() { + // Fix allowing the YouTube plugin to have hotkey support. + var ifblocker = pEl.querySelector('.iframeblocker'); + if (ifblocker && ifblocker.style.display === '') { + ifblocker.style.display = "block"; + ifblocker.style.bottom = "39px"; + } + }); + + var keyDown = function keyDown(event) { + var ewhich = event.which, wasPlaying, seekTime; + var ePreventDefault = event.preventDefault; + var duration = player.duration(); + // When controls are disabled, hotkeys will be disabled as well + if (player.controls()) { + + // Don't catch keys if any control buttons are focused, unless alwaysCaptureHotkeys is true + var activeEl = doc.activeElement; + if (alwaysCaptureHotkeys || + activeEl == pEl || + activeEl == pEl.querySelector('.vjs-tech') || + activeEl == pEl.querySelector('.vjs-control-bar') || + activeEl == pEl.querySelector('.iframeblocker')) { + + switch (checkKeys(event, player)) { + // Spacebar toggles play/pause + case cPlay: + ePreventDefault(); + if (alwaysCaptureHotkeys) { + // Prevent control activation with space + event.stopPropagation(); + } + + if (player.paused()) { + player.play(); + } else { + player.pause(); + } + break; + + // Seeking with the left/right arrow keys + case cRewind: // Seek Backward + wasPlaying = !player.paused(); + ePreventDefault(); + if (wasPlaying) { + player.pause(); + } + seekTime = player.currentTime() - seekStepD(event); + // The flash player tech will allow you to seek into negative + // numbers and break the seekbar, so try to prevent that. + if (seekTime <= 0) { + seekTime = 0; + } + player.currentTime(seekTime); + if (wasPlaying) { + player.play(); + } + break; + case cForward: // Seek Forward + wasPlaying = !player.paused(); + ePreventDefault(); + if (wasPlaying) { + player.pause(); + } + seekTime = player.currentTime() + seekStepD(event); + // Fixes the player not sending the end event if you + // try to seek past the duration on the seekbar. + if (seekTime >= duration) { + seekTime = wasPlaying ? duration - .001 : duration; + } + player.currentTime(seekTime); + if (wasPlaying) { + player.play(); + } + break; + + // Volume control with the up/down arrow keys + case cVolumeDown: + ePreventDefault(); + if (!enableJogStyle) { + player.volume(player.volume() - volumeStep); + } else { + seekTime = player.currentTime() - 1; + if (player.currentTime() <= 1) { + seekTime = 0; + } + player.currentTime(seekTime); + } + break; + case cVolumeUp: + ePreventDefault(); + if (!enableJogStyle) { + player.volume(player.volume() + volumeStep); + } else { + seekTime = player.currentTime() + 1; + if (seekTime >= duration) { + seekTime = duration; + } + player.currentTime(seekTime); + } + break; + + // Toggle Mute with the M key + case cMute: + if (enableMute) { + player.muted(!player.muted()); + } + break; + + // Toggle Fullscreen with the F key + case cFullscreen: + if (enableFull) { + if (player.isFullscreen()) { + player.exitFullscreen(); + } else { + player.requestFullscreen(); + } + } + break; + + default: + // Number keys from 0-9 skip to a percentage of the video. 0 is 0% and 9 is 90% + if ((ewhich > 47 && ewhich < 59) || (ewhich > 95 && ewhich < 106)) { + // Do not handle if enableModifiersForNumbers set to false and keys are Ctrl, Cmd or Alt + if (enableModifiersForNumbers || !(event.metaKey || event.ctrlKey || event.altKey)) { + if (enableNumbers) { + var sub = 48; + if (ewhich > 95) { + sub = 96; + } + var number = ewhich - sub; + ePreventDefault(); + player.currentTime(player.duration() * number * 0.1); + } + } + } + + // Handle any custom hotkeys + for (var customKey in options.customKeys) { + var customHotkey = options.customKeys[customKey]; + // Check for well formed custom keys + if (customHotkey && customHotkey.key && customHotkey.handler) { + // Check if the custom key's condition matches + if (customHotkey.key(event)) { + ePreventDefault(); + customHotkey.handler(player, options, event); + } + } + } + } + } + } + }; + + var doubleClick = function doubleClick(event) { + // When controls are disabled, hotkeys will be disabled as well + if (player.controls()) { + + // Don't catch clicks if any control buttons are focused + var activeEl = event.relatedTarget || event.toElement || doc.activeElement; + if (activeEl == pEl || + activeEl == pEl.querySelector('.vjs-tech') || + activeEl == pEl.querySelector('.iframeblocker')) { + + if (enableFull) { + if (player.isFullscreen()) { + player.exitFullscreen(); + } else { + player.requestFullscreen(); + } + } + } + } + }; + + var mouseScroll = function mouseScroll(event) { + // When controls are disabled, hotkeys will be disabled as well + if (player.controls()) { + var activeEl = doc.activeElement; + if (alwaysCaptureHotkeys || + activeEl == pEl || + activeEl == pEl.querySelector('.vjs-tech') || + activeEl == pEl.querySelector('.iframeblocker') || + activeEl == pEl.querySelector('.vjs-control-bar')) { + + if (enableVolumeScroll) { + event = window.event || event; + var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); + event.preventDefault(); + + if (delta == 1) { + player.volume(player.volume() + volumeStep); + } else if (delta == -1) { + player.volume(player.volume() - volumeStep); + } + } + } + } + }; + + var checkKeys = function checkKeys(e, player) { + // Allow some modularity in defining custom hotkeys + + // Play/Pause check + if (options.playPauseKey(e, player)) { + return cPlay; + } + + // Seek Backward check + if (options.rewindKey(e, player)) { + return cRewind; + } + + // Seek Forward check + if (options.forwardKey(e, player)) { + return cForward; + } + + // Volume Up check + if (options.volumeUpKey(e, player)) { + return cVolumeUp; + } + + // Volume Down check + if (options.volumeDownKey(e, player)) { + return cVolumeDown; + } + + // Mute check + if (options.muteKey(e, player)) { + return cMute; + } + + // Fullscreen check + if (options.fullscreenKey(e, player)) { + return cFullscreen; + } + }; + + function playPauseKey(e) { + // Space bar or MediaPlayPause + return (e.which === 32 || e.which === 179); + } + + function rewindKey(e) { + // Left Arrow or MediaRewind + return (e.which === 37 || e.which === 177); + } + + function forwardKey(e) { + // Right Arrow or MediaForward + return (e.which === 39 || e.which === 176); + } + + function volumeUpKey(e) { + // Up Arrow + return (e.which === 38); + } + + function volumeDownKey(e) { + // Down Arrow + return (e.which === 40); + } + + function muteKey(e) { + // M key + return (e.which === 77); + } + + function fullscreenKey(e) { + // F key + return (e.which === 70); + } + + function seekStepD(e) { + // SeekStep caller, returns an int, or a function returning an int + return (typeof seekStep === "function" ? seekStep(e) : seekStep); + } + + player.on('keydown', keyDown); + player.on('dblclick', doubleClick); + player.on('mousewheel', mouseScroll); + player.on("DOMMouseScroll", mouseScroll); + + return this; + }; + + var registerPlugin = videojs.registerPlugin || videojs.plugin; + registerPlugin('hotkeys', hotkeys); +})); diff --git a/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js new file mode 100644 index 0000000..4422ad8 --- /dev/null +++ b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js @@ -0,0 +1,3 @@ +/* videojs-hotkeys v0.2.22 - https://github.com/ctd1500/videojs-hotkeys */ +!function(e,t){"undefined"!=typeof window&&window.videojs?t(window.videojs):"function"==typeof define&&define.amd?define("videojs-hotkeys",["video.js"],function(e){return t(e.default||e)}):"undefined"!=typeof module&&module.exports&&(module.exports=t(require("video.js")))}(0,function(e){"use strict";"undefined"!=typeof window&&(window.videojs_hotkeys={version:"0.2.22"});(e.registerPlugin||e.plugin)("hotkeys",function(t){function r(e){return"function"==typeof a?a(e):a}var n=this,o=n.el(),u=document,l={volumeStep:.1,seekStep:5,enableMute:!0,enableVolumeScroll:!0,enableFullscreen:!0,enableNumbers:!0,enableJogStyle:!1,alwaysCaptureHotkeys:!1,enableModifiersForNumbers:!0,enableInactiveFocus:!0,skipInitialFocus:!1,playPauseKey:function(e){return 32===e.which||179===e.which},rewindKey:function(e){return 37===e.which||177===e.which},forwardKey:function(e){return 39===e.which||176===e.which},volumeUpKey:function(e){return 38===e.which},volumeDownKey:function(e){return 40===e.which},muteKey:function(e){return 77===e.which},fullscreenKey:function(e){return 70===e.which},customKeys:{}},i=e.mergeOptions||e.util.mergeOptions,c=(t=i(l,t||{})).volumeStep,a=t.seekStep,s=t.enableMute,m=t.enableVolumeScroll,y=t.enableFullscreen,f=t.enableNumbers,v=t.enableJogStyle,d=t.alwaysCaptureHotkeys,p=t.enableModifiersForNumbers,b=t.enableInactiveFocus,h=t.skipInitialFocus;o.hasAttribute("tabIndex")||o.setAttribute("tabIndex","-1"),o.style.outline="none",!d&&n.autoplay()||h||n.one("play",function(){o.focus()}),b&&n.on("userinactive",function(){var e=function(){clearTimeout(t)},t=setTimeout(function(){n.off("useractive",e);var t=u.activeElement,r=o.querySelector(".vjs-control-bar");t&&t.parentElement==r&&o.focus()},10);n.one("useractive",e)}),n.on("play",function(){var e=o.querySelector(".iframeblocker");e&&""===e.style.display&&(e.style.display="block",e.style.bottom="39px")});var w=function(e){if(n.controls()){var t=u.activeElement;if((d||t==o||t==o.querySelector(".vjs-tech")||t==o.querySelector(".iframeblocker")||t==o.querySelector(".vjs-control-bar"))&&m){e=window.event||e;var r=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault(),1==r?n.volume(n.volume()+c):-1==r&&n.volume(n.volume()-c)}}},k=function(e,r){return t.playPauseKey(e,r)?1:t.rewindKey(e,r)?2:t.forwardKey(e,r)?3:t.volumeUpKey(e,r)?4:t.volumeDownKey(e,r)?5:t.muteKey(e,r)?6:t.fullscreenKey(e,r)?7:void 0};return n.on("keydown",function(e){var l,i,a=e.which,m=e.preventDefault,b=n.duration();if(n.controls()){var h=u.activeElement;if(d||h==o||h==o.querySelector(".vjs-tech")||h==o.querySelector(".vjs-control-bar")||h==o.querySelector(".iframeblocker"))switch(k(e,n)){case 1:m(),d&&e.stopPropagation(),n.paused()?n.play():n.pause();break;case 2:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()-r(e))<=0&&(i=0),n.currentTime(i),l&&n.play();break;case 3:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()+r(e))>=b&&(i=l?b-.001:b),n.currentTime(i),l&&n.play();break;case 5:m(),v?(i=n.currentTime()-1,n.currentTime()<=1&&(i=0),n.currentTime(i)):n.volume(n.volume()-c);break;case 4:m(),v?((i=n.currentTime()+1)>=b&&(i=b),n.currentTime(i)):n.volume(n.volume()+c);break;case 6:s&&n.muted(!n.muted());break;case 7:y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen());break;default:if((a>47&&a<59||a>95&&a<106)&&(p||!(e.metaKey||e.ctrlKey||e.altKey))&&f){var w=48;a>95&&(w=96);var K=a-w;m(),n.currentTime(n.duration()*K*.1)}for(var S in t.customKeys){var F=t.customKeys[S];F&&F.key&&F.handler&&F.key(e)&&(m(),F.handler(n,t,e))}}}}),n.on("dblclick",function(e){if(n.controls()){var t=e.relatedTarget||e.toElement||u.activeElement;t!=o&&t!=o.querySelector(".vjs-tech")&&t!=o.querySelector(".iframeblocker")||y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen())}}),n.on("mousewheel",w),n.on("DOMMouseScroll",w),this})}); +//# sourceMappingURL=videojs.hotkeys.min.js.map
\ No newline at end of file diff --git a/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js.map b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js.map new file mode 100644 index 0000000..0cace8c --- /dev/null +++ b/assets/netcut/lib/videojs-hotkeys/videojs.hotkeys.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["videojs.hotkeys.js"],"names":["root","factory","window","videojs","define","amd","module","default","exports","require","this","version","registerPlugin","plugin","options","seekStepD","e","seekStep","player","pEl","el","doc","document","def_options","volumeStep","enableMute","enableVolumeScroll","enableFullscreen","enableNumbers","enableJogStyle","alwaysCaptureHotkeys","enableModifiersForNumbers","enableInactiveFocus","skipInitialFocus","playPauseKey","which","rewindKey","forwardKey","volumeUpKey","volumeDownKey","muteKey","fullscreenKey","customKeys","mergeOptions","util","enableFull","hasAttribute","setAttribute","style","outline","autoplay","one","focus","on","cancelFocusingPlayer","clearTimeout","focusingPlayerTimeout","setTimeout","off","activeElement","controlBar","querySelector","parentElement","ifblocker","display","bottom","mouseScroll","event","controls","activeEl","delta","Math","max","min","wheelDelta","detail","preventDefault","volume","checkKeys","wasPlaying","seekTime","ewhich","ePreventDefault","duration","stopPropagation","paused","play","pause","currentTime","muted","isFullscreen","exitFullscreen","requestFullscreen","metaKey","ctrlKey","altKey","sub","number","customKey","customHotkey","key","handler","relatedTarget","toElement"],"mappings":"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","file":"videojs.hotkeys.min.js"}
\ No newline at end of file |