[Seaside] With several JQDialog ... it gets very slow!

Johan Brichau johan at inceptive.be
Fri Jun 20 15:10:09 UTC 2014


ha yes, this is where you need to start using delegated events.

Take a look at http://api.jquery.com/on/

I have to head out the door now, but I can come back with a more elaborate answer. The basic idea is:
- catch the click event on the table (not on the cell)
- generate (and open) the dialog in an ajax request when catching the click
- you can (manually) lookup the passenger of the cell from it's id.

If you have not figured it out by later tonight (my time), I will get back to you ;-)

Johan

On 20 Jun 2014, at 16:53, Mariano Martinez Peck <marianopeck at gmail.com> wrote:

> Hi guys, 
> 
> I have just started to use JQDialog...because it is already integrated and very easy to use. In my case, I have tables where for some columns, the contents shows a link to open a popup. With a table of around 250 items and 3 or 4 columns with popups..that is ... 1000 JQDialog instances at render time, it gets very slow! The table passes from 1s to render to 3s! :(
> 
> I have benchmarked everything. From the server side, the response is fast. I have even tried by specifying no html (so the popup does simply nothing....and same results). The way I create the dialogs and the button for them is:
> 
> div := html div
>       	script: (html jQuery new dialog
> 			html: dialog; 
> 	         	title: anItem class label;
> 	         	autoOpen: false;
> 			draggable: true;
> 			resizable: false;
> 			position: 'top';
> 			closeOnEscape: true;
> 			maxWidth: 900;
> 			width: 900;
> 	         	addButton: 'Close' do: html jQuery new dialog close).
> 	id := div ensureId.
> 	
>  html anchor 
> 	onClick: (html jQuery id: id) dialog open; 
> 	with: (description toString: anItem).  ] 
> 
> Is there a way to improve this? For example, there is no way to make the js dialog object creation lazy (upon button click)? I read that making the dialog not draggable and not resizable increases speed..but I tested and it was not that much. 
> 
> From js profiling it looks like what it takes time is the dialog creation. 
> 
> Thanks in advance, 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



More information about the seaside mailing list