Unable to call javamethod from javascript in a GWT java class.
Please find the code snippet from below.
package abc;
public class jsclass extends Composite {
public native boolean getOnlineSchedlueResult() /*-{
function listener(event) {
//alert("getOnlineScheduleResult called 2 Outside");
var data = JSON.parse(event.data);
if(data.FinderSuccess == true){
parent.onlineMoveNavigation = [email protected]::onlineMoveNavigation()();
}
}
if (parent.addEventListener){
//alert("parent getOnlineScheduleResult called 3");
parent.addEventListener("message", listener, false);
//alert("getOnlineScheduleResult called 3A");
parent.postMessage("test", "*");
} else {
//alert("getOnlineScheduleResult called 4");
parent.attachEvent("onmessage", listener);
parent.postMessage("test", "*");
}
}-*/;
public void onlineMoveNavigation(){
GWT.log("onlineMoveNavigation called");
presenter.moveNavigationNext();
}
}
parent.onlineMoveNavigation? Is it supposed to store a function or the result of[email protected]::onlineMoveNavigation()()? I'd wager it's the latter case (sinceonlineMoveNavigationreturnsvoid). In which case you want to drop the second pair of parentheses:parent.onlineMoveNavigation = [email protected]::onlineMoveNavigation();to actually store a reference to theonlineMoveNavigationmethod inparent.onlineMoveNavigation.