sunlabs.brazil.sunlabs

Class FormHelpTemplate

public class FormHelpTemplate extends FormTemplate

Template class for adding field help to the FormTemplate. The "help" attribute of the <form> element specifies a javascript template used to generate an event handler for each form element. The "help" attribute on each form element is passed to the javascript template, allowing a (user supplied) javascript function to present field specific help. The help text for each feld may be supplied as a server config file.

"help" feature:
This template may be used to provide field specific help with a little external javascript "glue". For example, the markup:

 <form event=onfocus help="do_help(%)">
 ...
   <input name=foo ... help="help for this input field">
 ...
 </form>
 
will generate:
 <form>
 ...
   <input ... onfocus='do_help("help for this input field")'>
 ...
 </form>
 
This works with the form elements <input> <select>, and <textarea>. The "event" defaults to "onfocus". If foo.help is a defined property then it is used as the help text.

Version: @(#)FormHelpTemplate.java 1.1

Author: Stephen Uhler

Method Summary
booleandone(RewriteContext hr)
protected voiddo_help(RewriteContext hr)
Look for help text, and put it into an event call.
protected Stringformat(String base, String arg)
Substitute "arg" into "base" at "%"
booleaninit(RewriteContext hr)
voidtag_form(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .
voidtag_input(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .
voidtag_option(RewriteContext hr)
Needed to retain parent functionality.
voidtag_select(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .
voidtag_slash_form(RewriteContext hr)
Forget about the "help" action.
voidtag_slash_select(RewriteContext hr)
Needed to retain parent functionality.
voidtag_textarea(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .

Method Detail

done

public boolean done(RewriteContext hr)

do_help

protected void do_help(RewriteContext hr)
Look for help text, and put it into an event call. First, see if the attribute "helpname" is specified, and use it to name the property containing the help text. Otherwise look in the "name".help property, and lastly the "help" attribute.

format

protected String format(String base, String arg)
Substitute "arg" into "base" at "%"

init

public boolean init(RewriteContext hr)

tag_form

public void tag_form(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .

tag_input

public void tag_input(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .

tag_option

public void tag_option(RewriteContext hr)
Needed to retain parent functionality.

tag_select

public void tag_select(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .

tag_slash_form

public void tag_slash_form(RewriteContext hr)
Forget about the "help" action.

tag_slash_select

public void tag_slash_select(RewriteContext hr)
Needed to retain parent functionality.

tag_textarea

public void tag_textarea(RewriteContext hr)
Look for a "help" attribute, remember its value, then remove it .