Visualisasi Anda dapat mengaktifkan peristiwa yang dapat didaftarkan untuk diterima oleh halaman host. Peristiwa dapat diaktifkan oleh tindakan pengguna: misalnya pengguna mengklik diagram, atau dapat berupa internal: misalnya, mengaktifkan peristiwa setiap 10 detik. Anda dapat mendaftarkan metode JavaScript untuk dipanggil setiap kali peristiwa tertentu diaktifkan, kemungkinan dengan data khusus untuk peristiwa tersebut.
Setiap visualisasi menentukan peristiwanya sendiri, dan dokumentasi untuk visualisasi tersebut harus menjelaskan waktu setiap peristiwa diaktifkan, apa artinya, dan informasi yang dikirimkan ke pengendali peristiwa Anda (misalnya, lihat visualisasi orgchart). Halaman ini menjelaskan bagaimana pembuat visualisasi dapat mengaktifkan peristiwa. Untuk mempelajari cara klien dapat mendaftar guna menerima peristiwa, lihat halaman Menangani Peristiwa.
Ada satu peristiwa yang harus diaktifkan oleh visualisasi yang dapat dipilih: peristiwa select. Namun, perilaku dan makna peristiwa ini ditentukan oleh setiap visualisasi.
Jika visualisasi tidak siap untuk interaksi segera setelah metode draw
menampilkan kontrol kepada pengguna, visualisasi harus diaktifkan: peristiwa siap.
Perilaku dan arti peristiwa ini yang sebenarnya ditentukan di bagian Peristiwa Siap.
Penting untuk diperhatikan bahwa peristiwa Visualization API terpisah dan berbeda dari peristiwa DOM standar.
Daftar Isi
Mengaktifkan Acara
Untuk mengaktifkan peristiwa dari visualisasi Anda, panggil fungsi google.visualization.events.trigger()
.
Fungsi ini mengharapkan parameter berikut:
- Visualisasi sumber (biasanya nilai
this
). - Nama peristiwa (string).
- Detail peristiwa (Objek). Peta opsional (nama/nilai) detail peristiwa tertentu.
Contoh berikut menunjukkan cara visualisasi menampilkan peristiwa pilih:
MyVisualization.prototype.onclick = function(rowIndex) { this.highlightRow(this.selectedRow, false); // Clear previous selection this.highlightRow(rowIndex, true); // Highlight new selection // Save the selected row index in case getSelection is called. this.selectedRow = rowIndex; // Fire a select event. google.visualization.events.trigger(this, 'select', {}); };
Halaman hosting dapat mendaftar untuk menerima peristiwa Anda dengan memanggil google.visualization.events.addListener()
atau google.visualization.events.addOneTimeListener()
.
Pastikan untuk mendokumentasikan secara menyeluruh setiap peristiwa yang Anda aktifkan.
Peristiwa Pilih
Peristiwa "select" adalah peristiwa standar yang ditampilkan oleh banyak visualisasi sebagai respons terhadap klik mouse pengguna. Jika memilih untuk mengaktifkan peristiwa sebagai respons terhadap klik mouse, Anda harus menerapkan peristiwa "select" dengan cara standar yang dijelaskan di sini:
- Aktifkan peristiwa dengan nama 'select' saat pengguna memilih beberapa data dalam visualisasi. Peristiwa ini tidak mengirim argumen apa pun ke fungsi yang memproses.
- Ekspos metode
getSelection()
seperti yang dijelaskan di bagian dokumen tertaut. Metode ini harus menampilkan indeks elemen data yang dipilih pengguna.
- Ekspos metode
setSelection()
seperti yang dijelaskan di bagian referensi. Lihat juga halaman menangani peristiwa untuk mempelajari cara menangani peristiwa.
Acara Siap Pakai
Setiap visualisasi harus memicu peristiwa "siap" yang berfungsi dengan cara standar untuk memberi tahu developer kapan visualisasi siap untuk memproses metode yang disebut. (Namun, tidak ada persyaratan mutlak bahwa visualisasi berperilaku seperti ini; periksa dokumentasi untuk visualisasi Anda).
Secara umum, visualisasi yang menampilkan peristiwa "siap" dirancang dengan spesifikasi berikut:
- Peristiwa ready tidak meneruskan properti apa pun ke pengendali (pengendali fungsi Anda seharusnya tidak mengharapkan parameter apa pun diteruskan ke pengendali).
- Visualisasi harus mengaktifkan peristiwa siap setelah visualisasi siap untuk berinteraksi.
Jika penggambaran visualisasi tersebut asinkron, peristiwa harus diaktifkan saat metode interaksi benar-benar dapat dipanggil, bukan hanya saat metode
draw
berakhir. - Menambahkan pemroses ke peristiwa ini harus dilakukan sebelum memanggil metode
draw
, karena jika tidak, peristiwa mungkin akan diaktifkan sebelum pemroses disiapkan dan Anda tidak akan menangkapnya. - Dengan memanggil metode interaksi sebelum peristiwa siap diaktifkan, Anda berisiko bahwa metode ini tidak akan berfungsi dengan baik.
Konvensinya adalah bahwa visualisasi yang tidak mengaktifkan peristiwa "siap" siap untuk berinteraksi segera setelah metode draw
berakhir dan menampilkan kontrol kepada pengguna.