| Index: runtime/observatory/lib/src/elements/eval_link.dart
|
| diff --git a/runtime/observatory/lib/src/elements/eval_link.dart b/runtime/observatory/lib/src/elements/eval_link.dart
|
| index e13aed127cc24f3a85afe91959748e1da80904db..aa8be4efd8e374fa43a7289a6838adaa73b52722 100644
|
| --- a/runtime/observatory/lib/src/elements/eval_link.dart
|
| +++ b/runtime/observatory/lib/src/elements/eval_link.dart
|
| @@ -5,17 +5,19 @@
|
| library eval_link_element;
|
|
|
| import 'package:observatory/service.dart';
|
| +import 'observatory_element.dart';
|
| import 'package:polymer/polymer.dart';
|
|
|
| @CustomTag('eval-link')
|
| -class EvalLinkElement extends PolymerElement {
|
| +class EvalLinkElement extends ObservatoryElement {
|
| EvalLinkElement.created() : super.created();
|
|
|
| @observable bool busy = false;
|
| @published String label = "[evaluate]";
|
| @published var callback = null;
|
| @published var expr = '';
|
| - @published ServiceObject result = null;
|
| + @published var result = null;
|
| + @published var error = null;
|
|
|
| void evalNow(var a, var b, var c) {
|
| if (busy) {
|
| @@ -25,10 +27,13 @@ class EvalLinkElement extends PolymerElement {
|
| busy = true;
|
| result = null;
|
| callback(expr).then((ServiceObject obj) {
|
| - result = obj;
|
| - }).whenComplete(() {
|
| - busy = false;
|
| - });
|
| + result = obj;
|
| + }).catchError((e, st) {
|
| + error = e.message;
|
| + app.handleException(e, st);
|
| + }).whenComplete(() {
|
| + busy = false;
|
| + });
|
| }
|
| }
|
| }
|
|
|