ZK 5.0.8 release notes
Released on Aug 31, 2011.
ZK 5.0.8 is a maintenance release focusing on fixing bugs with introductions to a few new features including an upgrade to support JasperReports 4, an introduction to a new databinding composer, locale improvements for components and others.
Getting Simpler and Richer
- Please see the New Features for more information!
- If you would like to upgrade from an older version the upgrade notes are available here!
Feature Updates
-
120+ off-the-shelf Ajax components
-
Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, chart,
hbox, vbox, window, slider, paging, audio, image, timer, include, iframe...
-
Drag-and-drop supported by all components, such that users can drag
components and drop them to any other or particular set of components.
-
Context menus and customizable tooltips supported by all components,
such that a menu or any popup appears when user click, right-click or
move the mouse over a component.
-
Customizable sorting of listbox, grid and children of any component
with 100% Java codes (
java.lang.Comparator ).
-
Auto-completion for combobox.
-
Load on demand with writing Java codes.
-
Live data for listbox.
-
Grids, listboxes and trees with sizable columns.
-
All components are cloneable and serializable.
-
Validation and formatting for any input components, such as regular
expression and
$#,##0 .
-
100% Java API of Google Maps,
CKeditor,
and Timeline components.
-
Event-driven, server-centric model
-
Ajax requests, application notification, and server push are all managed as events
-
Event Queue shields developers from the complexity of Ajax and server push, such as multi-thread programming
-
All events are processed at the server. No hurdle to communicate between clients
and servers.
-
All events are synchronized. No racing condition to worry about.
-
ZK User-interface Markup Language (ZUML).
-
Rich user interface could be designed in ZUML as simple as authoring
HTML pages.
- Powerful yet intuitive control flow by the
if , unless and forEach attribute.
-
Scripting in EL expressions and your favorite scripting languages,
include but not limited to Java,
JavaScript,
Ruby and Groovy.
-
Hot changes and updates without restarting your Web applications.
-
Annotations that allow a page to access database with zero Java codes.
-
Browser history management.
-
Add states to browser's back button history. Then, users can bookmark
and use the back and forward button to navigate different
states of the same ZK desktop.
-
Simple yet boundless component model.
-
POJO components supporting interfaces and clustering. Easy to instantiate and manipulate directly with pure Java,
or injected and managed by an AOP framework, such as Spring
-
Macro components. Develope full-featured new component
by using other ZUML pages.
-
Inheritable customization. Developing a new component by extending
existent components.
-
Seamlessly and easily to encapsulate pure-client components as ZK
components with 100% Java API.
-
Customizing components with pre-compiled Java classes, or by scripting in
your favorite scripting languages,
include but not limited to Java,
JavaScript,
Ruby and Groovy.
The choice is yours.
-
Simple yet flexible threading model.
-
Thread-safe component handling.
-
True server-side Modal dialog.
-
Suspend and resume event listeners freely.
-
100% Customizable User-Interface factory.
-
Loading ZUML pages not only from Web contents but also any repository
such as database.
-
Customizing the features of sessions, desktops and pages.
What's New
- New Features Tracker
- ZK-214: Add a databinding composer instead of initiator
- 3316591: Allow user to specify error-box position
- 3326788: A way to name the composer GenericAutowireComposer
- ZK-250: Support <?style?> to generate CSS directly without using a component
- 2971889: Way to notify server of JS error
- 3306718: Treeitem allows draggable/droppable (in addion to treerow)
- 3287044: decimalbox/intbox/longbox/doublebox/doublespiner/spinner allows users to specify locale
- 3309539: Timebox and Datebox support different language for different locale
- 3310927: ZK JasperReport support JasperReports 4
- 3315689: Optimize the HtmlMacroComponent
- 3323594: Render on Demand for Grid and Listbox supports setInitSize
- 3327013: A way to log message to the client
- 3355806: Feature Update: custom-attributes shall be allowed to specify page's attrs (without specifying the scope attribute explicity)
- 3307322: Control Keys support backspace
- 3326111: A way to specify fileSizeThreshold for fileupload in zk.xml
- ZK-274: A way to prevent the developers from using zscript
- ZK-310: Support Clients.resize(wgt) to force the client to re-calculate the size, such as hflex/vflex
- ZK-230: org.zkoss.zkplus.embed.Renders provides an option to control whether to generate addtion DOM element for the page
- ZK-240: Optimize the memory footprint of Cell/Listcell/Treecell
- ZK-248: System-level initiator shall be applied to richlet too
- ZK-219: Update zk.Event documentation
- ZK-287: The event instance shall be passed to the callback event listener of EventQueue
- ZK-295: Animation effect of Borderlayout can be configured
- ZK-78: A better Hungarian message file
- ZK-348: iZUML shall use #{} instead of ${} so it is easy to use in a ZUML or JSP page
- Bugs fixed
- 3301375: native component in vbox stretch align show javascript error
- 3303684: Panel sizable has incorrect moving constraint
- 3301517: Double spinner show 0.000000000001
- 3304408: Listbox[mold=select], onChange event not fired in IE6
- 2973303: listbox mold select and selectedIndex -1
- 3306079: Spinner/Doublespinner has unnecessary methods
- 3002530: glitches with autopaging and renderdefer
- 3306824: NullPointer when combobox's model has null
- 3304877: Upload fail when the component with autodisable
- 3308335: Fail to dynamically change the roundingMode for subclass...
- 3309174: Remove items from the model of a non-rod grid cause error
- 3309256: Datebox and Timebox with long format will display wrong
- 3306149: Cannot remove the latest element in grid model (grid in rod)
- 3309632: Upload may incorrectly terminate
- 3307255: Panel in Portallayout missing top and bottom in IE7
- 3310470: Columnlayout does not work with vflex
- 3310055: Timebox issue with daylight saving timezone
- 3309583: Auxheader HTML Error
- 3315594: Vflex fail with a window contain a listbox with rows
- 3317170: Datebox without rod render a incorrect dom (FF3.6 only)
- 3322903: onTimer may cancel onClick request
- 3322892: emptyMessage fail when Grid has height
- 3309557: Rod render the empty content with listbox
- 3322909: emptyMessage fail when Listbox has height
- 3322970: Listhead checkmark state is not synchronized
- 3310020: init(SCfg) of DhtmlLayoutS. breaks contract of GenericSrvlet
- 3307376: The datebox shall fire onError after the error is cleared.
- 3322795: double spinner weird action
- 3322816: Doublespinner cannot accept empty value
- 3306850: doublespinner has weird actions
- 3303770: WrongValueException in Grid with paging mold
- 3314014: Separator bar not showing in IE6
- 3315668: doModal Window sometimes can't close with a cluster weblogic
- 3340252: Set vflex to cell in Vbox cause js error
- 3336745: getBoundingClientRect cause error on IE/FF
- 3323593: Timebox with long format shows meanless "z"
- 3314513: Datebox validate fail with different locale
- 3317729: Textbox with hflex="1" shall occupied column's width (IE)
- 3312936: Panel vflex issue (IE6/7)
- 3309193: Chrome returns wrong margin value on InputElement
- 3310406: ztag selector throws error when mounting
- 3339315: Mesh Element with hflex min causes zero width
- 3316035: Grid with sizedByContent and hflex:min display wrong
- 3345636: Chrome, Set hflex="1" to Datebox do not align with Textbox
- 3309975: Textbox in a draggable component get selection while focus
- 3310017: The textbox's cursor position cannot be changed
- 3313028: Grid hflex fail while the label in a div with FF4
- 3330762: DoubleSpinner's ClassCastException on value get
- 3348943: ZK JPA cause Exception
- 3316030: Column with hflex:min, but it is not real displayed as min
- 3325041: doublespinner can't type in floating number
- 3316543: Only load the first property file
- 3304954: HoverImage doesn't show up in menus
- 3340841: Listitem doesn't show selection if disabled
- 3316665: setVflex to Window calculate a wrong height
- 3306729: vflex of listbox not work well on IE6
- 3310051: Listbox with hflex cannot shorten its width on IE6
- 3301498: Alignment of rows and header broken
- 3357475: Grid with hflex min should imply default header hflex
- 3303877: IE6 only, vflex fail with tabbox
- 3305038: Fileupload.get() cause javascript error
- 3353121: Grid in Tabbox vflex issue, IE7 only
- 3303872: IE8 only, tabpanel disappear after hide then show
- 3303874: IE7 only, the scroll bar do not appear in the tabpanel
- 3306835: can not drag image into listbox on IE9
- 3343388: Set hflex="min" to Groupbox fail
- 3353521: Window render Caption in a wrong place
- 3357573: child in the groupbox cannot resize correctly
- 3345912: IE6 only, use Cell in Grid,it appears a strange line
- 3356022: borderlayout and tabpanel bug
- 3355680: hflex fail in combobox while select options
- 3304968: IE9 only, tab will be hide after open then close
- 3362731: IE Rod, use mouse wheel scrol down to end cause js error
- 3309122: ROD issue when use oncreate
- 3317743: Listbox checkmarks don't work as expected in paging mold
- 3365535: Groupbox default mold hflex min may have wrong size
- 3300935: (ipad)Tooltip shall not appear while taps on a component
- 3314143: Treeitem in a close dot tree does not render correctly
- 3306281: onClick in Flash with IE not working
- 3343001: IE6 7 only, Tree will not increase height when open treeitem
- 3352909: Listbox ROD will not render item in a correct position
- 3354086: Model attribute will not accept a ListModel
- 3343077: IE only, column of Grid and Tree do not sync with scroll bar
- 3316103: InaccessibleWidgetBlockService wrongly blocks Combobox
- 3357641: listbox scroll bar position issue if ROD is true
- 3358505: ZK EE with native failed to invalidate (JS error)
- 3327522: Visible property for borderlayout panels (west, east, etc)
- 3337441: Firefox Listbox Multiselect
- 3363687: Window onCreate fired twice for Execution#sendRedirect()
- ZK-210: Style Tag Ignored in IE6/7/8
- ZK-223: Fine tune ZKThemes and sandbox
- ZK-200: Outside Window border disappear when defer including
- ZK-215: Combobox options width failed in IE
- ZK-56: setSelectedIndex not scroll the selectedItem
- ZK-232: Server push fail in cluster environment
- ZK-159: Hflex fail with nest container
- ZK-182: Header of grid scroll fail after remove the Frozen
- ZK-163: The Flashchart didn't compatible with jre / jdk 1.4.x
- ZK-195: Tree with vflex causes wrong wd in another tree w/ scrollbar
- ZK-171: Listbox/Grid columns hflex="1" not correct with hflex="min"
- ZK-206: Set Hflex="min" to listheader fail, FF5 IE6,7
- ZK-198: Splitter issue with double Borderlayout
- ZK-190: Change style of div in border layout cause error of style
- ZK-236: Borderlayout North/South failed to concern caption height
- ZK-238: Grid with frozen, scrolled then delete frozen, some columns is hidden
- ZK-221: problem with events in firefox 4.x and up
- ZK-241: Hflex fail with grid in grid case
- ZK-244: window cannot maximize when caption changed
- ZK-239: vlayout inner padding issue
- ZK-261: Panelchildren fail to serialize in Panel
- ZK-242: Set postion to window fail with Firefox
- ZK-267: DelegatingVariableResolver cannot be serialize
- ZK-266: Sort call to model not receiving the right parameters
- ZK-269: If listbox with an empty content, the head's size in Opera is wrong
- ZK-281: Hlayout.setSpacing with null or an empty string shall mean auto
- ZK-259: Using custom paging component in grid when autopaging is used
- ZK-275: Window render Caption in a wrong place
- ZK-286: Vlayout shall not appear horizontal scroll bar (hflex)
- ZK-294: < not shown up if it is enclosed in a ZHTML component
- ZK-272: Place component in auxheader is not align with headers'
- ZK-299: Detail component should not initial the width (18px) by default, if the theme is not in classic-blue
- ZK-297: Combox's onSelect will keep to fire when invalidate the component
- ZK-300: Paging mold with listbox cannot change its mold by configuration
- ZK-282: Menuitem with popup is not always worked on IE6 only
- ZK-298: vertical tabbox height is not correct
- ZK-301: Invalidate Borderlayout while west opening cause javascript error
- ZK-306: DefaultTreeModel does not properly synchronize deselection state
- ZK-307: Center fires redudant onSize if borderlayout's isFlex() is true
- ZK-313: Strange behavior of ProgressMeter's setValue
- ZK-58: Desktop.setBookmark does not allow ? character
- ZK-323: Inplace input element may fail when set button visible dynamically
- ZK-343: Frozen column added to Listbox with paging causes problem
- ZK-326: Panelchildren's vflex fail in a model window on IE6
- ZK-338: Timebox cannot auto-change the hour by pressing the arrow icon in zh_TW locale (IE and Webkit only)
- ZK-332: Set disabled to treeitem shall not disable open function
- ZK-337: Disabled Button should not appear pointer cursor
- ZK-355: Listbox's scrollbar position is not currect after invalidate() (zk max only)
- ZK-353: Listbox with listgroup's scrollbar position is not currect after invalidate()
- ZK-352: hflex/vflex wrong calculation with negative leftover size
- ZK-349: Listbox with sizedByContent and hflex="min", the header's size is wrong
|