mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
158 lines
11 KiB
Plaintext
158 lines
11 KiB
Plaintext
@model List<NzbDrone.Web.Models.UpcomingEpisodeModel>
|
|
@using NzbDrone.Web.Models
|
|
@section TitleContent{
|
|
Upcoming
|
|
}
|
|
|
|
<link href="../../Content/Grid.css" rel="stylesheet" type="text/css" />
|
|
|
|
@section ActionMenu{
|
|
<ul class="sub-menu">
|
|
<li>@Ajax.ActionLink("Start RSS Sync", "RssSync", "Command", null, null)</li>
|
|
</ul>
|
|
}
|
|
@section MainContent{
|
|
<div id="yesterday">
|
|
<h2>Yesterday</h2>
|
|
<div class="grid-container">
|
|
@{Html.Telerik().Grid<UpcomingEpisodeModel>().Name("Yesterday").NoRecordsTemplate(
|
|
"No watched shows aired yesterday")
|
|
.TableHtmlAttributes(new { @class = "Grid" })
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(c => c.SeriesTitle)
|
|
.ClientTemplate("<a href=" +
|
|
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
|
|
"><#= SeriesTitle #></a>")
|
|
.Title("Series Title");
|
|
columns.Bound(c => c.SeasonNumber).Title("Season #").Width(40);
|
|
columns.Bound(c => c.EpisodeNumber).Title("Episode #").Width(40);
|
|
columns.Bound(c => c.Title).Title("Episode Title");
|
|
columns.Bound(c => c.AirDateTime).Title("Air Time")
|
|
.ClientTemplate("<#= AirTime #>")
|
|
.Width(160);
|
|
columns.Bound(c => c.Status)
|
|
.ClientTemplate("<img src='../../Content/Images/<#= Status #>.png' alt='<#= Status #>' title='<#= Status #>' class='statusImage status-<#= Status #>' />" +
|
|
"<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for episode' class='searchImage' /></a>"
|
|
);
|
|
})
|
|
.DetailView(detailView => detailView.ClientTemplate(
|
|
"<fieldset>" +
|
|
"<div><b>Overview: </b><#= Overview #></div>" +
|
|
"</fieldset>"
|
|
))
|
|
.DataBinding(data => data.Ajax().Select("_AjaxBindingYesterday", "Upcoming"))
|
|
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.AirDateTime).Ascending()).Enabled(true))
|
|
//.Pageable(c => c.PageSize(20).Position(GridPagerPosition.Both).Style(GridPagerStyles.PageInput | GridPagerStyles.NextPreviousAndNumeric))
|
|
//.Filterable()
|
|
//.ClientEvents(c => c.OnRowDataBound("onRowDataBound"))
|
|
.Render();}
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div id="today">
|
|
<h2>Today</h2>
|
|
<div class="grid-container">
|
|
@{Html.Telerik().Grid<UpcomingEpisodeModel>().Name("Today").NoRecordsTemplate("No watched shows airing today.")
|
|
.TableHtmlAttributes(new { @class = "Grid" })
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(c => c.SeriesTitle)
|
|
.ClientTemplate("<a href=" +
|
|
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
|
|
"><#= SeriesTitle #></a>")
|
|
.Title("Series Name");
|
|
columns.Bound(c => c.SeasonNumber).Title("Season #").Width(40);
|
|
columns.Bound(c => c.EpisodeNumber).Title("Episode #").Width(40);
|
|
columns.Bound(c => c.Title).Title("Episode Title");
|
|
columns.Bound(c => c.AirDateTime).Title("Air Time")
|
|
.ClientTemplate("<#= AirTime #>")
|
|
.Width(160);
|
|
columns.Bound(c => c.Status)
|
|
.ClientTemplate("<img src='../../Content/Images/<#= Status #>.png' alt='<#= Status #>' title='<#= Status #>' class='statusImage status-<#= Status #>' />" +
|
|
"<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for episode' class='searchImage' /></a>"
|
|
);
|
|
})
|
|
.DetailView(detailView => detailView.ClientTemplate(
|
|
"<fieldset>" +
|
|
"<div><b>Overview: </b><#= Overview #></div>" +
|
|
"</fieldset>"
|
|
))
|
|
.DataBinding(data => data.Ajax().Select("_AjaxBindingToday", "Upcoming"))
|
|
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.AirDateTime).Ascending()).Enabled(true))
|
|
.Render();}
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div id="tomorrow">
|
|
<h2>Tomorrow</h2>
|
|
<div class="grid-container">
|
|
@{Html.Telerik().Grid<UpcomingEpisodeModel>().Name("Tomorrow").NoRecordsTemplate(
|
|
"No watched shows airing tomorrow")
|
|
.TableHtmlAttributes(new { @class = "Grid" })
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(c => c.SeriesTitle)
|
|
.ClientTemplate("<a href=" +
|
|
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
|
|
"><#= SeriesTitle #></a>")
|
|
.Title("Series Name");
|
|
columns.Bound(c => c.SeasonNumber).Title("Season #").Width(40);
|
|
columns.Bound(c => c.EpisodeNumber).Title("Episode #").Width(40);
|
|
columns.Bound(c => c.Title).Title("Episode Title");
|
|
columns.Bound(c => c.AirDateTime).Title("Air Time")
|
|
.ClientTemplate("<#= AirTime #>")
|
|
.Width(160);
|
|
columns.Bound(c => c.Status)
|
|
.ClientTemplate("<img src='../../Content/Images/<#= Status #>.png' alt='<#= Status #>' title='<#= Status #>' class='statusImage status-<#= Status #>' />" +
|
|
"<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for episode' class='searchImage' /></a>"
|
|
);
|
|
})
|
|
.DetailView(detailView => detailView.ClientTemplate(
|
|
"<fieldset>" +
|
|
"<div><b>Overview: </b><#= Overview #></div>" +
|
|
"</fieldset>"
|
|
))
|
|
|
|
.DataBinding(data => data.Ajax().Select("_AjaxBindingTomorrow", "Upcoming"))
|
|
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.AirDateTime).Ascending()).Enabled(true))
|
|
.Render();}
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div id="week">
|
|
<h2>Future Forecast</h2>
|
|
<div class="grid-container">
|
|
@{Html.Telerik().Grid<UpcomingEpisodeModel>().Name("Week").NoRecordsTemplate(
|
|
"No watched shows airing in the next week...")
|
|
.TableHtmlAttributes(new { @class = "Grid" })
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(c => c.SeriesTitle)
|
|
.ClientTemplate("<a href=" +
|
|
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
|
|
"><#= SeriesTitle #></a>")
|
|
.Title("Series Name");
|
|
columns.Bound(c => c.SeasonNumber).Title("Season #").Width(40);
|
|
columns.Bound(c => c.EpisodeNumber).Title("Episode #").Width(40);
|
|
columns.Bound(c => c.Title).Title("Episode Title");
|
|
columns.Bound(c => c.AirDateTime).Title("Air Date/Time")
|
|
.ClientTemplate("<#= AirDate #> at <#= AirTime #>")
|
|
.Width(160);
|
|
columns.Bound(c => c.Status)
|
|
.ClientTemplate("<img src='../../Content/Images/<#= Status #>.png' alt='<#= Status #>' title='<#= Status #>' class='statusImage status-<#= Status #>' />" +
|
|
"<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for episode' class='searchImage' /></a>"
|
|
);
|
|
})
|
|
.DetailView(detailView => detailView.ClientTemplate(
|
|
"<fieldset>" +
|
|
"<div><b>Overview: </b><#= Overview #></div>" +
|
|
"</fieldset>"
|
|
))
|
|
.DataBinding(data => data.Ajax().Select("_AjaxBindingWeek", "Upcoming"))
|
|
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.AirDateTime).Ascending()).Enabled(true))
|
|
.Render();}
|
|
</div>
|
|
</div>
|
|
}
|