AppML- berichten
AppML-berichten en -acties
Wanneer AppML op het punt staat een actie uit te voeren, stuurt het het toepassingsobject ($appml) naar de controller.
Een van de eigenschappen van het toepassingsobject is een bericht ($appml.message), dat de status van de toepassing beschrijft.
Door dit bericht te testen, kunt u uw eigen JavaScript-code toevoegen, afhankelijk van de actie.
Voorbeeld
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
AppML-berichten
Dit is een lijst met AppML-berichten die kunnen worden ontvangen:
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. |
Het "klaar" bericht
Wanneer een AppML-toepassing klaar is om gegevens te laden, stuurt deze een "klaar"-bericht.
Dit is de perfecte plek om de applicatie te voorzien van initiële gegevens (startwaarden):
Voorbeeld
<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>
In het bovenstaande voorbeeld, wanneer $appml.message "ready" is, voegt de controller twee nieuwe eigenschappen toe aan de applicatie ( today en copyright ).
Wanneer de toepassing wordt uitgevoerd, zijn de nieuwe eigenschappen beschikbaar voor de toepassing.
Het "geladen" bericht
Wanneer een AppML-toepassing is geladen met gegevens (klaar om weer te geven), stuurt deze een " geladen " bericht.
Dit is de perfecte plek om (indien nodig) wijzigingen door te geven aan de geladen gegevens.
Voorbeeld
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
Het "display"-bericht
Elke keer dat AppML een gegevensitem weergeeft, wordt een " display "-bericht verzonden.
Dit is de perfecte plek om de uitvoer te wijzigen:
Voorbeeld
<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>
In het bovenstaande voorbeeld wordt "Klantnaam" afgekapt tot 15 tekens en wordt "Land" geconverteerd naar hoofdletters.
Het "klaar" bericht
Wanneer een AppML-toepassing klaar is met het weergeven van gegevens, stuurt deze een " klaar "-bericht.
Dit is de perfecte plek om applicatiegegevens op te schonen of te berekenen (na weergave).
Voorbeeld
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
Het bericht "verzenden"
Wanneer een AppML-applicatie klaar is om gegevens in te dienen, stuurt deze een " submit "-bericht.
Dit is de perfecte plek om applicatie-invoer te valideren.
Voorbeeld
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
Het "fout" bericht
Als er een fout optreedt, stuurt AppML een " fout "-bericht.
Dit is de perfecte plek om met fouten om te gaan.
Voorbeeld
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML-eigenschappen
Dit is een lijst met enkele veelgebruikte AppML-eigenschappen:
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. |