Importação
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Uma grade de dados sobre uma tabela nativa.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
rowsBidirecional | readonly T[] | Os dados. Edições substituem linhas, então vincule com [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | As colunas, como objetos NuiGridColumn. | |
rowIdInput | (row: T) => unknown | row.id ?? row | A chave de uma linha, para seleção e rastreamento. |
labelInput | string | Nome acessível da grade. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Se as linhas podem ser selecionadas, e quantas. |
selectedBidirecional | unknown[] | [] | As chaves das linhas selecionadas. |
sortBidirecional | NuiGridSort[] | [] | A ordenação, como objetos { column, direction }; o primeiro ordena primeiro. |
filtersBidirecional | Record<string, NuiGridFilter> | {} | Um filtro por id de coluna: um operador e um valor. |
searchBidirecional | string | '' | Palavras que precisam aparecer todas em uma linha. |
pageSizeBidirecional | number | 0 | Linhas por página, ou 0 para uma única lista rolável. |
pageBidirecional | number | 0 | A página mostrada, a partir de 0. |
pageSizesInput | number[] | [10, 25, 50, 100] | As opções do paginador. |
virtualInput | boolean | 'auto' | 'auto' | Renderiza só as linhas visíveis: sempre, nunca, ou auto acima de 100 linhas sem paginação. |
heightInput | string | Um comprimento CSS que limita a grade; o conteúdo rola dentro dela. | |
columnStateBidirecional | NuiGridColumnState[] | [] | A largura, a ordem, a fixação e a visibilidade de cada coluna, para salvar e restaurar. |
modeInput | 'client' | 'server' | 'client' | server mostra as linhas conforme chegam e deixa a ordenação, a filtragem e a paginação com você. |
totalInput | number | O número de linhas no servidor. | |
loadingInput | boolean | false | Mostra uma barra de progresso, e linhas provisórias enquanto não há nenhuma. |
localeInput | string | LOCALE_ID | Formata números e datas, e lê números digitados. |
labelsInput | Partial<NuiGridLabels> | Todo texto que a grade mostra ou anuncia, para traduzir. | |
cornersInput | NuiCorners | O formato dos cantos: round, squircle, bevel, scoop, notch ou square. | |
radiusInput | NuiRadius | O tamanho dos cantos: none, small, medium, large ou full. | |
densityInput | NuiDensity | Quanto espaço ele ocupa: compact, regular ou roomy. | |
rowActivateOutput | T | Emite uma linha aberta com Enter ou com um clique duplo. | |
cellEditOutput | NuiGridEdit<T> | Emite cada edição confirmada. | |
queryChangeOutput | NuiGridQuery | Emite a ordenação, os filtros, a busca e a página sempre que mudam. | |
exportCsvMétodo | (options?) => string | As linhas filtradas e ordenadas das colunas visíveis, em CSV. | |
focusCellMétodo | (row: number, col: number) => void | Move o foco para uma célula; a linha -1 é o cabeçalho. | |
clearFiltersMétodo | () => void | Limpa todos os filtros e a busca. |
Os inputs de personalização que você não definir seguem o atributo data-nui-* mais próximo. Veja o guia de personalização.
NuiGridColumn
Uma coluna. Só id e header são obrigatórios.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
idPropriedade | string | Único; a chave na ordenação, nos filtros e no estado das colunas. | |
headerPropriedade | string | O texto do cabeçalho. | |
valuePropriedade | keyof T | ((row: T) => V) | Uma chave da linha, ou uma função da linha. O padrão é row[id]. | |
typePropriedade | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | Define o alinhamento, a ordenação, o filtro e o editor. |
formatPropriedade | Intl options | ((value, row) => string) | Opções de Intl para números e datas, ou uma função que gera o texto. | |
optionsPropriedade | NuiOption<V>[] | As opções de uma coluna enum, como objetos NuiOption. | |
width, minWidth, maxWidthPropriedade | number | Em pixels. | |
flexPropriedade | number | Divide o espaço restante com as outras colunas flex. | |
alignPropriedade | 'start' | 'center' | 'end' | O padrão depende do tipo: números e datas no final. | |
pinned, hiddenPropriedade | 'start' | 'end', boolean | A fixação e a visibilidade iniciais da coluna. | |
sortable, filterable, resizable, reorderable, hideablePropriedade | boolean | true | Cada uma pode ser desativada com false. |
comparePropriedade | (a: V, b: V) => number | Uma ordenação personalizada. | |
editable, validatePropriedade | boolean | ((row) => boolean), (value, row) => string | null | Se as células podem ser editadas, e uma mensagem quando um valor não é válido. | |
setPropriedade | (row: T, value: V) => T | Cria a linha editada. O padrão é uma cópia com o novo valor. |
NuiGridCell
Desenha as células de uma coluna. O contexto contém a linha, o valor e o texto.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
nuiGridCellInput | string | O id da coluna. |
NuiGridHeader
Desenha o cabeçalho de uma coluna.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
nuiGridHeaderInput | string | O id da coluna. |
NuiGridEmpty
O que aparece quando não há linhas. O contexto informa se os filtros as ocultaram.