<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 »
| 属性 | 説明 | リンク |
|---|---|---|
| appml-controller | AppML コントローラを定義 | AppML Controllers |
| appml-data | アプリケーションのデータソースを定義 | AppML Data |
| appml-include-html | インクルードする HTML を定義 | AppML Includes |
| appml-repeat | 繰り返す HTML 要素を定義 | AppML Howto |
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
Try It Yourself »
| メッセージ | 送信 |
|---|---|
| ready | AppML が初期化され、ロードデータの準備が完了した後 |
| loaded | AppML が完全にロードされた後、データを表示する準備ができたとき |
| display | AppML がデータ項目を表示する前 |
| done | AppML が行われた(表示終了)後 |
| submit | AppML がデータを送信する前 |
| 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"}]
}
| 要素 | 説明 |
|---|---|
| "data" | モデルのフラット・ファイル・ソースを定義 |
| "database" | モデルのデータベース・ソースを定義 |
| "filteritems" | フィルタの制約を定義 |
| "rowsperpage" | ページごとにフェッチする行数を定義 |
| "security" | モデルのセキュリティを定義 |
| "sortitems" | ソートの制約を定義 |
このアプリケーションにアクセスするには、"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;
}
}