mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update tabs
This commit is contained in:
parent
9ea282ff39
commit
26e2cbbb1d
9 changed files with 59 additions and 114 deletions
|
@ -7,7 +7,7 @@
|
||||||
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="scripts/livetvsuggested,livetvcss,scripts/livetvcomponents">
|
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="scripts/livetvsuggested,livetvcss,scripts/livetvcomponents">
|
||||||
|
|
||||||
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
||||||
<paper-tabs class="scrollingPaperTabs" hidescrollbuttons noink>
|
<paper-tabs hidescrollbuttons>
|
||||||
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
|
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
|
||||||
<paper-tab><iron-icon icon="grid-on"></iron-icon>${TabGuide}</paper-tab>
|
<paper-tab><iron-icon icon="grid-on"></iron-icon>${TabGuide}</paper-tab>
|
||||||
<paper-tab><iron-icon icon="live-tv"></iron-icon>${TabChannels}</paper-tab>
|
<paper-tab><iron-icon icon="live-tv"></iron-icon>${TabChannels}</paper-tab>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<div id="moviesPage" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs collectionEditorPage" data-backdroptype="movie" data-require="scripts/moviesrecommended">
|
<div id="moviesPage" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs collectionEditorPage" data-backdroptype="movie" data-require="scripts/moviesrecommended">
|
||||||
|
|
||||||
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
||||||
<paper-tabs class="scrollingPaperTabs" hidescrollbuttons noink>
|
<paper-tabs hidescrollbuttons noink>
|
||||||
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
|
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
|
||||||
<paper-tab><iron-icon icon="local-movies"></iron-icon>${TabMovies}</paper-tab>
|
<paper-tab><iron-icon icon="local-movies"></iron-icon>${TabMovies}</paper-tab>
|
||||||
<paper-tab class="movieTrailersTab"><iron-icon icon="movie"></iron-icon>${TabTrailers}</paper-tab>
|
<paper-tab class="movieTrailersTab"><iron-icon icon="movie"></iron-icon>${TabTrailers}</paper-tab>
|
||||||
|
|
|
@ -77,23 +77,7 @@
|
||||||
var tabs = page.querySelector('paper-tabs');
|
var tabs = page.querySelector('paper-tabs');
|
||||||
var pages = page.querySelector('neon-animated-pages');
|
var pages = page.querySelector('neon-animated-pages');
|
||||||
|
|
||||||
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
|
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'channels.html');
|
||||||
|
|
||||||
$(tabs).on('iron-select', function () {
|
|
||||||
var selected = this.selected;
|
|
||||||
|
|
||||||
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
|
||||||
|
|
||||||
if (selected) {
|
|
||||||
Dashboard.navigate('channels.html?tab=' + selected);
|
|
||||||
} else {
|
|
||||||
Dashboard.navigate('channels.html');
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(pages).on('tabchange', function () {
|
$(pages).on('tabchange', function () {
|
||||||
loadTab(page, parseInt(this.selected));
|
loadTab(page, parseInt(this.selected));
|
||||||
|
|
|
@ -235,23 +235,7 @@
|
||||||
var tabs = page.querySelector('paper-tabs');
|
var tabs = page.querySelector('paper-tabs');
|
||||||
var pages = page.querySelector('neon-animated-pages');
|
var pages = page.querySelector('neon-animated-pages');
|
||||||
|
|
||||||
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
|
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'index.html');
|
||||||
|
|
||||||
$(tabs).on('iron-select', function () {
|
|
||||||
var selected = this.selected;
|
|
||||||
|
|
||||||
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
|
||||||
|
|
||||||
if (selected) {
|
|
||||||
Dashboard.navigate('index.html?tab=' + selected);
|
|
||||||
} else {
|
|
||||||
Dashboard.navigate('index.html');
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(pages).on('tabchange', function () {
|
$(pages).on('tabchange', function () {
|
||||||
loadTab(page, parseInt(this.selected));
|
loadTab(page, parseInt(this.selected));
|
||||||
|
|
|
@ -193,7 +193,12 @@
|
||||||
return !LibraryBrowser.enableFullPaperTabs();
|
return !LibraryBrowser.enableFullPaperTabs();
|
||||||
},
|
},
|
||||||
|
|
||||||
configurePaperLibraryTabs: function (ownerpage, tabs, pages) {
|
configurePaperLibraryTabs: function (ownerpage, tabs, pages, baseUrl) {
|
||||||
|
|
||||||
|
// Causing iron-select to not fire in IE and safari
|
||||||
|
if ($.browser.chrome) {
|
||||||
|
tabs.noink = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (AppInfo.enableBottomTabs) {
|
if (AppInfo.enableBottomTabs) {
|
||||||
tabs.alignBottom = true;
|
tabs.alignBottom = true;
|
||||||
|
@ -205,7 +210,7 @@
|
||||||
if ($.browser.safari) {
|
if ($.browser.safari) {
|
||||||
|
|
||||||
// Not very iOS-like I suppose
|
// Not very iOS-like I suppose
|
||||||
tabs.noSlide = true;
|
//tabs.noSlide = true;
|
||||||
tabs.noBar = true;
|
tabs.noBar = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -232,9 +237,7 @@
|
||||||
|
|
||||||
$(ownerpage).on('pagebeforeshow', LibraryBrowser.onTabbedpagebeforeshow);
|
$(ownerpage).on('pagebeforeshow', LibraryBrowser.onTabbedpagebeforeshow);
|
||||||
|
|
||||||
$(pages).on('iron-select', function () {
|
pages.addEventListener('iron-select', function () {
|
||||||
|
|
||||||
console.log('iron-select');
|
|
||||||
// When transition animations are used, add a content loading delay to allow the animations to finish
|
// When transition animations are used, add a content loading delay to allow the animations to finish
|
||||||
// Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed.
|
// Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed.
|
||||||
var pgs = this;
|
var pgs = this;
|
||||||
|
@ -244,39 +247,61 @@
|
||||||
$(pgs).trigger('tabchange');
|
$(pgs).trigger('tabchange');
|
||||||
}, delay);
|
}, delay);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tabs.addEventListener('iron-select', function() {
|
||||||
|
var selected = this.selected;
|
||||||
|
|
||||||
|
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
||||||
|
|
||||||
|
if (selected) {
|
||||||
|
var url = replaceQueryString(baseUrl, 'tab', selected);
|
||||||
|
Dashboard.navigate(url);
|
||||||
|
} else {
|
||||||
|
Dashboard.navigate(baseUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
pages.selected = selected;
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onTabbedpagebeforeshow: function () {
|
onTabbedpagebeforeshow: function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
var delay = 0;
|
var delay = 0;
|
||||||
|
var isFirstLoad = false;
|
||||||
|
|
||||||
if (!page.getAttribute('data-firstload')) {
|
if (!page.getAttribute('data-firstload')) {
|
||||||
delay = 300;
|
delay = 300;
|
||||||
|
isFirstLoad = true;
|
||||||
page.setAttribute('data-firstload', '1');
|
page.setAttribute('data-firstload', '1');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (delay) {
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
LibraryBrowser.onTabbedpagebeforeshowInternal(page);
|
|
||||||
|
LibraryBrowser.onTabbedpagebeforeshowInternal(page, isFirstLoad);
|
||||||
}, delay);
|
}, delay);
|
||||||
|
} else {
|
||||||
|
LibraryBrowser.onTabbedpagebeforeshowInternal(page, isFirstLoad);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onTabbedpagebeforeshowInternal: function (page) {
|
onTabbedpagebeforeshowInternal: function (page, isFirstLoad) {
|
||||||
|
|
||||||
var tabs = page.querySelector('paper-tabs');
|
if (isFirstLoad) {
|
||||||
var selected = tabs.selected;
|
|
||||||
|
|
||||||
if (selected == null) {
|
|
||||||
|
|
||||||
Logger.log('selected tab is null, checking query string');
|
Logger.log('selected tab is null, checking query string');
|
||||||
|
|
||||||
selected = parseInt(getParameterByName('tab') || '0');
|
var selected = parseInt(getParameterByName('tab') || '0');
|
||||||
|
|
||||||
Logger.log('selected tab will be ' + selected);
|
Logger.log('selected tab will be ' + selected);
|
||||||
|
|
||||||
|
|
||||||
if (LibraryBrowser.enableFullPaperTabs()) {
|
if (LibraryBrowser.enableFullPaperTabs()) {
|
||||||
tabs.selected = selected;
|
|
||||||
|
page.querySelector('paper-tabs').selected = selected;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
page.querySelector('neon-animated-pages').selected = selected;
|
||||||
}
|
}
|
||||||
|
@ -291,7 +316,7 @@
|
||||||
pages.entryAnimation = null;
|
pages.entryAnimation = null;
|
||||||
pages.exitAnimation = null;
|
pages.exitAnimation = null;
|
||||||
|
|
||||||
tabs.selected = 0;
|
page.querySelector('paper-tabs').selected = 0;
|
||||||
|
|
||||||
pages.entryAnimation = entryAnimation;
|
pages.entryAnimation = entryAnimation;
|
||||||
pages.exitAnimation = exitAnimation;
|
pages.exitAnimation = exitAnimation;
|
||||||
|
|
|
@ -216,23 +216,7 @@
|
||||||
var tabs = page.querySelector('paper-tabs');
|
var tabs = page.querySelector('paper-tabs');
|
||||||
var pages = page.querySelector('neon-animated-pages');
|
var pages = page.querySelector('neon-animated-pages');
|
||||||
|
|
||||||
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
|
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'livetv.html');
|
||||||
|
|
||||||
$(tabs).on('iron-select', function () {
|
|
||||||
var selected = this.selected;
|
|
||||||
|
|
||||||
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
|
||||||
|
|
||||||
if (selected) {
|
|
||||||
Dashboard.navigate('livetv.html?tab=' + selected);
|
|
||||||
} else {
|
|
||||||
Dashboard.navigate('livetv.html');
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(pages).on('tabchange', function () {
|
$(pages).on('tabchange', function () {
|
||||||
loadTab(page, parseInt(this.selected));
|
loadTab(page, parseInt(this.selected));
|
||||||
|
|
|
@ -325,28 +325,13 @@
|
||||||
var tabs = page.querySelector('paper-tabs');
|
var tabs = page.querySelector('paper-tabs');
|
||||||
var pages = page.querySelector('neon-animated-pages');
|
var pages = page.querySelector('neon-animated-pages');
|
||||||
|
|
||||||
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
|
var baseUrl = 'movies.html';
|
||||||
|
|
||||||
$(tabs).on('iron-select', function () {
|
|
||||||
var selected = this.selected;
|
|
||||||
|
|
||||||
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
|
||||||
|
|
||||||
var url = 'movies.html';
|
|
||||||
var topParentId = LibraryMenu.getTopParentId();
|
var topParentId = LibraryMenu.getTopParentId();
|
||||||
if (topParentId) {
|
if (topParentId) {
|
||||||
url += '?topParentId=' + topParentId;
|
baseUrl += '?topParentId=' + topParentId;
|
||||||
}
|
|
||||||
if (selected) {
|
|
||||||
Dashboard.navigate(url + '&tab=' + selected);
|
|
||||||
} else {
|
|
||||||
Dashboard.navigate(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, baseUrl);
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(pages).on('tabchange', function () {
|
$(pages).on('tabchange', function () {
|
||||||
loadTab(page, parseInt(this.selected));
|
loadTab(page, parseInt(this.selected));
|
||||||
|
|
|
@ -206,27 +206,14 @@
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
var tabs = page.querySelector('paper-tabs');
|
var tabs = page.querySelector('paper-tabs');
|
||||||
LibraryBrowser.configurePaperLibraryTabs(page, tabs, page.querySelector('neon-animated-pages'));
|
|
||||||
|
|
||||||
$(tabs).on('iron-select', function () {
|
var baseUrl = 'photos.html';
|
||||||
var selected = this.selected;
|
|
||||||
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
|
|
||||||
|
|
||||||
var url = 'photos.html';
|
|
||||||
var topParentId = LibraryMenu.getTopParentId();
|
var topParentId = LibraryMenu.getTopParentId();
|
||||||
if (topParentId) {
|
if (topParentId) {
|
||||||
url += '?topParentId=' + topParentId;
|
baseUrl += '?topParentId=' + topParentId;
|
||||||
}
|
|
||||||
if (selected) {
|
|
||||||
Dashboard.navigate(url + '&tab=' + selected);
|
|
||||||
} else {
|
|
||||||
Dashboard.navigate(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
LibraryBrowser.configurePaperLibraryTabs(page, tabs, page.querySelector('neon-animated-pages'), baseUrl);
|
||||||
page.querySelector('neon-animated-pages').selected = selected;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
|
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
|
||||||
loadTab(page, parseInt(this.selected));
|
loadTab(page, parseInt(this.selected));
|
||||||
|
|
|
@ -354,10 +354,6 @@ paper-menu-item {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scrollingPaperTabs #tabsContainer {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.scrollablePaperTabs #tabsContainer {
|
/*.scrollablePaperTabs #tabsContainer {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue