OLD | NEW |
1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | 1 <link rel="import" href="../../../../packages/polymer/polymer.html"> |
2 <link rel="import" href="curly_block.html"> | 2 <link rel="import" href="curly_block.html"> |
3 <link rel="import" href="observatory_element.html"> | 3 <link rel="import" href="observatory_element.html"> |
4 <link rel="import" href="service_ref.html"> | 4 <link rel="import" href="service_ref.html"> |
5 | 5 |
6 <polymer-element name="instance-ref" extends="service-ref"> | 6 <polymer-element name="instance-ref" extends="service-ref"> |
7 <template> | 7 <template> |
8 <link rel="stylesheet" href="css/shared.css"> | 8 <link rel="stylesheet" href="css/shared.css"> |
9 <style> | 9 <style> |
10 .errorBox { | 10 .errorBox { |
11 background-color: #f5f5f5; | 11 background-color: #f5f5f5; |
12 border: 1px solid #ccc; | 12 border: 1px solid #ccc; |
13 padding: 10px; | 13 padding: 10px; |
14 font-family: consolas, courier, monospace; | 14 font-family: consolas, courier, monospace; |
15 font-size: 1em; | 15 font-size: 1em; |
16 line-height: 1.2em; | 16 line-height: 1.2em; |
17 white-space: pre; | 17 white-space: pre; |
18 } | 18 } |
19 </style> | 19 </style> |
20 <span> | 20 <span> |
21 <template if="{{ isError(ref) }}"> | 21 <template if="{{ ref.isSentinel }}"> |
22 <pre class="errorBox">{{ ref.message }}</pre> | 22 <div title="{{ hoverText }}">{{ ref.valueAsString }}</div> |
23 </template> | 23 </template> |
24 | 24 |
25 <template if="{{ isUnexpected(ref) }}"> | 25 <template if="{{ ref.isString || ref.isBool || ref.isInt || ref.isDouble |
| ref.isNull }}"> |
26 unexpected reference type <{{ ref.serviceType }}> | 26 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.valueAsString }}</a> |
27 </template> | 27 </template> |
28 | 28 |
29 <template if="{{ isSentinel(ref) }}"> | 29 <template if="{{ ref.isType }}"> |
30 <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div> | 30 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> |
31 </template> | 31 </template> |
32 | 32 |
33 <template if="{{ (isString(ref) || | 33 <template if="{{ ref.isClosure }}"> |
34 isBool(ref) || | |
35 isNull(ref) || | |
36 isInt(ref)) || | |
37 isDouble(ref)) }}"> | |
38 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref['valueAsString'] }}</a
> | |
39 </template> | |
40 | |
41 <template if="{{ (isType(ref)) }}"> | |
42 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref['user_name'] }}</a> | |
43 </template> | |
44 | |
45 <template if="{{ isInstance(ref) && | |
46 ref['closureFunc'] != null}}"> | |
47 <a on-click="{{ goto }}" _href="{{ url }}"> | 34 <a on-click="{{ goto }}" _href="{{ url }}"> |
48 <!-- TODO(turnidge): Switch this to fully-qualified function --> | 35 <!-- TODO(turnidge): Switch this to fully-qualified function --> |
49 {{ ref['closureFunc'].name }} | 36 {{ ref.closureFunc.name }} |
50 </a> | 37 </a> |
51 </template> | 38 </template> |
52 | 39 |
53 <template if="{{ isInstance(ref) && | 40 <template if="{{ ref.isInstance && !ref.isClosure }}"> |
54 ref['closureFunc'] == null}}"> | 41 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> |
55 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</
em></a> | |
56 <curly-block callback="{{ expander() }}"> | 42 <curly-block callback="{{ expander() }}"> |
57 <div class="memberList"> | 43 <div class="memberList"> |
58 <template repeat="{{ field in ref['fields'] }}"> | 44 <template repeat="{{ field in ref.fields }}"> |
59 <div class="memberItem"> | 45 <div class="memberItem"> |
60 <div class="memberName"> | 46 <div class="memberName"> |
61 {{ field['decl']['user_name'] }} | 47 {{ field['decl']['user_name'] }} |
62 </div> | 48 </div> |
63 <div class="memberValue"> | 49 <div class="memberValue"> |
64 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 50 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> |
65 </div> | 51 </div> |
66 </div> | 52 </div> |
67 </template> | 53 </template> |
68 </div> | 54 </div> |
69 </curly-block> | 55 </curly-block> |
70 </template> | 56 </template> |
71 | 57 |
72 <template if="{{ isList(ref) }}"> | 58 <template if="{{ ref.isList }}"> |
73 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</
em> ({{ ref['length']}})</a> | 59 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
({{ ref.length }})</a> |
74 <curly-block callback="{{ expander() }}"> | 60 <curly-block callback="{{ expander() }}"> |
75 <div class="memberList"> | 61 <div class="memberList"> |
76 <template repeat="{{ element in ref['elements'] }}"> | 62 <template repeat="{{ element in ref.elements }}"> |
77 <div class="memberItem"> | 63 <div class="memberItem"> |
78 <div class="memberName">[{{ element['index']}}]</div> | 64 <div class="memberName">[{{ element['index']}}]</div> |
79 <div class="memberValue"> | 65 <div class="memberValue"> |
80 <instance-ref ref="{{ element['value'] }}"></instance-ref> | 66 <any-service-ref ref="{{ element['value'] }}"></instance-ref> |
81 </div> | 67 </div> |
82 </div> | 68 </div> |
83 </template> | 69 </template> |
84 </div> | 70 </div> |
85 </curly-block> | 71 </curly-block> |
86 </template> | 72 </template> |
87 </span> | 73 </span> |
88 </template> | 74 </template> |
89 </polymer-element> | 75 </polymer-element> |
90 | 76 |
91 <script type="application/dart" src="instance_ref.dart"></script> | 77 <script type="application/dart" src="instance_ref.dart"></script> |
OLD | NEW |