Release Notes for Fluid Infusion 0.4


  • Upgraded to jQuery 1.2.6 and jQuery UI 1.5.1

API Changes


  • orderChangedCallback([item])
    The orderChangedCallback now takes the optional parameter of the DOM element that was just moved.

jQuery Keyboard Accessibility plugin

  • The orientation towards the DOM of the selectable construction has been inverted - whereas for 0.3 and before, it was invoked on the collection of nodes to be made selectable and their container was passed as an option, for 0.4 it is instead invoked on the container, and the selectable nodes (or else a selector which can select them) is sent in the options structure as the argument. This is a major breaking change that will require every user of selectable to be updated.
  • The selectable construction is now capable of reliably managing keyboard selectability over a set of DOM nodes which can change over its lifetime. The easiest way to manage this is to define them by means of the selectableSelector option, and after performing a DOM manipulation which invalidates this set, to make a call to the refresh() operation on the that object returned from getSelectableContext(). However, the selectables list may also be managed manually by means of physically altering the selectables list attached to the that, and then making a call to that.selectablesUpdated().


  • the Uploader API has not changed, but the Progress sub-component has been completely rewritten:
    • fluid.Progress.init(selector): new function which binds a Progress bar to a DOM element (currently a row element in the Uploader)
    • fluid.Progress.updateProgress(which, percent, text, dontAnimate): replaces fluid.Progress.update

Bug Fixes


  • Improved Keyboard Support: includes FLUID-494, FLUID-660, FLUID-873, FLUID-896, FLUID-920, FLUID-956, FLUID-961, FLUID-978, FLUID-979, FLUID-982, FLUID-986, FLUID-896, FLUID-1004, FLUID-1005, FLUID-1016, FLUID-1024, FLUID-1027, FLUID-1028
  • Improved progress bars and tracking: includes FLUID-555, FLUID-566, FLUID-602, FLUID-605, FLUID-606, FLUID-683, FLUID-689, FLUID-818, FLUID-921
  • FLUID-826: Pausing upload hangs the browser, or causes endless loop
  • FLUID-830: Mulitple uploaders: cancel on one uploader cancels both.
  • FLUID-688: Uploader title bar is the wrong colour, using IE6
  • FLUID-915: Border padding issues with Uploader, using FF
  • FLUID-904: Uploader inside a table element - removing a file from the list causes the uploader to disappear.
  • FLUID-688: no error message when uploading a file that is in the upload queue but has been deleted from the file system.
  • FLUID-610: Upload component blocks client-side access to server-side data

New Functionality

New component: Inline Edit

The Inline Edit component allow users to edit content within the context of their work rather than going to an "edit mode". This is an early release of the Inline Edit. It currently offers single edits of small, single-line fields. Future releases will add undo functionality, handling of multi-line fields, etc.

Preview component: Pager

The pager allow users to break up long lists of items into separate pages. This is a preview of the Pager component. The version in this release is entirely mark-up driven, but future releases will offer additional functionality.


  • New progress bars better integrated in with the Uploader design
  • Added full keyboard support for the File Uploader
  • Added a number of new selectors to make it easier to integrate and customize.

    Added Selector:Default Value
    txtTotalFilesUploaded : ".fluid-uploader-num-uploaded",
    txtTotalBytesUploaded : ".fluid-uploader-bytes-uploaded",
    uploaderFooter : '.fluid-scroller-table-foot',
    fileProgressor: '.file-progress',
    fileProgressText: ".file-progress-text",
    totalProgressor: '.total-progress',
    totalProgressText: ".fluid-scroller-table-foot .footer-total",

  • In the "pop-up" scenario, the file OS browse dialog displays before the Uploader pop-up, and if the user doesn't select any files, the Uploader pop-up will not be displayed.


  • findAncestor a new function returns the first immediate ancestor of an element that passes a test
  • stringTemplate a new function for inserting variables into a string.
    fluid.utils.stringTemplate(template,values); //template: string, values: collection of token keys and values
  • fileSizer function now returns KB and MB depending on the size of the number passed into it.