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.