Pesan AppML
Pesan dan Tindakan AppML
Saat AppML akan melakukan suatu tindakan, ia mengirimkan objek aplikasi ($appml) ke controller.
Salah satu properti objek aplikasi adalah pesan ($appml.message), yang menjelaskan status aplikasi.
Menguji pesan ini, memungkinkan Anda untuk menambahkan kode JavaScript Anda sendiri, tergantung pada tindakannya.
Contoh
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Pesan AppML
Ini adalah daftar pesan AppML yang dapat diterima:
Message | Description |
---|---|
"ready" | Sent after AppML is initiated, and ready to load data. |
"loaded" | Sent after AppML is fully loaded, ready to display data. |
"display" | Sent before AppML displays a data item. |
"done" | Sent after AppML is done (finished displaying). |
"submit" | Sent before AppML submits data. |
"error" | Sent after AppML has encountered an error. |
Pesan "siap"
Saat aplikasi AppML siap memuat data, itu akan mengirim pesan "siap".
Ini adalah tempat yang tepat untuk menyediakan aplikasi dengan data awal (nilai awal):
Contoh
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<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>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "W3Schools"
}
}
</script>
Dalam contoh di atas, ketika $appml.message "siap", pengontrol menambahkan dua properti baru ke aplikasi ( today dan copyright ).
Saat aplikasi berjalan, properti baru tersedia untuk aplikasi.
Pesan "dimuat"
Saat aplikasi AppML dimuat dengan data (siap ditampilkan), itu akan mengirim pesan " dimuat ".
Ini adalah tempat yang tepat untuk memberikan perubahan (jika perlu) pada data yang dimuat.
Contoh
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
Pesan "tampilan"
Setiap kali AppML menampilkan item data, ia akan mengirim pesan " display ".
Ini adalah tempat yang tepat untuk memodifikasi output:
Contoh
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<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>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Dalam contoh di atas, "NamaPelanggan" dipotong menjadi 15 karakter, dan "Negara" diubah menjadi huruf besar.
Pesan "selesai"
Ketika aplikasi AppML telah selesai menampilkan data, itu akan mengirim pesan " selesai ".
Ini adalah tempat yang tepat untuk membersihkan atau menghitung data aplikasi (setelah tampilan).
Contoh
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
Pesan "kirim"
Saat aplikasi AppML siap mengirimkan data, ia akan mengirimkan pesan " kirim ".
Ini adalah tempat yang tepat untuk memvalidasi input aplikasi.
Contoh
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
Pesan "kesalahan"
Jika terjadi kesalahan, AppML akan mengirimkan pesan " kesalahan ".
Ini adalah tempat yang tepat untuk menangani kesalahan.
Contoh
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Properti AppML
Ini adalah daftar beberapa properti AppML yang umum digunakan:
Property | Description |
---|---|
$appml.message | The current state of the application. |
$appml.display.name | The name of the data field about to be displayed. |
$appml.display.value | The value of the data field about to be displayed. |
$appml.error.number | The error number. |
$appml.error.description | The error description. |