OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library eval_box_element; | 5 library eval_box_element; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:html'; | 8 import 'dart:html'; |
9 import 'observatory_element.dart'; | 9 import 'observatory_element.dart'; |
10 import 'package:polymer/polymer.dart'; | 10 import 'package:polymer/polymer.dart'; |
(...skipping 24 matching lines...) Expand all Loading... |
35 // Clear the text box. | 35 // Clear the text box. |
36 var expr = text; | 36 var expr = text; |
37 text = ''; | 37 text = ''; |
38 | 38 |
39 // Use provided callback to eval the expression. | 39 // Use provided callback to eval the expression. |
40 if (callback != null) { | 40 if (callback != null) { |
41 var map = toObservable({}); | 41 var map = toObservable({}); |
42 map['expr'] = expr; | 42 map['expr'] = expr; |
43 results.insert(0, map); | 43 results.insert(0, map); |
44 callback(expr).then((result) { | 44 callback(expr).then((result) { |
45 map['value'] = result; | 45 map['value'] = result; |
| 46 }).catchError((e, st) { |
| 47 map['error'] = e.message; |
| 48 app.handleException(e, st); |
46 }); | 49 }); |
47 } | 50 } |
48 } | 51 } |
49 | 52 |
50 void selectExpr(MouseEvent e) { | 53 void selectExpr(MouseEvent e) { |
51 assert(e.target is Element); | 54 assert(e.target is Element); |
52 Element targetElement = e.target; | 55 Element targetElement = e.target; |
53 text = targetElement.getAttribute('expr'); | 56 text = targetElement.getAttribute('expr'); |
54 } | 57 } |
55 | 58 |
56 EvalBoxElement.created() : super.created(); | 59 EvalBoxElement.created() : super.created(); |
57 } | 60 } |
OLD | NEW |