mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update now playing loading
This commit is contained in:
parent
fe154d4483
commit
b63aaeb909
2 changed files with 158 additions and 176 deletions
|
@ -1,167 +1,5 @@
|
|||
define(['browser', 'paper-fab', 'paper-tabs', 'paper-slider', 'paper-icon-button'], function (browser) {
|
||||
|
||||
function getAnimatedPagesHtml() {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<div class="nowPlayingPageTab hide" data-tab="0">\
|
||||
<div style="text-align:center;">\
|
||||
<div class="nowPlayingPageTitle" style="line-height: normal;">\
|
||||
</div>\
|
||||
<div class="nowPlayingInfoMetadata">\
|
||||
<div class="nowPlayingPageImage" style="margin: 1em auto;"></div>\
|
||||
<div class="nowPlayingPageTimeContainer">\
|
||||
<div>\
|
||||
<paper-slider pin step="1" min="0" max="100" value="0" class="nowPlayingPositionSlider"></paper-slider>\
|
||||
</div>\
|
||||
<div style="text-align:left;">\
|
||||
<div class="positionTime" style="float:left;"></div>\
|
||||
<div class="runtime" style="float: right;"></div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="nowPlayingInfoButtons">\
|
||||
<div>\
|
||||
<paper-fab icon="skip-previous" class="btnPreviousTrack btnPlayStateCommand subdued" title="${ButtonPreviousTrack}"></paper-fab>\
|
||||
<paper-fab icon="pause" class="btnPause btnPlayStateCommand subdued" title="${ButtonPause}"></paper-fab>\
|
||||
<paper-fab icon="play-arrow" class="btnPlay btnPlayStateCommand subdued" title="${ButtonPlay}"></paper-fab>\
|
||||
<paper-fab icon="stop" class="btnPlayStateCommand btnStop subdued" title="${ButtonStop}"></paper-fab>\
|
||||
<paper-fab icon="skip-next" class="btnPlayStateCommand btnNextTrack subdued" title="${ButtonNextTrack}"></paper-fab>\
|
||||
</div>\
|
||||
<div class="buttonsRow2">\
|
||||
<paper-fab icon="audiotrack" class="btnAudioTracks videoButton btnPlayStateCommand subdued" title="${ButtonAudioTracks}" data-command="GoToSearch"></paper-fab>\
|
||||
<paper-fab icon="closed-caption" class="btnSubtitles videoButton btnPlayStateCommand subdued" title="${ButtonSubtitles}" data-command="GoToSearch"></paper-fab>\
|
||||
<paper-fab icon="movie" class="btnChapters videoButton btnPlayStateCommand subdued" title="${ButtonScenes}" data-command="GoToSearch"></paper-fab>\
|
||||
<paper-fab icon="fullscreen" class="btnToggleFullscreen videoButton btnPlayStateCommand subdued" title="${ButtonFullscreen}" data-command="ToggleFullscreen"></paper-fab>\
|
||||
</div>\
|
||||
<!--<div class="buttonsRow3">\
|
||||
<paper-fab icon="info" class="btnCommand videoButton subdued" title="${ButtonOsd}" data-command="ToggleOsdMenu"></paper-fab>\
|
||||
</div>-->\
|
||||
<div>\
|
||||
<paper-fab icon="repeat" class="btnCommand subdued repeatToggleButton" title="${ButtonRepeat}" data-command="SetRepeatMode"></paper-fab>\
|
||||
<paper-fab icon="volume-off" class="btnCommand subdued volumeButton" title="${ButtonMute}" data-command="ToggleMute"></paper-fab>\
|
||||
<paper-fab icon="volume-down" class="btnCommand subdued volumeButton" title="${ButtonVolumeDown}" data-command="VolumeDown"></paper-fab>\
|
||||
<paper-fab icon="volume-up" class="btnCommand subdued volumeButton" title="${ButtonVolumeUp}" data-command="VolumeUp"></paper-fab>\
|
||||
</div>\
|
||||
<div class="nowPlayingPageUserDataButtons" style="margin-top:1em;">\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="nowPlayingPageTab hide" data-tab="1">\
|
||||
<div style="text-align:center;">\
|
||||
<div>\
|
||||
<paper-fab icon="keyboard-arrow-up" class="btnArrowUp btnCommand subdued" title="${ButtonArrowUp}" data-command="MoveUp"></paper-fab>\
|
||||
</div>\
|
||||
<div>\
|
||||
<paper-fab icon="keyboard-arrow-left" class="btnArrowLeft btnCommand subdued" title="${ButtonArrowLeft}" data-command="MoveLeft"></paper-fab>\
|
||||
<paper-fab icon="check" class="btnOk btnCommand subdued" title="${ButtonOk}" data-command="Select"></paper-fab>\
|
||||
<paper-fab icon="keyboard-arrow-right" class="btnArrowRight btnCommand subdued" title="${ButtonArrowRight}" data-command="MoveRight"></paper-fab>\
|
||||
</div>\
|
||||
<div>\
|
||||
<paper-fab icon="keyboard-arrow-down" class="btnArrowDown btnCommand subdued" title="${ButtonArrowDown}" data-command="MoveDown"></paper-fab>\
|
||||
</div>\
|
||||
<div>\
|
||||
<paper-fab icon="arrow-back" class="btnBack btnCommand subdued" title="${ButtonBack}" data-command="Back"></paper-fab>\
|
||||
<paper-fab icon="info" class="btnInfo btnCommand subdued" title="${ButtonInfo}" data-command="ToggleContextMenu"></paper-fab>\
|
||||
</div>\
|
||||
<br />\
|
||||
<div>\
|
||||
<paper-fab icon="home" class="btnGoHome btnCommand subdued" title="${ButtonHome}" data-command="GoHome"></paper-fab>\
|
||||
<!--<button data-inline="true" data-iconpos="right" title="${ButtonPageUp}" data-icon="plus" class="btnPageUp btnCommand ui-nodisc-icon" data-command="PageUp">${PageButtonAbbreviation}</button>\
|
||||
<button data-inline="true" data-iconpos="right" title="${ButtonLetterUp}" data-icon="plus" class="btnLetterUp btnCommand ui-nodisc-icon" data-command="NextLetter">${LetterButtonAbbreviation}</button>-->\
|
||||
<paper-fab icon="search" class="btnShowSearch btnCommand subdued" title="${ButtonSearch}" data-command="GoToSearch"></paper-fab>\
|
||||
</div>\
|
||||
<div>\
|
||||
<paper-fab icon="settings" class="bthShowSettings btnCommand subdued" title="${ButtonSettings}" data-command="GoToSettings"></paper-fab>\
|
||||
<!--<button data-inline="true" data-iconpos="right" title="${ButtonPageDown}" data-icon="minus" class="btnPageDown btnCommand ui-nodisc-icon" data-command="PageDown">${PageButtonAbbreviation}</button>\
|
||||
<button data-inline="true" data-iconpos="right" title="${ButtonLetterDown}" data-icon="minus" class="btnLetterDown btnCommand ui-nodisc-icon" data-command="PreviousLetter">${LetterButtonAbbreviation}</button>-->\
|
||||
<paper-fab icon="videocam" class="btnScreenshot btnCommand subdued" title="${ButtonTakeScreenshot}" data-command="TakeScreenshot"></paper-fab>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="readOnlyContent" style="margin: 2em auto 0; padding: 0 1em 100px;">\
|
||||
<div class="sendMessageSection">\
|
||||
<br /><h1>${HeaderSendMessage}</h1>\
|
||||
<div style="text-align: left;">\
|
||||
<form class="sendMessageForm">\
|
||||
<div>\
|
||||
<paper-input class="sendMessageElement" type="text" id="txtMessageTitle" label="${LabelMessageTitle}" required></paper-input>\
|
||||
</div>\
|
||||
<br />\
|
||||
<div>\
|
||||
<paper-input class="sendMessageElement" type="text" id="txtMessageText" label="${LabelMessageText}" required></paper-input>\
|
||||
</div>\
|
||||
<p>\
|
||||
<button class="sendMessageElement clearButton" type="submit" data-role="none" style="display:block;"><paper-button class="sendMessageElement accent" type="submit" raised style="display:block;">${ButtonSend}</paper-button></button>\
|
||||
</p>\
|
||||
</form>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="sendTextSection">\
|
||||
<br /><h1>${HeaderTypeText}</h1>\
|
||||
<div style="text-align: left;">\
|
||||
<form class="typeTextForm">\
|
||||
<div>\
|
||||
<paper-input class="typeTextElement" type="text" id="txtTypeText" label="${LabelTypeText}" required></paper-input>\
|
||||
</div>\
|
||||
<p>\
|
||||
<button class="typeTextElement clearButton" type="submit" data-role="none" style="display:block;"><paper-button class="typeTextElement accent" type="submit" raised style="display:block;">${ButtonSend}</paper-button></button>\
|
||||
</p>\
|
||||
</form>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="nowPlayingPageTab hide" data-tab="2">\
|
||||
<div class="playlist itemsContainer" style="max-width:800px;margin: 3em auto 0;padding-bottom:200px;">\
|
||||
</div>\
|
||||
</div>\
|
||||
';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function getHeaderHtml() {
|
||||
|
||||
var html = '';
|
||||
|
||||
var position = AppInfo.enableNowPlayingPageBottomTabs ? 'absolute' : 'relative;';
|
||||
|
||||
html += '<div style="background:#080808;">';
|
||||
html += '<paper-icon-button icon="arrow-back" class="btnExitRemoteControl" style="position:' + position + ';top:.5em;left:.5em;z-index:1;" tabindex="-1"></paper-icon-button>';
|
||||
|
||||
html += '<div style="float:right;position:' + position + ';top:.5em;right:.5em;text-align:right;">';
|
||||
html += '<span class="nowPlayingSelectedPlayer"></span>';
|
||||
html += '<paper-icon-button icon="cast" class="nowPlayingCastIcon" style="vertical-align:middle;z-index:1;" tabindex="-1"></paper-icon-button>';
|
||||
//html += '<paper-icon-button icon="slideshow" class="btnSlideshow" style="vertical-align:middle;z-index:1;margin-left:.5em;" tabindex="-1"></paper-icon-button>';
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="libraryViewNav hide" style="position:static;">\
|
||||
<div>\
|
||||
<a href="#" data-index="0">${TabNowPlaying}</a>\
|
||||
<a href="#" data-index="1">${TabControls}</a>\
|
||||
<a href="#" data-index="2">${TabPlaylist}</a>\
|
||||
</div>\
|
||||
</div>\
|
||||
';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function getTabsHtml() {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<paper-tabs class="nowPlayingPagePaperTabs" hidescrollbuttons noink>\
|
||||
<paper-tab>${TabNowPlaying}</paper-tab>\
|
||||
<paper-tab>${TabControls}</paper-tab>\
|
||||
<paper-tab>${TabPlaylist}</paper-tab>\
|
||||
</paper-tabs>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function showSlideshowMenu(context) {
|
||||
require(['scripts/slideshow'], function () {
|
||||
SlideShow.showMenu();
|
||||
|
@ -748,6 +586,8 @@
|
|||
MediaController.currentPlaylistIndex(index);
|
||||
loadPlaylist(context);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
var lnkRemoveFromPlaylist = parentWithClass(e.target, 'lnkRemoveFromPlaylist');
|
||||
|
@ -757,6 +597,8 @@
|
|||
MediaController.removeFromPlaylist(index);
|
||||
loadPlaylist(context);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -766,6 +608,8 @@
|
|||
|
||||
MediaController.currentPlaylistIndex(info.index);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -990,6 +834,7 @@
|
|||
|
||||
tabs.classList.add('bottom');
|
||||
tabs.alignBottom = true;
|
||||
tabs.noSlide = true;
|
||||
|
||||
tabs.addEventListener('iron-select', function (e) {
|
||||
|
||||
|
@ -1037,28 +882,30 @@
|
|||
|
||||
var selected = tab == '#playlist' ? 2 : 0;
|
||||
|
||||
if (AppInfo.enableNowPlayingPageBottomTabs) {
|
||||
context.querySelector('paper-tabs').selected = selected;
|
||||
} else {
|
||||
var delay = browser.animate ? 0 : 1000;
|
||||
|
||||
showTab(selected);
|
||||
}
|
||||
// hack alert. doing this because the neon elements don't seem to be initialized yet
|
||||
setTimeout(function () {
|
||||
|
||||
if (AppInfo.enableNowPlayingPageBottomTabs) {
|
||||
context.querySelector('paper-tabs').selected = selected;
|
||||
} else {
|
||||
|
||||
showTab(selected);
|
||||
}
|
||||
}, delay);
|
||||
|
||||
updateCastIcon(context);
|
||||
}
|
||||
|
||||
self.init = function (context) {
|
||||
|
||||
var html = '';
|
||||
|
||||
dlg = context;
|
||||
html += '<div style="margin:0;padding:0;">';
|
||||
html += Globalize.translateDocument(getHeaderHtml());
|
||||
html += Globalize.translateDocument(getAnimatedPagesHtml());
|
||||
html += Globalize.translateDocument(getTabsHtml());
|
||||
html += '</div>';
|
||||
|
||||
dlg.innerHTML = html;
|
||||
if (!AppInfo.enableNowPlayingPageBottomTabs) {
|
||||
context.querySelector('.btnExitRemoteControl').style.position = 'relative';
|
||||
context.querySelector('.topRightContainer').style.position = 'relative';
|
||||
}
|
||||
|
||||
init(dlg);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue