jQuery UI 1.11.1

Posted on by

The first maintenance release for jQuery UI 1.11 is out. This update brings bug fixes for Core, Widget Factory, Position, Draggable, Droppable, Resizable, Autocomplete, Datepicker, Dialog, Progressbar, Slider, Spinner, Tabs, and the CSS Framework. For the full list of changes, see the changelog. You can download it here:

Download

File Downloads

Git (contains source files, with @VERSION replaced with 1.11.1, base theme only)

Install via bower

  • bower install jquery/jquery-ui#1.11.1

jQuery CDN, powered by MaxCDN

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder

Changelog

See the 1.11 Upgrade Guide for a list of changes that may affect you when upgrading from 1.10.x. For full details on what’s included in this release see the 1.11.1 Changelog.

Thanks

Thanks to all who helped with this release, specifically: Akatsukle, andrewwhitaker, bhiggins, coolphoenix, Felix Nagel, Frederik Elvhage, Goswinus, ixtli, jacklondon, Jacques Perrault, jsonx, Jyoti Deka, Jörn Zaefferer, kamatamadai, kevin.wells, Krinkle, mathrick, Mike Sherov, mizzao, Monika Piotrowicz, patmen, poff, PRISMAY, pxc, r3dqu33n, Rafael Xavier de Souza, rod333, Rodrigo Menezes, Scott González, spjonez, TJ VanToll, Usman Akeju, usmonster, Will Holley, Yermo Lamers.

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first maintenance release for jQuery UI 1.11, feel free to leave a comment below. Thank you.

jQuery UI 1.11.0

Posted on by

We’re proud to announce our latest stable release. jQuery UI 1.11 features a new widget, improved environment support and numerous bug fixes!

New widget

Selectmenu duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. You can see it in action in the default and the custom rendering demos.

AMD Support

jQuery UI now ships with support for AMD in each of its widgets and components. For more information, including examples, see our guide to using jQuery UI with AMD.

Bower Support

jQuery UI now ships with Bower support. For examples, see our guide to using jQuery UI with Bower.

Bug Fixes

59 bugs have been fixed!

Supported jQuery Versions and Browsers

jQuery UI 1.11.0 supports jQuery 1.6 and newer. That’s 25 versions! Multiply that by the number of supported browsers and you’ve got quite a support matrix.

As of this release we are no longer accepting bug reports for IE7 issues. We have also removed IE7 from our testing infrastructure. The IE7 workarounds are still present in the code, but we will remove them for jQuery UI 1.12.

Download

File Downloads

Git (contains source files, with @VERSION replaced with 1.11.0, base theme only)

Install via bower

  • bower install jquery/jquery-ui#1.11.0

jQuery CDN, powered by MaxCDN

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder

Changelog

See the 1.11 Upgrade Guide for a list of changes that may affect you when upgrading from 1.10.x. For full details on what’s included in this release see the 1.11.0 Changelog.

Thanks

Thanks to all who helped with this release, specifically: 00091701, aeltrius, aherbst, Alexander Schmitz, alexandis, alorrorl, Andrei Picus, Anna, aNt1X, ardoramor, badatos, Ben Higgins, BenjaminRH, benshu, benth, bgrins, Bk1, Blaise, blaze34, Brian Grinstead, Brian J. Dowling, Bruno M. Custódio, cburgdorf, cgack, charlietfl, Christian Klammer, cim, cmcnulty, CodeTunnel, Corey Frang, creage, cRz, cyxjqui, Dan Wellman, Daniel DeGroff, darek, Dave Stein, David Hansen, David Petersen, dekajp, dhonn, dnlmzw, dosinovsky, Dylan Barrell, dylanb, dylanpyle, Eric Dahl, Fabrício Matté, Felix Nagel, fnagel, frediani.adrien, Gabriel Schulhof, gaby, Gan Eng Chin, Gbiggs, glebonator, gnarf, Gromsempai, gseguin, guhelouis, gvas, Hancoque, ibleistift, Imants Horsts, incutonez2, j_geronimo, Jacob McCutcheon, JamesKhoury, Jason Moon, Jasper de Groot, jcarlson, johan-ludvigsson-stratsys, joshco, julienw, Jyoti Deka, jzelos, Jörn Zaefferer, kdinev2, kenjiyamamoto, KopiasCsaba, Krinkle, Kris Borchers, kristoffer, lunchtimemama, markoh, mattdeclaire, mdownes, Michael Wiencek, Mike Sherov, mikesherov, MillujQuery, Mohsen Ekhtiari, Monika Piotrowicz, MoonScript, Mottie, mpermana, nbt, NickRandom, nlg, omuleanu, Ondrej Novy, Patrick Stapleton, Pere Orga, petersendidit, phazeii, pierrickrouxel, plumpnation, Rafael Xavier de Souza, raziel057, rdworth, rebecca.tillman, reubenhelms, rkw, Robert Beuligmann, robotdan, Ruslan Yakhyaev, scato.eggen, Scott González, seppo.savolainen, Siebrand Mazeland, sirneb, Stephane Deschamps, Steven Luscher, Suhail Alkowaileet, telensky, thardy, thojon, Thomas Meyer, Timo Tijhof, TJ VanToll, tkhyn, tobio85, Toshi MARUYAMA, Trisha Crowley, tvdeyen, tweakmaista, Vilhjálmur Skúlason, wojes, Woody Gilk, Yermo, Zbigniew Motyka, znarkus, zootius.

