Ok - i have tested it. The decoration page looks as follow:
 
<!-- decoration page -->
<ui:composition>
  <script>
    function myCompleteMethod() { alert('completed'); }
  </script>
  <ui:decorate template="template.xhtml">
    <ui:define name="onComplete" value="myCompleteMethod()"/>
  </ui:decorate>
</ui:compsition>
<!-- end decoration page -->
 
Now it works great. Thank you for the pointer.
 
Regards,
 
Sven

________________________________

Von: Rottstock, Sven [mailto:[EMAIL PROTECTED] 
Gesendet: Freitag, 21. Dezember 2007 16:07
An: MyFaces Discussion
Betreff: AW: [Trinidad] Override onclick Event


Good pointer. If i understand you correctly then this should be the best
practice for my requirement:

<!-- template page -->
<ui:composition>
  <!-- some code before... -->
  <tr:commandLink id="completeLink" onclick=#{onComplete}/>
  <!-- some code behind... -->
</ui:compsition>
<!-- end template page -->
 
<!-- decoration page -->
<ui:composition>
  <trh:script text="function myCompleteMethod { alert('completed'); }"/>
  <c:set value="myCompleteMethod" var="onComplete" scope="page"/>
  <ui:decorate template="template.xhtml">
  </ui:decorate>
</ui:compsition>
<!-- end decoration page -->
 
Looks very simple. Great job Simon. Thank you.
 
Regards
 
Sven
 
________________________________

Von: Simon Lessard [mailto:[EMAIL PROTECTED] 
Gesendet: Freitag, 21. Dezember 2007 15:10
An: MyFaces Discussion
Betreff: Re: [Trinidad] Override onclick Event


Then one way would be to define the script in the user page and
reference it using EL from the template.


Regards,

~ Simon


On Dec 21, 2007 8:07 AM, Rottstock, Sven < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote:


        Hi Simon,
         
        we provide a specific page for our customer. He can decorate
this page via facelets and IMO it is a bad idea to modify the specific
page. Because we can change the content of the specific page and the
customer has the effort to merge.
         
________________________________

        Von: Simon Lessard [mailto:[EMAIL PROTECTED] 
        Gesendet: Freitag, 21. Dezember 2007 13:58
        An: MyFaces Discussion
        Betreff: Re: [Trinidad] Override onclick Event
        
        
        Hi Sven,
        
        Why not use the onclick attribute on the component?
        
        
        Regards,
        
        ~ Simon
        
        
        On Dec 21, 2007 7:55 AM, Rottstock, Sven <
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote:
        

                Hi list,
                
                i have to dynamically override the onclick method.
Currently i used the 
                following code snippet:
                
                <script>
                 var completeBtn =
        
window.document.getElementById("activityPanel:activityActionPane:complet
                e-button");
                 var oldOnClickMethod = null;
                 if(completeBtn != null) 
                 {
                   oldOnclickMethod = completeBtn.onclick;
                   completeBtn.onclick = doMyAction;
                 }
                 function doMyAction() {
                    // perform additional tasks here...
                    // ...
                    // ...
                    oldOnClickMethod(); 
                 }
                </script>
                
                I cannot imagine that this solution is the best way (but
it works for
                me)...have anybody a hint for me how i can do that in a
"Trinidad way"?
                
                Regards,
                
                Sven
                



Reply via email to