Frappe Framework
Arbre (Tree)
Dès qu’un DocType est un arbre, une vue arbre est générée. Un fichier JavaScript homonyme en personnalise les filtres, les nœuds et la barre.
Quand la vue existe
La vue arbre (Tree View) est générée pour tout DocType dont Is Tree est activé.
Fichier de réglage
La personnalisation passe par un fichier {doctype}_tree.js dans le dossier du DocType. Pour Account, c’est account_tree.js. Les réglages sont dans frappe.treeview_settings["Account"].
| Clé | Rôle dans l’exemple |
|---|---|
breadcrumb, title | Fil et titre, ici Accounting et Chart of Accounts |
filters | Filtre Société, de type Select, avec on_change |
get_tree_nodes | Méthode en liste blanche qui renvoie les enfants |
add_tree_node | Méthode qui ajoute un compte |
fields | Champs du dialogue : nom obligatoire, devise, case Is Group |
ignore_fields | parent_account est ignoré |
menu_items | Action « New Company », affichée si l’utilisateur peut créer une société |
onload, post_render, onrender, on_get_node | Crochets vides dans l’exemple |
extend_toolbar | true |
toolbar | Bouton Add Child, visible si le nœud est un groupe, classe hidden-xs |
Le clic sur Add Child appelle frappe.treeview_settings["Account"].add_node(node).
Point d’attention
get_tree_nodes et add_tree_node sont des chemins de méthodes, pas des fonctions locales. La condition du menu teste frappe.boot.user.can_create. Dans l’exemple, on_change est écrit handle_company_change() avec des parenthèses : la source appelle donc la fonction au moment de la définition.
