Salah satu Extension keren bikinan PHPMaker adalah Preview yang berfungsi untuk menampilkan bagian table Detail dalam satu halaman dengan cara meng-expand atau meng-overlay melalui area khusus di bagian record Master-nya. Kenapa saya sebut keren? Karena menggunakan Javascript + AJAX untuk menampilkan area yang tersembunyi itu.
Cukup dengan mengklik icon plus kecil (+) di sebelah kiri record Master (PreviewRow), atau bisa juga dengan menggeser kursor mouse ke tombol khusus yang di-generate oleh PHPMaker (PreviewOverlay), untuk menampilkan area table Detail. Jadi, kita tidak perlu membuka halaman terpisah hanya untuk menampilkan area Detail dari table-table yang memiliki relasi Master/Detail.
Secara defaut, PHPMaker akan men-generate fitur PreviewRow. Sedangkan fitur PreviewOverlay hanya akan di-generate jika table Master yang bertalian memiliki relasi dengan 2 atau lebih table Detail. Ada sebuah tombol Dropdown di setiap baris data Master, dan jika kursor mouse kita geser ke atasnya, maka area Preview akan ditampilkan dalam bentuk Overlay. Keren dan kelihatan profesional!
Sayangnya, jika hanya ada satu table Detail saja, maka tombol tempat untuk meng-hover kursor mouse tadi tidak akan di-generate, apalagi jika opsi Use button dropdown for links tidak kita aktifkan, baik dari level global di PHP -> Page Options (Global), maupun dari level table di Table setup -> Table-Specific Options -> List Page.
Kadang-kadang, kita ingin kedua fitur tersebut (PreviewRow dan PreviewOverlay) sama-sama tersedia di Aplikasi Web yang kita hasilkan dengan PHPMaker. Pertanyaannya, bagaimana caranya supaya kedua fitur ini dapat di-generate oleh PHPMaker di Aplikasi Web kita?
Katakanlah pada project demo2021, di table categories (Master) yang memiliki relasi Master/Detail dengan table products (Detail), kita ingin menampilkan fitur PreviewOverlay.
Cukup dengan menambahkan satu baris kode PHP berikut ke server event ListOptions_Rendered milik table categories, kita sudah dapat menampilkan fitur PreviewOverlay tersebut:
$this->ListOptions->Items["detail_products"]->Visible = true;
Kode di atas artinya, kita menugaskan nilai true ke property Visible milik object atau tombol yang bernama detail_products. Lalu perhatikan kata yang terakhir tadi. Urutannya harus diawali dengan detail_ lalu diikuti dengan nama table Detail-nya, yaitu products.
Selain kode tersebut, tentu saja kita harus sudah memastikan sebelumnya, pilihan PreviewOverlay sudah diaktifkan untuk table categories (table Master), dari menu Tools -> Extensions -> Preview (atau MasinoPreview17) -> Advanced -> Tables.
Betapa mudah dan cepatnya, bukan? Bukan! Hehehe… 😀 😛
O iya, extension Preview ini baru bisa digunakan jika kita sudah membeli lisensi resmi PHPMaker. Beruntunglah Anda jika sudah menggunakan Masino Extensions, karena ada beberapa fitur advanced lainnya yang saya tambahkan pada MasinoPreview17 untuk PHPMaker 2021.
Dengan menggunakan Masino Extensions, maka kita dapat memindahkan tombol-tombol di bagian bawah table Detail yang posisinya dua baris, menjadi satu baris saja pada area tepat di bawah table, sehingga bisa menghemat space. Selain itu, kita juga bisa tetap menampilkan area table, sekalipun tidak ada record di table Detail tersebut. Pengguna Akhir menjadi lebih cepat mengetahui gambaran table Detail melalui kolom-kolom yang ditampilkan pada table kosong tadi.
Tulisan ini saya buat setelah salah seorang client saya menanyakan fitur PreviewOverlay yang tidak berfungsi ketika pilihan Use button dropdown for links dinonaktifkan. Solusinya seperti yang sudah diuraikan di atas tadi, menambahkan satu baris kode PHP itu saja ke dalam server event ListOptions_Rendered milik table Master-nya.
Untunglah hal ini sudah pernah dibahas di Forum Diskusi PHPMaker. Silahkan cek dari URL ini: https://www.hkvforums.com/viewtopic.php?f=4&t=37479. Topik lama, untuk PHPMaker versi 12 tahun 2015, dan masih berlaku juga untuk PHPMaker 2021 pada tahun 2020 ini.
Tinggalkan Balasan