Lihat demonya disini atau download kode sumbernya di Github
Disuatu proyek yang saya kerjakan, kami menggunakan Bootstrap untuk CSS framework dan Backbone. Dan ada kebutuhan untuk membuat popup window untuk form atau sekedar dialog biasa. Karena kami sudah menggunakan Backbone untuk proyek itu maka saya pikir sekalian popup ini pun akan di handle oleh Backbone, tapi saya mau popup ini bisa digunakan untuk segala hal yang membutuhkan popup, jadi tidak terbatas hanya untuk beberapa hal spesifik.
Popup sebagai kontainer
Saya ingin popup ini hanya berfungsi sebagai kontainer dan hanya mengurusi hal yang berhubungan dengan popup saja seperti untuk menampilkan dan menyembunyikan jendela popup, sedangkan isi dari popup itu sendiri merupakan Backbone view lain lagi. Dengan begitu popup ini bisa digunakan oleh Backbone view yang lain yang ingin ditampilkan secara popup.
dan template file untuk Backbone view diatas seperti ini:
simple-template
1 2 3 4
<h1>Simple View</h1> <p> Kita bisa memakai Backbone view lain disini </p>
ok, sederhana kan? dan kalau digunakan sebagai Backbone view biasa akan tampil seperti ini:
Backbone view dalam bentuk popup
Sekarang kita akan mengubah Backbone view sederhana itu kedalam bentuk popup. Yang kita perlu lakukan hanya membuat sebuah Backbone view baru yang mengambil kelas dasar PopupContainerView yang sudah kita buat dan meng-override beberapa fungsinya.
Kita cuma perlu meng-override fungsi renderMainView yang akan menentukan apa yang akan ditampilkan dalam popup tersebut.
Popup beraksi
Layaknya sebuah popup, kita tidak akan melihat popup itu sampai kita melakukan sesuatu yang akan menjalankan popup tersebut. Untuk itu kita akan buat Backbone view lainnya yang akan menjadi pemicu untuk menampilkan popup tersebut