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

114 lines
3.5 KiB
JavaScript
Raw Normal View History

define(['jQuery'], function ($) {
2015-01-18 23:29:57 -05:00
2015-05-14 13:16:29 -04:00
function onSubmit() {
Dashboard.showLoadingMsg();
var form = this;
2015-12-14 10:43:03 -05:00
ApiClient.getServerConfiguration().then(function (config) {
2015-05-14 13:16:29 -04:00
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
config.PublicPort = $('#txtPublicPort', form).val();
config.PublicHttpsPort = $('#txtPublicHttpsPort', form).val();
config.EnableHttps = $('#chkEnableHttps', form).checked();
config.HttpsPortNumber = $('#txtHttpsPort', form).val();
config.EnableUPnP = $('#chkEnableUpnp', form).checked();
config.WanDdns = $('#txtDdns', form).val();
config.CertificatePath = $('#txtCertificatePath', form).val();
2015-12-14 10:43:03 -05:00
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
2015-05-14 13:16:29 -04:00
});
// Disable default form submission
return false;
}
2016-04-13 12:17:52 -04:00
function getTabs() {
return [
{
href: 'dashboardhosting.html',
name: Globalize.translate('TabHosting')
},
{
href: 'serversecurity.html',
name: Globalize.translate('TabSecurity')
}];
}
2016-05-18 17:46:56 -04:00
return function (view, params) {
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
var self = this;
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
function loadPage(page, config) {
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
$('#txtPublicPort', page).val(config.PublicPort);
$('#txtPublicHttpsPort', page).val(config.PublicHttpsPort);
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
var chkEnableHttps = page.querySelector('#chkEnableHttps');
chkEnableHttps.checked = config.EnableHttps;
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
$('#txtHttpsPort', page).val(config.HttpsPortNumber);
$('#txtDdns', page).val(config.WanDdns || '');
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
var txtCertificatePath = page.querySelector('#txtCertificatePath');
txtCertificatePath.value = config.CertificatePath || '';
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
$('#chkEnableUpnp', page).checked(config.EnableUPnP);
2015-01-23 01:15:15 -05:00
2016-05-18 17:46:56 -04:00
onCertPathChange.call(txtCertificatePath);
Dashboard.hideLoadingMsg();
}
function onCertPathChange() {
if (this.value) {
view.querySelector('#txtDdns').setAttribute('required', 'required');
} else {
view.querySelector('#txtDdns').removeAttribute('required');
}
}
$('#btnSelectCertPath', view).on("click.selectDirectory", function () {
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
require(['directorybrowser'], function (directoryBrowser) {
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
var picker = new directoryBrowser();
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
picker.show({
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
includeFiles: true,
includeDirectories: true,
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
callback: function (path) {
2015-01-23 01:15:15 -05:00
2015-10-13 15:22:45 -04:00
if (path) {
2016-05-18 17:46:56 -04:00
$('#txtCertificatePath', view).val(path);
2015-10-13 15:22:45 -04:00
}
picker.close();
},
header: Globalize.translate('HeaderSelectCertificatePath')
});
2015-01-23 01:15:15 -05:00
});
});
2015-01-18 23:29:57 -05:00
2015-05-14 13:16:29 -04:00
$('.dashboardHostingForm').off('submit', onSubmit).on('submit', onSubmit);
2015-01-18 23:29:57 -05:00
2016-05-18 17:46:56 -04:00
view.querySelector('#txtCertificatePath').addEventListener('change', onCertPathChange);
view.addEventListener('viewshow', function (e) {
LibraryMenu.setTabs('adminadvanced', 0, getTabs);
Dashboard.showLoadingMsg();
ApiClient.getServerConfiguration().then(function (config) {
loadPage(view, config);
});
});
};
});