2.3 KiB
2.3 KiB
TODO
- bbnurse -cmk supprime la classe dans nur\sery après l'avoir copié dans la destination
Vrac
- classe de base
profile_manager
qui permet de gérer des profils - class Tool permettant d'appliquer un traitement à une valeur scalaire
- ArrayTool permet d'appliquer les traitement à tous les éléments du tableau
- les traitements sont une suite d'opérations à faire, ou de filtres à appliquer, qui ne sont appliqués que lors du parcours effectif de la liste
- exemple
déterminer le genre de traitements que l'on peut offrir$result = ArrayTool::with($source) ->filterKey("key") ->filter("value") ->add("value", "key") ->addAll($iterable) ->all();
- syntaxe pour CTable: définition des en-têtes et des valeurs des colonnes dans
la même expression
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