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

Side by Side Diff: runtime/observatory/lib/src/elements/nav/notify_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/repositories.dart'; 8 import 'package:observatory/repositories.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/notify.dart'; 11 import 'package:observatory/src/elements/nav/notify.dart';
12 12
13 @bindable 13 @bindable
14 class NavNotifyElementWrapper extends HtmlElement { 14 class NavNotifyElementWrapper extends HtmlElement {
15 static const binder = const Binder<NavNotifyElementWrapper>(const { 15 static const binder = const Binder<NavNotifyElementWrapper>(const {
16 'notifications': #notifications, 'notifyOnPause': #notifyOnPause 16 'notifications': #notifications, 'notifyOnPause': #notifyOnPause
17 }); 17 });
18 18
19 static const tag = const Tag<NavNotifyElementWrapper>('nav-notify'); 19 static const tag = const Tag<NavNotifyElementWrapper>('nav-notify');
20 20
21 NotificationRepository _notifications; 21 NotificationRepository _notifications;
22 bool _notifyOnPause = true; 22 bool _notifyOnPause = true;
23
23 NotificationRepository get notifications => _notifications; 24 NotificationRepository get notifications => _notifications;
24 bool get notifyOnPause => _notifyOnPause; 25 bool get notifyOnPause => _notifyOnPause;
26
25 set notifications(NotificationRepository value) { 27 set notifications(NotificationRepository value) {
26 _notifications = value; render(); 28 _notifications = value;
29 render();
27 } 30 }
28 set notifyOnPause(bool value) { 31 set notifyOnPause(bool value) {
29 _notifyOnPause = value; render(); 32 _notifyOnPause = value;
33 render();
30 } 34 }
31 35
32 NavNotifyElementWrapper.created() : super.created() { 36 NavNotifyElementWrapper.created() : super.created() {
33 binder.registerCallback(this); 37 binder.registerCallback(this);
34 createShadowRoot(); 38 createShadowRoot();
35 render(); 39 render();
36 } 40 }
37 41
38 @override 42 @override
39 void attached() { 43 void attached() {
40 super.attached(); 44 super.attached();
41 render(); 45 render();
42 } 46 }
43 47
44 void render() { 48 void render() {
45 shadowRoot.children = []; 49 shadowRoot.children = [];
46 if (_notifications == null) return; 50 if (_notifications == null) {
51 return;
52 }
47 53
48 shadowRoot.children = [ 54 shadowRoot.children = [
49 new StyleElement() 55 new StyleElement()
50 ..text = '''nav-notify-wrapped > div { 56 ..text = '''nav-notify-wrapped > div {
51 float: right; 57 float: right;
52 } 58 }
53 nav-notify-wrapped > div > div { 59 nav-notify-wrapped > div > div {
54 display: block; 60 display: block;
55 position: absolute; 61 position: absolute;
56 top: 98%; 62 top: 98%;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 122 }
117 123
118 nav-exception > div > button:hover, nav-event > div > button:hover { 124 nav-exception > div > button:hover, nav-event > div > button:hover {
119 background: rgba(255,255,255,0.5); 125 background: rgba(255,255,255,0.5);
120 }''', 126 }''',
121 new NavNotifyElement(_notifications, notifyOnPause: notifyOnPause, 127 new NavNotifyElement(_notifications, notifyOnPause: notifyOnPause,
122 queue: ObservatoryApplication.app.queue) 128 queue: ObservatoryApplication.app.queue)
123 ]; 129 ];
124 } 130 }
125 } 131 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/nav/notify_exception.dart ('k') | runtime/observatory/lib/src/elements/nav/refresh.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698