The Road Ahead

In parallel to this release we’ve been working on several significant rewrites that will make it into future releases:

  • Datepicker and Globalize: We’re working on a full rewrite of the datepicker widget. The rewrite will feature a far simpler API that will make customizations a lot easier. The rewrite builds on top of the rewritten Globalize library, which builds on top of CLDR, a comprehensive source for globalization data.
  • Interactions: We’re working on a rewrite of our interactions like draggable, on top of pointer events, along with a polyfill to map mouse and touch events to pointer events. This will put the new interactions on an event model that works on all devices.
  • Button: We’re rewriting the button widget to make the theming available without any JavaScript (CSS only), and cleaning up our support of radio and checkbox buttons.
  • Closing the gap to mobile: We’re working with the jQuery Mobile team on multiple widgets to ship widgets from jQuery UI with jQuery Mobile. The tabs widget was the first to make it into a stable jQuery Mobile release.

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first stable release for jQuery UI 1.11.0, feel free to leave a comment below. Thank you.

jQuery UI 1.11.0-beta.2

Posted on by

The second beta release for jQuery UI 1.11 is out. jQuery UI 1.11 features numerous bug fixes, improved environment support, a new widget and simplified download packages! We’ve also updated our download builder to include pre-releases like this one, so you can get a custom download of this beta release.

The big changes:

  • New widget: Selectmenu duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. You can see it in action in the default and the custom rendering demos.
  • AMD Support: jQuery UI now ships with support for AMD in each of its widgets and components. For more information, including examples, see our guide to using jQuery UI with AMD.
  • Bower Support: jQuery UI now ships with Bower support. For examples, see our guide to using jQuery UI with Bower.
  • Discontinued IE7 Support: As of this release we are no longer accepting bug reports for IE7 issues. We have also removed IE7 from our testing infrastructure. The IE7 workarounds are still present in the code, but we will remove them for jQuery UI 1.12.
  • Bug Fixes: 55 bugs have been fixed!
  • Simplified download package: We’ve simplified our quick and custom downloads to only contain the concatenated files.

For a full list of changes in jQuery UI 1.11, see the changelog for 1.11.0-beta.2. And to see what’s coming next, check out our roadmap.

Download

File Downloads

Git (contains source files, base theme only)

Thanks

Thanks to all who helped with this release, specifically: Alexander Schmitz, Andrei Picus, Ben Higgins, Brian Grinstead, Brian J. Dowling, Bruno M. Custódio, Christian Klammer, Corey Frang, Dan Wellman, Daniel DeGroff, Dave Stein, David Hansen, David Petersen, Dylan Barrell, Eric Dahl, Fabrício Matté, Felix Nagel, Gabriel Schulhof, Gan Eng Chin, Imants Horsts, Jacob McCutcheon, Jason Moon, Jasper de Groot, Jyoti Deka, Jörn Zaefferer, Kris Borchers, Michael Wiencek, Mike Sherov, Mohsen Ekhtiari, Monika Piotrowicz, Ondrej Novy, Patrick Stapleton, Pere Orga, Rafael Xavier de Souza, Robert Beuligmann, Ruslan Yakhyaev, Scott González, Siebrand Mazeland, Stephane Deschamps, Steven Luscher, Suhail Alkowaileet, Thomas Meyer, Timo Tijhof, TJ VanToll, Toshi MARUYAMA, Trisha Crowley, Vilhjálmur Skúlason, Woody Gilk, Yermo, Zbigniew Motyka

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first beta release for jQuery UI 1.11, feel free to leave a comment below. Thank you.

