アプリMLリファレンス


AppMLHTML属性

<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

AppMLメッセージ

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メッセージについては、 AppMLメッセージに関する章で説明されてい ます


AppMLモデル

{
"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モデルのプロパティ

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

アプリケーションセキュリティ

このアプリケーションにアクセスするには、「admin」グループのメンバーとしてログインする必要があります。

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

プライベートモデル

独自のプライベートデータをモデルに追加できます。

この例は、データに対する制限を示しています。

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

モデルデータは、サーバーアプリケーションとAppMLコントローラーで使用できます。

この例では、モデルデータを使用して入力を検証します。

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