Harus diakui, bahwa sejak versi 2017, PHPMaker menangani separator data yang bertipe angka atau numerik semakin lebih baik dibandingkan di versi-versi major sebelumnya. Sejak dipisahkannya setting regional ke dalam file .json, maka karakter pemisah numerik ini menjadi lebih mudah dioptimalkan untuk field yang formatnya menggunakan tipe Numeric, Currency, dan Percent di PHPMaker.
Seperti keuntungan yang saling melengkapi, hal ini pun berdampak baik bagi extension MasinoAutoNumeric13 yang kompatibel dengan PHPMaker versi 2017. Dengan mengaktifkan extension ini, maka kita sebagai Web Developer tidak perlu lagi menulis kode khusus untuk menangani karakter pemisah data numerik tadi. Kode untuk menangani karakter separator tadi akan dibangkitkan dari dalam extension MasinoAutoNumeric13 tersebut.
Perlu diketahui, bahwa extension MasinoAutoNumeric13 mengoptimalkan setting regional tersebut untuk menangani data yang bertipe numerik. Extension ini juga akan otomatis mencegah Pengguna akhir memasukkan data yang bukan bertipe numerik ke dalam field numerik tadi. Selain itu, ketika Pengguna Akhir sedang menginput data numerik, maka karakter separator akan ditambahkan secara otomatis oleh sistem. Keren, ‘kan?
Hal ini bisa Anda lihat hasilnya dari menu Order Details pada Aplikasi Web yang sudah dibangkitkan oleh PHPMaker 2017 dan Masino Extensions di: Demo I Love PHPMaker 2017. Pastikan Anda sudah login, lalu perhatikanlah ketika Anda menambah atau mengubah data di menu Order Details tadi pada form Add atau Edit. Karakter separator pemisah ribuan maupun desimal untuk data yang bertipe numerik akan otomatis menyesuaikan dengan bahasa yang sedang terpilih.
Supaya dapat mengoptimalkan extension MasinoAutoNumeric13 tadi, maka item pengaturan No. of digits after decimal untuk field Discount pada table orderdetails tadi harus diisi dengan nilai 2. Hal ini penting, karena field ini tipenya Double dan dideteksi oleh extension MasinoAutoNumeric13 sebagai field numerik.
Sedangkan untuk field SubTotal di table orderdetails tersebut, kita ketahui dia menggunakan fitur Custom Field dan diset sebagai Read-Only melalui server event Page_Load. Oleh karena itu, pastikan Anda memilih (None) pada item pengaturan Validate di bawah pengaturan Fields -> panel Edit Tag, sebelum men-generate ulang semua file script seperti biasa menggunakan PHPMaker.
Mengapa pengaturan pada field SubTotal tadi perlu kita sesuaikan? Karena nilai yang ditampilkan pada field tersebut diperoleh dari hasil perhitungan yang melibatkan tiga field sekaligus, yaitu: UnitPrice, Quantity, dan Discount. Kode jQuery yang terkait dengan perhitungan ini bisa Anda lihat pada item pengaturan Client side events pada panel Edit Tag.
Karena perhitungan otomatis yang terjadi di sisi client itu menggunakan kode jQuery, maka kita tidak perlu memilih validasi bertipe Float seperti pengaturan pada field UnitPrice. Alasannya, karena hasil perhitungan yang menggunakan kode Javascript atau jQuery itu harus menggunakan setting Internasional.
Artinya, karakter koma sebagai separator ribuan, dan karakter titik sebagai separator desimal. Dengan kata lain, kita tidak bisa mengubah karakter separator untuk field SubTotal tadi sesuai dengan bahasa yang terpilih.
Nah, di sinilah salah satu keunikan yang harus diperhatikan apabila kita menggunakan MasinoAutoNumeric13 untuk menangani perhitungan di sisi client seperti yang kita lihat pada web demo tadi. Artinya, tidak semua field numerik harus menggunakan validasi data numerik. Ada pengecualian untuk field yang menampung hasil perhitungan secara otomatis di sisi client.
Bagi Anda yang sudah berlangganan di situs I Love PHPMaker, silahkan download ulang semua file Masino Extensions yang baru saja saya perbarui hari ini untuk PHPMaker versi 2017, lalu timpa extension yang lama dengan yang baru tersebut.
Apabila Anda belum pernah memakai Masino Extensions dan ingin menggunakannya, maka silahkan klik menu Membership Options di situs tadi untuk mulai berlangganan sekarang juga. Dapatkan keuntungan tadi serta banyak keuntungan lainnya dari pemakaian Masino Extensions pada project-project PHPMaker Anda mulai hari ini!
Semoga bermanfaat ya. 🙂
Tinggalkan Balasan