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

fix different styles of favorites

This commit is contained in:
Luke Pulverenti 2016-03-31 02:33:37 -04:00
parent 638a360cb2
commit e1d17d057b
9 changed files with 448 additions and 419 deletions

View file

@ -237,41 +237,6 @@
}
}
function loadTab(page, index) {
var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']');
var depends = [];
var scope = 'HomePage';
var method = '';
switch (index) {
case 0:
depends.push('scripts/sections');
method = 'renderHomeTab';
break;
case 1:
depends.push('scripts/homenextup');
method = 'renderNextUp';
break;
case 2:
depends.push('scripts/favorites');
method = 'renderFavorites';
break;
case 3:
depends.push('scripts/homeupcoming');
method = 'renderUpcoming';
break;
default:
return;
break;
}
require(depends, function () {
window[scope][method](page, tabContent);
});
}
function onPlaybackStop(e, state) {
if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') {
@ -291,18 +256,68 @@
return ApiClient.getDisplayPreferences(key, userId, displayPreferencesKey());
}
window.HomePage = {
renderHomeTab: loadHomeTab
};
return function (view, params) {
var self = this;
self.renderTab = function () {
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
loadHomeTab(view, tabContent);
};
var pageTabsContainer = view.querySelector('.pageTabsContainer');
libraryBrowser.configurePaperLibraryTabs(view, view.querySelector('paper-tabs'), pageTabsContainer, 'home.html');
var tabControllers = [];
var renderedTabs = [];
function loadTab(page, index) {
var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']');
var depends = [];
switch (index) {
case 0:
depends.push('scripts/sections');
break;
case 1:
depends.push('scripts/homenextup');
break;
case 2:
depends.push('scripts/homefavorites');
break;
case 3:
depends.push('scripts/homeupcoming');
break;
default:
return;
break;
}
require(depends, function (controllerFactory) {
if (index == 0) {
self.tabContent = tabContent;
}
var controller = tabControllers[index];
if (!controller) {
controller = index ? new controllerFactory(view, params, tabContent) : self;
tabControllers[index] = controller;
if (controller.initTab) {
controller.initTab();
}
}
if (renderedTabs.indexOf(index) == -1) {
renderedTabs.push(index);
controller.renderTab();
}
});
}
pageTabsContainer.addEventListener('tabchange', function (e) {
loadTab(view, parseInt(e.detail.selectedTabIndex));
});