소스 검색

add pages.

master
yangxiaodong 7 년 전
부모
커밋
12e0403724
6개의 변경된 파일956개의 추가작업 그리고 16개의 파일을 삭제
  1. +2
    -2
      src/DotNetCore.CAP/Dashboard/DashboardRoutes.cs
  2. +14
    -14
      src/DotNetCore.CAP/Dashboard/HtmlHelper.cs
  3. +122
    -0
      src/DotNetCore.CAP/Dashboard/Pages/QueuesPage.cshtml
  4. +574
    -0
      src/DotNetCore.CAP/Dashboard/Pages/QueuesPage.generated.cs
  5. +105
    -0
      src/DotNetCore.CAP/Dashboard/Pages/_Breadcrumbs.generated.cs
  6. +139
    -0
      src/DotNetCore.CAP/Dashboard/Pages/_SidebarMenu.generated.cs

+ 2
- 2
src/DotNetCore.CAP/Dashboard/DashboardRoutes.cs 파일 보기

@@ -74,10 +74,10 @@ namespace DotNetCore.CAP.Dashboard

#region Razor pages and commands

//Routes.AddRazorPage("/jobs/enqueued", x => new QueuesPage());
Routes.AddRazorPage("/jobs/enqueued", x => new QueuesPage());
//Routes.AddRazorPage(
// "/jobs/enqueued/fetched/(?<Queue>.+)",
// x => new FetchedJobsPage(x.Groups["Queue"].Value));
// x => new FetchedJobsPage(x.Groups["Queue"].Value));

//Routes.AddClientBatchCommand("/jobs/enqueued/delete", (client, jobId) => client.ChangeState(jobId, CreateDeletedState()));
//Routes.AddClientBatchCommand("/jobs/enqueued/requeue", (client, jobId) => client.ChangeState(jobId, CreateEnqueuedState()));


+ 14
- 14
src/DotNetCore.CAP/Dashboard/HtmlHelper.cs 파일 보기

@@ -23,22 +23,22 @@ namespace DotNetCore.CAP.Dashboard
_page = page;
}

//public NonEscapedString Breadcrumbs(string title, IDictionary<string, string> items)
//{
// if (items == null) throw new ArgumentNullException(nameof(items));
// return RenderPartial(new Breadcrumbs(title, items));
//}
public NonEscapedString Breadcrumbs(string title, IDictionary<string, string> items)
{
if (items == null) throw new ArgumentNullException(nameof(items));
return RenderPartial(new Breadcrumbs(title, items));
}

//public NonEscapedString JobsSidebar()
//{
// return RenderPartial(new SidebarMenu(JobsSidebarMenu.Items));
//}
public NonEscapedString JobsSidebar()
{
return RenderPartial(new SidebarMenu(JobsSidebarMenu.Items));
}

//public NonEscapedString SidebarMenu(IEnumerable<Func<RazorPage, MenuItem>> items)
//{
// if (items == null) throw new ArgumentNullException(nameof(items));
// return RenderPartial(new SidebarMenu(items));
//}
public NonEscapedString SidebarMenu(IEnumerable<Func<RazorPage, MenuItem>> items)
{
if (items == null) throw new ArgumentNullException(nameof(items));
return RenderPartial(new SidebarMenu(items));
}

