myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bernd Bohmann (JIRA)" <...@myfaces.apache.org>
Subject [jira] Resolved: (TOBAGO-963) It would be nice to have an @autoId in onclick attribute of tc:command
Date Wed, 02 Feb 2011 22:15:28 GMT

     [ https://issues.apache.org/jira/browse/TOBAGO-963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bernd Bohmann resolved TOBAGO-963.
----------------------------------

    Resolution: Fixed

> It would be nice to have an @autoId in onclick attribute of tc:command
> ----------------------------------------------------------------------
>
>                 Key: TOBAGO-963
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-963
>             Project: MyFaces Tobago
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.0.32
>         Environment: All
>            Reporter: Helmut Swaczinna
>            Assignee: Bernd Bohmann
>            Priority: Minor
>             Fix For: 1.5.0-alpha-2, 1.0.33
>
>
> I solved the problem. Apply this to LayoutableRendererBase.java:
>   private void writeScriptForClientId(String clientId, Map.Entry<String, UIComponent>
facetEntry,
>       FacesContext facesContext, TobagoResponseWriter writer) throws IOException {
>     if (facetEntry.getValue() instanceof UICommand
>         && ((UICommand) facetEntry.getValue()).getRenderedPartially().length
> 0) {
>       String script =
>           "var element = Tobago.element(\"" + clientId + "\");\n"
>               + "if (element) {\n"
>               + "   Tobago.addEventListener(element, \"" + facetEntry.getKey()
>               + "\", function(){Tobago.reloadComponent2(this, '"
>               + HtmlRendererUtil.getComponentId(facesContext, facetEntry.getValue(),
>               ((UICommand) facetEntry.getValue()).getRenderedPartially()[0]) + "','"
>               + facetEntry.getValue().getClientId(facesContext) + "', {})});\n"
>               + "}";
>       writer.writeJavascript(script);
>     } else {
>       UIComponent facetComponent = facetEntry.getValue();
>       String facetAction = (String) facetComponent.getAttributes().get(ATTR_ONCLICK);
>       if (facetAction == null) {
>         facetAction = "Tobago.submitAction2(this, '" + facetComponent.getClientId(facesContext)
+ "', "
>             + ComponentUtil.getBooleanAttribute(facetComponent, ATTR_TRANSITION) + ",
null, '" + clientId +"')";
>       } else {
>         // Replace @autoId
>         facetAction = StringUtils.replace(facetAction, "@autoId", facetComponent.getClientId(facesContext));
>       }
>       String script =
>           "var element = Tobago.element(\"" + clientId + "\");\n"
>               + "if (element) {\n"
>               + "   Tobago.addEventListener(element, \"" + facetEntry.getKey() + "\",
function(){"
>               + facetAction + "});\n}";
>       writer.writeJavascript(script);
>     }
>   }
> }

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message