Maintain log :
- 2011/9/23 Upgrade to 1.2.2.2 , finetune some minor defect and page description;
- 2011/8/22 Upgrade to 1.2.2.1 , add the "user view" and rating component.
User view is to show all posts of specific user;
- 2011/8/22 Upgrade to 1.2.2 , finetune the UI , using pushState to get better UX/performance in FF/Chrome, add author field for each case.
- 2011/8/04 Upgrade to 1.2.1 , add widget and some data API ,bug fixs.
- 2011/7/20 Upgrade to 1.2 , upgrading Code Mirror and fix some issue.
- 2011/7/13 Domain name server get wrong resolved ip , so the run buttion is temporary not working. Fixed.
- 2011/6/28 Upgrade to 1.1.1 fine tune UI, add tag cloud
- 2011/6/27 Upgrade to 1.1.0 Add Tag and download
- 2011/6/18 Upgrade to 1.0.0
- 2011/6/17 Version 1.0.0 Update UI
- 2011/6/12 Version 0.9.1 fixed db not saving case after server restart issue.
- 2011/6/11 Version 0.9.0 update project skeleton and add more features.
- 2011/6/05 Version 0.8.0 prototyping and experimental version
Suggested case list:
user model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkupdate the textbox value and fire a onChange event (Client)
2TonyQ220.133.44.37qdorurFeb 12, 2012 11:56:25 PMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkidentify firefox or not in server side
1TonyQ198.203.175.1751nv2qreDec 10, 2011 4:25:04 AMlinkZK addThis integration
1TonyQ198.203.175.1751apl96jNov 5, 2011 4:12:50 AMlinkTrigger onChange for textbox in client manually.
1TonyQ198.203.175.1751tmsvs1Sep 22, 2011 5:23:43 AMlinkmodify selected status of listbox after compose
1guest61.224.42.2033486viqSep 18, 2011 12:26:53 PMlinkckeditor startup with source mode
1benbai61.216.4.1961lvlb1lSep 11, 2011 1:56:30 PMlinkapply style to all textbox in css
1TonyQ198.203.175.1751l8b5kkSep 10, 2011 12:55:52 AMlinkRequire user to enter uppercase chars only in textbox
1TonyQ198.203.175.1751cl18ghSep 9, 2011 12:58:13 AMlinkThe last position that the mouse was clicked
3sunflower60.175.249.16539o3m78Sep 8, 2011 10:08:32 PMlinkHow to invoke server side onClick event with XHTML component
1TonyQ198.203.175.17511spe5sSep 7, 2011 8:01:56 AMlinkClient event - onFocus/onBlur
1TonyQ198.203.175.1752met717Sep 1, 2011 6:13:24 AMlinkDatabinding with TypeConverter sample
1TonyQ198.203.175.1751t0gtrkAug 31, 2011 12:47:46 AMlinkgrid sample with ListModel/RowRenderer
5guest198.203.175.1752vah9ajAug 31, 2011 12:27:35 AMlinkMultiple drag - finetune
3TonyQ198.203.175.175393nlq1Aug 30, 2011 6:49:05 AMlinkA window doModal reusing example - composer way
5TonyQ12.208.243.66126pn69Aug 28, 2011 12:04:14 PMlinkLatest 10 Fiddles :
update the textbox value and fire a onChange event (Client)
55guest202.104.66.138qdorurJun 20, 2013 4:22:20 AMlinkForward , include and test owner test
1guest116.254.100.1452mb0cjpJun 20, 2013 1:30:11 AMlinkUsing timer to refresh a grid
75guest84.170.187.24025nk0uiJun 19, 2013 12:49:13 PMlinkDropFile
2hswain115.111.247.781pnne47Jun 19, 2013 9:59:52 AMlinkAnother new ZK fiddle
1hswain115.111.247.781pnne47Jun 19, 2013 9:59:32 AMlinkdropupload
2hswain115.111.247.787e9l82Jun 19, 2013 8:44:25 AMlinkAnother new ZK fiddle
1hswain115.111.247.787e9l82Jun 19, 2013 8:22:51 AMlinkA sample for using Event queue to talk with other include
3guest190.158.12.18pn0126Jun 19, 2013 3:49:13 AMlinkListbox more than one column span
4guest46.252.138.242rn11g3Jun 18, 2013 10:03:58 AMlinkBreak line in label manually
4guest175.143.101.1091n2c0olJun 18, 2013 9:32:19 AMlinkGrid checkbox
2guest176.30.147.801i8ekefAug 18, 2012 7:55:00 PMlinkresources
index.zulzul<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<zk>
<window id="win" apply="pkg$.TestComposer">
<grid id="mgrid" model="@{win$composer.allClinicalSites}" width="300px">
<columns>
<column>
<checkbox id="selectedAllCheckBox" label="Select All"/>
</column>
</columns>
<rows>
<row self="@{each=clinicalSites}">
<checkbox label="@{clinicalSites.name}" forward="onCheck=onModifySelectedList"/>
</row>
</rows>
</grid>
<button id="updateBtn" label="Update" />
<label id="msg"/>
</window>
</zk> TestComposer.javajava
import java.util.*;
import org.zkoss.zk.ui.*;
import org.zkoss.zk.ui.event.*;
import org.zkoss.zk.ui.util.*;
import org.zkoss.zk.ui.ext.*;
import org.zkoss.zk.au.*;
import org.zkoss.zk.au.out.*;
import org.zkoss.zul.*;
public class TestComposer extends GenericForwardComposer{
private List<Product> clinicalSites;
private List<Checkbox> selectedCheckboxs;
private Label msg;
private Grid mgrid;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
selectedCheckboxs = new ArrayList<Checkbox>();
clinicalSites = new ArrayList<Product>();
int num = 10;
for (int i = 0; i < num; i++) {
clinicalSites.add(new Product("item" + i));
}
}
public void onModifySelectedList(ForwardEvent event){
Checkbox checkbox = (Checkbox) event.getOrigin().getTarget();
if (checkbox.isChecked())
selectedCheckboxs.add(checkbox);
else selectedCheckboxs.remove(checkbox);
}
public void onClick$updateBtn() {
StringBuilder sb = new StringBuilder();
for (Checkbox checkbox : selectedCheckboxs) {
sb.append(checkbox.getLabel());
sb.append(", ");
}
if (selectedCheckboxs.size() > 0){
int length = sb.length();
sb.replace(length - 2, length, "");
}
msg.setValue(sb.toString());
}
public List<Product> getAllClinicalSites(){
return clinicalSites;
}
public class Product{
private String _name;
public Product(String name) {
super();
this._name = name;
}
public void setName(String name) {
this._name = name;
}
public String getName() {
return _name;
}
}
public void onCheck$selectedAllCheckBox(CheckEvent e){
List components = mgrid.getRows().getChildren();
for(Object obj:components){
Row comp = (Row) obj;
Checkbox ck = (Checkbox) comp.getChildren().get(0);
ck.setChecked(e.isChecked());
}
}
}