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.