jQuery UI 1.10 Release Candidate (RC1)

Posted on by

The first release candidate for jQuery UI 1.10 is out. We landed more bug fixes since our 1.10 beta release, but nothing major. So the big changes to come in 1.10 are still the same:

  • Dialog API redesign and a ton of accessibility updates: This was our main goal for this release. Dialog is now easier to use (fewer (useless) options), avoids a ton of issues thanks for a new approach to stacking and a lot more accessible. When you press a button to open a dialog, then close that dialog, focus will move back to that opening button. Full keyboard control is therefore much easier. Focus handling inside the dialog also got better. Together this makes dialog much more usable in combination with screenreaders. And you get all that while the API stayed pretty much the same.
  • Progressbar API redesign: The one change here is to add support for indeterminate progress bars.
  • We’ve removed the backward compability layers in Accordion, Autocomplete, Effects, Position, Tabs and Widget, reducing the filesize of these components, quite significantly for Tabs. If you’ve upgraded from 1.8 to 1.9 and haven’t updated your usage yet, check out the 1.9 upgrade guide for necessary changes.

For a full list of changes, see the list of 1.10 fixed tickets. You can read more about the API redesigns in a previous blog post. We’re working on a full changelog and upgrade guide for the final release.

jQuery core 1.9.0rc1 was also just released, so grab a copy and double up on your testing!

As mentioned in the Beta release post: One new widget almost made it into this release: Selectmenu. We’re still working on the accessibility side of that and you can expect it in 1.11, which will come as quickly as 1.10.

Download

File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.10.0-rc.1, base theme only)

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first release candidate for jQuery UI 1.10, feel free to leave a comment below. Thank you.

jQuery UI 1.10 Beta

Posted on by

The first beta release for jQuery UI 1.10 is out, barely more than two months after the 1.9 release. Naturally, we’ve focused on specific widgets for this release, along with a usual barrage of bug fixes.

The big changes:

  • Dialog API redesign and a ton of accessibility updates: This was our main goal for this release. Dialog is now easier to use (fewer (useless) options), avoids a ton of issues thanks for a new approach to stacking and a lot more accessible. When you press a button to open a dialog, then close that dialog, focus will move back to that opening button. Full keyboard control is therefore much easier. Focus handling inside the dialog also got better. Together this makes dialog much more usable in combination with screenreaders. And you get all that while the API stayed pretty much the same.
  • Progressbar API redesign: The one change here is to add support for indeterminate progress bars.
  • We’ve removed the backward compability layers in Accordion, Autocomplete, Effects, Position, Tabs and Widget, reducing the filesize of these components, quite significantly for Tabs. If you’ve upgraded from 1.8 to 1.9 and haven’t updated your usage yet, check out the 1.9 upgrade guide for necessary changes.

For a full list of changes, see the list of 1.10 fixed tickets. You can read more about the API redesigns in a previous blog post. We’re working on a full changelog and upgrade guide for the final release.

One new widget almost made it into this release: Selectmenu. We’re still working on the accessibility side of that and you can expect it in 1.11, which will come as quickly as 1.10.

Download

File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.10.0-beta.1, base theme only)

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first beta release for jQuery UI 1.10, feel free to leave a comment below. Thank you.

jQuery UI 1.9.2

Posted on by

The second maintenance release for jQuery UI 1.9 is out. This update brings bug fixes for Accordion, Autocomplete, Button, Datepicker, Dialog, Menu, Tabs, Tooltip and Widget Factory. For the full list of changes, see the changelog. You can download it here:

Download

File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.9.2, base theme only)

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder

Changelog

See the 1.9 Upgrade Guide for a list of changes that may affect you when upgrading from 1.8.x. For full details on what’s included in this release see the 1.9.2 Changelog.

