diff --git a/TODO.md b/TODO.md index 19e0c06..c952f78 100644 --- a/TODO.md +++ b/TODO.md @@ -21,5 +21,57 @@ ->all(); ``` déterminer le genre de traitements que l'on peut offrir +* syntaxe pour CTable: définition des en-têtes et des valeurs des colonnes dans + la même expression + ~~~php + new CTable($rows, [ + "contents" => [ + ## champ + ["Nom", "nom"], + ["Prénom", "prenom"], + ## fonction + ["Age", function(Cursor $cursor) { + return (new Date())->diff($cursor->row["date_naissance"]); + }], + ## Pas de contenu + ["Vide", null], + ## Contenu dynamique + ["Contenu", [ + "before", + v::span("hello"), + Cursor::dyn("name"), + "after", + Cursor::dyn(function(Cursor $cursor) { + return $cursor["surname"]; + }), + ]], + ## colspan + ["First", + function() { return "sur deux colonnes"; }, + "colspan" => 2, + ], + ["Second", null], + ## colspan dynamique + # la valeur de Element n'est évaluée que si colspan==null + ["Groupe", function(Cursor $row) { + $break = $breaker->shouldBreakOn($row["code_groupe"])); + if ($break) { + $row->set("colspan", 2); + return "{$row["code_groupe"]} {$row["libelle_groupe"]}"; + } else { + $row->set("colspan", null); + return null; + } + }, "colspan" => function(Cursor $row) { + return $row->get("colspan"); + }], + ["Element", function(Cursor $row) { + return $row["libelle_element"]; + }] + ], + ]); + ~~~ +* cf ci-dessus: $cursor["key"] au lieu de $cursor->row["key"] +* $cursor->set()/get() pour des valeurs temporaires de session -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary \ No newline at end of file