New Features of ZK 6.5.1
Timothy Clare, Potix Corporation
December 05, 2012
ZK 6.5.1
Introduction
ZK 6.5.1 concentrates on fixing bugs and introducing a few new features including a default command for MVVM, page visibility with HTML 5 API and others.
ZK 6.5 series focuses on taking developers to achieve real device transparency in one codebase and component set, exploring the area of combined desktop & tablet UI and touch experiences. Introducing responsive design and responsive components to always fit your device screen resolution and tablet-specific user interaction methods such as swiping and device orientation detection which are done automatically to save developers time, effort and to increase massive productivity.
The Default Command for MVVM
- Available for ZK:
ZK 6.5.1 brings a default command for MVVM. When a binder receives a command, it starts to find ViewModel's command methods by matching its name. If the binder cannot find a matched method, it invokes default command method.
Assume that there are only two command methos in the below ViewModel. If we trigger a command "exit", a binder invokes the default command method defaultAction() because it cannot find a command method named "exit".
public class OrderVM {
@Command
public void newOrder(){
...
}
@DefaultCommand
public void defaultAction(){
...
}
}
Control Page visibility with HTML 5 API in ZK
- Available for ZK:
In order to develop power and CPU efficient web applications, W3C publishes a specification named Page Visibility in HTML 5 which defines a means for site developers to programmatically determine the current visibility state of the page. In this specification, there are two attributes defined: hidden and visibilityState, where hidden is a boolean value representing whether the current page is visible or not and visibilityState represents that the current page have four states: hidden, visible, prerender, and unloaded.
In ZK 6.5.1, the API with onVisibilityChange event was implemented which provides the ability to find out when a page is visible or hidden. This has a lot of benefit as it enables saving of CPU cycles as well as bandwidth. The following is a very simple example:
<window title="window" border="normal">
<attribute name="onVisibilityChange">
if (!event.isHidden())
lbl.setValue("Welcome back");
</attribute>
<label id="lbl"></label>
</window>
For more information please check the blog post here and the ZK Developer's Reference.
Comet Server push support
- Available for ZK:
The visibility functionality has also been extended to comet server push to reduce the server loading by default.
Messagebox without buttons
- Available for ZK:
With ZK 6.5.1 if you'd like to show a non-buttons dialog, you can use Messagebox.show(String, Button[], EventListener listener) with an empty array as follows.
Messagebox.show("Cancel the operation?",
new Messagebox.Button[0], null);
This messagebox will show without any buttons.
DefaultTreeNode - empty node now can be treated as a leaf node
- Available for ZK:
In ZK 6.5.1 DefaultTreeModel provides a boolean argument to its constructor for configuring to treat the zero size of children node as a leaf node.
//@param emptyChildAsLeaf whether to treat the zero size of children node as a leaf node.
DefaultTreeModel model2 = new DefaultTreeModel(root, true);
For more information please refer to ZK's Developer's Reference.
Download & other resources
Comments
Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License. |