| Index: runtime/observatory/lib/src/elements/curly_block.dart
|
| diff --git a/runtime/observatory/lib/src/elements/curly_block.dart b/runtime/observatory/lib/src/elements/curly_block.dart
|
| index df90830d447d1166d09a5b6a536bd61ab59d854d..004a02e36422e64341a952da5b85692070fd4f7b 100644
|
| --- a/runtime/observatory/lib/src/elements/curly_block.dart
|
| +++ b/runtime/observatory/lib/src/elements/curly_block.dart
|
| @@ -5,22 +5,38 @@
|
| library curly_block_element;
|
|
|
| import 'package:polymer/polymer.dart';
|
| +import 'observatory_element.dart';
|
|
|
| @CustomTag('curly-block')
|
| -class CurlyBlockElement extends PolymerElement {
|
| +class CurlyBlockElement extends ObservatoryElement {
|
| CurlyBlockElement.created() : super.created();
|
|
|
| @observable bool expanded = false;
|
| @observable bool busy = false;
|
| @published var callback = null;
|
| @published bool expand = false;
|
| + @published String expandKey;
|
|
|
| void expandChanged(oldValue) {
|
| expanded = expand;
|
| }
|
|
|
| + void expandKeyChanged(oldValue) {
|
| + if (expandKey != null) {
|
| + var value = app.expansions[expandKey];
|
| + if (value != null) {
|
| + if (expanded != value) {
|
| + toggleExpand(null, null, null);
|
| + }
|
| + }
|
| + }
|
| + }
|
| +
|
| void doneCallback() {
|
| expanded = !expanded;
|
| + if (expandKey != null) {
|
| + app.expansions[expandKey] = expanded;
|
| + }
|
| busy = false;
|
| }
|
|
|
| @@ -29,11 +45,11 @@ class CurlyBlockElement extends PolymerElement {
|
| if (busy) {
|
| return;
|
| }
|
| + busy = true;
|
| if (callback != null) {
|
| - busy = true;
|
| callback(!expanded, doneCallback);
|
| } else {
|
| - expanded = !expanded;
|
| + doneCallback();
|
| }
|
| }
|
| }
|
|
|