You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/07/27 05:46:21 UTC
svn commit: r425944 - in /tapestry/tapestry4/trunk/tapestry-framework: ./
src/java/org/apache/tapestry/form/FormSupportImpl.java
src/test/org/apache/tapestry/form/FormTest.java
Author: jkuhnert
Date: Wed Jul 26 20:46:21 2006
New Revision: 425944
URL: http://svn.apache.org/viewvc?rev=425944&view=rev
Log:
Fixed bug that caused form initilization scripts (for validation) to not be registered if form focus was disabled. Oops!
Modified:
tapestry/tapestry4/trunk/tapestry-framework/ (props changed)
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormTest.java
Propchange: tapestry/tapestry4/trunk/tapestry-framework/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jul 26 20:46:21 2006
@@ -1,3 +1,5 @@
+
target
classes
cachedir
+null
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java?rev=425944&r1=425943&r2=425944&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java Wed Jul 26 20:46:21 2006
@@ -533,11 +533,11 @@
// If the form doesn't support focus, or the focus has already been set by a different form,
// then do nothing.
- if (!_form.getFocus() || _cycle.getAttribute(FIELD_FOCUS_ATTRIBUTE) != null)
- return;
-
- _pageRenderSupport.addInitializationScript(_form, "tapestry.form.focusField('" + fieldId + "');");
- _cycle.setAttribute(FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
+ if (_form.getFocus() && _cycle.getAttribute(FIELD_FOCUS_ATTRIBUTE) != null) {
+
+ _pageRenderSupport.addInitializationScript(_form, "tapestry.form.focusField('" + fieldId + "');");
+ _cycle.setAttribute(FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
+ }
// register the validation profile with client side form manager
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormTest.java?rev=425944&r1=425943&r2=425944&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormTest.java Wed Jul 26 20:46:21 2006
@@ -325,6 +325,50 @@
verify();
}
+ public void test_Focus_Disabled()
+ {
+ IMarkupWriter writer = newWriter();
+ IRequestCycle cycle = newCycle();
+ FormSupport support = newFormSupport();
+ WebResponse response = newResponse();
+ IEngineService direct = newEngineService();
+ ILink link = newLink();
+ IRender render = newRender();
+ IValidationDelegate delegate = newDelegate();
+
+ Form form = newInstance(FormFixture.class, new Object[]
+ { "id", "myform", "expectedWriter", writer, "expectedRequestCycle", cycle,
+ "formSupport", support, "response", response, "directService", direct, "method",
+ "post", "delegate", delegate, "focus", false });
+
+ trainStoreForm(cycle, form);
+
+ trainIsRewinding(support, false);
+
+ trainGetUniqueId(cycle, "myform", "myform_1");
+
+ trainGetNamespace(response, "$ns");
+
+ trainGetLinkCheckIgnoreParameter(
+ direct,
+ cycle,
+ true,
+ new DirectServiceParameter(form),
+ link);
+
+ trainRender(support, link, render, null, null);
+
+ TapestryUtils.removeForm(cycle);
+
+ delegate.setFormComponent(null);
+
+ replay();
+
+ form.render(writer, cycle);
+
+ verify();
+ }
+
private IValidationDelegate newDelegate(boolean hasErrors)
{
IValidationDelegate delegate = newMock(IValidationDelegate.class);