hlship      2005/08/19 06:28:17

  Modified:    framework/src/java/org/apache/tapestry/form Form.js
                        FormSupportImpl.java
               .        status.xml
               framework/src/java/org/apache/tapestry/form/translator
                        AbstractTranslator.java NumberTranslator.java
                        NumberTranslator.js
               framework/src/test/org/apache/tapestry/form/validator
                        TestMax.java TestMinLength.java TestRequired.java
                        TestPattern.java TestMaxLength.java TestMin.java
                        TestEmail.java
               framework/src/java/org/apache/tapestry/form/validator
                        MaxLength.java Email.java Min.java Pattern.java
                        StringValidator.js Required.java RegExValidator.js
                        Max.java MinLength.java NumberValidator.js
               framework/src/java/org/apache/tapestry TapestryUtils.java
               framework/src/java/org/apache/tapestry/wml
                        GoFormSupportImpl.java
               framework/src/test/org/apache/tapestry/form/translator
                        TestStringTranslator.java TestNumberTranslator.java
                        TestDateTranslator.java
               framework/src/test/org/apache/tapestry
                        TestTapestryUtils.java
               framework/src/test/org/apache/tapestry/form
                        TestFormSupport.java
                        FormComponentContributorTestCase.java
  Removed:     framework/src/java/org/apache/tapestry/form/validator
                        ValidatorUtils.java
  Log:
  TAPESTRY-395: Rename framework javascript functions to avoid potential name 
