diff --git a/dashboard-ui/bower_components/emby-webcomponents/fullscreen/fullscreenmanager.js b/dashboard-ui/bower_components/emby-webcomponents/fullscreen/fullscreenmanager.js index 18a4eb7b12..e2f98bfc88 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/fullscreen/fullscreenmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/fullscreen/fullscreenmanager.js @@ -38,5 +38,14 @@ define([], function () { return document.fullscreen || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement ? true : false; }; + fullscreenManager.prototype.toggleFullscreen = function () { + + if (this.isFullScreen()) { + this.exitFullscreen(); + } else { + this.requestFullscreen(); + } + }; + return new fullscreenManager(); }); \ No newline at end of file diff --git a/dashboard-ui/scripts/videoosd.js b/dashboard-ui/scripts/videoosd.js index 0b5d96b885..b0e80efe1b 100644 --- a/dashboard-ui/scripts/videoosd.js +++ b/dashboard-ui/scripts/videoosd.js @@ -1,4 +1,4 @@ -define(['playbackManager', 'dom', 'inputmanager', 'datetime', 'itemHelper', 'mediaInfo', 'focusManager', 'imageLoader', 'scrollHelper', 'events', 'connectionManager', 'browser', 'globalize', 'apphost', 'scrollStyles', 'emby-slider'], function (playbackManager, dom, inputManager, datetime, itemHelper, mediaInfo, focusManager, imageLoader, scrollHelper, events, connectionManager, browser, globalize, appHost) { +define(['playbackManager', 'dom', 'inputmanager', 'datetime', 'itemHelper', 'mediaInfo', 'focusManager', 'imageLoader', 'scrollHelper', 'events', 'connectionManager', 'browser', 'globalize', 'apphost', 'fullscreenManager', 'scrollStyles', 'emby-slider'], function (playbackManager, dom, inputManager, datetime, itemHelper, mediaInfo, focusManager, imageLoader, scrollHelper, events, connectionManager, browser, globalize, appHost, fullscreenManager) { 'use strict'; function seriesImageUrl(item, options) { @@ -378,6 +378,14 @@ } } + function updateFullscreenIcon() { + if (fullscreenManager.isFullScreen()) { + view.querySelector('.btnFullscreen i').innerHTML = ''; + } else { + view.querySelector('.btnFullscreen i').innerHTML = ''; + } + } + view.addEventListener('viewbeforeshow', function (e) { getHeaderElement().classList.add('osdHeader'); @@ -395,6 +403,7 @@ showOsd(); inputManager.on(window, onInputCommand); + updateFullscreenIcon(); }); view.addEventListener('viewbeforehide', function () { @@ -412,6 +421,10 @@ view.querySelector('.btnCast').classList.remove('hide'); } + if (appHost.supports('fullscreenchange')) { + view.querySelector('.btnFullscreen').classList.remove('hide'); + } + view.querySelector('.btnCast').addEventListener('click', function () { var btn = this; require(['playerSelectionMenu'], function (playerSelectionMenu) { @@ -419,6 +432,10 @@ }); }); + view.querySelector('.btnFullscreen').addEventListener('click', function () { + fullscreenManager.toggleFullscreen(); + }); + view.querySelector('.btnSettings').addEventListener('click', onSettingsButtonClick); function onPlayerChange() { diff --git a/dashboard-ui/videoosd.html b/dashboard-ui/videoosd.html index 5be384e54f..1a0f890858 100644 --- a/dashboard-ui/videoosd.html +++ b/dashboard-ui/videoosd.html @@ -210,6 +210,9 @@ +