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

Side by Side Diff: runtime/observatory/lib/src/elements/objectstore_view.dart

Issue 2310003004: Removed polymer & mirror from Observatory (Closed)
Patch Set: Fixed crash in heap-map page Created 4 years, 3 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
OLDNEW
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 objectstore_view_element; 5 library objectstore_view_element;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'package:observatory/models.dart' as M; 9 import 'package:observatory/models.dart' as M;
10 import 'package:observatory/src/elements/helpers/any_ref.dart'; 10 import 'package:observatory/src/elements/helpers/any_ref.dart';
11 import 'package:observatory/src/elements/helpers/nav_bar.dart';
11 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; 12 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
12 import 'package:observatory/src/elements/helpers/tag.dart'; 13 import 'package:observatory/src/elements/helpers/tag.dart';
13 import 'package:observatory/src/elements/instance_ref.dart'; 14 import 'package:observatory/src/elements/instance_ref.dart';
14 import 'package:observatory/src/elements/nav/bar.dart';
15 import 'package:observatory/src/elements/nav/isolate_menu.dart'; 15 import 'package:observatory/src/elements/nav/isolate_menu.dart';
16 import 'package:observatory/src/elements/nav/notify.dart'; 16 import 'package:observatory/src/elements/nav/notify.dart';
17 import 'package:observatory/src/elements/nav/refresh.dart'; 17 import 'package:observatory/src/elements/nav/refresh.dart';
18 import 'package:observatory/src/elements/nav/top_menu.dart'; 18 import 'package:observatory/src/elements/nav/top_menu.dart';
19 import 'package:observatory/src/elements/nav/vm_menu.dart'; 19 import 'package:observatory/src/elements/nav/vm_menu.dart';
20 import 'package:observatory/src/elements/view_footer.dart'; 20 import 'package:observatory/src/elements/view_footer.dart';
21 21
22 class ObjectStoreViewElement extends HtmlElement implements Renderable { 22 class ObjectStoreViewElement extends HtmlElement implements Renderable {
23 static const tag = const Tag<ObjectStoreViewElement>('objectstore-view', 23 static const tag = const Tag<ObjectStoreViewElement>('objectstore-view',
24 dependencies: const [ 24 dependencies: const [
25 InstanceRefElement.tag, 25 InstanceRefElement.tag,
26 NavBarElement.tag,
27 NavTopMenuElement.tag, 26 NavTopMenuElement.tag,
28 NavVMMenuElement.tag, 27 NavVMMenuElement.tag,
29 NavIsolateMenuElement.tag, 28 NavIsolateMenuElement.tag,
30 NavRefreshElement.tag, 29 NavRefreshElement.tag,
31 NavNotifyElement.tag, 30 NavNotifyElement.tag,
32 ViewFooterElement.tag 31 ViewFooterElement.tag
33 ]); 32 ]);
34 33
35 RenderingScheduler<ObjectStoreViewElement> _r; 34 RenderingScheduler<ObjectStoreViewElement> _r;
36 35
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 @override 83 @override
85 detached() { 84 detached() {
86 super.detached(); 85 super.detached();
87 _r.disable(notify: true); 86 _r.disable(notify: true);
88 children = []; 87 children = [];
89 } 88 }
90 89
91 void render() { 90 void render() {
92 final fields = _store?.fields?.toList(growable: false); 91 final fields = _store?.fields?.toList(growable: false);
93 children = [ 92 children = [
94 new NavBarElement(queue: _r.queue) 93 navBar([
95 ..children = [ 94 new NavTopMenuElement(queue: _r.queue),
96 new NavTopMenuElement(queue: _r.queue), 95 new NavVMMenuElement(_vm, _events, queue: _r.queue),
97 new NavVMMenuElement(_vm, _events, queue: _r.queue), 96 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue),
98 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue), 97 new NavRefreshElement(disabled: _store == null, queue: _r.queue)
99 new NavRefreshElement(disabled: _store == null, queue: _r.queue) 98 ..onRefresh.listen((e) => _refresh()),
100 ..onRefresh.listen((e) => _refresh()), 99 new NavNotifyElement(_notifications, queue: _r.queue)
101 new NavNotifyElement(_notifications, queue: _r.queue) 100 ]),
102 ],
103 new DivElement()..classes = ['content-centered-big'] 101 new DivElement()..classes = ['content-centered-big']
104 ..children = [ 102 ..children = [
105 new HeadingElement.h1() 103 new HeadingElement.h1()
106 ..text = fields == null 104 ..text = fields == null
107 ? 'Object Store' 105 ? 'Object Store'
108 : 'Object Store (${fields.length})', 106 : 'Object Store (${fields.length})',
109 new HRElement(), 107 new HRElement(),
110 fields == null 108 fields == null
111 ? (new HeadingElement.h2()..text = 'Loading...') 109 ? (new HeadingElement.h2()..text = 'Loading...')
112 : (new DivElement()..classes = ['memberList'] 110 : (new DivElement()..classes = ['memberList']
(...skipping 13 matching lines...) Expand all
126 ]; 124 ];
127 } 125 }
128 126
129 Future _refresh() async { 127 Future _refresh() async {
130 _store = null; 128 _store = null;
131 _r.dirty(); 129 _r.dirty();
132 _store = await _stores.get(_isolate); 130 _store = await _stores.get(_isolate);
133 _r.dirty(); 131 _r.dirty();
134 } 132 }
135 } 133 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698