Thanks

Thanks to all who helped with this release, specifically: abacada, acouch, amasniko, Avinash R, AzaToth, BikingGlobetrotter, cgack, cmex, Corey Frang, Cory Gackenheimer, drew.waddell, dsargent, ezyang, fofanafi, forw, frediani.adrien, gigi81, gtr053, jdomnitz, Jörn Zaefferer, Mamen, Mike Sherov, Narretz, omuleanu, petersendidit, rmetayer, Scott González, StefanKern, TJ VanToll, wfsiew

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our second maintenance release for jQuery UI 1.9, feel free to leave a comment below. Thank you.

jQuery UI 1.9.1

Posted on by

The first maintenance release for jQuery UI 1.9 is out. This update brings bug fixes for Accordion, Autocomplete, Button, Datepicker, Dialog, Slider, Spinner, Tabs, Tooltip, Draggable, Resizable, Sortable, Widget Factory, Effects and CSS Framework. For the full list of changes, see the changelog. You can download it here:

Download

File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.9.1, base theme only)

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder

Changelog

See the 1.9 Upgrade Guide for a list of changes that may affect you when upgrading from 1.8.x. For full details on what’s included in this release see the 1.9.1 Changelog.

Thanks

Thanks to all who helped with this release, specifically: 0cis32f, Andrew Couch, arnold.simha, at4u, bchiasson, Benco, bolerao, brendandc, codeRebelBase, colcode, Corey Frang, Corwin, crowcoder, Dale Kocian, Dave Methvin, David Petersen, dittodhole, drew.waddell, dsargent@gmail.com, erethnor, gsmedley, ikarlik, John Chen, josepsanzcamp, Jörn Zaefferer, Kato Kazuyoshi, Klap-in, kvgeorge1, Maciej Mroziński, maenu, maimairel, Mamen, Marc-Andre Lafortune, MarcoVanK, martinkoutny, mattac, Mike Sherov, mike.dormitorio, millepixel, nicola7290, nix, pvipul, Richard D. Worth, sammyhk, Scott González, shnitz, shuoink, skurka, southerd, stefek99, TJ VanToll, tomblench, Trey Hunner, zhizhangchen

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first maintenance release for jQuery UI 1.9, feel free to leave a comment below. Thank you.

jQuery UI 1.9 Beta

Posted on by

The first beta release for jQuery UI 1.9 is out! After eight milestone releases, two hundred fixed tickets, 2,100 commits, and three brand-new widgets we’re looking forward to your feedback and the now close-by final release.

Here’s an overview of the big changes:

  • Autocomplete accessibility updates: We’re now using a live-region to guide screenreader users when using autocomplete, making the widget a lot more accessible.
  • Accordion API redesign and accessibility updates: This also finally addresses the accordion-flicker problem: No more pixel-shifting of content below the accordion during animations.
  • Tabs API redesign and accessibility updates: Tabs are now fully keyboard accesible and make proper use of ARIA attributes.
  • Position API redesign: Along with some redesign we’ve also added new features: You can now use other elements beside window to run collision-detection against, and there’s a “flipfit” mode that combines the two existing modes, which themselve got better. When working with the using callback, you get feedback about the positioning result, allowing you to position flyout arrows or other direction indicators.
  • Lots of new features in the widget factory: The internal API for writing widgets has gotten a lot better. The two most notable new methos: _on lets you deal with events, nicely integrated into the widget instance, and _super lets you call a parent widget’s method of the same name, which makes extending existing widget a breeze.
  • New widget: Menu: Has been around for a while since 1.8, then hidden with the autocomplete file. Its now finally here!
  • New widget: Tooltip: An accessible, event-delegation- supporting tooltip with the option to have any kind of (asynchronous) content show for any element. And its themable, like any other widget.
  • New widget: Spinner: Our second text-input widget, similar to HTML5’s <input type="number">, but giving you much greater control and including full localization support, via Globalize.

For a full list of changes, see the list of 1.9 fixed tickets. You can read more about the API redesigns in a previous blog post. We’re working on a full changelog and upgrade guide for the final release.

Download

File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.9.0-beta.1, base theme only)

Comments

Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our first beta release for jQuery UI 1.9, feel free to leave a comment below. Thank you.

