Frappe Framework
Ajouter un bouton personnalisé à un formulaire
Le fichier JavaScript du DocType ajoute un bouton au formulaire avec frm.add_custom_button, au rafraîchissement.
À quoi sert le bouton
Pour ajouter un bouton personnalisé sur un formulaire, modifiez le fichier JavaScript associé au DocType. Pour le formulaire Utilisateur (User), ce fichier est user.js. On y appelle add_custom_button, qui pose le bouton sur le formulaire.
Signature
frm.add_custom_button(__(buttonName), function () {
// action : ouvrir un formulaire, charger des données, etc.
}, __(groupName));Le premier argument est le libellé traduit, le deuxième la fonction exécutée au clic, le troisième le groupe de boutons, lui aussi traduit.
Exemple sur Utilisateur
Le fichier à modifier est frappe/core/doctype/user/user.js. Au rafraîchissement du formulaire, un bouton du groupe Utilities affiche l’e-mail du document :
frappe.ui.form.on("User", {
refresh: function (frm) {
frm.add_custom_button(__("Get User Email Address"), function () {
frappe.msgprint(frm.doc.email);
}, __("Utilities"));
},
});Point d’attention
L’exemple s’accroche à l’événement refresh. Sans cela, la source ne montre pas d’autre moment pour poser le bouton. L’action lit frm.doc.email et l’affiche avec frappe.msgprint.
