You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/11/10 11:44:28 UTC
svn commit: r1769093 - in /myfaces/tobago/trunk:
tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/
tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/...
Author: lofwyr
Date: Thu Nov 10 11:44:28 2016
New Revision: 1769093
URL: http://svn.apache.org/viewvc?rev=1769093&view=rev
Log:
TOBAGO-1617: New tag <tc:event> to be similar to <f:ajax> and to replace <tc:command> in facets
* cleanup
Added:
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/TobagoClientBehaviorRenderer.java
- copied, changed from r1769068, myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/AjaxClientBehaviorRenderer.java
Removed:
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/AjaxClientBehaviorRenderer.java
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/Command.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/JsonUtils.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/CommandRendererBase.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FileRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/InRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ProgressRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectBooleanCheckboxRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyCheckboxRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneChoiceRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneRadioRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TabGroupRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TextareaRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeSelectRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java
myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/FacesConfigGenerator.java
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java Thu Nov 10 11:44:28 2016
@@ -28,6 +28,7 @@ public enum DataAttributes implements Ma
/**
* Ajax behaviors execute and render attributes for TabGroup and Sheet reload
+ * @deprecated please use COMMANDS
*/
BEHAVIOR_COMMANDS("data-tobago-behavior-commands"),
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java Thu Nov 10 11:44:28 2016
@@ -152,6 +152,7 @@ public abstract class TobagoResponseWrit
*/
public void writeClassAttribute(final CssItem first) throws IOException {
if (first != null) {
+ // todo: optimize me, do not use StringBuilder
final StringBuilder builder = new StringBuilder();
builder.append(first.getName());
builder.append(' ');
@@ -159,6 +160,16 @@ public abstract class TobagoResponseWrit
}
}
+ /**
+ * Write the command map data attribute.
+ */
+ public void writeCommandMapAttribute(final String map) throws IOException { // XXX use CommandMap instead of String
+ if (map != null) {
+ // XXX
+ writeAttribute(DataAttributes.COMMANDS, map, true);
+ }
+ }
+
/**
* Write the class attribute. The value will not escaped.
*/
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/Command.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/Command.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/Command.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/Command.java Thu Nov 10 11:44:28 2016
@@ -80,7 +80,7 @@ public class Command {
null,
getConfirmation(command),
null,
- AjaxClientBehaviorRenderer.createCollapsible(facesContext, command),
+ TobagoClientBehaviorRenderer.createCollapsible(facesContext, command),
command.isOmit());
}
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/JsonUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/JsonUtils.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/JsonUtils.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/JsonUtils.java Thu Nov 10 11:44:28 2016
@@ -103,6 +103,11 @@ public class JsonUtils {
}
public static String encode(final CommandMap commandMap) {
+
+ if (commandMap == null) {
+ return null;
+ }
+
final StringBuilder builder = new StringBuilder();
builder.append("{");
final int initialLength = builder.length();
Copied: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/TobagoClientBehaviorRenderer.java (from r1769068, myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/AjaxClientBehaviorRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/TobagoClientBehaviorRenderer.java?p2=myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/TobagoClientBehaviorRenderer.java&p1=myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/AjaxClientBehaviorRenderer.java&r1=1769068&r2=1769093&rev=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/AjaxClientBehaviorRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/TobagoClientBehaviorRenderer.java Thu Nov 10 11:44:28 2016
@@ -39,15 +39,14 @@ import javax.faces.component.behavior.Cl
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.event.PhaseId;
-import javax.faces.render.ClientBehaviorRenderer;
import java.util.Collection;
import java.util.List;
-public class AjaxClientBehaviorRenderer extends ClientBehaviorRenderer {
+public class TobagoClientBehaviorRenderer extends javax.faces.render.ClientBehaviorRenderer {
- private static final Logger LOG = LoggerFactory.getLogger(AjaxClientBehaviorRenderer.class);
+ private static final Logger LOG = LoggerFactory.getLogger(TobagoClientBehaviorRenderer.class);
- public static final String COMMAND_MAP = AjaxClientBehaviorRenderer.class.getName() + ".CommandMap";
+ public static final String COMMAND_MAP = TobagoClientBehaviorRenderer.class.getName() + ".CommandMap";
@Override
public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior) {
@@ -160,6 +159,9 @@ public class AjaxClientBehaviorRenderer
return false;
}
+ /**
+ * @deprecated TBD
+ */
public static Collapse createCollapsible(FacesContext facesContext, UIComponent component) {
//// TBD: is this nice? May be implemented with a JSF behaviour?
//// BEGIN
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/CommandRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/CommandRendererBase.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/CommandRendererBase.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/CommandRendererBase.java Thu Nov 10 11:44:28 2016
@@ -35,6 +35,7 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.html.HtmlButtonTypes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -92,10 +93,7 @@ public abstract class CommandRendererBas
command.setOmit(true);
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, command);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, command)));
if (label.getAccessKey() != null) {
writer.writeAttribute(HtmlAttributes.ACCESSKEY, Character.toString(label.getAccessKey()), false);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FileRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FileRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FileRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FileRenderer.java Thu Nov 10 11:44:28 2016
@@ -31,6 +31,7 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.html.HtmlButtonTypes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.HttpPartWrapper;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
@@ -158,10 +159,8 @@ public class FileRenderer extends LabelL
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, file);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, file)));
+
writer.endElement(HtmlElements.INPUT);
writer.startElement(HtmlElements.SPAN);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/InRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/InRenderer.java Thu Nov 10 11:44:28 2016
@@ -27,10 +27,10 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.util.StringUtils;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -129,10 +129,7 @@ public class InRenderer extends LabelLay
HtmlRendererUtils.renderFocus(clientId, input.isFocus(), ComponentUtils.isError(input), facesContext, writer);
writeAdditionalAttributes(facesContext, writer, input);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, input);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, input)));
writer.endElement(HtmlElements.INPUT);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java Thu Nov 10 11:44:28 2016
@@ -41,6 +41,7 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -235,10 +236,7 @@ public class PageRenderer extends Render
HtmlRendererUtils.writeDataAttributes(facesContext, writer, page);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, page);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, page)));
writer.startElement(HtmlElements.FORM);
if (preventFrameAttacks && !facesContext.getPartialViewContext().isAjaxRequest()) {
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java Thu Nov 10 11:44:28 2016
@@ -27,6 +27,7 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -66,10 +67,8 @@ public class PanelRenderer extends Panel
writer.writeAttribute(DataAttributes.RELOAD, Integer.toString(update.getFrequency()), false);
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, panel);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, panel)));
+
HtmlRendererUtils.encodeContextMenu(facesContext, writer, panel);
encodeHidden(writer, clientId, collapsed);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ProgressRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ProgressRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ProgressRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ProgressRenderer.java Thu Nov 10 11:44:28 2016
@@ -23,9 +23,9 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.renderkit.RendererBase;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
@@ -64,10 +64,7 @@ public class ProgressRenderer extends Re
writer.writeAttribute(HtmlAttributes.MAX, Double.toString(max), false);
writer.writeAttribute(HtmlAttributes.VALUE, Double.toString(value), false);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, progress);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, progress)));
}
@Override
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectBooleanCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectBooleanCheckboxRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectBooleanCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectBooleanCheckboxRenderer.java Thu Nov 10 11:44:28 2016
@@ -24,10 +24,10 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.renderkit.LabelWithAccessKey;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -107,16 +107,9 @@ public class SelectBooleanCheckboxRender
writer.writeAttribute(HtmlAttributes.READONLY, select.isReadonly());
writer.writeAttribute(HtmlAttributes.DISABLED, disabled);
writer.writeAttribute(HtmlAttributes.REQUIRED, select.isRequired());
-
HtmlRendererUtils.renderFocus(clientId, select.isFocus(), ComponentUtils.isError(select), facesContext, writer);
-
writer.writeAttribute(HtmlAttributes.TABINDEX, select.getTabIndex());
-
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
-
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
writer.endElement(HtmlElements.INPUT);
if (label.getLabel() != null) {
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyCheckboxRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyCheckboxRenderer.java Thu Nov 10 11:44:28 2016
@@ -22,10 +22,10 @@ package org.apache.myfaces.tobago.render
import org.apache.myfaces.tobago.component.UISelectManyCheckbox;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -91,10 +91,7 @@ public class SelectManyCheckboxRenderer
first = false;
}
writer.writeAttribute(HtmlAttributes.TABINDEX, select.getTabIndex());
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
writer.endElement(HtmlElements.INPUT);
final String label = item.getLabel();
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java Thu Nov 10 11:44:28 2016
@@ -22,9 +22,9 @@ package org.apache.myfaces.tobago.render
import org.apache.myfaces.tobago.component.UISelectManyListbox;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -72,10 +72,7 @@ public class SelectManyListboxRenderer e
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
writer.writeAttribute(HtmlAttributes.SIZE, size);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
final Object[] values = select.getSelectedValues();
final String[] submittedValues = getSubmittedValues(select);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java Thu Nov 10 11:44:28 2016
@@ -23,10 +23,10 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
import org.apache.myfaces.tobago.renderkit.css.Icons;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlButtonTypes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -126,12 +126,8 @@ public class SelectManyShuttleRenderer e
writer.writeNameAttribute(clientId);
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
writer.writeAttribute(HtmlAttributes.REQUIRED, select.isRequired());
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
HtmlRendererUtils.renderSelectItems(select, items, values, submittedValues, writer, facesContext);
-
writer.endElement(HtmlElements.SELECT);
}
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneChoiceRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneChoiceRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneChoiceRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneChoiceRenderer.java Thu Nov 10 11:44:28 2016
@@ -22,9 +22,9 @@ package org.apache.myfaces.tobago.render
import org.apache.myfaces.tobago.component.UISelectOneChoice;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -65,10 +65,7 @@ public class SelectOneChoiceRenderer ext
if (title != null) {
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
HtmlRendererUtils.renderFocus(clientId, select.isFocus(), ComponentUtils.isError(select), facesContext, writer);
HtmlRendererUtils.renderSelectItems(select, items, select.getValue(), (String) select.getSubmittedValue(), writer,
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java Thu Nov 10 11:44:28 2016
@@ -22,9 +22,9 @@ package org.apache.myfaces.tobago.render
import org.apache.myfaces.tobago.component.UISelectOneListbox;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -71,10 +71,7 @@ public class SelectOneListboxRenderer ex
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
writer.writeAttribute(HtmlAttributes.SIZE, size);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
HtmlRendererUtils.renderSelectItems(select, items, select.getValue(), (String) select.getSubmittedValue(),
writer, facesContext);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneRadioRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneRadioRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneRadioRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneRadioRenderer.java Thu Nov 10 11:44:28 2016
@@ -24,10 +24,10 @@ import org.apache.myfaces.tobago.context
import org.apache.myfaces.tobago.internal.util.ObjectUtils;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.renderkit.util.SelectItemUtils;
@@ -94,10 +94,7 @@ public class SelectOneRadioRenderer exte
first = false;
}
writer.writeAttribute(HtmlAttributes.TABINDEX, select.getTabIndex());
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
writer.endElement(HtmlElements.INPUT);
if (item instanceof org.apache.myfaces.tobago.model.SelectItem) {
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java Thu Nov 10 11:44:28 2016
@@ -59,6 +59,7 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.css.Style;
import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
import org.apache.myfaces.tobago.renderkit.html.Arias;
+import org.apache.myfaces.tobago.renderkit.html.CommandMap;
import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlButtonTypes;
@@ -194,8 +195,9 @@ public class SheetRenderer extends Rende
final UIReload update = (UIReload) facetReload;
writer.writeAttribute(DataAttributes.RELOAD, update.getFrequency());
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, sheet);
- writer.writeAttribute(DataAttributes.BEHAVIOR_COMMANDS, commands, false);
+// todo writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, sheet)));
+ final CommandMap commands = RenderUtils.getBehaviorCommands(facesContext, sheet);
+ writer.writeAttribute(DataAttributes.BEHAVIOR_COMMANDS, JsonUtils.encode(commands), false);
writer.writeAttribute(DataAttributes.SELECTION_MODE, sheet.getSelectable().name(), false);
writer.writeAttribute(DataAttributes.FIRST, Integer.toString(sheet.getFirst()), false);
final StringBuilder builder = new StringBuilder();
@@ -410,8 +412,7 @@ public class SheetRenderer extends Rende
if (column.isRendered()) {
if (column instanceof AbstractUIRow) {
final AbstractUIRow row = (AbstractUIRow) column;
- final String commands = RenderUtils.getBehaviorCommands(facesContext, row);
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, row)));
writer.writeIdAttribute(row.getClientId(facesContext));
// todo: Markup.CLICKABLE ???
@@ -813,8 +814,8 @@ public class SheetRenderer extends Rende
ComponentUtils.setFacet(column, Facets.sorter, sortCommand);
}
writer.writeIdAttribute(sortCommand.getClientId(facesContext));
- final String commands = RenderUtils.getBehaviorCommands(facesContext, sortCommand);
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
+ writer.writeCommandMapAttribute(
+ JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, sortCommand)));
if (tip == null) {
tip = "";
@@ -1010,8 +1011,7 @@ public class SheetRenderer extends Rende
writer.writeIdAttribute(command.getClientId(facesContext));
writer.writeAttribute(HtmlAttributes.TITLE, tip, true);
if (!disabled) {
- final String commands = RenderUtils.getBehaviorCommands(facesContext, command);
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, command)));
}
writer.writeAttribute(HtmlAttributes.DISABLED, disabled);
if (icon != null) {
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TabGroupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TabGroupRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TabGroupRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TabGroupRenderer.java Thu Nov 10 11:44:28 2016
@@ -34,11 +34,13 @@ import org.apache.myfaces.tobago.renderk
import org.apache.myfaces.tobago.renderkit.RendererBase;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
+import org.apache.myfaces.tobago.renderkit.html.CommandMap;
import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -101,8 +103,9 @@ public class TabGroupRenderer extends Re
writer.writeStyleAttribute(tabGroup.getStyle());
writer.writeAttribute(HtmlAttributes.SWITCHTYPE, switchType.name(), false);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, tabGroup);
- writer.writeAttribute(DataAttributes.BEHAVIOR_COMMANDS, commands, false);
+// todo writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, tabGroup)));
+ final CommandMap commands = RenderUtils.getBehaviorCommands(facesContext, tabGroup);
+ writer.writeAttribute(DataAttributes.BEHAVIOR_COMMANDS, JsonUtils.encode(commands), false);
writer.startElement(HtmlElements.INPUT);
writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.HIDDEN);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TextareaRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TextareaRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TextareaRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TextareaRenderer.java Thu Nov 10 11:44:28 2016
@@ -24,9 +24,9 @@ import org.apache.myfaces.tobago.config.
import org.apache.myfaces.tobago.internal.util.AccessKeyLogger;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.sanitizer.SanitizeMode;
@@ -97,10 +97,7 @@ public class TextareaRenderer extends La
writer.writeAttribute(HtmlAttributes.PATTERN, pattern, false);
}
- final String commands = RenderUtils.getBehaviorCommands(facesContext, input);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, input)));
HtmlRendererUtils.renderFocus(clientId, input.isFocus(), ComponentUtils.isError(input), facesContext, writer);
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeSelectRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeSelectRenderer.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeSelectRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeSelectRenderer.java Thu Nov 10 11:44:28 2016
@@ -28,10 +28,10 @@ import org.apache.myfaces.tobago.model.S
import org.apache.myfaces.tobago.renderkit.RendererBase;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
-import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
+import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.renderkit.util.RenderUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -125,10 +125,7 @@ public class TreeSelectRenderer extends
writer.writeIdAttribute(id);
writer.writeAttribute(HtmlAttributes.CHECKED, checked);
- final String commands = RenderUtils.getBehaviorCommands(facesContext, select);
- if (commands != null) {
- writer.writeAttribute(DataAttributes.COMMANDS, commands, true);
- }
+ writer.writeCommandMapAttribute(JsonUtils.encode(RenderUtils.getBehaviorCommands(facesContext, select)));
writer.endElement(HtmlElements.INPUT);
}
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java Thu Nov 10 11:44:28 2016
@@ -27,10 +27,9 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.model.ExpandedState;
import org.apache.myfaces.tobago.model.SelectedState;
import org.apache.myfaces.tobago.model.TreePath;
-import org.apache.myfaces.tobago.renderkit.html.AjaxClientBehaviorRenderer;
+import org.apache.myfaces.tobago.renderkit.html.TobagoClientBehaviorRenderer;
import org.apache.myfaces.tobago.renderkit.html.Command;
import org.apache.myfaces.tobago.renderkit.html.CommandMap;
-import org.apache.myfaces.tobago.renderkit.html.JsonUtils;
import org.apache.myfaces.tobago.util.ComponentUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,7 +44,6 @@ import javax.faces.component.behavior.Cl
import javax.faces.component.behavior.ClientBehaviorHolder;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
-import javax.faces.render.ClientBehaviorRenderer;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
@@ -252,26 +250,8 @@ public final class RenderUtils {
return url;
}
- public static String getBehaviorCommands(final FacesContext facesContext, final ClientBehaviorHolder holder) {
-
- final CommandMap map = new CommandMap();
- addBehaviorCommands(facesContext, holder, map);
-
- // if there is no explicit behavior (with f:ajax or tc:event), use the command properties as default.
- // tbd: think about refactoring: put this into ClientBehaviorRenderer
- if (map.isEmpty() && holder instanceof AbstractUICommand) {
- map.addCommand(ClientBehaviors.click, new Command(facesContext, (AbstractUICommand) holder));
- }
-
- if (map.isEmpty()) {
- return null;
- } else {
- return JsonUtils.encode(map);
- }
- }
-
- public static void addBehaviorCommands(
- final FacesContext facesContext, final ClientBehaviorHolder holder, final CommandMap commandMap) {
+ public static CommandMap getBehaviorCommands(final FacesContext facesContext, final ClientBehaviorHolder holder) {
+ CommandMap map = null;
final Map<String, List<ClientBehavior>> behaviors = holder.getClientBehaviors();
for (Map.Entry<String, List<ClientBehavior>> behavior : behaviors.entrySet()) {
final String key = behavior.getKey();
@@ -280,11 +260,15 @@ public final class RenderUtils {
for (ClientBehavior clientBehavior : behavior.getValue()) {
if (clientBehavior instanceof ClientBehaviorBase) {
final String type = ((ClientBehaviorBase) clientBehavior).getRendererType();
- final ClientBehaviorRenderer clientBehaviorRenderer
+ final javax.faces.render.ClientBehaviorRenderer clientBehaviorRenderer
= facesContext.getRenderKit().getClientBehaviorRenderer(type);
final String marker = clientBehaviorRenderer.getScript(context, clientBehavior);
- if (AjaxClientBehaviorRenderer.COMMAND_MAP.equals(marker)) {
- commandMap.merge((CommandMap) facesContext.getAttributes().get(AjaxClientBehaviorRenderer.COMMAND_MAP));
+ if (TobagoClientBehaviorRenderer.COMMAND_MAP.equals(marker)) {
+ if (map == null) {
+ map = new CommandMap();
+ }
+ // todo: optimize empty command maps
+ map.merge((CommandMap) facesContext.getAttributes().get(TobagoClientBehaviorRenderer.COMMAND_MAP));
} else {
LOG.error("Can't find prepared command map in faces context.");
}
@@ -293,6 +277,17 @@ public final class RenderUtils {
}
}
}
+
+ // if there is no explicit behavior (with f:ajax or tc:event), use the command properties as default.
+ // tbd: think about refactoring: put this into TobagoClientBehaviorRenderer
+ if ((map == null || map.isEmpty()) && holder instanceof AbstractUICommand) {
+ if (map == null) {
+ map = new CommandMap();
+ }
+ map.addCommand(ClientBehaviors.click, new Command(facesContext, (AbstractUICommand) holder));
+ }
+
+ return map;
}
public static void decodeClientBehaviors(final FacesContext facesContext, final UIComponent component) {
Modified: myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/FacesConfigGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/FacesConfigGenerator.java?rev=1769093&r1=1769092&r2=1769093&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/FacesConfigGenerator.java (original)
+++ myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/FacesConfigGenerator.java Thu Nov 10 11:44:28 2016
@@ -223,7 +223,7 @@ public class FacesConfigGenerator extend
clientBehaviorType.setText("javax.faces.behavior.Ajax");
clientBehaviorRender.addContent(clientBehaviorType);
final org.jdom.Element clientBehaviorClass = new org.jdom.Element(CLIENT_BEHAVIOR_RENDERER_CLASS, namespace);
- clientBehaviorClass.setText("org.apache.myfaces.tobago.renderkit.html.AjaxClientBehaviorRenderer");
+ clientBehaviorClass.setText("org.apache.myfaces.tobago.renderkit.html.TobagoClientBehaviorRenderer");
clientBehaviorRender.addContent(clientBehaviorClass);
renderKit.addContent(clientBehaviorRender);
@@ -232,7 +232,7 @@ public class FacesConfigGenerator extend
clientBehaviorType2.setText("org.apache.myfaces.tobago.behavior.Event");
clientBehaviorRender2.addContent(clientBehaviorType2);
final org.jdom.Element clientBehaviorClass2 = new org.jdom.Element(CLIENT_BEHAVIOR_RENDERER_CLASS, namespace);
- clientBehaviorClass2.setText("org.apache.myfaces.tobago.renderkit.html.AjaxClientBehaviorRenderer");
+ clientBehaviorClass2.setText("org.apache.myfaces.tobago.renderkit.html.TobagoClientBehaviorRenderer");
clientBehaviorRender2.addContent(clientBehaviorClass2);
renderKit.addContent(clientBehaviorRender2);