From 1d82e6bc8c839b1be6b1745460a11a957997d191 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 18 Jun 2026 20:03:40 -0400 Subject: [PATCH] refactor(centralui): AuditResultsGrid adopts KeysetPager + AuditFilterBar adopts DateTimeRangeFilter (T35g) --- .../Components/Audit/AuditFilterBar.razor | 23 +++++++------ .../Components/Audit/AuditResultsGrid.razor | 32 ++++++++----------- .../Components/Audit/AuditResultsGridTests.cs | 2 +- 3 files changed, 26 insertions(+), 31 deletions(-) diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditFilterBar.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditFilterBar.razor index d71bb4d7..7b7065db 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditFilterBar.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditFilterBar.razor @@ -91,18 +91,17 @@
@if (_model.TimeRange == AuditTimeRangePreset.Custom) { -
-
- - -
-
- - -
-
+ @* DateTimeRangeFilter is INPUT-ONLY: it surfaces the raw datetime-local + picks (DateTimeKind.Unspecified) straight into the model's range fields. + The local→UTC conversion still happens later in Apply()/LocalInputToUtc, + exactly as before. IdPrefix="audit" keeps the audit-from/audit-to ids. *@ + } else { diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditResultsGrid.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditResultsGrid.razor index a37c5b57..3a00b9e6 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditResultsGrid.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Audit/AuditResultsGrid.razor @@ -72,24 +72,20 @@
-
- Page @_pageNumber · @_rows.Count rows - @* CentralUI-032: keyset paging is naturally forward-only, but the - in-component _cursorStack lets the user step back through previous - pages by replaying the prior cursor. The Previous button is gated - on the stack having at least one prior cursor — i.e. we are not on - the first page. *@ -
- - -
-
+ @* CentralUI-032: keyset paging is naturally forward-only, but the + in-component _cursorStack lets the user step back through previous + pages by replaying the prior cursor. The Previous button is gated + on CanGoBack (the stack having at least one prior cursor — i.e. we + are not on the first page); HasNextPage mirrors the prior "short + page = end" signal (a full page suggests more rows may follow). All + cursor logic stays page-side; KeysetPager is purely presentational. *@ + @code { diff --git a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/Audit/AuditResultsGridTests.cs b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/Audit/AuditResultsGridTests.cs index dcffee29..a9b009b3 100644 --- a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/Audit/AuditResultsGridTests.cs +++ b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/Audit/AuditResultsGridTests.cs @@ -95,7 +95,7 @@ public class AuditResultsGridTests : BunitContext var cut = Render(p => p.Add(c => c.Filter, new AuditLogQueryFilter())); - cut.Find("[data-test=\"grid-next-page\"]").Click(); + cut.Find("[data-test=\"keyset-next\"]").Click(); // Two service calls: initial + next. Assert.Equal(2, _calls.Count);