diff -r 81ad7a739fed -r 029e6eed60e9 htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java
--- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java Tue Sep 25 09:55:34 2012 +0200
+++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java Thu Oct 11 06:15:22 2012 -0700
@@ -17,6 +17,8 @@
*/
package org.apidesign.bck2brwsr.htmlpage.api;
+import org.apidesign.bck2brwsr.core.JavaScriptBody;
+
/** Represents a generic HTML element.
*
* @author Jaroslav Tulach
@@ -30,14 +32,33 @@
abstract void dontSubclass();
+ @JavaScriptBody(
+ args={"el", "property", "value"},
+ body="var e = window.document.getElementById(el.id);\n"
+ + "e[property] = value;\n"
+ )
static void setAttribute(Element el, String property, Object value) {
throw new UnsupportedOperationException("Needs JavaScript!");
}
+
+ @JavaScriptBody(
+ args={"el", "property"},
+ body="var e = window.document.getElementById(el.id);\n"
+ + "return e[property];\n"
+ )
+ static Object getAttribute(Element el, String property) {
+ throw new UnsupportedOperationException("Needs JavaScript!");
+ }
/** Executes given runnable when user performs a "click" on the given
* element.
* @param r the runnable to execute, never null
*/
+ @JavaScriptBody(
+ args={"el", "r"},
+ body="var e = window.document.getElementById(el.id);\n"
+ + "e.onclick = function() { r.runV(); };\n"
+ )
public final void addOnClick(Runnable r) {
throw new UnsupportedOperationException("Needs JavaScript!");
}