Tablas

Tablas

Tabla simple

NombreFechaÚltima vista
Proyecto Alpha 2026-01-10
Proyecto Beta 2026-02-18
Proyecto Gamma 2026-03-25

Más ancho que la habitación

Una tabla cuyas columnas piden más de lo que la página tiene se dibuja al ancho que necesita y desborda hacia lo que la rodea — la zona, la página —, nunca con una barra de desplazamiento propia. Pedida (`scroll: true`), como aquí, se desplaza lateralmente en su propio marco y la página alrededor permanece fija: para una tabla entre otras cosas en un contenedor que no se desplaza. Una tabla fija renuncia a esto: un encabezado que se adhiere a la página y un marco que se desplaza por sí mismo no pueden coexistir.
Columna 1Columna 2Columna 3Columna 4Columna 5Columna 6Columna 7Columna 8Columna 9Columna 10Columna 11Columna 12
Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo
Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo
Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo Un valor lo suficientemente largo

Tabla con acciones

FuenteActualizado enAcciones
Fuente Alpha 2026-01-12
Fuente Beta 2026-02-20

Filas a rayas, iluminadas bajo el puntero

FuenteActualizado enAcciones
Fuente Alpha 2026-01-12
Fuente Beta 2026-02-20
Proyecto Alpha 2026-01-10
Proyecto Beta 2026-02-18
Proyecto Gamma 2026-03-25

Filas que pueden ser marcadas

Una casilla en la cabeza de cada fila, una en el encabezado para todas, y las acciones arriba: publican las filas marcadas a su propia dirección, y se mantienen fuera de alcance mientras nada esté marcado.

0 seleccionados
FuenteActualizado enAcciones
Fuente Alpha 2026-01-12
Fuente Beta 2026-02-20
Proyecto Alpha 2026-01-10

Archivos, un total, una acción en cada fila

Rutas leídas por su nombre, las carpetas antes se cortan desde su inicio. La barra termina en cuántas filas hay, y una acción marcada como `todo` funciona con nada marcado — toma cada fila y guía la barra cuando es la esperada.

0 seleccionados 3 en total
Archivo
03-DOCUMENTS/QAL - Syst Document/Obsolète/QAL-D-12-identification-and-validation-of-quality-system-software-v1.md
05-INSTRUCTIONS/RES/RES-I-02-it-access-change-v2.md
README.md

Filtros

Una barra de filtros en la cabeza de la tabla, un menú discreto cada uno, diciendo a qué se reduce una vez que lo hace. En el servidor viven en la consulta de la página — cada opción es un enlace — y el controlador reduce las filas a partir de ello; en vue son un valor entregado a la página para su api, o aplicados por la tabla a las filas que ya tiene. Cada opción es una caja — redonda para una elección de uno — coloreada por su tono cuando tiene uno, un estado o una categoría.

4 en total
NombrePropietarioEstado
Alpha design open
Beta platform closed
Gamma design closed
Delta support open

Ordenación

Un encabezado que ordena es un enlace en el servidor y un botón en vue: ascendente, descendente, luego de vuelta al orden que la página declaró, que la lista abre y que su flecha muestra desde el inicio. Las fechas vacías van al final de ambas maneras, y los nombres se comparan como los ordena el idioma. Aquí la tabla ordena las filas que se le dieron; un controlador que paginó su lista lee la misma consulta en su lugar.

5 en total
Nombre Ciudad Última medición Acciones
Adam Petit Angers
Zoé Martin Zürich
Eric Bernard Lyon
Élodie Durand Évry
Basile Leroy Écully

Ordenación en el navegador, desde twig

`vue: true` entrega las mismas columnas y filas al gemelo de vue: ordena y busca toda la lista en el navegador, sin carga de página. Para una lista que la página mantiene completa — una corta, o una que ninguna api sirve.

Acciones en una selección

La misma barra cuando hay suficientes acciones para abarrotarla: se elige una, luego se aplica.

0 seleccionados
FuenteActualizado enAcciones
Fuente Alpha 2026-01-12
Fuente Beta 2026-02-20
Proyecto Alpha 2026-01-10

Celdas de enlace e ícono

FuenteEstado
Fuente Alpha
Fuente Beta

Estado de carga

FuenteActualizado enAcciones

