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;
}
}