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

added advanced server settings tab

This commit is contained in:
Luke Pulverenti 2014-01-11 14:21:49 -05:00
parent bcf0a737d2
commit fa461c249c
5 changed files with 112 additions and 24 deletions

View file

@ -11,6 +11,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="#" data-role="button" class="ui-btn-active">General</a> <a href="#" data-role="button" class="ui-btn-active">General</a>
<a href="advancedserversettings.html" data-role="button">Server</a>
<a href="encodingsettings.html" data-role="button">Transcoding</a> <a href="encodingsettings.html" data-role="button">Transcoding</a>
</div> </div>
<form id="advancedConfigurationForm"> <form id="advancedConfigurationForm">
@ -34,14 +35,6 @@
Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all. Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.
</div> </div>
</li> </li>
<li>
<label for="txtPortNumber">Http server port number: </label>
<input type="number" id="txtPortNumber" name="txtPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li id="fldWebSocketPortNumber" style="display: none;">
<label for="txtWebSocketPortNumber">Web socket port number: </label>
<input type="number" id="txtWebSocketPortNumber" name="txtWebSocketPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li> <li>
<input type="checkbox" id="chkDebugLog" name="chkDebugLog" data-mini="true" /> <input type="checkbox" id="chkDebugLog" name="chkDebugLog" data-mini="true" />
<label for="chkDebugLog">Enable debug logging </label> <label for="chkDebugLog">Enable debug logging </label>

View file

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html>
<head>
<title>Advanced</title>
</head>
<body>
<div id="advancedServerSettingsPage" data-role="page" class="page type-interior advancedConfigurationPage">
<div data-role="content">
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">General</a>
<a href="#" data-role="button" class="ui-btn-active">Server</a>
<a href="encodingsettings.html" data-role="button">Transcoding</a>
</div>
<form class="advancedServerSettingsForm">
<ul data-role="listview" class="ulForm">
<li>
<label for="txtPortNumber">Http server port number: </label>
<input type="number" id="txtPortNumber" name="txtPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li id="fldWebSocketPortNumber" style="display: none;">
<label for="txtWebSocketPortNumber">Web socket port number: </label>
<input type="number" id="txtWebSocketPortNumber" name="txtWebSocketPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
</ul>
<ul data-role="listview" class="ulForm">
<li>
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
Save
</button>
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete" data-mini="true">
Cancel
</button>
</li>
</ul>
</form>
</div>
</div>
<script type="text/javascript">
$('.advancedServerSettingsForm').off('submit', AdvancedServerSettingsPage.onSubmit).on('submit', AdvancedServerSettingsPage.onSubmit);
</script>
</div>
</body>
</html>

View file

@ -11,6 +11,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">General</a> <a href="advanced.html" data-role="button">General</a>
<a href="advancedserversettings.html" data-role="button">Server</a>
<a href="#" data-role="button" class="ui-btn-active">Transcoding</a> <a href="#" data-role="button" class="ui-btn-active">Transcoding</a>
</div> </div>
@ -51,17 +52,17 @@
<input type="checkbox" id="chkEnableCustomTranscodingTempPath" name="chkEnableCustomTranscodingTempPath" data-mini="true" /> <input type="checkbox" id="chkEnableCustomTranscodingTempPath" name="chkEnableCustomTranscodingTempPath" data-mini="true" />
<label for="chkEnableCustomTranscodingTempPath">Use custom transcoding temporary path</label> <label for="chkEnableCustomTranscodingTempPath">Use custom transcoding temporary path</label>
<div class="fieldDescription"> <div class="fieldDescription">
This folder contains server cache files, such as images. This folder contains working files used by the media browser transcoder.
</div> </div>
</li> </li>
<li id="fldEnterTranscodingTempPath" style="display: none;"> <li id="fldEnterTranscodingTempPath" style="display: none;">
<label for="txtTranscodingTempPath">Server cache path: </label> <label for="txtTranscodingTempPath">Transcoding temporary path: </label>
<div style="display: inline-block; width: 92%;"> <div style="display: inline-block; width: 92%;">
<input type="text" id="txtTranscodingTempPath" name="txtTranscodingTempPath" data-mini="true" /> <input type="text" id="txtTranscodingTempPath" name="txtTranscodingTempPath" data-mini="true" />
</div> </div>
<button id="btnSelectTranscodingTempPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">Select Directory</button> <button id="btnSelectTranscodingTempPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">Select Directory</button>
<div class="fieldDescription"> <div class="fieldDescription">
Supply a custom cache path. Media Browser Server must have write access to this folder. The location of this folder will directly impact server performance and should ideally be placed on a solid state drive. Supply a custom transcoding temporary path. Media Browser Server must have write access to this folder.
</div> </div>
</li> </li>
<li> <li>

View file

@ -16,17 +16,7 @@
$('#fldRunAtStartup', page).hide(); $('#fldRunAtStartup', page).hide();
} }
if (systemInfo.SupportsNativeWebSocket) {
$('#fldWebSocketPortNumber', page).hide();
} else {
$('#fldWebSocketPortNumber', page).show();
}
$('#selectAutomaticUpdateLevel', page).val(config.SystemUpdateLevel).selectmenu('refresh').trigger('change'); $('#selectAutomaticUpdateLevel', page).val(config.SystemUpdateLevel).selectmenu('refresh').trigger('change');
$('#txtWebSocketPortNumber', page).val(config.LegacyWebSocketPortNumber);
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
$('#chkDebugLog', page).checked(config.EnableDebugLevelLogging).checkboxradio("refresh"); $('#chkDebugLog', page).checked(config.EnableDebugLevelLogging).checkboxradio("refresh");
$('#chkRunAtStartup', page).checked(config.RunAtStartup).checkboxradio("refresh"); $('#chkRunAtStartup', page).checked(config.RunAtStartup).checkboxradio("refresh");
@ -136,9 +126,6 @@
config.CachePath = ''; config.CachePath = '';
} }
config.LegacyWebSocketPortNumber = $('#txtWebSocketPortNumber', form).val();
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
config.EnableDebugLevelLogging = $('#chkDebugLog', form).checked(); config.EnableDebugLevelLogging = $('#chkDebugLog', form).checked();
config.RunAtStartup = $('#chkRunAtStartup', form).checked(); config.RunAtStartup = $('#chkRunAtStartup', form).checked();

View file

@ -0,0 +1,58 @@
(function ($, document, window) {
function loadPage(page, config, systemInfo) {
if (systemInfo.SupportsNativeWebSocket) {
$('#fldWebSocketPortNumber', page).hide();
} else {
$('#fldWebSocketPortNumber', page).show();
}
$('#txtWebSocketPortNumber', page).val(config.LegacyWebSocketPortNumber);
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
Dashboard.hideLoadingMsg();
}
$(document).on('pageshow', "#advancedServerSettingsPage", function () {
Dashboard.showLoadingMsg();
var page = this;
var promise1 = ApiClient.getServerConfiguration();
var promise2 = ApiClient.getSystemInfo();
$.when(promise1, promise2).done(function (response1, response2) {
loadPage(page, response1[0], response2[0]);
});
});
window.AdvancedServerSettingsPage = {
onSubmit: function () {
Dashboard.showLoadingMsg();
var form = this;
ApiClient.getServerConfiguration().done(function (config) {
config.LegacyWebSocketPortNumber = $('#txtWebSocketPortNumber', form).val();
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
});
// Disable default form submission
return false;
}
};
})(jQuery, document, window);