Author: knopp
Date: Thu Oct 18 13:25:03 2007
New Revision: 586120

URL: http://svn.apache.org/viewvc?rev=586120&view=rev
Log:
WICKET-1083

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java?rev=586120&r1=586119&r2=586120&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
 Thu Oct 18 13:25:03 2007
@@ -18,6 +18,7 @@
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
+import org.apache.wicket.RequestContext;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
@@ -79,6 +80,12 @@
                {
                        response.renderJavascriptReference(JAVASCRIPT_DEBUG);
                        
response.renderJavascript("wicketAjaxDebugEnable=true;", 
"wicket-ajax-debug-enable");
+               }
+
+               RequestContext context = RequestContext.get();
+               if (context.isPortletRequest())
+               {
+                       response.renderJavascript("Wicket.portlet=true", 
"wicket-ajax-portlet-flag");
                }
        }
 

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=586120&r1=586119&r2=586120&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js 
Thu Oct 18 13:25:03 2007
@@ -63,12 +63,16 @@
        }
        
        var id = element.getAttribute('id');
-       if (typeof(id) == "undefined" || id == null)
+       if (typeof(id) == "undefined" || id == null || id == "")
                return element.ownerDocument == document;
        else
                return document.getElementById(id) == element;
 }
 
+Wicket.isPortlet = function() {
+       return Wicket.portlet == true;
+}
+
 Wicket.emptyFunction = function() { };
 
 Wicket.Class = {
@@ -717,6 +721,7 @@
        },
        
        createUrl: function() {
+       
                if (this.randomURL == false)
                        return this.url;
                else
@@ -737,26 +742,28 @@
        
        // Executes a get request
        get: function() {
-        // first check if a query string is provided
-        var qs = this.url.indexOf('?');
-        if (qs==-1) {
-            qs = this.url.indexOf('&');
-        }
-        if (qs>-1) {
-            var query = this.url.substring(qs+1);
-            // ensure the query is not empty
-            if (query && query.length > 0) {
-                // cut off query part from original url
-                this.url = this.url.substring(0,qs);
-                // ensure query ends with &
-                if (query.charAt(query.length-1)!='&') {
-                    query += "&";
-                }
-                // post the query string instead to support portlets
-                // for which you cannot modify/append to the url
-                return this.post(query);
-            }
-        }
+               if (Wicket.isPortlet()) {
+               // first check if a query string is provided
+               var qs = this.url.indexOf('?');
+               if (qs==-1) {
+                   qs = this.url.indexOf('&');
+               }
+               if (qs>-1) {
+                   var query = this.url.substring(qs+1);
+                   // ensure the query is not empty
+                   if (query && query.length > 0) {
+                       // cut off query part from original url
+                       this.url = this.url.substring(0,qs);
+                       // ensure query ends with &
+                       if (query.charAt(query.length-1)!='&') {
+                           query += "&";
+                       }
+                       // post the query string instead to support portlets
+                       // for which you cannot modify/append to the url
+                       return this.post(query);
+                   }
+               }
+           }
                if (this.channel != null) {
                        var res = Wicket.channelManager.schedule(this.channel, 
this.doGet.bind(this));
                        return res != null ? res : true;
@@ -771,7 +778,7 @@
        
                        this.transport = Wicket.Ajax.getTransport();
                
-                       var url = this.createUrl();     
+                       var url = this.createUrl();
                        this.log("GET", url);
                        
                        Wicket.Ajax.invokePreCallHandlers();
@@ -790,7 +797,7 @@
                        }
                } else {
                        this.done();
-                       return false;
+                       return true;
                }
        },
        
@@ -810,7 +817,8 @@
                if (this.precondition()) {
                        this.transport = Wicket.Ajax.getTransport();    
                
-                       var url = this.createUrl();     
+                       var url = this.createUrl();                     
+                       
                        this.log("POST", url);
                        
                        Wicket.Ajax.invokePreCallHandlers();
@@ -834,7 +842,7 @@
                        }
                } else {
                        this.done();
-                       return false;
+                       return true;
                }
        },
        
@@ -1722,6 +1730,7 @@
 var wicketThrottler = Wicket.throttler;
 
 function wicketAjaxGet(url, successHandler, failureHandler, precondition, 
channel) {
+
        var call = new Wicket.Ajax.Call(url, successHandler, failureHandler, 
channel);
        
        if (typeof(precondition) != "undefined" && precondition != null) {


Reply via email to