about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor
diff options
context:
space:
mode:
Diffstat (limited to 'MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor')
-rw-r--r--MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor127
1 files changed, 0 insertions, 127 deletions
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor b/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor
deleted file mode 100644

index 2d0e0b0..0000000 --- a/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor +++ /dev/null
@@ -1,127 +0,0 @@ -@page "/Rooms/{RoomId}/State/View" -@using ArcaneLibs.Extensions -@using LibMatrix -@inject ILocalStorageService LocalStorage -@inject NavigationManager NavigationManager -<h3>Room state viewer - Viewing @RoomId</h3> -<hr/> - -<p>@status</p> - -<input type="checkbox" id="showAll" @bind="ShowMembershipEvents"/> Show member events - -<table class="table table-striped table-hover" style="width: fit-Content;"> - <thead> - <tr> - <th scope="col">Type</th> - <th scope="col">Content</th> - </tr> - </thead> - <tbody> - @foreach (var stateEvent in FilteredEvents.Where(x => x.StateKey == "").OrderBy(x => x.OriginServerTs)) { - <tr> - <td>@stateEvent.Type</td> - <td style="max-width: fit-Content;"> - <pre>@stateEvent.RawContent.ToJson()</pre> - </td> - </tr> - } - </tbody> -</table> - -@foreach (var group in FilteredEvents.GroupBy(x => x.StateKey).OrderBy(x => x.Key).Where(x => x.Key != "")) { - <details> - <summary>@group.Key</summary> - <table class="table table-striped table-hover" style="width: fit-Content;"> - <thead> - <tr> - <th scope="col">Type</th> - <th scope="col">Content</th> - </tr> - </thead> - <tbody> - @foreach (var stateEvent in group.OrderBy(x => x.OriginServerTs)) { - <tr> - <td>@stateEvent.Type</td> - <td style="max-width: fit-Content;"> - <pre>@stateEvent.RawContent.ToJson()</pre> - </td> - </tr> - } - </tbody> - </table> - </details> -} - -<LogView></LogView> - -@code { - //get room list - // - sync withroom list filter - // Type = support.feline.msc3784 - //support.feline.policy.lists.msc.v1 - - [Parameter] - public string? RoomId { get; set; } - - public List<StateEventResponse> FilteredEvents { get; set; } = new(); - public List<StateEventResponse> Events { get; set; } = new(); - public string status = ""; - - protected override async Task OnInitializedAsync() { - await base.OnInitializedAsync(); - var hs = await MRUStorage.GetCurrentSessionOrNavigate(); - if (hs is null) return; - await LoadStatesAsync(); - Console.WriteLine("Policy list editor initialized!"); - } - - private DateTime _lastUpdate = DateTime.Now; - - private async Task LoadStatesAsync() { - var StateLoaded = 0; - var hs = await MRUStorage.GetCurrentSessionOrNavigate(); - if (hs is null) return; - var response = (hs.GetRoom(RoomId)).GetFullStateAsync(); - await foreach (var _ev in response) { - Events.Add(_ev); - if (string.IsNullOrEmpty(_ev.StateKey)) { - FilteredEvents.Add(_ev); - } - StateLoaded++; - - if (!((DateTime.Now - _lastUpdate).TotalMilliseconds > 100)) continue; - _lastUpdate = DateTime.Now; - status = $"Loaded {StateLoaded} state events"; - StateHasChanged(); - await Task.Delay(0); - } - - StateHasChanged(); - } - - private async Task RebuildFilteredData() { - status = "Rebuilding filtered data..."; - StateHasChanged(); - await Task.Delay(1); - var _FilteredEvents = Events; - if (!ShowMembershipEvents) - _FilteredEvents = _FilteredEvents.Where(x => x.Type != "m.room.member").ToList(); - - status = "Done, rerendering!"; - StateHasChanged(); - await Task.Delay(1); - FilteredEvents = _FilteredEvents; - StateHasChanged(); - } - - public bool ShowMembershipEvents { - get => _showMembershipEvents; - set { - _showMembershipEvents = value; - RebuildFilteredData(); - } - } - - private bool _showMembershipEvents; -}