collisions
  
  Revision  Changes    Path
  1.9       +8 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Form.js
  
  Index: Form.js
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Form.js,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Form.js   13 Aug 2005 15:02:34 -0000      1.8
  +++ Form.js   19 Aug 2005 13:28:16 -0000      1.9
  @@ -12,6 +12,10 @@
   // See the License for the specific language governing permissions and
   // limitations under the License.
   
  +// Define a Tapestry object to contain most functions.
  +
  +var Tapestry = new Object();
  +
   function default_invalid_field_handler(event, field, message)
   {
     // Temporary, while all the event logic is getting munged together
  @@ -19,7 +23,7 @@
     
     if (!event.abort && !field.disabled)
     {
  -    focus(field);
  +    Tapestry.set_focus(field);
       
       window.alert(message);
       
  @@ -28,7 +32,7 @@
     }
   }
   
  -function focus(field)
  +Tapestry.set_focus = function (field)
   {
        field.focus();
       
  @@ -36,12 +40,12 @@
           field.select();
   }
   
  -function trim(field)
  +Tapestry.trim_field_value = function(field)
   {
        field.value = field.value.replace(/^\s+/g, '').replace(/\s+$/g, '');
   }
   
  -function require(event, field, message)
  +Tapestry.require_field = function(event, field, message)
   {
       if (field.value.length == 0)
         event.invalid_field(field, message);
  
  
  
  1.11      +12 -15    
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
  
  Index: FormSupportImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/FormSupportImpl.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FormSupportImpl.java      21 Jul 2005 13:17:55 -0000      1.10
  +++ FormSupportImpl.java      19 Aug 2005 13:28:16 -0000      1.11
  @@ -286,7 +286,7 @@
           return buffer.toString();
       }
   
  -    private void emitEventHandlers(String eventManager)
  +    private void emitEventHandlers()
       {
           if (_events == null || _events.isEmpty())
               return;
  @@ -301,8 +301,9 @@
               FormEventType type = (FormEventType) entry.getKey();
               Object value = entry.getValue();
   
  -            buffer.append(eventManager);
  -            buffer.append(".");
  +            buffer.append("document.");
  +            buffer.append(_form.getName());
  +            buffer.append(".events.");
               buffer.append(type.getAddListenerMethodName());
   
               // Build a composite function in-place
  @@ -443,7 +444,7 @@
   
       public void render(String method, IRender informalParametersRenderer, 
ILink link)
       {
  -        String eventManager = emitEventManagerInitialization();
  +        emitEventManagerInitialization();
   
           // Convert the link's query parameters into a series of
           // hidden field values (that will be rendered later).
  @@ -470,7 +471,7 @@
   
           // Write out event handlers collected during the rendering.
   
  -        emitEventHandlers(eventManager);
  +        emitEventHandlers();
   
           informalParametersRenderer.render(_writer, _cycle);
   
  @@ -500,8 +501,8 @@
           if (!_form.getFocus() || _cycle.getAttribute(FIELD_FOCUS_ATTRIBUTE) 
!= null)
               return;
   
  -        _pageRenderSupport.addInitializationScript("focus(document." + 
_form.getName() + "."
  -                + field + ");");
  +        
_pageRenderSupport.addInitializationScript("Tapestry.set_focus(document." + 
_form.getName()
  +                + "." + field + ");");
   
           _cycle.setAttribute(FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
       }
  @@ -510,21 +511,17 @@
        * Pre-renders the form, setting up some client-side form support. 
Returns the name of the
        * client-side form event manager variable.
        */
  -    protected String emitEventManagerInitialization()
  +    protected void emitEventManagerInitialization()
       {
           if (_pageRenderSupport == null)
  -            return null;
  +            return;
   
           _pageRenderSupport.addExternalScript(_script);
   
           String formName = _form.getName();
   
  -        String eventManager = formName + "_events";
  -
  -        _pageRenderSupport.addInitializationScript("var " + eventManager
  -                + " = new FormEventManager(document." + formName + ");");
  -
  -        return eventManager;
  +        _pageRenderSupport.addInitializationScript("new 
FormEventManager(document." + formName
  +                + ");");
       }
   
       public String rewind()
  
  
  
  1.219     +1 -0      jakarta-tapestry/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/status.xml,v
  retrieving revision 1.218
  retrieving revision 1.219
  diff -u -r1.218 -r1.219
  --- status.xml        18 Aug 2005 21:56:06 -0000      1.218
  +++ status.xml        19 Aug 2005 13:28:16 -0000      1.219
  @@ -67,6 +67,7 @@
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-568">Engine services 
should use getName() when constructing thier parameter maps so that they may be 
more easily subclassed and extended</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-566">Annotations jar 
on classpath breaks Tapestry if not running on JDK 1.5</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-563">NumberValidator 
should allow a special case for rendering zero</action>
  +      <action type="fix" dev="HLS" fixes-bug="TAPESTRY-395">Rename framework 
javascript functions to avoid potential name collisions</action>
       </release>
       <release version="4.0-beta-4" date="Aug 10 2005">
         <action type="fix" dev="HLS">Add getComponent() method to 
IComponent.</action>
  
  
  
  1.6       +1 -1      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/AbstractTranslator.java
  
  Index: AbstractTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/AbstractTranslator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AbstractTranslator.java   18 Aug 2005 21:56:06 -0000      1.5
  +++ AbstractTranslator.java   19 Aug 2005 13:28:16 -0000      1.6
  @@ -108,7 +108,7 @@
           super.renderContribution(writer, cycle, context, field);
   
           if (_trim)
  -            context.addSubmitListener("trim(" + context.getFieldDOM() + ")");
  +            context.addSubmitListener("function (event) { 
Tapestry.trim_field_value(" + context.getFieldDOM() + "); }");
       }
   
       public boolean isTrim()
  
  
  
  1.9       +4 -8      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/NumberTranslator.java
  
  Index: NumberTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/NumberTranslator.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- NumberTranslator.java     18 Aug 2005 21:56:06 -0000      1.8
  +++ NumberTranslator.java     19 Aug 2005 13:28:16 -0000      1.9
  @@ -20,9 +20,9 @@
   import java.util.Locale;
   
   import org.apache.hivemind.util.PropertyUtils;
  -import org.apache.hivemind.util.StringUtils;
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.valid.ValidationConstraint;
  @@ -122,14 +122,10 @@
       {
           super.renderContribution(writer, cycle, context, field);
   
  -        String message = buildMessage(context, field, getMessageKey());
  +        String message = TapestryUtils.enquote(buildMessage(context, field, 
getMessageKey()));
   
  -        // Escape backslashes and single quotes in the message
  -        message = StringUtils.replace(message, "\\", "\\\\");
  -        message = StringUtils.replace(message, "'", "\\'");
  -
  -        context.addSubmitListener("validate_number(event, " + 
context.getFieldDOM() + ", '"
  -                + message + "')");
  +        context.addSubmitListener("function(event) { 
Tapestry.validate_number(event, "
  +                + context.getFieldDOM() + ", " + message + "); }");
       }
   
       /**
  
  
  
  1.3       +4 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/NumberTranslator.js
  
  Index: NumberTranslator.js
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/NumberTranslator.js,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NumberTranslator.js       16 Jun 2005 18:27:11 -0000      1.2
  +++ NumberTranslator.js       19 Aug 2005 13:28:16 -0000      1.3
  @@ -12,8 +12,10 @@
   // See the License for the specific language governing permissions and
   // limitations under the License.
   
  -function validate_number(event, field, message)
  +Tapestry.validate_number = function(event, field, message)
   {
  +     if (field.value == "") return;
  +     
        if (isNaN(field.value))
  -        return handle_invalid_field(event, field, message)    
  +        event.invalid_field(field, message)    
   }
  
  
  
  1.3       +2 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMax.java
  
  Index: TestMax.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMax.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestMax.java      8 Aug 2005 17:23:14 -0000       1.2
  +++ TestMax.java      19 Aug 2005 13:28:16 -0000      1.3
  @@ -111,7 +111,7 @@
           contextc.setReturnValue("document.myform.myfield");
   
           context
  -                .addSubmitListener("function(event) { 
validate_max_number(event, document.myform.myfield, 20.0, 'default message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_max_number(event, document.myform.myfield, 20.0, 'default 
message'); }");
   
           replayControls();
   
  @@ -144,7 +144,7 @@
           contextc.setReturnValue("document.myform.myfield");
   
           context
  -                .addSubmitListener("function(event) { 
validate_max_number(event, document.myform.myfield, 20.0, 'custom\\\\message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_max_number(event, document.myform.myfield, 20.0, 
'custom\\\\message'); }");
   
           replayControls();
   
  
  
  
  1.5       +2 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMinLength.java
  
  Index: TestMinLength.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMinLength.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestMinLength.java        9 Aug 2005 21:35:52 -0000       1.4
  +++ TestMinLength.java        19 Aug 2005 13:28:16 -0000      1.5
  @@ -110,7 +110,7 @@
           { new Integer(20), "My Field" }, "default message");
   
           context
  -                .addSubmitListener("function(event) { 
validate_min_length(event, document.myform.myfield, 20, 'default message'); }");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_min_length(event, document.myform.myfield, 20, 'default 
message'); }");
   
           replayControls();
   
  @@ -143,7 +143,7 @@
                   "custom\\message");
   
           context
  -                .addSubmitListener("function(event) { 
validate_min_length(event, document.myform.myfield, 25, 'custom\\\\message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_min_length(event, document.myform.myfield, 25, 
'custom\\\\message'); }");
   
           replayControls();
   
  
  
  
  1.8       +1 -1      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestRequired.java
  
  Index: TestRequired.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestRequired.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TestRequired.java 10 Aug 2005 06:02:51 -0000      1.7
  +++ TestRequired.java 19 Aug 2005 13:28:16 -0000      1.8
  @@ -179,7 +179,7 @@
                   "Default\\Message for Fred.");
   
           context
  -                .addSubmitListener("function(event) { require(event, 
document.fred.barney, 'Default\\\\Message for Fred.'); }");
  +                .addSubmitListener("function(event) { 
Tapestry.require_field(event, document.fred.barney, 'Default\\\\Message for 
Fred.'); }");
   
           replayControls();
   
  
  
  
  1.3       +2 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestPattern.java
  
  Index: TestPattern.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestPattern.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestPattern.java  8 Aug 2005 17:23:14 -0000       1.2
  +++ TestPattern.java  19 Aug 2005 13:28:16 -0000      1.3
  @@ -120,7 +120,7 @@
           contextc.setReturnValue("document.fred.barney");
   
           context
  -                .addSubmitListener("function(event) { validate_regexp(event, 
document.fred.barney, '"
  +                .addSubmitListener("function(event) { 
Tapestry.validate_regexp(event, document.fred.barney, '"
                           + pattern + "', 'default message'); }");
   
           replayControls();
  @@ -158,7 +158,7 @@
           contextc.setReturnValue("document.fred.barney");
   
           context
  -                .addSubmitListener("function(event) { validate_regexp(event, 
document.fred.barney, '"
  +                .addSubmitListener("function(event) { 
Tapestry.validate_regexp(event, document.fred.barney, '"
                           + pattern + "', 'custom\\\\message'); }");
   
           replayControls();
  
  
  
  1.4       +1 -1      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMaxLength.java
  
  Index: TestMaxLength.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMaxLength.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestMaxLength.java        8 Aug 2005 17:23:14 -0000       1.3
  +++ TestMaxLength.java        19 Aug 2005 13:28:16 -0000      1.4
  @@ -109,7 +109,7 @@
           { new Integer(20), "My Field" }, "default\\message");
   
           context
  -                .addSubmitListener("function(event) { 
validate_max_length(event, document.myform.myfield, 20, 'default\\\\message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_max_length(event, document.myform.myfield, 20, 
'default\\\\message'); }");
   
           replayControls();
   
  
  
  
  1.3       +2 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMin.java
  
  Index: TestMin.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestMin.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestMin.java      8 Aug 2005 17:23:14 -0000       1.2
  +++ TestMin.java      19 Aug 2005 13:28:16 -0000      1.3
  @@ -110,7 +110,7 @@
           contextc.setReturnValue("document.myform.myfield");
   
           context
  -                .addSubmitListener("function(event) { 
validate_min_number(event, document.myform.myfield, 20.0, 'default message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_min_number(event, document.myform.myfield, 20.0, 'default 
message'); }");
   
           replayControls();
   
  @@ -143,7 +143,7 @@
           contextc.setReturnValue("document.myform.myfield");
   
           context
  -                .addSubmitListener("function(event) { 
validate_min_number(event, document.myform.myfield, 20.0, 'custom\\\\message'); 
}");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_min_number(event, document.myform.myfield, 20.0, 
'custom\\\\message'); }");
   
           replayControls();
   
  
  
  
  1.4       +2 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestEmail.java
  
  Index: TestEmail.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestEmail.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestEmail.java    8 Aug 2005 17:23:14 -0000       1.3
  +++ TestEmail.java    19 Aug 2005 13:28:16 -0000      1.4
  @@ -119,7 +119,7 @@
           contextc.setReturnValue("document.fred.barney");
   
           context
  -                .addSubmitListener("function(event) { validate_regex(event, 
document.fred.barney, '"
  +                .addSubmitListener("function(event) { 
Tapestry.validate_regex(event, document.fred.barney, '"
                           + pattern + "', 'default\\\\message'); }");
   
           replayControls();
  @@ -158,7 +158,7 @@
           contextc.setReturnValue("document.fred.barney");
   
           context
  -                .addSubmitListener("function(event) { validate_regex(event, 
document.fred.barney, '"
  +                .addSubmitListener("function(event) { 
Tapestry.validate_regex(event, document.fred.barney, '"
                           + pattern + "', 'custom message'); }");
   
           replayControls();
  
  
  
  1.6       +6 -5      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/MaxLength.java
  
  Index: MaxLength.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/MaxLength.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MaxLength.java    9 Aug 2005 21:35:52 -0000       1.5
  +++ MaxLength.java    19 Aug 2005 13:28:16 -0000      1.6
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -71,14 +72,14 @@
               FormComponentContributorContext context, IFormComponent field)
       {
           
context.includeClasspathScript("/org/apache/tapestry/form/validator/StringValidator.js");
  -        
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_max_length(event, ");
  +
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_max_length(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", ");
           buffer.append(_maxLength);
  -        buffer.append(", '");
  -        
buffer.append(ValidatorUtils.escapeReservedCharacters(buildMessage(context, 
field)));
  -        buffer.append("'); }");
  +        buffer.append(", ");
  +        buffer.append(TapestryUtils.enquote(buildMessage(context, field)));
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.6       +6 -5      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Email.java
  
  Index: Email.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Email.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Email.java        9 Aug 2005 21:35:52 -0000       1.5
  +++ Email.java        19 Aug 2005 13:28:16 -0000      1.6
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -74,15 +75,15 @@
           
context.includeClasspathScript("/org/apache/tapestry/form/validator/RegExValidator.js");
   
           String pattern = _matcher.getEscapedPatternString(PATTERN);
  -        String message = buildMessage(context, field);
  +        String message = TapestryUtils.enquote(buildMessage(context, field));
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_regex(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_regex(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", '");
           buffer.append(pattern);
  -        buffer.append("', '");
  -        buffer.append(ValidatorUtils.escapeReservedCharacters(message));
  -        buffer.append("'); }");
  +        buffer.append("', ");
  +        buffer.append(message);
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.6       +5 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Min.java
  
  Index: Min.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Min.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Min.java  9 Aug 2005 21:35:52 -0000       1.5
  +++ Min.java  19 Aug 2005 13:28:16 -0000      1.6
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -72,13 +73,13 @@
   
           String message = buildMessage(context, field);
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_min_number(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_min_number(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", ");
           buffer.append(_min);
  -        buffer.append(", '");
  -        buffer.append(ValidatorUtils.escapeReservedCharacters(message));
  -        buffer.append("'); }");
  +        buffer.append(", ");
  +        buffer.append(TapestryUtils.enquote(message));
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.5       +5 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Pattern.java
  
  Index: Pattern.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Pattern.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Pattern.java      9 Aug 2005 21:35:52 -0000       1.4
  +++ Pattern.java      19 Aug 2005 13:28:16 -0000      1.5
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -76,13 +77,13 @@
           String pattern = _matcher.getEscapedPatternString(_pattern);
           String message = buildMessage(context, field);
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_regexp(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_regexp(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", '");
           buffer.append(pattern);
  -        buffer.append("', '");
  -        buffer.append(ValidatorUtils.escapeReservedCharacters(message));
  -        buffer.append("'); }");
  +        buffer.append("', ");
  +        buffer.append(TapestryUtils.enquote(message));
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.5       +6 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/StringValidator.js
  
  Index: StringValidator.js
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/StringValidator.js,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StringValidator.js        13 Aug 2005 15:02:34 -0000      1.4
  +++ StringValidator.js        19 Aug 2005 13:28:16 -0000      1.5
  @@ -12,14 +12,18 @@
   // See the License for the specific language governing permissions and
   // limitations under the License.
   
  -function validate_min_length(event, field, min, message)
  +Tapestry.validate_min_length = function(event, field, min, message)
   {
  +     if (field.value == "") return;
  +     
       if (field.value.length < min)
         event.invalid_field(field, message)
   }
   
  -function validate_max_length(event, field, max, message)
  +Tapestry.validate_max_length = function(event, field, max, message)
   {
  +     if (field.value == "") return;
  +     
       if (field.value.length > max)
         event.invalid_field(field, message)
   }
  
  
  
  1.9       +5 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Required.java
  
  Index: Required.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Required.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Required.java     10 Aug 2005 06:02:51 -0000      1.8
  +++ Required.java     19 Aug 2005 13:28:16 -0000      1.9
  @@ -18,6 +18,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -74,11 +75,11 @@
       {
           context.registerForFocus(ValidationConstants.REQUIRED_FIELD);
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
require(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.require_field(event, ");
           buffer.append(context.getFieldDOM());
  -        buffer.append(", '");
  -        
buffer.append(ValidatorUtils.escapeReservedCharacters(buildMessage(context, 
field)));
  -        buffer.append("'); }");
  +        buffer.append(", ");
  +        buffer.append(TapestryUtils.enquote(buildMessage(context, field)));
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.5       +1 -1      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/RegExValidator.js
  
  Index: RegExValidator.js
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/RegExValidator.js,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RegExValidator.js 13 Aug 2005 15:02:34 -0000      1.4
  +++ RegExValidator.js 19 Aug 2005 13:28:16 -0000      1.5
  @@ -12,7 +12,7 @@
   // See the License for the specific language governing permissions and
   // limitations under the License.
   
  -function validate_regex(event, field, pattern, message)
  +Tapestry.validate_regex = function(event, field, pattern, message)
   {
        var value = field.value;
        
  
  
  
  1.5       +6 -5      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Max.java
  
  Index: Max.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/Max.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Max.java  9 Aug 2005 21:35:52 -0000       1.4
  +++ Max.java  19 Aug 2005 13:28:16 -0000      1.5
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -70,15 +71,15 @@
       {
           
context.includeClasspathScript("/org/apache/tapestry/form/validator/NumberValidator.js");
   
  -        String message = buildMessage(context, field);
  +        String message = TapestryUtils.enquote(buildMessage(context, field));
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_max_number(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_max_number(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", ");
           buffer.append(_max);
  -        buffer.append(", '");
  -        buffer.append(ValidatorUtils.escapeReservedCharacters(message));
  -        buffer.append("'); }");
  +        buffer.append(", ");
  +        buffer.append(message);
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.6       +5 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/MinLength.java
  
  Index: MinLength.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/MinLength.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MinLength.java    9 Aug 2005 21:35:52 -0000       1.5
  +++ MinLength.java    19 Aug 2005 13:28:16 -0000      1.6
  @@ -16,6 +16,7 @@
   
   import org.apache.tapestry.IMarkupWriter;
   import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.TapestryUtils;
   import org.apache.tapestry.form.FormComponentContributorContext;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.form.ValidationMessages;
  @@ -76,13 +77,13 @@
       {
           
context.includeClasspathScript("/org/apache/tapestry/form/validator/StringValidator.js");
   
  -        StringBuffer buffer = new StringBuffer("function(event) { 
validate_min_length(event, ");
  +        StringBuffer buffer = new StringBuffer("function(event) { 
Tapestry.validate_min_length(event, ");
           buffer.append(context.getFieldDOM());
           buffer.append(", ");
           buffer.append(_minLength);
  -        buffer.append(", '");
  -        
buffer.append(ValidatorUtils.escapeReservedCharacters(buildMessage(context, 
field)));
  -        buffer.append("'); }");
  +        buffer.append(", ");
  +        buffer.append(TapestryUtils.enquote(buildMessage(context, field)));
  +        buffer.append("); }");
   
           context.addSubmitListener(buffer.toString());
       }
  
  
  
  1.4       +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/NumberValidator.js
  
  Index: NumberValidator.js
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/NumberValidator.js,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- NumberValidator.js        13 Aug 2005 15:02:34 -0000      1.3
  +++ NumberValidator.js        19 Aug 2005 13:28:16 -0000      1.4
  @@ -12,7 +12,7 @@
   // See the License for the specific language governing permissions and
   // limitations under the License.
   
  -function validate_min_number(event, field, min, message)
  +Tapestry.validate_min_number = function(event, field, min, message)
   {
        var num = eval(field.value)
        
  @@ -20,7 +20,7 @@
         event.invalid_field(field, message)
   }
   
  -function validate_max_number(event, field, max, message)
  +Tapestry.validate_max_number = function(event, field, max, message)
   {
        var num = eval(field.value)
        
  
  
  
  1.7       +36 -0     
jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryUtils.java
  
  Index: TapestryUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryUtils.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TapestryUtils.java        21 Jul 2005 13:17:58 -0000      1.6
  +++ TapestryUtils.java        19 Aug 2005 13:28:17 -0000      1.7
  @@ -29,6 +29,10 @@
    */
   public class TapestryUtils
   {
  +    private static final char QUOTE = '\'';
  +
  +    private static final char BACKSLASH = '\\';
  +
       /**
        * Stores an attribute into the request cycle, verifying that no object 
with that key is already
        * present.
  @@ -208,4 +212,36 @@
   
           return (String[]) strings.toArray(new String[strings.size()]);
       }
  +
  +    /**
  +     * Enquotes a string within single quotes, ready for insertion as part 
of a block of JavaScript.
  +     * Single quotes and backslashes within the input string are properly 
escaped.
  +     */
  +
  +    public static String enquote(String input)
  +    {
  +        Defense.notNull(input, "input");
  +
  +        char[] chars = input.toCharArray();
  +
  +        // Add room for the two quotes and a couple of escaped characters
  +
  +        StringBuffer buffer = new StringBuffer(chars.length + 5);
  +
  +        buffer.append(QUOTE);
  +
  +        for (int i = 0; i < chars.length; i++)
  +        {
  +            char ch = chars[i];
  +
  +            if (ch == QUOTE || ch == BACKSLASH)
  +                buffer.append(BACKSLASH);
  +
  +            buffer.append(ch);
  +        }
  +
  +        buffer.append(QUOTE);
  +
  +        return buffer.toString();
  +    }
   }
  \ No newline at end of file
  
  
  
  1.5       +1 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/wml/GoFormSupportImpl.java
  
  Index: GoFormSupportImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/wml/GoFormSupportImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- GoFormSupportImpl.java    16 Jun 2005 18:27:11 -0000      1.4
  +++ GoFormSupportImpl.java    19 Aug 2005 13:28:17 -0000      1.5
  @@ -60,8 +60,7 @@
                   "addEventHandler() not supported for WML Go component.");
       }
   
  -    protected String emitEventManagerInitialization()
  +    protected void emitEventManagerInitialization()
       {
  -        return null;
       }
   }
  \ No newline at end of file
  
  
  
  1.6       +1 -1      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestStringTranslator.java
  
  Index: TestStringTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestStringTranslator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TestStringTranslator.java 18 Aug 2005 21:56:06 -0000      1.5
  +++ TestStringTranslator.java 19 Aug 2005 13:28:17 -0000      1.6
  @@ -158,7 +158,7 @@
           context.getFieldDOM();
           contextc.setReturnValue("field_dom");
   
  -        context.addSubmitListener("trim(field_dom)");
  +        trainTrim(context, "field_dom");
   
           IFormComponent field = newField();
   
  
  
  
  1.10      +6 -4      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestNumberTranslator.java
  
  Index: TestNumberTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestNumberTranslator.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TestNumberTranslator.java 18 Aug 2005 21:56:06 -0000      1.9
  +++ TestNumberTranslator.java 19 Aug 2005 13:28:17 -0000      1.10
  @@ -212,7 +212,8 @@
   
           trainGetFieldDOM(contextc, context, "field_dom");
   
  -        context.addSubmitListener("validate_number(event, field_dom, 
'invalid number message')");
  +        context
  +                .addSubmitListener("function(event) { 
Tapestry.validate_number(event, field_dom, 'invalid number message'); }");
   
           IFormComponent field = newField("Number Field");
   
  @@ -252,7 +253,7 @@
           trainGetFieldDOM(contextc, context, "field_dom");
   
           context
  -                .addSubmitListener("validate_number(event, field_dom, 'Blah 
Blah \\'Field Name\\' Blah.')");
  +                .addSubmitListener("function(event) { 
Tapestry.validate_number(event, field_dom, 'Blah Blah \\'Field Name\\' Blah.'); 
}");
   
           IFormComponent field = newField("Number Field");
   
  @@ -280,7 +281,7 @@
   
           trainGetFieldDOM(contextc, context, "field_dom");
   
  -        context.addSubmitListener("trim(field_dom)");
  +        trainTrim(context, "field_dom");
   
           trainGetLocale(contextc, context, Locale.ENGLISH);
   
  @@ -289,7 +290,8 @@
   
           trainGetFieldDOM(contextc, context, "field_dom");
   
  -        context.addSubmitListener("validate_number(event, field_dom, 
'invalid number message')");
  +        context
  +                .addSubmitListener("function(event) { 
Tapestry.validate_number(event, field_dom, 'invalid number message'); }");
   
           IFormComponent field = newField("Number Field");
   
  
  
  
  1.8       +1 -1      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestDateTranslator.java
  
  Index: TestDateTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestDateTranslator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TestDateTranslator.java   18 Aug 2005 21:56:06 -0000      1.7
  +++ TestDateTranslator.java   19 Aug 2005 13:28:17 -0000      1.8
  @@ -244,7 +244,7 @@
           context.getFieldDOM();
           contextc.setReturnValue("field_dom");
   
  -        context.addSubmitListener("trim(field_dom)");
  +        trainTrim(context, "field_dom");
   
           replayControls();
   
  
  
  
  1.5       +12 -2     
jakarta-tapestry/framework/src/test/org/apache/tapestry/TestTapestryUtils.java
  
  Index: TestTapestryUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/TestTapestryUtils.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestTapestryUtils.java    3 May 2005 17:41:27 -0000       1.4
  +++ TestTapestryUtils.java    19 Aug 2005 13:28:17 -0000      1.5
  @@ -131,7 +131,7 @@
   
           verifyControls();
       }
  -    
  +
       public void testRemoveForm()
       {
           IRequestCycle cycle = newCycle();
  @@ -142,7 +142,7 @@
   
           TapestryUtils.removeForm(cycle);
   
  -        verifyControls(); 
  +        verifyControls();
       }
   
       public void testGetFormSuccess()
  @@ -262,4 +262,14 @@
           { "", "fred", "", "barney", "", "" }, 
