Adding some different methods to various HTML elements and trying to override some methods with Element.js
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 25 Sep 2012 09:08:39 +0200
changeset 272f19d1449fba
parent 26 03e4aaa4ef3d
child 28 81ad7a739fed
Adding some different methods to various HTML elements and trying to override some methods with Element.js
htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Button.java
htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java
htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.js
htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Input.java
     1.1 --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Button.java	Mon Sep 24 15:06:43 2012 +0200
     1.2 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Button.java	Tue Sep 25 09:08:39 2012 +0200
     1.3 @@ -21,7 +21,7 @@
     1.4   *
     1.5   * @author Jaroslav Tulach <jtulach@netbeans.org>
     1.6   */
     1.7 -public class Button extends Element {
     1.8 +public final class Button extends Element {
     1.9      public Button(String id) {
    1.10          super(id);
    1.11      }
    1.12 @@ -29,4 +29,8 @@
    1.13      @Override
    1.14      void dontSubclass() {
    1.15      }
    1.16 +
    1.17 +    public void setDisabled(boolean state) {
    1.18 +        setAttribute(this, "disabled", state);
    1.19 +    }
    1.20  }
     2.1 --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java	Mon Sep 24 15:06:43 2012 +0200
     2.2 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java	Tue Sep 25 09:08:39 2012 +0200
     2.3 @@ -29,4 +29,8 @@
     2.4      }
     2.5      
     2.6      abstract void dontSubclass();
     2.7 +    
     2.8 +    static void setAttribute(Element el, String property, Object value) {
     2.9 +        throw new UnsupportedOperationException("Needs JavaScript!");
    2.10 +    }
    2.11  }
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.js	Tue Sep 25 09:08:39 2012 +0200
     3.3 @@ -0,0 +1,6 @@
     3.4 +
     3.5 +
     3.6 +function org_apidesign_bck2brwsr_htmlpage_api_Element_setAttribute_Lorg_apidesign_bck2brwsr_htmlpage_api_ElementLjava_lang_StringLjava_lang_Object(self, property, value) {
     3.7 +    document.getElementById(self.id)[property] = value;
     3.8 +}
     3.9 +
     4.1 --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Input.java	Mon Sep 24 15:06:43 2012 +0200
     4.2 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Input.java	Tue Sep 25 09:08:39 2012 +0200
     4.3 @@ -21,7 +21,7 @@
     4.4   *
     4.5   * @author Jaroslav Tulach <jtulach@netbeans.org>
     4.6   */
     4.7 -public class Input extends Element {
     4.8 +public final class Input extends Element {
     4.9      public Input(String id) {
    4.10          super(id);
    4.11      }
    4.12 @@ -29,4 +29,8 @@
    4.13      @Override
    4.14      void dontSubclass() {
    4.15      }
    4.16 +    
    4.17 +    public void setAutocomplete(boolean state) {
    4.18 +        setAttribute(this, "autocomplete", state);
    4.19 +    }
    4.20  }