You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2010/01/09 12:52:30 UTC
svn commit: r897422 - in
/wicket/trunk/wicket/src/main/java/org/apache/wicket: ./ ajax/
ng/request/component/ ng/request/cycle/
Author: knopp
Date: Sat Jan 9 11:52:29 2010
New Revision: 897422
URL: http://svn.apache.org/viewvc?rev=897422&view=rev
Log:
Get some Ajax working
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/IRequestableComponent.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sat Jan 9 11:52:29 2010
@@ -4294,7 +4294,7 @@
/** TODO WICKET-NG javadoc */
public boolean canCallListenerInterface()
{
- if (!isEnabled() || !determineVisibility())
+ if (!isEnabledInHierarchy() || !determineVisibility())
{
return false;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java Sat Jan 9 11:52:29 2010
@@ -105,7 +105,8 @@
* Returns prefix from Wicket Filter mapping to context path. This method does not take the
* actual URL into account.
* <p>
- * For example if Wicket filter is mapped to hello/* this method should return ../
+ * For example if Wicket filter is mapped to hello/* this method should return ../ regardless of
+ * actual URL (after Wicket filter)
*
* @return prefix to context path for this request.
*
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java Sat Jan 9 11:52:29 2010
@@ -167,7 +167,7 @@
*/
public final void invoke(final IRequestableComponent component)
{
- if (!component.isEnabledInHierarchy() || !component.isVisibleInHierarchy())
+ if (!component.canCallListenerInterface())
{
// just return so that we have a silent fail and just re-render the
// page
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java Sat Jan 9 11:52:29 2010
@@ -80,6 +80,10 @@
response.renderJavascript("wicketAjaxDebugEnable=true;", "wicket-ajax-debug-enable");
}
+ // TODO NG Escape
+ response.renderJavascript("Wicket.Ajax.baseUrl=\"" +
+ RequestCycle.get().getUrlRenderer().getBaseUrl() + "\";", "wicket-ajax-base-url");
+
RequestContext context = RequestContext.get();
if (context.isPortletRequest())
{
@@ -113,8 +117,7 @@
*/
protected CharSequence getCallbackScript(boolean onlyTargetActivePage)
{
- return generateCallbackScript("wicketAjaxGet('" + getCallbackUrl() +
- "'");
+ return generateCallbackScript("wicketAjaxGet('" + getCallbackUrl() + "'");
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Sat Jan 9 11:52:29 2010
@@ -40,6 +40,7 @@
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
import org.apache.wicket.markup.repeater.AbstractRepeater;
+import org.apache.wicket.ng.request.Url;
import org.apache.wicket.ng.request.component.IRequestablePage;
import org.apache.wicket.ng.request.component.PageParameters;
import org.apache.wicket.ng.request.cycle.RequestCycle;
@@ -528,6 +529,11 @@
*/
public final void respond(final RequestCycle requestCycle)
{
+ Url oldBaseURL = requestCycle.getUrlRenderer().getBaseUrl();
+ Url baseURL = Url.parse(((WebRequest)requestCycle.getRequest()).getHeader("Wicket-Ajax-BaseURL"));
+
+ requestCycle.getUrlRenderer().setBaseUrl(baseURL);
+
final WebResponse response = (WebResponse)requestCycle.getResponse();
if (markupIdToComponent.values().contains(page))
@@ -595,6 +601,8 @@
}
response.write("</ajax-response>");
+
+ requestCycle.getUrlRenderer().setBaseUrl(oldBaseURL);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js Sat Jan 9 11:52:29 2010
@@ -835,6 +835,7 @@
t.onreadystatechange = this.stateChangeCallback.bind(this);
// set a special flag to allow server distinguish between ajax and non-ajax requests
t.setRequestHeader("Wicket-Ajax", "true");
+ t.setRequestHeader("Wicket-Ajax-BaseURL", Wicket.Ajax.baseUrl);
if (typeof(Wicket.Focus.lastFocusId) != "undefined" && Wicket.Focus.lastFocusId != "" && Wicket.Focus.lastFocusId != null)
t.setRequestHeader("Wicket-FocusedElementId", Wicket.Focus.lastFocusId);
t.setRequestHeader("Accept", "text/xml");
@@ -884,6 +885,7 @@
t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// set a special flag to allow server distinguish between ajax and non-ajax requests
t.setRequestHeader("Wicket-Ajax", "true");
+ t.setRequestHeader("Wicket-Ajax-BaseURL", Wicket.Ajax.baseUrl);
if (typeof(Wicket.Focus.lastFocusId) != "undefined" && Wicket.Focus.lastFocusId != "" && Wicket.Focus.lastFocusId != null)
t.setRequestHeader("Wicket-FocusedElementId", Wicket.Focus.lastFocusId);
t.setRequestHeader("Accept", "text/xml");
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/IRequestableComponent.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/IRequestableComponent.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/IRequestableComponent.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/IRequestableComponent.java Sat Jan 9 11:52:29 2010
@@ -103,8 +103,4 @@
* </p>
*/
public void detach();
-
- public boolean isVisibleInHierarchy();
-
- public boolean isEnabledInHierarchy();
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java?rev=897422&r1=897421&r2=897422&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java Sat Jan 9 11:52:29 2010
@@ -217,6 +217,7 @@
{
log.error("Error during request processing", e);
}
+ return true;
}
finally
{
@@ -291,7 +292,7 @@
}
@Deprecated
- // TODO: Remove. Request should be final
+ // TODO NG: Remove. Request should be final
// the only reason why the method is here is that form sets new request if the request is
// multipart
// can't this be handled by wicket filter?
@@ -451,7 +452,7 @@
*
* @return the agent info object based on this request
*/
- // TODO! Get this shit out of here
+ // TODO NG Get this shit out of here!
public ClientInfo newClientInfo()
{
return new WebClientInfo(this);