You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2007/01/08 18:02:29 UTC

svn commit: r494120 - /myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java

Author: weber
Date: Mon Jan  8 09:02:24 2007
New Revision: 494120

URL: http://svn.apache.org/viewvc?view=rev&rev=494120
Log:
TOBAGO-234 (DatePicker can't closed when inside other popup)

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java?view=diff&rev=494120&r1=494119&r2=494120
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java Mon Jan  8 09:02:24 2007
@@ -672,7 +672,8 @@
     String clientId = component.getClientId(facesContext);
     boolean defaultCommand = ComponentUtil.getBooleanAttribute(component,
         TobagoConstants.ATTR_DEFAULT_COMMAND);
-    String onclick = "Tobago.submitAction('" + clientId + "');";
+    boolean preserveOnclick = true;
+    String onclick;
     if (component.getAttributes().get(TobagoConstants.ATTR_ACTION_LINK) != null) {
       onclick = "Tobago.navigateToUrl('"
           + HtmlUtils.generateUrl(facesContext,
@@ -701,6 +702,7 @@
               + clientId + "', {});";
         }
       } else {
+        onclick = "";
         LOG.error("more than one parially rendered component is currently not supported " + componentId);
       }
 
@@ -710,13 +712,14 @@
       onclick = null;
     } else {
       onclick = "Tobago.submitAction('" + clientId + "');";
+      preserveOnclick = false;
     }
 
     if (component.getAttributes().get(TobagoConstants.ATTR_POPUP_CLOSE) != null
         && ComponentUtil.isInPopup(component)) {
       String value = (String) component.getAttributes().get(TobagoConstants.ATTR_POPUP_CLOSE);
       if (value.equals("immediate")) {
-        onclick += "Tobago.closePopup(this);";
+        onclick = (preserveOnclick ? onclick : "") + "Tobago.closePopup(this);";
       } else if (value.equals("afterSubmit")
           && component instanceof UICommand
           && ((UICommand) component).getRenderedPartially().length > 0) {