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 2008/08/21 02:30:40 UTC

svn commit: r687523 - in /wicket/sandbox/knopp/experimental: wicket-examples/src/main/java/org/apache/wicket/ajax/ wicket/src/main/java/org/apache/wicket/ajaxng/ wicket/src/main/java/org/apache/wicket/ajaxng/js/ wicket/src/main/java/org/apache/wicket/a...

Author: knopp
Date: Wed Aug 20 17:30:40 2008
New Revision: 687523

URL: http://svn.apache.org/viewvc?rev=687523&view=rev
Log:
More stuff

Added:
    wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java   (with props)
Modified:
    wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.html
    wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
    wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGBehavior.java
    wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
    wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxNGUrlCodingStrategy.java

Modified: wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.html
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.html?rev=687523&r1=687522&r2=687523&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.html (original)
+++ wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.html Wed Aug 20 17:30:40 2008
@@ -2,7 +2,7 @@
 	<head>
 	
 	</head>
-	<body onload="init();">
+	<body>
 		<div wicket:id="c1">
 			C1 DIV
 		</div>
@@ -16,40 +16,4 @@
 		
 	</body>	
 	
-	<script type="text/javascript">
-
-	for (var i = 0; i < 1000; ++i) {
-		var Y = WicketNG.Y;
-//		YUI().use('*', function(Y) {
-	//	});
-	}
-	
-	//YUI().use('*', function(Y) {
-	
-	var Y = WicketNG.Y;
-	
-		window.init = function()
-		{
-			var d = WicketNG.$("div1");
-			var E = Y.Event;
-
-			var f = function()
-			{
-				console.info("Clicked");
-			};
-
-			var t = new WicketNG.Throttler();
-			
-			//E.addListener(d, "click", function() { t.throttle("t1", 5000, f ); });
-			//WicketNG.Log.debug("D", d);		
-
-
-			E.addListener(d, "click", function() { window.setTimeout(function() { WicketNG.Log.debug("X"); }, 0) });
-			E.addListener(d, "click", function() { WicketNG.Log.debug("y"); });
-			E.addListener(d, "click", function() { WicketNG.Log.debug("z"); });
-			E.addListener(d, "click", function() { WicketNG.Log.debug("ww"); });
-		}
-		
-	//});
-	</script>
 </html>
\ No newline at end of file

Modified: wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java?rev=687523&r1=687522&r2=687523&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java Wed Aug 20 17:30:40 2008
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ajax;
 
