You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Borut BolĨina <bo...@gmail.com> on 2007/04/26 12:48:18 UTC

Conditional properties in EditBean component

Hello,

I want one of the properties of the bean which is passed to EditBean
component to be conditionally entered/provided. The condition is set
by a user by clicking on a checkbox which is rendered by EditBean
component. The selected checkbox should render (async) another <tr>
with an input box (or just a message saying you have to select
something in some other component, like Tree for example, ).

I know how to toogle and render some boolean value with DirectLink,
but I am having major problem with EditBean. Clicking on a checkbox
calls the method onClickInsideEditBean:

    @Persist
    public abstract boolean getReferenceSelected();
    public abstract void setReferenceSelected(boolean b);

    @EventListener(events = {"onclick"}, targets="beanFormCategory")
    public void onClickInsideEditBean(BrowserEvent event) {
        System.out.println("Child with id: " + event.getTarget().get("id"));
        if (event.getTarget().get("id").equals("reference")) { // user
clicked checkbox named reference
            setReferenceSelected(!getReferenceSelected());
        }
    }

### html ###
<div jwcid="beanFormCategory@Any" >
    <form jwcid="c@bf:BeanForm"
        bean="ognl:categoryToEdit"
                                    properties="literal:
                                        name{required},
                                        comment,
                                        pageComment,
                                        pagePrompt,
                                        pageWarning,
                                        template,
                                        reference"
                                    delegate="bean:delegate"
                                    clientValidationEnabled="ognl:false"
                                    focus="ognl:true"
                                    save="listener:saveCategory"
                                    save_value="message:save"
                                    cancel="listener:cancel"
                                    cancel_value="message:cancel"
                                    class="bf"
                                    template_model="ognl:templatesPSM"
                                    async="true"

updateComponents="ognl:{'beanFormCategory','myComponent'}">
    <tr>
        <td class="bf_Left">ref.kategorija:</td>
        <td class="bf_Right">
        <div jwcid="myComponent@Any" id="myComponent">
        <span jwcid="@Insert" value="ognl:referenceSelected"/>
        </div>
        </td>
    </tr>

</form>
</div>

Clicking on a checkbox correctly toogles the boolean value, but the
component myComponent is not refreshed. An empty ajax response comes
back after click.

Where have I failed?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org