OLD | NEW |
| (Empty) |
1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | |
2 <link rel="import" href="class_ref.html"> | |
3 <link rel="import" href="error_view.html"> | |
4 <link rel="import" href="eval_box.html"> | |
5 <link rel="import" href="eval_link.html"> | |
6 <link rel="import" href="field_ref.html"> | |
7 <link rel="import" href="function_ref.html"> | |
8 <link rel="import" href="inbound_reference.html"> | |
9 <link rel="import" href="instance_ref.html"> | |
10 <link rel="import" href="observatory_element.html"> | |
11 <link rel="import" href="nav_bar.html"> | |
12 <link rel="import" href="object_common.html"> | |
13 <link rel="import" href="context_ref.html"> | |
14 | |
15 <polymer-element name="instance-view" extends="observatory-element"> | |
16 <template> | |
17 <link rel="stylesheet" href="css/shared.css"> | |
18 <nav-bar> | |
19 <top-nav-menu></top-nav-menu> | |
20 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> | |
21 <!-- TODO(turnidge): Add library nav menu here. --> | |
22 <class-nav-menu cls="{{ instance.clazz }}"></class-nav-menu> | |
23 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> | |
24 <nav-refresh callback="{{ refresh }}"></nav-refresh> | |
25 <nav-control></nav-control> | |
26 </nav-bar> | |
27 | |
28 <template if="{{ instance.isError }}"> | |
29 <error-view error_obj="{{ instance['error'] }}"></error-view> | |
30 </template> | |
31 | |
32 <template if="{{ !instance.isError }}"> | |
33 <div class="content"> | |
34 <template if="{{ instance.isAbstractType }}"> | |
35 <h1>type {{ instance.name }}</h1> | |
36 </template> | |
37 <template if="{{ !instance.isAbstractType }}"> | |
38 <h1>instance of {{ instance.clazz.name }}</h1> | |
39 </template> | |
40 | |
41 <object-common object="{{ instance }}"></object-common> | |
42 | |
43 <div class="memberList"> | |
44 <div class="memberItem"> </div> | |
45 | |
46 <template if="{{ instance.valueAsString != null }}"> | |
47 <div class="memberItem"> | |
48 <div class="memberName">value</div> | |
49 <div class="memberValue">{{ instance.valueAsString }}</div> | |
50 </div> | |
51 </template> | |
52 | |
53 <template if="{{ instance.isString }}"> | |
54 <div class="memberItem"> | |
55 <div class="memberName">valueAsLiteral</div> | |
56 <div class="memberValue"> {{ asStringLiteral(instance.valueAsStrin
g, instance.valueAsStringIsTruncated) }}</div> | |
57 </div> | |
58 </template> | |
59 | |
60 <template if="{{ instance.isMirrorReference }}"> | |
61 <div class="memberItem"> | |
62 <div class="memberName">referent</div> | |
63 <div class="memberValue"> | |
64 <any-service-ref ref="{{ instance.referent }}"> | |
65 </any-service-ref> | |
66 </div> | |
67 </div> | |
68 </template> | |
69 | |
70 <template if="{{ instance.typeClass != null }}"> | |
71 <div class="memberItem"> | |
72 <div class="memberName">type class</div> | |
73 <div class="memberValue"> | |
74 <class-ref ref="{{ instance.typeClass }}"> | |
75 </class-ref> | |
76 </div> | |
77 </div> | |
78 </template> | |
79 | |
80 <template if="{{ instance.isClosure }}"> | |
81 <div class="memberItem"> | |
82 <div class="memberName">closure function</div> | |
83 <div class="memberValue"> | |
84 <function-ref ref="{{ instance.closureFunc }}"> | |
85 </function-ref> | |
86 </div> | |
87 </div> | |
88 </template> | |
89 <template if="{{ instance.isClosure }}"> | |
90 <div class="memberItem"> | |
91 <div class="memberName">closure context</div> | |
92 <div class="memberValue"> | |
93 <any-service-ref ref="{{ instance.closureCtxt }}"> | |
94 </any-service-ref> | |
95 </div> | |
96 </div> | |
97 </template> | |
98 | |
99 <template if="{{ instance.isWeakProperty }}"> | |
100 <div class="memberItem"> | |
101 <div class="memberName">key</div> | |
102 <div class="memberValue"> | |
103 <any-service-ref ref="{{ instance.key }}"> | |
104 </any-service-ref> | |
105 </div> | |
106 </div> | |
107 <div class="memberItem"> | |
108 <div class="memberName">value</div> | |
109 <div class="memberValue"> | |
110 <any-service-ref ref="{{ instance.value }}"> | |
111 </any-service-ref> | |
112 </div> | |
113 </div> | |
114 </template> | |
115 | |
116 <div class="memberItem"> | |
117 <div class="memberName">toString()</div> | |
118 <div class="memberValue"> | |
119 <eval-link callback="{{ eval }}" expr="toString()"></eval-link> | |
120 </div> | |
121 </div> | |
122 </div> | |
123 </div> | |
124 | |
125 <hr> | |
126 | |
127 <div class="content"> | |
128 <template if="{{ instance.nativeFields.isNotEmpty }}"> | |
129 native fields ({{ instance.nativeFields.length }}) | |
130 <curly-block expand="{{ instance.nativeFields.length <= 8 }}"> | |
131 <div class="memberList"> | |
132 <template repeat="{{ field in instance.nativeFields }}"> | |
133 <div class="memberItem"> | |
134 <div class="memberName">[{{ field['index']}}]</div> | |
135 <div class="memberValue">[{{ field['value']}}]</div> | |
136 </div> | |
137 </template> | |
138 </div> | |
139 </curly-block><br><br> | |
140 </template> | |
141 | |
142 <template if="{{ instance.fields.isNotEmpty }}"> | |
143 fields ({{ instance.fields.length }}) | |
144 <curly-block expand="{{ instance.fields.length <= 8 }}"> | |
145 <div class="memberList"> | |
146 <template repeat="{{ field in instance.fields }}"> | |
147 <div class="memberItem"> | |
148 <div class="memberName"> | |
149 <field-ref ref="{{ field['decl'] }}"></field-ref> | |
150 </div> | |
151 <div class="memberValue"> | |
152 <any-service-ref ref="{{ field.value }}"></any-service-ref> | |
153 </div> | |
154 </div> | |
155 </template> | |
156 </div> | |
157 </curly-block><br><br> | |
158 </template> | |
159 | |
160 <template if="{{ instance.elements.isNotEmpty }}"> | |
161 elements ({{ instance.elements.length }}) | |
162 <curly-block expand="{{ instance.elements.length <= 8 }}"> | |
163 <div class="memberList"> | |
164 <template repeat="{{ element in instance.elements }}"> | |
165 <div class="memberItem"> | |
166 <div class="memberName">[{{ element['index']}}]</div> | |
167 <div class="memberValue"> | |
168 <any-service-ref ref="{{ element['value'] }}"></any-service-
ref> | |
169 </div> | |
170 </div> | |
171 </template> | |
172 </div> | |
173 </curly-block><br><br> | |
174 </template> | |
175 </div> | |
176 | |
177 <hr> | |
178 | |
179 <div class="content"> | |
180 <eval-box callback="{{ eval }}"></eval-box> | |
181 </div> | |
182 | |
183 <br><br><br><br> | |
184 <br><br><br><br> | |
185 | |
186 </template> | |
187 </template> | |
188 </polymer-element> | |
189 | |
190 <script type="application/dart" src="instance_view.dart"></script> | |
OLD | NEW |