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="action_link.html"> | 2 <link rel="import" href="action_link.html"> |
3 <link rel="import" href="observatory_element.html"> | 3 <link rel="import" href="observatory_element.html"> |
4 | 4 |
5 <polymer-element name="nav-bar" extends="observatory-element"> | 5 <polymer-element name="nav-bar" extends="observatory-element"> |
6 <template> | 6 <template> |
7 <link rel="stylesheet" href="css/shared.css"> | 7 <link rel="stylesheet" href="css/shared.css"> |
8 <style> | 8 <style> |
9 nav { | 9 nav { |
10 position: fixed; | 10 position: fixed; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 | 108 |
109 <polymer-element name="class-nav-menu" extends="observatory-element"> | 109 <polymer-element name="class-nav-menu" extends="observatory-element"> |
110 <template> | 110 <template> |
111 <nav-menu link="{{ makeLink('/inspect', cls) }}" | 111 <nav-menu link="{{ makeLink('/inspect', cls) }}" |
112 anchor="{{ cls.name }}" last="{{ last }}"> | 112 anchor="{{ cls.name }}" last="{{ last }}"> |
113 <content></content> | 113 <content></content> |
114 </nav-menu> | 114 </nav-menu> |
115 </template> | 115 </template> |
116 </polymer-element> | 116 </polymer-element> |
117 | 117 |
118 <polymer-element name="nav-notify" extends="observatory-element"> | |
119 <template> | |
120 <style> | |
121 .menu { | |
122 float: right; | |
123 } | |
124 .menu .list { | |
125 display: block; | |
126 position: absolute; | |
127 top: 98%; | |
128 right: 0; | |
129 margin: 0; | |
130 padding: 0; | |
131 width: auto; | |
132 z-index: 1000; | |
133 font: 400 12px 'Montserrat', sans-serif; | |
134 color: white; | |
135 background: none; | |
136 } | |
137 </style> | |
138 | |
139 <div class="menu"> | |
140 <div class="list"> | |
141 <template repeat="{{ notification in notifications }}"> | |
142 <template if="{{ notification.event != null }}"> | |
143 <nav-notify-event notifications="{{ notifications }}" | |
144 notification="{{ notification }}" | |
145 event="{{ notification.event }}" | |
146 notifyOnPause="{{ notifyOnPause }}"> | |
147 </nav-notify-event> | |
148 </template> | |
149 <template if="{{ notification.exception != null }}"> | |
150 <nav-notify-exception notifications="{{ notifications }}" | |
151 notification="{{ notification }}" | |
152 exception="{{ notification.exception }}" | |
153 stacktrace="{{ notification.stacktrace }}"> | |
154 </nav-notify-exception> | |
155 </template> | |
156 </template> | |
157 </div> | |
158 </div> | |
159 </template> | |
160 </polymer-element> | |
161 | |
162 <polymer-element name="nav-notify-event" extends="observatory-element"> | |
163 <template> | |
164 <style> | |
165 .item { | |
166 position: relative; | |
167 padding: 16px; | |
168 margin-top: 10px; | |
169 margin-right: 10px; | |
170 padding-right: 25px; | |
171 width: 250px; | |
172 color: #ddd; | |
173 background: rgba(0,0,0,.6); | |
174 border: solid 2px white; | |
175 box-shadow: 0 0 5px black; | |
176 border-radius: 5px; | |
177 animation: fadein 1s; | |
178 } | |
179 | |
180 .wide-item { | |
181 width: 50vw; | |
182 } | |
183 | |
184 @keyframes fadein { | |
185 from { opacity: 0; } | |
186 to { opacity: 1; } | |
187 } | |
188 | |
189 a.link { | |
190 color: white; | |
191 text-decoration: none; | |
192 } | |
193 a.link:hover { | |
194 text-decoration: underline; | |
195 } | |
196 | |
197 a.boxclose { | |
198 position: absolute; | |
199 display: block; | |
200 top: 4px; | |
201 right: 4px; | |
202 height: 18px; | |
203 width: 18px; | |
204 line-height: 16px; | |
205 border-radius: 9px; | |
206 color: white; | |
207 font-size: 18px; | |
208 cursor: pointer; | |
209 text-align: center; | |
210 } | |
211 a.boxclose:hover { | |
212 background: rgba(255,255,255,0.5); | |
213 } | |
214 .error { | |
215 white-space: pre; | |
216 } | |
217 </style> | |
218 <template if="{{ event != null }}"> | |
219 <template if="{{ notifyOnPause && event.isPauseEvent }}"> | |
220 <div class="item"> | |
221 Isolate | |
222 <a class="link" on-click="{{ goto }}" | |
223 _href="{{ gotoLink('/inspect', event.isolate) }}">{{ event.isolate.
name }}</a> | |
224 is paused | |
225 <template if="{{ event.kind == 'PauseStart' }}"> | |
226 at isolate start | |
227 </template> | |
228 <template if="{{ event.kind == 'PauseExit' }}"> | |
229 at isolate exit | |
230 </template> | |
231 <template if="{{ event.breakpoint != null }}"> | |
232 at breakpoint {{ event.breakpoint.number }} | |
233 </template> | |
234 <template if="{{ event.kind == 'PauseException' }}"> | |
235 due to exception | |
236 </template> | |
237 | |
238 <br><br> | |
239 [<a class="link" on-click="{{ goto }}" | |
240 _href="{{ gotoLink('/debugger', event.isolate) }}">debug</a>] | |
241 | |
242 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
243 </div> | |
244 </template> | |
245 <template if="{{ event.kind == 'ConnectionClosed' }}"> | |
246 <div class="item"> | |
247 Disconnected from VM: {{ event.reason }} | |
248 <br><br> | |
249 [<a class="link" on-click="{{ goto }}" | |
250 _href="{{ gotoLink('/vm-connect') }}">Connect to a VM</a>] | |
251 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
252 </div> | |
253 </template> | |
254 <template if="{{ event.kind == 'Inspect' }}"> | |
255 <div class="item"> | |
256 Inspect <any-service-ref ref="{{ event.inspectee }}"></any-service-ref
> | |
257 <br><br> | |
258 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
259 </div> | |
260 </template> | |
261 <template if="{{ event.kind == 'IsolateReload' }}"> | |
262 <div class="wide-item item"> | |
263 Isolate reload | |
264 <template if="{{ event.reloadError != null }}"> | |
265 failed: | |
266 <br> | |
267 <br> | |
268 <div class="indent error">{{ event.reloadError.message.toString() }}
</div><br> | |
269 </template> | |
270 <template if="{{ event.reloadError == null }}"> | |
271 succeeded | |
272 </template> | |
273 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
274 </div> | |
275 </template> | |
276 </template> | |
277 </template> | |
278 </polymer-element> | |
279 | |
280 | |
281 <polymer-element name="nav-notify-exception" extends="observatory-element"> | |
282 <template> | |
283 <style> | |
284 .item { | |
285 position: relative; | |
286 padding: 16px; | |
287 margin-top: 10px; | |
288 margin-right: 10px; | |
289 padding-right: 25px; | |
290 width: 500px; | |
291 color: #ddd; | |
292 background: rgba(0,0,0,.6); | |
293 border: solid 2px white; | |
294 box-shadow: 0 0 5px black; | |
295 border-radius: 5px; | |
296 animation: fadein 1s; | |
297 } | |
298 | |
299 @keyframes fadein { | |
300 from { opacity: 0; } | |
301 to { opacity: 1; } | |
302 } | |
303 | |
304 a.link { | |
305 color: white; | |
306 text-decoration: none; | |
307 } | |
308 a.link:hover { | |
309 text-decoration: underline; | |
310 } | |
311 .indent { | |
312 margin-left:20px; | |
313 } | |
314 | |
315 a.boxclose { | |
316 position: absolute; | |
317 display: block; | |
318 top: 4px; | |
319 right: 4px; | |
320 height: 18px; | |
321 width: 18px; | |
322 line-height: 16px; | |
323 border-radius: 9px; | |
324 color: white; | |
325 font-size: 18px; | |
326 cursor: pointer; | |
327 text-align: center; | |
328 } | |
329 a.boxclose:hover { | |
330 background: rgba(255,255,255,0.5); | |
331 } | |
332 .stacktrace { | |
333 white-space: pre | |
334 } | |
335 </style> | |
336 <template if="{{ isUnexpectedError }}"> | |
337 <!-- TODO(turnidge): Add a file-a-bug link to this notification --> | |
338 <div class="item"> | |
339 Unexpected exception:<br><br> | |
340 <div class="indent">{{ exception.toString() }}</div><br> | |
341 <template if="{{ stacktrace != null }}"> | |
342 Stacktrace:<br><br> | |
343 <div class="indent stacktrace">{{ stacktrace.toString() }}</div> | |
344 <br> | |
345 </template> | |
346 [<a class="link" on-click="{{ goto }}" | |
347 _href="{{ gotoLink('vm-connect') }}">Connect to a different VM</a>] | |
348 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
349 </div> | |
350 </template> | |
351 <template if="{{ isNetworkError }}"> | |
352 <div class="item"> | |
353 The request cannot be completed because the VM is currently | |
354 disconnected. | |
355 <br><br> | |
356 [<a class="link" on-click="{{ goto }}" | |
357 _href="{{ gotoLink('vm-connect') }}">Connect to a different VM</a>] | |
358 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
359 </div> | |
360 </template> | |
361 </template> | |
362 </polymer-element> | |
363 | |
364 | |
365 <script type="application/dart" src="nav_bar.dart"></script> | 118 <script type="application/dart" src="nav_bar.dart"></script> |
OLD | NEW |