Pular para o conteúdo

DocsDadosTabela de dados

Dados

Tabela de dados

Tabela com filtros, busca, seleção, ordenação por coluna e paginação. Gera clientes fictícios: é demonstração.

data-u="datatable"Demonstração

Exemplo

Instalação

Tabela de dados vem no pacote completo, em unslop.css e unslop.js:

curl -fsSL unslop.leallabs.dev/i | sh

Um bloco pronto que usa tabela de dados:

curl -fsSL unslop.leallabs.dev/i | sh -s add wall-table

Sem build O add por nome serve pra gráficos e blocos. Componentes com JS moram em unslop.js, que monta sozinho todo data-u da página.

Props

Vão em data-u-props, como JSON.

PropTipoPadrãoO que faz
pageSizenumber5Linhas por página.
countnumber48Quantas linhas fictícias gerar.
rowsarraysem padrãoLinhas no formato interno da demo (id, name, c, product, region, status, del, date, price). Pra dado real, monte a marcação u-dt à mão.

Acessibilidade e teclado

Estado e papéis

OndeAtributoO que diz
tabelarole="table", "row", "columnheader", "cell", "rowgroup"Estrutura de tabela em divs.
coluna ordenadaaria-sortascending ou descending.
paginaçãorole="navigation", aria-current="page"A página atual fica marcada.
checkboxes e filtrosaria-labelCada um com nome próprio.

Teclado

TeclaFaz
Tabanda por filtros, busca, cabeçalhos e paginação
Enterordena pela coluna focada
Espaçomarca a linha

Eventos e API

EventodetailQuando
u:change{ value, label, index }Vem dos selects de dentro (filtros e status) e sobe pela página. Filtre pelo alvo se escutar no document.

Todo evento sobe pela página (bubbles). Escute no próprio elemento: el.addEventListener("u:change", (e) => e.detail).

Digite pra buscar. Setas escolhem, Enter abre.