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

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

Issue 2211603002: Centralized event streams (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Merged with master 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/src/elements/helpers/tag.dart'; 8 import 'package:observatory/src/elements/helpers/tag.dart';
9 import 'package:observatory/src/elements/shims/binding.dart'; 9 import 'package:observatory/src/elements/shims/binding.dart';
10 import 'package:observatory/src/elements/nav/menu_item.dart'; 10 import 'package:observatory/src/elements/nav/menu_item.dart';
11 11
12 @bindable 12 @bindable
13 class NavMenuItemElementWrapper extends HtmlElement { 13 class NavMenuItemElementWrapper extends HtmlElement {
14 static const binder = const Binder<NavMenuItemElementWrapper>(const { 14 static const binder = const Binder<NavMenuItemElementWrapper>(const {
15 'anchor': #anchor, 'link': #link 15 'anchor': #anchor, 'link': #link
16 }); 16 });
17 17
18 static const tag = 18 static const tag =
19 const Tag<NavMenuItemElementWrapper>('nav-menu-item'); 19 const Tag<NavMenuItemElementWrapper>('nav-menu-item');
20 20
21 String _anchor; 21 String _anchor;
22 String _link; 22 String _link;
23
23 String get anchor => _anchor; 24 String get anchor => _anchor;
24 String get link => _link; 25 String get link => _link;
26
25 set anchor(String value) { 27 set anchor(String value) {
26 _anchor = value; render(); 28 _anchor = value;
29 render();
27 } 30 }
28 set link(String value) { 31 set link(String value) {
29 _link = value; render(); 32 _link = value;
33 render();
30 } 34 }
31 35
32 NavMenuItemElementWrapper.created() : super.created() { 36 NavMenuItemElementWrapper.created() : super.created() {
33 binder.registerCallback(this); 37 binder.registerCallback(this);
34 _anchor = getAttribute('anchor'); 38 _anchor = getAttribute('anchor');
35 _link = getAttribute('link'); 39 _link = getAttribute('link');
36 createShadowRoot(); 40 createShadowRoot();
37 render(); 41 render();
38 } 42 }
39 43
40 @override 44 @override
41 void attached() { 45 void attached() {
42 super.attached(); 46 super.attached();
43 render(); 47 render();
44 } 48 }
45 49
46 void render() { 50 void render() {
47 shadowRoot.children = []; 51 shadowRoot.children = [];
48 if (_anchor == null) return; 52 if (_anchor == null) {
53 return;
54 }
49 55
50 shadowRoot.children = [ 56 shadowRoot.children = [
51 new NavMenuItemElement(_anchor, link: '#$link', 57 new NavMenuItemElement(_anchor, link: '#$link',
52 queue: ObservatoryApplication.app.queue) 58 queue: ObservatoryApplication.app.queue)
53 ..children = [new ContentElement()] 59 ..children = [new ContentElement()]
54 ]; 60 ];
55 } 61 }
56 } 62 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/nav/menu_item.dart ('k') | runtime/observatory/lib/src/elements/nav/menu_wrapper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698