Tableaux

Tableaux

Tableau simple

NomDateDernière vue
Projet Alpha 2026-01-10
Projet Beta 2026-02-18
Projet Gamma 2026-03-25

Plus large que la pièce

Une table dont les colonnes nécessitent plus que ce que la page a est dessinée à la largeur dont elle a besoin et déborde sur tout ce qui l'entoure — la zone, la page —, sans jamais avoir une barre de défilement propre. Demandé (`scroll: true`), comme ici, elle défile horizontalement dans son propre cadre et la page autour reste fixe : pour une table parmi d'autres éléments dans un conteneur qui ne défile pas. Une table collante abandonne cela : un en-tête collant à la page et un cadre défilant par lui-même ne peuvent pas être réunis.
Colonne 1Colonne 2Colonne 3Colonne 4Colonne 5Colonne 6Colonne 7Colonne 8Colonne 9Colonne 10Colonne 11Colonne 12
Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue
Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue
Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue Une valeur suffisamment longue

Tableau avec actions

SourceMis à jour àActions
Source Alpha 2026-01-12
Source Beta 2026-02-20

Lignes rayées, éclairées sous le pointeur

SourceMis à jour àActions
Source Alpha 2026-01-12
Source Beta 2026-02-20
Projet Alpha 2026-01-10
Projet Beta 2026-02-18
Projet Gamma 2026-03-25

Lignes pouvant être cochées

Une case en tête de chaque ligne, une dans l'en-tête pour toutes, et les actions au-dessus : elles envoient les lignes cochées à leur propre adresse, et restent hors de portée tant que rien n'est coché.

0 sélectionnés
SourceMis à jour àActions
Source Alpha 2026-01-12
Source Beta 2026-02-20
Projet Alpha 2026-01-10

Fichiers, un total, une action sur chaque ligne

Chemins lus par leur nom, les dossiers avant étant coupés de leur début. La barre se termine sur combien de lignes il y a, et une action marquée `all` fonctionne sans rien coché — elle prend chaque ligne, et mène la barre quand c'est celle attendue.

0 sélectionnés 3 au total
Fichier
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

Filtres

Une barre de filtres en tête de la table, un menu discret chacun, indiquant ce qu'il réduit une fois activé. Sur le serveur, ils vivent dans la requête de la page — chaque option est un lien — et le contrôleur réduit les lignes à partir de cela ; en Vue, elles sont une valeur remise à la page pour son API, ou appliquées par la table aux lignes qu'elle a déjà. Chaque option est une case — ronde pour un choix unique — colorée par son ton lorsqu'elle en a un, un état ou une catégorie.

4 au total
NomPropriétaireÉtat
Alpha design open
Beta platform closed
Gamma design closed
Delta support open

Tri

Un en-tête qui trie est un lien sur le serveur et un bouton en Vue : croissant, décroissant, puis retour à l'ordre déclaré par la page, sur lequel la liste s'ouvre et que sa flèche montre dès le départ. Les dates vides vont en dernier dans les deux sens, et les noms se comparent selon l'ordre de la langue. Ici, la table trie les lignes qui lui ont été données ; un contrôleur paginant sa liste lit la même requête à la place.

5 au total
Nom Ville Dernière mesure Actions
Adam Petit Angers
Zoé Martin Zürich
Eric Bernard Lyon
Élodie Durand Évry
Basile Leroy Écully

Tri dans le navigateur, depuis twig

`vue: true` transmet les mêmes colonnes et lignes au jumeau vue : il trie et recherche toute la liste dans le navigateur, sans chargement de page. Pour une liste que la page détient entière — une courte, ou une que aucune API ne sert.

Actions dans une sélection

La même barre quand il y a assez d'actions pour l'encombrer : une est choisie, puis appliquée.

0 sélectionnés
SourceMis à jour àActions
Source Alpha 2026-01-12
Source Beta 2026-02-20
Projet Alpha 2026-01-10

Cellules avec lien et icône

SourceÉtat
Source Alpha
Source Beta

État de chargement

SourceMis à jour àActions

État vide

SourceMis à jour àActions
Aucune donnée disponible.

Alignement des colonnes

Nom (gauche)État (centre)Montant (droite)
Alpha Centered 42.00 €
Beta Centered 128.50 €
Gamma Centered 7.99 €

Codes, chiffres et totaux

`cell: 'code'` définit un identifiant dans la police mono ; `cell: 'number'`, ou une `unit`, écrit un chiffre dans le format local de la page. `negative: true` dessine un chiffre en dessous de zéro dans le ton d'erreur, son signe moins le dit aussi. `totals` est une ligne que la page remet, dessinée sous les autres — la table n'additionne rien, tenant une page ou une liste filtrée. Dessinée par le serveur, puis par vue.

CodeÉlémentFourniture netteSuperficie
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²

Depuis markdown

Une table écrite en markdown et passée par `markdown_ds` : les colonnes, leur alignement et le balisage de chaque cellule sont lus à partir du document, et la table est dessinée ici comme n'importe quelle autre. `markdown` conserve le simple `<table>`, pour tout ce qui n'est pas une page — un mail, un fil.

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

Groupes de lignes

Une ligne portant uniquement un groupe n'est pas une ligne : c'est la ligne entre deux séries, donnée par un mot. Elle s'étend sur la table et nomme ce qui suit — la même lecture qu'un séparateur de menu.

NomDate
Premier groupe
Projet Alpha 2026-01-10
Projet Beta 2026-02-18
Deuxième groupe
Projet Gamma 2026-03-25

Cellules d'état

Un état est un cercle, jamais une couleur choisie par quelqu'un : la cellule prend un nom de type, ou un type avec un compte et un titre, et dessine l'icône de statut que le reste du système dessine. Rien à styliser dans la page.

PipelineBuildTestsDéploiement
Projet Alpha 42
Projet Beta 3
Projet Gamma

En-tête fixe

Une longue table est lue colonne par colonne autant que ligne par ligne. Avec `sticky`, l'en-tête reste visible pendant que les lignes défilent en dessous ; une page avec quelque chose de fixé en haut indique combien de distance en `--table-sticky-top`.

#NomÉtat
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

Un tableau dans sa zone

Une zone `zone--table` est donnée au tableau tout entier : ce qui le pilote en haut, ses pages en bas, hors de ce qui défile, et entre les deux le fond du tableau jusqu'en bas de la zone, même pour trois lignes. Tout tableau y va, écrit par le serveur ou par une vue. Avec `natural`, comme celui de gauche, le tableau garde la largeur de ses colonnes, ni étiré ni serré.

#NomÉtat
1 Row 1
2 Row 2
3 Row 3

Tableau d'entités Vue

Tableau Vue avec sélection

Le même contrat côté client : les clés cochées reviennent par v-model:selected, chaque action est émise comme action de masse, et une avec une adresse est postée comme la table du serveur le poste. Celles-ci n'en ont aucune, donc la ligne ci-dessous indique ce qui aurait été fait. Trois lignes par page, le total à la fin de la barre, et Archiver tout nécessitant aucune coche.

Pagination sans total

Lorsque l'API ne renvoie pas de total, le pager revient à précédent/suivant.

Pagination, générée par le serveur

`pagination(page, pages_count)` génère les pages d'une liste sous forme de liens : chacune conserve la route et la requête de la page sur laquelle elle se trouve — une recherche, un tri — et ne change que `page`, comptée à partir de 1. Les numéros affichés sont ceux du pager vue : le premier, le dernier, celui en cours et ses voisins. `compact` maintient les précédents et suivants autour du numéro de page ; `route` et `params` naviguent à une autre adresse.

Formateurs de date Vue