HTML tutorial
CSS3 tutorial
Bootstrap tutorial
JavaScript tutorial
JQuery tutorial
AngularJS tutorial
React tutorial
NodeJS tutorial
PHP tutorial
Python tutorial
Python3 tutorial
Django tutorial
Linux tutorial
Docker tutorial
Ruby tutorial
Java tutorial
C tutorial
C ++ tutorial
Perl tutorial
JSP tutorial
Lua tutorial
Scala tutorial
Go tutorial
ASP.NET tutorial
C # tutorial
AppML messages are explained in the chapter aboutAppML messages
<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 |
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. |
AppML messages are explained in the chapter about AppML messages.
{
"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"}]
}
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 |
You have to be logged in as a member of the "admin" group, to access this application:
{
"security": "admin",
"database": {
"connection": "mysql",
"sql" : "SELECT * FROM Customers",
"orderby" : "CustomerName"}
}
You can add your own private data to the model.
This example suggests restrictions to data:
"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:
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;
}
}