Move LeafDataQuery to it's own view

This commit is contained in:
2020-07-11 21:50:11 -04:00
parent f1691f3d53
commit 4ab050c3bd
4 changed files with 100 additions and 94 deletions
+6 -6
View File
@@ -44,14 +44,14 @@ namespace LeafWeb.WebCms.Controllers
[HttpPost]
public ActionResult Search(LeafDataQuery q)
public ActionResult Search(LeafDataQuery query)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
return RedirectToCurrentUmbracoPage(q.GetNameValueCollection());
return RedirectToCurrentUmbracoPage(query.GetNameValueCollection());
}
private TimeInProgressEstimater TimeInProgressEstimater()
@@ -127,14 +127,14 @@ namespace LeafWeb.WebCms.Controllers
return GetOutputZip(id, LeafOutputFileType.CleanedInput);
}
public ActionResult DownloadResultsInputZip(LeafDataQuery q)
public ActionResult DownloadResultsInputZip(LeafDataQuery query)
{
return GetResults(q, LeafInput.GetInputFilesZip, $"LeafWeb_{DateTime.Now:yyyy-dd-MM--HH-mm-ss}_Input.zip");
return GetResults(query, LeafInput.GetInputFilesZip, $"LeafWeb_{DateTime.Now:yyyy-dd-MM--HH-mm-ss}_Input.zip");
}
public ActionResult DownloadResultsOutputZip(LeafDataQuery q)
public ActionResult DownloadResultsOutputZip(LeafDataQuery query)
{
return GetResults(q, LeafInput.GetOutputFilesZip_ToUser, $"LeafWeb_{DateTime.Now:yyyy-dd-MM--HH-mm-ss}_Output.zip");
return GetResults(query, LeafInput.GetOutputFilesZip_ToUser, $"LeafWeb_{DateTime.Now:yyyy-dd-MM--HH-mm-ss}_Output.zip");
}
private ActionResult GetOutputZip(int id, LeafOutputFileType type)
+12 -88
View File
@@ -4,99 +4,24 @@
@model QueueViewModel
@{
Html.RequiresJs("~/scripts/jquery.validate.min.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.min.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.custom.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.bootstrap.js", 2);
Html.RequiresJs("~/scripts/Queue.js");
var grid = new WebGrid(Model.Items, rowsPerPage: 45);
}
@using (Html.BeginUmbracoForm("Search", "Queue", null, new { @action = "/leaf-data/manage-queue/" }))
{
<div class="row align-items-start">
<div class="col font-italic font-weight-light">
@Model.Items.Count() results<br />
Service description: @Model.ServerDescription
@*Est. processing time by LeafInput size -
<i class="fa fa-file-o"></i> 1: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(1).ToRoundedReadableString()</strong>
<i class="fa fa-file-o"></i> 10: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(10).ToRoundedReadableString()</strong>
<i class="fa fa-file-o"></i> 100: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(100).ToRoundedReadableString()</strong>*@
</div>
<div class="col">
<div class="input-group">
<input name="Q.q" type="text" class="form-control" placeholder="Search for..." value="@Model.Q.q">
<span class="input-group-append">
<button class="btn btn-outline-secondary" type="submit">Search</button>
<button class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" type="button"
data-toggle="collapse" data-target="#additionalSearch" aria-haspopup="true" aria-expanded="false"
title="Additional Search Options">
</button>
</span>
</div><!-- /input-group -->
</div>
<div class="row align-items-start">
<div class="col font-italic font-weight-light">
@Model.Items.Count() results<br />
Service description: @Model.ServerDescription
@*Est. processing time by LeafInput size -
<i class="fa fa-file-o"></i> 1: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(1).ToRoundedReadableString()</strong>
<i class="fa fa-file-o"></i> 10: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(10).ToRoundedReadableString()</strong>
<i class="fa fa-file-o"></i> 100: <strong>@Model.TimeInProgressEstimater.EstimateTimeInProgress(100).ToRoundedReadableString()</strong>*@
</div>
<div class="row @if(Model.Q.HasExtendedParameters) {<text>show</text>} collapse ml-1 mr-1" id="additionalSearch">
<div class="col-lg-8 offset-lg-4 card card-body">
<div class="row">
<div class="col-md-6">
@Html.EditorFor(m => m.Q.siteid)
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.Q.species)
</div>
</div>
<hr />
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-7">
@Html.EditorFor(m => m.Q.lat, new { size = "small", append = "&deg;" })
</div>
<div class="col-5">
@Html.EditorFor(m => m.Q.latr, new { size = "small", prepend = "&plusmn;", append = "&deg;" })
</div>
</div>
</div>
<div class="col-md-6 border-left">
<div class="row">
<div class="col-7">
@Html.EditorFor(m => m.Q.lon, new { size = "small", append = "&deg;" })
</div>
<div class="col-5">
@Html.EditorFor(m => m.Q.lonr, new { size = "small", prepend = "&plusmn;", append = "&deg;" })
</div>
</div>
</div>
</div>
<hr />
<div class="text-body font-weight-bold pb-3">Curve Variation range minimum</div>
<div class="row align-items-end">
<div class="col-md-6">
@Html.EditorFor(m => m.Q.co2s, new { size = "small", append = "umol/m", prepend = ">" })
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.Q.pari, new { size = "small", append = "umol/m2/s", prepend = ">" })
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.Q.tleaf, new { size = "small", append = "oC", prepend = ">" })
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.Q.phips2, new { size = "small", prepend = ">" })
</div>
</div>
<hr />
<div class="row">
<div class="col">
@Html.EditorFor(m => m.Q.completed)
</div>
</div>
</div>
<div class="col">
@Html.Partial("_LeafDataQuery", Model.Q)
</div>
}
</div>
@if (Model.Items.Any())
{
@@ -281,5 +206,4 @@ else
<span class="fa fa-download"></span> Output
</a>
</div>
}
}
+81
View File
@@ -0,0 +1,81 @@
@using ClientDependency.Core.Mvc
@model LeafDataQuery
@{
Html.RequiresJs("~/scripts/jquery.validate.min.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.min.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.custom.js", 2);
Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.bootstrap.js", 2);
}
@using (Html.BeginUmbracoForm("Search", "Queue", null, new {action = "/leaf-data/manage-queue/"}))
{
<div class="input-group pl-5">
<input name="q" type="text" class="form-control" placeholder="Search for..." value="@Model.q">
<span class="input-group-append">
<button class="btn btn-outline-secondary" type="submit">Search</button>
<button class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" type="button"
data-toggle="collapse" data-target="#additionalSearch" aria-haspopup="true" aria-expanded="false"
title="Additional Search Options">
</button>
</span>
</div>
<!-- /input-group -->
<div class="container">
<div class="row @if (Model.HasExtendedParameters) {<text>show</text>} collapse" id="additionalSearch">
<div class="col card card-body">
<div class="row">
<div class="col-md-6">
@Html.EditorFor(m => m.siteid)
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.species)
</div>
</div>
<hr/>
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-7">
@Html.EditorFor(m => m.lat, new {size = "small", append = "&deg;"})
</div>
<div class="col-5">
@Html.EditorFor(m => m.latr, new {size = "small", prepend = "&plusmn;", append = "&deg;"})
</div>
</div>
</div>
<div class="col-md-6 border-left">
<div class="row">
<div class="col-7">
@Html.EditorFor(m => m.lon, new {size = "small", append = "&deg;"})
</div>
<div class="col-5">
@Html.EditorFor(m => m.lonr, new {size = "small", prepend = "&plusmn;", append = "&deg;"})
</div>
</div>
</div>
</div>
<hr/>
<div class="text-body font-weight-bold pb-3">Curve Variation range minimum</div>
<div class="row align-items-end">
<div class="col-md-6">
@Html.EditorFor(m => m.co2s, new {size = "small", prepend = ">", append = "umol/m"})
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.pari, new {size = "small", prepend = ">", append = "umol/m2/s"})
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.tleaf, new {size = "small", prepend = ">", append = "oC"})
</div>
<div class="col-md-6">
@Html.EditorFor(m => m.phips2, new {size = "small", prepend = ">"})
</div>
</div>
<hr/>
<div class="row">
<div class="col">
@Html.EditorFor(m => m.completed)
</div>
</div>
</div>
</div>
</div>
}
+1
View File
@@ -1068,6 +1068,7 @@
<Content Include="Views\Membership\PasswordResetRequest.cshtml" />
<Content Include="Views\Shared\DisplayTemplates\LeafInputDataViewModels.cshtml" />
<Content Include="Views\Shared\DisplayTemplates\_ViewDataCssClass.cshtml" />
<Content Include="Views\Shared\_LeafDataQuery.cshtml" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>