-import org.apache.wicket.ajaxng.AjaxNGBehavior;
+import org.apache.wicket.ajaxng.AjaxNGEventBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 
@@ -32,9 +32,18 @@
 	public TestPage1()
 	{
 		WebMarkupContainer c1 = new WebMarkupContainer("c1");
-		c1.add(new AjaxNGBehavior() {
+		c1.add(new AjaxNGEventBehavior("click") {
 			
 		});
+		c1.add(new AjaxEventBehavior("click") {
+			/**
+			 * @see org.apache.wicket.ajax.AjaxEventBehavior#onEvent(org.apache.wicket.ajax.AjaxRequestTarget)
+			 */
+			@Override
+			protected void onEvent(AjaxRequestTarget target)
+			{
+			}
+		});
 		
 		add(c1);
 	}

Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGBehavior.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGBehavior.java?rev=687523&r1=687522&r2=687523&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGBehavior.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGBehavior.java Wed Aug 20 17:30:40 2008
@@ -17,6 +17,7 @@
 package org.apache.wicket.ajaxng;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.Page;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.ajaxng.request.AjaxNGRequestTarget;
@@ -26,8 +27,10 @@
 import org.apache.wicket.markup.html.IHeaderContributor;
 import org.apache.wicket.markup.html.IHeaderResponse;
 import org.apache.wicket.markup.html.resources.JavascriptResourceReference;
-import com.sun.jmx.remote.internal.ArrayNotificationBuffer;
 
+/**
+ * @author Matej Knopp
+ */
 public class AjaxNGBehavior implements IBehavior, IHeaderContributor
 {
 
@@ -35,11 +38,13 @@
 
 	private Component component;
 	
+	/**
+	 * Construct.
+	 */
 	public AjaxNGBehavior()
 	{
 	}
 
-
 		
 	private final static ResourceReference YUI_BASE = new JavascriptResourceReference(AjaxNGBehavior.class, "js/yui3/yui-base/yui-base.js");
 	private final static ResourceReference YUI_OOP = new JavascriptResourceReference(AjaxNGBehavior.class, "js/yui3/oop/oop.js");
@@ -49,7 +54,7 @@
 	private final static ResourceReference YUI_IO = new JavascriptResourceReference(AjaxNGBehavior.class, "js/yui3/io/io.js");	
 	private final static ResourceReference AJAX_NG = new JavascriptResourceReference(AjaxNGBehavior.class, "js/wicket-ajax-ng.js");
 
-	private final static String JS_PREFIX = "WicketNG";
+	public final static String JS_PREFIX = "WicketNG";
 	
 	public void renderHead(IHeaderResponse response)
 	{
@@ -110,8 +115,43 @@
 			throw new IllegalStateException("The behavior can be only bound to one component.");			
 		}
 		this.component = component;
+		component.setOutputMarkupId(true);
 	}
 
+	protected String getAttributes()
+	{
+		StringBuilder res = new StringBuilder();
+		
+		res.append("{");
+		
+		res.append("p:'");
+		Page page = component.getPage();
+		res.append(page.getNumericId());
+		if (page.getCurrentVersionNumber() != 0)
+		{
+			res.append(":");
+			res.append(page.getCurrentVersionNumber());
+		}
+		res.append("'");
+		
+		
+		if (component instanceof Page == false)
+		{
+			res.append(",c:'");
+			res.append(component.getMarkupId());
+			res.append("'");
+		}
+		
+		int behaviorIndex = component.getBehaviors().indexOf(this);
+		
+		res.append(",b:");
+		res.append(behaviorIndex);
+				
+		res.append("}");
+		
+		return res.toString();
+	}
+	
 	public void detach(Component component)
 	{
 	}

Added: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java?rev=687523&view=auto
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java (added)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java Wed Aug 20 17:30:40 2008
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.ajaxng;
+
+import org.apache.wicket.markup.html.IHeaderResponse;
+
+/**
+ * @author Matej Knopp
+ */
+public class AjaxNGEventBehavior extends AjaxNGBehavior
+{
+	private static final long serialVersionUID = 1L;
+
+	private final String event;
+	
+	public AjaxNGEventBehavior(String event)
+	{
+		this.event = event;
+	}
+	
+	@Override
+	public void renderHead(IHeaderResponse response)
+	{
+		super.renderHead(response);
+		
+		StringBuilder js = new StringBuilder();
+		js.append(AjaxNGBehavior.JS_PREFIX + ".e('");
+		js.append(event);
+		js.append("',");
+		js.append(getAttributes());
+		js.append(")");
+		
+		response.renderOnDomReadyJavascript(js.toString());
+	}
+
+}

Propchange: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxNGEventBehavior.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js?rev=687523&r1=687522&r2=687523&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js Wed Aug 20 17:30:40 2008
@@ -1085,6 +1085,7 @@
 	var Ajax = function() 
 	{
 		this.globalSettings = globalSettings;
+		this.requestQueue = new RequestQueue();
 	};
 	
 	Ajax.prototype = 
@@ -1094,7 +1095,24 @@
 	
 	W.ajax = new Ajax();
 
-	
+	W.e = function(event, attributes)
+	{
+		var element;
+		if (attributes.c == null)
+		{
+			element = window;
+		}
+		else
+		{
+			element = W.$(attributes.c);
+		}		
+		Y.on(event, function(event) {			
+			var item = new RequestQueueItem(attributes);
+			item.event = event;
+			W.ajax.requestQueue.add(item);
+		}, element);
+		element = null;
+	}
 	
 	// ===================== REVERT THE OLD WICKET OBJECT ===================== 		
 	
@@ -1102,10 +1120,10 @@
 		
 	var i = 0;
 	
-	var pre = function(item) { /*console.info("X", item); */ return true; };
-	var x = new RequestQueueItem({b:4,c:"cpn1234", pr:pre, ua:{a:5} });
-	var y = new RequestQueue();
-	y.add(x);
+//	var pre = function(item) { /*console.info("X", item); */ return true; };
+//	var x = new RequestQueueItem({b:4,c:"cpn1234", pr:pre, ua:{a:5} });
+//	var y = new RequestQueue();
+//	y.add(x);
 //	y.add(x);
 //	y.add(x);
 //	y.add(x);

Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxNGUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxNGUrlCodingStrategy.java?rev=687523&r1=687522&r2=687523&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxNGUrlCodingStrategy.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxNGUrlCodingStrategy.java Wed Aug 20 17:30:40 2008
@@ -35,6 +35,7 @@
 	
 	private Component getComponent(RequestParameters parameters)
 	{
+		return null;
 		//String page = parameters.getParameters().get(PARAM_PAGE_ID);
 	}