Jika kita menambah data kegiatan dari mode Daygrid milik Calendar Report, maka sistem akan menampilkan Modal dialog yang berisi form untuk menambah data kegiatan tersebut. Tapi sayangnya, data Jam di form tersebut tidak sesuai dengan Jam yang kita pilih dari Calendar Report-nya.
Hal ini bisa terjadi, jika Timezone yang kita gunakan di project PHPMaker 2023 berbeda dengan Timezone yang digunakan oleh Calendar Report. Seperti yang kita ketahui, secara default, Calendar Report menggunakan Timezone UTC.
Nah, jika misalnya kita menggunakan Timezone Asia/Jakarta dari menu Tools -> Locale Settings pada project PHPMaker 2023, maka data Jam yang terisi di form Add tadi menjadi otomatis ditambah 7. Mengapa? Karena Timezone Asia/Jakarta tersebut memang selisih lebih 7 jam dari Timezone UTC tadi.
Katakanlah pada mode Daygrid tanggal 5 Februari 2023, kita ingin menambahkan kegiatan mulai pukul 04:00 sampai dengan 06:30. Maka kita mengklik sekali pada baris mulai pukul 04:00 lalu drag dan drop sampai ke baris 06:30.
Selanjutnya sistem akan menampilkan Modal dialog berisi form Add, dimana Tanggal Mulai terisi 2023-02-05 11:00 dan Tanggal Selesai terisi 2023-02-05 13:30. Data Jam pada Tanggal Mulai dan pada Tanggal Selesai masing-masing menjadi ditambah 7 Jam.
Sebagai Pengguna Akhir aplikasi web, maka kita harus mengubah kembali data waktu tersebut di form Add tadi. Tentu saja kita tidak menginginkan hal ini terjadi, karena jelas sangat merepotkan si Pengguna Akhir. Seharusnya sistem bisa mendeteksi Timezone yang digunakan, lalu otomatis menyesuaikan data jam di form Add tersebut.
Lalu, bagaimana solusinya? Ternyata mudah dan cepat sekali! Kita hanya perlu menambahkan sedikit kode Javascript saja ke dalam server event Page_Head pada project PHPMaker 2023, yang tujuannya untuk mengubah setting Timezone yang digunakan oleh Calendar Report.
Kodenya hanya seperti ini saja:
<script>
ew.calendarOptions.fullCalendarOptions.timeZone = "UTC+7"; // define to your own timezone
</script>
Karena kita bisa menambahkan kode PHP maupun Javascript ke dalam server event Page_Head, maka pastikan saat menambahkan kode Javascript di atas kita mengapit dengan tag
<script>
dan
</script>
Setelah itu, pastikan untuk men-generate ulang file Layout.php.
Hanya dengan menambahkan sedikit kode itu saja, maka kita sudah bisa mengatasi permasalahan di atas. Sekarang data Jam yang kita pilih mulai dari Tanggal Mulai sampai Tanggal Selesai akan cocok dengan yang ditampilkan pada form Add di Modal dialog.
Memang semakin keren aja ini PHPMaker 2023. Hohoho… 😉
Tinggalkan Balasan