1
0
Fork 0
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:
Luke Pulverenti 2016-02-05 23:30:43 -05:00
parent fe154d4483
commit b63aaeb909
2 changed files with 158 additions and 176 deletions

View file

@ -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);
};