Index: packages/polymer_expressions/example/streams/count_clicks.html |
diff --git a/packages/polymer_expressions/example/streams/count_clicks.html b/packages/polymer_expressions/example/streams/count_clicks.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..01a1667ed9805057c9c7d5e938baf866ff94ebba |
--- /dev/null |
+++ b/packages/polymer_expressions/example/streams/count_clicks.html |
@@ -0,0 +1,41 @@ |
+<!DOCTYPE html> |
+<!-- |
+Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+for details. All rights reserved. Use of this source code is governed by a |
+BSD-style license that can be found in the LICENSE file. |
+--> |
+ |
+<html> |
+ <body> |
+ <template id="test" bind="{{ mouseDown | count }}"> |
+ Clicks: {{ value }} |
+ </template> |
+ <script type="application/dart"> |
+ import 'dart:async'; |
+ import 'dart:html'; |
+ import 'package:polymer_expressions/polymer_expressions.dart'; |
+ import 'package:polymer_expressions/async.dart'; |
+ import 'package:template_binding/template_binding.dart'; |
+ import 'package:observe/observe.dart'; |
+ |
+ count(StreamBinding s) { |
+ var box = new ObservableBox(); |
+ box.value = 0; |
+ s.stream.listen((e) { box.value++; }); |
+ return box; |
+ } |
+ |
+ main() { |
+ var globals = { |
+ 'mouseDown': document.onMouseDown, |
+ 'count': count, |
+ }; |
+ |
+ templateBind(query('#test')) |
+ ..bindingDelegate = new PolymerExpressions(globals: globals) |
+ ..model = null; |
+ } |
+ </script> |
+ <script src="packages/browser/dart.js"></script> |
+ </body> |
+</html> |