Frappe Framework
Présentation du bureau (Desk)
Après connexion, une barre mène aux espaces de travail. AwesomeBar, liste, formulaire, grille, rapport, arbre, calendrier, Gantt et Kanban couvrent le quotidien.
Rôle
Le bureau (Desk) est l’interface d’administration. Il lit les métadonnées des DocTypes et construit listes, formulaires et rapports. Il s’adresse aux utilisateurs de type System User.
Espace de travail et AwesomeBar
À la connexion, une barre latérale reprend les modules. Chaque entrée ouvre un espace de travail (Workspace), détaillé dans Espaces de travail.
L’AwesomeBar navigue, crée un enregistrement, cherche dans les documents et fait des calculs.
Liste, formulaire, grille
La liste existe pour tous les DocTypes sauf les tables enfants et les Single. Elle filtre, trie, pagine, filtre par étiquettes et bascule vers Report, Calendar, Gantt ou Kanban. L’API est dans Liste.
Le formulaire affiche et modifie l’enregistrement. On peut l’affecter, le partager, y joindre des fichiers et des étiquettes, visibles dans la barre latérale. En bas, la chronologie montre e-mails, commentaires, modifications et autres événements, du plus récent au plus ancien.
La grille est le tableau du formulaire pour plusieurs lignes. Les colonnes se règlent depuis le formulaire.
Rapport, arbre, calendrier, Gantt, Kanban
Le constructeur de rapports choisit colonnes, filtres et tri, puis enregistre le rapport sous un nom. Il montre les tables enfants, filtre par leurs lignes, et groupe une colonne avec Count, Sum ou Average.
L’arbre suit le modèle des ensembles emboîtés. Il apparaît si le DocType est configuré en arbre.
Le calendrier demande une date de début et une date de fin. Le fichier {doctype}_calendar.js vit dans le dossier du DocType. Pour Event, event_calendar.js pose frappe.views.calendar['Event'] : field_map relie start à starts_on, end à ends_on, id à name, allDay à all_day, title à subject, status à event_type, color à color. style_map met Public en success et Private en info. order_by vaut ends_on. get_events_method est frappe.desk.doctype.event.event.get_events.
Le Gantt reprend ce fichier : tout DocType calendrier a un Gantt. Pour ne changer que le Gantt, une clé gantt surcharge, par exemple order_by: 'starts_on'. Dans ce second exemple, le order_by du calendrier est aussi starts_on.
Le Kanban existe pour un DocType qui a un champ Select : ses options deviennent les colonnes.
Thème
Le thème sombre est pris en charge. Avatar en haut à droite, Toggle Theme, puis Timeless Night. Le raccourci est Ctrl + Maj + G.
Point d’attention
Les deux exemples Event ne trient pas de la même façon : le calendrier seul trie par ends_on, l’exemple qui ajoute gantt trie le calendrier par starts_on.
