What's New

QuipuKit 1.5
June 19, 2008

Improvements:
  • New component: Added GraphicText component that allows displaying rotated text (see the documentation).
  • DataTable/TreeTable:
    • Added support for interactive column resizing. See the DataTable or TreeTable documentation.
    • Added support for multiple header/footer rows with grouping columns in DataTable and TreeTable. See the DataTable or TreeTable documentation.
    • Checkbox and selection columns can now be made sortable. Just assign "true" to the "sortable" attribute to make sorting work for these columns.
    • Added attributes for customizing header styles for sortable columns: "sortableHeaderStyle" and "sortableHeaderClass".
    • Added attributes for customizing rollover header styles for sortable columns: "sortableHeaderRolloverStyle" and "sortableHeaderRolloverClass".
  • Chart: CSS declarations in the Chart component now accept all standard color names in "color" attribute.
  • FoldingPanel: Created client API for expanding and collapsing FoldingPanel.
  • DropDownField/SuggestionField: Changed the default footer style for popup list to match the default table footer's style.
  • General: Refactored the JavaScript code for TwoListSelection component to remove the false infection report from NOD32 antivirus.
Fixes:
  • General:
    • Blank page is displayed after using a4j:support from RichFaces 3.2.1 together with QuipuKit.
    • Events are not processed for Ajax4JSF requests with custom state manager.
    • "No AdfRenderingContext" exception when adding quipukit.jar to ADF application.
    • The and tags don't work in Facelets.
  • DataTable/TreeTable:
    • Edited rows data is not saved if input component is not immediate child of the column component.
    • TreeTable hierarchy indents are collapsed when column width is too narrow.
    • DataTable or TreeTable without footers and with empty data and disabled no data message results in error under Mozilla (Facelets, JSF 1.2).
    • home/end key navigation inside of table filter fields doesn't work under Mozilla.
    • NPE when changing the number of dynamic columns in a filtering-enabled table.
    • CheckBoxColumn's rowIndexes and rowDatas attributes cannot be bound simultaneously.
  • TwoListSelection: Can't use a4j:support for custom events.

QuipuKit 1.4.3
April 22, 2008

Improvements:
  • DataTable with JBoss Seam:: Resolved the known issue of not being able to use JBoss Seam's link and button components inside of <q:dataTable>.
Fixes:
  • Calendar: The next month icon jumps when changing selected month.
  • TreeTable:
    • JavaScript error if use the “bodyOddRowStyle”/“bodyOddRowClass” attributes of the TreeTable without sorting.
    • Drop-down list of the “dropDownField” filter is misaligned upon first opening in Firefox 2.0.
  • DataTable:
    • The “bodyOddRowStyle” has a priority over conditional row styles.
    • NullPointerException when the DataTable's “rendered” attribute is modified from other component's valueChangeListener.
    • Pagination button “go to last page” doesn't work in some cases.
  • HintLabel:
    • HintLabel is positioned incorrectly in Liferay 4.3.3 Portal.
    • HintLabel is rendered incorrectly in the HTML table in Opera and Liferay 4.2.2 Portal.
  • PopupLayer: Page can be scrolled endlessly if modal PopupLayer is shown in Mozilla.
  • DateChooser: Values in input field and in calendar are different in some cases.
  • DateChooser/DropDownField: Popup is misaligned in JBoss Portal and Opera 9.
  • TwoListSelection: ValueChangeListener is called when the empty list is submitted for the second time.
  • Compatibility with JBoss Portal Server: There is no teamdev.jsf.portlet.QuipuKitPortlet class in the quipukit.jar.
  • Validation: FloatingIconMessages are positioned incorrectly under Liferay Portal.

QuipuKit 1.4.2
March 12, 2008

Improvements:
  • DataTable/TreeTable: Improved performance of data loading.
Fixes:
  • Ajax:
    • “Non-serializable attribute” exception appears in some configurations with QuipuKit 1.4.
    • Ajax-enabled components disappear after Ajax action in Safari 3.0.4 for Windows.
    • The Ajax progress message does not disappear if exception is thrown from the onajaxend event of <q:ajaxSettings> tag.
  • TreeTable:
    • The TreeTable's header disappears after filtering in Safari 3 for Windows.
    • Some nodes get collapsed after sorting in some cases.
  • DateChooser:
    • Opening the drop-down calendar without changing value fires onchange event.
    • Wrong year shown in the DateChooser with 'MM/dd' pattern and 'en' locale
  • DataTable: Incorrect behavior of the filtering feature after deleting the last row satisfying filter criteria.
  • General: QuipuKit filter does not rethrow servlet exceptions.
  • Compatibility: JavaScript error appears after clicking on a page in a QuipuKit application that uses the Dojo toolkit.
  • Chart: The upperBound property of the <q:numberAxis> tag is set to 1 if the upperBound attribute is not specified but there is a lowerBound attribute.
  • Validation: JavaScript error appears on the page with a global message but without input components.
Other:
  • Created a new demo that demonstrates basic DataTable features.
