Hi,Sylvain:
    I have thought about invisible state,and studied the mail archive about 
widget's state.
    Is it now I can't just use flowscript to hide a widget ?

Roy Huang

----- Original Message ----- 
From: "Sylvain Wallez" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 22, 2004 9:41 PM
Subject: Re: Question and Suggessions about forms block in 2.1.6


> roy huang wrote:
> 
> >Hi,all:
> >    in 2.1.6,Forms add widget state.I have test it yesterday and found some 
> > problems and questions.
> >    Questions:
> >    In V2 flowscript,I can set widget state:
> >        var name=form.lookupWidget("name");
> >        name.state="disabled";
> >    but in V1,I can get but set will produce an error:
> >        var name=form.lookupWidget("name");
> >        print(name.state);    //works here
> >        name.state="disabled";    //error here.
> >    The error is like can't convert disabled to Widgetstate ....
> >    How can I change a widget's state in V1?
> >  
> >
> 
> Use name.setWidgetState(WidgetState.DISABLED)
> 
> >    Suggestions:
> >    I use forms block to develop a real application,some application's 
> > requirements here:
> >    i)  Widgets can't be displayed under some conditions
> >    ii) Widgets should be read-only under some conditions
> >    In 2.1.5.1,My solutions are:
> >    To i),Use jxtemplates with <jx:if> to control display the widget or not
> >    To ii),a)Use jxtemplates with <jx:if> to add <fi:styling> disabled to 
> > the widget
> >          b)Use two widget,one is <fd:field> another is <fd:output>,using 
> > <jx:if> to control display one of them.If need to edit ,display the field 
> > widget,if need to display only ,make the field widget hidden and display 
> > the output widget(set its value using flowscript).I can't using <fi:styling 
> > type="output"/> because this will make the field widget's value empty after 
> > save.
> >    I don't like these solutions because they all need coding in 
> > jxtemplate,mix UI and logic.
> >    
> >    2.1.6 add widget state,now has 3 state:active,disabled,invisible.It 
> > seems disabled and invisible state can help me to make a better 
> > solutions,but here's the problem:
> >    1.State disabled render a widget with disabled attribute,just like my 
> > solution ii) a),but can't do the same effaces like ii).b).I try to modify 
> > forms-field-styling.xsl,found if only display value,the field widget's 
> > value will be empty after save.
> >    2.State invisible just make a widget can't be used,and I can't use it 
> > for i) because if my style page using the invisible widget will produce 
> > exception like don't have this element ...
> >    
> >    My suggestions are:
> >    A)If a widget's state is invisible,let render knows it is 
> > invisible,don't delete the widget.We can make the widget invisible by 
> > modify forms-field-styling.xsl.
> >  
> >
> 
> No, invisible is, as its name implies, is really *not visible*.
> 
> What you describe here comes again to an additional "output" state that
> I think we should add, considering the vast number of use cases where it
> could be used.
> 
> >    B)To state disabled,we can keep current display method using input 
> > disabled attributed,but the widget's value shouldn't get from the 
> > request.This allow user adjust forms-field-styling.xsl to just display text 
> > in final page.
> >    C)If B) is not a good suggestion,then make <fi:styling="output"/> just 
> > like <fd:output> to keep it's original value or make it possible to change 
> > one widget's type form field to output.
> >  
> >
> 
> That's what an "output" state would allow.
> 
> How does that sound?
> 
> Sylvain
> 
> -- 
> Sylvain Wallez                                  Anyware Technologies
> http://www.apache.org/~sylvain           http://www.anyware-tech.com
> { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
> 
> 

Reply via email to