DevArch.Blazor.Components 0.1.0

DevArch.Blazor.Components

Componentes Blazor padronizados (Radzen) para listagem e cadastro, independentes de qualquer projeto específico.

Instalação

// Program.cs — TFeedback é a implementação de IUiFeedback do host (toasts)
builder.Services.AddDevArchComponents<MeuUiFeedback>();

O host deve carregar o tema/CSS do Radzen normalmente; a lib não embute assets.

ListagemGrid<TItem>

Grid paginado server-side com seleção por checkbox, persistência de settings em localStorage (com versionamento), popup de configurações, botões CRUD e ações plugáveis.

<ListagemGrid TItem="MeuDto"
              CarregarDados="carregador"
              ChaveItem="@(x => x.Id)"
              ChaveSettings="MinhaListagem"
              OnAdicionar="Adicionar" OnEditar="Editar" ShowDeleteButton="false"
              Acoes="acoes">
    <ColumnsContent>
        <RadzenDataGridColumn TItem="MeuDto" Title="Nome" Property="Nome" />
    </ColumnsContent>
</ListagemGrid>
  • CarregarDados: Func<ParametrosListagem, Task<ResultadoPagina<TItem>>> — a página monta o delegate chamando seu backend (MediatR, HTTP…). Alternativa manual: Dados/Count/OnLoadData.
  • Acoes: lista de AcaoListagem<TItem> — ações globais (EscopoAcao.Global) ou vinculadas à seleção (Selecao/SelecaoUnica), com Visivel, Habilitada, recarga e limpeza de seleção automáticas configuráveis.
  • FiltrosContent: filtros externos acima do grid; HeaderContent: botões extras no header.
  • VersaoSettings: incremente para invalidar settings persistidas de layouts antigos.

EditorCadastro<TModel>

Esqueleto do ciclo Carregar/Salvar/Sair de páginas ou dialogs de cadastro.

<EditorCadastro TModel="MeuDto" Id="Id" IsDialog="IsDialog" RotaListagem="/minha-listagem"
                CarregarAsync="Carregar" SalvarAsync="Salvar">
    <ChildContent Context="model">
        <RadzenTextBox @bind-Value="model.Nome" />
    </ChildContent>
</EditorCadastro>
  • CarregarAsync (chamado quando Id > 0) retorna null em falha — o consumidor mostra a mensagem; o editor apenas fecha/navega.
  • SalvarAsync retorna ResultadoOperacao — falha vira aviso e mantém aberto; sucesso fecha o dialog (true) ou navega para RotaListagem.
  • PodeSalvar faz gating do botão Salvar (permissões).

DialogAcao

Dialog de confirmação/ação: conteúdo + Confirmar/Cancelar, com ConfirmarAsync retornando ResultadoOperacao (falha mantém aberto).

Publicação

Version no csproj (SemVer manual). Do repositório raiz: ./publicar-componentes.sh (exige BAGET_API_KEY).

No packages depend on DevArch.Blazor.Components.

.NET 10.0

Version Downloads Last updated
0.3.1 0 10/25/2026
0.3.0 2 08/31/2026
0.2.0 2 08/31/2026
0.1.0 1 08/30/2026