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.