Salah satu Extensions yang disediakan oleh PHPMaker untuk memperkaya fitur Master/Detail pada Aplikasi Web yang dihasilkannya adalah Preview. Extension ini lalu saya kembangkan lagi menjadi MasinoPreviewRow11 (untuk PHPMaker versi 11).
Beberapa fitur canggih baru yang bisa Anda gunakan pada extension bikinan saya ini adalah, dapat menampilkan item Detail dalam tombol style dropdown, dapat menampilkan nomor urut record di bagian Detail Preview, dan juga dapat menampilkan tabel kosong jika tidak ada Record ditemukan di bagian Detail.
Extension ini juga memiliki fitur untuk menampilkan bagian Detail dalam bentuk Preview Row di halaman List yang menampilkan data Master. Cukup aktifkan pengaturan UseDetailPreview dan PreviewRow dari Advanced -> Tables extension tersebut.
Setelah men-generate file script dengan PHPMaker, maka Anda akan melihat icon + (plus) di sebelah kiri dari Record Master pada Aplikasi Web yang dihasilkan. Ketika icon + tadi diklik, maka sistem akan membuka area baru di bagian bawah Record ini yang merupakan Detail dari Master tersebut.
Selain itu, Anda juga dapat menampilkan tombol Master/Detail di halaman List tadi di samping menggunakan fitur Detail Preview Row tadi. Artinya, fitur Detail Preview Row dan tombol Master/Detail bisa sama-sama ditampilkan pada halaman List dari Record Master tersebut.
Kadang-kadang, kita tidak ingin menampilkan tombol Master/Detail tersebut karena sudah diwakili oleh fitur Detail Preview Row. Jadi, sebaiknya tombol ini perlu disembunyikan saja. Pertanyaannya adalah, bagaimana cara menyembunyikannya?
Jangan khawatir, karena PHPMaker sudah menyediakan server event ListOptions_Load yang bisa kita gunakan untuk memanipulasi elemen yang terdapat di halaman List, khususnya ketika sistem sedang me-render elemen-elemen di dalam tabel pada halaman List tadi.
Jadi, jika Anda ingin menyembunyikan tombol Master/Detail yang terdapat di dalam halaman List tersebut, maka cukup taruh kode ini ke dalam server event ListOptions_Load yang terdapat di bawah Server Events -> Table-Specific -> List Page:
$this->ListOptions->Items["details"]->Visible = FALSE;
Dari kode tersebut, kita dapat mengetahui bahwa tombol Master/Detail yang terdapat di halaman List dari record Master memiliki name details yang merupakan salah satu dari Items dari object ListOptions. Kita cukup mengeset property Visible milik item tersebut menjadi FALSE untuk menyembunyikan tombol Master/Detail tadi dari halaman List milik record Master.
Wow, betapa mudah dan cepatnya, bukan? 😀
Tinggalkan Balasan