Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: runtime/bin/vmservice/client/lib/src/app/view_model.dart

Issue 221263002: Miscellaneous Observatory UI improvements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 part of app; 5 part of app;
6 6
7 abstract class TableTreeRow extends Observable { 7 abstract class TableTreeRow extends Observable {
8 final TableTreeRow parent; 8 final TableTreeRow parent;
9 @observable final int depth; 9 @observable final int depth;
10 @observable final List<TableTreeRow> children = new List<TableTreeRow>(); 10 @observable final List<TableTreeRow> children = new List<TableTreeRow>();
11 @observable final List<String> columns = []; 11 @observable final List<String> columns = [];
12 static const arrowRight = '\u2192';
13 static const arrowDownRight = '\u21b3';
14 // TODO(johnmccutchan): Move expander display decisions into html once
15 // tables and templates are better supported.
16 @observable String expander = arrowRight;
12 17
13 TableTreeRow(TableTreeRow parent) : 18 TableTreeRow(TableTreeRow parent) :
14 parent = parent, 19 parent = parent,
15 depth = parent != null ? parent.depth+1 : 0; 20 depth = parent != null ? parent.depth+1 : 0;
16 21
17 bool _expanded = false; 22 bool _expanded = false;
18 bool get expanded => _expanded; 23 bool get expanded => _expanded;
19 set expanded(bool expanded) { 24 set expanded(bool expanded) {
20 var changed = _expanded != expanded; 25 var changed = _expanded != expanded;
21 _expanded = expanded; 26 _expanded = expanded;
22 if (changed) { 27 if (changed) {
23 // If the state has changed, fire callbacks. 28 // If the state has changed, fire callbacks.
24 if (_expanded) { 29 if (_expanded) {
30 expander = arrowDownRight;
25 onShow(); 31 onShow();
26 } else { 32 } else {
33 expander = arrowRight;
27 onHide(); 34 onHide();
28 } 35 }
29 } 36 }
30 } 37 }
31 38
32 bool toggle() { 39 bool toggle() {
33 expanded = !expanded; 40 expanded = !expanded;
34 return expanded; 41 return expanded;
35 } 42 }
36 43
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 _collapse(row.children[i]); 92 _collapse(row.children[i]);
86 } 93 }
87 } 94 }
88 // Collapse this row. 95 // Collapse this row.
89 row.expanded = false; 96 row.expanded = false;
90 // Remove all children. 97 // Remove all children.
91 int index = _index(row); 98 int index = _index(row);
92 rows.removeRange(index + 1, index + 1 + childCount); 99 rows.removeRange(index + 1, index + 1 + childCount);
93 } 100 }
94 } 101 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698