javaquery/demo-twitter/src/main/resources/org/apidesign/bck2brwsr/demo/twitter/index.html
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 08 Apr 2013 19:31:47 +0200
branchmodel
changeset 957 022f62873be6
parent 956 7fc6b7e9c982
child 994 f90426fe144c
child 1063 9e3a4ba88c2f
permissions -rw-r--r--
Point the URL to the latest version of the source
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!--
     3 
     4     Back 2 Browser Bytecode Translator
     5     Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
     6 
     7     This program is free software: you can redistribute it and/or modify
     8     it under the terms of the GNU General Public License as published by
     9     the Free Software Foundation, version 2 of the License.
    10 
    11     This program is distributed in the hope that it will be useful,
    12     but WITHOUT ANY WARRANTY; without even the implied warranty of
    13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14     GNU General Public License for more details.
    15 
    16     You should have received a copy of the GNU General Public License
    17     along with this program. Look for COPYING file in the top folder.
    18     If not, see http://opensource.org/licenses/GPL-2.0.
    19 
    20 -->
    21 
    22 <!--
    23     Copied from knockout.js Twitter example:
    24     http://knockoutjs.com/examples/twitter.html
    25 -->
    26 
    27 <!DOCTYPE html>
    28 <html xmlns="http://www.w3.org/1999/xhtml">
    29     <head>
    30         <title>Bck2Brwsr's Twitter</title>
    31     </head>
    32     <body>
    33         <link href='twitterExample.css' rel='Stylesheet' ></link>
    34         
    35         <style type='text/css'>
    36            .liveExample select { height: 1.7em; }
    37            .liveExample button { height: 2em; }
    38         </style>
    39         
    40         
    41         <h2>Bck2Brwsr's Twitter</h2>
    42         
    43         <p>
    44         This code based on original <a href="http://knockoutjs.com/examples/twitter.html">knockout.js Twitter example</a> and
    45         uses almost unmodified HTML code. It just changes the model. It 
    46         is written in Java language and it is executed using <a href="http://bck2brwsr.apidesign.org">Bck2Brwsr</a>
    47         virtual machine. The Java source code has about 190 lines and is available 
    48         <a href="http://source.apidesign.org/hg/bck2brwsr/file/7fc6b7e9c982/javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java">here</a>
    49         - in fact it may even be more dense than the original JavaScript model.
    50         </p>
    51         
    52         <div class='liveExample'>
    53             <div class='configuration'>
    54                 <div class='listChooser'>
    55                     <button data-bind='click: deleteList, enable: activeTweetersName'>Delete</button>
    56                     <button data-bind='click: saveChanges, enable: hasUnsavedChanges'>Save</button> 
    57                     <select data-bind='options: savedLists, optionsValue: "name", value: activeTweetersName'> </select>
    58                 </div>
    59 
    60                 <p>Currently viewing <span data-bind='text: activeTweetersCount'> </span> user(s):</p>
    61                 <div class='currentUsers' >
    62                     <ul data-bind='foreach: activeTweeters'>
    63                         <li>
    64                             <button data-bind='click: $root.removeUser'>Remove</button>
    65                             <div data-bind='text: $data'> </div>
    66                         </li>
    67                     </ul>
    68                 </div>
    69 
    70                 <form data-bind='submit: addUser'>
    71                     <label>Add user:</label>
    72                     <input data-bind='value: userNameToAdd, valueUpdate: "keyup", css: { invalid: !userNameToAddIsValid() }' />
    73                     <button data-bind='enable: userNameToAddIsValid' type='submit'>Add</button>
    74                 </form>
    75             </div>
    76             <div class='tweets'>
    77                 <div class='loadingIndicator'>Loading...</div>
    78                 <table data-bind='foreach: currentTweets' width='100%'>
    79                     <tr>
    80                         <td><img data-bind='attr: { src: profile_image_url }' /></td>
    81                         <td>
    82                             <a class='twitterUser' data-bind='attr: { href: userUrl }, text: from_user'> </a>
    83                             <span data-bind='html: html'> </span>
    84                             <div class='tweetInfo' data-bind='text: created_at'> </div>
    85                         </td>
    86                     </tr>
    87                 </table>
    88             </div>
    89         </div>
    90         
    91         <script src="bck2brwsr.js"></script>
    92         <script type="text/javascript">
    93             var vm = bck2brwsr('demo-twitter-0.6-SNAPSHOT.jar');
    94             vm.loadClass('org.apidesign.bck2brwsr.demo.twitter.TwitterClient');
    95         </script>
    96 
    97 
    98     </body>
    99 </html>