Messages AppML
Messages et actions AppML
Lorsque AppML est sur le point d'effectuer une action, il envoie l'objet d'application ($appml) au contrôleur.
L'une des propriétés de l'objet application est un message ($appml.message), décrivant l'état de l'application.
Le test de ce message vous permet d'ajouter votre propre code JavaScript, en fonction de l'action.
Exemple
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Messages AppML
Voici une liste de messages AppML pouvant être reçus :
Message | Description |
---|---|
"ready" | Sent after AppML is initiated, and ready to load data. |
"loaded" | Sent after AppML is fully loaded, ready to display data. |
"display" | Sent before AppML displays a data item. |
"done" | Sent after AppML is done (finished displaying). |
"submit" | Sent before AppML submits data. |
"error" | Sent after AppML has encountered an error. |
Le message "prêt"
Lorsqu'une application AppML est prête à charger des données, elle envoie un message "prêt".
C'est l'endroit idéal pour fournir à l'application les données initiales (valeurs de départ) :
Exemple
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "W3Schools"
}
}
</script>
Dans l'exemple ci-dessus, lorsque le $appml.message est "prêt", le contrôleur ajoute deux nouvelles propriétés à l'application ( aujourd'hui et copyright ).
Lorsque l'application s'exécute, les nouvelles propriétés sont disponibles pour l'application.
Le message "chargé"
Lorsqu'une application AppML est chargée avec des données (prêtes à être affichées), elle enverra un message " loaded ".
C'est l'endroit idéal pour apporter des modifications (si nécessaire) aux données chargées.
Exemple
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
Le message "affichage"
Chaque fois qu'AppML affiche un élément de données, il enverra un message " display ".
C'est l'endroit idéal pour modifier la sortie :
Exemple
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Dans l'exemple ci-dessus, "CustomerName" est tronqué à 15 caractères et "Country" est converti en majuscules.
Le message "terminé"
Lorsqu'une application AppML a fini d'afficher des données, elle enverra un message " done ".
C'est l'endroit idéal pour nettoyer ou calculer les données d'application (après affichage).
Exemple
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
Le message "soumettre"
Lorsqu'une application AppML est prête à envoyer des données, elle enverra un message " submit ".
C'est l'endroit idéal pour valider les entrées de l'application.
Exemple
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
Le Message "d'erreur"
Si une erreur se produit, AppML enverra un message " erreur ".
C'est l'endroit idéal pour gérer les erreurs.
Exemple
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Propriétés AppML
Voici une liste de certaines propriétés AppML couramment utilisées :
Property | Description |
---|---|
$appml.message | The current state of the application. |
$appml.display.name | The name of the data field about to be displayed. |
$appml.display.value | The value of the data field about to be displayed. |
$appml.error.number | The error number. |
$appml.error.description | The error description. |