Leçon 9 — Messages typés et fenêtres de dialogue (v0.7.116)
La commande message reste valable telle quelle : message "Bonjour" affiche un bandeau d'information. Depuis la v0.7.116, on peut préciser le type du message avec message.type, l'afficher dans une fenêtre de dialogue (modal) et réagir à la réponse.
quand clic
message.modal "Bienvenue"Les types
| Commande | Alias | Affichage par défaut | Rôle |
|---|---|---|---|
message.info "texte" | information, infos | bandeau | Information. |
message.succes "texte" | succès, reussite, ok, success | bandeau vert | Opération réussie. |
message.avertir "texte" | avertissement, attention, alerte, warning | bandeau orange | Avertissement. |
message.erreur "texte" | echec, échec, error | bandeau rouge | Erreur. |
message.modal "texte" | modale, dialogue, dialog, fenetre | fenêtre | Information dans une fenêtre. Le script attend sa fermeture. |
message.confirmer "question" | confirmation, confirm, question | fenêtre Oui / Non | Pose une question : $reponse vaut oui ou non. |
message.demander "question" | saisir, saisie, ask, prompt | fenêtre avec un champ | Demande un texte : $reponse reçoit la saisie (vide si annulé). |
Un type inconnu est signalé à l'analyse : Type de message inconnu « message.joyeux » (info, succes, avertir, erreur, modal, confirmer, demander).
Options (dans n'importe quel ordre, après le texte)
| Option | Effet |
|---|---|
modal (dialogue, popup) | Affiche le message dans une fenêtre, même pour info, succes, avertir, erreur. |
bandeau (toast, notification) | Force le bandeau (impossible pour confirmer et demander). |
titre "Titre" | Titre de la fenêtre (par défaut : Information, Succès, Avertissement, Erreur, Confirmation, Saisie). |
bouton "Compris" / boutons "Oui" "Non" | Libellés des boutons (un seul bouton pour un message simple). |
danger | Bouton principal rouge (suppression, action irréversible). |
"$cible" ou dans "$cible" | confirmer / demander : écrit aussi la réponse dans cette cible, en plus de $reponse. |
alors commande … | Commande exécutée si la réponse est Oui (ou la saisie validée) ; pour un message simple, après sa fermeture. |
sinon commande … | Commande exécutée si la réponse est Non (ou la saisie annulée). Seulement avec confirmer et demander. |
Le texte accepte {Composant} et {$variable} comme set ou message.
Conditions
Deux façons de réagir à une réponse, au choix du plus lisible :
quand clic
# 1. Branches alors / sinon sur la même ligne
message.confirmer "Supprimer ce client ?" danger boutons "Supprimer" "Garder" alors effacer "Nom" sinon message.info "Annulé"
# 2. La réponse est toujours dans $reponse : on peut tester avec « si »
message.confirmer "Continuer ?"
si "$reponse" = oui alors message.succes "C'est parti"oui / non se comparent aussi avec true / false / vrai / faux : si "$reponse" = true … fonctionne. Un message peut aussi se trouver derrière un si :
quand clic
si "Stock" < 5 alors message.avertir "Stock bas : {Stock}" modal titre "Magasin"Forme avec parenthèses (facultative)
message.confirmer("Supprimer ?", "$ok") équivaut à message.confirmer "Supprimer ?" "$ok".
Limites
- Après
alors, une seule commande ; une commande de contrôle (si,sauf-si,repeter) y est refusée. Pour enchaîner plusieurs actions, appelez une fonction (alors effacer-nom, voir la v0.7.115). - La commande après
alorsne peut pas contenir elle-mêmesinon. - Dans l'application Flutter générée, les fenêtres s'ouvrent avec
showDialog(Material) ;message.modalouvert pendantquand chargements'affiche au premier affichage de l'interface.
Exemple complet : examples/code-composants/14-messages-types.berkios.json.
Le même principe dans le langage .bk (v0.7.123)
Dans un fichier .bk, l'action d'un bouton afficher le message accepte les mêmes types, la fenêtre modale et des lignes oui : / non : :
bouton supprimer "Supprimer"
quand on clique : afficher le message confirmation "Supprimer ce client ?" titre "Suppression" boutons "Supprimer" "Garder" danger
oui : afficher le message succès "Client supprimé"
non : afficher le message "Suppression annulée"
bouton bienvenue "Bienvenue"
quand on clique : afficher le message modal "Bienvenue dans BERKIOS !" titre "Bienvenue"
bouton demander "Mon nom"
quand on clique : afficher le message saisie "Quel est votre nom ?" dans nom| Élément | Français | English | Español | Kiswahili |
|---|---|---|---|---|
| Types | information, succès, avertissement, erreur, confirmation, saisie | info, success, warning, error, confirmation, input | información, éxito, advertencia, error, confirmación, entrada | taarifa, mafanikio, onyo, hitilafu, uthibitisho, ingizo |
| Affichage | modal, bandeau | modal, banner | modal, banner | dirisha, arifa |
| Options | titre "…", boutons "OK" "Non", danger, dans composant | title, buttons, danger, into | título, botones, peligro, hacia | kichwa, vitufe, hatari, ndani ya |
| Réponses | oui : / non : | yes : / no : | sí : / no : | ndiyo : / hapana : |
afficher le message "texte"(sans type) reste un bandeau d'information.confirmationetsaisies'ouvrent toujours dans une fenêtre ;oui/nonn'existent que sous elles. Une saisie écrit son texte dans le composant indiqué aprèsdans.- Une ligne
oui :/non :contient une seule action (ouvrir, fermer, montrer, message simple…). Une nouvelle confirmation ou saisie y est refusée. berkios traduireconvertit ces lignes dans les quatre langues. Exemples :compiler/examples/messages.fr.bketmessages.en.bk.- Dans le projet produit, le bouton reçoit
buttonActionavecmessageKind,messageDisplay,messageTitle,okLabel,cancelLabel,danger,responseTargetWidgetId,onYes,onNo.
Cette page en Markdown · llms.txt · documentation complète pour les IA