Add quick-filter panel support to MgGridBase

Introduced a FilterPanel slot and supporting components for per-field quick filtering in DevExpress Blazor grids. Added MgGridFilterPanelBase and MgTagBox for declarative, AND-combined field filters. Updated IMgGridBase and base classes to support SetFieldQuickFilter. Documented the extension in ADR 0004 and clarified SearchText handling. Registered DevExpress docs fetch domain and performed minor cleanups.
This commit is contained in:
Loretta 2026-07-15 15:20:44 +02:00
parent 4a16943d3e
commit f70cb237d8
2 changed files with 7 additions and 1 deletions

View File

@ -107,7 +107,8 @@
"Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/docs/**)", "Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/docs/**)",
"Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services/SignalRs/**)", "Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services/SignalRs/**)",
"Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/SignalRs/**)", "Read(//h/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/SignalRs/**)",
"WebFetch(domain:raw.githubusercontent.com)" "WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:docs.devexpress.com)"
] ]
} }
} }

View File

@ -3,6 +3,7 @@ using AyCode.Core.Extensions;
using AyCode.Core.Loggers; using AyCode.Core.Loggers;
using AyCode.Utils.Extensions; using AyCode.Utils.Extensions;
using DevExpress.Blazor; using DevExpress.Blazor;
using DevExpress.Data.Filtering;
using DevExpress.Data.Helpers; using DevExpress.Data.Helpers;
using DevExpress.Utils.Filtering.Internal; using DevExpress.Utils.Filtering.Internal;
using FruitBank.Common.Models; using FruitBank.Common.Models;
@ -57,6 +58,10 @@ public class MgGridBase : DxGrid, IMgGridBase
// Not implemented in this legacy class - will be removed // Not implemented in this legacy class - will be removed
} }
/// <inheritdoc />
public void SetFieldQuickFilter(string fieldName, CriteriaOperator? criteria)
=> SetFieldFilterCriteria(fieldName, criteria); // legacy class - will be removed
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; } [Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; } [Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
[Inject] public required LoggedInModel LoggedInModel { get; set; } [Inject] public required LoggedInModel LoggedInModel { get; set; }