Files
LeafWeb/WebCms/Views/Queue/Index.cshtml
T
2017-01-27 14:07:36 -05:00

104 lines
3.4 KiB
Plaintext

@model QueueViewModel
@{
var grid = new WebGrid(Model.Items, rowsPerPage: 45);
}
<dl>
<dt>Service description</dt>
<dd>@Model.ServerDescription</dd>
</dl>
@grid.Table(columns:
grid.Columns(
grid.Column("Identifier", "Identifier"),
grid.Column("SiteId", "Site Id"),
grid.Column("Name", "Submitted By"),
//grid.Column("FileCount", "Input files"),
grid.Column("TotalInProgressTime", "In-Progress Time", item => ((TimeSpan)item.TotalInProgressTime).ToRoundedReadableString()),
grid.Column("CurrentStatus", "Status", item => Html.Partial("DisplayTemplates/_LeafInputStatus", (string)item.CurrentStatus.ToString())),
grid.Column("Total Results: " + Model.Items.Count(), format: item => Btns(item))),
htmlAttributes: new { @class = "table table-striped table-bordered table-hover table-condensed" }
)
@grid.BootstrapPager()
@helper Btns(dynamic item)
{
<div class="btn-group text-nowrap" role="group">
<div class="btn-group" role="group">
<button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Actions
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>@DetailsLink(item)</li>
<li @DisableItem(!item.HasLeafChart)>@ChartLink(item)</li>
@if (item.IsCancellable)
{
<li role="separator" class="divider"></li>
<li>@CancelLink(item)</li>
}
@*<li role="separator" class="divider"></li>
<li class="dropdown-header">Priority</li>
<li>@SetPriorityHigh(item, "Set High")</li>
<li>@SetPriorityLow(item, "Set Low")</li>*@
<li role="separator" class="divider"></li>
<li class="dropdown-header">Download</li>
<li>@DownloadInput(item)</li>
<li @DisableItem(!item.HasOutputFiles)>@DownloadOutputToUser(item)</li>
<li role="separator" class="divider"></li>
<li @DisableItem(!item.IsDeletable)>@DeleteLink(item)</li>
</ul>
</div>
</div>
}
@helper DetailsLink(dynamic item)
{
@Html.Partial("DisplayTemplates/_DetailsLink", (int)item.Id)
}
@helper ChartLink(dynamic item)
{
@Html.Partial("DisplayTemplates/_ChartLink", (int)item.Id)
}
@helper SetPriorityHigh(dynamic item, string label)
{
<a href="@Url.Action("SetPriorityHigh", "Queue", new {id = item.Id})">
<span class="glyphicon glyphicon-arrow-up"></span> @label
</a>
}
@helper SetPriorityLow(dynamic item, string label)
{
<a href="@Url.Action("SetPriorityLow", "Queue", new {id = item.Id})">
<span class="glyphicon glyphicon-arrow-down"></span> @label
</a>
}
@helper DownloadInput(dynamic item)
{
<a href="@Url.Action("DownloadInput", "Queue", new {id = item.Id})">
<span class="glyphicon glyphicon-download"></span> Input
</a>
}
@helper DownloadOutputToUser(dynamic item)
{
<a href="@Url.Action("DownloadOutputToUser", "Queue", new {id = item.Id})">
<span class="glyphicon glyphicon-download"></span> ToUser
</a>
}
@helper DeleteLink(dynamic item)
{
@Html.Partial("DisplayTemplates/_DeleteForm", (Tuple<int, string, bool>)Tuple.Create(item.Id, item.Identifier, item.IsDeletable))
}
@helper CancelLink(dynamic item)
{
@Html.Partial("DisplayTemplates/_CancelForm", (Tuple<int, string>)Tuple.Create(item.Id, item.Identifier))
}
@helper DisableItem(bool disabled)
{
if (disabled) {<text>class="disabled"</text>}
}