You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Varma Dendukuri <vd...@gmail.com> on 2007/02/12 10:13:46 UTC

[Tobago] Ajax Frameworks With Tobago.

Hi All,

I have a usecase where i need to dynamically change the values(Options) of a
ListBox [<tc:selectOneChoice>] based on a value selected in another ListBox
or based on the value entered in a textbox[<tc:in>]. At present i have
achieved this using changeEventListener in which the form is submitted to
the server. But i dont want to go to server to get the values. Wanna do that
using AJAX.

So is there a way that we can achieve this with the
thirdparty AJAX frameworks like YUI, ScriptAculoUs, ProtoType etc.

It would be great if someone can provide any kinda examples ?

Thanks in Advance.

Regards,
Varma

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Volker Weber <v....@inexso.de>.
Hi Varma,

the jsf-phases are only execuded for the 'ajax-component' and children.

so if you don't want to read the values from the request-parameters,
you should update a panel which surrounds both selectOneChoice.

Regards,
  Volker


2007/2/15, Bernd Bohmann <be...@atanion.com>:
> Hello Varma,
>
> please put both selectOneChoice in one panel if possible.
>
> Regards
>
> Bernd
>
> Varma Dendukuri wrote:
> > Hi Volker,
> >
> > Here is my JSF Code.
> >
> > <tx:selectOneChoice label="#{bundle.select}"
> >                            value="#{checkout.billingAddressId}"
> >                                 id="billingAddressId">
> >    <f:selectItem itemValue="0"  itemLabel=" --- Select Billing Address ---
> > "/>
> >    <f:selectItems value="#{checkout.billingAddresses}"/>
> >
> >
> >    <f:facet name="change">
> >       <tc:command action="#{checkout.handleBillingAddressChange}">
> >         <tc:attribute name="renderedPartially"
> > value=":page:shipToSitePanel"/>
> >       </tc:command>
> >    </f:facet>
> > </tx:selectOneChoice>
> >
> > The Panel i.e to be Updated
> >
> > <tc:panel id="shipToSitePanel" >
> >    <tx:selectOneChoice label="#{bundle.select}"
> >                        value="#{checkout.shippingAddressId}"
> >                        id="shippingAddress" >
> >
> >        <f:selectItems value="#{checkout.shippingAddresses}"/>
> >    </tx:selectOneChoice>
> > </tc:panel>
> >
> > Regards,
> > Varma
> >
> > On 2/14/07, Bernd Bohmann <be...@atanion.com> wrote:
> >>
> >> Hello Varma,
> >>
> >> can you send your jsf page, please.
> >>
> >> Regards
> >>
> >> Bernd
> >>
> >> Varma Dendukuri wrote:
> >> > Added  <ajax-enabled>true</ajax-enabled> to tobogo-config.xml and then
> >> > it is
> >> > working fine now.
> >> >
> >> > But the values are not set to the backing bean. For now i read the
> >> > properties from the request parameters. Is there any better solution ??
> >> > Below is the code that i used.
> >> >
> >> >    public String handleBillingAddressChange()
> >> >    {
> >> >        // Kind of Hack, If the billingAddressId is not set to the
> >> backing
> >> > bean
> >> >        // by the Tobago, Trying to get it the from request parameters
> >> >        if(billingAddressId == null){
> >> >            FacesContext facesContext = FacesContext.getCurrentInstance
> >> ();
> >> >            Map paramValues= facesContext.getExternalContext()
> >> >                    .getRequestParameterMap();
> >> >            billingAddressId=
> >> > (String)paramValues.get("page:billingAddressId");
> >> >            log.debug("Billing Address Id from Request :" +
> >> > billingAddressId);
> >> >        }
> >> >        log.debug(" Selected Billing Address Id: "  +
> >> > this.billingAddressId);
> >> >
> >> >        return null;
> >> >    }
> >> >
> >> > Regards,
> >> > Varma
> >> >
> >> > On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
> >> >>
> >> >> After spending sometime debugging this, Found that
> >> >>
> >> >> Tobago.addAjaxComponent(':page:panel); has to be called incase if the
> >> >> panel has to be updated using AJAX.
> >> >>
> >> >> Is this a bug in 1.0.9??
> >> >>
> >> >> Regards,
> >> >> Varma
> >> >>
> >> >> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
> >> >> >
> >> >> > Hi Volker,
> >> >> >
> >> >> > Thanks for the Quick Response.
> >> >> >
> >> >> > When i was trying this, getting the following javascript error.
> >> >> >
> >> >> > LOG.debugAjaxComponents is not a function.       tobago.js (line
> >> 595)
> >> >> >
> >> >> > I'm running on Tobago 1.0.9. I have gone through the js code and
> >> found
> >> >> > that there is no function called "debugAjaxComponents" defined in
> >> the
> >> >> > class LOG.
> >> >> >
> >> >> > Am i missing anything ??
> >> >> >
> >> >> > Regards,
> >> >> > Varma
> >> >> >
> >> >> > On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
> >> >> > >
> >> >> > > Hi Varma,
> >> >> > >
> >> >> > > i have no experience with 'thirdparty AJAX frameworks', but i
> >> don't
> >> >> > > think they work with tobago.
> >> >> > >
> >> >> > > But you can do this with the tobago internal ajax partial reload
> >> >> > > feature.
> >> >> > >
> >> >> > > put the second tc:selectOneChoice into a tc:panel with defined
> >> >> > > clientId ( this means you set a id to this panel and to all
> >> >> > > surrounding namingContainer components).
> >> >> > >
> >> >> > > add a 'change' facet to the first tc:selectOneChoice with a action
> >> to
> >> >> > > change the options for the second one, and a renderedPartially
> >> >> > > attribute to update.
> >> >> > >
> >> >> > > --- jsf ------------------------
> >> >> > > <tc:page id="page">
> >> >> > > ...
> >> >> > > <tc:selectOneChoice ...>
> >> >> > >   <f:selectItems .../>
> >> >> > >   <f:facet name="change">
> >> >> > >     <tc:command action="#{ bean.selectOptions}">
> >> >> > >       <tc:attribute name="renderedPartially" value=":page:panel"/>
> >> >> > >     </tc:command>
> >> >> > >   </f:facet>
> >> >> > > </tc:selectOneChoice>
> >> >> > >
> >> >> > > <tc:panel id="panel">
> >> >> > >   <tc:selectOneChoice ...>
> >> >> > >     <f:selectItems value="#{bean.items2}"/>
> >> >> > >   </tc:selectOneChoice>
> >> >> > > </tc:panel>
> >> >> > > ...
> >> >> > > </tc:page>
> >> >> > > --- /jsf ------------------------
> >> >> > >
> >> >> > > the action method "public String selectOptions() {...}" should
> >> update
> >> >> > > the
> >> >> > > selectItems in items2 property.
> >> >> > > And MUST return null, because you don't want to navigate to
> >> anohter
> >> >> > > view.
> >> >> > >
> >> >> > > Regards,
> >> >> > >   Volker
> >> >> > >
> >> >> > >
> >> >> > > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> >> >> > > > Hi All,
> >> >> > > >
> >> >> > > > I have a usecase where i need to dynamically change the
> >> >> > > values(Options) of a
> >> >> > > > ListBox [<tc:selectOneChoice>] based on a value selected in
> >> another
> >> >> > > ListBox
> >> >> > > > or based on the value entered in a textbox[<tc:in>]. At
> >> present i
> >> >> > > have
> >> >> > > > achieved this using changeEventListener in which the form is
> >> >> > > submitted to
> >> >> > > > the server. But i dont want to go to server to get the values.
> >> >> Wanna
> >> >> > > do that
> >> >> > > > using AJAX.
> >> >> > > >
> >> >> > > > So is there a way that we can achieve this with the thirdparty
> >> AJAX
> >> >> > > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
> >> >> > > >
> >> >> > > > It would be great if someone can provide any kinda examples ?
> >> >> > > >
> >> >> > > > Thanks in Advance.
> >> >> > > >
> >> >> > > > Regards,
> >> >> > > > Varma
> >> >> > > >
> >> >> > > >
> >> >> > >
> >> >> >
> >> >> >
> >> >>
> >> >
> >>
> >
>

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Bernd Bohmann <be...@atanion.com>.
Hello Varma,

please put both selectOneChoice in one panel if possible.

Regards

Bernd

Varma Dendukuri wrote:
> Hi Volker,
> 
> Here is my JSF Code.
> 
> <tx:selectOneChoice label="#{bundle.select}"
>                            value="#{checkout.billingAddressId}"
>                                 id="billingAddressId">
>    <f:selectItem itemValue="0"  itemLabel=" --- Select Billing Address ---
> "/>
>    <f:selectItems value="#{checkout.billingAddresses}"/>
> 
> 
>    <f:facet name="change">
>       <tc:command action="#{checkout.handleBillingAddressChange}">
>         <tc:attribute name="renderedPartially"
> value=":page:shipToSitePanel"/>
>       </tc:command>
>    </f:facet>
> </tx:selectOneChoice>
> 
> The Panel i.e to be Updated
> 
> <tc:panel id="shipToSitePanel" >
>    <tx:selectOneChoice label="#{bundle.select}"
>                        value="#{checkout.shippingAddressId}"
>                        id="shippingAddress" >
> 
>        <f:selectItems value="#{checkout.shippingAddresses}"/>
>    </tx:selectOneChoice>
> </tc:panel>
> 
> Regards,
> Varma
> 
> On 2/14/07, Bernd Bohmann <be...@atanion.com> wrote:
>>
>> Hello Varma,
>>
>> can you send your jsf page, please.
>>
>> Regards
>>
>> Bernd
>>
>> Varma Dendukuri wrote:
>> > Added  <ajax-enabled>true</ajax-enabled> to tobogo-config.xml and then
>> > it is
>> > working fine now.
>> >
>> > But the values are not set to the backing bean. For now i read the
>> > properties from the request parameters. Is there any better solution ??
>> > Below is the code that i used.
>> >
>> >    public String handleBillingAddressChange()
>> >    {
>> >        // Kind of Hack, If the billingAddressId is not set to the
>> backing
>> > bean
>> >        // by the Tobago, Trying to get it the from request parameters
>> >        if(billingAddressId == null){
>> >            FacesContext facesContext = FacesContext.getCurrentInstance
>> ();
>> >            Map paramValues= facesContext.getExternalContext()
>> >                    .getRequestParameterMap();
>> >            billingAddressId=
>> > (String)paramValues.get("page:billingAddressId");
>> >            log.debug("Billing Address Id from Request :" +
>> > billingAddressId);
>> >        }
>> >        log.debug(" Selected Billing Address Id: "  +
>> > this.billingAddressId);
>> >
>> >        return null;
>> >    }
>> >
>> > Regards,
>> > Varma
>> >
>> > On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
>> >>
>> >> After spending sometime debugging this, Found that
>> >>
>> >> Tobago.addAjaxComponent(':page:panel); has to be called incase if the
>> >> panel has to be updated using AJAX.
>> >>
>> >> Is this a bug in 1.0.9??
>> >>
>> >> Regards,
>> >> Varma
>> >>
>> >> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
>> >> >
>> >> > Hi Volker,
>> >> >
>> >> > Thanks for the Quick Response.
>> >> >
>> >> > When i was trying this, getting the following javascript error.
>> >> >
>> >> > LOG.debugAjaxComponents is not a function.       tobago.js (line 
>> 595)
>> >> >
>> >> > I'm running on Tobago 1.0.9. I have gone through the js code and
>> found
>> >> > that there is no function called "debugAjaxComponents" defined in 
>> the
>> >> > class LOG.
>> >> >
>> >> > Am i missing anything ??
>> >> >
>> >> > Regards,
>> >> > Varma
>> >> >
>> >> > On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
>> >> > >
>> >> > > Hi Varma,
>> >> > >
>> >> > > i have no experience with 'thirdparty AJAX frameworks', but i 
>> don't
>> >> > > think they work with tobago.
>> >> > >
>> >> > > But you can do this with the tobago internal ajax partial reload
>> >> > > feature.
>> >> > >
>> >> > > put the second tc:selectOneChoice into a tc:panel with defined
>> >> > > clientId ( this means you set a id to this panel and to all
>> >> > > surrounding namingContainer components).
>> >> > >
>> >> > > add a 'change' facet to the first tc:selectOneChoice with a action
>> to
>> >> > > change the options for the second one, and a renderedPartially
>> >> > > attribute to update.
>> >> > >
>> >> > > --- jsf ------------------------
>> >> > > <tc:page id="page">
>> >> > > ...
>> >> > > <tc:selectOneChoice ...>
>> >> > >   <f:selectItems .../>
>> >> > >   <f:facet name="change">
>> >> > >     <tc:command action="#{ bean.selectOptions}">
>> >> > >       <tc:attribute name="renderedPartially" value=":page:panel"/>
>> >> > >     </tc:command>
>> >> > >   </f:facet>
>> >> > > </tc:selectOneChoice>
>> >> > >
>> >> > > <tc:panel id="panel">
>> >> > >   <tc:selectOneChoice ...>
>> >> > >     <f:selectItems value="#{bean.items2}"/>
>> >> > >   </tc:selectOneChoice>
>> >> > > </tc:panel>
>> >> > > ...
>> >> > > </tc:page>
>> >> > > --- /jsf ------------------------
>> >> > >
>> >> > > the action method "public String selectOptions() {...}" should
>> update
>> >> > > the
>> >> > > selectItems in items2 property.
>> >> > > And MUST return null, because you don't want to navigate to 
>> anohter
>> >> > > view.
>> >> > >
>> >> > > Regards,
>> >> > >   Volker
>> >> > >
>> >> > >
>> >> > > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
>> >> > > > Hi All,
>> >> > > >
>> >> > > > I have a usecase where i need to dynamically change the
>> >> > > values(Options) of a
>> >> > > > ListBox [<tc:selectOneChoice>] based on a value selected in
>> another
>> >> > > ListBox
>> >> > > > or based on the value entered in a textbox[<tc:in>]. At 
>> present i
>> >> > > have
>> >> > > > achieved this using changeEventListener in which the form is
>> >> > > submitted to
>> >> > > > the server. But i dont want to go to server to get the values.
>> >> Wanna
>> >> > > do that
>> >> > > > using AJAX.
>> >> > > >
>> >> > > > So is there a way that we can achieve this with the thirdparty
>> AJAX
>> >> > > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
>> >> > > >
>> >> > > > It would be great if someone can provide any kinda examples ?
>> >> > > >
>> >> > > > Thanks in Advance.
>> >> > > >
>> >> > > > Regards,
>> >> > > > Varma
>> >> > > >
>> >> > > >
>> >> > >
>> >> >
>> >> >
>> >>
>> >
>>
> 

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Varma Dendukuri <vd...@gmail.com>.
Hi Volker,

Here is my JSF Code.

<tx:selectOneChoice label="#{bundle.select}"
                            value="#{checkout.billingAddressId}"
                                 id="billingAddressId">
    <f:selectItem itemValue="0"  itemLabel=" --- Select Billing Address ---
"/>
    <f:selectItems value="#{checkout.billingAddresses}"/>


    <f:facet name="change">
       <tc:command action="#{checkout.handleBillingAddressChange}">
         <tc:attribute name="renderedPartially"
value=":page:shipToSitePanel"/>
       </tc:command>
    </f:facet>
</tx:selectOneChoice>

The Panel i.e to be Updated

<tc:panel id="shipToSitePanel" >
    <tx:selectOneChoice label="#{bundle.select}"
                        value="#{checkout.shippingAddressId}"
                        id="shippingAddress" >

        <f:selectItems value="#{checkout.shippingAddresses}"/>
    </tx:selectOneChoice>
</tc:panel>

Regards,
Varma

On 2/14/07, Bernd Bohmann <be...@atanion.com> wrote:
>
> Hello Varma,
>
> can you send your jsf page, please.
>
> Regards
>
> Bernd
>
> Varma Dendukuri wrote:
> > Added  <ajax-enabled>true</ajax-enabled> to tobogo-config.xml and then
> > it is
> > working fine now.
> >
> > But the values are not set to the backing bean. For now i read the
> > properties from the request parameters. Is there any better solution ??
> > Below is the code that i used.
> >
> >    public String handleBillingAddressChange()
> >    {
> >        // Kind of Hack, If the billingAddressId is not set to the
> backing
> > bean
> >        // by the Tobago, Trying to get it the from request parameters
> >        if(billingAddressId == null){
> >            FacesContext facesContext = FacesContext.getCurrentInstance
> ();
> >            Map paramValues= facesContext.getExternalContext()
> >                    .getRequestParameterMap();
> >            billingAddressId=
> > (String)paramValues.get("page:billingAddressId");
> >            log.debug("Billing Address Id from Request :" +
> > billingAddressId);
> >        }
> >        log.debug(" Selected Billing Address Id: "  +
> > this.billingAddressId);
> >
> >        return null;
> >    }
> >
> > Regards,
> > Varma
> >
> > On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
> >>
> >> After spending sometime debugging this, Found that
> >>
> >> Tobago.addAjaxComponent(':page:panel); has to be called incase if the
> >> panel has to be updated using AJAX.
> >>
> >> Is this a bug in 1.0.9??
> >>
> >> Regards,
> >> Varma
> >>
> >> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
> >> >
> >> > Hi Volker,
> >> >
> >> > Thanks for the Quick Response.
> >> >
> >> > When i was trying this, getting the following javascript error.
> >> >
> >> > LOG.debugAjaxComponents is not a function.       tobago.js (line 595)
> >> >
> >> > I'm running on Tobago 1.0.9. I have gone through the js code and
> found
> >> > that there is no function called "debugAjaxComponents" defined in the
> >> > class LOG.
> >> >
> >> > Am i missing anything ??
> >> >
> >> > Regards,
> >> > Varma
> >> >
> >> > On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
> >> > >
> >> > > Hi Varma,
> >> > >
> >> > > i have no experience with 'thirdparty AJAX frameworks', but i don't
> >> > > think they work with tobago.
> >> > >
> >> > > But you can do this with the tobago internal ajax partial reload
> >> > > feature.
> >> > >
> >> > > put the second tc:selectOneChoice into a tc:panel with defined
> >> > > clientId ( this means you set a id to this panel and to all
> >> > > surrounding namingContainer components).
> >> > >
> >> > > add a 'change' facet to the first tc:selectOneChoice with a action
> to
> >> > > change the options for the second one, and a renderedPartially
> >> > > attribute to update.
> >> > >
> >> > > --- jsf ------------------------
> >> > > <tc:page id="page">
> >> > > ...
> >> > > <tc:selectOneChoice ...>
> >> > >   <f:selectItems .../>
> >> > >   <f:facet name="change">
> >> > >     <tc:command action="#{ bean.selectOptions}">
> >> > >       <tc:attribute name="renderedPartially" value=":page:panel"/>
> >> > >     </tc:command>
> >> > >   </f:facet>
> >> > > </tc:selectOneChoice>
> >> > >
> >> > > <tc:panel id="panel">
> >> > >   <tc:selectOneChoice ...>
> >> > >     <f:selectItems value="#{bean.items2}"/>
> >> > >   </tc:selectOneChoice>
> >> > > </tc:panel>
> >> > > ...
> >> > > </tc:page>
> >> > > --- /jsf ------------------------
> >> > >
> >> > > the action method "public String selectOptions() {...}" should
> update
> >> > > the
> >> > > selectItems in items2 property.
> >> > > And MUST return null, because you don't want to navigate to anohter
> >> > > view.
> >> > >
> >> > > Regards,
> >> > >   Volker
> >> > >
> >> > >
> >> > > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> >> > > > Hi All,
> >> > > >
> >> > > > I have a usecase where i need to dynamically change the
> >> > > values(Options) of a
> >> > > > ListBox [<tc:selectOneChoice>] based on a value selected in
> another
> >> > > ListBox
> >> > > > or based on the value entered in a textbox[<tc:in>]. At present i
> >> > > have
> >> > > > achieved this using changeEventListener in which the form is
> >> > > submitted to
> >> > > > the server. But i dont want to go to server to get the values.
> >> Wanna
> >> > > do that
> >> > > > using AJAX.
> >> > > >
> >> > > > So is there a way that we can achieve this with the thirdparty
> AJAX
> >> > > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
> >> > > >
> >> > > > It would be great if someone can provide any kinda examples ?
> >> > > >
> >> > > > Thanks in Advance.
> >> > > >
> >> > > > Regards,
> >> > > > Varma
> >> > > >
> >> > > >
> >> > >
> >> >
> >> >
> >>
> >
>

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Bernd Bohmann <be...@atanion.com>.
Hello Varma,

can you send your jsf page, please.

Regards

Bernd

Varma Dendukuri wrote:
> Added  <ajax-enabled>true</ajax-enabled> to tobogo-config.xml and then 
> it is
> working fine now.
> 
> But the values are not set to the backing bean. For now i read the
> properties from the request parameters. Is there any better solution ??
> Below is the code that i used.
> 
>    public String handleBillingAddressChange()
>    {
>        // Kind of Hack, If the billingAddressId is not set to the backing
> bean
>        // by the Tobago, Trying to get it the from request parameters
>        if(billingAddressId == null){
>            FacesContext facesContext = FacesContext.getCurrentInstance();
>            Map paramValues= facesContext.getExternalContext()
>                    .getRequestParameterMap();
>            billingAddressId=
> (String)paramValues.get("page:billingAddressId");
>            log.debug("Billing Address Id from Request :" +
> billingAddressId);
>        }
>        log.debug(" Selected Billing Address Id: "  +
> this.billingAddressId);
> 
>        return null;
>    }
> 
> Regards,
> Varma
> 
> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
>>
>> After spending sometime debugging this, Found that
>>
>> Tobago.addAjaxComponent(':page:panel); has to be called incase if the
>> panel has to be updated using AJAX.
>>
>> Is this a bug in 1.0.9??
>>
>> Regards,
>> Varma
>>
>> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
>> >
>> > Hi Volker,
>> >
>> > Thanks for the Quick Response.
>> >
>> > When i was trying this, getting the following javascript error.
>> >
>> > LOG.debugAjaxComponents is not a function.       tobago.js (line 595)
>> >
>> > I'm running on Tobago 1.0.9. I have gone through the js code and found
>> > that there is no function called "debugAjaxComponents" defined in the
>> > class LOG.
>> >
>> > Am i missing anything ??
>> >
>> > Regards,
>> > Varma
>> >
>> > On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
>> > >
>> > > Hi Varma,
>> > >
>> > > i have no experience with 'thirdparty AJAX frameworks', but i don't
>> > > think they work with tobago.
>> > >
>> > > But you can do this with the tobago internal ajax partial reload
>> > > feature.
>> > >
>> > > put the second tc:selectOneChoice into a tc:panel with defined
>> > > clientId ( this means you set a id to this panel and to all
>> > > surrounding namingContainer components).
>> > >
>> > > add a 'change' facet to the first tc:selectOneChoice with a action to
>> > > change the options for the second one, and a renderedPartially
>> > > attribute to update.
>> > >
>> > > --- jsf ------------------------
>> > > <tc:page id="page">
>> > > ...
>> > > <tc:selectOneChoice ...>
>> > >   <f:selectItems .../>
>> > >   <f:facet name="change">
>> > >     <tc:command action="#{ bean.selectOptions}">
>> > >       <tc:attribute name="renderedPartially" value=":page:panel"/>
>> > >     </tc:command>
>> > >   </f:facet>
>> > > </tc:selectOneChoice>
>> > >
>> > > <tc:panel id="panel">
>> > >   <tc:selectOneChoice ...>
>> > >     <f:selectItems value="#{bean.items2}"/>
>> > >   </tc:selectOneChoice>
>> > > </tc:panel>
>> > > ...
>> > > </tc:page>
>> > > --- /jsf ------------------------
>> > >
>> > > the action method "public String selectOptions() {...}" should update
>> > > the
>> > > selectItems in items2 property.
>> > > And MUST return null, because you don't want to navigate to anohter
>> > > view.
>> > >
>> > > Regards,
>> > >   Volker
>> > >
>> > >
>> > > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
>> > > > Hi All,
>> > > >
>> > > > I have a usecase where i need to dynamically change the
>> > > values(Options) of a
>> > > > ListBox [<tc:selectOneChoice>] based on a value selected in another
>> > > ListBox
>> > > > or based on the value entered in a textbox[<tc:in>]. At present i
>> > > have
>> > > > achieved this using changeEventListener in which the form is
>> > > submitted to
>> > > > the server. But i dont want to go to server to get the values. 
>> Wanna
>> > > do that
>> > > > using AJAX.
>> > > >
>> > > > So is there a way that we can achieve this with the thirdparty AJAX
>> > > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
>> > > >
>> > > > It would be great if someone can provide any kinda examples ?
>> > > >
>> > > > Thanks in Advance.
>> > > >
>> > > > Regards,
>> > > > Varma
>> > > >
>> > > >
>> > >
>> >
>> >
>>
> 

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Varma Dendukuri <vd...@gmail.com>.
Added  <ajax-enabled>true</ajax-enabled> to tobogo-config.xml and then it is
working fine now.

But the values are not set to the backing bean. For now i read the
properties from the request parameters. Is there any better solution ??
Below is the code that i used.

    public String handleBillingAddressChange()
    {
        // Kind of Hack, If the billingAddressId is not set to the backing
bean
        // by the Tobago, Trying to get it the from request parameters
        if(billingAddressId == null){
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Map paramValues= facesContext.getExternalContext()
                    .getRequestParameterMap();
            billingAddressId=
(String)paramValues.get("page:billingAddressId");
            log.debug("Billing Address Id from Request :" +
billingAddressId);
        }
        log.debug(" Selected Billing Address Id: "  +
this.billingAddressId);

        return null;
    }

Regards,
Varma

On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
>
> After spending sometime debugging this, Found that
>
> Tobago.addAjaxComponent(':page:panel); has to be called incase if the
> panel has to be updated using AJAX.
>
> Is this a bug in 1.0.9??
>
> Regards,
> Varma
>
> On 2/13/07, Varma Dendukuri < vdenduku@gmail.com> wrote:
> >
> > Hi Volker,
> >
> > Thanks for the Quick Response.
> >
> > When i was trying this, getting the following javascript error.
> >
> > LOG.debugAjaxComponents is not a function.       tobago.js (line 595)
> >
> > I'm running on Tobago 1.0.9. I have gone through the js code and found
> > that there is no function called "debugAjaxComponents" defined in the
> > class LOG.
> >
> > Am i missing anything ??
> >
> > Regards,
> > Varma
> >
> > On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
> > >
> > > Hi Varma,
> > >
> > > i have no experience with 'thirdparty AJAX frameworks', but i don't
> > > think they work with tobago.
> > >
> > > But you can do this with the tobago internal ajax partial reload
> > > feature.
> > >
> > > put the second tc:selectOneChoice into a tc:panel with defined
> > > clientId ( this means you set a id to this panel and to all
> > > surrounding namingContainer components).
> > >
> > > add a 'change' facet to the first tc:selectOneChoice with a action to
> > > change the options for the second one, and a renderedPartially
> > > attribute to update.
> > >
> > > --- jsf ------------------------
> > > <tc:page id="page">
> > > ...
> > > <tc:selectOneChoice ...>
> > >   <f:selectItems .../>
> > >   <f:facet name="change">
> > >     <tc:command action="#{ bean.selectOptions}">
> > >       <tc:attribute name="renderedPartially" value=":page:panel"/>
> > >     </tc:command>
> > >   </f:facet>
> > > </tc:selectOneChoice>
> > >
> > > <tc:panel id="panel">
> > >   <tc:selectOneChoice ...>
> > >     <f:selectItems value="#{bean.items2}"/>
> > >   </tc:selectOneChoice>
> > > </tc:panel>
> > > ...
> > > </tc:page>
> > > --- /jsf ------------------------
> > >
> > > the action method "public String selectOptions() {...}" should update
> > > the
> > > selectItems in items2 property.
> > > And MUST return null, because you don't want to navigate to anohter
> > > view.
> > >
> > > Regards,
> > >   Volker
> > >
> > >
> > > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> > > > Hi All,
> > > >
> > > > I have a usecase where i need to dynamically change the
> > > values(Options) of a
> > > > ListBox [<tc:selectOneChoice>] based on a value selected in another
> > > ListBox
> > > > or based on the value entered in a textbox[<tc:in>]. At present i
> > > have
> > > > achieved this using changeEventListener in which the form is
> > > submitted to
> > > > the server. But i dont want to go to server to get the values. Wanna
> > > do that
> > > > using AJAX.
> > > >
> > > > So is there a way that we can achieve this with the thirdparty AJAX
> > > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
> > > >
> > > > It would be great if someone can provide any kinda examples ?
> > > >
> > > > Thanks in Advance.
> > > >
> > > > Regards,
> > > > Varma
> > > >
> > > >
> > >
> >
> >
>

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Varma Dendukuri <vd...@gmail.com>.
After spending sometime debugging this, Found that

Tobago.addAjaxComponent(':page:panel); has to be called incase if the panel
has to be updated using AJAX.

Is this a bug in 1.0.9??

Regards,
Varma

On 2/13/07, Varma Dendukuri <vd...@gmail.com> wrote:
>
> Hi Volker,
>
> Thanks for the Quick Response.
>
> When i was trying this, getting the following javascript error.
>
> LOG.debugAjaxComponents is not a function.       tobago.js (line 595)
>
> I'm running on Tobago 1.0.9. I have gone through the js code and found
> that there is no function called "debugAjaxComponents" defined in the
> class LOG.
>
> Am i missing anything ??
>
> Regards,
> Varma
>
> On 2/12/07, Volker Weber <v.weber@inexso.de > wrote:
> >
> > Hi Varma,
> >
> > i have no experience with 'thirdparty AJAX frameworks', but i don't
> > think they work with tobago.
> >
> > But you can do this with the tobago internal ajax partial reload
> > feature.
> >
> > put the second tc:selectOneChoice into a tc:panel with defined
> > clientId ( this means you set a id to this panel and to all
> > surrounding namingContainer components).
> >
> > add a 'change' facet to the first tc:selectOneChoice with a action to
> > change the options for the second one, and a renderedPartially
> > attribute to update.
> >
> > --- jsf ------------------------
> > <tc:page id="page">
> > ...
> > <tc:selectOneChoice ...>
> >   <f:selectItems .../>
> >   <f:facet name="change">
> >     <tc:command action="#{ bean.selectOptions}">
> >       <tc:attribute name="renderedPartially" value=":page:panel"/>
> >     </tc:command>
> >   </f:facet>
> > </tc:selectOneChoice>
> >
> > <tc:panel id="panel">
> >   <tc:selectOneChoice ...>
> >     <f:selectItems value="#{bean.items2}"/>
> >   </tc:selectOneChoice>
> > </tc:panel>
> > ...
> > </tc:page>
> > --- /jsf ------------------------
> >
> > the action method "public String selectOptions() {...}" should update
> > the
> > selectItems in items2 property.
> > And MUST return null, because you don't want to navigate to anohter
> > view.
> >
> > Regards,
> >   Volker
> >
> >
> > 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> > > Hi All,
> > >
> > > I have a usecase where i need to dynamically change the
> > values(Options) of a
> > > ListBox [<tc:selectOneChoice>] based on a value selected in another
> > ListBox
> > > or based on the value entered in a textbox[<tc:in>]. At present i have
> > > achieved this using changeEventListener in which the form is submitted
> > to
> > > the server. But i dont want to go to server to get the values. Wanna
> > do that
> > > using AJAX.
> > >
> > > So is there a way that we can achieve this with the thirdparty AJAX
> > > frameworks like YUI, ScriptAculoUs, ProtoType etc.
> > >
> > > It would be great if someone can provide any kinda examples ?
> > >
> > > Thanks in Advance.
> > >
> > > Regards,
> > > Varma
> > >
> > >
> >
>
>

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Varma Dendukuri <vd...@gmail.com>.
Hi Volker,

Thanks for the Quick Response.

When i was trying this, getting the following javascript error.

LOG.debugAjaxComponents is not a function.       tobago.js (line 595)

I'm running on Tobago 1.0.9. I have gone through the js code and found that
there is no function called "debugAjaxComponents" defined in the class LOG.

Am i missing anything ??

Regards,
Varma

On 2/12/07, Volker Weber <v....@inexso.de> wrote:
>
> Hi Varma,
>
> i have no experience with 'thirdparty AJAX frameworks', but i don't
> think they work with tobago.
>
> But you can do this with the tobago internal ajax partial reload feature.
>
> put the second tc:selectOneChoice into a tc:panel with defined
> clientId ( this means you set a id to this panel and to all
> surrounding namingContainer components).
>
> add a 'change' facet to the first tc:selectOneChoice with a action to
> change the options for the second one, and a renderedPartially
> attribute to update.
>
> --- jsf ------------------------
> <tc:page id="page">
> ...
> <tc:selectOneChoice ...>
>   <f:selectItems .../>
>   <f:facet name="change">
>     <tc:command action="#{bean.selectOptions}">
>       <tc:attribute name="renderedPartially" value=":page:panel"/>
>     </tc:command>
>   </f:facet>
> </tc:selectOneChoice>
>
> <tc:panel id="panel">
>   <tc:selectOneChoice ...>
>     <f:selectItems value="#{bean.items2}"/>
>   </tc:selectOneChoice>
> </tc:panel>
> ...
> </tc:page>
> --- /jsf ------------------------
>
> the action method "public String selectOptions() {...}" should update the
> selectItems in items2 property.
> And MUST return null, because you don't want to navigate to anohter view.
>
> Regards,
>   Volker
>
>
> 2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> > Hi All,
> >
> > I have a usecase where i need to dynamically change the values(Options)
> of a
> > ListBox [<tc:selectOneChoice>] based on a value selected in another
> ListBox
> > or based on the value entered in a textbox[<tc:in>]. At present i have
> > achieved this using changeEventListener in which the form is submitted
> to
> > the server. But i dont want to go to server to get the values. Wanna do
> that
> > using AJAX.
> >
> > So is there a way that we can achieve this with the thirdparty AJAX
> > frameworks like YUI, ScriptAculoUs, ProtoType etc.
> >
> > It would be great if someone can provide any kinda examples ?
> >
> > Thanks in Advance.
> >
> > Regards,
> > Varma
> >
> >
>

Re: [Tobago] Ajax Frameworks With Tobago.

Posted by Volker Weber <v....@inexso.de>.
Hi Varma,

i have no experience with 'thirdparty AJAX frameworks', but i don't
think they work with tobago.

But you can do this with the tobago internal ajax partial reload feature.

put the second tc:selectOneChoice into a tc:panel with defined
clientId ( this means you set a id to this panel and to all
surrounding namingContainer components).

add a 'change' facet to the first tc:selectOneChoice with a action to
change the options for the second one, and a renderedPartially
attribute to update.

--- jsf ------------------------
<tc:page id="page">
...
<tc:selectOneChoice ...>
  <f:selectItems .../>
  <f:facet name="change">
    <tc:command action="#{bean.selectOptions}">
      <tc:attribute name="renderedPartially" value=":page:panel"/>
    </tc:command>
  </f:facet>
</tc:selectOneChoice>

<tc:panel id="panel">
  <tc:selectOneChoice ...>
    <f:selectItems value="#{bean.items2}"/>
  </tc:selectOneChoice>
</tc:panel>
...
</tc:page>
--- /jsf ------------------------

the action method "public String selectOptions() {...}" should update the
selectItems in items2 property.
And MUST return null, because you don't want to navigate to anohter view.

Regards,
  Volker


2007/2/12, Varma Dendukuri <vd...@gmail.com>:
> Hi All,
>
> I have a usecase where i need to dynamically change the values(Options) of a
> ListBox [<tc:selectOneChoice>] based on a value selected in another ListBox
> or based on the value entered in a textbox[<tc:in>]. At present i have
> achieved this using changeEventListener in which the form is submitted to
> the server. But i dont want to go to server to get the values. Wanna do that
> using AJAX.
>
> So is there a way that we can achieve this with the thirdparty AJAX
> frameworks like YUI, ScriptAculoUs, ProtoType etc.
>
> It would be great if someone can provide any kinda examples ?
>
> Thanks in Advance.
>
> Regards,
> Varma
>
>