1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update fullscreen toggle

This commit is contained in:
Luke Pulverenti 2017-01-04 23:01:02 -05:00
parent 1224340c18
commit 17c23b1c8c
4 changed files with 48 additions and 19 deletions

View file

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.442",
"_release": "1.4.442",
"version": "1.4.443",
"_release": "1.4.443",
"_resolution": {
"type": "version",
"tag": "1.4.442",
"commit": "f4fbcdd53e93fcc3c5a8ce58c5f8ba63be77a4ee"
"tag": "1.4.443",
"commit": "06bd97079047cdcad2a97f6475fe7022bc1c819f"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View file

@ -207,7 +207,7 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan
hls.on(Hls.Events.ERROR, function (event, data) {
console.log('HLS Error: Type: ' + data.type + ' Details: ' + (data.details || '') + ' Fatal: ' + data.fatal);
console.log('HLS Error: Type: ' + data.type + ' Details: ' + (data.details || '') + ' Fatal: ' + (data.fatal || false));
if (data.fatal) {
switch (data.type) {

View file

@ -1,4 +1,4 @@
define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'globalize', 'connectionManager', 'loading', 'serverNotifications'], function (events, datetime, appSettings, pluginManager, userSettings, globalize, connectionManager, loading, serverNotifications) {
define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'globalize', 'connectionManager', 'loading', 'serverNotifications', 'apphost', 'fullscreenManager'], function (events, datetime, appSettings, pluginManager, userSettings, globalize, connectionManager, loading, serverNotifications, apphost, fullscreenManager) {
'use strict';
function enableLocalPlaylistManagement(player) {
@ -180,7 +180,7 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
if (player.isLocalPlayer) {
// Full list
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs
return [
var list = [
"GoHome",
"GoToSettings",
"VolumeUp",
@ -197,6 +197,12 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
"DisplayMessage",
"SetRepeatMode"
];
if (apphost.supports('fullscreenchange')) {
list.push('ToggleFullscreen');
}
return list;
}
throw new Error('player must define supported commands');
@ -681,6 +687,30 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
});
};
self.isFullscreen = function (player) {
player = player || currentPlayer;
if (!player.isLocalPlayer || player.isFullscreen) {
return player.isFullscreen();
}
return fullscreenManager.isFullScreen();
};
self.toggleFullscreen = function(player) {
player = player || currentPlayer;
if (!player.isLocalPlayer || player.toggleFulscreen) {
return player.toggleFulscreen();
}
if (fullscreenManager.isFullScreen()) {
fullscreenManager.exitFullscreen();
} else {
fullscreenManager.requestFullscreen();
}
};
self.getSubtitleStreamIndex = function (player) {
player = player || currentPlayer;

View file

@ -1,4 +1,4 @@
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) {
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) {
'use strict';
function seriesImageUrl(item, options) {
@ -379,7 +379,7 @@
}
function updateFullscreenIcon() {
if (fullscreenManager.isFullScreen()) {
if (playbackManager.isFullscreen(currentPlayer)) {
view.querySelector('.btnFullscreen i').innerHTML = '';
} else {
view.querySelector('.btnFullscreen i').innerHTML = '';
@ -403,7 +403,6 @@
showOsd();
inputManager.on(window, onInputCommand);
updateFullscreenIcon();
});
view.addEventListener('viewbeforehide', function () {
@ -421,10 +420,6 @@
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) {
@ -433,11 +428,7 @@
});
view.querySelector('.btnFullscreen').addEventListener('click', function () {
if (fullscreenManager.isFullScreen()) {
fullscreenManager.exitFullscreen();
} else {
fullscreenManager.requestFullscreen();
}
playbackManager.toggleFullscreen(currentPlayer);
});
view.querySelector('.btnSettings').addEventListener('click', onSettingsButtonClick);
@ -635,6 +626,14 @@
} else {
view.querySelector('.btnSettings').classList.add('hide');
}
if (supportedCommands.indexOf('ToggleFullscreen') === -1) {
view.querySelector('.btnFullscreen').classList.add('hide');
} else {
view.querySelector('.btnFullscreen').classList.remove('hide');
}
updateFullscreenIcon();
}
function updateTimeDisplay(positionTicks, runtimeTicks) {