@@ -31,4 +31,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
context.Response.StatusCode = (int)HttpStatusCode.NoContent; | context.Response.StatusCode = (int)HttpStatusCode.NoContent; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -9,9 +9,9 @@ namespace DotNetCore.CAP.Dashboard | |||||
private readonly string[] _resourceNames; | private readonly string[] _resourceNames; | ||||
public CombinedResourceDispatcher( | public CombinedResourceDispatcher( | ||||
string contentType, | |||||
Assembly assembly, | |||||
string baseNamespace, | |||||
string contentType, | |||||
Assembly assembly, | |||||
string baseNamespace, | |||||
params string[] resourceNames) : base(contentType, assembly, null) | params string[] resourceNames) : base(contentType, assembly, null) | ||||
{ | { | ||||
_assembly = assembly; | _assembly = assembly; | ||||
@@ -30,4 +30,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -15,7 +15,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public Task Dispatch(DashboardContext context) | public Task Dispatch(DashboardContext context) | ||||
{ | { | ||||
var request = context.Request; | |||||
var request = context.Request; | |||||
var response = context.Response; | var response = context.Response; | ||||
if (!"POST".Equals(request.Method, StringComparison.OrdinalIgnoreCase)) | if (!"POST".Equals(request.Method, StringComparison.OrdinalIgnoreCase)) | ||||
@@ -36,4 +36,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return Task.FromResult(true); | return Task.FromResult(true); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,6 +1,4 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||
using Microsoft.AspNetCore.Http; | using Microsoft.AspNetCore.Http; | ||||
@@ -48,4 +46,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
public HttpContext HttpContext { get; } | public HttpContext HttpContext { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -4,7 +4,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
{ | { | ||||
public class DashboardMetric | public class DashboardMetric | ||||
{ | { | ||||
public DashboardMetric(string name, Func<RazorPage, Metric> func) | |||||
public DashboardMetric(string name, Func<RazorPage, Metric> func) | |||||
: this(name, name, func) | : this(name, name, func) | ||||
{ | { | ||||
} | } | ||||
@@ -135,7 +135,6 @@ namespace DotNetCore.CAP.Dashboard | |||||
IntValue = page.Statistics.ReceivedSucceeded | IntValue = page.Statistics.ReceivedSucceeded | ||||
}); | }); | ||||
//---------------------------------------------------- | //---------------------------------------------------- | ||||
public static readonly DashboardMetric PublishedFailedCount = new DashboardMetric( | public static readonly DashboardMetric PublishedFailedCount = new DashboardMetric( | ||||
@@ -147,6 +146,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
Style = page.Statistics.PublishedFailed > 0 ? MetricStyle.Danger : MetricStyle.Default, | Style = page.Statistics.PublishedFailed > 0 ? MetricStyle.Danger : MetricStyle.Default, | ||||
Highlighted = page.Statistics.PublishedFailed > 0 | Highlighted = page.Statistics.PublishedFailed > 0 | ||||
}); | }); | ||||
public static readonly DashboardMetric ReceivedFailedCount = new DashboardMetric( | public static readonly DashboardMetric ReceivedFailedCount = new DashboardMetric( | ||||
"received_failed:count", | "received_failed:count", | ||||
"Metrics_FailedJobs", | "Metrics_FailedJobs", | ||||
@@ -157,4 +157,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
Highlighted = page.Statistics.ReceivedFailed > 0 | Highlighted = page.Statistics.ReceivedFailed > 0 | ||||
}); | }); | ||||
} | } | ||||
} | |||||
} |
@@ -15,6 +15,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public abstract string RemoteIpAddress { get; } | public abstract string RemoteIpAddress { get; } | ||||
public abstract string GetQuery(string key); | public abstract string GetQuery(string key); | ||||
public abstract Task<IList<string>> GetFormValuesAsync(string key); | public abstract Task<IList<string>> GetFormValuesAsync(string key); | ||||
} | } | ||||
@@ -25,7 +26,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public CapDashboardRequest(HttpContext context) | public CapDashboardRequest(HttpContext context) | ||||
{ | { | ||||
if (context == null) throw new ArgumentNullException(nameof(context)); | if (context == null) throw new ArgumentNullException(nameof(context)); | ||||
_context = context; | |||||
_context = context; | |||||
} | } | ||||
public override string Method => _context.Request.Method; | public override string Method => _context.Request.Method; | ||||
@@ -33,7 +34,9 @@ namespace DotNetCore.CAP.Dashboard | |||||
public override string PathBase => _context.Request.PathBase.Value; | public override string PathBase => _context.Request.PathBase.Value; | ||||
public override string LocalIpAddress => _context.Connection.LocalIpAddress.ToString(); | public override string LocalIpAddress => _context.Connection.LocalIpAddress.ToString(); | ||||
public override string RemoteIpAddress => _context.Connection.RemoteIpAddress.ToString(); | public override string RemoteIpAddress => _context.Connection.RemoteIpAddress.ToString(); | ||||
public override string GetQuery(string key) => _context.Request.Query[key]; | public override string GetQuery(string key) => _context.Request.Query[key]; | ||||
public override async Task<IList<string>> GetFormValuesAsync(string key) | public override async Task<IList<string>> GetFormValuesAsync(string key) | ||||
{ | { | ||||
var form = await _context.Request.ReadFormAsync(); | var form = await _context.Request.ReadFormAsync(); | ||||
@@ -14,6 +14,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public abstract Stream Body { get; } | public abstract Stream Body { get; } | ||||
public abstract void SetExpire(DateTimeOffset? value); | public abstract void SetExpire(DateTimeOffset? value); | ||||
public abstract Task WriteAsync(string text); | public abstract Task WriteAsync(string text); | ||||
} | } | ||||
@@ -21,7 +22,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
{ | { | ||||
private readonly HttpContext _context; | private readonly HttpContext _context; | ||||
public CapDashboardResponse( HttpContext context) | |||||
public CapDashboardResponse(HttpContext context) | |||||
{ | { | ||||
if (context == null) throw new ArgumentNullException(nameof(context)); | if (context == null) throw new ArgumentNullException(nameof(context)); | ||||
_context = context; | _context = context; | ||||
@@ -72,11 +72,10 @@ namespace DotNetCore.CAP.Dashboard | |||||
GetExecutingAssembly(), | GetExecutingAssembly(), | ||||
GetContentResourceName("fonts", "glyphicons-halflings-regular.woff2"))); | GetContentResourceName("fonts", "glyphicons-halflings-regular.woff2"))); | ||||
#endregion | |||||
#endregion Embedded static content | |||||
#region Razor pages and commands | #region Razor pages and commands | ||||
Routes.AddJsonResult("/published/message/(?<Id>.+)", x => | Routes.AddJsonResult("/published/message/(?<Id>.+)", x => | ||||
{ | { | ||||
var id = int.Parse(x.UriMatch.Groups["Id"].Value); | var id = int.Parse(x.UriMatch.Groups["Id"].Value); | ||||
@@ -103,7 +102,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
//Routes.AddRazorPage("/jobs/processing", x => new ProcessingJobsPage()); | //Routes.AddRazorPage("/jobs/processing", x => new ProcessingJobsPage()); | ||||
//Routes.AddClientBatchCommand( | //Routes.AddClientBatchCommand( | ||||
// "/jobs/processing/delete", | |||||
// "/jobs/processing/delete", | |||||
// (client, jobId) => client.ChangeState(jobId, CreateDeletedState(), ProcessingState.StateName)); | // (client, jobId) => client.ChangeState(jobId, CreateDeletedState(), ProcessingState.StateName)); | ||||
//Routes.AddClientBatchCommand( | //Routes.AddClientBatchCommand( | ||||
@@ -113,7 +112,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
//Routes.AddRazorPage("/jobs/scheduled", x => new ScheduledJobsPage()); | //Routes.AddRazorPage("/jobs/scheduled", x => new ScheduledJobsPage()); | ||||
//Routes.AddClientBatchCommand( | //Routes.AddClientBatchCommand( | ||||
// "/jobs/scheduled/enqueue", | |||||
// "/jobs/scheduled/enqueue", | |||||
// (client, jobId) => client.ChangeState(jobId, CreateEnqueuedState(), ScheduledState.StateName)); | // (client, jobId) => client.ChangeState(jobId, CreateEnqueuedState(), ScheduledState.StateName)); | ||||
//Routes.AddClientBatchCommand( | //Routes.AddClientBatchCommand( | ||||
@@ -176,17 +175,17 @@ namespace DotNetCore.CAP.Dashboard | |||||
//Routes.AddRazorPage("/recurring", x => new RecurringJobsPage()); | //Routes.AddRazorPage("/recurring", x => new RecurringJobsPage()); | ||||
//Routes.AddRecurringBatchCommand( | //Routes.AddRecurringBatchCommand( | ||||
// "/recurring/remove", | |||||
// "/recurring/remove", | |||||
// (manager, jobId) => manager.RemoveIfExists(jobId)); | // (manager, jobId) => manager.RemoveIfExists(jobId)); | ||||
//Routes.AddRecurringBatchCommand( | //Routes.AddRecurringBatchCommand( | ||||
// "/recurring/trigger", | |||||
// "/recurring/trigger", | |||||
// (manager, jobId) => manager.Trigger(jobId)); | // (manager, jobId) => manager.Trigger(jobId)); | ||||
//Routes.AddRazorPage("/servers", x => new ServersPage()); | //Routes.AddRazorPage("/servers", x => new ServersPage()); | ||||
//Routes.AddRazorPage("/retries", x => new RetriesPage()); | //Routes.AddRazorPage("/retries", x => new RetriesPage()); | ||||
#endregion | |||||
#endregion Razor pages and commands | |||||
} | } | ||||
public static RouteCollection Routes { get; } | public static RouteCollection Routes { get; } | ||||
@@ -216,4 +215,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return typeof(DashboardRoutes).GetTypeInfo().Assembly; | return typeof(DashboardRoutes).GetTypeInfo().Assembly; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -12,12 +12,12 @@ namespace DotNetCore.CAP.Dashboard | |||||
public EmbeddedResourceDispatcher( | public EmbeddedResourceDispatcher( | ||||
string contentType, | string contentType, | ||||
Assembly assembly, | |||||
Assembly assembly, | |||||
string resourceName) | string resourceName) | ||||
{ | { | ||||
if (contentType == null) throw new ArgumentNullException(nameof(contentType)); | if (contentType == null) throw new ArgumentNullException(nameof(contentType)); | ||||
if (assembly == null) throw new ArgumentNullException(nameof(assembly)); | if (assembly == null) throw new ArgumentNullException(nameof(assembly)); | ||||
_assembly = assembly; | _assembly = assembly; | ||||
_resourceName = resourceName; | _resourceName = resourceName; | ||||
_contentType = contentType; | _contentType = contentType; | ||||
@@ -51,4 +51,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -2,12 +2,11 @@ | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
using System.Net; | using System.Net; | ||||
using System.Text; | |||||
using System.ComponentModel; | |||||
using System.Reflection; | using System.Reflection; | ||||
using System.Text; | |||||
using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||
using DotNetCore.CAP.Dashboard.Resources; | |||||
using DotNetCore.CAP.Dashboard.Pages; | using DotNetCore.CAP.Dashboard.Pages; | ||||
using DotNetCore.CAP.Dashboard.Resources; | |||||
using DotNetCore.CAP.Infrastructure; | using DotNetCore.CAP.Infrastructure; | ||||
using DotNetCore.CAP.Models; | using DotNetCore.CAP.Models; | ||||
using Microsoft.Extensions.Internal; | using Microsoft.Extensions.Internal; | ||||
@@ -349,4 +348,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return WebUtility.HtmlEncode(text); | return WebUtility.HtmlEncode(text); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -2,6 +2,6 @@ | |||||
{ | { | ||||
public interface IDashboardAuthorizationFilter | public interface IDashboardAuthorizationFilter | ||||
{ | { | ||||
bool Authorize( DashboardContext context); | |||||
bool Authorize(DashboardContext context); | |||||
} | } | ||||
} | } |
@@ -1,7 +1,4 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using System.Threading.Tasks; | |||||
namespace DotNetCore.CAP.Dashboard | namespace DotNetCore.CAP.Dashboard | ||||
{ | { | ||||
@@ -9,4 +6,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
{ | { | ||||
Task Dispatch(DashboardContext context); | Task Dispatch(DashboardContext context); | ||||
} | } | ||||
} | |||||
} |
@@ -6,21 +6,28 @@ namespace DotNetCore.CAP.Dashboard | |||||
{ | { | ||||
public interface IMonitoringApi | public interface IMonitoringApi | ||||
{ | { | ||||
StatisticsDto GetStatistics(); | |||||
StatisticsDto GetStatistics(); | |||||
IList<MessageDto> Messages(MessageQueryDto queryDto); | IList<MessageDto> Messages(MessageQueryDto queryDto); | ||||
int PublishedFailedCount(); | int PublishedFailedCount(); | ||||
int PublishedProcessingCount(); | int PublishedProcessingCount(); | ||||
int PublishedSucceededCount(); | int PublishedSucceededCount(); | ||||
int ReceivedFailedCount(); | int ReceivedFailedCount(); | ||||
int ReceivedProcessingCount(); | int ReceivedProcessingCount(); | ||||
int ReceivedSucceededCount(); | int ReceivedSucceededCount(); | ||||
IDictionary<DateTime, int> SucceededByDatesCount(); | IDictionary<DateTime, int> SucceededByDatesCount(); | ||||
IDictionary<DateTime, int> FailedByDatesCount(); | IDictionary<DateTime, int> FailedByDatesCount(); | ||||
IDictionary<DateTime, int> HourlySucceededJobs(); | IDictionary<DateTime, int> HourlySucceededJobs(); | ||||
IDictionary<DateTime, int> HourlyFailedJobs(); | IDictionary<DateTime, int> HourlyFailedJobs(); | ||||
} | } | ||||
} | } |
@@ -14,6 +14,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
private static readonly IDictionary<string, string> BackgroundStateColors | private static readonly IDictionary<string, string> BackgroundStateColors | ||||
= new Dictionary<string, string>(); | = new Dictionary<string, string>(); | ||||
private static readonly IDictionary<string, string> ForegroundStateColors | private static readonly IDictionary<string, string> ForegroundStateColors | ||||
= new Dictionary<string, string>(); | = new Dictionary<string, string>(); | ||||
@@ -144,7 +145,6 @@ namespace DotNetCore.CAP.Dashboard | |||||
itemsAdded = true; | itemsAdded = true; | ||||
} | } | ||||
if (stateData.ContainsKey("Result") && !String.IsNullOrWhiteSpace(stateData["Result"])) | if (stateData.ContainsKey("Result") && !String.IsNullOrWhiteSpace(stateData["Result"])) | ||||
{ | { | ||||
var result = stateData["Result"]; | var result = stateData["Result"]; | ||||
@@ -249,4 +249,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return new NonEscapedString(builder.ToString()); | return new NonEscapedString(builder.ToString()); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,5 +1,4 @@ | |||||
using System; | using System; | ||||
using System.Net; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
using Newtonsoft.Json.Converters; | using Newtonsoft.Json.Converters; | ||||
@@ -49,4 +48,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
await context.Response.WriteAsync(serialized); | await context.Response.WriteAsync(serialized); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -27,7 +27,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
var settings = new JsonSerializerSettings | var settings = new JsonSerializerSettings | ||||
{ | { | ||||
ContractResolver = new CamelCasePropertyNamesContractResolver(), | ContractResolver = new CamelCasePropertyNamesContractResolver(), | ||||
Converters = new JsonConverter[]{ new StringEnumConverter { CamelCaseText = true } } | |||||
Converters = new JsonConverter[] { new StringEnumConverter { CamelCaseText = true } } | |||||
}; | }; | ||||
var serialized = JsonConvert.SerializeObject(result, settings); | var serialized = JsonConvert.SerializeObject(result, settings); | ||||
@@ -42,4 +42,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,6 +1,4 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace DotNetCore.CAP.Dashboard | namespace DotNetCore.CAP.Dashboard | ||||
{ | { | ||||
@@ -23,4 +21,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -21,7 +21,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public IEnumerable<DashboardMetric> GetAllMetrics() | public IEnumerable<DashboardMetric> GetAllMetrics() | ||||
{ | { | ||||
var metrics = new List<DashboardMetric> { Metric }; | var metrics = new List<DashboardMetric> { Metric }; | ||||
if (Metrics != null) | if (Metrics != null) | ||||
{ | { | ||||
metrics.AddRange(Metrics); | metrics.AddRange(Metrics); | ||||
@@ -31,7 +31,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
Active = page.RequestPath.StartsWith("/published/failed"), | Active = page.RequestPath.StartsWith("/published/failed"), | ||||
Metric = DashboardMetrics.PublishedFailedCount | Metric = DashboardMetrics.PublishedFailedCount | ||||
}); | }); | ||||
//=======================================ReceivedItems============================= | //=======================================ReceivedItems============================= | ||||
ReceivedItems.Add(page => new MenuItem(Strings.SidebarMenu_Succeeded, page.Url.To("/received/succeeded")) | ReceivedItems.Add(page => new MenuItem(Strings.SidebarMenu_Succeeded, page.Url.To("/received/succeeded")) | ||||
@@ -51,7 +51,6 @@ namespace DotNetCore.CAP.Dashboard | |||||
Active = page.RequestPath.StartsWith("/received/failed"), | Active = page.RequestPath.StartsWith("/received/failed"), | ||||
Metric = DashboardMetrics.ReceivedFailedCount | Metric = DashboardMetrics.ReceivedFailedCount | ||||
}); | }); | ||||
} | } | ||||
} | } | ||||
} | } |
@@ -1,5 +1,4 @@ | |||||
| |||||
namespace DotNetCore.CAP.Dashboard | |||||
namespace DotNetCore.CAP.Dashboard | |||||
{ | { | ||||
public class Metric | public class Metric | ||||
{ | { | ||||
@@ -31,12 +30,12 @@ namespace DotNetCore.CAP.Dashboard | |||||
switch (style) | switch (style) | ||||
{ | { | ||||
case MetricStyle.Default: return "metric-default"; | case MetricStyle.Default: return "metric-default"; | ||||
case MetricStyle.Info: return "metric-info"; | |||||
case MetricStyle.Info: return "metric-info"; | |||||
case MetricStyle.Success: return "metric-success"; | case MetricStyle.Success: return "metric-success"; | ||||
case MetricStyle.Warning: return "metric-warning"; | case MetricStyle.Warning: return "metric-warning"; | ||||
case MetricStyle.Danger: return "metric-danger"; | |||||
default: return "metric-null"; | |||||
case MetricStyle.Danger: return "metric-danger"; | |||||
default: return "metric-null"; | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,4 +1,5 @@ | |||||
using System; | using System; | ||||
namespace DotNetCore.CAP.Dashboard.Monitoring | namespace DotNetCore.CAP.Dashboard.Monitoring | ||||
{ | { | ||||
public class MessageDto | public class MessageDto | ||||
@@ -1,7 +1,4 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using DotNetCore.CAP.Models; | |||||
using DotNetCore.CAP.Models; | |||||
namespace DotNetCore.CAP.Dashboard.Monitoring | namespace DotNetCore.CAP.Dashboard.Monitoring | ||||
{ | { | ||||
@@ -15,9 +12,9 @@ namespace DotNetCore.CAP.Dashboard.Monitoring | |||||
public string Content { get; set; } | public string Content { get; set; } | ||||
public string StatusName { get; set; } | public string StatusName { get; set; } | ||||
public int CurrentPage { get; set; } | public int CurrentPage { get; set; } | ||||
public int PageSize { get; set; } | public int PageSize { get; set; } | ||||
} | } | ||||
} | |||||
} |
@@ -1,7 +1,4 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
namespace DotNetCore.CAP.Dashboard.Monitoring | |||||
namespace DotNetCore.CAP.Dashboard.Monitoring | |||||
{ | { | ||||
public class SubscriberDto | public class SubscriberDto | ||||
{ | { | ||||
@@ -8,6 +8,6 @@ namespace DotNetCore.CAP.Dashboard.Monitoring | |||||
public string StateName { get; set; } | public string StateName { get; set; } | ||||
public string Reason { get; set; } | public string Reason { get; set; } | ||||
public DateTime CreatedAt { get; set; } | public DateTime CreatedAt { get; set; } | ||||
public IDictionary<string, string> Data { get; set; } | |||||
public IDictionary<string, string> Data { get; set; } | |||||
} | } | ||||
} | } |
@@ -13,4 +13,4 @@ | |||||
public int PublishedProcessing { get; set; } | public int PublishedProcessing { get; set; } | ||||
public int ReceivedProcessing { get; set; } | public int ReceivedProcessing { get; set; } | ||||
} | } | ||||
} | |||||
} |
@@ -13,7 +13,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
Items.Add(page => new MenuItem(Strings.NavigationMenu_Published, page.Url.LinkToPublished()) | Items.Add(page => new MenuItem(Strings.NavigationMenu_Published, page.Url.LinkToPublished()) | ||||
{ | { | ||||
Active = page.RequestPath.StartsWith("/published"), | Active = page.RequestPath.StartsWith("/published"), | ||||
Metrics = new [] | |||||
Metrics = new[] | |||||
{ | { | ||||
DashboardMetrics.PublishedSucceededCount, | DashboardMetrics.PublishedSucceededCount, | ||||
DashboardMetrics.PublishedFailedCountOrNull | DashboardMetrics.PublishedFailedCountOrNull | ||||
@@ -14,4 +14,4 @@ | |||||
return _value; | return _value; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -66,7 +66,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
AddPrevious(pagerItems); | AddPrevious(pagerItems); | ||||
// first page | // first page | ||||
if (_startPageIndex > 1) | |||||
if (_startPageIndex > 1) | |||||
pagerItems.Add(new Item(1, false, ItemType.Page)); | pagerItems.Add(new Item(1, false, ItemType.Page)); | ||||
// more page before numeric page buttons | // more page before numeric page buttons | ||||
@@ -153,4 +153,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
MorePage | MorePage | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -9,4 +9,4 @@ | |||||
public DashboardMetric DashboardMetric { get; } | public DashboardMetric DashboardMetric { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -13,4 +13,4 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
public string Title { get; } | public string Title { get; } | ||||
public IDictionary<string, string> Items { get; } | public IDictionary<string, string> Items { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -6,4 +6,4 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
{ | { | ||||
public static readonly List<DashboardMetric> Metrics = new List<DashboardMetric>(); | public static readonly List<DashboardMetric> Metrics = new List<DashboardMetric>(); | ||||
} | } | ||||
} | |||||
} |
@@ -9,4 +9,4 @@ | |||||
public DashboardMetric DashboardMetric { get; } | public DashboardMetric DashboardMetric { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -9,4 +9,4 @@ | |||||
public string Title { get; } | public string Title { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -1,6 +1,4 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using DotNetCore.CAP.Processor.States; | using DotNetCore.CAP.Processor.States; | ||||
namespace DotNetCore.CAP.Dashboard.Pages | namespace DotNetCore.CAP.Dashboard.Pages | ||||
@@ -30,4 +28,4 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,6 +1,4 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using DotNetCore.CAP.Processor.States; | using DotNetCore.CAP.Processor.States; | ||||
namespace DotNetCore.CAP.Dashboard.Pages | namespace DotNetCore.CAP.Dashboard.Pages | ||||
@@ -30,4 +28,4 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -5,7 +5,7 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
{ | { | ||||
partial class SidebarMenu | partial class SidebarMenu | ||||
{ | { | ||||
public SidebarMenu( IEnumerable<Func<RazorPage, MenuItem>> items) | |||||
public SidebarMenu(IEnumerable<Func<RazorPage, MenuItem>> items) | |||||
{ | { | ||||
if (items == null) throw new ArgumentNullException(nameof(items)); | if (items == null) throw new ArgumentNullException(nameof(items)); | ||||
Items = items; | Items = items; | ||||
@@ -13,4 +13,4 @@ namespace DotNetCore.CAP.Dashboard.Pages | |||||
public IEnumerable<Func<RazorPage, MenuItem>> Items { get; } | public IEnumerable<Func<RazorPage, MenuItem>> Items { get; } | ||||
} | } | ||||
} | |||||
} |
@@ -9,4 +9,4 @@ | |||||
_pager = pager; | _pager = pager; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -9,4 +9,4 @@ | |||||
_pager = pager; | _pager = pager; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -2,12 +2,11 @@ | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using System.Net; | using System.Net; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | |||||
using DotNetCore.CAP.Dashboard.Monitoring; | using DotNetCore.CAP.Dashboard.Monitoring; | ||||
namespace DotNetCore.CAP.Dashboard | namespace DotNetCore.CAP.Dashboard | ||||
{ | { | ||||
public abstract class RazorPage | |||||
public abstract class RazorPage | |||||
{ | { | ||||
private Lazy<StatisticsDto> _statisticsLazy; | private Lazy<StatisticsDto> _statisticsLazy; | ||||
@@ -116,15 +115,15 @@ namespace DotNetCore.CAP.Dashboard | |||||
private string TransformText(string body) | private string TransformText(string body) | ||||
{ | { | ||||
_body = body; | _body = body; | ||||
Execute(); | Execute(); | ||||
if (Layout != null) | if (Layout != null) | ||||
{ | { | ||||
Layout.Assign(this); | Layout.Assign(this); | ||||
return Layout.TransformText(_content.ToString()); | return Layout.TransformText(_content.ToString()); | ||||
} | } | ||||
return _content.ToString(); | return _content.ToString(); | ||||
} | } | ||||
@@ -135,4 +134,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
: WebUtility.HtmlEncode(text); | : WebUtility.HtmlEncode(text); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -23,4 +23,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return context.Response.WriteAsync(page.ToString()); | return context.Response.WriteAsync(page.ToString()); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -1,6 +1,5 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Text; | |||||
using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||
namespace DotNetCore.CAP.Dashboard | namespace DotNetCore.CAP.Dashboard | ||||
@@ -45,4 +44,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return null; | return null; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
@@ -19,7 +19,7 @@ namespace DotNetCore.CAP.Dashboard | |||||
public static void AddCommand( | public static void AddCommand( | ||||
this RouteCollection routes, | this RouteCollection routes, | ||||
string pathTemplate, | |||||
string pathTemplate, | |||||
Func<DashboardContext, bool> command) | Func<DashboardContext, bool> command) | ||||
{ | { | ||||
if (routes == null) throw new ArgumentNullException(nameof(routes)); | if (routes == null) throw new ArgumentNullException(nameof(routes)); | ||||
@@ -63,6 +63,6 @@ namespace DotNetCore.CAP.Dashboard | |||||
if (command == null) throw new ArgumentNullException(nameof(command)); | if (command == null) throw new ArgumentNullException(nameof(command)); | ||||
routes.Add(pathTemplate, new BatchCommandDispatcher(command)); | routes.Add(pathTemplate, new BatchCommandDispatcher(command)); | ||||
} | |||||
} | |||||
} | } | ||||
} | |||||
} |
@@ -1,14 +1,12 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | |||||
namespace DotNetCore.CAP.Dashboard | namespace DotNetCore.CAP.Dashboard | ||||
{ | { | ||||
public class UrlHelper | public class UrlHelper | ||||
{ | { | ||||
private readonly DashboardContext _context; | private readonly DashboardContext _context; | ||||
public UrlHelper( DashboardContext context) | |||||
public UrlHelper(DashboardContext context) | |||||
{ | { | ||||
if (context == null) throw new ArgumentNullException(nameof(context)); | if (context == null) throw new ArgumentNullException(nameof(context)); | ||||
_context = context; | _context = context; | ||||
@@ -46,4 +44,4 @@ namespace DotNetCore.CAP.Dashboard | |||||
return To("/jobs/enqueued/" + queue); | return To("/jobs/enqueued/" + queue); | ||||
} | } | ||||
} | } | ||||
} | |||||
} |