Yep.

public final Component setOutputMarkupPlaceholderTag(final boolean outputTag)
        {
                if (outputTag != getFlag(FLAG_PLACEHOLDER))
                {
                        if (outputTag)
                        {
                                setOutputMarkupId(true);
                                setFlag(FLAG_PLACEHOLDER, true);
                        }
                        else
                        {
                                setFlag(FLAG_PLACEHOLDER, false);
                                // I think it's better to not setOutputMarkupId 
to false...
                                // user can do it if we want
                        }
                }
                return this;
        }

But typing an extra line of code will not necessarily kill you;-)

Ernesto

On Tue, Dec 21, 2010 at 2:32 PM,  <mzem...@osc.state.ny.us> wrote:
> I think you are correct, calling setOutputMarkupId(true) is not necessary
> when calling setOutputMarkupPlaceholderTag(true).  If I remember correctly
> from looking at the code for  setOutputMarkupPlaceholderTag(), this will
> call setOutputMarkupId(true) for you.
>
>
>
>
> From:   Duro <develma...@yahoo.com>
> To:     users@wicket.apache.org
> Date:   12/21/2010 08:24 AM
> Subject:        Re: Visibility setting with Ajax
>
>
>
> thanks, setOutputMarkupId(true) is probably not necessary., but adding
> the component to target and setOutputMarkupPlaceholderTag(true) is.
> Now i tried to mak eit work even better and removed the panels from the
> site. i want to add them just on time, when the user request it. so site
> looks now like this:
>
> wicket:extend>
> <div align="center" style="background-color:red;padding:20px">
> <h2>Epubs upload</h2>
> <form wicket:id="form">
> <div style="background-color:#304050">
> <span wicket:id="panel"/>
> <a href="#" wicket:id="addLink">Add next file</a>
> <br/>
> <input wicket:id="submitButton" type="submit" value="Datei(en) laden"/>
> </div>
> <div wicket:id="feedback" class="error" style="background-color:yellow"/>
> </form>
> </div>
> </wicket:extend>
>
>
> and i try to create the panel dynamically:
>
> public void onClick(AjaxRequestTarget target) {
>                     panel.setOutputMarkupPlaceholderTag(true);
>                     target.addComponent(panel);
>                     panel.add(new UploadFilePanel("filePanel"));
>
> the markup of UploadFilePanel:
>
> <wicket:panel>
> <table style="padding-bottom:5px">
> <tr>
> <td width="180px">Typ</td>
> <td><select wicket:id="type" /></td>
> <td>Titel</td>
> <td><input type="text" wicket:id="title" /></td>
> </tr>
> <tr>
> <td>Jahr</td>
> <td><input type="text" wicket:id="year" /></td>
> <td>Ausgabe Nummer</td>
> <td><input type="text" wicket:id="issueNumber" /></td>
> </tr>
> <tr>
> <td>Datei</td>
> <td><input wicket:id="fileUploadField" type="file" /></td>
> <td colspan="2" valign="bottom">Ich bin Inhaber
>    des Mediens<input type="checkbox" wicket:id="ownerCheckbox"/></td>
> </tr>
> </table>
> </wicket:panel>
>
> this all end in the error:
>
> WicketMessage: The component(s) below failed to render. A common problem
> is that you have added a component in code but forgot to reference it in
> the markup (thus the component will never be rendered).
>
> 1. [MarkupContainer [Component id = panelX]]
> 2. [MarkupContainer [Component id = type]]
> 3. [MarkupContainer [Component id = title]]
> 4. [MarkupContainer [Component id = year]]
> 5. [MarkupContainer [Component id = issueNumber]]
> 6. [MarkupContainer [Component id = fileUploadField]]
> 7. [MarkupContainer [Component id = ownerCheckbox]]
>
> i understand that i didnt declare the things in the markup, but thats
> what i want (create them not at the start, but never or later, when the
> user clicks on the link). So what is needed to create the
> UploadFilePanel dynamically?
>  thanks for help
>
>
>> 1-Put
>>
>> uploadPanel2.setOutputMarkupId(true);
>> uploadPanel2.setOutputMarkupPlaceholderTag(true);
>> uploadPanel2.setVisible(false);
>>
>> when you create the panel.
>>
>> 2- on
>>
>>   public void onClick(AjaxRequestTarget target) {
>>              uploadPanel2.setVisible(true);
>>              target.addComponent(uploadPanel2);
>> }
>>
>> Ernesto
>>
>> On Tue, Dec 21, 2010 at 1:38 PM, Juraj Petko<juraj.pe...@gmail.com>
> wrote:
>>> Hi, i have 3 panels on my page:
>>> wicket:extend>
>>> <div align="center" style="background-color:red;padding:20px">
>>> <h2>Epubs upload</h2>
>>> <form wicket:id="form">
>>> <div style="background-color:#304050">
>>> <span wicket:id="uploadPanel1"/>
>>> <span wicket:id="uploadPanel2"/>
>>> <span wicket:id="uploadPanel3"/>
>>> <a href="#" wicket:id="addLink">Add next file</a>
>>> <br/>
>>> <input wicket:id="submitButton" type="submit" value="Datei(en) laden"/>
>>> </div>
>>> <div wicket:id="feedback" class="error"
> style="background-color:yellow"/>
>>> </form>
>>> </div>
>>> </wicket:extend>
>>>
>>> and only after clicking addLink, the user should see the uploadPanel2.
> So i
>>> coded this:
>>>
>>> add(new AjaxFallbackLink("addLink") {
>>>                 private static final long serialVersionUID =
>>> -4427831923318024979L;
>>>
>>>                 @Override
>>>                 public void onClick(AjaxRequestTarget target) {
>>>                     uploadPanel2.setVisible(true);
>>>                 }
>>>             });
>>>
>>> When i debug, the method onClick() is really entered and
>>> uploadPanel2.setVisible(true) is executed, but the panel is still not
>>> visible. What else i have to do?
>>>   thanks!
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
> __________________________________________________
> Do You Yahoo!?
> Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz
> gegen Massenmails.
> http://mail.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
>
>
>
>
> Notice: This communication, including any attachments, is intended solely
> for the use of the individual or entity to which it is addressed. This
> communication may contain information that is protected from disclosure
> under State and/or Federal law. Please notify the sender immediately if
> you have received this communication in error and delete this email from
> your system. If you are not the intended recipient, you are requested not
> to disclose, copy, distribute or take any action in reliance on the
> contents of this information.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to