AppML HTML Attributes
Example
<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>
Try It Yourself »
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 |
AppML Messages
Example
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
Try It Yourself »
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. |
AppML messages are explained in the chapter about AppML messages.
AppML Models
Example
{
"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"}]
}
AppML Model Properties
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 |
Application Security
You have to be logged in as a member of the "admin" group, to access this application:
Example
{
"security": "admin",
"database": {
"connection": "mysql",
"sql" : "SELECT * FROM Customers",
"orderby" : "CustomerName"}
}
Private Models
You can add your own private data to the model.
This example suggests restrictions to data:
Example
"restrictions" : {
"fname" : {"maxlength": 40},
"price" : {"max": 999,"min": 100}
}
Model data can be used by server applications, and by your AppML controller.
This example uses model data to validate input:
Example
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;
}
}