Spry 1.4 Released!

    December 18, 2006

The site still says 1.3, but you can now download Spry 1.4.

I’ll have some examples later on.

Some folks are getting the wrong zip. If you do, just give it an hour.

Straight from the changelist here are the updates:

Changes for Spry PreRelease 1.4 – 2006/12/14


  • Added function Spry.Utils.serializeObject() for serializing a JS Object into JSON format.
  • Added Spry.XML.nodeToObject() and Spry.XML.documentToObject() utility methods which allow developers to access XML data as JS properties on an object in a manner which is similar to E4X.
  • Added Spry.Utils.updateContent() for dynamically loading an HTML fragment into an element.
  • Added Spry.Utils.setInnerHTML() for setting the innerHTML of an element and executing any scripts within the content string. This method is now used by Spry regions when regenerating their content.
  • Added support for mapping a region state name to another state name. This can be useful for overriding the built-in states, like “ready”, “loading”, and “error”, so that they use markup from a custom state when they fire.
  • Added support for more attributes:

            – spry:even – Conditionally adds the user specified CSS class name to an element based on the current row number used at the time that element was re-generated.

            – spry:odd – Conditionally adds the user specified CSS class name to an element based on the current row number used at the time that element was re-generated.

            – spry:setrow – Attaches a non-destructive onclick handler that sets the current row by row ID.

            – spry:setrownumber – Attaches a non-destructive onclick handler that sets the current row by row number.

            – spry:sort – Attaches a non-destructive onclick handler that sorts a specific data set based on columns specified by the user.

            – spry:readystate – Maps the “ready” state name to the name specified in its value.

            – spry:errorstate – Maps the “error” state name to the name specified in its value.

            – spry:loadingstate – Maps the “loading” state name to the name specified in its value.

  • Added code to report and error when nested regions and detail regions are detected.
  • Added new methods to the DataSet API:

            – getRowCount()

            – getRowByID()

            – getRowByRowNumber()

            – findRowsWithColumnValues()

  • Effects

  • Minor updates of documentation (effects_api and effects_coding, especially of the allowed elements to which the effects can be applied to).
  • Fixed bugs:
            – GrowShrink effect: if border is set, width&height style doesn’t get reset to the original value after you toggled the target element

            – GrowShrink effect: text size inside the target element is alternated after the effect has been finished

            – Slide and Blind effect: Scrollbar disappears if overflow:scroll is set and you toggle the element

            – GrowShrink effect: nested image elements doesn’t grow if you grow the target element

            – Slide effect: Text inside sliding element doesn’t appear once you toggle the effect (IE 7 only)

            – Shake effect: doesn’t work perperly in Opera 9.0

            – AppearFade effect: not working for content of a <div> inside a <td> (IE only)

  • new feature:
            – GrowShrink effect: added options ‘referHeight’ and ‘growCenter’
  • IE 7 related fixes also take effect on Windows Vista (not only on XP)
  • new feature:

    Slide effect: added option ‘horizontal’ to allow horizontal sliding

  • Slightly updated documentation to reflect new slide option
  • Simplified cluster construction: cluster now is an effect, too, which accepts setup and finish callbacks as option arguments of its constructor
  • Base effects (like Move, Size, etc.) can be called without from argument. Instead of passing element, fromPos, toPos, options as arguments, the effects can be called with element, toPos, options. The fromPos is calculated on the fly based on the current position.
  • AppearFade, Blind, GrowShrink, Slide and Squish effects now can be triggered for initially invisible elements (‘display:none’ or ‘visibility:hidden’)
  • Widgets

  • Added Menu Bar widget
  • Added Tabbed Panels widget
  • Added Collapsible Panel widget
  • Added Form Validation Widgets

            – Check Box

            – Text Area

            – Text Field

            – Select

  • Accordion:

            – Added support for variable height panels.

            – Added some new constructor options:

                    – useFixedHeightPanels – This value is true by default. If false allows for variable height panels.

                    – fixedPanelHeight – Number of pixels to use as the height of each panel when animating. By default this is the same as the first open panel.

                    – duration – Number of milliseconds it takes to open/close a panel. Default is 500 msecs.

            – Fixed bug that prevented panels from animating properly when the accordion started out with a display:none style.

            – Removed addNewPanel(), getNewPanelSnippet(), getNewAccordionSnippet(), and getNewAccordionConstructorSnippet() methods. They don’t work cross-browser, and should’ve never seen the light of day.

  • Docs

  • Added overview for Tabbed Panels widget.
  • Added overview for Collapsible Panel widget.
  • Added overview docs for each Form widget
  • Demos

  • Gallery

            – Switch from using an interval timer to manually firing off the slide show timer after each image loads. This will allow images loading over slow connections to completely load.

  • Products

            – index.html to use spry:sort and spry:setrow.

            – Use a spry:choose attribute to show/preserve the currently selected product on initial load and after a sort.

  • RSS Reader

            – Modified index.{html,cfm,php} to use spry:setrow.

  • Added Form Validation demo.
  • Samples

  • Added sample for Tabbed Panels widget.
  • Added sample for Collapsible Panel widget.
  • Added samples for 4 Form widgets.
  • Moved data set and region examples to the samples/data_region folder.
  • Changed Effects sample files to use standard samples.css file.
  • Added a samples/utils folder with samples of Spry utility functions.
  • Released a query-to-XML sample page that shows how to convert dynamic data into XML.
  • Added to EvenOddRowSample.html to include spry:even and spry:odd.
  • Added SprySetRowSample.html.
  • Modified the AccordionSample:

    Added sample for changing the duration of animations.

    Modified variable height accordion sample to use animation.
    Added a style for spans used as content panels so that they animate properly.

  • Added SetCurrentRowByValueSample.html to show how to select a row based on some column values.
  • Added StateMappingSample.html to show how to map the built-in region states to your own custom states.
  • Comments

    Add to Del.icio.us | Digg | Reddit | Furl

    Bookmark WebProNews:

    Raymond Camden, ray@camdenfamily.com

    Raymond Camden is Vice President of Technology for roundpeg, Inc. A long
    time ColdFusion user, Raymond has worked on numerous ColdFusion books
    and is the creator of many of the most popular ColdFusion community web
    sites. He is an Adobe Community Expert, user group manager, and the
    proud father of three little bundles of joy.