| Index: runtime/observatory/lib/src/elements/containers/virtual_tree.dart
|
| diff --git a/runtime/observatory/lib/src/elements/containers/virtual_tree.dart b/runtime/observatory/lib/src/elements/containers/virtual_tree.dart
|
| index 4df0dd73c55c0e30aad3f5ddd3ed4b6a0920d5bf..45972483287f4deb2242b374cce2841226284f82 100644
|
| --- a/runtime/observatory/lib/src/elements/containers/virtual_tree.dart
|
| +++ b/runtime/observatory/lib/src/elements/containers/virtual_tree.dart
|
| @@ -25,10 +25,8 @@ void virtualTreeUpdateLines(SpanElement element, int n) {
|
| }
|
|
|
| class VirtualTreeElement extends HtmlElement implements Renderable {
|
| - static const tag =
|
| - const Tag<VirtualTreeElement>('virtual-tree', dependencies: const [
|
| - VirtualCollectionElement.tag
|
| - ]);
|
| + static const tag = const Tag<VirtualTreeElement>('virtual-tree',
|
| + dependencies: const [VirtualCollectionElement.tag]);
|
|
|
| RenderingScheduler<VirtualTreeElement> _r;
|
|
|
| @@ -59,14 +57,17 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| e._children = children;
|
| e._collection = new VirtualCollectionElement(() {
|
| var element;
|
| - return element = create(({bool autoToggleSingleChildNodes: false,
|
| + return element = create((
|
| + {bool autoToggleSingleChildNodes: false,
|
| bool autoToggleWholeTree: false}) {
|
| var item = e._collection.getItemFromElement(element);
|
| if (e.isExpanded(item)) {
|
| - e.collapse(item, autoCollapseWholeTree: autoToggleWholeTree,
|
| + e.collapse(item,
|
| + autoCollapseWholeTree: autoToggleWholeTree,
|
| autoCollapseSingleChildNodes: autoToggleSingleChildNodes);
|
| } else {
|
| - e.expand(item, autoExpandWholeTree: autoToggleWholeTree,
|
| + e.expand(item,
|
| + autoExpandWholeTree: autoToggleWholeTree,
|
| autoExpandSingleChildNodes: autoToggleSingleChildNodes);
|
| }
|
| });
|
| @@ -83,7 +84,8 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| return _expanded.contains(item);
|
| }
|
|
|
| - void expand(item, {bool autoExpandSingleChildNodes : false,
|
| + void expand(item,
|
| + {bool autoExpandSingleChildNodes: false,
|
| bool autoExpandWholeTree: false}) {
|
| if (_expanded.add(item)) _r.dirty();
|
| if (autoExpandWholeTree) {
|
| @@ -99,7 +101,8 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| }
|
| }
|
|
|
| - void collapse(item, {bool autoCollapseSingleChildNodes : false,
|
| + void collapse(item,
|
| + {bool autoCollapseSingleChildNodes: false,
|
| bool autoCollapseWholeTree: false}) {
|
| if (_expanded.remove(item)) _r.dirty();
|
| if (autoCollapseWholeTree) {
|
| @@ -121,9 +124,10 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| _r.enable();
|
| }
|
|
|
| - @override
|
| + @override
|
| detached() {
|
| - super.detached(); _r.disable(notify: true);
|
| + super.detached();
|
| + _r.disable(notify: true);
|
| children = const [];
|
| }
|
|
|
| @@ -142,6 +146,7 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| }
|
| return [item];
|
| }
|
| +
|
| _collection.items = _items.expand(_toList);
|
| var depth = 0;
|
| Iterable _toDepth(item) {
|
| @@ -149,12 +154,12 @@ class VirtualTreeElement extends HtmlElement implements Renderable {
|
| Iterable children = _children(item);
|
| if (children.isNotEmpty) {
|
| depth++;
|
| - return children.expand(_toDepth).toList()
|
| - ..insert(0, --depth);
|
| + return children.expand(_toDepth).toList()..insert(0, --depth);
|
| }
|
| }
|
| return [depth];
|
| }
|
| +
|
| _depths = _items.expand(_toDepth).toList();
|
| }
|
| }
|
|
|