Indexers settings page now uses jQueryUI accordion

This commit is contained in:
kay.one 2011-11-25 20:02:29 -08:00
parent 596056289e
commit deecc08982
2 changed files with 106 additions and 139 deletions

View File

@ -1,10 +1,7 @@
@using NzbDrone.Web.Helpers @using NzbDrone.Web.Helpers
@model NzbDrone.Web.Models.IndexerSettingsModel @model NzbDrone.Web.Models.IndexerSettingsModel
@section HeaderContent{ @section HeaderContent{
<link rel="stylesheet" type="text/css" href="../../Content/Settings.css" /> <link rel="stylesheet" type="text/css" href="../../Content/Settings.css" />
<link rel="stylesheet" type="text/css" href="../../Content/IndexerSettings.css" />
<style> <style>
.indexerPanel .indexerPanel
{ {
@ -21,134 +18,101 @@
} }
</style> </style>
} }
@section TitleContent{ @section TitleContent{
Settings Settings
} }
@section ActionMenu{ @section ActionMenu{
@{Html.RenderPartial("SubMenu");} @{Html.RenderPartial("SubMenu");}
} }
@section MainContent{ @section MainContent{
<div id="stylized"> <div id="stylized">
<div class="additionalInfo"> <div class="additionalInfo">
NzbDrone checks all Indexers every 15 minutes NzbDrone checks all Indexers every 15 minutes
</div> </div>
@using (Html.BeginForm("SaveIndexers", "Settings", FormMethod.Post, new { id = "form", name = "form", @class = "settingsForm" })) @using (Html.BeginForm("SaveIndexers", "Settings", FormMethod.Post, new { id = "form", name = "form", @class = "settingsForm" }))
{ {
<h1>Indexers</h1> <h1>
<p></p> Indexers</h1>
<p>
</p>
@Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") @Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.")
<div> <div id="accordion">
@{ Html.Telerik().PanelBar() <h3>
.Name("PanelBar") <a href="#">First header</a></h3>
//.HtmlAttributes(new { style = "width: 500px; margin: 10px;" })
.ExpandMode(PanelBarExpandMode.Single)
.SelectedIndex(0)
.Items(indexerItem =>
{
indexerItem.Add()
.Text("NZBs.org")
.ImageUrl("~/Content/Images/Indexers/Nzbs.org.png")
.Content(@<text>
<div class="indexerPanel clearfix"> <div class="indexerPanel clearfix">
<label class="labelClass">Enable <label class="labelClass">
<span class="small">@Html.DescriptionFor(m => m.NzbsOrgEnabled)</span> Enable <span class="small">@Html.DescriptionFor(m => m.NzbsOrgEnabled)</span>
</label> </label>
@Html.CheckBoxFor(m => m.NzbsOrgEnabled, new { @class = "inputClass checkClass" }) @Html.CheckBoxFor(m => m.NzbsOrgEnabled, new { @class = "inputClass checkClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbsOrgUId) <label class="labelClass">@Html.LabelFor(m => m.NzbsOrgUId)
<span class="small">@Html.DescriptionFor(m => m.NzbsOrgUId)</span> <span class="small">@Html.DescriptionFor(m => m.NzbsOrgUId)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbsOrgUId, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbsOrgUId, new { @class = "inputClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbsOrgHash) <label class="labelClass">@Html.LabelFor(m => m.NzbsOrgHash)
<span class="small">@Html.DescriptionFor(m => m.NzbsOrgHash)</span> <span class="small">@Html.DescriptionFor(m => m.NzbsOrgHash)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbsOrgHash, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbsOrgHash, new { @class = "inputClass" })
</div> </div>
</text>); <h3>
indexerItem.Add() <a href="#">First header</a></h3>
.Text("NZB Matrix")
.ImageUrl("~/Content/Images/Indexers/NzbMatrix.png")
.Content(@<text>
<div class="indexerPanel clearfix"> <div class="indexerPanel clearfix">
<label class="labelClass">Enable <label class="labelClass">
<span class="small">@Html.DescriptionFor(m => m.NzbMatrixEnabled)</span> Enable <span class="small">@Html.DescriptionFor(m => m.NzbMatrixEnabled)</span>
</label> </label>
@Html.CheckBoxFor(m => m.NzbMatrixEnabled, new { @class = "inputClass checkClass" }) @Html.CheckBoxFor(m => m.NzbMatrixEnabled, new { @class = "inputClass checkClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbMatrixUsername) <label class="labelClass">@Html.LabelFor(m => m.NzbMatrixUsername)
<span class="small">@Html.DescriptionFor(m => m.NzbMatrixUsername)</span> <span class="small">@Html.DescriptionFor(m => m.NzbMatrixUsername)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbMatrixUsername, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbMatrixUsername, new { @class = "inputClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbMatrixApiKey) <label class="labelClass">@Html.LabelFor(m => m.NzbMatrixApiKey)
<span class="small">@Html.DescriptionFor(m => m.NzbMatrixApiKey)</span> <span class="small">@Html.DescriptionFor(m => m.NzbMatrixApiKey)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbMatrixApiKey, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbMatrixApiKey, new { @class = "inputClass" })
</div> </div>
</text>); <h3>
indexerItem.Add() <a href="#">First header</a></h3>
.Text("NZBsRus")
.ImageUrl("~/Content/Images/Indexers/NzbsRus.png")
.Content(@<text>
<div class="indexerPanel clearfix"> <div class="indexerPanel clearfix">
<label class="labelClass">Enable <label class="labelClass">
<span class="small">@Html.DescriptionFor(m => m.NzbsRUsEnabled)</span> Enable <span class="small">@Html.DescriptionFor(m => m.NzbsRUsEnabled)</span>
</label> </label>
@Html.CheckBoxFor(m => m.NzbsRUsEnabled, new { @class = "inputClass checkClass" }) @Html.CheckBoxFor(m => m.NzbsRUsEnabled, new { @class = "inputClass checkClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbsrusUId) <label class="labelClass">@Html.LabelFor(m => m.NzbsrusUId)
<span class="small">@Html.DescriptionFor(m => m.NzbsrusUId)</span> <span class="small">@Html.DescriptionFor(m => m.NzbsrusUId)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbsrusUId, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbsrusUId, new { @class = "inputClass" })
<label class="labelClass">@Html.LabelFor(m => m.NzbsrusHash) <label class="labelClass">@Html.LabelFor(m => m.NzbsrusHash)
<span class="small">@Html.DescriptionFor(m => m.NzbsrusHash)</span> <span class="small">@Html.DescriptionFor(m => m.NzbsrusHash)</span>
</label> </label>
@Html.TextBoxFor(m => m.NzbsrusHash, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NzbsrusHash, new { @class = "inputClass" })
</div> </div>
</text>); <h3>
indexerItem.Add() <a href="#">First header</a></h3>
.Text("Newzbin")
.ImageUrl("~/Content/Images/Indexers/Newzbin.png")
.Content(@<text>
<div class="indexerPanel clearfix"> <div class="indexerPanel clearfix">
<label class="labelClass">Enable <label class="labelClass">
<span class="small">@Html.DescriptionFor(m => m.NewzbinEnabled)</span> Enable <span class="small">@Html.DescriptionFor(m => m.NewzbinEnabled)</span>
</label> </label>
@Html.CheckBoxFor(m => m.NewzbinEnabled, new { @class = "inputClass checkClass" }) @Html.CheckBoxFor(m => m.NewzbinEnabled, new { @class = "inputClass checkClass" })
<label class="labelClass">@Html.LabelFor(m => m.NewzbinUsername) <label class="labelClass">@Html.LabelFor(m => m.NewzbinUsername)
<span class="small">@Html.DescriptionFor(m => m.NewzbinUsername)</span> <span class="small">@Html.DescriptionFor(m => m.NewzbinUsername)</span>
</label> </label>
@Html.TextBoxFor(m => m.NewzbinUsername, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NewzbinUsername, new { @class = "inputClass" })
<label class="labelClass">@Html.LabelFor(m => m.NewzbinPassword) <label class="labelClass">@Html.LabelFor(m => m.NewzbinPassword)
<span class="small">@Html.DescriptionFor(m => m.NewzbinPassword)</span> <span class="small">@Html.DescriptionFor(m => m.NewzbinPassword)</span>
</label> </label>
@Html.TextBoxFor(m => m.NewzbinPassword, new { @class = "inputClass" }) @Html.TextBoxFor(m => m.NewzbinPassword, new { @class = "inputClass" })
</div> </div>
</text>); <h3><a href="#">First header</a></h3>
indexerItem.Add()
.Text("Newznzb")
.ImageUrl("~/Content/Images/Indexers/Newznab.png")
.Content(@<text>
<div class="indexerPanel clearfix"> <div class="indexerPanel clearfix">
<label class="labelClass">Enable <label class="labelClass">
<span class="small">@Html.DescriptionFor(m => m.NewznabEnabled)</span> Enable <span class="small">@Html.DescriptionFor(m => m.NewznabEnabled)</span>
</label> </label>
@Html.CheckBoxFor(m => m.NewznabEnabled, new { @class = "inputClass checkClass" }) @Html.CheckBoxFor(m => m.NewznabEnabled, new { @class = "inputClass checkClass" })
</div> <p>
<p></p> </p>
<a id="addItem" href="@Url.Action("AddNewznabProvider", "Settings")"> <a id="addItem" href="@Url.Action("AddNewznabProvider", "Settings")">
<img src="../../Content/Images/Plus.png" alt="Add Newznab Provider" width="20px" height="20px" /> <img src="../../Content/Images/Plus.png" alt="Add Newznab Provider" width="20px"
height="20px" />
Add Newznab Provider</a> Add Newznab Provider</a>
<div id="newznabProviders"> <div id="newznabProviders">
@foreach (var provider in Model.NewznabDefinitions) @foreach (var provider in Model.NewznabDefinitions)
@ -156,20 +120,16 @@
Html.RenderAction("GetNewznabProviderView", provider); Html.RenderAction("GetNewznabProviderView", provider);
} }
</div> </div>
</text>); </div>
}).Render();
}
</div> </div>
<br /> <br />
<button type="submit" id="save_button" disabled="disabled">Save</button> <button type="submit" id="save_button" disabled="disabled">
Save</button>
} }
</div> </div>
} }
@section Scripts{ @section Scripts{
<script src="../../Scripts/NzbDrone/settingsForm.js" type="text/javascript"></script> <script src="../../Scripts/NzbDrone/settingsForm.js" type="text/javascript"></script>
<script type="text/javascript"> <script type="text/javascript">
$("#addItem").live('click', function () { $("#addItem").live('click', function () {
$.ajax({ $.ajax({
@ -182,6 +142,13 @@
return false; return false;
}); });
$(function () {
$("#accordion").accordion({
autoHeight: false });
});
var deleteNewznabProviderUrl = '@Url.Action("DeleteNewznabProvider", "Settings")'; var deleteNewznabProviderUrl = '@Url.Action("DeleteNewznabProvider", "Settings")';
function deleteProvider(id) { function deleteProvider(id) {

View File

@ -85,7 +85,7 @@
@section Scripts{ @section Scripts{
<script src="../../Scripts/NzbDrone/settingsForm.js" type="text/javascript"></script> <script src="../../Scripts/NzbDrone/settingsForm.js" type="text/javascript"></script>
<script> <script type="text/javascript">
$(function () { $(function () {
$("#tabs").tabs(); $("#tabs").tabs();
}); });