mirror of
https://github.com/radzenhq/radzen-blazor.git
synced 2026-07-08 18:16:08 +00:00
Narrow the class-level trim suppressions on the grid components
This commit is contained in:
@@ -85,16 +85,13 @@ namespace Radzen.Blazor
|
||||
/// </code>
|
||||
/// </example>
|
||||
[CascadingTypeParameter(nameof(TItem))]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2046, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2055, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2060, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2067, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2070, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2072, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2075, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2080, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2087, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2091, Justification = TrimMessages.DataTypePreserved)]
|
||||
public partial class RadzenDataGrid<
|
||||
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.PublicFields)] TItem> : PagedDataBoundComponent<TItem> where TItem : notnull
|
||||
@@ -210,6 +207,7 @@ namespace Radzen.Blazor
|
||||
|
||||
string? lastLoadDataArgs;
|
||||
Task lastLoadDataTask = Task.CompletedTask;
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private async ValueTask<Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderResult<TItem>> LoadItems(Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderRequest request)
|
||||
{
|
||||
var view = AllowPaging ? PagedView : View;
|
||||
@@ -238,6 +236,7 @@ namespace Radzen.Blazor
|
||||
return new Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderResult<TItem>(virtualDataItems, totalItemsCount);
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private async ValueTask<Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderResult<GroupResult>> LoadGroups(Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderRequest request)
|
||||
{
|
||||
var top = request.Count;
|
||||
@@ -456,6 +455,7 @@ namespace Radzen.Blazor
|
||||
/// Gets the view grouped and paged.
|
||||
/// </summary>
|
||||
/// <value>The grouped paged view.</value>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public IEnumerable<GroupResult> GroupedPagedView
|
||||
{
|
||||
get
|
||||
@@ -2063,6 +2063,7 @@ namespace Radzen.Blazor
|
||||
[Parameter]
|
||||
public EventCallback<DataGridColumnReorderedEventArgs<TItem>> ColumnReordered { get; set; }
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
internal IQueryable<TItem> GetSelfRefView(IQueryable<TItem> view, string orderBy)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(orderBy))
|
||||
@@ -2124,6 +2125,7 @@ namespace Radzen.Blazor
|
||||
/// Gets the view - Data with sorting, filtering and paging applied.
|
||||
/// </summary>
|
||||
/// <value>The view.</value>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public override IQueryable<TItem> View
|
||||
{
|
||||
get
|
||||
@@ -2213,6 +2215,7 @@ namespace Radzen.Blazor
|
||||
static IComparer<object?> ToObjectComparer(IComparer? comparer) =>
|
||||
comparer == null ? Comparer<object?>.Default : Comparer<object?>.Create((a, b) => comparer.Compare(a, b));
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
IQueryable<TItem> OrderByComparers(IQueryable<TItem> source)
|
||||
{
|
||||
IOrderedEnumerable<TItem>? ordered = null;
|
||||
@@ -2429,6 +2432,7 @@ namespace Radzen.Blazor
|
||||
/// <summary>
|
||||
/// Called when data is changed.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
protected override void OnDataChanged()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(KeyProperty) && keyPropertyGetter == null)
|
||||
@@ -2568,6 +2572,7 @@ namespace Radzen.Blazor
|
||||
|
||||
IEnumerable<FilterDescriptor> filters = Enumerable.Empty<FilterDescriptor>();
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
internal async Task InvokeLoadData(int start, int top)
|
||||
{
|
||||
var orderBy = GetOrderBy();
|
||||
@@ -3396,6 +3401,7 @@ namespace Radzen.Blazor
|
||||
/// Cancels the edited row.
|
||||
/// </summary>
|
||||
/// <param name="item">The item.</param>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public void CancelEditRow(TItem item)
|
||||
{
|
||||
if (itemsToInsert.Contains(item))
|
||||
@@ -3488,6 +3494,7 @@ namespace Radzen.Blazor
|
||||
await InsertRowAtIndex(itemToInsert, index + 1);
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private async System.Threading.Tasks.Task InsertRowAtIndex(TItem item, int insertIndex = 0)
|
||||
{
|
||||
itemsToInsert.Add(item);
|
||||
|
||||
@@ -66,11 +66,12 @@
|
||||
TValue="IEnumerable<string>" Style="width: 100%;" Value="@(selectedAggregates.Select(a => a.Property).Distinct())"
|
||||
AllowFiltering="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive" >
|
||||
<Template>
|
||||
<RadzenLabel Component="Aggregate" Text="@context.Title" />
|
||||
<RadzenSelectBar Name="Aggregate" TValue="AggregateFunction?" Data="@GetAggregates(context.Property)"
|
||||
@{ var aggregateField = (RadzenPivotField<TItem>)context; }
|
||||
<RadzenLabel Component="Aggregate" Text="@aggregateField.Title" />
|
||||
<RadzenSelectBar Name="Aggregate" TValue="AggregateFunction?" Data="@GetAggregates(aggregateField.Property!)"
|
||||
Size="ButtonSize.ExtraSmall" @onclick:stopPropagation="true" Style="width: 100%;"
|
||||
Value="@(selectedAggregates.FirstOrDefault(a => a.Property == context.Property)?.Aggregate)"
|
||||
Change="@(args => UpdateAggregate((string)context.Property, args))" />
|
||||
Value="@(selectedAggregates.FirstOrDefault(a => a.Property == aggregateField.Property)?.Aggregate)"
|
||||
Change="@(args => UpdateAggregate(aggregateField.Property!, args))" />
|
||||
</Template>
|
||||
<ValueTemplate>
|
||||
@string.Join(",", selectedAggregates.Select(a => $"{a.Property} ({Enum.GetName(a.Aggregate)})"))
|
||||
|
||||
@@ -40,16 +40,13 @@ namespace Radzen.Blazor
|
||||
/// </code>
|
||||
/// </example>
|
||||
[CascadingTypeParameter(nameof(TItem))]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2046, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2055, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2060, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2067, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2070, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2072, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2075, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2080, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2087, Justification = TrimMessages.DataTypePreserved)]
|
||||
[UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2091, Justification = TrimMessages.DataTypePreserved)]
|
||||
public partial class RadzenPivotDataGrid<
|
||||
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.PublicFields)] TItem> : PagedDataBoundComponent<TItem>
|
||||
@@ -637,6 +634,7 @@ namespace Radzen.Blazor
|
||||
return root;
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
void BuildColumnHeaderTreeRecursive(ColumnHeaderNode node, IQueryable<TItem> items, int level, List<object> path)
|
||||
{
|
||||
if (level >= pivotColumns.Count)
|
||||
@@ -785,6 +783,7 @@ namespace Radzen.Blazor
|
||||
return isOData != null ? isOData.Value : false;
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
internal async Task InvokeLoadData(int start, int top)
|
||||
{
|
||||
if (LoadData.HasDelegate)
|
||||
@@ -950,6 +949,7 @@ namespace Radzen.Blazor
|
||||
/// <summary>
|
||||
/// Renders pivot rows with real data aggregation and grouping.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
protected virtual RenderFragment RenderPivotRows()
|
||||
{
|
||||
return new RenderFragment(builder =>
|
||||
@@ -1108,6 +1108,7 @@ namespace Radzen.Blazor
|
||||
/// <summary>
|
||||
/// Renders footer with grand totals for each value column.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
protected RenderFragment RenderFooter()
|
||||
{
|
||||
return new RenderFragment(builder =>
|
||||
@@ -1197,6 +1198,7 @@ namespace Radzen.Blazor
|
||||
/// </summary>
|
||||
/// <param name="pivotRow">The pivot row data.</param>
|
||||
/// <returns>The items for this row.</returns>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private IQueryable<TItem> GetRowItems(PivotBodyRow pivotRow)
|
||||
{
|
||||
if (Data == null || pivotRows.Count == 0)
|
||||
@@ -1308,6 +1310,7 @@ namespace Radzen.Blazor
|
||||
|
||||
// Resolves and caches the aggregate property's type and whether it is numeric,
|
||||
// avoiding repeated reflection for every aggregated cell.
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private (Type? Type, bool IsNumeric) GetAggregatePropertyInfo(RadzenPivotAggregate<TItem> aggregate)
|
||||
{
|
||||
var key = aggregate.Property ?? string.Empty;
|
||||
@@ -1326,6 +1329,7 @@ namespace Radzen.Blazor
|
||||
/// <param name="items">The items to aggregate.</param>
|
||||
/// <param name="aggregate">The aggregate configuration.</param>
|
||||
/// <returns>The aggregated value.</returns>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public object? GetAggregateValue(IQueryable<TItem> items, RadzenPivotAggregate<TItem> aggregate)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(aggregate);
|
||||
@@ -1416,6 +1420,7 @@ namespace Radzen.Blazor
|
||||
|
||||
return root;
|
||||
}
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private void BuildRowHeaderTreeRecursive(RowHeaderNode node, IQueryable<TItem> items, int level, List<object> path)
|
||||
{
|
||||
if (level >= pivotRows.Count)
|
||||
@@ -1545,6 +1550,7 @@ namespace Radzen.Blazor
|
||||
|
||||
// Computes the value cells for a row by bucketing its items by column leaf in a single pass,
|
||||
// then aggregating each bucket - instead of re-filtering the items per cell.
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private void PopulateValueCells(PivotBodyRow row, IList<TItem> rowItems)
|
||||
{
|
||||
var colLeaves = CachedColumnLeaves;
|
||||
@@ -1571,6 +1577,7 @@ namespace Radzen.Blazor
|
||||
|
||||
// Buckets items by the column leaf they belong to. Each item is assigned to the shortest
|
||||
// column-value prefix that is an actual leaf, which handles collapsed (shorter) column paths.
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private Dictionary<string, List<TItem>> GroupItemsByColumnLeaf(IList<TItem> items, List<List<object>> colLeaves)
|
||||
{
|
||||
var buckets = new Dictionary<string, List<TItem>>();
|
||||
@@ -1765,6 +1772,7 @@ namespace Radzen.Blazor
|
||||
public object? Value { get; set; }
|
||||
public string? Title { get; set; }
|
||||
public List<RowHeaderNode> Children { get; set; } = new List<RowHeaderNode>();
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public IQueryable<TItem> Items { get; set; } = Enumerable.Empty<TItem>().AsQueryable();
|
||||
public int Level { get; set; }
|
||||
public bool IsCollapsed { get; set; }
|
||||
@@ -1939,6 +1947,7 @@ namespace Radzen.Blazor
|
||||
/// <summary>
|
||||
/// Gets the filter property type for a field.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
private static Type GetFilterPropertyType(RadzenPivotField<TItem> field)
|
||||
{
|
||||
if (field == null || string.IsNullOrEmpty(field.Property))
|
||||
@@ -2388,6 +2397,7 @@ namespace Radzen.Blazor
|
||||
/// <summary>
|
||||
/// Override the View property to apply sorting and filtering.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
public override IQueryable<TItem> View
|
||||
{
|
||||
get
|
||||
@@ -2426,6 +2436,7 @@ namespace Radzen.Blazor
|
||||
AggregateFunction.Max
|
||||
};
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimMessages.Trimming, TrimMessages.IL2026, Justification = TrimMessages.DataTypePreserved)]
|
||||
IEnumerable<AggregateFunction> GetAggregates(string propertyName)
|
||||
{
|
||||
var propertyType = propertyName != null ? PropertyAccess.GetPropertyType(typeof(TItem), propertyName) : null;
|
||||
|
||||
Reference in New Issue
Block a user