OLD | NEW |
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 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'package:observatory/models.dart' as M; | 7 import 'package:observatory/models.dart' as M; |
8 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; | 8 import 'package:observatory/src/elements/helpers/rendering_scheduler.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/helpers/uris.dart'; | 10 import 'package:observatory/src/elements/helpers/uris.dart'; |
11 | 11 |
12 class EventDeleteEvent{ | 12 class EventDeleteEvent{ |
13 final M.Event event; | 13 final M.Event event; |
14 EventDeleteEvent(this.event); | 14 EventDeleteEvent(this.event); |
15 } | 15 } |
16 | 16 |
17 class NavNotifyEventElement extends HtmlElement implements Renderable { | 17 class NavNotifyEventElement extends HtmlElement implements Renderable { |
18 static const tag = const Tag<NavNotifyEventElement>('nav-event'); | 18 static const tag = const Tag<NavNotifyEventElement>('nav-event'); |
19 | 19 |
20 RenderingScheduler _r; | 20 RenderingScheduler _r; |
21 | 21 |
22 Stream<RenderedEvent<NavNotifyEventElement>> get onRendered => _r.onRendered; | 22 Stream<RenderedEvent<NavNotifyEventElement>> get onRendered => _r.onRendered; |
23 | 23 |
24 final StreamController<EventDeleteEvent> _onDelete = | 24 final StreamController<EventDeleteEvent> _onDelete = |
25 new StreamController<EventDeleteEvent>.broadcast(); | 25 new StreamController<EventDeleteEvent>.broadcast(); |
26 Stream<EventDeleteEvent> get onDelete => _onDelete.stream; | 26 Stream<EventDeleteEvent> get onDelete => _onDelete.stream; |
27 | 27 |
28 M.Event _event; | 28 M.Event _event; |
| 29 |
29 M.Event get event => _event; | 30 M.Event get event => _event; |
30 | 31 |
31 factory NavNotifyEventElement(M.Event event, {RenderingQueue queue}) { | 32 factory NavNotifyEventElement(M.Event event, {RenderingQueue queue}) { |
32 assert(event != null); | 33 assert(event != null); |
33 NavNotifyEventElement e = document.createElement(tag.name); | 34 NavNotifyEventElement e = document.createElement(tag.name); |
34 e._r = new RenderingScheduler(e, queue: queue); | 35 e._r = new RenderingScheduler(e, queue: queue); |
35 e._event = event; | 36 e._event = event; |
36 return e; | 37 return e; |
37 } | 38 } |
38 | 39 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 } | 224 } |
224 | 225 |
225 void _delete(EventDeleteEvent e) { | 226 void _delete(EventDeleteEvent e) { |
226 _onDelete.add(e); | 227 _onDelete.add(e); |
227 } | 228 } |
228 | 229 |
229 void delete() { | 230 void delete() { |
230 _onDelete.add(new EventDeleteEvent(_event)); | 231 _onDelete.add(new EventDeleteEvent(_event)); |
231 } | 232 } |
232 } | 233 } |
OLD | NEW |