public NonEscapedString BlockMetric(DashboardMetric metric)
{


+ 122
- 0
src/DotNetCore.CAP/Dashboard/Pages/QueuesPage.cshtml 파일 보기

@@ -0,0 +1,122 @@
@* Generator: Template TypeVisibility: Internal GeneratePrettyNames: True *@
@using System.Linq
@using DotNetCore.CAP.Dashboard
@using DotNetCore.CAP.Dashboard.Pages
@using DotNetCore.CAP.Dashboard.Resources
@inherits RazorPage
@{
Layout = new LayoutPage(Strings.QueuesPage_Title);

var monitor = Storage.GetMonitoringApi();
var queues = monitor.Queues();
}

<div class="row">
<div class="col-md-3">
@Html.JobsSidebar()
</div>
<div class="col-md-9">
<h1 class="page-header">@Strings.QueuesPage_Title</h1>

@if (queues.Count == 0)
{
<div class="alert alert-warning">
@Strings.QueuesPage_NoQueues
</div>
}
else
{
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th style="min-width: 200px;">@Strings.QueuesPage_Table_Queue</th>
<th>@Strings.QueuesPage_Table_Length</th>
<th>@Strings.Common_Fetched</th>
<th>@Strings.QueuesPage_Table_NextsJobs</th>
</tr>
</thead>
<tbody>
@foreach (var queue in queues)
{
<tr>
<td>@Html.QueueLabel(queue.Name)</td>
<td>@queue.Length</td>
<td>
@if (queue.Fetched.HasValue)
{
<a href="@Url.To("/jobs/enqueued/fetched/" + queue.Name)">
@queue.Fetched
</a>
}
else
{
<em>@Strings.Common_NotAvailable</em>
}
</td>
<td>
@if (queue.FirstJobs.Count == 0)
{
<em>
@Strings.QueuesPage_NoJobs
</em>
}
else
{
<table class="table table-condensed table-inner">
<thead>
<tr>
<th class="min-width">@Strings.Common_Id</th>
<th class="min-width">@Strings.Common_State</th>
<th>@Strings.Common_Job</th>
<th class="align-right min-width">@Strings.Common_Enqueued</th>
</tr>
</thead>
<tbody>
@foreach (var job in queue.FirstJobs)
{
<tr class="@(job.Value == null || !job.Value.InEnqueuedState ? "obsolete-data" : null)">
<td class="min-width">
@Html.JobIdLink(job.Key)
@if (job.Value != null && !job.Value.InEnqueuedState)
{
<span title="@Strings.Common_JobStateChanged_Text" class="glyphicon glyphicon-question-sign"></span>
}
</td>
@if (job.Value == null)
{
<td colspan="3"><em>@Strings.Common_JobExpired</em></td>
}
else
{
<td class="min-width">
@Html.StateLabel(job.Value.State)
</td>
<td class="word-break">
@Html.JobNameLink(job.Key, job.Value.Message)
</td>
<td class="align-right min-width">
@if (job.Value.EnqueuedAt.HasValue)
{
@Html.RelativeTime(job.Value.EnqueuedAt.Value)
}
else
{
<em>@Strings.Common_NotAvailable</em>
}
</td>
}
</tr>
}
</tbody>
</table>
}
</td>
</tr>
}
</tbody>
</table>
</div>
}
</div>
</div>

+ 574
- 0
src/DotNetCore.CAP/Dashboard/Pages/QueuesPage.generated.cs 파일 보기

@@ -0,0 +1,574 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace DotNetCore.CAP.Dashboard.Pages
{
using System;
using System.Collections.Generic;
#line 2 "..\..\Dashboard\Pages\QueuesPage.cshtml"
using System.Linq;
#line default
#line hidden
using System.Text;
#line 3 "..\..\Dashboard\Pages\QueuesPage.cshtml"
using DotNetCore.CAP.Dashboard;
#line default
#line hidden
#line 4 "..\..\Dashboard\Pages\QueuesPage.cshtml"
using DotNetCore.CAP.Dashboard.Pages;
#line default
#line hidden
#line 5 "..\..\Dashboard\Pages\QueuesPage.cshtml"
using DotNetCore.CAP.Dashboard.Resources;
#line default
#line hidden
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
internal partial class QueuesPage : RazorPage
{
#line hidden

public override void Execute()
{


WriteLiteral("\r\n");







#line 7 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Layout = new LayoutPage(Strings.QueuesPage_Title);

var monitor = Storage.GetMonitoringApi();
var queues = monitor.Queues();


#line default
#line hidden
WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n ");


#line 16 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.JobsSidebar());

#line default
#line hidden
WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">");


#line 19 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_Title);

#line default
#line hidden
WriteLiteral("</h1>\r\n\r\n");


#line 21 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (queues.Count == 0)
{

#line default
#line hidden
WriteLiteral(" <div class=\"alert alert-warning\">\r\n ");


#line 24 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_NoQueues);

#line default
#line hidden
WriteLiteral("\r\n </div>\r\n");


#line 26 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}
else
{

#line default
#line hidden
WriteLiteral(" <div class=\"table-responsive\">\r\n <table class=\"table t" +
"able-striped\">\r\n <thead>\r\n <tr>\r\n " +
" <th style=\"min-width: 200px;\">");


#line 33 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_Table_Queue);

#line default
#line hidden
WriteLiteral("</th>\r\n <th>");


#line 34 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_Table_Length);

#line default
#line hidden
WriteLiteral("</th>\r\n <th>");


#line 35 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_Fetched);

#line default
#line hidden
WriteLiteral("</th>\r\n <th>");


#line 36 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_Table_NextsJobs);

#line default
#line hidden
WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " +
" <tbody>\r\n");


#line 40 "..\..\Dashboard\Pages\QueuesPage.cshtml"
foreach (var queue in queues)
{

#line default
#line hidden
WriteLiteral(" <tr>\r\n <td>");


#line 43 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.QueueLabel(queue.Name));

#line default
#line hidden
WriteLiteral("</td>\r\n <td>");


#line 44 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(queue.Length);

#line default
#line hidden
WriteLiteral("</td>\r\n <td>\r\n");


#line 46 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (queue.Fetched.HasValue)
{

#line default
#line hidden
WriteLiteral(" <a href=\"");


#line 48 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Url.To("/jobs/enqueued/fetched/" + queue.Name));

#line default
#line hidden
WriteLiteral("\">\r\n ");


#line 49 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(queue.Fetched);

#line default
#line hidden
WriteLiteral("\r\n </a>\r\n");


#line 51 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}
else
{

#line default
#line hidden
WriteLiteral(" <em>");


#line 54 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_NotAvailable);

#line default
#line hidden
WriteLiteral("</em>\r\n");


#line 55 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </td>\r\n <td>\r\n");


#line 58 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (queue.FirstJobs.Count == 0)
{

#line default
#line hidden
WriteLiteral(" <em>\r\n " +
" ");


#line 61 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.QueuesPage_NoJobs);

#line default
#line hidden
WriteLiteral("\r\n </em>\r\n");


#line 63 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}
else
{

#line default
#line hidden
WriteLiteral(@" <table class=""table table-condensed table-inner"">
<thead>
<tr>
<th class=""min-width"">");


#line 69 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_Id);

#line default
#line hidden
WriteLiteral("</th>\r\n <th class=\"min-width\">" +
"");


#line 70 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_State);

#line default
#line hidden
WriteLiteral("</th>\r\n <th>");


#line 71 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_Job);

#line default
#line hidden
WriteLiteral("</th>\r\n <th class=\"align-right" +
" min-width\">");


#line 72 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_Enqueued);

#line default
#line hidden
WriteLiteral("</th>\r\n </tr>\r\n " +
" </thead>\r\n <" +
"tbody>\r\n");


#line 76 "..\..\Dashboard\Pages\QueuesPage.cshtml"
foreach (var job in queue.FirstJobs)
{

#line default
#line hidden
WriteLiteral(" <tr class=\"");


#line 78 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(job.Value == null || !job.Value.InEnqueuedState ? "obsolete-data" : null);

#line default
#line hidden
WriteLiteral("\">\r\n <td class=\"min-width\"" +
">\r\n ");


#line 80 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.JobIdLink(job.Key));

#line default
#line hidden
WriteLiteral("\r\n");


#line 81 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (job.Value != null && !job.Value.InEnqueuedState)
{

#line default
#line hidden
WriteLiteral(" <span title=\"");


#line 83 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_JobStateChanged_Text);

#line default
#line hidden
WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n");


#line 84 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </td>\r\n");


#line 86 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (job.Value == null)
{

#line default
#line hidden
WriteLiteral(" <td colspan=\"3\"><em>");


#line 88 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_JobExpired);

#line default
#line hidden
WriteLiteral("</em></td>\r\n");


#line 89 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}
else
{

#line default
#line hidden
WriteLiteral(" <td class=\"min-width\"" +
">\r\n ");


#line 93 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.StateLabel(job.Value.State));

#line default
#line hidden
WriteLiteral("\r\n </td>\r\n");



WriteLiteral(" <td class=\"word-break" +
"\">\r\n ");


#line 96 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.JobNameLink(job.Key, job.Value.Message));

#line default
#line hidden
WriteLiteral("\r\n </td>\r\n");



WriteLiteral(" <td class=\"align-righ" +
"t min-width\">\r\n");


#line 99 "..\..\Dashboard\Pages\QueuesPage.cshtml"
if (job.Value.EnqueuedAt.HasValue)
{
#line default
#line hidden
#line 101 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Html.RelativeTime(job.Value.EnqueuedAt.Value));

#line default
#line hidden
#line 101 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}
else
{

#line default
#line hidden
WriteLiteral(" <em>");


#line 105 "..\..\Dashboard\Pages\QueuesPage.cshtml"
Write(Strings.Common_NotAvailable);

#line default
#line hidden
WriteLiteral("</em>\r\n");


#line 106 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </td>\r\n");


#line 108 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </tr>\r\n");


#line 110 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </tbody>\r\n " +
" </table>\r\n");


#line 113 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </td>\r\n </tr>\r\n");


#line 116 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </tbody>\r\n </table>\r\n </div>\r\n");


#line 120 "..\..\Dashboard\Pages\QueuesPage.cshtml"
}

#line default
#line hidden
WriteLiteral(" </div>\r\n</div>");


}
}
}
#pragma warning restore 1591

+ 105
- 0
src/DotNetCore.CAP/Dashboard/Pages/_Breadcrumbs.generated.cs 파일 보기

@@ -0,0 +1,105 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace DotNetCore.CAP.Dashboard.Pages
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#line 2 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
using DotNetCore.CAP.Dashboard;
#line default
#line hidden
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
internal partial class Breadcrumbs : RazorPage
{
#line hidden

public override void Execute()
{


WriteLiteral("\r\n");



WriteLiteral("\r\n<ol class=\"breadcrumb\">\r\n <li><a href=\"");


#line 6 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
Write(Url.Home());

#line default
#line hidden
WriteLiteral("\"><span class=\"glyphicon glyphicon-home\"></span></a></li>\r\n");


#line 7 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
foreach (var item in Items)
{

#line default
#line hidden
WriteLiteral(" <li><a href=\"");


#line 9 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
Write(item.Value);

#line default
#line hidden
WriteLiteral("\">");


#line 9 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
Write(item.Key);

#line default
#line hidden
WriteLiteral("</a></li>\r\n");


#line 10 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
}

#line default
#line hidden
WriteLiteral(" <li class=\"active\">");


#line 11 "..\..\Dashboard\Pages\_Breadcrumbs.cshtml"
Write(Title);

#line default
#line hidden
WriteLiteral("</li>\r\n</ol>");


}
}
}
#pragma warning restore 1591

+ 139
- 0
src/DotNetCore.CAP/Dashboard/Pages/_SidebarMenu.generated.cs 파일 보기

@@ -0,0 +1,139 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace DotNetCore.CAP.Dashboard.Pages
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#line 2 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
using DotNetCore.CAP.Dashboard;
#line default
#line hidden
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
internal partial class SidebarMenu : RazorPage
{
#line hidden

public override void Execute()
{


WriteLiteral("\r\n");




#line 4 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
if (Items.Any())
{

#line default
#line hidden
WriteLiteral(" <div id=\"stats\" class=\"list-group\">\r\n");


#line 7 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
foreach (var item in Items)
{
var itemValue = item(this);

#line default
#line hidden
WriteLiteral(" <a href=\"");


#line 10 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
Write(itemValue.Url);

#line default
#line hidden
WriteLiteral("\" class=\"list-group-item ");


#line 10 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
Write(itemValue.Active ? "active" : null);

#line default
#line hidden
WriteLiteral("\">\r\n ");


#line 11 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
Write(itemValue.Text);

#line default
#line hidden
WriteLiteral("\r\n <span class=\"pull-right\">\r\n");


#line 13 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
foreach (var metric in itemValue.GetAllMetrics())
{
#line default
#line hidden
#line 15 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
Write(Html.InlineMetric(metric));

#line default
#line hidden
#line 15 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
}

#line default
#line hidden
WriteLiteral(" </span>\r\n </a>\r\n");


#line 19 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
}

#line default
#line hidden
WriteLiteral(" </div>\r\n");


#line 21 "..\..\Dashboard\Pages\_SidebarMenu.cshtml"
}

#line default
#line hidden

}
}
}
#pragma warning restore 1591

불러오는 중...
취소
저장