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 :
Criterion Prototype Again
76DavidTRegenstrief134.68.31.22712rfh30May 21, 2013 9:36:27 PMlinkDefaultSelectionRadio
55DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:20:40 PMlinkDefaultSelectionRadio
54DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:18:37 PMlinkDefaultSelectionRadio
53DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:17:56 PMlinkDefaultSelectionRadio
52DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:17:19 PMlinkDefaultSelectionRadio
51DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:16:51 PMlinkDefaultSelectionRadio
50DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:14:37 PMlinkDefaultSelectionRadio
49DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:14:03 PMlinkDefaultSelectionRadio
48DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:13:11 PMlinkDefaultSelectionRadio
47DavidTRegenstrief134.68.31.227abdpqmMay 21, 2013 9:08:49 PMlinkA sample for desktop level EventQueue
3guest59.115.101.1091i0u4nlJul 2, 2012 5:24:15 AMlinkresources
index.zulzul<?page title="Include talk by event queue sample" ?>
<zk>
<vlayout>
<groupbox >
<caption label="Include.zul" />
<include src="include.zul" />
</groupbox>
<groupbox >
<caption label="Include2.zul" />
<include src="include2.zul" />
</groupbox>
</vlayout>
</zk>
include.zulzul<?page title="Include talk by event queue sample - include1 " ?>
<zk>
<div apply="pkg$.Include1Composer">
<div>
<zscript>
Date d = new Date();
</zscript>
Last Invalidate:${d}
</div>
<textbox id="msg" value="test" />
<button id="btn" label="按我傳送訊息給Include2" />
</div>
</zk>
include2.zulzul<?page title="Include talk by event queue sample - include2 " ?>
<zk>
<div apply="pkg$.Include2Composer">
<div>
<zscript>
Date d = new Date();
</zscript>
Last Invalidate:${d}
</div>
從Include1收到的字串:<label id="lbl" />
</div>
</zk>
Include1Composer.javajava
import pkg$.consts.MyConsts;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventQueue;
import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Textbox;
public class Include1Composer extends GenericForwardComposer {
private Textbox msg;
/*
* 建立名字是"connection" 的事件集 (EventQueue),所有註冊這名字的事件集將能互相傳訊。
*
*
* 注意這裡我們使用Desktop 層級的事件集,只有「同一個Desktop」的EventQueue會收到,
* 不同使用者或者不同頁面的事件集彼此不會互相影響。
*
* 如果我們是用全域層級(Application scope) 的,那就會有影響。
*
* 更多資料參考
* http://books.zkoss.org/wiki/ZK_Developer's_Reference/Event_Handling/Event_Queues
*/
EventQueue qe = EventQueues.lookup(MyConsts.EVENTQUEUE_CONNECTION, true);
public void onClick$btn(Event e) {
//發事件通知另一個include
//特別注意這裡第三個參數是 data , 接收方可以透過 event.getData() 取得
//它是物件型態,所以理論上可以傳遞任意物件,
//如果你要傳遞多物件,可以考慮用 Map/List 包裝過再傳輸。
qe.publish(new Event(MyConsts.EVENT_MESSAGE_1,null,msg.getValue()));
}
}
Include2Composer.javajava
import pkg$.consts.MyConsts;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.EventQueue;
import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
public class Include2Composer extends GenericForwardComposer{
private Label lbl;
/*
* 建立名字是"connection" 的事件集 (EventQueue),所有註冊這名字的事件集將能互相傳訊。
*
*
* 注意這裡我們使用Desktop 層級的事件集,只有「同一個Desktop」的EventQueue會收到,
* 不同使用者或者不同頁面的事件集彼此不會互相影響。
*
* 如果我們是用全域層級(Application scope) 的,那就會有影響。
*
* 更多資料參考
* http://books.zkoss.org/wiki/ZK_Developer's_Reference/Event_Handling/Event_Queues
*/
private EventQueue qe= EventQueues.lookup(MyConsts.EVENT_MESSAGE_1,true);
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
//註冊特定事件來對頁面進行操作
qe.subscribe(new EventListener() {
public void onEvent(Event event) throws Exception {
//如果多事件的話,得判斷一下事件名稱,因為只要發給這個event queue 的事件,
//所有 subcriber 都會收到。
if(MyConsts.EVENT_MESSAGE_1.equals(event.getName())){
//從include1送過來的
String message = (String) event.getData();
lbl.setValue(message);
}
}
});
}
}
MyConsts.javajavapublic class MyConsts {
public final static String EVENTQUEUE_CONNECTION = "connection";
public final static String EVENT_MESSAGE_1 = "sendMessage1";
}