OLD | NEW |
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 code_ref_element; | 5 library code_ref_element; |
6 | 6 |
7 import 'package:polymer/polymer.dart'; | 7 import 'package:polymer/polymer.dart'; |
8 import 'service_ref.dart'; | 8 import 'service_ref.dart'; |
9 import 'package:observatory/service.dart'; | 9 import 'package:observatory/service.dart'; |
10 | 10 |
11 @CustomTag('code-ref') | 11 @CustomTag('code-ref') |
12 class CodeRefElement extends ServiceRefElement { | 12 class CodeRefElement extends ServiceRefElement { |
13 @observable Code get code => ref; | 13 CodeRefElement.created() : super.created(); |
| 14 |
| 15 Code get code => ref; |
14 | 16 |
15 refChanged(oldValue) { | 17 refChanged(oldValue) { |
16 super.refChanged(oldValue); | 18 super.refChanged(oldValue); |
17 notifyPropertyChange(#code, 0, 1); | 19 _updateShadowDom(); |
18 } | 20 } |
19 | 21 |
20 CodeRefElement.created() : super.created(); | 22 void _updateShadowDom() { |
| 23 clearShadowRoot(); |
| 24 if (code == null) { |
| 25 return; |
| 26 } |
| 27 var name = (code.isOptimized ? '*' : '') + code.name; |
| 28 if (code.isDartCode) { |
| 29 insertLinkIntoShadowRoot(name, url, hoverText); |
| 30 } else { |
| 31 insertTextSpanIntoShadowRoot(name); |
| 32 } |
| 33 } |
21 } | 34 } |
OLD | NEW |