package inexp.groovyex;
import org.w3c.dom.events.Event
import org.w3c.dom.events.EventListener
class GroovyExampleDocument
{
def itsNatDoc // ItsNatHTMLDocument
def textInput // ItsNatHTMLInputText
def resultsElem // Element
GroovyExampleDocument(itsNatDoc)
{
this.itsNatDoc = itsNatDoc
def doc = itsNatDoc.getHTMLDocument()
def compMgr = itsNatDoc.getItsNatComponentManager()
this.textInput = compMgr.createItsNatComponentById("inputId")
def buttonElem = doc.getElementById("buttonId")
buttonElem.addEventListener("click",
{ Event evt -> def text = textInput.getText(); resultsElem.setTextContent(text); } as EventListener, false)
this.resultsElem = doc.getElementById("resultsId")
}
}
Unfortunately hot redeploy doesn't work because Groovy objects (listeners) are registered in and called by ItsNat Java classes, after any change to Groovy code you must redeploy the web app to make effective your changes.