Sonarr/NzbDrone.Web/Views/SearchHistory/Details.cshtml

48 lines
2.5 KiB
Plaintext

@using DataTables.Mvc.Core
@using DataTables.Mvc.Core.Enum
@model NzbDrone.Web.Models.SearchDetailsModel
@{
ViewBag.Title = "Search Details";
}
<h2>@Model.DisplayName</h2>
@Html.GridHtml("searchDetailsGrid")
@section Scripts
{
@(Html.GridScriptFor(m => m.SearchHistoryItems, "#searchDetailsGrid")
.PageLength(20)
.ChangePageLength(false)
.AddColumn(new Column().Image("/Content/Images/Indexers/{Indexer}.png", new { alt = "{Indexer}", title = "{Indexer}" }, "{Indexer}").Sortable(false).Title("").Width("20px"))
.AddColumn(new Column().DataProperty("ReportTitle").Title("Report Title"))
.AddColumn(new Column().DataProperty("Success").Title("Successful").Width("100px"))
//.AddColumn(new Column().Image("/Content/Images/{Success}.png", new { alt = "{Success}", title = "{Success}", @class = "gridImage" }, "{Success}").Title("Successful").Width("100px"))
.AddColumn(new Column().DisplayAndSort("Quality", "QualityInt").Title("Quality").Width("80px"))
.AddColumn(new Column().DataProperty("SearchError").Title("Error"))
.AddColumn(new Column().DataProperty("return actionColumn(source, type, val);", true).Sortable(false).Searchable(false))
.AddColumn(new Column().DataProperty("Details").Sortable(false).Visible(false).RenderFunction("return details(row);"))
.AddSorting(3, DataTables.Mvc.Core.Enum.SortDirection.Desc)
.Language(new Language().EmptyTable("This seach yielded no results").ZeroRecords("No results match the filter")))
<script type="text/javascript">
function details(row) {
var result = "<a href=\"" + row.aData["NzbInfoUrl"] + "\">Nzb Info</a><br/>" +
"<b>Proper: </b>" + row.aData["Proper"] + " <br/>" +
"<b>Age: </b>" + row.aData["Age"] + " days<br/>" +
"<b>Size: </b>" + row.aData["Size"] + " <br/>" +
"<b>Language: </b>" + row.aData["Language"] + " <br/>";
return result;
}
function actionColumn(source, type, val) {
if (type === 'display' || type === 'filter') {
return '<a href="/SearchHistory/ForceDownload?id=' + source["Id"] + '" data-ajax="true" data-ajax-confirm="Are you sure?"><i class="icon-plus gridAction"></i></a>';
}
// 'sort' and 'type' both just use the raw data
return '';
}
</script>
}