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

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

Issue 2164903003: Converted Observatory library-nav-menu element (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Added missing file into observatory_sources.gypi Created 4 years, 4 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:html'; 5 import 'dart:html';
6 6
7 import 'package:observatory/app.dart'; 7 import 'package:observatory/app.dart';
8 import 'package:observatory/service.dart'; 8 import 'package:observatory/service.dart';
9 import 'package:observatory/src/elements/helpers/tag.dart'; 9 import 'package:observatory/src/elements/helpers/tag.dart';
10 import 'package:observatory/src/elements/shims/binding.dart'; 10 import 'package:observatory/src/elements/shims/binding.dart';
11 import 'package:observatory/src/elements/nav/class_menu.dart'; 11 import 'package:observatory/src/elements/nav/library_menu.dart';
12 12
13 class NavClassMenuElementWrapper extends HtmlElement { 13 class NavLibraryMenuElementWrapper extends HtmlElement {
14 static final binder = new Binder<NavClassMenuElementWrapper>( 14 static final binder = new Binder<NavLibraryMenuElementWrapper>(
15 const [const Binding('last'), const Binding('cls')]); 15 const [const Binding('last'), const Binding('library')]);
16 16
17 static const tag = 17 static const tag =
18 const Tag<NavClassMenuElementWrapper>('class-nav-menu'); 18 const Tag<NavLibraryMenuElementWrapper>('library-nav-menu');
19 19
20 bool _last = false; 20 bool _last = false;
21 Class _cls; 21 Library _library;
22 bool get last => _last; 22 bool get last => _last;
23 Class get cls => _cls; 23 Library get library => _library;
24 set last(bool value) { 24 set last(bool value) {
25 _last = value; render(); 25 _last = value; render();
26 } 26 }
27 set cls(Class value) { 27 set library(Library value) {
28 _cls = value; render(); 28 _library = value; render();
29 } 29 }
30 30
31 NavClassMenuElementWrapper.created() : super.created() { 31 NavLibraryMenuElementWrapper.created() : super.created() {
32 binder.registerCallback(this); 32 binder.registerCallback(this);
33 _last = _getBoolAttribute('last'); 33 _last = _getBoolAttribute('last');
34 createShadowRoot(); 34 createShadowRoot();
35 render(); 35 render();
36 } 36 }
37 37
38 @override 38 @override
39 void attached() { 39 void attached() {
40 super.attached(); 40 super.attached();
41 render(); 41 render();
42 } 42 }
43 43
44 void render() { 44 void render() {
45 shadowRoot.children = []; 45 shadowRoot.children = [];
46 if (_cls == null || _last == null) return; 46 if (_library == null || _last == null) return;
47 47
48 shadowRoot.children = [ 48 shadowRoot.children = [
49 new NavClassMenuElement(cls.isolate, cls, last: last, 49 new NavLibraryMenuElement(library.isolate, library, last: last,
50 queue: ObservatoryApplication.app.queue) 50 queue: ObservatoryApplication.app.queue)
51 ..children = [new ContentElement()] 51 ..children = [new ContentElement()]
52 ]; 52 ];
53 } 53 }
54 54
55 bool _getBoolAttribute(String name) { 55 bool _getBoolAttribute(String name) {
56 final String value = getAttribute(name); 56 final String value = getAttribute(name);
57 return !(value == null || value == 'false'); 57 return !(value == null || value == 'false');
58 } 58 }
59 } 59 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/nav/library_menu.dart ('k') | runtime/observatory/lib/src/elements/nav_bar.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698