You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2020/02/05 20:01:38 UTC

[wicket] branch master updated: WICKET-6739: moved js from onclick to event bindings

This is an automated email from the ASF dual-hosted git repository.

papegaaij pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new e0d0e04  WICKET-6739: moved js from onclick to event bindings
e0d0e04 is described below

commit e0d0e04b2c432cef77f65937858639484a04b1d2
Author: Emond Papegaaij <em...@topicus.nl>
AuthorDate: Wed Feb 5 20:57:33 2020 +0100

    WICKET-6739: moved js from onclick to event bindings
---
 .../markup/html/form/palette/Palette.java          | 43 +++++++++++++---------
 .../form/palette/component/AbstractOptions.java    | 24 ++++++------
 2 files changed, 36 insertions(+), 31 deletions(-)

diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
index b26f42c..cfe47be 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
@@ -30,6 +30,7 @@ import org.apache.wicket.extensions.markup.html.form.palette.theme.DefaultTheme;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.OnEventHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.FormComponent;
@@ -312,10 +313,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(final ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getDownOnClickJS());
+				super.renderHead(response);
+				response.render(
+					OnEventHeaderItem.forComponent(this, "click", Palette.this.getDownOnClickJS()));
 			}
 		};
 	}
@@ -332,10 +334,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(final ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getUpOnClickJS());
+				super.renderHead(response);
+				response.render(
+					OnEventHeaderItem.forComponent(this, "click", Palette.this.getUpOnClickJS()));
 			}
 		};
 	}
@@ -352,10 +355,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(final ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getRemoveOnClickJS());
+				super.renderHead(response);
+				response.render(OnEventHeaderItem.forComponent(this, "click",
+					Palette.this.getRemoveOnClickJS()));
 			}
 		};
 	}
@@ -372,10 +376,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(final ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getAddOnClickJS());
+				super.renderHead(response);
+				response.render(
+					OnEventHeaderItem.forComponent(this, "click", Palette.this.getAddOnClickJS()));
 			}
 		};
 	}
@@ -417,10 +422,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getAddAllOnClickJS());
+				super.renderHead(response);
+				response.render(OnEventHeaderItem.forComponent(this, "click",
+					Palette.this.getAddAllOnClickJS()));
 			}
 		};
 	}
@@ -438,10 +444,11 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onComponentTag(ComponentTag tag)
+			public void renderHead(IHeaderResponse response)
 			{
-				super.onComponentTag(tag);
-				tag.getAttributes().put("onclick", Palette.this.getRemoveAllOnClickJS());
+				super.renderHead(response);
+				response.render(OnEventHeaderItem.forComponent(this, "click",
+					Palette.this.getRemoveAllOnClickJS()));
 			}
 		};
 	}
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
index 9c276fd..65e70e9 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
@@ -19,10 +19,11 @@ package org.apache.wicket.extensions.markup.html.form.palette.component;
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.wicket.core.util.string.JavaScriptUtils;
 import org.apache.wicket.extensions.markup.html.form.palette.Palette;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
 import org.apache.wicket.util.convert.IConverter;
@@ -176,22 +177,19 @@ public abstract class AbstractOptions<T> extends FormComponent<T>
 		{
 			attrs.put("disabled", "disabled");
 		}
-
-		avoidAjaxSerialization();
 	}
 
-	/**
-	 * A piece of javascript to avoid serializing the options during AJAX serialization.
-	 */
-	protected void avoidAjaxSerialization()
+	@Override
+	public void renderHead(IHeaderResponse response)
 	{
-		getResponse().write(
-			JavaScriptUtils.SCRIPT_OPEN_TAG +
-				"if (typeof(Wicket) != \"undefined\" && typeof(Wicket.Form) != \"undefined\")" +
-				"    Wicket.Form.excludeFromAjaxSerialization." + getMarkupId() + "='true';" +
-				JavaScriptUtils.SCRIPT_CLOSE_TAG);
-	}
+		super.renderHead(response);
 
+		// A piece of javascript to avoid serializing the options during AJAX serialization.
+		response.render(OnDomReadyHeaderItem.forScript(
+			"if (typeof(Wicket) != \"undefined\" && typeof(Wicket.Form) != \"undefined\")"
+				+ "    Wicket.Form.excludeFromAjaxSerialization." + getMarkupId() + "='true';"));
+	}
+	
 	/**
 	 * {@inheritDoc}
 	 */