New Features of ZK 8.0.0"

From Documentation
Line 29: Line 29:
  
 
==New Operators==
 
==New Operators==
 +
 +
===String Concatenation===
 +
 +
String concatenation has been introduced to make it easy to construct strings within EL expressions. The following code snippet demonstrates how to do so.
 +
 +
<source lang="xml">
 +
<label value="@load(('Hi, ' += vm.firstname += ' ' += vm.lastname))" />
 +
</source>
 +
 +
===Assignment and Semicolons===
 +
 +
Both assignment and semicolon operators are now implemented. Below shows an example of both being used.
 +
 +
<source lang="xml">
 +
<label value="@load((incr = x -> x + 1; incr(5)))" />
 +
</source>
 +
 +
The assignment operator in this instance assigns a lambda function to incr which takes x, increments by 1 and then returns it.
 +
 +
<source lang="xml">
 +
incr = x -> x + 1
 +
</source>
 +
 +
By using the ';' operator it evaluates the left hand side first, thus creating a lambda function incr, as previously discussed. Then evaluates and returns the right hand side. So in the following case:
 +
 +
<source lang="xml">
 +
<label value="@load((incr = x -> x + 1; incr(5)))" />
 +
</source>
 +
 +
The value assigned to the label would be 6, as the lambda function is first evaluated and assigned to incr, then the incr(5) call is evaluated leading to a return value of 6.
  
 
==Lambda Expressions==
 
==Lambda Expressions==

Revision as of 08:19, 7 May 2015

DocumentationSmall Talks2015MayNew Features of ZK 8.0.0
New Features of ZK 8.0.0

Author
Timothy Clare, Potix Corporation
Date
May, 2015
Version
ZK 8.0.0


Introduction

The ZK team is proud to announce the release of ZK 8!

ZK 8's main focus was on improving


Download and Demo





Supports Expression Language 3

introduce the new generation expression language of Java EE 7 – Expression Language 3 (EL 3) into ZK 8 so we can do more complicated and more powerful things with the newer expression language. There are many new features in EL 3 such as new operators, lambda expressions and collection operations. For more information on EL3 please take a look at the specification, JSR-341.

New Operators

String Concatenation

String concatenation has been introduced to make it easy to construct strings within EL expressions. The following code snippet demonstrates how to do so.

<label value="@load(('Hi, ' += vm.firstname += ' ' += vm.lastname))" />

Assignment and Semicolons

Both assignment and semicolon operators are now implemented. Below shows an example of both being used.

<label value="@load((incr = x -> x + 1; incr(5)))" />

The assignment operator in this instance assigns a lambda function to incr which takes x, increments by 1 and then returns it.

incr = x -> x + 1

By using the ';' operator it evaluates the left hand side first, thus creating a lambda function incr, as previously discussed. Then evaluates and returns the right hand side. So in the following case:

<label value="@load((incr = x -> x + 1; incr(5)))" />

The value assigned to the label would be 6, as the lambda function is first evaluated and assigned to incr, then the incr(5) call is evaluated leading to a return value of 6.

Lambda Expressions

Collection Operations

Major MVVM Enhancements

SmartNotifyChange

ViewModel properties are accessible at the client

Command and Global are supported on the client

Client callback after trigger is supported

BindingParam annotation supports converting from JSON to POJO automatically

Children binding supports list model

FormattedTimeConverter introduced

New components & enhancements

Lightweight rich editor

Timepicker Component

Scrollview component

Shadow Elements

Page scope template

Parser supports disorder template tag

Support a shadow element concept for Databinding or EL expressions

Support client attribute data handler

Font Awesome upgrade

Introduced Danish language support

Comments



Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.