Riferimento ML dell'app


Attributi HTML di AppML

Esempio

<div appml-include-html="inc_header.htm"></div>

<h1>Customers</h1>
<table appml-data="customers.js" appml-controller="myController">
  <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 appml-include-html="inc_footer.htm"></div>
Attribute Description Explained
appml-controller Defines an AppML controller AppML Controllers
appml-data Defines the data source for an application AppML Data
appml-include-html Defines HTML to be included AppML Includes
appml-repeat Defines an HTML element to be repeated AppML Howto

Messaggi AppML

Esempio

function myController($appml) {
    if ($appml.message == "display") {
        if ($appml.display.name == "CustomerName") {
            $appml.display.value = $appml.display.value.toUpperCase();
        }
    }
}
Message Sent
ready After AppML is initiated, and ready to load data.
loaded After AppML is fully loaded, ready to display data.
display Before AppML displays a data item.
done After AppML is done (finished displaying).
submit Before AppML submits data.
error After AppML has encountered an error.

I messaggi AppML sono spiegati nel capitolo sui messaggi AppML .


Modelli AppML

Esempio

{
"security": "admin",
"rowsperpage" : 10,

"database": {
    "connection": "mysql",
    "sql"       : "SELECT * FROM Customers",
    "orderby"   : "CustomerName"}},

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}],

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]
}

Proprietà del modello AppML

Element Description
"data" Defines a flat file source for the model
"database" Defines a database source for the model
"filteritems" Defines filter restrictions
"rowsperpage" Defines number of rows to be fetched per page
"security" Defines the security for the model
"sortitems" Defines sorting restrictions

Sicurezza dell'applicazione

Devi essere loggato come membro del gruppo "admin", per accedere a questa applicazione:

Esempio

{
"security": "admin",
"database": {
    "connection": "mysql",
    "sql"       : "SELECT * FROM Customers",
    "orderby"   : "CustomerName"}
}

Modelli privati

Puoi aggiungere i tuoi dati privati ​​al modello.

Questo esempio suggerisce restrizioni ai dati:

Esempio

"restrictions" : {
    "fname" : {"maxlength": 40},
    "price" : {"max": 999,"min": 100}
    }

I dati del modello possono essere utilizzati dalle applicazioni server e dal controller AppML.

Questo esempio utilizza i dati del modello per convalidare l'input:

Esempio

function myController($appml) {
    if ($appml.message == "submit") {
        var price = document.getElementById("price").value;
        if (price < $appml.model.restrictions.price.min) {
            $appml.displayError(15, "Price too low!");
            return;
        }
}