From b9268337c343ffec0eccd524fdaa17a787e85b5f Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Mon, 10 Sep 2018 15:22:05 +0200 Subject: [PATCH] Videoplayer: Move loop functions outside of videojs() --- .../nodes/custom/asset/video/view_embed.pug | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/templates/nodes/custom/asset/video/view_embed.pug b/src/templates/nodes/custom/asset/video/view_embed.pug index c9146a9d..613a42d9 100644 --- a/src/templates/nodes/custom/asset/video/view_embed.pug +++ b/src/templates/nodes/custom/asset/video/view_embed.pug @@ -81,47 +81,6 @@ script(type="text/javascript"). this.rememberVolumePlugin(); - // Generic utility to add-buttons to the player. - function addVideoPlayerButton(data) { - - var controlBar, - newButton = document.createElement('button'), - buttonContent = document.createElement('span'); - - newButton.className = 'vjs-control vjs-button ' + data.class; - buttonContent.className = 'vjs-icon-placeholder'; - newButton.setAttribute('title', data.title); - - newButton.appendChild(buttonContent); - controlBar = document.getElementsByClassName('vjs-control-bar')[0]; - insertBeforeButton = document.getElementsByClassName('vjs-fullscreen-control')[0]; - controlBar.insertBefore(newButton, insertBeforeButton); - - return newButton; - } - - // Video loop stuff. TODO: Move it to video_plugins.js - var videoPlayerLoopButton = addVideoPlayerButton({ - player: videoPlayer, - class: 'vjs-loop-button', - icon: 'pi-replay', - title: 'Loop' - }); - - function videoPlayerToggleLoop(videoPlayer, videoPlayerLoopButton) { - if (videoPlayer.loop){ - videoPlayer.loop = false; - $(videoPlayerLoopButton).removeClass('vjs-control-active'); - } else { - videoPlayer.loop = true; - $(videoPlayerLoopButton).addClass('vjs-control-active'); - } - } - - videoPlayerLoopButton.onclick = function() { - videoPlayerToggleLoop(videoPlayer, videoPlayerLoopButton); - }; - {% if current_user.is_authenticated %} let fetch_progress_url = '{{ url_for("users_api.get_video_progress", video_id=node._id) }}'; let report_url = '{{ url_for("users_api.set_video_progress", video_id=node._id) }}'; @@ -134,6 +93,47 @@ script(type="text/javascript"). {% endif %} }); + // Generic utility to add-buttons to the player. + function addVideoPlayerButton(data) { + + var controlBar, + newButton = document.createElement('button'), + buttonContent = document.createElement('span'); + + newButton.className = 'vjs-control vjs-button ' + data.class; + buttonContent.className = 'vjs-icon-placeholder'; + newButton.setAttribute('title', data.title); + + newButton.appendChild(buttonContent); + controlBar = document.getElementsByClassName('vjs-control-bar')[0]; + insertBeforeButton = document.getElementsByClassName('vjs-fullscreen-control')[0]; + controlBar.insertBefore(newButton, insertBeforeButton); + + return newButton; + } + + // Video loop stuff. TODO: Move it to video_plugins.js + var videoPlayerLoopButton = addVideoPlayerButton({ + player: videoPlayer, + class: 'vjs-loop-button', + icon: 'pi-replay', + title: 'Loop' + }); + + function videoPlayerToggleLoop(videoPlayer, videoPlayerLoopButton) { + if (videoPlayer.loop){ + videoPlayer.loop = false; + $(videoPlayerLoopButton).removeClass('vjs-control-active'); + } else { + videoPlayer.loop = true; + $(videoPlayerLoopButton).addClass('vjs-control-active'); + } + } + + videoPlayerLoopButton.onclick = function() { + videoPlayerToggleLoop(videoPlayer, videoPlayerLoopButton); + }; + {% endif %} // if node.video_sources | {% endblock node_scripts %}