API Changes:
  • Removed the timeZone attribute of the DateChooser component. Now when the DateChooser's value is saved on the server, the selected date is used and time is set to 00:00:00 in the server time zone.
  • The position property of ChartLegend class was changed from String to teamdev.jsf.component.chart.LegendPosition. This affects your application only if you used Java API directly, and this doesn't need any changes in your JSP/XHTML files.

QuipuKit 1.4.1
February 18, 2008

Improvements:
  • SuggestionField: Improved performance of the DropDownField with client-side suggestion mode with very long suggestion lists.
Fixes:
  • DataTable/TreeTable:
    • Keyboard “repeat” behavior does not work when navigating DataTable/TreeTable in Apple Safari and Opera.
    • Keyboard navigation does not work in Apple Safari 3.
    • Page is scrolled together with row selection in Opera and Mozilla Firefox for Mac OS.
  • TreeTable:
    • The even/odd row styles are not recalculated on client-side or Ajax node folding.
    • Odd/even row styles are applied out of order in some cases when all nodes are preloaded.
    • Exception when quickly Ajax-expanding nodes in TreeTable.
  • DataTable: Page is scrolled by DataTable keyboard pagination in Opera and Mozilla Firefox for Mac OS.
  • SuggestionField: Alert with JavaScript error appears on the SuggestionField pages with JSF Sun Reference implementation 1.2, Facelets and Mozilla Firefox or Apple Safari.
  • Validation: JavaScript error appears in the page with client-side validation but without QuipuKit components.

QuipuKit 1.4
February 08, 2008

Improvements:
  • DataTable/TreeTable:
    • Added an ability to merge several cells in a row (see the DataTable or TreeTable documentation and new TreeTable demo).
    • Extended the ability to customize individual rows and cells. It is now possible to specify events for specific rows and cells as well as contents for specific cells (see the DataTable or TreeTable documentation and new TreeTable demo).
    • Added support for dynamic specification of columns (see the DataTable or TreeTable documentation).
  • General:
    • Added an ability to handle session expiration that takes place during Ajax requests. There are now two default behaviors as well as a way to implement a custom session expiration handler (see the documentation).
    • Added an ability to customize Ajax "Loading" message on a page-wide basis (see the documentation).
    • Improved the way Ajax errors are displayed (see the documentation).
    • QuipuKit now uses the standard version of JFreeChart 1.0.9 instead of the custom modified version.
  • New component: Added LoadBundle component that works with Ajax-enabled components (see the documentation).
  • SuggestionField/DropDownField/Calendar/DateChooser/TwoListSelection: Added “disabled” attribute.
  • HintLabel: Improved performance for the use case when the HintLabel is rendered in each cell of the DataTable.
  • Validation:
    • Improved performance when the client-side validation is used within the DataTable.
    • Added JavaScript functions for clearing client-side validation on the form (see the documentation).
Fixes:
  • Ajax: Performing Ajax requests very quickly sometimes causes javascript errors.
  • HintLabel:
    • The tooltip is positioned incorrectly in the DataTable within scrollable div in Internet Explorer.
    • The tooltip is not rendered if the HintLabel is placed in TreeColumn in Internet Explorer.
  • FoldingPanel:
    • The FoldingPanel is not expanded if it is placed in <f:subview> tag.
    • The FoldingPanel component with loadingMode=“server” is not expanded if it was loaded with Ajax4jsf framework.
  • Compatibility: An “A4j is undefined” JavaScript error appears in QuipuKit application with Facelets and Ajax4jsf 1.1.1.
  • DataTable/TreeTable: Ajax does not work if use non-Latin symbols with Sun Reference Implementation 1.2, Facelets and Mozilla Firefox.
  • DropDownField/SuggetionField: DropDownField and SuggestionField with Ajaxable suggestion mode stop working after typing “,” (comma) symbol.
  • DataTable: NullPointerException if the DataTable component is placed in the component with rendered=“false” and the selection's “rowData” attribute is bound to a constant value.
  • TreeTable: After expanding a node the scroll position is reset to 0 when the TreeTable is placed in the scrollable <div> element in Internet Explorer 6.
  • TabbedPane: TabbedPane component stops working after using the CommandButton component for downloading a file from the server
  • TwoListSelection: Cannot change width of the TwoListSelection's buttons with Sun Reference Implementation 1.2 and Facelets.
  • Validation:
    • Client-side validation does not work after page submission with Sun Reference Implementation 1.1_01 and “server” state saving method.
    • Client-side validation fails for the <t:inputText> components with displayValueOnly attribute set to “true”.
Deprecations:
The following tags and attributes are now declared as deprecated:
  • Row-specific client side event attributes in <q:dataTable> and <q:treeTable> tags, such as rowOnclick, rowOndblclick, etc.
  • The <q:rowStyle> and <q:cellStyle> tags.
If you already use the <q:rowStyle> and <q:cellStyle> tags, the following steps should be made to change them to <q:row> and <q:cell> tags:
  • Rename <q:rowStyle> and <q:cellStyle> tags to <q:row> and <q:cell>, respectively.
  • Enclose all the <q:cell> tags to the <q:row> tags with no additional attributes.
Others: