mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-10-03 01:01:34 +02:00
Remove AJAX tabs for settings pages
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
@using NzbDrone.Web.Helpers;
|
||||
@model NzbDrone.Web.Models.DownloadClientSettingsModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<style>
|
||||
.downloadClient
|
||||
{
|
||||
|
@@ -1,34 +0,0 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
@{ViewBag.Title = "Settings";}
|
||||
|
||||
@section HeaderContent
|
||||
{
|
||||
@Html.IncludeCss("Settings.css")
|
||||
@Html.IncludeCss("IndexerSettings.css")
|
||||
@Html.IncludeCss("QualitySettings.css")
|
||||
}
|
||||
|
||||
<div class="jquery-tabs">
|
||||
<ul>
|
||||
<li><a href="#Naming">Naming</a></li>
|
||||
<li>@Html.ActionLink("Quality", "Quality", "Settings")</li>
|
||||
<li>@Html.ActionLink("Indexers", "Indexers", "Settings")</li>
|
||||
<li>@Html.ActionLink("Download Client", "DownloadClient", "Settings")</li>
|
||||
<li>@Html.ActionLink("Notifications", "Notifications", "Settings")</li>
|
||||
<li>@Html.ActionLink("System", "System", "Settings")</li>
|
||||
<li>@Html.ActionLink("Misc", "Misc", "Settings")</li>
|
||||
</ul>
|
||||
|
||||
<div id="Naming">@{ Html.RenderAction("Naming", "Settings"); }</div>
|
||||
</div>
|
||||
|
||||
@section Scripts{
|
||||
@Html.IncludeScript("NzbDrone/settings.js")
|
||||
@Html.IncludeScript("NzbDrone/qualitySettings.js")
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
createExamples();
|
||||
});
|
||||
</script>
|
||||
}
|
@@ -1,12 +1,16 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
@model NzbDrone.Web.Models.IndexerSettingsModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<style>
|
||||
.indexerStatusContainer {
|
||||
margin-left: 14px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="indexerStatusContainer">
|
||||
@Html.CheckBox("nzbMatrixStatus", @Model.NzbMatrixEnabled, new { @class = "indexerStatusButton" })
|
||||
<label for="nzbMatrixStatus">NZBMatrix</label>
|
||||
@@ -177,7 +181,9 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
@section Scripts
|
||||
{
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
//Allow unobstrusive validation of the AJAX loaded form
|
||||
$.validator.unobtrusive.parse("#IndexersForm");
|
||||
@@ -318,3 +324,4 @@
|
||||
$("#title_" + profileId).text(value);
|
||||
}).keyup();
|
||||
</script>
|
||||
}
|
||||
|
@@ -1,6 +1,9 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
@model NzbDrone.Web.Models.MiscSettingsModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<div class="warningBox">
|
||||
Enabling Backlog Searching can use lots of bandwidth and is not recommended for users with block Usenet accounts or bandwidth restrictions.
|
||||
|
@@ -1,7 +1,6 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
@model NzbDrone.Web.Models.EpisodeNamingModel
|
||||
@model NzbDrone.Web.Models.EpisodeNamingModel
|
||||
@{
|
||||
Layout = null;
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
<style>
|
||||
#examples
|
||||
@@ -35,4 +34,12 @@
|
||||
<button type="submit" class="save_button" disabled="disabled">
|
||||
Save</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts{
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
createExamples();
|
||||
});
|
||||
</script>
|
||||
}
|
@@ -1,5 +1,9 @@
|
||||
@model NzbDrone.Web.Models.NotificationSettingsModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<style>
|
||||
.notifier
|
||||
{
|
||||
@@ -54,38 +58,42 @@
|
||||
Save</button>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
//Allow unobstrusive validation of the AJAX loaded form
|
||||
$.validator.unobtrusive.parse('#NotificationForm');
|
||||
|
||||
//Validator Settings
|
||||
var settings = $.data($('#NotificationForm')[0], 'validator').settings;
|
||||
settings.ignore = [];
|
||||
settings.focusInvalid = false;
|
||||
settings.onfocusout = function (element) { $(element).valid(); };
|
||||
@section Scripts
|
||||
{
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
//Allow unobstrusive validation of the AJAX loaded form
|
||||
$.validator.unobtrusive.parse('#NotificationForm');
|
||||
|
||||
var oldHighlight = settings.highlight;
|
||||
var oldUnhighlight = settings.unhighlight;
|
||||
//Validator Settings
|
||||
var settings = $.data($('#NotificationForm')[0], 'validator').settings;
|
||||
settings.ignore = [];
|
||||
settings.focusInvalid = false;
|
||||
settings.onfocusout = function(element) { $(element).valid(); };
|
||||
|
||||
settings.highlight = function (element, errorClass, validClass) {
|
||||
oldHighlight(element, errorClass, validClass);
|
||||
$(element).parents('div.ui-accordion-content').prev('h3.ui-accordion-header').addClass('validation-error');
|
||||
};
|
||||
settings.unhighlight = function (element, errorClass, validClass) {
|
||||
oldUnhighlight(element, errorClass, validClass);
|
||||
var oldHighlight = settings.highlight;
|
||||
var oldUnhighlight = settings.unhighlight;
|
||||
|
||||
var container = $(element).parents('div.ui-accordion-content');
|
||||
if ($(container).children('.' + errorClass).length == 0)
|
||||
settings.highlight = function(element, errorClass, validClass) {
|
||||
oldHighlight(element, errorClass, validClass);
|
||||
$(element).parents('div.ui-accordion-content').prev('h3.ui-accordion-header').addClass('validation-error');
|
||||
};
|
||||
settings.unhighlight = function(element, errorClass, validClass) {
|
||||
oldUnhighlight(element, errorClass, validClass);
|
||||
|
||||
var container = $(element).parents('div.ui-accordion-content');
|
||||
if ($(container).children('.' + errorClass).length == 0)
|
||||
$(container).prev('h3.ui-accordion-header').removeClass('validation-error');
|
||||
};
|
||||
});
|
||||
|
||||
$(document).on('change', '.checkClass', function() {
|
||||
$("#NotificationForm").validate().form();
|
||||
|
||||
var container = $('div.ui-accordion-content');
|
||||
if ($(container).children('.input-validation-error').length == 0)
|
||||
$(container).prev('h3.ui-accordion-header').removeClass('validation-error');
|
||||
};
|
||||
});
|
||||
|
||||
$(document).on('change', '.checkClass', function () {
|
||||
$("#NotificationForm").validate().form();
|
||||
|
||||
var container = $('div.ui-accordion-content');
|
||||
if ($(container).children('.input-validation-error').length == 0)
|
||||
$(container).prev('h3.ui-accordion-header').removeClass('validation-error');
|
||||
});
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
@@ -1,11 +1,15 @@
|
||||
@using NzbDrone.Core.Repository.Quality
|
||||
@using NzbDrone.Web.Helpers;
|
||||
@model NzbDrone.Web.Models.QualityModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<div id="stylized">
|
||||
@using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new { id = "QualityForm", name = "QualityForm" }))
|
||||
@using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new { id = "QualityForm", name = "QualityForm", @class = "settingsForm" }))
|
||||
{
|
||||
<div id="top" class="settingsForm">
|
||||
<div id="top">
|
||||
<label class="labelClass">@Html.LabelFor(m => m.DefaultQualityProfileId)
|
||||
<span class="small">@Html.DescriptionFor(m => m.DefaultQualityProfileId)</span>
|
||||
</label>
|
||||
@@ -41,7 +45,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.SdtvMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
<div class="slider-container">
|
||||
<b>DVD</b>
|
||||
@@ -49,7 +53,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.DvdMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
<div class="slider-container">
|
||||
<b>HDTV</b>
|
||||
@@ -57,7 +61,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.HdtvMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
<div class="slider-container">
|
||||
<b>WEBDL</b>
|
||||
@@ -65,7 +69,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.WebdlMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
<div class="slider-container">
|
||||
<b>Bluray 720p</b>
|
||||
@@ -73,7 +77,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.Bluray720pMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
<div class="slider-container">
|
||||
<b>Bluray 1080p</b>
|
||||
@@ -81,7 +85,7 @@
|
||||
</div>
|
||||
@Html.HiddenFor(m => m.Bluray1080pMaxSize, new { @class = "slider-value" })
|
||||
30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute">
|
||||
</span>MB
|
||||
</span>MB
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -90,12 +94,17 @@
|
||||
Save</button>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
setupSliders();
|
||||
});
|
||||
|
||||
$('.quality-selectee').livequery(function () {
|
||||
$(this).button();
|
||||
});
|
||||
</script>
|
||||
@section Scripts {
|
||||
<script type="text/javascript">
|
||||
@Html.IncludeScript("NzbDrone/qualitySettings.js")
|
||||
|
||||
$(document).ready(function() {
|
||||
setupSliders();
|
||||
});
|
||||
|
||||
$('.quality-selectee').livequery(function() {
|
||||
$(this).button();
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
@@ -1,7 +1,9 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
@model NzbDrone.Web.Models.SystemSettingsModel
|
||||
@{ Layout = null; }
|
||||
|
||||
@{
|
||||
Layout = "_SettingsLayout.cshtml";
|
||||
}
|
||||
|
||||
<div class="infoBox">
|
||||
You must manually restart NzbDrone for these changes to take effect. (Automatic restart coming soon!)
|
||||
@@ -43,30 +45,33 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
//Allow unobstrusive validation of the AJAX loaded form
|
||||
$.validator.unobtrusive.parse('#SystemForm');
|
||||
@section Scripts
|
||||
{
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
//Allow unobstrusive validation of the AJAX loaded form
|
||||
$.validator.unobtrusive.parse('#SystemForm');
|
||||
|
||||
//Validator Settings
|
||||
var settings = $.data($('#SystemForm')[0], 'validator').settings;
|
||||
settings.ignore = [];
|
||||
settings.focusInvalid = false;
|
||||
settings.onfocusout = function (element) { $(element).valid(); };
|
||||
//Validator Settings
|
||||
var settings = $.data($('#SystemForm')[0], 'validator').settings;
|
||||
settings.ignore = [];
|
||||
settings.focusInvalid = false;
|
||||
settings.onfocusout = function(element) { $(element).valid(); };
|
||||
|
||||
var oldHighlight = settings.highlight;
|
||||
var oldUnhighlight = settings.unhighlight;
|
||||
var oldHighlight = settings.highlight;
|
||||
var oldUnhighlight = settings.unhighlight;
|
||||
|
||||
settings.highlight = function (element, errorClass, validClass) {
|
||||
oldHighlight(element, errorClass, validClass);
|
||||
$(element).parents('div.ui-accordion-content').prev('h3.ui-accordion-header').addClass('validation-error');
|
||||
};
|
||||
settings.unhighlight = function (element, errorClass, validClass) {
|
||||
oldUnhighlight(element, errorClass, validClass);
|
||||
settings.highlight = function(element, errorClass, validClass) {
|
||||
oldHighlight(element, errorClass, validClass);
|
||||
$(element).parents('div.ui-accordion-content').prev('h3.ui-accordion-header').addClass('validation-error');
|
||||
};
|
||||
settings.unhighlight = function(element, errorClass, validClass) {
|
||||
oldUnhighlight(element, errorClass, validClass);
|
||||
|
||||
var container = $(element).parents('div.ui-accordion-content');
|
||||
if ($(container).children('.' + errorClass).length == 0)
|
||||
$(container).prev('h3.ui-accordion-header').removeClass('validation-error');
|
||||
};
|
||||
});
|
||||
</script>
|
||||
var container = $(element).parents('div.ui-accordion-content');
|
||||
if ($(container).children('.' + errorClass).length == 0)
|
||||
$(container).prev('h3.ui-accordion-header').removeClass('validation-error');
|
||||
};
|
||||
});
|
||||
</script>
|
||||
}
|
27
NzbDrone.Web/Views/Settings/_SettingsLayout.cshtml
Normal file
27
NzbDrone.Web/Views/Settings/_SettingsLayout.cshtml
Normal file
@@ -0,0 +1,27 @@
|
||||
@using NzbDrone.Web.Helpers
|
||||
|
||||
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
|
||||
|
||||
@section HeaderContent
|
||||
{
|
||||
@Html.IncludeCss("Settings.css")
|
||||
@Html.IncludeCss("IndexerSettings.css")
|
||||
@Html.IncludeCss("QualitySettings.css")
|
||||
}
|
||||
|
||||
<ul class="settings-navigation">
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Naming", "Naming", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Quality", "Quality", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Indexers", "Indexers", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Download Client", "DownloadClient", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Notifications", "Notifications", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("System", "System", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Misc", "Misc", "Settings"))
|
||||
</ul>
|
||||
|
||||
@RenderBody()
|
||||
|
||||
@section Scripts{
|
||||
@Html.IncludeScript("NzbDrone/settings.js")
|
||||
@RenderSection("Scripts", required: false)
|
||||
}
|
@@ -24,12 +24,12 @@
|
||||
<div id="centered">
|
||||
<div id="menu">
|
||||
<ul>
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Series", "Index", "Series"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Upcoming", "Index", "Upcoming"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("History", "Index", "History"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Missing", "Index", "Missing"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Settings", "Index", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Logs", "Index", "Log"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("Series", "Index", "Series"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("Upcoming", "Index", "Upcoming"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("History", "Index", "History"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("Missing", "Index", "Missing"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("Settings", "Index", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentControllerLink("Logs", "Index", "Log"))
|
||||
</ul>
|
||||
<input id="localSeriesLookup" type="text" />
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user