You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Adrian Mitev (JIRA)" <de...@myfaces.apache.org> on 2007/04/19 15:10:15 UTC
[jira] Created: (TOMAHAWK-965) Add ability to JSCookMenu to invoke
javascript and actiom method at the same
Add ability to JSCookMenu to invoke javascript and actiom method at the same
----------------------------------------------------------------------------
Key: TOMAHAWK-965
URL: https://issues.apache.org/jira/browse/TOMAHAWK-965
Project: MyFaces Tomahawk
Issue Type: Improvement
Components: JS Cook Menu
Affects Versions: 1.1.6-SNAPSHOT
Reporter: Adrian Mitev
In MyFacesHack.js:
if (link != null)
{
//-------------- Add this code
//searches for javascript$action notation
if (link.match(/\w*:A\].*\$/) != null) {
expr = link.replace(/^\w*:A\]/, "");
jsExpr = expr.replace(/\$.*/,"");
eval(jsExpr);
link = link.replace(jsExpr,"").replace("\$","");
}
//-----------------------
// changes by Richard J. Barbalace
if (link.match(/^\w*:A\]\w*:\/\//) != null ) {
// Link is a URL
link = link.replace(/^\w*:A\]/, ""); // Remove JSF ID
window.open (link, target);
} else if (link.match(/^\w*:A\]\w*:/) != null ) {
// Link is a script method
link = link.replace(/^\w*:A\]\w*:/, ""); // Remove JSF ID
eval(link);
} else {
// Link is a JSF action
var dummyForm = document.forms[target];
dummyForm.elements['jscook_action'].value = link;
dummyForm.submit();
}
}
This addition searches for action that contains javascript code and expression separated by $. Splits them and invokes the javascript code. Example:
<t:navigationMenuItem itemLabel="Something" action="alert('myBean.actionMethod will be invoked')$#{myBean.actionMethod}" />
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (TOMAHAWK-965) Add ability to JSCookMenu to
invoke javascript and actiom method at the same
Posted by "Mike Kienenberger (JIRA)" <de...@myfaces.apache.org>.
[ https://issues.apache.org/jira/browse/TOMAHAWK-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490069 ]
Mike Kienenberger commented on TOMAHAWK-965:
--------------------------------------------
This is not the correct way to solve this issue.
Submit patches to support something along these lines:
<t:navigationMenuItem
itemLabel="Something"
action="#{myBean.actionMethod}"
javscript_action="alert('myBean.actionMethod will be invoked')" />
Note that your patches need to be in unified diff format, not just snippets of text.
http://wiki.apache.org/myfaces/Contributing_Patches
> Add ability to JSCookMenu to invoke javascript and actiom method at the same
> ----------------------------------------------------------------------------
>
> Key: TOMAHAWK-965
> URL: https://issues.apache.org/jira/browse/TOMAHAWK-965
> Project: MyFaces Tomahawk
> Issue Type: Improvement
> Components: JS Cook Menu
> Affects Versions: 1.1.6-SNAPSHOT
> Reporter: Adrian Mitev
>
> In MyFacesHack.js:
> if (link != null)
> {
> //-------------- Add this code
> //searches for javascript$action notation
> if (link.match(/\w*:A\].*\$/) != null) {
> expr = link.replace(/^\w*:A\]/, "");
> jsExpr = expr.replace(/\$.*/,"");
> eval(jsExpr);
> link = link.replace(jsExpr,"").replace("\$","");
> }
> //-----------------------
> // changes by Richard J. Barbalace
> if (link.match(/^\w*:A\]\w*:\/\//) != null ) {
> // Link is a URL
> link = link.replace(/^\w*:A\]/, ""); // Remove JSF ID
> window.open (link, target);
> } else if (link.match(/^\w*:A\]\w*:/) != null ) {
> // Link is a script method
> link = link.replace(/^\w*:A\]\w*:/, ""); // Remove JSF ID
> eval(link);
> } else {
> // Link is a JSF action
> var dummyForm = document.forms[target];
> dummyForm.elements['jscook_action'].value = link;
> dummyForm.submit();
> }
> }
> This addition searches for action that contains javascript code and expression separated by $. Splits them and invokes the javascript code. Example:
> <t:navigationMenuItem itemLabel="Something" action="alert('myBean.actionMethod will be invoked')$#{myBean.actionMethod}" />
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.