@starterlib/ui 0.11.7 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/virtuel/README.md CHANGED
@@ -33,6 +33,45 @@ Ce qu'elle n'est pas : une grille editable (`st-data-grid`) ni une liste de tran
33
33
  - `allerA(rang)` : amene une ligne dans la fenetre.
34
34
  - Hauteur de la fenetre : l'entree `hauteurDeFenetre`, une longueur CSS (`24rem` par defaut).
35
35
 
36
+ ## `st-virtual-table` (P08-19 d'Aplomb)
37
+
38
+ Meme condition d'entree, aux volumes de l'echelle : des centaines de milliers de lignes d'un
39
+ journal technique ou d'un audit, affichees ensemble (au MVP, `st-data-table` et la pagination par
40
+ curseur suffisent ; ecran nomme : P13-11).
41
+
42
+ ```html
43
+ <st-virtual-table
44
+ legende="Journal technique"
45
+ [colonnes]="colonnes"
46
+ [lignes]="lignes()"
47
+ cle="id"
48
+ [(tri)]="tri"
49
+ selectionnable
50
+ libelleDeSelection="Selection"
51
+ [(selection)]="choisies"
52
+ >
53
+ <ng-template stCellule="niveau" [stCelluleDe]="lignes()" let-ligne
54
+ >{{ ligne.niveau }}</ng-template
55
+ >
56
+ </st-virtual-table>
57
+ ```
58
+
59
+ - Un `<table>` NATIF, pas une grille : `caption` (la `legende`, qui nomme aussi la fenetre),
60
+ `aria-rowcount` sur la table (lignes et ligne d'en-tete), `aria-rowindex` sur chaque ligne rendue
61
+ (rang dans le tableau ENTIER), en-tete de ligne `th scope="row"` (la premiere colonne par defaut,
62
+ `enTeteDeLigne`), en-tete fige en haut de la fenetre.
63
+ - Colonnes : la forme de `ColonneDeTableau` de `st-data-table` (`ColonneVirtuelle` : `cle`,
64
+ `libelle`, `alignement`, `triable`, `libelleMasque`), redite et non importee : ce point d'entree
65
+ n'en importe aucun autre. Cellules : `ng-template [stCellule]`, la meme ecriture.
66
+ - Tri PILOTE (`[(tri)]`, `triTernaire`) : un clic emet la demande, `aria-sort` la porte ; les lignes
67
+ ne sont jamais reordonnees, le serveur le fait.
68
+ - Selection par cle (`selectionnable`, `[(selection)]`, `cle`, `libelleDeSelection`) : une case par
69
+ ligne, nommee par l'en-tete de sa ligne ; aucune selection globale (elle appartient au serveur).
70
+ - `hauteurDeLigne` FIXE (44 par defaut ; nulle ou negative refusee), `hauteurDeFenetre` (`24rem`),
71
+ `allerA(rang)`. Au plus soixante lignes dans le document (marges de cinq a dix lignes).
72
+ - Essais : `st-virtual-table.spec.ts` (cent mille lignes, au plus soixante rendues, rang et total,
73
+ tri pilote, selection par cle, accessibilite) ; banc : cent mille lignes fictives.
74
+
36
75
  ## Gardes et poids
37
76
 
38
77
  - Point d'entree a lui : il traine `@angular/cdk/scrolling` et RIEN d'autre (`pnpm paquets:check`,