@group.Count
@group.Level
@@ -90,6 +93,8 @@
private bool _loading = true;
private string _query = "";
private string _level = "";
+ private string _source = "";
+ private string _route = "";
private string _start = "";
private string _end = "";
private ClientLogSummaryDto? _summary;
@@ -108,7 +113,7 @@
try
{
_summary = await Http.GetFromJsonAsync("/taxbaik/api/client-logs/summary");
- var url = $"/taxbaik/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}";
+ var url = $"/taxbaik/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&source={Uri.EscapeDataString(_source ?? string.Empty)}&route={Uri.EscapeDataString(_route ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}";
var result = await Http.GetFromJsonAsync
- >(url);
var grouped = await Http.GetFromJsonAsync
- >("/taxbaik/api/client-logs/groups");
if (result is not null)
@@ -130,6 +135,23 @@
}
}
+ private async Task ApplyGroupFilter(ClientLogGroupDto group)
+ {
+ _query = group.Message ?? string.Empty;
+ _level = group.Level ?? string.Empty;
+ _source = group.Source ?? string.Empty;
+ _route = group.Route ?? string.Empty;
+ await LoadAsync();
+ }
+
+ private async Task HandleGroupKeydown(KeyboardEventArgs e, ClientLogGroupDto group)
+ {
+ if (e.Key is "Enter" or " ")
+ {
+ await ApplyGroupFilter(group);
+ }
+ }
+
private sealed class ClientLogDto
{
public string? Timestamp { get; set; }