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!"); }