Edit added to Series/Details.

This commit is contained in:
Mark McDowall 2012-02-22 13:41:47 -08:00
parent f50d515dde
commit 29656c72b0
4 changed files with 209 additions and 174 deletions

View File

@ -351,6 +351,7 @@
<Content Include="Scripts\NzbDrone\addSeries.js" />
<Content Include="Scripts\NzbDrone\AutoComplete.js" />
<Content Include="Scripts\jquery.dataTables.4button.pagination.js" />
<Content Include="Scripts\NzbDrone\series.js" />
<Content Include="Scripts\NzbDrone\qualitySettings.js" />
<Content Include="Scripts\NzbDrone\grid.js" />
<Content Include="Scripts\NzbDrone\settings.js" />

View File

@ -0,0 +1,107 @@
var seriesEditorUrl = '../Series/SeriesEditor';
var saveSeriesEditorUrl = '../Series/SaveSeriesEditor';
var seriesDeleteUrl = '../Series/DeleteSeries';
$("#seriesEditor").dialog({
autoOpen: false,
height: 'auto',
width: 670,
resizable: false,
modal: true,
buttons: {
"Delete": {
text: "Delete",
class: "ui-delete-button",
click: function () {
var answer = confirm("Are you sure you want to delete this series?");
if (answer) {
var seriesId = $('#SeriesId').val();
$.ajax({
type: "POST",
url: seriesDeleteUrl,
data: { seriesId: seriesId },
success: function (data) {
//Remove the row from the grid... along with the details row
afterDelete();
}
});
$(this).dialog("close");
}
}
},
"Save": function () {
//Save the form
$('#SeriesEditorForm').submit();
afterSave();
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$("#seriesDelete").dialog({
autoOpen: false,
resizable: false,
height: 'auto',
width: 450,
modal: true,
buttons: {
"Delete": function () {
var seriesId = $('.seriesId').val();
$.ajax({
type: "POST",
url: seriesDeleteUrl,
data: { seriesId: seriesId },
success: function (data) {
//Remove the row from the grid... along with the details row
afterDelete(seriesId);
}
});
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$(".editButton").live('click', function () {
//Get the SeriesId and Title
var seriesId = parseInt($(this).attr("value"));
var title = $(this).attr("rel");
//Set the title of the dialog
$("#seriesEditor").dialog("option", "title", title);
//Pre-populate the view with ajax
$('#seriesEditor').html('<div style="text-align: center; width: 100%; height: 100%;"><img src="../../Content/Images/ajax-loader.gif" style="padding-top: 120px;" /></div>');
//Get the view
$.ajax({
url: seriesEditorUrl,
data: { seriesId: seriesId },
success: function (data) {
$('#seriesEditor').html(data);
}
});
//Open the dialog
$("#seriesEditor").dialog("open");
});
$(".deleteButton").live('click', function () {
//Get the SeriesId and Title
var seriesId = parseInt($(this).attr("value"));
var title = $(this).attr("rel");
//Fill in the view
$('#seriesDelete').children('.seriesId').val(seriesId);
$('#seriesDelete').children('.seriesTitle').html(title);
//Open the dialog
$("#seriesDelete").dialog("open");
});

View File

@ -5,57 +5,65 @@
@section HeaderContent
{
@Html.IncludeCss("Settings.css")
@Html.IncludeCss("Grid.css")
<style>
.seasonToggleTopGroup
{
overflow: hidden;
}
.seasonToggleTop
{
background-color: #F1EDED;
background-position: 5px center;
background-repeat: no-repeat;
display: inline-block;
font-size: 15px;
margin: 2px;
padding: 2px 5px;
width: 100px;
}
.seasonToggleLabel
{
margin-left: 5px;
color: black;
text-decoration: none;
}
.seasonToggleTop .ignoredEpisodesMaster
{
padding-left: 0px;
padding-right: 0px;
border-style: none;
}
#banner-container
{
width: 758px;
height: 140px;
padding: 0px;
margin-top: 10px;
margin-bottom: 15px;
margin-left: auto;
margin-right: auto;
}
.seasonSection
{
margin-top: 50px;
}
.ui-dialog-buttonpane .ui-dialog-buttonset .ui-delete-button
{
margin-right: 445px;
}
</style>
}
@{ ViewBag.Title = Model.Title; }
<style>
.seasonToggleTopGroup
{
overflow: hidden;
}
.seasonToggleTop
{
background-color: #F1EDED;
background-position: 5px center;
background-repeat: no-repeat;
display: inline-block;
font-size: 15px;
margin: 2px;
padding: 2px 5px;
width: 100px;
}
.seasonToggleLabel
{
margin-left: 5px;
color: black;
text-decoration: none;
}
.seasonToggleTop .ignoredEpisodesMaster
{
padding-left: 0px;
padding-right: 0px;
border-style: none;
}
#banner-container
{
width: 758px;
height: 140px;
padding: 0px;
margin-top: 10px;
margin-bottom: 15px;
margin-left: auto;
margin-right: auto;
}
.seasonSection
{
margin-top: 50px;
}
</style>
@section ActionMenu
{
<ul class="sub-menu">
@ -63,6 +71,7 @@
<li>@Ajax.ActionLink("Update Info", "UpdateInfo", "Command", new { seriesId = Model.SeriesId }, null)</li>
<li>@Ajax.ActionLink("Search for missing episodes", "BacklogSeries", "Episode", new { seriesId = Model.SeriesId }, null)</li>
<li>@Ajax.ActionLink("Rename Episodes", "RenameEpisodes", "Episode", new { seriesId = Model.SeriesId }, null)</li>
<li><a class="editButton" value="@Model.SeriesId" rel="@Model.Title">Edit</a></li>
</ul>
}
@ -95,9 +104,27 @@
}
</div>
}
<div style="visibility: hidden">
<div id="seriesEditor" title="Edit Series">
</div>
</div>
@section Scripts{
@Html.IncludeScript("NzbDrone/seriesDetails.js")
@Html.IncludeScript("NzbDrone/series.js")
<script type="text/javascript">
seriesId = @Model.SeriesId;
//Used when we delete this series
function afterDelete(seriesId) {
window.location = "/";
}
//After we save do this...
function afterSave() {
//Do nothing
}
</script>
}

View File

@ -110,10 +110,10 @@
</div>
</div>
@section Scripts{
@Html.IncludeScript("NzbDrone/series.js")
<script type="text/javascript">
var seriesEditorUrl = './Series/SeriesEditor';
var saveSeriesEditorUrl = './Series/SaveSeriesEditor';
var seriesDeleteUrl = './Series/DeleteSeries';
var pauseImage = '<img src="../../Content/Images/pause.png" width="24" height="24" alt="Paused" title="Not monitored" />';
var stopImage = '<img src="../../Content/Images/stop.png" width="24" height="24" alt="Ended" title="Ended" />';
var playImage = '<img src="../../Content/Images/play.png" width="24" height="24" alt="Active" title="Continuing" />';
@ -218,137 +218,37 @@
progressbar.find('.ui-progressbar-value').append(label);
});
});
//After we delete a series do this...
function afterDelete(seriesId) {
$('.' + seriesId).hide();
$('.details_' + seriesId).hide();
}
//After we save do this...
function afterSave() {
updateStatus();
}
$("#seriesEditor").dialog({
autoOpen: false,
height: 'auto',
width: 670,
resizable: false,
modal: true,
buttons: {
"Delete": {
text: "Delete",
class: "ui-delete-button",
click: function () {
var answer = confirm("Are you sure you want to delete this series?");
if (answer) {
var seriesId = $('#SeriesId').val();
function updateStatus() {
var monitored = $('#Monitored').attr('checked');
var seriesId = $('#SeriesId').val();
var status = $('#Status').val();
var imgContainer = $('.' + seriesId).children('.statusColumn');
$.ajax({
type: "POST",
url: seriesDeleteUrl,
data: { seriesId: seriesId },
success: function (data) {
//Remove the row from the grid... along with the details row
$('.' + seriesId).hide();
$('.details_' + seriesId).hide();
}
});
$(this).dialog("close");
}
}
},
"Save": function () {
//Save the form
$('#SeriesEditorForm').submit();
updateStatus();
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
if (!monitored) {
imgContainer.html(pauseImage);
}
});
$("#seriesDelete").dialog({
autoOpen: false,
resizable: false,
height: 'auto',
width: 450,
modal: true,
buttons: {
"Delete": function () {
var seriesId = $('.seriesId').val();
$.ajax({
type: "POST",
url: seriesDeleteUrl,
data: { seriesId: seriesId },
success: function (data) {
//Remove the row from the grid... along with the details row
$('.' + seriesId).hide();
$('.details_' + seriesId).hide();
}
});
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
else {
if (status === "Ended") {
imgContainer.html(stopImage);
}
}
});
$(".editButton")
.live('click', function () {
//Get the SeriesId and Title
var seriesId = parseInt($(this).attr("value"));
var title = $(this).attr("rel");
//Set the title of the dialog
$("#seriesEditor").dialog("option", "title", title);
//Pre-populate the view with ajax
$('#seriesEditor').html('<div style="text-align: center; width: 100%; height: 100%;"><img src="../../Content/Images/ajax-loader.gif" style="padding-top: 120px;" /></div>');
//Get the view
$.ajax({
url: seriesEditorUrl,
data: { seriesId: seriesId },
success: function (data) {
$('#seriesEditor').html(data);
}
});
//Open the dialog
$("#seriesEditor").dialog("open");
});
$(".deleteButton")
.live('click', function () {
//Get the SeriesId and Title
var seriesId = parseInt($(this).attr("value"));
var title = $(this).attr("rel");
//Set the title of the dialog
//$("#seriesDelete").dialog("option", "title", "Delete Series: " + title);
//Fill in the view
$('#seriesDelete').children('.seriesId').val(seriesId);
$('#seriesDelete').children('.seriesTitle').html(title);
//Open the dialog
$("#seriesDelete").dialog("open");
});
function updateStatus() {
var monitored = $('#Monitored').attr('checked');
var seriesId = $('#SeriesId').val();
var status = $('#Status').val();
var imgContainer = $('.' + seriesId).children('.statusColumn');
if (!monitored) {
imgContainer.html(pauseImage);
}
else {
if (status === "Ended"){
imgContainer.html(stopImage);
}
else {
imgContainer.html(playImage);
}
imgContainer.html(playImage);
}
}
}
</script>
}