Updating the sample to benefit from model and MVVC bindings dew
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 23 Jan 2013 13:56:54 +0100
branchdew
changeset 54529b8e1b87fad
parent 544 08ffdc3938e7
child 546 79e5a4aae48d
Updating the sample to benefit from model and MVVC bindings
dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js
     1.1 --- a/dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js	Wed Jan 23 13:18:46 2013 +0100
     1.2 +++ b/dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js	Wed Jan 23 13:56:54 2013 +0100
     1.3 @@ -72,52 +72,70 @@
     1.4  }]);
     1.5  
     1.6  function DevCtrl( $scope, $http ) {
     1.7 -    var templateHtml = "<html><body>\n"
     1.8 -        + " <button id='btn'>Hello!</button>\n"
     1.9 -        + " <hr/>\n"
    1.10 -        + "\n"
    1.11 -        + "\n"
    1.12 -        + "\n"
    1.13 -        + "\n"
    1.14 -        + "\n"
    1.15 -        + "\n"
    1.16 -        + "\n"
    1.17 -        + "\n"
    1.18 -        + "\n"
    1.19 -        + "\n"
    1.20 -        + "\n"
    1.21 -        + "\n"
    1.22 -        + "\n"
    1.23 -        + "\n"
    1.24 -        + "\n"
    1.25 -        + "\n"
    1.26 -        + "\n"
    1.27 -        + "\n"
    1.28 -        + "\n"
    1.29 -        + "\n"
    1.30 -        + " <script src=\"/bck2brwsr.js\"></script>\n"
    1.31 -        + " <script type=\"text/javascript\">\n"
    1.32 -        + "   function ldCls(res) {\n"
    1.33 -        + "     var request = new XMLHttpRequest();\n"
    1.34 -        + "     request.open('GET', '/classes/' + res, false);\n"
    1.35 -        + "     request.send();\n"
    1.36 -        + "     var arr = eval('(' + request.responseText + ')');\n"
    1.37 -        + "     return arr;\n"
    1.38 -        + "   }\n"
    1.39 -        + "   var vm = new bck2brwsr(ldCls);\n"
    1.40 -        + "   vm.loadClass('bck2brwsr.demo.Index');\n"
    1.41 -        + " </script>\n"
    1.42 -        + "</body></html>\n";
    1.43 -    var templateJava = "package bck2brwsr.demo;\n"
    1.44 -        + "import org.apidesign.bck2brwsr.htmlpage.api.*;\n"
    1.45 -        + "import static org.apidesign.bck2brwsr.htmlpage.api.OnEvent.*;\n"
    1.46 -        + "@Page(xhtml=\"index.html\", className=\"Index\")\n"
    1.47 -        + "class YourFirstHTML5PageInRealLanguage {\n"
    1.48 -        + "   @On(event=CLICK, id=\"btn\") static void clcs() {\n"
    1.49 -        + "     Element.alert(\"Hello World!\");\n"
    1.50 -        + "     Index.BTN.setDisabled(true);\n"
    1.51 -        + "   }\n"
    1.52 -        + "}\n";
    1.53 +    var templateHtml = 
    1.54 +"<html><body>\n" +
    1.55 +"  <input data-bind=\"value: value, valueUpdate: 'afterkeydown'\" \n" +
    1.56 +"     value=\"0\" type=\"number\">\n" +
    1.57 +"  </input>\n" +
    1.58 +"  * <span data-bind=\"text: value\">0</span> \n" +
    1.59 +"  = <span data-bind=\"text: powerValue\">0</span>\n" +
    1.60 +"  <br/>\n" +
    1.61 +"  <button id='dupl'>Duplicate!</button>\n" +
    1.62 +"  <button id=\"clear\">Clear!</button>" +
    1.63 +" <hr/>\n" +
    1.64 +"\n" +
    1.65 +"\n" +
    1.66 +"\n" +
    1.67 +"\n" +
    1.68 +"\n" +
    1.69 +"\n" +
    1.70 +"\n" +
    1.71 +"\n" +
    1.72 +"\n" +
    1.73 +"\n" +
    1.74 +"\n" +
    1.75 +"\n" +
    1.76 +"\n" +
    1.77 +"\n" +
    1.78 +"\n" +
    1.79 +"\n" +
    1.80 +"\n" +
    1.81 +"\n" +
    1.82 +"\n" +
    1.83 +"\n" +
    1.84 +" <script src=\"/bck2brwsr.js\"></script>\n" +
    1.85 +" <script type=\"text/javascript\">\n" +
    1.86 +"   function ldCls(res) {\n" +
    1.87 +"     var request = new XMLHttpRequest();\n" +
    1.88 +"     request.open('GET', '/classes/' + res, false);\n" +
    1.89 +"     request.send();\n" +
    1.90 +"     var arr = eval('(' + request.responseText + ')');\n" +
    1.91 +"     return arr;\n" +
    1.92 +"   }\n" +
    1.93 +"   var vm = new bck2brwsr(ldCls);\n" +
    1.94 +"   vm.loadClass('bck2brwsr.demo.YourFirstHTML5PageInRealLanguage');\n" +
    1.95 +" </script>\n" +
    1.96 +"</body></html>";
    1.97 +    var templateJava = 
    1.98 +"package bck2brwsr.demo;\n" +
    1.99 +"import org.apidesign.bck2brwsr.htmlpage.api.*;\n" +
   1.100 +"import static org.apidesign.bck2brwsr.htmlpage.api.OnEvent.*;\n" +
   1.101 +"\n" +
   1.102 +"@Page(xhtml=\"index.html\", className=\"Index\", properties={\n" +
   1.103 +"  @Property(name=\"value\", type=int.class)\n" +
   1.104 +"})\n" +
   1.105 +"class YourFirstHTML5PageInRealLanguage {\n" +
   1.106 +"  static { new Index().applyBindings(); }\n" +
   1.107 +"  @On(event=CLICK, id=\"dupl\") static void duplicateValue(Index m) {\n" +
   1.108 +"    m.setValue(m.getValue() * 2);\n" +
   1.109 +"  }\n" +
   1.110 +"  @On(event=CLICK, id=\"clear\") static void zeroTheValue(Index m) {\n" +
   1.111 +"     m.setValue(0);;\n" +
   1.112 +"  }\n" +
   1.113 +"  @ComputedProperty static int powerValue(int value) {\n" +
   1.114 +"    return value * value;\n" +
   1.115 +"  }\n" +
   1.116 +"}";
   1.117  
   1.118      
   1.119      $scope.makeMarker = function( editor, line ) {