From reading the docs I thought it was possible to intercept
JavaScript objects (and functions being called on those objects),
from what I'm reading here it sounds like that isn't the case.
I'll investigate this further and post back any questions I have.
-warner
On May 12, 2008, at 1:08 AM, Marcus Schulte wrote:
Hi Warner
I'm not quite sure whether I understand you setup completely.
Nevertheless two hints:
- the "targets" attribute must refer to tapestry components. If
you want to
refer to a client-side object use "elements".
- The element you want to intercept indeed *must* be a DOM-node.
You could
call an empty hook on some dom-element from your code or use
dojo.connect if
you don't control the javascript code to intercept.
2008/5/11 Warner Onstine <[EMAIL PROTECTED]>:
Hi all,
I'm working on getting a Portal implementation working based off
of this (
http://blog.xilinus.com/2007/9/4/prototype-portal-class-2). So far
I have
everything working the way it should but am now getting to the
stage where I
want to start saving the portal layout changes to a db for the
user. We're
currently on 4.0.x and I spied the EventListener annotation and it
looks
like exactly what I need to call from the JavaScript side.
The problem I'm running into is I don't know how to get my listener
actions called, the javascript that is called is not tied to the
DOM and I'm
unclear on how I'm supposed to tie the function I want to listen
to to a
Tapestry component (as has been suggested in other emails).
Here are the relevant pieces of code:
portal_hooks.js (passed into the portal as function calls)
function onChange(portalState) {
}
function onUpdate(portalState) {
}
@EventListener(targets="portal" events="onChange")
public void testOnChange(BrowserEvent event) {
}
@EventListener(targets="portal" events="onUpdate")
public void testOnChange(BrowserEvent event) {
}
the "portal" target is the actual JavaScript object that I'm
creating in
Portal.script in the "<initialization>" section:
portal = new Xilinus.Portal("#portal div", {onOverWidget:
onOverWidget,
onOutWidget: onOutWidget, onChange: onChange, onUpdate: onUpdate,
removeEffect: Effect.SwitchOff});
So any suggestions on how to tie these together is greatly
appreciated as
the docs on this are not clear on how to do this except for the
following
line:
"When listening to a client-side javascript function that does not
represent a native browser-event, you can access the parameters
passed to
the function on the server-side. The Parameters are made available
as a
JSON-Array within the class BrowserEvent."
but the example given doesn't work (at least I haven't gotten it
to work
for my case.
Thanks in advance!
-warner
Warner Onstine - Programmer/Author
New book on Tapestry 4!
Tapestry 101 available at http://sourcebeat.com/books/
tapestrylive.html
[EMAIL PROTECTED]
http://warneronstine.com/blog
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Marcus Schulte
http://marcus-schulte.blogspot.com
Warner Onstine - Programmer/Author
New book on Tapestry 4!
Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html
[EMAIL PROTECTED]
http://warneronstine.com/blog
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]