Mensajes de AppML
Mensajes y acciones de AppML
Cuando AppML está a punto de realizar una acción, envía el objeto de la aplicación ($appml) al controlador.
Una de las propiedades del objeto de la aplicación es un mensaje ($appml.message), que describe el estado de la aplicación.
Probar este mensaje le permite agregar su propio código JavaScript, según la acción.
Ejemplo
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Mensajes de AppML
Esta es una lista de los mensajes de AppML que se pueden recibir:
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. |
El mensaje "listo"
Cuando una aplicación AppML esté lista para cargar datos, enviará un mensaje de "listo".
Este es el lugar perfecto para proporcionar a la aplicación los datos iniciales (valores de inicio):
Ejemplo
<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>
En el ejemplo anterior, cuando $appml.message está "listo", el controlador agrega dos nuevas propiedades a la aplicación ( hoy y copyright ).
Cuando se ejecuta la aplicación, las nuevas propiedades están disponibles para la aplicación.
El mensaje "cargado"
Cuando una aplicación AppML se carga con datos (lista para mostrar), enviará un mensaje " cargado ".
Este es el lugar perfecto para proporcionar cambios (si es necesario) a los datos cargados.
Ejemplo
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
El mensaje de "pantalla"
Cada vez que AppML muestre un elemento de datos, enviará un mensaje de " visualización ".
Este es el lugar perfecto para modificar la salida:
Ejemplo
<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>
En el ejemplo anterior, "CustomerName" se trunca a 15 caracteres y "País" se convierte a mayúsculas.
El mensaje "hecho"
Cuando una aplicación AppML haya terminado de mostrar datos, enviará un mensaje de " hecho ".
Este es el lugar perfecto para limpiar o calcular los datos de la aplicación (después de la visualización).
Ejemplo
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
El mensaje "enviar"
Cuando una aplicación AppML esté lista para enviar datos, enviará un mensaje de " enviar ".
Este es el lugar perfecto para validar la entrada de la aplicación.
Ejemplo
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
El mensaje de "error"
Si ocurre un error, AppML enviará un mensaje de " error ".
Este es el lugar perfecto para manejar los errores.
Ejemplo
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Propiedades de AppML
Esta es una lista de algunas propiedades de AppML comúnmente utilizadas:
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. |