Estoy tratando de interactuar entre Vaadin y amcharts. Básicamente, necesito dibujar un mapa usando las bibliotecas amcharts, y cuando hago clic en el mapa, necesito enviar información sobre el clic a Java. Mi problema es que no puedo descifrar cómo interactuar correctamente entre los dos, con la documentación que muestra ejemplos muy simples.
En los documentos de vaadin se muestra un ejemplo como:
getElement().executeJS("jsMethodName($0)", getElement());y luego para enviar datos a Java:
element.$server.javaMethodName(args); Mi problema es que puedo enviar desde Java a JS correctamente y el elemento se carga correctamente. Pero cuando hago element.$server.javaMethodName() , element.$server siempre está indefinido. No entiendo si me estoy perdiendo algo o si no entiendo la forma correcta de usar esto.
Este es mi método Java:
@ClientCallable private void clickBullet(String area) { log.error("Clicked area: " + area); }y esta es la llamada de JS:
function clickBullet(name, element) { if(element !== null){ element.$server.clickBullet(name); } else { console.log("element is null"); } }Tenga en cuenta que el elemento no es nulo, es correcto. ¿Qué estoy haciendo mal?