mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
3.0.5231.40980
This commit is contained in:
parent
ee5eefb01e
commit
8a5cd4b491
@ -856,7 +856,7 @@ progress {
|
||||
.activeSession {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
margin: 5px;
|
||||
margin: 4px;
|
||||
width: 275px;
|
||||
height: 154.6875px;
|
||||
}
|
||||
@ -934,13 +934,18 @@ progress {
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.activeDevicesCollapsible .ui-collapsible-content {
|
||||
padding: .25em!important;
|
||||
}
|
||||
|
||||
.activeSession:not(.playingSession) .sessionNowPlayingContent {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.activeSession:not(.playingSession) .sessionNowPlayingInnerContent {
|
||||
background-color: #f0f0f0;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.activeSession:not(.playingSession) .sessionUserInfo, .activeSession:not(.playingSession) .sessionNowPlayingInfo {
|
||||
|
@ -60,7 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-role="collapsible" data-collapsed="false" style="margin-top: 2em;">
|
||||
<div class="activeDevicesCollapsible" data-role="collapsible" data-collapsed="false" data-content-theme="false" style="margin-top: 2em;">
|
||||
<h3>${HeaderActiveDevices}</h3>
|
||||
<div class="activeDevices">
|
||||
</div>
|
||||
|
@ -150,7 +150,7 @@
|
||||
<ul data-role="listview" class="ulForm">
|
||||
<li>
|
||||
<label for="txtInfoFriendlyName">Friendly name</label>
|
||||
<input type="text" id="txtInfoFriendlyName" data-mini="true" />
|
||||
<input type="text" id="txtInfoFriendlyName" data-mini="true" required="required" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="txtInfoManufacturer">Manufacturer</label>
|
||||
|
@ -20,17 +20,17 @@
|
||||
<div class="tabNowPlaying tabContent">
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal">
|
||||
<button data-icon="previous-track" data-inline="true" data-iconpos="notext" title="${ButtonHome}" class="btnPreviousTrack btnPlayStateCommand" data-command="GoHome">${ButtonHome}</button>
|
||||
<button data-icon="pause" data-inline="true" data-iconpos="notext" title="${ButtonHome}" class="btnPause btnPlayStateCommand" data-command="GoHome">${ButtonHome}</button>
|
||||
<button data-icon="play" data-inline="true" data-iconpos="notext" title="${ButtonHome}" class="btnPlay btnPlayStateCommand" data-command="GoHome">${ButtonHome}</button>
|
||||
<button data-icon="stop" data-inline="true" data-iconpos="notext" title="${ButtonHome}" class="btnStop btnPlayStateCommand" data-command="GoHome">${ButtonHome}</button>
|
||||
<button data-icon="next-track" data-inline="true" data-iconpos="notext" title="${ButtonSearch}" class="btnNextTrack btnPlayStateCommand" data-command="GoToSearch">${ButtonSearch}</button>
|
||||
<button data-icon="previous-track" data-inline="true" data-iconpos="notext" title="${ButtonPreviousTrack}" class="btnPreviousTrack btnPlayStateCommand" data-command="GoHome">${ButtonPreviousTrack}</button>
|
||||
<button data-icon="pause" data-inline="true" data-iconpos="notext" title="${ButtonPause}" class="btnPause btnPlayStateCommand" data-command="GoHome">${ButtonPause}</button>
|
||||
<button data-icon="play" data-inline="true" data-iconpos="notext" title="${ButtonPlay}" class="btnPlay btnPlayStateCommand" data-command="GoHome">${ButtonPlay}</button>
|
||||
<button data-icon="stop" data-inline="true" data-iconpos="notext" title="${ButtonStop}" class="btnStop btnPlayStateCommand" data-command="GoHome">${ButtonStop}</button>
|
||||
<button data-icon="next-track" data-inline="true" data-iconpos="notext" title="${ButtonNextTrack}" class="btnNextTrack btnPlayStateCommand" data-command="GoToSearch">${ButtonNextTrack}</button>
|
||||
</div>
|
||||
<div data-role="controlgroup" data-type="horizontal">
|
||||
<button data-icon="audiocd" data-inline="true" data-iconpos="notext" title="${ButtonSearch}" class="btnAudioTracks btnPlayStateCommand" data-command="GoToSearch">${ButtonSearch}</button>
|
||||
<button data-icon="subtitles" data-inline="true" data-iconpos="notext" title="${ButtonSearch}" class="btnSubtitles btnPlayStateCommand" data-command="GoToSearch">${ButtonSearch}</button>
|
||||
<button data-icon="video" data-inline="true" data-iconpos="notext" title="${ButtonSearch}" class="btnChapters btnPlayStateCommand" data-command="GoToSearch">${ButtonSearch}</button>
|
||||
<button data-icon="expand" data-inline="true" data-iconpos="notext" title="${ButtonSearch}" class="btnToggleFullscreen btnPlayStateCommand" data-command="ToggleFullscreen">${ButtonSearch}</button>
|
||||
<button data-icon="audiocd" data-inline="true" data-iconpos="notext" title="${ButtonAudioTracks}" class="btnAudioTracks btnPlayStateCommand" data-command="GoToSearch">${ButtonAudioTracks}</button>
|
||||
<button data-icon="subtitles" data-inline="true" data-iconpos="notext" title="${ButtonSubtitles}" class="btnSubtitles btnPlayStateCommand" data-command="GoToSearch">${ButtonSubtitles}</button>
|
||||
<button data-icon="video" data-inline="true" data-iconpos="notext" title="${ButtonScenes}" class="btnChapters btnPlayStateCommand" data-command="GoToSearch">${ButtonScenes}</button>
|
||||
<button data-icon="expand" data-inline="true" data-iconpos="notext" title="${ButtonFullscreen}" class="btnToggleFullscreen btnPlayStateCommand" data-command="ToggleFullscreen">${ButtonFullscreen}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -587,7 +587,7 @@
|
||||
this.timer = setInterval(this.incrementMediaTimeHandler, this.timerStep);
|
||||
};
|
||||
|
||||
var castPlayer = new CastPlayer();
|
||||
//var castPlayer = new CastPlayer();
|
||||
|
||||
function getCodecLimits() {
|
||||
|
||||
@ -1477,16 +1477,16 @@
|
||||
};
|
||||
}
|
||||
|
||||
MediaController.registerPlayer(new chromecastPlayer());
|
||||
//MediaController.registerPlayer(new chromecastPlayer());
|
||||
|
||||
$(MediaController).on('playerchange', function () {
|
||||
//$(MediaController).on('playerchange', function () {
|
||||
|
||||
if (MediaController.getPlayerInfo().name == PlayerName) {
|
||||
// if (MediaController.getPlayerInfo().name == PlayerName) {
|
||||
|
||||
if (castPlayer.deviceState != DEVICE_STATE.ACTIVE && castPlayer.isInitialized) {
|
||||
castPlayer.launchApp();
|
||||
}
|
||||
}
|
||||
});
|
||||
// if (castPlayer.deviceState != DEVICE_STATE.ACTIVE && castPlayer.isInitialized) {
|
||||
// castPlayer.launchApp();
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
|
||||
})(window, window.chrome, console);
|
@ -16,7 +16,7 @@
|
||||
|
||||
html += '<a class="desktopHomeLink" href="index.html"><img src="css/images/mblogoicon.png" /></a>';
|
||||
|
||||
html += '<a class="viewMenuRemoteControlButton" href="nowplaying.html" data-role="button" data-icon="play" data-inline="true" data-iconpos="notext" title="Now Playing">Remote Control</a>';
|
||||
html += '<a class="viewMenuRemoteControlButton" href="nowplaying.html" data-role="button" data-icon="play" data-inline="true" data-iconpos="notext" title="Now Playing" style="display:none;">Remote Control</a>';
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
html += '<a class="editorMenuLink" href="edititemmetadata.html" data-role="button" data-icon="edit" data-inline="true" data-iconpos="notext" title="Metadata Manager">Metadata Manager</a>';
|
||||
|
@ -10,8 +10,7 @@
|
||||
IncludeItemTypes: "Movie",
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
StartIndex: 0,
|
||||
CollapseBoxSetItems: true
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function reloadItems(page) {
|
||||
|
@ -388,7 +388,7 @@
|
||||
|
||||
player.getPlayerState().done(function (state) {
|
||||
|
||||
if (state.itemName) {
|
||||
if (state.NowPlayingItem) {
|
||||
player.beginPlayerUpdates();
|
||||
}
|
||||
|
||||
|
@ -89,9 +89,9 @@
|
||||
|
||||
$('.btnToggleFullscreen', page).buttonEnabled(item && item.MediaType == 'Video' && supportedCommands.indexOf('ToggleFullscreen') != -1);
|
||||
|
||||
$('.btnAudioTracks', page).buttonEnabled(item != null);
|
||||
$('.btnSubtitles', page).buttonEnabled(item != null);
|
||||
$('.btnChapters', page).buttonEnabled(item != null);
|
||||
$('.btnAudioTracks', page).buttonEnabled(false);
|
||||
$('.btnSubtitles', page).buttonEnabled(false);
|
||||
$('.btnChapters', page).buttonEnabled(false);
|
||||
|
||||
$('.btnStop', page).buttonEnabled(item != null);
|
||||
$('.btnNextTrack', page).buttonEnabled(item != null);
|
||||
@ -142,7 +142,7 @@
|
||||
|
||||
player.getPlayerState().done(function (state) {
|
||||
|
||||
if (state.itemName) {
|
||||
if (state.NowPlayingItem) {
|
||||
player.beginPlayerUpdates();
|
||||
}
|
||||
|
||||
@ -168,6 +168,13 @@
|
||||
|
||||
bindEvents(page);
|
||||
|
||||
}).on('pageshow', "#nowPlayingPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
|
||||
$('.radioTabButton:first', page).checked(true).checkboxradio('refresh').trigger('change');
|
||||
|
||||
$(function () {
|
||||
|
||||
$(MediaController).on('playerchange.nowplayingpage', function () {
|
||||
@ -179,13 +186,6 @@
|
||||
|
||||
});
|
||||
|
||||
}).on('pageshow', "#nowPlayingPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
|
||||
$('.radioTabButton:first', page).checked(true).checkboxradio('refresh').trigger('change');
|
||||
|
||||
}).on('pagehide', "#nowPlayingPage", function () {
|
||||
|
||||
releaseCurrentPlayer();
|
||||
|
@ -167,16 +167,20 @@
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
function subscribeToPlayerUpdates() {
|
||||
self.subscribeToPlayerUpdates = function () {
|
||||
|
||||
self.isUpdating = true;
|
||||
|
||||
if (ApiClient.isWebSocketOpen()) {
|
||||
|
||||
ApiClient.sendWebSocketMessage("SessionsStart", "100,700");
|
||||
ApiClient.sendWebSocketMessage("SessionsStart", "100,900");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function unsubscribeFromPlayerUpdates() {
|
||||
|
||||
self.false = true;
|
||||
|
||||
if (ApiClient.isWebSocketOpen()) {
|
||||
|
||||
ApiClient.sendWebSocketMessage("SessionsStop");
|
||||
@ -190,7 +194,7 @@
|
||||
|
||||
playerListenerCount = 0;
|
||||
|
||||
subscribeToPlayerUpdates();
|
||||
self.subscribeToPlayerUpdates();
|
||||
}
|
||||
|
||||
playerListenerCount++;
|
||||
@ -259,6 +263,14 @@
|
||||
$(player).trigger(name, [getPlayerState(session)]);
|
||||
}
|
||||
|
||||
function onWebSocketConnectionChange() {
|
||||
|
||||
// Reconnect
|
||||
if (player.isUpdating) {
|
||||
player.subscribeToPlayerUpdates();
|
||||
}
|
||||
}
|
||||
|
||||
function onWebSocketMessageReceived(e, msg) {
|
||||
|
||||
if (msg.MessageType === "Sessions") {
|
||||
@ -291,6 +303,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
$(ApiClient).on("websocketmessage", onWebSocketMessageReceived);
|
||||
$(ApiClient).on("websocketmessage", onWebSocketMessageReceived).on("websocketopen", onWebSocketConnectionChange);
|
||||
|
||||
})(window, document, jQuery);
|
@ -33,6 +33,8 @@
|
||||
$('#chkDisplayMissingEpisodes', page).checked(user.Configuration.DisplayMissingEpisodes || false).checkboxradio("refresh");
|
||||
$('#chkDisplayUnairedEpisodes', page).checked(user.Configuration.DisplayUnairedEpisodes || false).checkboxradio("refresh");
|
||||
|
||||
$('#chkGroupMoviesIntoCollections', page).checked(user.Configuration.GroupMoviesIntoBoxSets || false).checkboxradio("refresh");
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
@ -58,6 +60,7 @@
|
||||
user.Configuration.UseForcedSubtitlesOnly = $('#chkForcedSubtitlesOnly', page).checked();
|
||||
user.Configuration.DisplayMissingEpisodes = $('#chkDisplayMissingEpisodes', page).checked();
|
||||
user.Configuration.DisplayUnairedEpisodes = $('#chkDisplayUnairedEpisodes', page).checked();
|
||||
user.Configuration.GroupMoviesIntoBoxSets = $('#chkGroupMoviesIntoCollections', page).checked();
|
||||
|
||||
ApiClient.updateUser(user).done(function () {
|
||||
onSaveComplete(page);
|
||||
|
@ -182,6 +182,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
||||
|
||||
self.sendWebSocketMessage = function (name, data) {
|
||||
|
||||
console.log('Sending web socket message: ' + name);
|
||||
|
||||
var msg = { MessageType: name };
|
||||
|
||||
if (data) {
|
||||
|
@ -25,6 +25,11 @@
|
||||
<input type="checkbox" id="chkDisplayUnairedEpisodes" data-mini="true" />
|
||||
<label for="chkDisplayUnairedEpisodes">${LabelUnairedMissingEpisodesWithinSeasons}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="chkGroupMoviesIntoCollections" data-mini="true" />
|
||||
<label for="chkGroupMoviesIntoCollections">${LabelGroupMoviesIntoCollections}</label>
|
||||
<div class="fieldDescription">${LabelGroupMoviesIntoCollectionsHelp}</div>
|
||||
</div>
|
||||
<br />
|
||||
<h2>${HeaderVideoPlaybackSettings}</h2>
|
||||
<ul data-role="listview" class="ulForm">
|
||||
|
Loading…
Reference in New Issue
Block a user