Mensajes AppML y acciones
Cuando AppML está a punto de realizar una acción, se envía el objeto de aplicación ($appml) al controlador.
Una de las propiedades del objeto de aplicación es un mensaje ($appml.message) , que describe el estado de la aplicación.
Prueba de este mensaje, que permite añadir su propio código JavaScript, dependiendo de la acción.
Ejemplo
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Inténtalo tú mismo " Mensajes AppML
Esta es una lista de mensajes AppML que se puede recibir:
Mensaje | Descripción |
---|---|
"ready" | Enviado después AppML se inicia, y listo para cargar los datos. |
"loaded" | Enviado después AppML está totalmente cargado, listo para mostrar los datos. |
"display" | Enviado antes AppML muestra un elemento de datos. |
"done" | AppML enviada después se lleva a cabo (finished displaying) . |
"submit" | Enviado antes AppML envía datos. |
"error" | Enviado después AppML ha encontrado un error. |
El "ready" Mensaje
Cuando una aplicación AppML está listo para cargar datos, enviará un "ready" mensaje.
Este es el lugar perfecto para proporcionar la aplicación con los datos iniciales (start values) :
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 = "w3ii"
}
}
</script>
Inténtalo tú mismo " En el ejemplo anterior, cuando el $ appml.message está "ready" , el controlador agrega dos nuevas propiedades a la aplicación ( today and copyright ) .
Cuando se ejecuta la aplicación, las nuevas propiedades están disponibles para la aplicación.
El "loaded" Mensaje
Cuando una aplicación AppML se carga con los datos (ready to display) , se enviará un " loaded " mensaje.
Este es el lugar perfecto para proporcionar cambios (if necessary) a los datos cargados.
Ejemplo
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
La "display" Mensaje
Cada vez AppML está mostrando un elemento de datos, se enviará una " display " mensaje.
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>
Inténtalo tú mismo " En el ejemplo anterior, "CustomerName" se trunca a 15 caracteres, y "Country" se convierte a mayúsculas.
El "done" Mensaje
Cuando una aplicación AppML ha terminado la visualización de datos, se enviará un " done " mensaje.
Este es el lugar perfecto para limpiar o calcular los datos de aplicación (después de la pantalla).
Ejemplo
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
El "submit" mensajes
Cuando una aplicación AppML está listo para enviar datos, se enviará un " submit " el mensaje.
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 "error" Mensaje
Si se produce un error, AppML enviará un " error " mensaje.
Este es el lugar perfecto para controlar los errores.
Ejemplo
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Propiedades AppML
Esta es una lista de algunas propiedades AppML de uso común:
Propiedad | Descripción |
---|---|
$appml.message | El estado actual de la aplicación. |
$appml.display.name | El nombre del campo de datos sobre el que se mostrará. |
$appml.display.value | El valor del campo de datos sobre el que se mostrará. |
$appml.error.number | El número de error. |
$appml.error.description | La descripción del error. |