New Features of ZK 6.5.1

From Documentation
DocumentationSmall Talks2012DecemberNew Features of ZK 6.5.1
New Features of ZK 6.5.1

Author
Timothy Clare, Potix Corporation
Date
December 4, 2012
Version
ZK 6.5.1

The Default Command for MVVM

  • Available for ZK:
  • http://www.zkoss.org/product/zkhttp://www.zkoss.org/whyzk/zkeeVersion ce-pe-ee.png

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:
  • http://www.zkoss.org/product/zkhttp://www.zkoss.org/whyzk/zkeeVersion ce-pe-ee.png

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:
  • http://www.zkoss.org/product/zkhttp://www.zkoss.org/whyzk/zkeeVersion pe-ee.png

The visibility functionality has also been extended to comet server push to reduce the server loading by default.

Messagebox without buttons

  • Available for ZK:
  • http://www.zkoss.org/product/zkhttp://www.zkoss.org/whyzk/zkeeVersion ce-pe-ee.png

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

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.