TapestryUtils.split(",fred,,barney,,"));
       }
   
  +    public void testEnquote()
  +    {
  +        assertEquals("'simple'", TapestryUtils.enquote("simple"));
  +
  +        assertEquals("'this is a \\\\backslash\\\\'", TapestryUtils
  +                .enquote("this is a \\backslash\\"));
  +
  +        assertEquals("'this is a \\'single quote\\''", TapestryUtils
  +                .enquote("this is a 'single quote'"));
  +    }
   }
  \ No newline at end of file
  
  
  
  1.12      +14 -24    
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestFormSupport.java
  
  Index: TestFormSupport.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestFormSupport.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TestFormSupport.java      6 Aug 2005 06:58:27 -0000       1.11
  +++ TestFormSupport.java      19 Aug 2005 13:28:17 -0000      1.12
  @@ -160,8 +160,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -198,7 +197,7 @@
           trainGetFocusField(delegatec, delegate, "wilma");
           trainGetFieldFocus(cyclec, cycle, null);
   
  -        support.addInitializationScript("focus(document.myform.wilma);");
  +        
support.addInitializationScript("Tapestry.set_focus(document.myform.wilma);");
   
           trainSetFieldFocus(cycle);
   
  @@ -341,8 +340,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -377,7 +375,7 @@
           writer.end();
   
           support
  -                
