I assume you were trying this in beforeRender of your behaviour, which
as you say is too late.
If you really need to use a behaviour encapsulate all this, try
something like the following, but some may feel its a little
politically incorrect to do this in bind.
class MyBehaviour extends AbstractBehavior{
@Override
public void bind(Component component) {
if(!(component instanceof MarkupContainer)){
throw new RuntimeException("contaıners only
please");
}
visitChildren(new IVisitor<Component>(){
@Override
public Object component(Component component) {
component.add(new
SimpleAttributeModifier("class","goodChild"));
return IVisitor.CONTINUE_TRAVERSAL;
}
});
}
}
Regards - Cemal
jWeekend
OO & Java Technologies, Wicket
Consulting, Development, Training
http://jWeekend.com
On 15 April 2010 20:17, Warren Bell <[email protected]> wrote:
> I have that figured out, I just don't know how to add the attribute to each
> component. I can't add a behavior, since "Cannot modify component hierarchy
> after render phase has started (page version cant change then anymore)" Can
> I even do this in a behavior?
>
> Cemal Bayramoglu wrote:
>>
>> Warren,
>>
>> See MarkupContainer#visitChildren
>>
>> Regards - Cemal
>> jWeekend
>> OO & Java Technologies, Wicket
>> Consulting, Development, Training
>> http://jWeekend.com
>>
>> On 15 April 2010 18:44, Warren Bell <[email protected]> wrote:
>>
>>>
>>> Is there a way to add attributes to child components in a behavior that
>>> is added to a page? I want to create a behavior that is added to a page
>>> that adds some js to the header and then adds some js in an onfocus
>>> attribute of each child form component on the page. I have the list of
>>> child form components, but can't figure out how to add the attribute to
>>> the components.
>>>
>>> Warren
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> Thanks,
>
> Warren Bell
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]