[
http://issues.apache.org/click/browse/CLK-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11715#action_11715
]
James P Brown commented on CLK-497:
-----------------------------------
Thank you for the prompt reply, again. I can respect the view that you would
not want to add more to the framework than is necessary.
However, I'm not sure I see how changing the behaviour of
setDisabled/setReadonly would make this use case work. As I see it, it is the
behaviour of the Field isDisabled/isReadonly methods that determine this
cascading behaviour. Children ask for the parent component, check their type,
decide if they are Fieldset or Form, and then ask their state. My
interpretation is that this would require changing the Field code, which I
thought would be hard to manage and maintain, or derive new types from all of
the existing components, which seemed redundant.
For that reason, I suggested a change at the framework level.
Regards,
James
> FieldSet isDisabled and isReadonly methods broken
> -------------------------------------------------
>
> Key: CLK-497
> URL: http://issues.apache.org/click/browse/CLK-497
> Project: Click
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.1
> Environment: Windows XP, Java 6
> Reporter: James P Brown
> Attachments: FieldSet_isDisabled_isReadonly_bug.zip
>
>
> The FieldSet is supposed to force its child components to be
> disabled/readonly when it is set to disabled/readonly. I did not observe this
> when I attempted to create a FieldSet with a child component.
> I believe the code to support this is not working as anticipated. The Field
> class has modified methods for isDisabled/isReadonly that specifically check
> if the parent component (i.e. container) is an instanceof FieldSet (or Form,
> which is working AFAIK). The problem is that the design of FieldSet relies on
> an instance of its private inner class FieldSet.InnerContainerField for
> managing those child elements. When I step through the code in debug mode,
> the class instance is of this inner class type (InnerContainerField) not
> FieldSet. Since InnerContainerField is not a type of FieldSet, the subsequent
> logic is ignored.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.