.addInitializationScript("myform_events.addSubmitListener(function (event)\n{\n 
 mySubmit1();\n  mySubmit2();\n  mySubmit3();\n});\n");
  +                
.addInitializationScript("document.myform.events.addSubmitListener(function 
(event)\n{\n  mySubmit1();\n  mySubmit2();\n  mySubmit3();\n});\n");
   
           // Side test: what if no focus field?
   
  @@ -444,8 +442,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -543,8 +540,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -641,8 +637,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -725,8 +720,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -825,8 +819,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -861,7 +854,7 @@
           writer.end();
   
           support
  -                
.addInitializationScript("myform_events.addResetListener(function (event)\n{\n  
myReset1();\n  myReset2();\n});\n");
  +                
.addInitializationScript("document.myform.events.addResetListener(function 
(event)\n{\n  myReset1();\n  myReset2();\n});\n");
   
           trainGetFocusField(delegatec, delegate, null);
   
  @@ -1177,8 +1170,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -1291,8 +1283,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -1602,8 +1593,7 @@
           support.addExternalScript(new ClasspathResource(getClassResolver(),
                   "/org/apache/tapestry/form/Form.js"));
   
  -        support
  -                .addInitializationScript("var myform_events = new 
FormEventManager(document.myform);");
  +        support.addInitializationScript("new 
FormEventManager(document.myform);");
   
           link.getParameterNames();
           linkc.setReturnValue(new String[]
  @@ -1638,7 +1628,7 @@
           writer.end();
   
           support
  -                
.addInitializationScript("myform_events.addSubmitListener(function (event)\n{\n 
 mySubmit();\n});\n");
  +                
.addInitializationScript("document.myform.events.addSubmitListener(function 
(event)\n{\n  mySubmit();\n});\n");
   
           trainGetFocusField(delegatec, delegate, null);
   
  
  
  
  1.6       +6 -0      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/FormComponentContributorTestCase.java
  
  Index: FormComponentContributorTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/FormComponentContributorTestCase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FormComponentContributorTestCase.java     18 Aug 2005 21:56:06 -0000      
1.5
  +++ FormComponentContributorTestCase.java     19 Aug 2005 13:28:17 -0000      
1.6
  @@ -176,4 +176,10 @@
   
           return messages;
       }
  +
  +    protected void trainTrim(FormComponentContributorContext context, String 
fieldDOM)
  +    {
  +        context.addSubmitListener("function (event) { 
Tapestry.trim_field_value(" + fieldDOM
  +                + "); }");
  +    }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to