Sylvain Wallez wrote:

Claudius Spellmann wrote:

Hi,

I've created a patch to set a visibilitystatus for widgets. This means that all widgets can be set visible or invisible on a form when a form is created or using flowscript.



This has already been discussed here: we need widget states. However, state isn't limited to visible/invisible. We also need states like active/inactive.


AFAIR, the list of states we came up to was:
- active : the current behaviour
- disabled: the widget is displayed, but its value (or sub-widgets in the case of containers) isn't read from the request.
- hidden: the widget isn't displayed, and of course it's value isn't read from the request.


States should be inherited by child widgets, taking into account the following state priority:
active < disabled < hidden.


That means that if a repeater is hidden, its children will be hidden also even if their own state is active or disabled.

We also need to be able to set an intial state in the form definition (default being "active"). I propose a common "state" attribute for this, available on all widget types, e.g.
<fd:repeater id="foo" state="hidden">
...
</fd:repeater>


We've discussed this many times and it appears it is a real need now, so let's do it right now.

Are we ok with this definition?

How does this relate to validation? The reason I ask is that this feels very close to support for wizards (unless I'm just being stupid).


If we can 'group' a few widgets together, and enable or disable them, we could then show part (a) of the form, then part (b), etc. Now, if a field in this contect is 'disabled', a value will not be read from the request, and no validation would be done on its value.

Thoughts? Am I off beam?

Regards, Upayavira

Reply via email to