Aug 12, 2014

Register Costum Component ZK in zk.xml

In my previous post, i Have example custom Button with Confirmation Dialog. But now i'll register my customer Component in zk, so I don't need register in .zul when i use custom component.
my previous index.zul


 

    

Now i Will register Component in zk.xml. step by step. 1.Create file lang-addon.xml in WEB-INF folder. lang-addon.xml

    ExtComponent
    xul/html
    
        extbutton
        button
        id.co.sm.ExtBtnConfirm
    

2. Call lang-addon.xml in zk.xml

 
  ajax
  /timeout.zul
 
 
    /WEB-INF/lang-addon.xml


Ok Finish, so simple guy.. Now we can call the Component everywhere page *.zul. example



    

Custom Button ZK With Confirmation Dialog

In this Post we will she how to Custom Button framework ZK, and we will minimalizir boiler plate in code. When we processing data usually as the confirmation user like this "Are you Sure to Save?", if user click "Yes" Button, we will processing the data (SAVE,DELETE,APPROVAL or Submit). in my application i will put the the same code like this everywhere process .
Messagebox.show("Are you sure to save?", "Confirm Dialog", Messagebox.OK | Messagebox.IGNORE  | Messagebox.CANCEL, Messagebox.QUESTION, new org.zkoss.zk.ui.event.EventListener() {
    public void onEvent(Event evt) throws InterruptedException {
        if (evt.getName().equals("onOK")) {
            alert("Data Saved !");
        } else if (evt.getName().equals("onIgnore")) {
            Messagebox.show("Ignore Save", "Warning", Messagebox.OK, Messagebox.EXCLAMATION);
        } else {
            alert("Save Canceled !");
        }
    }
});
i don't like put code everywhere process data like that. in ZK Forums i see example good idea to minimalizir boiler plate like that. check this link But, I Have a simple idea to extends component button put message box there. check this out.
package id.co.sm;
import org.zkoss.zk.ui.IdSpace;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zk.ui.select.annotation.VariableResolver;
import org.zkoss.zul.Button;
import org.zkoss.zul.Messagebox;


@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ExtBtnConfirm extends Button implements IdSpace,AfterCompose{

 private static final long serialVersionUID = 1272856633449159555L;
 public static final String ON_SAVE_STR="onProcess";
 
 String messageConfirm;
 public ExtBtnConfirm() {
  super();
 }
 
 @Override
 public void afterCompose() {
  addEvent();
  
 }
 public void addEvent(){
  addEventListener(Events.ON_CLICK, new EventListener() {
   public void onEvent(Event arg0) throws Exception {
    Messagebox.show(messageConfirm, "Confirmation", Messagebox.YES|Messagebox.NO, Messagebox.QUESTION, new EventListener() {
     public void onEvent(Event e) throws Exception {
      if(e.getName().equals(Messagebox.ON_YES)) 
      Events.postEvent(new EventOnProcess());
     }
    });
   }
   
  });
 }
 
 
 public class EventOnProcess extends Event{
  private static final long serialVersionUID = 1L;
  public EventOnProcess() {
   super(ON_SAVE_STR, ExtBtnConfirm.this);
   // TODO Auto-generated constructor stub
  }
 }


 public String getMessageConfirm() {
  return messageConfirm;
 }

 public void setMessageConfirm(String messageConfirm) {
  this.messageConfirm = messageConfirm;
 }
 
}
this is my Zul

index.zul





    

View Model

package id.co.sm;

import org.zkoss.bind.annotation.Command;
import org.zkoss.zul.Messagebox;

public class VM_TestButton {

 @Command
 public void doProcess()
 {
  Messagebox.show("Test Confirm Button Processing.....!");
 }
}

and The final result





that's it. :D my English level elementary. sorry! if you want to read my code all. check this link.. I hope you understand when you reading my code. hahahaha...

see yaa

Aug 8, 2014

String JavaScript Method .toUpperCase() dan .toLowerCase() (Belajar)


UpperCase dan Lower Case String JavaScript

Konversi Object String pada JavaScript untuk mengubah huruf menjadi huruf kapital(.toUpperCase()) dan mengubah huruf pada String menjadi huruf kecil (.toLowerCase()).
var _ObjectString=new String("Srigala Militan Sedang Belajar");
document.write(_ObjectString.toUpperCase());
document.write(_ObjectString.toLowerCase());
//HASIL
//SRIGALA MILITAN SEDANG BELAJAR
//srigala militan sedang belajar

Semoga Dapat Membantu
Salam
Srigala Militan

Jan 23, 2014

String JavaScript Method .trim() (Belajar)


string.trim() JavaScript

JavaScript String.trim() merupakan method untuk menghapus spasi pada string,pada sisi depan dan belakang dari string.

Contoh Script
var _ObjectString=new String(" Srigala Militan Sedang Belajar ");
document.write("|"+_ObjectString+"|");
document.write("|"+_ObjectString.trim()+"|");
//HASIL
//| Srigala Militan Sedang Belajar |
//|Srigala Militan Sedang Belajar|

Semoga Dapat Membantu
Salam
Srigala Militan

