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);
}