Hi List, I'm currently playing with the new and fancy AJAX components in Tapestry 4.1.1 but I can't get them to work.
My minimal test case is: Java: package pages; import org.apache.tapestry.annotations.EventListener; import org.apache.tapestry.html.BasePage; public abstract class TestInlineEditPage extends BasePage { public abstract String getText(); @EventListener(events = "onSave", targets="testEdit") public void onTextUpdate() { System.out.println("Event listener called"); } } HTML Template: <html jwcid="@Shell" title="Test" browserLogLevel="DEBUG" consoleEnabled="true" debugEnabled="false" > <body jwcid="@Body"> <div jwcid="testEdit" /> </body> </html> Mapping file: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE page-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> <page-specification class="pages.TestInlineEditPage"> <component id="testEdit" type="InlineEditBox" > <binding name="value" value="text" /> </component> </page-specification> What I see when I access the above page is more or less plain nothing (the generated HTML is at the end of this mail). The JavaScript error console shows as last error: Error: impl is not a constructor Source File: http://localhost:8080/testapp/assets/static/dojo/dojo.js Line: 1021 I played with this for about 5 hours now. The example application (TimeTracker) works for me. I copied the setup (hivemodule.xml and web.xml) configuration more or less as is into my application. I tried different versions of Tapestry (current 4.1.2-SNAPSHOT, the version that comes with the prebuild example application) with no effect. I have the feeling that I'm missing something quit obvious but have no idea what it is. Any suggestions? Have fun, Marcus Generated HTML Listing: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- Page: TestInlineEdit --> <!-- Generated: Wed Jan 31 10:36:43 CET 2007 --> <html> <head> <meta name="generator" content="Tapestry Application Framework, version 4.1.2" /> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Test</title> <script type="text/javascript">djConfig = {"isDebug":false,"debugContainerId":"debug","baseRelativePath":"/testapp/assets/static/dojo/","preventBackButtonFix":false,"parseWidgets":false,"locale":"af"} </script> <script type="text/javascript" src="/testapp/assets/static/dojo/dojo.js"></script> <script type="text/javascript"> dojo.registerModulePath("tapestry", "/testapp/assets/static/tapestry"); </script> <script type="text/javascript" src="/testapp/assets/static/tapestry/core.js"></script> <script type="text/javascript"> dojo.require("tapestry.namespace"); </script> </head> <body id="Body"> <script type="text/javascript"><!-- dojo.require("tapestry.widget.Widget"); dojo.require("tapestry.event"); // --></script> <div id="testEdit"></div> <script type="text/javascript"><!-- dojo.addOnLoad(function(e) { tapestry.widget.synchronizeWidgetState("testEdit", "InlineEditBox", {"widgetId":"testEdit","mode":"text","minWidth":100,"minHeight":200,"doFade":false}, false); var inlineBox=dojo.widget.byId("testEdit"); inlineBox.enable(); tapestry.cleanConnect(dojo.widget.byId("testEdit"), "onSave", "event846691032"); tapestry.event846691032=function(e){ var content={beventname:"onSave"}; tapestry.event.buildEventProperties(e, content); if (!content["beventtarget.id"]) content["beventtarget.id"]="testEdit"; tapestry.bind("/testapp/directevent.svc?component=testEdit&page=TestInlineEdit&session=T", content); }; dojo.event.connect(dojo.widget.byId("testEdit"), "onSave", tapestry, "event846691032");}); // --></script></body> </html> <!-- Render time: ~ 16 ms --> -- Marcus Thiesen Bachelor of Science (BSc) freiheit.com technologies gmbh Straßenbahnring 22 / 20251 Hamburg, Germany fon +49 (0)40 / 890584-0 fax +49 (0)40 / 890584-20 0553 222D ABF2 DF71 0CF6 C262 C77E 2AAF 6BE4 4DA4 Bücher kaufen und Freie Software fördern | http://bookzilla.de/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]