You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by an...@apache.org on 2007/11/12 15:08:37 UTC
svn commit: r594152 - in /tapestry/tapestry4/trunk/tapestry-framework/src:
descriptor/META-INF/ java/org/apache/tapestry/form/
Author: andyhot
Date: Mon Nov 12 06:08:36 2007
New Revision: 594152
URL: http://svn.apache.org/viewvc?rev=594152&view=rev
Log:
enable the javascript module and use it to get the widget-js in FormSupportImpl (instead of looking for an IAsset attached to the form)
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/hivemodule.xml
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.form.xml
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportFactoryImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/hivemodule.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/hivemodule.xml?rev=594152&r1=594151&r2=594152&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/hivemodule.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/hivemodule.xml Mon Nov 12 06:08:36 2007
@@ -69,6 +69,7 @@
<sub-module descriptor="tapestry.l10n.xml"/>
<sub-module descriptor="tapestry.event.xml"/>
<sub-module descriptor="tapestry.render.xml"/>
+ <sub-module descriptor="tapestry.js.xml"/>
<service-point id="ClasspathResourceFactory">
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.form.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.form.xml?rev=594152&r1=594151&r2=594152&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.form.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.form.xml Mon Nov 12 06:08:36 2007
@@ -40,7 +40,11 @@
</service-point>
<service-point id="FormSupportFactory">
- <create-instance class="FormSupportFactoryImpl"/>
+ <invoke-factory>
+ <construct class="FormSupportFactoryImpl">
+ <set-service property="javascriptManager" service-id="tapestry.js.JavascriptManager"/>
+ </construct>
+ </invoke-factory>
</service-point>
<service-point id="GoFormSupportFactory" interface="FormSupportFactory">
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc?rev=594152&r1=594151&r2=594152&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc Mon Nov 12 06:08:36 2007
@@ -116,8 +116,6 @@
<reserved-parameter name="enctype" />
<reserved-parameter name="id" />
- <asset name="clientValidationScript" path="classpath:/dojo-0.4.3/dojo3.js" />
-
<inject property="directService" object="engine-service:direct" />
<inject property="response" object="infrastructure:response" />
<inject property="listenerInvoker" object="infrastructure:listenerInvoker" />
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportFactoryImpl.java?rev=594152&r1=594151&r2=594152&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportFactoryImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportFactoryImpl.java Mon Nov 12 06:08:36 2007
@@ -17,6 +17,7 @@
import org.apache.tapestry.IForm;
import org.apache.tapestry.IMarkupWriter;
import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.javascript.JavascriptManager;
/**
* The standard implementation of {@link FormSupportFactory}. It generates
@@ -26,8 +27,15 @@
*/
public class FormSupportFactoryImpl implements FormSupportFactory
{
+ private JavascriptManager _javascriptManager;
+
public FormSupport createFormSupport(IMarkupWriter writer, IRequestCycle cycle, IForm form)
{
- return new FormSupportImpl(writer, cycle, form);
- }
+ return new FormSupportImpl(writer, cycle, form, _javascriptManager);
+ }
+
+ public void setJavascriptManager(JavascriptManager javascriptManager)
+ {
+ _javascriptManager = javascriptManager;
+ }
}
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=594152&r1=594151&r2=594152&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 Mon Nov 12 06:08:36 2007
@@ -14,21 +14,40 @@
package org.apache.tapestry.form;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.hivemind.HiveMind;
import org.apache.hivemind.Location;
import org.apache.hivemind.util.Defense;
-import org.apache.tapestry.*;
+import org.apache.tapestry.IComponent;
+import org.apache.tapestry.IForm;
+import org.apache.tapestry.IMarkupWriter;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.IRender;
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.NestedMarkupWriter;
+import org.apache.tapestry.PageRenderSupport;
+import org.apache.tapestry.StaleLinkException;
+import org.apache.tapestry.Tapestry;
+import org.apache.tapestry.TapestryUtils;
import org.apache.tapestry.engine.ILink;
import org.apache.tapestry.event.BrowserEvent;
+import org.apache.tapestry.javascript.JavascriptManager;
import org.apache.tapestry.json.JSONObject;
import org.apache.tapestry.services.ResponseBuilder;
import org.apache.tapestry.services.ServiceConstants;
import org.apache.tapestry.util.IdAllocator;
import org.apache.tapestry.valid.IValidationDelegate;
-import java.util.*;
-
/**
* Encapsulates most of the behavior of a Form component.
*
@@ -148,10 +167,18 @@
/**
* Used to detect whether or not a form component has been updated and will require form sync on ajax requests
*/
- private boolean _fieldUpdating;
+ private boolean _fieldUpdating;
+
+ private JavascriptManager _javascriptManager;
public FormSupportImpl(IMarkupWriter writer, IRequestCycle cycle, IForm form)
{
+ this(writer, cycle, form, null);
+ }
+
+ public FormSupportImpl(IMarkupWriter writer, IRequestCycle cycle,
+ IForm form, JavascriptManager javascriptManager)
+ {
Defense.notNull(writer, "writer");
Defense.notNull(cycle, "cycle");
Defense.notNull(form, "form");
@@ -166,6 +193,8 @@
_pageRenderSupport = TapestryUtils.getOptionalPageRenderSupport(cycle);
_profile = new JSONObject();
+
+ _javascriptManager = javascriptManager;
}
/**
@@ -565,11 +594,10 @@
if (!page.hasWidgets())
{
- IAsset clientScript = _form.getAsset("clientValidationScript");
-
- if (clientScript != null)
+ if (_javascriptManager != null && _javascriptManager.getMainJsWidgetAsset() != null)
{
- _pageRenderSupport.addExternalScript(_form, clientScript.getResourceLocation());
+ _pageRenderSupport.addExternalScript(_form,
+ _javascriptManager.getMainJsWidgetAsset().getResourceLocation());
}
}