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