diff --git a/dashboard-ui/scripts/aboutpage.js b/dashboard-ui/scripts/aboutpage.js
index ddedc476f1..313faa2026 100644
--- a/dashboard-ui/scripts/aboutpage.js
+++ b/dashboard-ui/scripts/aboutpage.js
@@ -1,10 +1,27 @@
define([], function () {
+ function getTabs() {
+ return [
+ {
+ href: 'about.html',
+ name: Globalize.translate('TabAbout')
+ },
+ {
+ href: 'log.html',
+ name: Globalize.translate('TabLogs')
+ },
+ {
+ href: 'supporterkey.html',
+ name: Globalize.translate('TabEmbyPremiere')
+ }];
+ }
+
return function (view, params) {
var self = this;
view.addEventListener('viewbeforeshow', function (e) {
+ LibraryMenu.setTabs('helpadmin', 0, getTabs);
var elem = view.querySelector('#appVersionNumber');
elem.innerHTML = elem.innerHTML.replace('{0}', ConnectionManager.appVersion());
diff --git a/dashboard-ui/scripts/devicesupload.js b/dashboard-ui/scripts/devicesupload.js
index 0688c93115..41453390ba 100644
--- a/dashboard-ui/scripts/devicesupload.js
+++ b/dashboard-ui/scripts/devicesupload.js
@@ -111,6 +111,22 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'syncactivity.html',
+ name: Globalize.translate('TabSyncJobs')
+ },
+ {
+ href: 'devicesupload.html',
+ name: Globalize.translate('TabCameraUpload')
+ },
+ {
+ href: 'syncsettings.html',
+ name: Globalize.translate('TabSettings')
+ }];
+ }
+
$(document).on('pageinit', "#devicesUploadPage", function () {
var page = this;
@@ -141,6 +157,7 @@
}).on('pageshow', "#devicesUploadPage", function () {
+ LibraryMenu.setTabs('syncadmin', 1, getTabs);
var page = this;
loadData(page);
diff --git a/dashboard-ui/scripts/dlnaprofiles.js b/dashboard-ui/scripts/dlnaprofiles.js
index 4c9e1eb7ad..6151b55d3c 100644
--- a/dashboard-ui/scripts/dlnaprofiles.js
+++ b/dashboard-ui/scripts/dlnaprofiles.js
@@ -100,8 +100,21 @@
});
}
+ function getTabs() {
+ return [
+ {
+ href: 'dlnasettings.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'dlnaprofiles.html',
+ name: Globalize.translate('TabProfiles')
+ }];
+ }
+
$(document).on('pageshow', "#dlnaProfilesPage", function () {
+ LibraryMenu.setTabs('dlna', 1, getTabs);
var page = this;
loadProfiles(page);
diff --git a/dashboard-ui/scripts/dlnasettings.js b/dashboard-ui/scripts/dlnasettings.js
index 2cc982bca6..e8e6e80de4 100644
--- a/dashboard-ui/scripts/dlnasettings.js
+++ b/dashboard-ui/scripts/dlnasettings.js
@@ -49,12 +49,25 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'dlnasettings.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'dlnaprofiles.html',
+ name: Globalize.translate('TabProfiles')
+ }];
+ }
+
$(document).on('pageinit', "#dlnaSettingsPage", function () {
$('.dlnaSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
}).on('pageshow', "#dlnaSettingsPage", function () {
+ LibraryMenu.setTabs('dlna', 0, getTabs);
Dashboard.showLoadingMsg();
var page = this;
diff --git a/dashboard-ui/scripts/livetvsettings.js b/dashboard-ui/scripts/livetvsettings.js
index 76579f57e3..becba5ee6e 100644
--- a/dashboard-ui/scripts/livetvsettings.js
+++ b/dashboard-ui/scripts/livetvsettings.js
@@ -43,6 +43,22 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'livetvstatus.html',
+ name: Globalize.translate('TabDevices')
+ },
+ {
+ href: 'livetvsettings.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'appservices.html?context=livetv',
+ name: Globalize.translate('TabServices')
+ }];
+ }
+
$(document).on('pageinit', "#liveTvSettingsPage", function () {
var page = this;
@@ -70,6 +86,7 @@
}).on('pageshow', "#liveTvSettingsPage", function () {
+ LibraryMenu.setTabs('livetvadmin', 1, getTabs);
Dashboard.showLoadingMsg();
var page = this;
diff --git a/dashboard-ui/scripts/livetvstatus.js b/dashboard-ui/scripts/livetvstatus.js
index 62aa6bfdae..d6f77fb928 100644
--- a/dashboard-ui/scripts/livetvstatus.js
+++ b/dashboard-ui/scripts/livetvstatus.js
@@ -491,6 +491,22 @@
});
}
+ function getTabs() {
+ return [
+ {
+ href: 'livetvstatus.html',
+ name: Globalize.translate('TabDevices')
+ },
+ {
+ href: 'livetvsettings.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'appservices.html?context=livetv',
+ name: Globalize.translate('TabServices')
+ }];
+ }
+
$(document).on('pageinit', "#liveTvStatusPage", function () {
var page = this;
@@ -510,6 +526,7 @@
}).on('pageshow', "#liveTvStatusPage", function () {
+ LibraryMenu.setTabs('livetvadmin', 0, getTabs);
var page = this;
reload(page);
diff --git a/dashboard-ui/scripts/logpage.js b/dashboard-ui/scripts/logpage.js
index c44a549ddb..46b3e59885 100644
--- a/dashboard-ui/scripts/logpage.js
+++ b/dashboard-ui/scripts/logpage.js
@@ -1,5 +1,21 @@
define(['jQuery', 'paper-fab', 'paper-item-body', 'paper-icon-item'], function ($) {
+ function getTabs() {
+ return [
+ {
+ href: 'about.html',
+ name: Globalize.translate('TabAbout')
+ },
+ {
+ href: 'log.html',
+ name: Globalize.translate('TabLogs')
+ },
+ {
+ href: 'supporterkey.html',
+ name: Globalize.translate('TabEmbyPremiere')
+ }];
+ }
+
return function (view, params) {
view.querySelector('#chkDebugLog').addEventListener('change', function () {
@@ -14,6 +30,7 @@
view.addEventListener('viewbeforeshow', function () {
+ LibraryMenu.setTabs('helpadmin', 1, getTabs);
Dashboard.showLoadingMsg();
var apiClient = ApiClient;
diff --git a/dashboard-ui/scripts/metadataconfigurationpage.js b/dashboard-ui/scripts/metadataconfigurationpage.js
index b0e7939644..c70aaae9d1 100644
--- a/dashboard-ui/scripts/metadataconfigurationpage.js
+++ b/dashboard-ui/scripts/metadataconfigurationpage.js
@@ -32,6 +32,22 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'metadata.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'metadataimages.html',
+ name: Globalize.translate('TabServices')
+ },
+ {
+ href: 'metadatanfo.html',
+ name: Globalize.translate('TabNfoSettings')
+ }];
+ }
+
$(document).on('pageinit', "#metadataConfigurationPage", function () {
Dashboard.showLoadingMsg();
@@ -40,6 +56,7 @@
}).on('pageshow', "#metadataConfigurationPage", function () {
+ LibraryMenu.setTabs('metadata', 0, getTabs);
Dashboard.showLoadingMsg();
var page = this;
diff --git a/dashboard-ui/scripts/metadataimagespage.js b/dashboard-ui/scripts/metadataimagespage.js
index de4c10e6f1..5c6a52e231 100644
--- a/dashboard-ui/scripts/metadataimagespage.js
+++ b/dashboard-ui/scripts/metadataimagespage.js
@@ -513,6 +513,22 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'metadata.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'metadataimages.html',
+ name: Globalize.translate('TabServices')
+ },
+ {
+ href: 'metadatanfo.html',
+ name: Globalize.translate('TabNfoSettings')
+ }];
+ }
+
$(document).on('pageinit', "#metadataImagesConfigurationPage", function () {
var page = this;
@@ -555,6 +571,7 @@
}).on('pageshow', "#metadataImagesConfigurationPage", function () {
+ LibraryMenu.setTabs('metadata', 1, getTabs);
Dashboard.showLoadingMsg();
var page = this;
diff --git a/dashboard-ui/scripts/metadatanfo.js b/dashboard-ui/scripts/metadatanfo.js
index e64c6fcb39..6ebe1b4dae 100644
--- a/dashboard-ui/scripts/metadatanfo.js
+++ b/dashboard-ui/scripts/metadatanfo.js
@@ -41,12 +41,29 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'metadata.html',
+ name: Globalize.translate('TabSettings')
+ },
+ {
+ href: 'metadataimages.html',
+ name: Globalize.translate('TabServices')
+ },
+ {
+ href: 'metadatanfo.html',
+ name: Globalize.translate('TabNfoSettings')
+ }];
+ }
+
$(document).on('pageinit', "#metadataNfoPage", function () {
$('.metadataNfoForm').off('submit', onSubmit).on('submit', onSubmit);
}).on('pageshow', "#metadataNfoPage", function () {
+ LibraryMenu.setTabs('metadata', 2, getTabs);
Dashboard.showLoadingMsg();
var page = this;
diff --git a/dashboard-ui/scripts/plugincatalogpage.js b/dashboard-ui/scripts/plugincatalogpage.js
index 7f66e099e5..65518c6d05 100644
--- a/dashboard-ui/scripts/plugincatalogpage.js
+++ b/dashboard-ui/scripts/plugincatalogpage.js
@@ -243,6 +243,18 @@
return html;
}
+ function getTabs() {
+ return [
+ {
+ href: 'plugins.html',
+ name: Globalize.translate('TabMyPlugins')
+ },
+ {
+ href: 'plugincatalog.html',
+ name: Globalize.translate('TabCatalog')
+ }];
+ }
+
$(document).on('pageinit', "#pluginCatalogPage", function () {
var page = this;
@@ -261,6 +273,7 @@
}).on('pageshow', "#pluginCatalogPage", function () {
+ LibraryMenu.setTabs('plugins', 1, getTabs);
var page = this;
reloadList(page);
diff --git a/dashboard-ui/scripts/pluginspage.js b/dashboard-ui/scripts/pluginspage.js
index cca463743c..7767e621a4 100644
--- a/dashboard-ui/scripts/pluginspage.js
+++ b/dashboard-ui/scripts/pluginspage.js
@@ -224,8 +224,21 @@
});
}
+ function getTabs() {
+ return [
+ {
+ href: 'plugins.html',
+ name: Globalize.translate('TabMyPlugins')
+ },
+ {
+ href: 'plugincatalog.html',
+ name: Globalize.translate('TabCatalog')
+ }];
+ }
+
$(document).on('pageshow', "#pluginsPage", function () {
+ LibraryMenu.setTabs('plugins', 0, getTabs);
reloadList(this);
});
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 4c16896cf6..9c9b3fba75 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -747,23 +747,13 @@ var Dashboard = {
href: "library.html",
pageIds: ['mediaLibraryPage'],
icon: 'folder',
- color: '#E5342E'
+ color: '#009688'
}, {
name: Globalize.translate('TabMetadata'),
href: "metadata.html",
- pageIds: ['metadataConfigurationPage'],
+ pageIds: ['metadataConfigurationPage', 'metadataImagesConfigurationPage', 'metadataNfoPage'],
icon: 'insert-drive-file',
- color: '#293AAE'
- }, {
- 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'
+ color: '#FF9800'
}, {
name: Globalize.translate('TabPathSubstitution'),
href: "librarypathmapping.html",
@@ -807,7 +797,7 @@ var Dashboard = {
}, {
name: Globalize.translate('TabLiveTV'),
href: "livetvstatus.html",
- pageIds: ['liveTvStatusPage', 'liveTvSettingsPage'],
+ pageIds: ['liveTvStatusPage', 'liveTvSettingsPage', 'liveTvTunerProviderHdHomerunPage', 'liveTvTunerProviderM3UPage', 'liveTvTunerProviderSatPage'],
icon: 'dvr'
}, {
name: Globalize.translate('TabNotifications'),
diff --git a/dashboard-ui/scripts/supporterkeypage.js b/dashboard-ui/scripts/supporterkeypage.js
index ef85dd381a..37b37a4973 100644
--- a/dashboard-ui/scripts/supporterkeypage.js
+++ b/dashboard-ui/scripts/supporterkeypage.js
@@ -146,6 +146,22 @@
}
};
+ function getTabs() {
+ return [
+ {
+ href: 'about.html',
+ name: Globalize.translate('TabAbout')
+ },
+ {
+ href: 'log.html',
+ name: Globalize.translate('TabLogs')
+ },
+ {
+ href: 'supporterkey.html',
+ name: Globalize.translate('TabEmbyPremiere')
+ }];
+ }
+
$(document).on('pageinit', "#supporterKeyPage", function () {
var page = this;
@@ -156,6 +172,9 @@
$('.benefits', page).html(Globalize.translate('HeaderSupporterBenefit', '
', ''));
}).on('pageshow', "#supporterKeyPage", function () {
+
+ LibraryMenu.setTabs('helpadmin', 2, getTabs);
+
var page = this;
loadUserInfo(page);
load(page);
diff --git a/dashboard-ui/scripts/syncactivity.js b/dashboard-ui/scripts/syncactivity.js
index 6597adee91..39a11d88cd 100644
--- a/dashboard-ui/scripts/syncactivity.js
+++ b/dashboard-ui/scripts/syncactivity.js
@@ -382,6 +382,22 @@
}
+ function getTabs() {
+ return [
+ {
+ href: 'syncactivity.html',
+ name: Globalize.translate('TabSyncJobs')
+ },
+ {
+ href: 'devicesupload.html',
+ name: Globalize.translate('TabCameraUpload')
+ },
+ {
+ href: 'syncsettings.html',
+ name: Globalize.translate('TabSettings')
+ }];
+ }
+
$(document).on('pageinit', ".syncActivityPage", function () {
var page = this;
@@ -396,6 +412,7 @@
}).on('pageshow', ".syncActivityPage", function () {
+ LibraryMenu.setTabs('syncadmin', 0, getTabs);
var page = this;
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
diff --git a/dashboard-ui/scripts/syncsettings.js b/dashboard-ui/scripts/syncsettings.js
index 9e2e55fda5..1d2e872a0f 100644
--- a/dashboard-ui/scripts/syncsettings.js
+++ b/dashboard-ui/scripts/syncsettings.js
@@ -29,6 +29,22 @@
return false;
}
+ function getTabs() {
+ return [
+ {
+ href: 'syncactivity.html',
+ name: Globalize.translate('TabSyncJobs')
+ },
+ {
+ href: 'devicesupload.html',
+ name: Globalize.translate('TabCameraUpload')
+ },
+ {
+ href: 'syncsettings.html',
+ name: Globalize.translate('TabSettings')
+ }];
+ }
+
$(document).on('pageinit', "#syncSettingsPage", function () {
var page = this;
@@ -58,6 +74,7 @@
Dashboard.showLoadingMsg();
+ LibraryMenu.setTabs('syncadmin', 2, getTabs);
var page = this;
ApiClient.getNamedConfiguration("sync").then(function (config) {
diff --git a/dashboard-ui/supporterkey.html b/dashboard-ui/supporterkey.html
index ff328b8734..7d7b175b39 100644
--- a/dashboard-ui/supporterkey.html
+++ b/dashboard-ui/supporterkey.html
@@ -1,4 +1,4 @@
-
+
diff --git a/dashboard-ui/syncactivity.html b/dashboard-ui/syncactivity.html
index 646e2c9f4b..e43aec1f38 100644
--- a/dashboard-ui/syncactivity.html
+++ b/dashboard-ui/syncactivity.html
@@ -1,4 +1,4 @@
-
+
diff --git a/dashboard-ui/syncjob.html b/dashboard-ui/syncjob.html
index 402d4a193c..53c2c2535c 100644
--- a/dashboard-ui/syncjob.html
+++ b/dashboard-ui/syncjob.html
@@ -1,4 +1,4 @@
-
+
diff --git a/dashboard-ui/syncsettings.html b/dashboard-ui/syncsettings.html
index 084bf8dd5c..819222dd7c 100644
--- a/dashboard-ui/syncsettings.html
+++ b/dashboard-ui/syncsettings.html
@@ -1,4 +1,4 @@
-