jQuery UI 1.9 Milestone 7 – Accordion

Posted on by

The seventh milestone release for jQuery UI 1.9 is out. As its been seven months since our last milestone release, we’ve got a lot of improvements and bug fixes to share. Most notably, the Accordion widget redesign is done.

What’s a Milestone Release?

A milestone release makes it easier to try out the latest development code of jQuery UI without necessarily having to check out code from GitHub.

With a milestone release you can try out new widgets that are pretty far along (though not yet final) and provide feedback based on released code with a specific version number.

Accordion

The Accordion redesign is now fully implemented. We finally have really solid animations, with no more flickering or jumping of content below. The ARIA implementation also got a lot better. A big thanks goes to Hans Hillen for his contributions.

Menu

Menu now supports other markup than just UL/LI elements. Support for disabled menu items got a lot better, too.

A ton of bug fixes

A lot of components have seen a lot of bug fixes. While we continue to maintain the 1.8 branch, a lot of bugs get only fixed in master. Here are all tickets fixed in 1.9, by component.

Download

You can download the jQuery UI 1.9 Milestone 7 – Accordion release as a zip file or via git:

File Downloads

Git

How to Provide Feedback

wiki page

To help with the testing of the Accordion widget, visit the Accordion page on our Development & Planning wiki.

forum

If the comments section on the wiki page doesn’t provide enough room for your feedback, post to the Developing jQuery UI Forum and tag the post:

How to Contribute Code

If you have code changes for the Accordion widget, fork jQuery UI on GitHub and submit a pull request.

If you’re new to git or GitHub, see our guide: How to submit a fix to jQuery UI – The Easy Way.

Comments

Note: please do NOT use the comments section of this blog post for feedback on the Accordion widget. This discussion should occur on the wiki page and the forum (see How to Provide Feedback, above).

If you have feedback on us doing our sixth milestone release, feel free to leave a comment below. Thank you.

State of the jQuery UI Grid

Posted on by

We announced the Grid project back in February. Since then, we finished the first three stages and are now getting started on the fourth. In this post we’ll take a look at what we’ve built so far.

Grid

This is what we designed as the “zero feature grid”. All it does is enhance HTML tables, but it does that pretty well while also providing the right hooks for all kinds of other features that we can add on top of that. And that turns out to be really useful, as there are a bunch of things that regular HTML tables can’t do. With Grid, you get:

  • styling with the CSS framework, making it ThemeRoller-ready
  • a proper titlebar, based on the table’s caption
  • markup and styles necessary for scrolling of the table body, while keeping the header fixed

The API for the Grid controls what content to render, and how to present it:

  • The columns option specifies which columns to render. If not specified, it picks up existing table header elements.
  • The rowTemplate option allows the grid to render each row from a custom template. If this option is not provided, each row is generated based on the columns option.
  • The source option specifies the content to render, in the form of a plain array of objects. When not specified, existing table rows are used.
  • By default, the grid’s body grows with the number of rows. With heightStyle: ‘fill’, it stays at a fixed height and the body starts scrolling if there are more rows.
  • When picking up column information from the existing table headers, certain data-attributes are read. The grid itself uses only the data-property attribute (and the actual text of each header cell), but the dataFields option specifies a few more attributes that other components can use, such as “type”, “culture” and “format” to configure local sorting and filtering. If a grid add-on handles other data attributes, adding those to the dataFields option will make them automatically available as part of the columns option.

So far we only have an enhanced table, but often enough, a grid needs to be fed data from some remote resource. That’s where Dataview comes in.

Dataview

Dataview is a low-level abstraction for retrieving content. It has an API for specifying what content to retrieve, and an SPI (service provider interface), implemented by components that provide that content. There are built-in options for filtering, sorting and paging, and the design makes it easy to add more options, like grouping. The API is asynchronous by default, even for local data, so that all components relying on Dataview can work with both local and remote data.

Dataview only depends on Widget and Observable (we’ll get to that below), but not on Grid. This allows Dataview to be used in a variety of contexts. For example it could power a product listing, such as those on eBay or Amazon, where a table presentation is not the right format.

The Dataview SPI makes it easy to write implementations from scratch as well as to create reusable extensions.

