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 :
Using 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 AMlinkA master list using a modal dialog to edit details.
15guest93.62.235.20828jhc26Jun 18, 2013 8:45:11 AMlinkPass parameter between parent and child composer
1guest80.85.196.24opfbghJun 18, 2013 8:19:41 AMlinksearch and filter by MVVM
1vincentjian220.135.202.1402un9vk5Apr 25, 2012 5:29:45 AMlinkresources
index.zulzul<zk>
<window title="Hello World!!" border="normal" width="800px" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.FilterVM')">
Item Filter: <textbox value="@load(vm.filter) @save(vm.filter, before='doSearch')" onChange="@command('doSearch')" instant="true"/>
<listbox model="@load(vm.items)" width="100%" height="200px">
<listhead>
<listheader label="Name" align="center" />
</listhead>
<template name="model" var="item">
<listitem>
<listcell label="@load(item.name)" />
</listitem>
</template>
</listbox>
</window>
</zk>FilterVM.javajavaimport java.util.ArrayList;
import java.util.List;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.NotifyChange;
import org.zkoss.zul.ListModelList;
public class FilterVM {
private String filter;
private ListModelList<Item> items;
public class Item {
private String name;
public Item(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public String getFilter() {
return filter;
}
public ListModelList<Item> getItems() {
if(items == null) {
items = new ListModelList<Item>(getAllItems());
}
return items;
}
@NotifyChange
public void setFilter(String filter) {
this.filter = filter;
}
@NotifyChange("items")
@Command
public void doSearch() {
System.out.println();
items.clear();
List<Item> allItems = getAllItems();
if(filter == null || "".equals(filter)) {
items.addAll(allItems);
} else {
for(Item item : allItems) {
if(item.getName().toLowerCase().indexOf(filter.toLowerCase()) >= 0) {
items.add(item);
}
}
}
}
private List<Item> getAllItems() {
List<Item> items = new ArrayList<Item>();
items.add(new Item("David"));
items.add(new Item("Tom"));
items.add(new Item("Tim"));
items.add(new Item("Dove"));
items.add(new Item("John"));
items.add(new Item("Mary"));
items.add(new Item("Maria"));
return items;
}
}