| OLD | NEW | 
 | (Empty) | 
|   1 <!DOCTYPE html> |  | 
|   2 <!-- |  | 
|   3 Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |  | 
|   4 for details. All rights reserved. Use of this source code is governed by a |  | 
|   5 BSD-style license that can be found in the LICENSE file. |  | 
|   6 --> |  | 
|   7  |  | 
|   8 <html> |  | 
|   9   <body> |  | 
|  10     <template id="test" repeat="{{ keyPress | collect }}"> |  | 
|  11       <div>key: {{ }}</div> |  | 
|  12     </template> |  | 
|  13     <script type="application/dart"> |  | 
|  14       import 'dart:async'; |  | 
|  15       import 'dart:html'; |  | 
|  16       import 'package:polymer_expressions/polymer_expressions.dart'; |  | 
|  17       import 'package:polymer_expressions/async.dart'; |  | 
|  18       import 'package:template_binding/template_binding.dart'; |  | 
|  19       import 'package:observe/observe.dart'; |  | 
|  20  |  | 
|  21       Iterable collect(StreamBinding s) { |  | 
|  22         var list = new ObservableList(); |  | 
|  23         s.stream.listen((e) { list.add(e); }); |  | 
|  24         return list; |  | 
|  25       } |  | 
|  26  |  | 
|  27       main() { |  | 
|  28         var globals = { |  | 
|  29           'keyPress': document.onKeyPress |  | 
|  30               .map((e) => new String.fromCharCode(e.charCode)), |  | 
|  31           'collect': collect, |  | 
|  32         }; |  | 
|  33  |  | 
|  34         templateBind(querySelector('#test')) |  | 
|  35             ..bindingDelegate = new PolymerExpressions(globals: globals) |  | 
|  36             ..model = null; |  | 
|  37       } |  | 
|  38     </script> |  | 
|  39     <script src="packages/browser/dart.js"></script> |  | 
|  40   </body> |  | 
|  41 </html> |  | 
| OLD | NEW |