Activate your free membership today | Log-in

Tuesday, July 26th, 2005

Prototype based LiveGrid

Category: Library, Prototype

Alley fell in love with Rico LiveGrid when he saw it and wanted to implement it on his site. As he started on this task he items in which he wanted to change, so he has created a new prototype version:

  • No support for the mousewheel
  • Your html-output needs to be serialized (ie. use <a> for <a>)
  • I don’t want the page itself to define the item height by using empty rows, I want it to calculate the height as soon as the first items load
  • Very strict html required (it must be a table with tr’s)
  • The use of Rico.AjaxEngine: ok, so it’s a cool script and everything. But
    imho it’s kind of outdated and bloated (all respects though!). Prototype is being build further, the effects part of prototype has already been seperated from the core and is now maintained at script.aculo.us
    Prototype’s Ajax.updater does just as good a job as the Rico.AjaxEngine, etc.

View a live example

LiveGrid

Download

Posted by Dion Almaer at 9:36 am

+++--
3.9 rating from 8 votes

7 Comments »

Comments feed

How come text in your livegrid is selectable whil;e the one in RICO is not? Good job!

Comment by Roy — August 17, 2005

Oh no, I didnt know that my email is going to be displayed for the spam bots to harvest!
Pls delete my post.
Thanks in advance.
I do not wish the mailbox that Ive kept spam free to be flooded by nasty viagra ads.

Comment by Roy — August 17, 2005

Interesting .Thanks for the information

Comment by ned — June 13, 2007

In Safari 3, in livegrid.js, the intial request to populate the livegrid works just fine, but subsequent requests (those that reuse the ajax.request instead of creating a new) pass jumbled arguments to the server for page data, specifically it seems each character is exploded into a name/value pair. The only fix I can find is to always create a new request object, instead of ever reusing. Is there a more graceful solution?
Here is the code snippet with my comment on if the statement.
code:
//if (!this.ajaxRequest)
if(true)
{
var options = {parameters: callParms,
method: ‘get’
};
Object.extend(options,this.options);
options.onComplete = this.ajaxUpdate.bind(this);
this.ajaxRequest = new Ajax.Request(this.url, options);
}
else
{
Object.extend(this.ajaxRequest.options,{parameters: callParms});
this.ajaxRequest.request(this.url);
}

Comment by Dan B. — September 3, 2007

I have the same problem that Dan. B but not in Safari. I use
this.ajaxRequest.setOptions({parameters: callParms}) instead of Object.extend(this.ajaxRequest.options,{parameters: callParms});

Comment by bores — November 19, 2007

Interesting but it looks still need lot of improvement.
smith, designer from pain natural remedies

Comment by smith123 — October 13, 2008

This version is great, almost perfect but still. anywayz, try this out too, pain natural remedies
for sure will help.

Comment by oldtimerock — March 17, 2009

Leave a comment

You must be logged in to post a comment.