String JavaScript substring (Belajar)


JavaScript String.substring merupakan method yang digunakan untuk memecah string berdasarkan paramater/ criterianya. Method substring akan mengembalikan string setelah di pecah.

Terdapat 2 method variasi string substring bawaan dari JavaScript
  1. string.substring(int p_startIndek)
  2. string.substring(int p_startIndek,int p_panjangKarakter)
Parameter :
  1. p_startIndek : indek dimulainya untuk pemecahan String.
  2. p_panjangKarakter : panjang karakter yang akan di potong.

Jan 21, 2014

String JavaScript Split (Belajar)


string.split JavaScript

Kegunaan method split adalah memecah String menjadi array berdasarkan paramater-paramater. kita akan kupas method split lebih jauh.

Terdapat 3 method string split bawaan dari JavaScript
  1. string.split()
  2. string.split(string p_separator)
  3. string.split(string p_separator ,int p_limit)
Parameter :
  1. p_separator : spesifik karakter untuk memecah string menjadi array
  2. p_limit : jumlah array dari hasil split, jika hasil split melebihi limit maka tidak akan didampung

Jan 17, 2014

Object String di JavaScript

Object String digunakan untuk menyimpan, manipulasi dan memformat text. String dalam javascript bisa menjadi tipe data primitive ataupun object.
var _ObjectString = new String("Srigala Militan Sedang Belajar");
var _stringTipeData = "Srigala Militan Sedang Belajar";
document.write( typeof(_ObjectString));
document.write( typeof(_stringTipeData));
//HASIL
// object
// string

JavaScript Objects

Object suatu entitas dari permasalahan, dimana terdiri dari kumpulan properti dan method.Properti merupakan nilai yang bersasosiai dengan object, berupa variabel yang dimliki object. Method adalah fungsi yang mendukug kinerja object.

Object dalam JavaScript
1. String
2. Array
3. Date

Pembuatan variable Object String dalam JavaScript

var _ObjectString     = new String("Srigala Militan"); //deklarasi object String
var _PropertiString   = _ObjectString.length;//properti dari object String
var _MethodString    = _ObjectString.indexOf("Militan");//Method dari object String

Dari contoh diatas ,Cara membedakan antara properti dan method dalam object di javascript ialah dari segi akses ke properti dan method.
Properti diakes dengan tanpa buka tutup kurung (object.length), sedangkan Method dengan tutup kurung (Object.indexOf())

Jan 15, 2014

Perbedaan Null Dan Undefined JavaScript


Undefined Adalah variable yang tidak memiliki nilai hanya deklarasi saja ataupun variable yang tidak terdefinisikan,
Sedangkan null merupakan object kosong, nilai null pada variable merupakan assigment.
:) agak bingung yaa? Mari kita lihat dalam source code

Jan 13, 2014

Tipe Data JavaScript

Javascript miliki tipe data
1. Boolean
2. Number
3. String
4. Array
5. Object
Keyword var dalam javasript merupakan code untuk
mendeklarasikan variable dan bisa di isi dengan berbagai tipe data(dinamik).
contoh :

Jan 10, 2014

JavaScript Variable

Syarat Syarat Variable Javascript
1. Diawali dengan huruf(a-z, A-Z).
2. Bisa Diawali dengan Karekter _ dan $ .
3. Case Sensitif ( variable "total" tidak sama dengan "TOTAL").

ada banyak tipe data javascript tapi dalam contoh berikut hanya variable numeric dan string.

Hello World JavaScript

JavaScript (JS) adalah bahasa pemrograman client side. Sebagai bagian dari web browser, implementasi memungkinkan code untuk berinteraksi dengan pengguna, mengontrol browser, berkomunikasi asynchronous, dan mengubah isi dokumen yang akan ditampilkan.

Jan 7, 2014

Java BigDecimal, Beware!!!

Java BigDecimal Merupakan Object java yang memiliki presisi yang tinggi bahkan lebih besar dari object Double, BigDecimal biasanya digunakan untuk melakukan perhitungan dengan sangat memperhatikan presisi(koma). Sepengalaman saya sebagai programmer BigDecimal saya gunakan untuk melakukan perhitungan financial (dalam artian uang). Namun kita hati hati menggunakan BigDecimal karane BigDecimal mempunyai karakter yang sedikit berbeda dengan object java lain nya. Berikut saya lampirkan dalam Contoh

Java DAYS360 Excel

Fungsi DAYS360 merupakan salah satu fungsi dari microsoft excel dimana fungsi DAYS360 mengembalikan jumlah hari antara dua tanggal berdasarkan tahun dengan 360 hari per tahun (dua belas bulan dengan 30 hari per bulan), yang digunakan dalam beberapa perhitungan akuntansi. Gunakan fungsi ini untuk membantu menghitung pembayaran jika sistem akuntansi Anda berdasarkan pada dua belas bulan dengan 30 hari per bulan. Saya Coba Menerapkan fungsi DAYS360 Excel ke Dalam Java, Karena Dalam Pekerjaan Saya, saya membutuhkan fungsi ini.. Oke Kawan.. Mari kita coba