Client

Summary

The client stack provides metadata-driven UI and data access for Benevia applications.

  • Benevia.Core.Client is the UI-agnostic data layer (OData client, graph definitions, datasets, model metadata). It can be used without Blazor (e.g., in a MAUI app or test harness).
  • Benevia.Core.Blazor is the Blazor UI layer (DataGraph, PropertyComponent, collection components, and list views). It depends on Benevia.Core.Client and adds the Blazor-specific rendering.

Foundations

Read these first:

Reference

Data layer

Page and component model

Collections and specialized components

  • Collection Properties: Inline collection grids, column templates, row actions
  • Tags: Tag/chip collection components
  • ListView: Full-featured entity list grid with search, filtering, grouping, sorting, saved views, and virtualization

Service Registration

using Benevia.Core.Blazor;
using Blazored.LocalStorage;

builder.Services.AddHttpClient("Api", client =>
{
    client.BaseAddress = new Uri(builder.Configuration["ApiBaseUrl"]!);
});

builder.Services.AddScoped(sp =>
    sp.GetRequiredService<IHttpClientFactory>().CreateClient("Api"));

builder.Services.AddBlazoredLocalStorage();
builder.Services.AddCoreBlazor(); // Registers Client + Blazor services + MudBlazor + component mappings