mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
rework hosting options
This commit is contained in:
parent
1509f3805d
commit
0f142fff89
10 changed files with 222 additions and 167 deletions
|
@ -8,10 +8,7 @@
|
|||
Dashboard.setPageTitle(Dashboard.lastSystemInfo.ServerName);
|
||||
}
|
||||
|
||||
ApiClient.getSystemInfo().done(function (systemInfo) {
|
||||
|
||||
Dashboard.setPageTitle(systemInfo.ServerName);
|
||||
});
|
||||
refreshPageTitle(page);
|
||||
|
||||
$('#txtServerName', page).val(config.ServerName || '');
|
||||
|
||||
|
@ -21,21 +18,19 @@
|
|||
|
||||
})).val(config.UICulture).selectmenu('refresh');
|
||||
|
||||
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
|
||||
$('#txtPublicPort', page).val(config.PublicPort);
|
||||
|
||||
$('#chkUseHttps', page).checked(config.UseHttps).checkboxradio('refresh');
|
||||
$('#txtHttpsPort', page).val(config.HttpsPortNumber);
|
||||
$('#txtCertificatePath', page).val(config.CertificatePath);
|
||||
|
||||
$('#txtDdns', page).val(config.WanDdns || '');
|
||||
|
||||
$('#chkEnableUpnp', page).checked(config.EnableUPnP).checkboxradio('refresh');
|
||||
$('#txtCachePath', page).val(config.CachePath || '');
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
function refreshPageTitle(page) {
|
||||
|
||||
ApiClient.getSystemInfo().done(function (systemInfo) {
|
||||
|
||||
Dashboard.setPageTitle(systemInfo.ServerName);
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#dashboardGeneralPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
@ -88,27 +83,19 @@
|
|||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
var page = $(form).parents('.page');
|
||||
|
||||
ApiClient.getServerConfiguration().done(function (config) {
|
||||
|
||||
config.ServerName = $('#txtServerName', form).val();
|
||||
config.UICulture = $('#selectLocalizationLanguage', form).val();
|
||||
|
||||
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
|
||||
config.PublicPort = $('#txtPublicPort', form).val();
|
||||
|
||||
config.UseHttps = $('#chkUseHttps', form).checked();
|
||||
config.HttpsPortNumber = $('#txtHttpsPort', form).val();
|
||||
config.CertificatePath = $('#txtCertificatePath', form).val();
|
||||
|
||||
|
||||
config.EnableUPnP = $('#chkEnableUpnp', form).checked();
|
||||
|
||||
config.WanDdns = $('#txtDdns', form).val();
|
||||
config.CachePath = $('#txtCachePath', form).val();
|
||||
|
||||
ApiClient.updateServerConfiguration(config).done(function () {
|
||||
|
||||
|
||||
refreshPageTitle(page);
|
||||
|
||||
ApiClient.getNamedConfiguration(brandingConfigKey).done(function (brandingConfig) {
|
||||
|
||||
brandingConfig.LoginDisclaimer = $('#txtLoginDisclaimer', form).val();
|
||||
|
|
62
dashboard-ui/scripts/dashboardhosting.js
Normal file
62
dashboard-ui/scripts/dashboardhosting.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
(function ($, document, window) {
|
||||
|
||||
function loadPage(page, config) {
|
||||
|
||||
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
|
||||
$('#txtPublicPort', page).val(config.PublicPort);
|
||||
|
||||
$('#chkEnableHttps', page).checked(config.EnableHttps).checkboxradio('refresh');
|
||||
$('#txtHttpsPort', page).val(config.HttpsPortNumber);
|
||||
$('#txtCertificatePath', page).val(config.CertificatePath);
|
||||
|
||||
$('#txtDdns', page).val(config.WanDdns || '');
|
||||
|
||||
$('#chkEnableUpnp', page).checked(config.EnableUPnP).checkboxradio('refresh');
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#dashboardHostingPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
ApiClient.getServerConfiguration().done(function (config) {
|
||||
|
||||
loadPage(page, config);
|
||||
|
||||
});
|
||||
|
||||
}).on('pageinit', "#dashboardHostingPage", function () {
|
||||
|
||||
var page = this;
|
||||
});
|
||||
|
||||
window.DashboardHostingPage = {
|
||||
|
||||
onSubmit: function () {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
ApiClient.getServerConfiguration().done(function (config) {
|
||||
|
||||
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
|
||||
config.PublicPort = $('#txtPublicPort', form).val();
|
||||
config.EnableHttps = $('#chkEnableHttps', form).checked();
|
||||
config.HttpsPortNumber = $('#txtHttpsPort', form).val();
|
||||
config.CertificatePath = $('#txtCertificatePath', form).val();
|
||||
config.EnableUPnP = $('#chkEnableUpnp', form).checked();
|
||||
config.WanDdns = $('#txtDdns', form).val();
|
||||
|
||||
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})(jQuery, document, window);
|
|
@ -82,18 +82,12 @@
|
|||
|
||||
$('#appVersionNumber', page).html(Globalize.translate('LabelVersionNumber').replace('{0}', systemInfo.Version));
|
||||
|
||||
var httpPort = systemInfo.HttpServerPortNumber;
|
||||
|
||||
var portHtml = Globalize.translate('LabelRunningOnPort', '<b>' + httpPort + '</b>');
|
||||
|
||||
if (systemInfo.UseHttps) {
|
||||
var httpsPort = systemInfo.HttpsPortNumber;
|
||||
portHtml += '<br>';
|
||||
portHtml += Globalize.translate('LabelRunningOnHttpsPort', '<b>' + httpsPort + '</b>');
|
||||
if (systemInfo.EnableHttps) {
|
||||
$('#ports', page).html(Globalize.translate('LabelRunningOnPorts', '<b>' + systemInfo.HttpServerPortNumber + '</b>', '<b>' + systemInfo.HttpsPortNumber + '</b>'));
|
||||
} else {
|
||||
$('#ports', page).html(Globalize.translate('LabelRunningOnPort', '<b>' + systemInfo.HttpServerPortNumber + '</b>'));
|
||||
}
|
||||
|
||||
$('#ports', page).html(portHtml);
|
||||
|
||||
if (systemInfo.CanSelfRestart) {
|
||||
$('.btnRestartContainer', page).removeClass('hide');
|
||||
} else {
|
||||
|
@ -773,11 +767,20 @@
|
|||
|
||||
renderUrls: function (page, systemInfo) {
|
||||
|
||||
if (systemInfo.LocalAddress) {
|
||||
|
||||
var localAccessHtml = Globalize.translate('LabelLocalAccessUrl', '<a href="' + systemInfo.LocalAddress + '" target="_blank">' + systemInfo.LocalAddress + '</a>');
|
||||
|
||||
$('.localUrl', page).html(localAccessHtml).show().trigger('create');
|
||||
} else {
|
||||
$('.externalUrl', page).hide();
|
||||
}
|
||||
|
||||
if (systemInfo.WanAddress) {
|
||||
|
||||
var externalUrl = systemInfo.WanAddress + ApiClient.apiPrefix();
|
||||
var externalUrl = systemInfo.WanAddress;
|
||||
|
||||
var remoteAccessHtml = Globalize.translate('LabelRemoteAccessUrl').replace('{0}', '<a href="' + externalUrl + '" target="_blank">' + externalUrl + '</a>');
|
||||
var remoteAccessHtml = Globalize.translate('LabelRemoteAccessUrl', '<a href="' + externalUrl + '" target="_blank">' + externalUrl + '</a>');
|
||||
|
||||
$('.externalUrl', page).html(remoteAccessHtml).show().trigger('create');
|
||||
} else {
|
||||
|
|
|
@ -668,6 +668,7 @@ var Dashboard = {
|
|||
var items = Dashboard.getToolsMenuLinks(page);
|
||||
|
||||
var i, length, item;
|
||||
var menuHtml = '';
|
||||
|
||||
for (i = 0, length = items.length; i < length; i++) {
|
||||
|
||||
|
@ -678,7 +679,7 @@ var Dashboard = {
|
|||
}
|
||||
|
||||
if (item.divider) {
|
||||
html += "<div class='sidebarDivider ui-bar-inherit'></div>";
|
||||
menuHtml += "<div class='sidebarDivider ui-bar-inherit'></div>";
|
||||
}
|
||||
|
||||
if (item.href) {
|
||||
|
@ -686,26 +687,27 @@ var Dashboard = {
|
|||
var style = item.color ? ' style="color:' + item.color + '"' : '';
|
||||
|
||||
if (item.selected) {
|
||||
html += '<a class="selectedSidebarLink" href="' + item.href + '">';
|
||||
menuHtml += '<a class="sidebarLink selectedSidebarLink" href="' + item.href + '">';
|
||||
} else {
|
||||
html += '<a href="' + item.href + '">';
|
||||
menuHtml += '<a class="sidebarLink" href="' + item.href + '">';
|
||||
}
|
||||
|
||||
html += '<span class="fa ' + item.icon + ' sidebarLinkIcon"' + style + '></span>';
|
||||
menuHtml += '<span class="fa ' + item.icon + ' sidebarLinkIcon"' + style + '></span>';
|
||||
|
||||
html += '<span class="sidebarLinkText">';
|
||||
html += item.name;
|
||||
html += '</span>';
|
||||
html += '</a>';
|
||||
menuHtml += '<span class="sidebarLinkText">';
|
||||
menuHtml += item.name;
|
||||
menuHtml += '</span>';
|
||||
menuHtml += '</a>';
|
||||
} else {
|
||||
|
||||
html += '<div class="sidebarHeader">';
|
||||
html += item.name;
|
||||
html += '</div>';
|
||||
|
||||
menuHtml += '<div class="sidebarHeader">';
|
||||
menuHtml += item.name;
|
||||
menuHtml += '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
// collapsible
|
||||
html += menuHtml;
|
||||
// sidebarLinks
|
||||
html += '</div>';
|
||||
|
||||
// content-secondary
|
||||
|
@ -715,29 +717,10 @@ var Dashboard = {
|
|||
|
||||
html += '<p class="libraryPanelHeader" style="margin: 15px 0 15px 15px;"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" /><span style="color:#333;">MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
|
||||
|
||||
for (i = 0, length = items.length; i < length; i++) {
|
||||
|
||||
item = items[i];
|
||||
|
||||
if (!user.Policy.IsAdministrator) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (item.divider) {
|
||||
html += "<div class='dashboardPanelDivider'></div>";
|
||||
}
|
||||
|
||||
if (item.href) {
|
||||
|
||||
if (item.selected) {
|
||||
html += '<a class="selectedDashboardPanelLink dashboardPanelLink" href="' + item.href + '">' + item.name + '</a>';
|
||||
} else {
|
||||
html += '<a class="dashboardPanelLink" href="' + item.href + '">' + item.name + '</a>';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
html += '<div class="sidebarLinks">';
|
||||
html += menuHtml;
|
||||
// sidebarLinks
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
$('.content-primary', page).before(html);
|
||||
|
@ -1483,6 +1466,11 @@ $(document).on('pagecreate', ".page", function () {
|
|||
|
||||
var page = $(this);
|
||||
|
||||
var current = page.data('theme');
|
||||
if (current) {
|
||||
return;
|
||||
}
|
||||
|
||||
var newTheme;
|
||||
|
||||
if (page.hasClass('libraryPage')) {
|
||||
|
@ -1491,7 +1479,7 @@ $(document).on('pagecreate', ".page", function () {
|
|||
newTheme = 'a';
|
||||
}
|
||||
|
||||
var current = page.page("option", "theme");
|
||||
current = page.page("option", "theme");
|
||||
|
||||
if (current && current != newTheme) {
|
||||
page.page("option", "theme", newTheme);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue