This will be a short thread--NOT! :-)

> Controller set of methods is returned..
>
> $('#grid').grid().data(data).drig().show()
> $('#grid').grid().scrollToRow(6).drig().css("border", "1px")

Uh, drig()? So if I want to return to I was before scrollToRow(6), should I
use (6)woRoTllorsc?  ;-)

I don't know if this a good idiom; changing the object type within the chain
might be be too tricky. Also, would the plugin itself have a need for
chained methods to change its internal state? Still, to make your object
chainable like that, I think your $().grid method would just need to save
its jQuery "this" in your Grid object before returning:

jQuery.fn.grid = function() {
  var gridObject = // ... get your grid object ...
  gridObject.jQuery = this;
  return gridObject;
}
jQuery.fn.drig = function() {
  return this.jQuery;
}

As Jörn mentioned, you could still use $("#grid").grid() to create and/or
retrieve a Grid object, even if it wasn't chainable. It seems like you'd
want some way to determine whether it was a Grid creation or just getting an
existing object; you could have a separate $().createGrid() method or maybe
the $().grid() argument could be required on creation. (Also, should the
core should a standard way for plugins to associate object data with an
element, like it does with events?) 

Whatever results from this discussion should go to the plugins authoring
page on the wiki, http://jquery.com/plugins/Authoring/


_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to