| 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="library-nav-menu" extends="observatory-element"> | 5 <polymer-element name="library-nav-menu" extends="observatory-element"> |
| 6 <template> | 6 <template> |
| 7 <nav-menu link="{{ makeLink('/inspect', library) }}" | 7 <nav-menu link="{{ makeLink('/inspect', library) }}" |
| 8 anchor="{{ library.name }}" last="{{ last }}"> | 8 anchor="{{ library.name }}" last="{{ last }}"> |
| 9 <content></content> | 9 <content></content> |
| 10 </nav-menu> | 10 </nav-menu> |
| 11 </template> | 11 </template> |
| 12 </polymer-element> | 12 </polymer-element> |
| 13 | 13 |
| 14 <polymer-element name="class-nav-menu" extends="observatory-element"> | 14 <polymer-element name="class-nav-menu" extends="observatory-element"> |
| 15 <template> | 15 <template> |
| 16 <nav-menu link="{{ makeLink('/inspect', cls) }}" | 16 <nav-menu link="{{ makeLink('/inspect', cls) }}" |
| 17 anchor="{{ cls.name }}" last="{{ last }}"> | 17 anchor="{{ cls.name }}" last="{{ last }}"> |
| 18 <content></content> | 18 <content></content> |
| 19 </nav-menu> | 19 </nav-menu> |
| 20 </template> | 20 </template> |
| 21 </polymer-element> | 21 </polymer-element> |
| 22 | 22 |
| 23 <polymer-element name="nav-notify" extends="observatory-element"> | |
| 24 <template> | |
| 25 <style> | |
| 26 .menu { | |
| 27 float: right; | |
| 28 } | |
| 29 .menu .list { | |
| 30 display: block; | |
| 31 position: absolute; | |
| 32 top: 98%; | |
| 33 right: 0; | |
| 34 margin: 0; | |
| 35 padding: 0; | |
| 36 width: auto; | |
| 37 z-index: 1000; | |
| 38 font: 400 12px 'Montserrat', sans-serif; | |
| 39 color: white; | |
| 40 background: none; | |
| 41 } | |
| 42 </style> | |
| 43 | |
| 44 <div class="menu"> | |
| 45 <div class="list"> | |
| 46 <template repeat="{{ notification in notifications }}"> | |
| 47 <template if="{{ notification.event != null }}"> | |
| 48 <nav-notify-event notifications="{{ notifications }}" | |
| 49 notification="{{ notification }}" | |
| 50 event="{{ notification.event }}" | |
| 51 notifyOnPause="{{ notifyOnPause }}"> | |
| 52 </nav-notify-event> | |
| 53 </template> | |
| 54 <template if="{{ notification.exception != null }}"> | |
| 55 <nav-notify-exception notifications="{{ notifications }}" | |
| 56 notification="{{ notification }}" | |
| 57 exception="{{ notification.exception }}" | |
| 58 stacktrace="{{ notification.stacktrace }}"> | |
| 59 </nav-notify-exception> | |
| 60 </template> | |
| 61 </template> | |
| 62 </div> | |
| 63 </div> | |
| 64 </template> | |
| 65 </polymer-element> | |
| 66 | |
| 67 <polymer-element name="nav-notify-event" extends="observatory-element"> | |
| 68 <template> | |
| 69 <style> | |
| 70 .item { | |
| 71 position: relative; | |
| 72 padding: 16px; | |
| 73 margin-top: 10px; | |
| 74 margin-right: 10px; | |
| 75 padding-right: 25px; | |
| 76 width: 250px; | |
| 77 color: #ddd; | |
| 78 background: rgba(0,0,0,.6); | |
| 79 border: solid 2px white; | |
| 80 box-shadow: 0 0 5px black; | |
| 81 border-radius: 5px; | |
| 82 animation: fadein 1s; | |
| 83 } | |
| 84 | |
| 85 .wide-item { | |
| 86 width: 50vw; | |
| 87 } | |
| 88 | |
| 89 @keyframes fadein { | |
| 90 from { opacity: 0; } | |
| 91 to { opacity: 1; } | |
| 92 } | |
| 93 | |
| 94 a.link { | |
| 95 color: white; | |
| 96 text-decoration: none; | |
| 97 } | |
| 98 a.link:hover { | |
| 99 text-decoration: underline; | |
| 100 } | |
| 101 | |
| 102 a.boxclose { | |
| 103 position: absolute; | |
| 104 display: block; | |
| 105 top: 4px; | |
| 106 right: 4px; | |
| 107 height: 18px; | |
| 108 width: 18px; | |
| 109 line-height: 16px; | |
| 110 border-radius: 9px; | |
| 111 color: white; | |
| 112 font-size: 18px; | |
| 113 cursor: pointer; | |
| 114 text-align: center; | |
| 115 } | |
| 116 a.boxclose:hover { | |
| 117 background: rgba(255,255,255,0.5); | |
| 118 } | |
| 119 .error { | |
| 120 white-space: pre; | |
| 121 } | |
| 122 </style> | |
| 123 <template if="{{ event != null }}"> | |
| 124 <template if="{{ notifyOnPause && event.isPauseEvent }}"> | |
| 125 <div class="item"> | |
| 126 Isolate | |
| 127 <a class="link" on-click="{{ goto }}" | |
| 128 _href="{{ gotoLink('/inspect', event.isolate) }}">{{ event.isolate.
name }}</a> | |
| 129 is paused | |
| 130 <template if="{{ event.kind == 'PauseStart' }}"> | |
| 131 at isolate start | |
| 132 </template> | |
| 133 <template if="{{ event.kind == 'PauseExit' }}"> | |
| 134 at isolate exit | |
| 135 </template> | |
| 136 <template if="{{ event.breakpoint != null }}"> | |
| 137 at breakpoint {{ event.breakpoint.number }} | |
| 138 </template> | |
| 139 <template if="{{ event.kind == 'PauseException' }}"> | |
| 140 due to exception | |
| 141 </template> | |
| 142 | |
| 143 <br><br> | |
| 144 [<a class="link" on-click="{{ goto }}" | |
| 145 _href="{{ gotoLink('/debugger', event.isolate) }}">debug</a>] | |
| 146 | |
| 147 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 148 </div> | |
| 149 </template> | |
| 150 <template if="{{ event.kind == 'ConnectionClosed' }}"> | |
| 151 <div class="item"> | |
| 152 Disconnected from VM: {{ event.reason }} | |
| 153 <br><br> | |
| 154 [<a class="link" on-click="{{ goto }}" | |
| 155 _href="{{ gotoLink('/vm-connect') }}">Connect to a VM</a>] | |
| 156 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 157 </div> | |
| 158 </template> | |
| 159 <template if="{{ event.kind == 'Inspect' }}"> | |
| 160 <div class="item"> | |
| 161 Inspect <any-service-ref ref="{{ event.inspectee }}"></any-service-ref
> | |
| 162 <br><br> | |
| 163 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 164 </div> | |
| 165 </template> | |
| 166 <template if="{{ event.kind == 'IsolateReload' }}"> | |
| 167 <div class="wide-item item"> | |
| 168 Isolate reload | |
| 169 <template if="{{ event.reloadError != null }}"> | |
| 170 failed: | |
| 171 <br> | |
| 172 <br> | |
| 173 <div class="indent error">{{ event.reloadError.message.toString() }}
</div><br> | |
| 174 </template> | |
| 175 <template if="{{ event.reloadError == null }}"> | |
| 176 succeeded | |
| 177 </template> | |
| 178 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 179 </div> | |
| 180 </template> | |
| 181 </template> | |
| 182 </template> | |
| 183 </polymer-element> | |
| 184 | |
| 185 | |
| 186 <polymer-element name="nav-notify-exception" extends="observatory-element"> | |
| 187 <template> | |
| 188 <style> | |
| 189 .item { | |
| 190 position: relative; | |
| 191 padding: 16px; | |
| 192 margin-top: 10px; | |
| 193 margin-right: 10px; | |
| 194 padding-right: 25px; | |
| 195 width: 500px; | |
| 196 color: #ddd; | |
| 197 background: rgba(0,0,0,.6); | |
| 198 border: solid 2px white; | |
| 199 box-shadow: 0 0 5px black; | |
| 200 border-radius: 5px; | |
| 201 animation: fadein 1s; | |
| 202 } | |
| 203 | |
| 204 @keyframes fadein { | |
| 205 from { opacity: 0; } | |
| 206 to { opacity: 1; } | |
| 207 } | |
| 208 | |
| 209 a.link { | |
| 210 color: white; | |
| 211 text-decoration: none; | |
| 212 } | |
| 213 a.link:hover { | |
| 214 text-decoration: underline; | |
| 215 } | |
| 216 .indent { | |
| 217 margin-left:20px; | |
| 218 } | |
| 219 | |
| 220 a.boxclose { | |
| 221 position: absolute; | |
| 222 display: block; | |
| 223 top: 4px; | |
| 224 right: 4px; | |
| 225 height: 18px; | |
| 226 width: 18px; | |
| 227 line-height: 16px; | |
| 228 border-radius: 9px; | |
| 229 color: white; | |
| 230 font-size: 18px; | |
| 231 cursor: pointer; | |
| 232 text-align: center; | |
| 233 } | |
| 234 a.boxclose:hover { | |
| 235 background: rgba(255,255,255,0.5); | |
| 236 } | |
| 237 .stacktrace { | |
| 238 white-space: pre | |
| 239 } | |
| 240 </style> | |
| 241 <template if="{{ isUnexpectedError }}"> | |
| 242 <!-- TODO(turnidge): Add a file-a-bug link to this notification --> | |
| 243 <div class="item"> | |
| 244 Unexpected exception:<br><br> | |
| 245 <div class="indent">{{ exception.toString() }}</div><br> | |
| 246 <template if="{{ stacktrace != null }}"> | |
| 247 Stacktrace:<br><br> | |
| 248 <div class="indent stacktrace">{{ stacktrace.toString() }}</div> | |
| 249 <br> | |
| 250 </template> | |
| 251 [<a class="link" on-click="{{ goto }}" | |
| 252 _href="{{ gotoLink('vm-connect') }}">Connect to a different VM</a>] | |
| 253 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 254 </div> | |
| 255 </template> | |
| 256 <template if="{{ isNetworkError }}"> | |
| 257 <div class="item"> | |
| 258 The request cannot be completed because the VM is currently | |
| 259 disconnected. | |
| 260 <br><br> | |
| 261 [<a class="link" on-click="{{ goto }}" | |
| 262 _href="{{ gotoLink('vm-connect') }}">Connect to a different VM</a>] | |
| 263 <a class="boxclose" on-click="{{ closeItem }}">×</a> | |
| 264 </div> | |
| 265 </template> | |
| 266 </template> | |
| 267 </polymer-element> | |
| 268 | |
| 269 | |
| 270 <script type="application/dart" src="nav_bar.dart"></script> | 23 <script type="application/dart" src="nav_bar.dart"></script> |
| OLD | NEW |