Re: [T4] AJAX: reender whole page or just send back the markup of the div

2008-01-18 Thread Kaspar Fischer


On 18.01.2008, at 13:51, Pai911 wrote:


Why do you open the link in new window?

The scenario should be:
1. You click on a link
2. The link invoke a listener (Asynchrounously) and update some  
attribute of

the Page class
3. Some part of the page is re-rendered asynchronously with the new  
data.


Sorry, I was not clear. I understand this scenario and tried your  
code. It
works. Still, it seems that my whole page is rendered (and not just  
the component).

At least, rendered in the sense that my

  void pageBeginRender(PageEvent event)

listeners is exectued for my page (whether output is written I don't  
know).


I came up with opening the link in a new window because it seemed to  
suggest
that tapestry indeed renders the full page. But of course, if there  
is some

JavaScript magic behind it, it will ask a different URL from the server
when you click the link (instead of opening it in a new window, in which
case the full page is rendered).



Did you try the code sample I wrote??


Yes. Again, sorry, for not confirming this right away.


If you do, but the refresh of the whole page occures,
 I think you may be using a certain old version of IE 6 cause I've  
run into

such situation.



No, it worked.

With your comments, I understand it this way:

a) When you click an AJAX link, JS asks the server to only render the  
compontent(s)
that need update (updateComponents). This will run through the whole  
page
building process and, in particular, trigger my pageBeginRender(),  
etc. listeners.

But output is (?) only written for the components that need updating.

b) However, when you open the AJAX link in a new window (that is,  
access the
link without the onClick-JS), a different request is sent to the  
server: it

just renders the full page.

More or less correct?

Kaspar

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [T4] AJAX: reender whole page or just send back the markup of the div

2008-01-18 Thread Pai911

Why do you open the link in new window?

The scenario should be:
1. You click on a link
2. The link invoke a listener (Asynchrounously) and update some attribute of
the Page class
3. Some part of the page is re-rendered asynchronously with the new data.

Did you try the code sample I wrote??

If you do, but the refresh of the whole page occures,
 I think you may be using a certain old version of IE 6 cause I've run into
such situation.


hbf wrote:
 
 
 On 11.01.2008, at 05:02, Pai911 wrote:
 

 Hi!
 I don't think that Tapestry will render the whole page when a  
 listener is in
 invoked Asynchronously.
 
 Hm, I think not: When I open the link in a new window, the whole page  
 shows.
 So I think the whole page is actually rendered, returned to the  
 client where
 the div(s) to update are extracted.
 
 Could this be true?
 
 Thanks,
 Kaspar
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/-T4--AJAX%3A-reender-whole-page-or-just-send-back-the-markup-of-the-div-tp14747399p14949369.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [T4] AJAX: reender whole page or just send back the markup of the div

2008-01-17 Thread Kaspar Fischer


On 11.01.2008, at 05:02, Pai911 wrote:



Hi!
I don't think that Tapestry will render the whole page when a  
listener is in

invoked Asynchronously.


Hm, I think not: When I open the link in a new window, the whole page  
shows.
So I think the whole page is actually rendered, returned to the  
client where

the div(s) to update are extracted.

Could this be true?

Thanks,
Kaspar


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[T4] AJAX: reender whole page or just send back the markup of the div

2008-01-10 Thread Kaspar Fischer

Dear all,

I have a very basic question about AJAX in Tapestry 4.1.3: IIUC, the  
updateComponents
attribute provided by Tapestry components works by rendering the  
*whole* page,
extracting the relevant components (via their ids) and sending them  
back to the client.

I find this very elegant and it makes the pages easy to maintain.

For very complex pages, however, the above approach can result in  
some overhead.
I'd therefore like to just call a function that returns the  
replacement div (and

does not render the whole page).

Is there a simple example that shows how to do this?

For instance: Given a div and a link, clicking the link will replace  
the div via AJAX

without reloading the page.

Thanks,
Kaspar

P.S. I have started reading about EventListeners but am not sure  
whether this is

exactly what I need.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [T4] AJAX: reender whole page or just send back the markup of the div

2008-01-10 Thread Pai911

Hi!
I don't think that Tapestry will render the whole page when a listener is in
invoked Asynchronously.

When you intend to define a link or form for Async invocation, remember to
set the async attribute as true

for example:
#DIV TO DISPLAY CURRENT TIME#
lt;span jwcid=[EMAIL PROTECTED] value=ognl:currentTime/


#LINK TO UPDATE CURRENT TIME PROPERTY#
lt;a jwcid=@DirectLink listener=listener:updateTime async=true
updateComponents=timeBar
What time is it? 

#CORRESPONDING JAVA CODE#

public abstract Date getCurrentTime();

public abstract void setCurrentTime(Date time);

public void updateTime(){
this.setCurrentTime(new Date());
}

I think Tapestry Ajax basically updates client side page by component.

If you want to manipulate it by DOM element, you have to use EventListener
annotation 
with the target to specify the DOM element you want to update

Please correct me if there is anything wrong

Regards,

John

hbf wrote:
 
 Dear all,
 
 I have a very basic question about AJAX in Tapestry 4.1.3: IIUC, the  
 updateComponents
 attribute provided by Tapestry components works by rendering the  
 *whole* page,
 extracting the relevant components (via their ids) and sending them  
 back to the client.
 I find this very elegant and it makes the pages easy to maintain.
 
 For very complex pages, however, the above approach can result in  
 some overhead.
 I'd therefore like to just call a function that returns the  
 replacement div (and
 does not render the whole page).
 
 Is there a simple example that shows how to do this?
 
 For instance: Given a div and a link, clicking the link will replace  
 the div via AJAX
 without reloading the page.
 
 Thanks,
 Kaspar
 
 P.S. I have started reading about EventListeners but am not sure  
 whether this is
 exactly what I need.
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/-T4--AJAX%3A-reender-whole-page-or-just-send-back-the-markup-of-the-div-tp14747399p14749380.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]