[Seaside] With several JQDialog ... it gets very slow!
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 ;-)
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,
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside