[Seaside] jQuery history plugin (repost)

Bart Veenstra bart.veenstra at gmail.com
Tue Sep 14 08:57:33 UTC 2010


Hi Jan,

I have wrapped the excellent jquery plugin JQuery Address. The api looks
like the following:

html document addLoadScript: (html jQuery address onChangeCallback:
[:event :s |
s << (s jQuery id: #log)
append: [:h | html paragraph: event printString]]).

This binds a callback to the address change event. You could also use the
init for handling the event once, or bind an event handler to the
externalpagechanged event as described on
http://www.asual.com/jquery/address/docs/

To bind history support to jquery elements:

html document addLoadScript: (html jQuery expression: 'a') address.

The event passed to the callback consists of the following fields: value
path pathNames parameters queryString

I plan to release it in the pharo jqwidget-box project, but still a n00b on
Pharo and monticello (too difficult compared with cincom), so i have put it
into the cincom public repository.

Packages:
JQWidgetbox-JQAddress  -> core libraries
JQWidgetBox-JQAddress-Dev -> demo app

Regards,

Bart











2010/9/14 Jan van de Sandt <jvdsandt at gmail.com>

> Hello list,
>
> I am trying to add support for the jQuery history plugin (
> http://github.com/tkyk/jquery-history-plugin) to Seaside. The API of the
> plugin looks pretty simple but I don't know how to integrate it with the
> Seaside jQuery support.
>
> In the onLoad on ready function you should register a callback function
> using $.history.init(callback). This callback function gets called with a
> url hash value as an argument. This function should get the new content from
> the server using an AJAX request.
>
> For the AJAX links on your page that should be bookmarkable and should
> support the backbutton you must use the $.history.load('#some_anchor')
> function.
>
> In Seaside this should look something like:
>
>     html anchor
>         onClick: (html jQuery history load: '#link1');
>         with: 'Link 1'.
>
> And the init function can be called as part of the onLoad scripts:
>
>     html document addLoadScript:
>         (html jQuery history init: [ :anchor | self updateUsingAnchor:
> anchor ])
>
> This second fragment is probably totally wrong. The update method needs
> something to render on. Can anybody push me in the right direction?
>
> Jan.
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20100914/f3f967bf/attachment-0001.htm


More information about the seaside mailing list