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

update tabs

This commit is contained in:
Luke Pulverenti 2016-04-13 01:28:45 -04:00
parent d808aced1d
commit 9ceaf21b80
37 changed files with 565 additions and 345 deletions

View file

@ -293,6 +293,22 @@
}
}
function getTabs() {
return [
{
href: 'autoorganizelog.html',
name: Globalize.translate('TabActivityLog')
},
{
href: 'autoorganizetv.html',
name: Globalize.translate('TabTV')
},
{
href: 'autoorganizesmart.html',
name: Globalize.translate('TabSmartMatches')
}];
}
$(document).on('pageinit', "#libraryFileOrganizerLogPage", function () {
var page = this;
@ -307,6 +323,8 @@
}).on('pageshow', "#libraryFileOrganizerLogPage", function () {
LibraryMenu.setTabs('autoorganize', 0, getTabs);
var page = this;
reloadItems(page);

View file

@ -105,6 +105,22 @@
});
}
function getTabs() {
return [
{
href: 'autoorganizelog.html',
name: Globalize.translate('TabActivityLog')
},
{
href: 'autoorganizetv.html',
name: Globalize.translate('TabTV')
},
{
href: 'autoorganizesmart.html',
name: Globalize.translate('TabSmartMatches')
}];
}
$(document).on('pageinit', "#libraryFileOrganizerSmartMatchPage", function () {
var page = this;
@ -134,6 +150,8 @@
var page = this;
LibraryMenu.setTabs('autoorganize', 2, getTabs);
Dashboard.showLoadingMsg();
reloadList(page);

View file

@ -109,6 +109,22 @@
return false;
}
function getTabs() {
return [
{
href: 'autoorganizelog.html',
name: Globalize.translate('TabActivityLog')
},
{
href: 'autoorganizetv.html',
name: Globalize.translate('TabTV')
},
{
href: 'autoorganizesmart.html',
name: Globalize.translate('TabSmartMatches')
}];
}
$(document).on('pageinit', "#libraryFileOrganizerPage", function () {
var page = this;
@ -160,6 +176,8 @@
var page = this;
LibraryMenu.setTabs('autoorganize', 1, getTabs);
ApiClient.getNamedConfiguration('autoorganize').then(function (config) {
loadPage(page, config);
});

View file

@ -53,6 +53,26 @@
return false;
}
function getTabs() {
return [
{
href: 'cinemamodeconfiguration.html',
name: Globalize.translate('TabCinemaMode')
},
{
href: 'playbackconfiguration.html',
name: Globalize.translate('TabResumeSettings')
},
{
href: 'streamingsettings.html',
name: Globalize.translate('TabStreaming')
},
{
href: 'encodingsettings.html',
name: Globalize.translate('TabTranscoding')
}];
}
$(document).on('pageinit', "#cinemaModeConfigurationPage", function () {
var page = this;
@ -111,6 +131,8 @@
}).on('pageshow', "#cinemaModeConfigurationPage", function () {
LibraryMenu.setTabs('playback', 0, getTabs);
Dashboard.showLoadingMsg();
var page = this;

View file

@ -50,6 +50,26 @@
return false;
}
function getTabs() {
return [
{
href: 'cinemamodeconfiguration.html',
name: Globalize.translate('TabCinemaMode')
},
{
href: 'playbackconfiguration.html',
name: Globalize.translate('TabResumeSettings')
},
{
href: 'streamingsettings.html',
name: Globalize.translate('TabStreaming')
},
{
href: 'encodingsettings.html',
name: Globalize.translate('TabTranscoding')
}];
}
$(document).on('pageinit', "#encodingSettingsPage", function () {
var page = this;
@ -84,6 +104,7 @@
Dashboard.showLoadingMsg();
LibraryMenu.setTabs('playback',3, getTabs);
var page = this;
ApiClient.getNamedConfiguration("encoding").then(function (config) {

View file

@ -6,6 +6,7 @@
var html = '';
html += '<div class="primaryIcons">';
var backIcon = browserInfo.safari ? 'chevron-left' : 'arrow-back';
html += '<paper-icon-button icon="' + backIcon + '" class="headerButton headerButtonLeft headerBackButton hide"></paper-icon-button>';
@ -43,6 +44,10 @@
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
}
html += '</div>';
html += '</div>';
html += '<div class="viewMenuBarTabs hiddenScrollX">';
html += '</div>';
var viewMenuBar = document.createElement('div');
@ -432,20 +437,12 @@
if (selected) {
link.classList.add('selectedSidebarLink');
var collapsible = parentWithTag(link, 'EMBY-COLLAPSIBLE');
if (collapsible) {
collapsible.expanded = true;
}
var title = '';
title += collapsible.title || '';
title += '<span class="title-separator"></span>';
var secondaryTitle = (link.innerText || link.textContent).trim();
title += secondaryTitle;
var documentTitle = collapsible.title || secondaryTitle;
var documentTitle = secondaryTitle;
Dashboard.setPageTitle(title, documentTitle);
@ -456,30 +453,28 @@
}
function createDashboardMenu() {
require(['emby-collapsible'], function () {
var html = '';
var html = '';
//html += '<div class="userHeader">';
//html += '<div class="userHeaderActionMenu">';
//html += '<div>';
//html += localUser.Name;
//html += '</div>';
//html += '<paper-icon-button icon="expand-more"></paper-icon-button>';
//html += '</div>';
//html += '</div>';
//html += '<div class="userHeader">';
//html += '<div class="userHeaderActionMenu">';
//html += '<div>';
//html += localUser.Name;
//html += '</div>';
//html += '<paper-icon-button icon="expand-more"></paper-icon-button>';
//html += '</div>';
//html += '</div>';
html += '<a class="adminDrawerLogo clearLink" href="home.html">'
html += '<img src="css/images/logo.png" />';
html += '</a>'
html += '<a class="adminDrawerLogo clearLink" href="home.html">'
html += '<img src="css/images/logo.png" />';
html += '</a>';
html += Dashboard.getToolsMenuHtml();
html += Dashboard.getToolsMenuHtml();
html = html.split('href=').join('onclick="return LibraryMenu.onLinkClicked(event, this);" href=');
html = html.split('href=').join('onclick="return LibraryMenu.onLinkClicked(event, this);" href=');
mainDrawerPanel.querySelector('.mainDrawer').innerHTML = html;
mainDrawerPanel.querySelector('.mainDrawer').innerHTML = html;
updateDashboardMenuSelectedItem();
});
updateDashboardMenuSelectedItem();
}
function onSidebarLinkClick() {
@ -723,6 +718,47 @@
return false;
},
setTabs: function (type, selectedIndex, builder) {
var viewMenuBarTabs;
if (!type) {
if (LibraryMenu.tabType) {
mainDrawerPanel.classList.remove('withTallToolbar');
viewMenuBarTabs = document.querySelector('.viewMenuBarTabs');
viewMenuBarTabs.innerHTML = '';
viewMenuBarTabs.classList.add('hide');
LibraryMenu.tabType = null;
}
return;
}
viewMenuBarTabs = document.querySelector('.viewMenuBarTabs');
if (!LibraryMenu.tabType) {
viewMenuBarTabs.classList.remove('hide');
}
if (LibraryMenu.tabType != type) {
require(['paper-tabs'], function () {
viewMenuBarTabs.innerHTML = '<paper-tabs selected="' + selectedIndex + '" hidescrollbuttons noink>' + builder().map(function (t) {
return '<paper-tab link><a class="clearLink paperTabLink" href="' + t.href + '"><div>' + t.name + '</div></a></paper-tab>';
}).join('') + '</paper-tabs>';
mainDrawerPanel.classList.add('withTallToolbar');
LibraryMenu.tabType = type;
});
return;
}
viewMenuBarTabs.querySelector('paper-tabs').selected = selectedIndex;
LibraryMenu.tabType = type;
},
setTitle: function (title) {
var html = title;
@ -885,7 +921,7 @@
}
}
function buildViewMenuBar(page) {
function updateViewMenuBar(page) {
var viewMenuBar = document.querySelector('.viewMenuBar');
@ -895,6 +931,12 @@
viewMenuBar.classList.remove('hide');
}
if (page.classList.contains('type-interior')) {
viewMenuBar.classList.add('headroomDisabled');
} else {
viewMenuBar.classList.remove('headroomDisabled');
}
if (requiresUserRefresh) {
ConnectionManager.user(window.ApiClient).then(updateUserInHeader);
}
@ -915,6 +957,15 @@
}
});
pageClassOn('pagebeforeshow', 'page', function (e) {
var page = this;
if (!page.classList.contains('withTabs')) {
LibraryMenu.setTabs(null);
}
});
pageClassOn('pageshow', 'page', function (e) {
var page = this;
@ -935,7 +986,7 @@
setDrawerClass(page);
buildViewMenuBar(page);
updateViewMenuBar(page);
updateTabLinks(page);
if (!e.detail.isRestored) {
@ -1023,7 +1074,6 @@
});
// initialise
headroom.init();
elem.classList.add('headroomEnabled');
});
}

View file

@ -62,13 +62,27 @@
});
}
$(document).on('pageshow', "#notificationSettingsPage", function () {
function getTabs() {
return [
{
href: 'notificationsettings.html',
name: Globalize.translate('TabNotifications')
},
{
href: 'appservices.html?context=notifications',
name: Globalize.translate('TabServices')
}];
}
var page = this;
return function (view, params) {
require(['paper-fab', 'paper-item-body', 'paper-icon-item'], function () {
reload(page);
view.addEventListener('viewshow', function () {
LibraryMenu.setTabs('notifications', 0, getTabs);
require(['paper-fab', 'paper-item-body', 'paper-icon-item'], function () {
reload(view);
});
});
});
};
});

View file

@ -27,12 +27,33 @@
return false;
}
function getTabs() {
return [
{
href: 'cinemamodeconfiguration.html',
name: Globalize.translate('TabCinemaMode')
},
{
href: 'playbackconfiguration.html',
name: Globalize.translate('TabResumeSettings')
},
{
href: 'streamingsettings.html',
name: Globalize.translate('TabStreaming')
},
{
href: 'encodingsettings.html',
name: Globalize.translate('TabTranscoding')
}];
}
$(document).on('pageinit', "#playbackConfigurationPage", function () {
$('.playbackConfigurationForm').off('submit', onSubmit).on('submit', onSubmit);
}).on('pageshow', "#playbackConfigurationPage", function () {
LibraryMenu.setTabs('playback', 1, getTabs);
Dashboard.showLoadingMsg();
var page = this;

View file

@ -684,6 +684,10 @@ var Dashboard = {
item = items[i];
if (item.divider) {
menuHtml += "<div class='sidebarDivider'></div>";
}
if (item.items) {
var style = item.color ? ' iconstyle="color:' + item.color + '"' : '';
@ -714,254 +718,131 @@ var Dashboard = {
getToolsMenuLinks: function () {
return [{
name: Globalize.translate('TabServer'),
icon: 'dashboard',
color: '#38c',
expanded: true,
items: [
{
name: Globalize.translate('TabDashboard'),
href: "dashboard.html",
pageIds: ['dashboardPage'],
icon: 'dashboard'
}, {
name: Globalize.translate('TabSettings'),
href: "dashboardgeneral.html",
pageIds: ['dashboardGeneralPage'],
icon: 'settings'
}, {
name: Globalize.translate('TabDevices'),
href: "devices.html",
pageIds: ['devicesPage'],
icon: 'tablet'
}, {
name: Globalize.translate('TabUsers'),
href: "userprofiles.html",
pageIds: ['userProfilesPage'],
icon: 'people'
}
]
name: Globalize.translate('TabServer')
}, {
name: Globalize.translate('TabLibrary'),
name: Globalize.translate('TabDashboard'),
href: "dashboard.html",
pageIds: ['dashboardPage'],
icon: 'dashboard'
}, {
name: Globalize.translate('TabSettings'),
href: "dashboardgeneral.html",
pageIds: ['dashboardGeneralPage'],
icon: 'settings'
}, {
name: Globalize.translate('TabDevices'),
href: "devices.html",
pageIds: ['devicesPage'],
icon: 'tablet'
}, {
name: Globalize.translate('TabUsers'),
href: "userprofiles.html",
pageIds: ['userProfilesPage'],
icon: 'people'
}, {
divider: true,
name: Globalize.translate('TabLibrary')
}, {
name: Globalize.translate('TabFolders'),
href: "library.html",
pageIds: ['mediaLibraryPage'],
icon: 'folder',
color: '#ECA403',
expanded: true,
items: [
{
name: Globalize.translate('TabFolders'),
href: "library.html",
pageIds: ['mediaLibraryPage'],
icon: 'folder'
},
{
name: Globalize.translate('TabMetadata'),
href: "metadata.html",
pageIds: ['metadataConfigurationPage'],
icon: 'insert-drive-file'
},
{
name: Globalize.translate('TabServices'),
href: "metadataimages.html",
pageIds: ['metadataImagesConfigurationPage'],
icon: 'insert-drive-file'
},
{
name: Globalize.translate('TabNfoSettings'),
href: "metadatanfo.html",
pageIds: ['metadataNfoPage'],
icon: 'insert-drive-file'
},
{
name: Globalize.translate('TabPathSubstitution'),
href: "librarypathmapping.html",
pageIds: ['libraryPathMappingPage'],
icon: 'mode-edit'
},
{
name: Globalize.translate('TabSubtitles'),
href: "metadatasubtitles.html",
pageIds: ['metadataSubtitlesPage'],
icon: 'closed-caption'
},
{
name: Globalize.translate('TabAdvanced'),
href: "librarysettings.html",
pageIds: ['librarySettingsPage'],
icon: 'settings'
}
]
color: '#E5342E'
}, {
name: Globalize.translate('DLNA'),
icon: 'live-tv',
color: '#E5342E',
items: [
{
name: Globalize.translate('TabSettings'),
href: "dlnasettings.html",
pageIds: ['dlnaSettingsPage'],
icon: 'settings'
},
{
name: Globalize.translate('TabProfiles'),
href: "dlnaprofiles.html",
pageIds: ['dlnaProfilesPage', 'dlnaProfilePage'],
icon: 'live-tv'
}
]
name: Globalize.translate('TabMetadata'),
href: "metadata.html",
pageIds: ['metadataConfigurationPage'],
icon: 'insert-drive-file',
color: '#293AAE'
}, {
name: Globalize.translate('TabLiveTV'),
icon: 'dvr',
color: '#293AAE',
items: [
{
name: Globalize.translate('TabSettings'),
href: "livetvstatus.html",
pageIds: ['liveTvStatusPage'],
icon: 'settings'
},
{
name: Globalize.translate('TabAdvanced'),
href: "livetvsettings.html",
pageIds: ['liveTvSettingsPage'],
icon: 'settings'
},
{
name: Globalize.translate('TabServices'),
href: "appservices.html?context=livetv",
//selected: (isServicesPage && context == 'livetv'),
icon: 'add-shopping-cart'
}
]
name: Globalize.translate('TabServices'),
href: "metadataimages.html",
pageIds: ['metadataImagesConfigurationPage'],
icon: 'insert-drive-file'
}, {
name: Globalize.translate('TabNotifications'),
icon: 'notifications',
color: 'brown',
href: "notificationsettings.html"
name: Globalize.translate('TabNfoSettings'),
href: "metadatanfo.html",
pageIds: ['metadataNfoPage'],
icon: 'insert-drive-file'
}, {
name: Globalize.translate('TabPathSubstitution'),
href: "librarypathmapping.html",
pageIds: ['libraryPathMappingPage'],
icon: 'mode-edit'
}, {
name: Globalize.translate('TabSubtitles'),
href: "metadatasubtitles.html",
pageIds: ['metadataSubtitlesPage'],
icon: 'closed-caption'
}, {
name: Globalize.translate('TabAdvanced'),
href: "librarysettings.html",
pageIds: ['librarySettingsPage'],
icon: 'settings'
}, {
name: Globalize.translate('TabPlayback'),
icon: 'play-circle-filled',
color: '#E5342E',
items: [
{
name: Globalize.translate('TabCinemaMode'),
href: "cinemamodeconfiguration.html",
pageIds: ['cinemaModeConfigurationPage'],
icon: 'local-movies'
},
{
name: Globalize.translate('TabResumeSettings'),
href: "playbackconfiguration.html",
pageIds: ['playbackConfigurationPage'],
icon: 'play-circle-filled'
},
{
name: Globalize.translate('TabStreaming'),
href: "streamingsettings.html",
pageIds: ['streamingSettingsPage'],
icon: 'wifi'
},
{
name: Globalize.translate('TabTranscoding'),
href: "encodingsettings.html",
pageIds: ['encodingSettingsPage'],
icon: 'play-circle-filled'
}
]
href: "cinemamodeconfiguration.html",
pageIds: ['cinemaModeConfigurationPage', 'playbackConfigurationPage', 'streamingSettingsPage', 'encodingSettingsPage']
}, {
name: Globalize.translate('TabSync'),
icon: 'sync',
href: "syncactivity.html",
pageIds: ['syncActivityPage', 'syncJobPage', 'devicesUploadPage', 'syncSettingsPage']
}, {
divider: true,
name: Globalize.translate('TabExtras')
}, {
name: Globalize.translate('TabAutoOrganize'),
color: '#01C0DD',
href: "autoorganizelog.html",
pageIds: ['libraryFileOrganizerPage', 'libraryFileOrganizerSmartMatchPage', 'libraryFileOrganizerLogPage'],
icon: 'folder'
}, {
name: Globalize.translate('DLNA'),
href: "dlnasettings.html",
pageIds: ['dlnaSettingsPage', 'dlnaProfilesPage', 'dlnaProfilePage'],
icon: 'settings'
}, {
name: Globalize.translate('TabLiveTV'),
href: "livetvstatus.html",
pageIds: ['liveTvStatusPage', 'liveTvSettingsPage'],
icon: 'dvr'
}, {
name: Globalize.translate('TabNotifications'),
icon: 'notifications',
color: 'brown',
href: "notificationsettings.html",
pageIds: ['notificationSettingsPage', 'notificationSettingPage']
}, {
name: Globalize.translate('TabPlugins'),
icon: 'add-shopping-cart',
color: '#9D22B1',
items: [
{
name: Globalize.translate('TabMyPlugins'),
href: "plugins.html",
pageIds: ['pluginsPage'],
icon: 'file-download'
}, {
name: Globalize.translate('TabCatalog'),
href: "plugincatalog.html",
pageIds: ['pluginCatalogPage'],
icon: 'add-shopping-cart'
}
]
href: "plugins.html",
pageIds: ['pluginsPage', 'pluginCatalogPage']
}, {
name: Globalize.translate('TabSync'),
icon: 'sync',
items: [
{
name: Globalize.translate('TabSyncJobs'),
href: "syncactivity.html",
pageIds: ['syncActivityPage', 'syncJobPage'],
icon: 'menu'
}, {
name: Globalize.translate('TabCameraUpload'),
href: "devicesupload.html",
pageIds: ['devicesUploadPage'],
icon: 'photo'
}, {
name: Globalize.translate('TabServices'),
href: "appservices.html?context=sync",
//selected: (isServicesPage && context == 'sync'),
icon: 'add-shopping-cart'
}, {
name: Globalize.translate('TabSettings'),
href: "syncsettings.html",
pageIds: ['syncSettingsPage'],
icon: 'settings'
}
]
divider: true,
name: Globalize.translate('TabExpert')
}, {
name: Globalize.translate('TabAdvanced'),
icon: 'settings',
href: "dashboardhosting.html",
color: '#F16834',
items: [
{
name: Globalize.translate('TabAutoOrganize'),
href: "autoorganizelog.html",
pageIds: ['libraryFileOrganizerPage', 'libraryFileOrganizerSmartMatchPage', 'libraryFileOrganizerLogPage'],
icon: 'folder'
},
{
name: Globalize.translate('TabHosting'),
href: "dashboardhosting.html",
pageIds: ['dashboardHostingPage'],
icon: 'wifi'
}, {
name: Globalize.translate('TabScheduledTasks'),
href: "scheduledtasks.html",
pageIds: ['scheduledTasksPage', 'scheduledTaskPage'],
icon: 'schedule'
},
{
name: Globalize.translate('TabSecurity'),
href: "serversecurity.html",
pageIds: ['serverSecurityPage'],
icon: 'lock'
}
]
pageIds: ['dashboardHostingPage', 'serverSecurityPage']
}, {
name: Globalize.translate('TabScheduledTasks'),
color: '#38c',
href: "scheduledtasks.html",
pageIds: ['scheduledTasksPage', 'scheduledTaskPage'],
icon: 'schedule'
}, {
name: Globalize.translate('TabHelp'),
icon: 'info',
items: [
{
name: Globalize.translate('TabAbout'),
href: "about.html",
pageIds: ['aboutPage'],
icon: 'info'
},
{
name: Globalize.translate('TabLogs'),
href: "log.html",
pageIds: ['logPage'],
icon: 'menu'
},
{
name: Globalize.translate('TabEmbyPremiere'),
href: "supporterkey.html",
pageIds: ['supporterKeyPage'],
icon: 'add-circle'
}
]
href: "about.html",
icon: 'help',
color: '#679C34',
divider: true,
pageIds: ['supporterKeyPage', 'logPage', 'aboutPage']
}];
},
@ -2767,6 +2648,7 @@ var AppInfo = {};
defineRoute({
path: '/notificationsettings.html',
controller: 'scripts/notificationsettings',
dependencies: [],
autoFocus: false,
roles: 'admin'

View file

@ -37,6 +37,26 @@
return false;
}
function getTabs() {
return [
{
href: 'cinemamodeconfiguration.html',
name: Globalize.translate('TabCinemaMode')
},
{
href: 'playbackconfiguration.html',
name: Globalize.translate('TabResumeSettings')
},
{
href: 'streamingsettings.html',
name: Globalize.translate('TabStreaming')
},
{
href: 'encodingsettings.html',
name: Globalize.translate('TabTranscoding')
}];
}
$(document).on('pageinit', "#streamingSettingsPage", function () {
var page = this;
@ -70,6 +90,7 @@
Dashboard.showLoadingMsg();
LibraryMenu.setTabs('playback', 2, getTabs);
var page = this;
ApiClient.getServerConfiguration().then(function (config) {