Estado vacío

FuenteActualizado enAcciones
No hay datos disponibles.

Alineación de columnas

Nombre (izquierda)Estado (centro)Cantidad (derecha)
Alpha Centered 42.00 €
Beta Centered 128.50 €
Gamma Centered 7.99 €

Códigos, cifras y totales

`cell: 'code'` establece un identificador en la cara mono; `cell: 'number'`, o una `unit`, escribe una cifra en la localidad de la página. `negative: true` dibuja una cifra por debajo de cero en el tono de error, su signo menos lo dice también. `totals` es una fila que la página entrega, dibujada debajo de las demás — la tabla no suma nada, manteniendo una página o una lista filtrada. Dibujada por el servidor, luego por vue.

CódigoArtículoSuministro netoÁrea
VS-2041 Atlas 12 18,5 m²
LO-0007 Boréal -4 9 m²
VS-1180 Cyprès 0 6,5 m²
LO-0315 Dune -11 22,5 m²
Total -3 56,5 m²

Desde markdown

Una tabla escrita en markdown y pasada por `markdown_ds`: las columnas, su alineación y el marcado de cada celda se leen del documento, y la tabla se dibuja aquí como cualquier otra. `markdown` mantiene el simple `<table>`, para lo que no es una página — un correo, un feed.

NameStatusAmount
Alpha ready 42.00 €
Beta draft 128.50 €
Gamma pending 7.99 €

Agrupar filas

Una fila que lleva solo un grupo no es una fila: es la línea entre dos series de ellas, dado una palabra. Se extiende por la tabla y nombra lo que sigue — la misma lectura que un separador de menú.

NombreFecha
Primer grupo
Proyecto Alpha 2026-01-10
Proyecto Beta 2026-02-18
Segundo grupo
Proyecto Gamma 2026-03-25

Celdas de estado

Un estado es un círculo, nunca un color que alguien eligió: la celda toma un nombre de tipo, o un tipo con un recuento y un título, y dibuja el ícono de estado que el resto del sistema dibuja. Nada para estilizar en la página.

PipelineConstrucciónPruebasDesplegar
Proyecto Alpha 42
Proyecto Beta 3
Proyecto Gamma

Encabezado pegajoso

Una tabla larga se lee columna por columna tanto como fila por fila. Con `sticky`, el encabezado permanece a la vista mientras las filas se desplazan por debajo; una página con algo propio fijado en la parte superior indica cuán abajo en `--table-sticky-top`.

#NombreEstado
1 Row 1
2 Row 2
3 Row 3
4 Row 4
5 Row 5
6 Row 6
7 Row 7
8 Row 8
9 Row 9
10 Row 10
11 Row 11
12 Row 12

Una tabla en una zona propia

Se le da a la tabla una zona `zone--table` completa: lo que la impulsa en la parte superior, sus páginas en el pie, fuera de lo que se desplaza, y entre ellos el suelo de la tabla hasta el fondo de la zona, incluso para tres filas. Cualquier tabla puede ir en ella, escrita por el servidor o por un vue. Con `natural`, como la de la izquierda, la tabla mantiene el ancho de sus columnas, ni estiradas ni comprimidas.

#NombreEstado
1 Row 1
2 Row 2
3 Row 3

Tabla de entidad Vue

Tabla Vue con selección

El mismo contrato en el cliente: las claves marcadas regresan a través de v-model:selected, cada acción se emite como acción masiva, y una con una dirección se publica como la tabla del servidor la publica. Estas no tienen ninguna, por lo que la línea de abajo dice lo que se habría hecho. Tres filas por página, el total al final de la barra, y Archivar todo sin necesidad de nada marcado.

Paginación sin un total

Cuando la API no devuelve un total, el paginador recurre a anterior/siguiente.

Paginación, dibujada por el servidor

`pagination(page, pages_count)` dibuja las páginas de una lista como enlaces: cada uno mantiene la ruta y la consulta de la página en la que se encuentra — una búsqueda, un orden — y solo cambia `page`, contado desde 1. Los números mostrados son los del paginador de vue: el primero, el último, el actual y sus vecinos. `compact` mantiene anteriores y siguientes alrededor del número de página; `route` y `params` pasan por otra dirección.

Formateadores de fecha Vue