Documentation Frappe Framework

Frappe Framework

Déclencher un événement à la suppression d’une ligne de grille

Le clic sur supprimer une ligne de grille déclenche fieldname_remove sur le DocType enfant. L’ajout, le déplacement et l’avant-suppression ont leur événement.

1 min de lectureMis à jour le Source : docs.frappe.io

À quoi sert l’événement

Pour réagir quand l’utilisateur supprime une ligne d’une table enfant (Child Table), ajoutez un gestionnaire fieldname_remove. fieldname est le nom du champ table dans le document parent.

Exemple

Le parent Article (Item) a un champ table color, lié au DocType enfant Item Color. Le gestionnaire se pose sur le DocType enfant :

javascript
frappe.ui.form.on("Item Color", {
  color_remove: function (frm) {
    // frm.doc.color contient la liste des couleurs restantes
  },
});

Le même principe vaut pour l’ajout, quand l’utilisateur clique sur ajouter une ligne : l’événement est color_add. Le second extrait publié répète d’abord color_remove, puis ajoute color_add.

Le traitement se fait sur frappe.ui.form.on du DocType enfant, pas sur le DocType parent. Le parent peut garder ses propres gestionnaires à part.

Gestionnaires

  1. fieldname_add
  2. fieldname_move
  3. fieldname_before_remove
  4. fieldname_remove

Point d’attention

Après la suppression, frm.doc.color reflète la liste restante, d’après le commentaire de la source. Le nom de l’événement reprend le nom du champ parent (color), pas le nom du DocType enfant.