You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Michal Wegrzyn <mi...@onior.com> on 2012/12/12 12:16:59 UTC

RE: events between pages

Hi Martin,

For your workaround event is propagated and it works fine, but there are problems with AjaxRequestTarget, precisely with target.add( componentToRefresh ).
Components that are outside of an iframe are not refreshed (target works on iframe context and they are not found).

What would be in this situation best solution?

Best regards,
Michał


> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Thursday, November 29, 2012 15:01
> To: users@wicket.apache.org
> Subject: Re: events between pages
> 
> On Thu, Nov 29, 2012 at 2:56 PM, Michal Wegrzyn
> <mi...@onior.com>wrote:
> 
> > Hi,
> >
> > I would like to send event from iframe to "parent" page which has
> > multiple iframes.
> >
> > Event framework makes it possible to use application or session as
> > sinks, but event affects only page from which event was sent.
> >
> > Why events which have session/application as sinks are not propagated
> > to all pages?
> >
> 
> Define "all pages".
> For application that could mean all pages for all users ever used so
> far.
> For session this means all pages in the history of this user (the data
> store).
> 
> 
> >
> > Is it possible to workaround it?
> >
> 
> You can get any page by its id:
> session.getPageManager().getPage(pageId)
> and use it as a sink.
> 
> 
> >
> > Best regards,
> > Michal Wegrzyn
> >
> 
> 
> 
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>

RE: events between pages

Posted by Michal Wegrzyn <mi...@onior.com>.
Thanks for a reply. Exactly. For my custom js I do simply:

target.appendJavaScript( "if(window.parent != null) { window.parent." + script + "}else{" +script +"}"  );

because iframes are inside parent page.

Maybe there is a way to add above modification to ART with some kind of contributor interface?

Best regards,
Michał


> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Wednesday, December 12, 2012 14:03
> To: users@wicket.apache.org
> Subject: Re: events between pages
> 
> They are not part of the iframe's document and the JavaScript code
> cannot find them to replace them.
> It is easy to use the 'parent' in the JS code but I see no way to know
> that at the server side. I.e. when using ART#add() to say that the
> component is in the parent document...
> 
> 
> On Wed, Dec 12, 2012 at 12:16 PM, Michal Wegrzyn
> <mi...@onior.com>wrote:
> 
> > Hi Martin,
> >
> > For your workaround event is propagated and it works fine, but there
> > are problems with AjaxRequestTarget, precisely with target.add(
> > componentToRefresh ).
> > Components that are outside of an iframe are not refreshed (target
> > works on iframe context and they are not found).
> >
> > What would be in this situation best solution?
> >
> > Best regards,
> > Michał
> >
> >
> > > -----Original Message-----
> > > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > > Sent: Thursday, November 29, 2012 15:01
> > > To: users@wicket.apache.org
> > > Subject: Re: events between pages
> > >
> > > On Thu, Nov 29, 2012 at 2:56 PM, Michal Wegrzyn
> > > <mi...@onior.com>wrote:
> > >
> > > > Hi,
> > > >
> > > > I would like to send event from iframe to "parent" page which has
> > > > multiple iframes.
> > > >
> > > > Event framework makes it possible to use application or session
> as
> > > > sinks, but event affects only page from which event was sent.
> > > >
> > > > Why events which have session/application as sinks are not
> > > > propagated to all pages?
> > > >
> > >
> > > Define "all pages".
> > > For application that could mean all pages for all users ever used
> so
> > > far.
> > > For session this means all pages in the history of this user (the
> > > data store).
> > >
> > >
> > > >
> > > > Is it possible to workaround it?
> > > >
> > >
> > > You can get any page by its id:
> > > session.getPageManager().getPage(pageId)
> > > and use it as a sink.
> > >
> > >
> > > >
> > > > Best regards,
> > > > Michal Wegrzyn
> > > >
> > >
> > >
> > >
> > > --
> > > Martin Grigorov
> > > jWeekend
> > > Training, Consulting, Development
> > > http://jWeekend.com <http://jweekend.com/>
> >
> 
> 
> 
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>

Re: events between pages

Posted by Martin Grigorov <mg...@apache.org>.
They are not part of the iframe's document and the JavaScript code cannot
find them to replace them.
It is easy to use the 'parent' in the JS code but I see no way to know that
at the server side. I.e. when using ART#add() to say that the component is
in the parent document...


On Wed, Dec 12, 2012 at 12:16 PM, Michal Wegrzyn
<mi...@onior.com>wrote:

> Hi Martin,
>
> For your workaround event is propagated and it works fine, but there are
> problems with AjaxRequestTarget, precisely with target.add(
> componentToRefresh ).
> Components that are outside of an iframe are not refreshed (target works
> on iframe context and they are not found).
>
> What would be in this situation best solution?
>
> Best regards,
> Michał
>
>
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Thursday, November 29, 2012 15:01
> > To: users@wicket.apache.org
> > Subject: Re: events between pages
> >
> > On Thu, Nov 29, 2012 at 2:56 PM, Michal Wegrzyn
> > <mi...@onior.com>wrote:
> >
> > > Hi,
> > >
> > > I would like to send event from iframe to "parent" page which has
> > > multiple iframes.
> > >
> > > Event framework makes it possible to use application or session as
> > > sinks, but event affects only page from which event was sent.
> > >
> > > Why events which have session/application as sinks are not propagated
> > > to all pages?
> > >
> >
> > Define "all pages".
> > For application that could mean all pages for all users ever used so
> > far.
> > For session this means all pages in the history of this user (the data
> > store).
> >
> >
> > >
> > > Is it possible to workaround it?
> > >
> >
> > You can get any page by its id:
> > session.getPageManager().getPage(pageId)
> > and use it as a sink.
> >
> >
> > >
> > > Best regards,
> > > Michal Wegrzyn
> > >
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com <http://jweekend.com/>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>