As an example, we can use a custom dataview as the input for the Autocomplete widget. The same data is also displayed in the grid below the input field. This demonstrates how a Dataview can be used in multiple representations, where each decides on its own what data to show.

As for reusable extensions, we currently have three implemented:

  1. localDataview takes an input array and does sorting, paging and filtering on that array. It uses Globalize (see below) to implement filtering and sorting of localized numbers and dates. When combined with the grid on a table with existing content (without specifying the source option), you get a complete tablesorter.
  2. odataDataview takes a resource URL, pointing at a webservice that understands OData, the Open Data Protocol. While our implementation doesn’t yet cover all of the OData options, you can use it to sort, filter and page, without having to implement any custom request/response mapping. We have an example of a grid using the OData based Netflix API.
  3. preloaderDataview wraps a Dataview and adjusts the paging behaviour to load more data than rendered, paging locally before preloading another batch. In this Flickr API slideshow example we preload both the API responses and the actual images. This pushes all the loading in the background, allowing the user to page through images without interruptions.

All three need testing in actual projects before we can consider them stable. We’re also looking for other use cases for dataview that we might be missing.

Observable

Data binding is currently a common theme among newer JavaScript frameworks, with various competing solutions available. We don’t yet have a full-featured alternative, but we’ve developed a low-level abstraction that might power a data binding component in the future. We call this abstraction Observable. It provides an API for making changes on plain JavaScript objects and arrays that can be observed by listening to events that each change triggers. We’ve designed Observable to have a very small number of methods and events, with the purpose of making it easy to implement the same API in other contexts. These events are:

  • change: Triggered on objects after one or more properties have changed.
  • insert: Triggered on arrays after inserting one or more new items.
  • remove: Triggered on arrays after removing one or more items.
  • replaceAll: Triggered on arrays after replacing all items in an array.

That last event may seem odd at first, but this makes it possible to create a dataview, pass it to a grid, have the grid subscribe to events on that dataview’s output array, and then update itself when the dataview updates.

For all four events, Observable provides method counterparts:

  • property: to work on objects
  • insert, remove and replaceAll: to work on arrays.

Usage is consistent in both cases:

  • $.observable( object ).property( “name”, “Fred” );
  • $.observable( array ).insert({ name: “Peter” });

We’re still working on Observable. The next step is to find an abstraction for the array bindings, which would remove some overhead both from the Grid as well as from the todo-app demo.

When combining Observable with the Grid, we can easily add editing capabilities. In our grid editing demo, you can add, edit and remove developers from the table. Results are persisted via localStorage.

Instead of adding custom columns that have “Edit” and “Remove” buttons, we can use the selectable interaction to select one or more rows and then interact with the selection. In that demo, the selected array is also an observable array, which the second grid displays. Note that you can select rows on one page, go to the next page (you may need to add a few developers for a second page to show up), select more rows with command/ctrl-click (to extend the selection) and it will display all those rows in the second grid. The selected state is separated from the visual representation, making selection over multiple pages pretty easy.

Globalize

Globalize originally started as the jquery-global plugin. We rewrote it as part of the Grid project to be independent of jQuery, allowing usage on both client and server. Our localDataview implementation (mentioned above) uses it, and its also behind custom inputs like Spinner and Timepicker.

Mask, Timepicker, Selectmenu

These three custom inputs are being developed as part of the Grid project. They are intended to be used within the Grid for inline editing, as well as standalone in regular forms or websites. We’re getting close to landing all three in master, to release them as part of 1.9.

And more…

Work is still in progress on Template, Datepicker and other Custom Inputs. We’ll report back on those once we have more stable solutions.

Up next

We’re finishing existing components and are starting on Stage 4. For details, check out the main Grid wiki page.

So, when is it done?

Our Roadmap has the Grid on the 2.1 release, while the main focus for jQuery UI is on 1.9. In other words, there is a lot that needs to get done before we can put the Grid into a stable release and support it along with all the other components. At the same time, we encourage you to start testing the features outlined above now. Grid, Observable and Dataview are all pretty stable and working well. Globalize is a separate project that you should start using now if you want to support localized number and date handling on the clientside.

We value your input and help. Please use the Developing jQuery UI forum, comment on individual wiki pages or visit us on IRC (#jqueryui-dev on Freenode). If you found a solution to an issue, send a pull request.