[Seaside] Jump somewhere after rendering
Michael Meyer
sangria at gmx.net
Tue Jun 7 12:24:59 CEST 2005
Hi Bob
I haven't got my image around at the moment. But I can
give you some hints.
You need to create two methods. One to create a possible
jump destination and one for the actual jump.
WAHtmlRenderer>>marker: aSymbol
"Create a possible target. <a name=aSymbol></a>"
self attributes at: 'name' put: aSymbol.
self tag: 'a'.
WAHtmlRenderer>>jump: aSymbol
"Jump to target aSymbol with javascript"
self script: 'document.location.hash = ', aSymbol.
Now lets assume you have a parent component named
WAParent that contains several child components
named WAChild
The renderContentOn: methods need to look something
like this.
WAParent>>renderContentOn: html
... render all children ...
html jump: aSymbol
WAChild>>renderContentOn: html
html marker: aSymbol
... render the child component ...
There is still some code missing.
Every WAChild component needs to have a unique
identifier for the "html marker: aSymbol" call and
the WAParent component needs to know the jump
destination for the "html jump: aSymbol" call.
Does that help?
mike
> --- Ursprüngliche Nachricht ---
> Von: Bob Houston
> Michael,
>
> I don't quite understand how this works. Can you tell me when and
> >from where you are calling "html jumpHere" ?
>
> Thanks,
> BobH
>
> On Jun 6, 2005, at 7:31 AM, Michael Meyer wrote:
>
> > That was easy enough.
> > Thanks
> >
> > Avi Bryant schrieb:
> >
> >> On 6/3/05, Michael Meyer <sangria at gmx.net> wrote:
> >>
> >>> When i go to the bottom of the multi page and click the
> >>> ++ link the page reloads and I'm at the top of the page
> >>> again.
> >>> It would be really nice if my application would jump back to
> >>> the right component after reloading. Does anybody know if
> >>> that is possible?
> >>>
> >> Well, if you can store the information somewhere about which of the
> >> components you want to jump to, and if you don't mind using some
> >> javascript, then you can try something like this (untested):
> >> WAHtmlRenderer>>jumpHere
> >> html attributes at: 'name' put: 'jump'.
> >> html tag: 'a'.
> >> html script: 'document.location.hash="jump"'.
> >> And then use "html jumpHere" from wherever you like.
> >> Avi
--
Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
More information about the Seaside
mailing list