Hi Helmut, hi All,

thanks a lot for your help, but it still doesn't work. The syntax for the action listener method was right. I changed the binding to action, as you suggested, and now I get the following log message:

2008-05-19 15:29:19 ERROR - org.apache.myfaces.tobago.context.ResourceManagerImpl:265 - Path not found, and no fallback. Using empty string. resourceDirs = '[tobago-resource, org/apache/myfaces/tobago/renderkit]' contentType = 'html' theme = 'speyside' browser = 'mozilla_5_0' subDir = 'property' name = 'tobago' suffix = '' key = 'javax.faces.component.UISelectOne.INVALID

But i don't know why. Maybe there is something wrong with my backing bean:

   private ArrayList<SelectItem> authors;
private SelectItem selectedAuthor; ... public void onNew() {
       LOG.info("authors size: " + authors.size());
       Author author = new Author();
       author.setForename("Forename");
       author.setMiddleName("MiddleName");
       author.setSurname("Surename");
       authors.add(new SelectItem(author));
       LOG.info("authors size: " + authors.size());
   }

...

all getter and setter methods are set.

Thanks for any help.
Tobi
Helmut Swaczinna schrieb:
Hi Tobi,

I think it should work with an ActionListener but I prefer to use Actions for buttons. In this case returning null or void. One reason for not calling the ActionListener may be a wrong method signature. Must be
public void onNew(ActionEvent e).

Case 4: The id in the renderedPartially attribute is wrong. First, the box is not a naming container, so it is not part of the id, and second, the listbox is not an Ajax component (afaik), so it must be enclosed in a panel or just
the box you already have.

Hope that helps
Helmut

----- Original Message ----- From: "Tobias Reifenstuel" <[EMAIL PROTECTED]>
To: "MyFaces Discussion" <[email protected]>
Sent: Sunday, May 18, 2008 12:55 PM
Subject: Re: [Tobago] a listbox in a popup


Hi Helmut,

thanks for the fast answer. I tried your suggestion, but it still doesn't work. Here are my further tries:

Case 3 (see code from the first mail except the part wiht the "Add" button)
I changed this part of the code:

<tc:attribute name="renderedPartially" value=":page:popup:box" />

The box seems to be reloaded (for a second I can see the scrollbar), but without the new value should be added over the onNew method (ActionListener). If I look into my logs the method is never called, but why? It is only called if I drop the renderedPartially attribute.


Case 4
<tc:attribute name="renderedPartially" value=":page:popup:box:listbox" />
Here the popup doesn't even show up.

By the way I am using Tobago 1.0.16


Thanks for any help.
Tobi


Helmut Swaczinna schrieb:
Hi,

you should render partially the box or panel inside the popup not the popup itself when the App button is clicked.

Helmut

----- Original Message ----- From: "Tobias Reifenstuel" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, May 16, 2008 5:03 PM
Subject: [Tobago] a listbox in a popup


Hi All,

I have a problem with building a popup with a listbox.

Case 1 (see code below):
If I click on the "Add" button the popup will be partially rendered, but without the new entry inside the listbox. The new entry should be added by the actionListener.

Case 2 (also code below, but without the attribute tag inside the "Add" button tags): If I drop the tag <tc:attribute name="renderedPartially" value=":page:popup" /> within the "Add" button tags, the popup disappears after clicking on the button "Add". I can open it again and the new entry is available, but this is not very user-friendly.

For me it seems that the combination of actionListener and renderedPartially doesn't work.

<tc:popup id="popup" width="300px" height="200px" >
               <tc:box id="box" label="Author input">
                   <f:facet name="layout">
                       <tc:gridLayout rows="*;50px"/>
                   </f:facet>

                   <tc:selectOneListbox id="listbox"
                       value="#{author.selectedAuthor}">
                       <f:selectItems value="#{author.authors}" />
                   </tc:selectOneListbox>

                  <tc:panel id="buttons">
                       <f:facet name="layout">
                           <tc:gridLayout columns="*;*;*" />
                       </f:facet>
<tc:button actionListener="#{author.onNew}" label="Add"> <tc:attribute name="renderedPartially" value=":page:popup" />
                       </tc:button>


                       <tc:button label="Ok">
<tc:attribute name="popupClose" value="afterSubmit" /> <tc:attribute name="renderedPartially" value=":page:popup" />
                       </tc:button>

                       <tc:button label="Cancel">
<tc:attribute name="popupClose" value="immediate" />
                       </tc:button>
                       <tc:cell />
                   </tc:panel>

               </tc:box>
</tc:popup>

Thanks for any helping.
Tobi





Reply via email to