OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 io_view_element; | 5 library io_view_element; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'observatory_element.dart'; | 8 import 'observatory_element.dart'; |
9 import 'service_ref.dart'; | 9 import 'service_ref.dart'; |
10 import 'package:observatory/service.dart'; | 10 import 'package:observatory/service.dart'; |
11 import 'package:polymer/polymer.dart'; | 11 import 'package:polymer/polymer.dart'; |
12 | 12 |
13 @CustomTag('io-view') | 13 @CustomTag('io-view') |
14 class IOViewElement extends ObservatoryElement { | 14 class IOViewElement extends ObservatoryElement { |
15 @published ServiceMap io; | 15 @published ServiceMap io; |
16 | 16 |
17 IOViewElement.created() : super.created(); | 17 IOViewElement.created() : super.created(); |
18 | 18 |
19 void refresh(var done) { | 19 Future refresh() { |
20 io.reload().whenComplete(done); | 20 return io.reload(); |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 @CustomTag('io-ref') | 24 @CustomTag('io-ref') |
25 class IORefElement extends ServiceRefElement { | 25 class IORefElement extends ServiceRefElement { |
26 IORefElement.created() : super.created(); | 26 IORefElement.created() : super.created(); |
27 } | 27 } |
28 | 28 |
29 @CustomTag('io-http-server-list-view') | 29 @CustomTag('io-http-server-list-view') |
30 class IOHttpServerListViewElement extends ObservatoryElement { | 30 class IOHttpServerListViewElement extends ObservatoryElement { |
31 @published ServiceMap list; | 31 @published ServiceMap list; |
32 | 32 |
33 IOHttpServerListViewElement.created() : super.created(); | 33 IOHttpServerListViewElement.created() : super.created(); |
34 | 34 |
35 void refresh(var done) { | 35 Future refresh() { |
36 list.reload().whenComplete(done); | 36 return list.reload(); |
37 } | 37 } |
38 } | 38 } |
39 | 39 |
40 @CustomTag('io-http-server-ref') | 40 @CustomTag('io-http-server-ref') |
41 class IOHttpServerRefElement extends ServiceRefElement { | 41 class IOHttpServerRefElement extends ServiceRefElement { |
42 IOHttpServerRefElement.created() : super.created(); | 42 IOHttpServerRefElement.created() : super.created(); |
43 } | 43 } |
44 | 44 |
45 @CustomTag('io-http-server-view') | 45 @CustomTag('io-http-server-view') |
46 class IOHttpServerViewElement extends ObservatoryElement { | 46 class IOHttpServerViewElement extends ObservatoryElement { |
47 // TODO(ajohnsen): Create a HttpServer object. | 47 // TODO(ajohnsen): Create a HttpServer object. |
48 @published ServiceMap httpServer; | 48 @published ServiceMap httpServer; |
49 Timer _updateTimer; | 49 Timer _updateTimer; |
50 | 50 |
51 IOHttpServerViewElement.created() : super.created(); | 51 IOHttpServerViewElement.created() : super.created(); |
52 | 52 |
53 void refresh(var done) { | 53 Future refresh() { |
54 httpServer.reload().whenComplete(done); | 54 return httpServer.reload(); |
55 } | 55 } |
56 | 56 |
57 void _updateHttpServer() { | 57 void _updateHttpServer() { |
58 refresh(() { | 58 refresh().then((_) { |
59 if (_updateTimer != null) { | 59 if (_updateTimer != null) { |
60 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); | 60 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); |
61 } | 61 } |
62 }); | 62 }); |
63 } | 63 } |
64 | 64 |
65 @override | 65 @override |
66 void attached() { | 66 void attached() { |
67 super.attached(); | 67 super.attached(); |
68 // Start a timer to update the isolate summary once a second. | 68 // Start a timer to update the isolate summary once a second. |
(...skipping 10 matching lines...) Expand all Loading... |
79 } | 79 } |
80 } | 80 } |
81 | 81 |
82 @CustomTag('io-http-server-connection-view') | 82 @CustomTag('io-http-server-connection-view') |
83 class IOHttpServerConnectionViewElement extends ObservatoryElement { | 83 class IOHttpServerConnectionViewElement extends ObservatoryElement { |
84 @published ServiceMap connection; | 84 @published ServiceMap connection; |
85 Timer _updateTimer; | 85 Timer _updateTimer; |
86 | 86 |
87 IOHttpServerConnectionViewElement.created() : super.created(); | 87 IOHttpServerConnectionViewElement.created() : super.created(); |
88 | 88 |
89 void refresh(var done) { | 89 Future refresh() { |
90 connection.reload().whenComplete(done); | 90 return connection.reload(); |
91 } | 91 } |
92 | 92 |
93 void _updateHttpServer() { | 93 void _updateHttpServer() { |
94 refresh(() { | 94 refresh().then((_) { |
95 if (_updateTimer != null) { | 95 if (_updateTimer != null) { |
96 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); | 96 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); |
97 } | 97 } |
98 }); | 98 }); |
99 } | 99 } |
100 | 100 |
101 @override | 101 @override |
102 void attached() { | 102 void attached() { |
103 super.attached(); | 103 super.attached(); |
104 // Start a timer to update the isolate summary once a second. | 104 // Start a timer to update the isolate summary once a second. |
(...skipping 19 matching lines...) Expand all Loading... |
124 class IOSocketRefElement extends ServiceRefElement { | 124 class IOSocketRefElement extends ServiceRefElement { |
125 IOSocketRefElement.created() : super.created(); | 125 IOSocketRefElement.created() : super.created(); |
126 } | 126 } |
127 | 127 |
128 @CustomTag('io-socket-list-view') | 128 @CustomTag('io-socket-list-view') |
129 class IOSocketListViewElement extends ObservatoryElement { | 129 class IOSocketListViewElement extends ObservatoryElement { |
130 @published ServiceMap list; | 130 @published ServiceMap list; |
131 | 131 |
132 IOSocketListViewElement.created() : super.created(); | 132 IOSocketListViewElement.created() : super.created(); |
133 | 133 |
134 void refresh(var done) { | 134 Future refresh() { |
135 list.reload().whenComplete(done); | 135 return list.reload(); |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 @CustomTag('io-socket-view') | 139 @CustomTag('io-socket-view') |
140 class IOSocketViewElement extends ObservatoryElement { | 140 class IOSocketViewElement extends ObservatoryElement { |
141 @published Socket socket; | 141 @published Socket socket; |
142 | 142 |
143 IOSocketViewElement.created() : super.created(); | 143 IOSocketViewElement.created() : super.created(); |
144 | 144 |
145 void refresh(var done) { | 145 Future refresh() { |
146 socket.reload().whenComplete(done); | 146 return socket.reload(); |
147 } | 147 } |
148 } | 148 } |
149 | 149 |
150 @CustomTag('io-web-socket-ref') | 150 @CustomTag('io-web-socket-ref') |
151 class IOWebSocketRefElement extends ServiceRefElement { | 151 class IOWebSocketRefElement extends ServiceRefElement { |
152 IOWebSocketRefElement.created() : super.created(); | 152 IOWebSocketRefElement.created() : super.created(); |
153 } | 153 } |
154 | 154 |
155 @CustomTag('io-web-socket-list-view') | 155 @CustomTag('io-web-socket-list-view') |
156 class IOWebSocketListViewElement extends ObservatoryElement { | 156 class IOWebSocketListViewElement extends ObservatoryElement { |
157 @published ServiceMap list; | 157 @published ServiceMap list; |
158 | 158 |
159 IOWebSocketListViewElement.created() : super.created(); | 159 IOWebSocketListViewElement.created() : super.created(); |
160 | 160 |
161 void refresh(var done) { | 161 Future refresh() { |
162 list.reload().whenComplete(done); | 162 return list.reload(); |
163 } | 163 } |
164 } | 164 } |
165 | 165 |
166 @CustomTag('io-web-socket-view') | 166 @CustomTag('io-web-socket-view') |
167 class IOWebSocketViewElement extends ObservatoryElement { | 167 class IOWebSocketViewElement extends ObservatoryElement { |
168 @published ServiceMap webSocket; | 168 @published ServiceMap webSocket; |
169 | 169 |
170 IOWebSocketViewElement.created() : super.created(); | 170 IOWebSocketViewElement.created() : super.created(); |
171 | 171 |
172 void refresh(var done) { | 172 Future refresh() { |
173 webSocket.reload().whenComplete(done); | 173 return webSocket.reload(); |
174 } | 174 } |
175 } | 175 } |
176 | 176 |
177 @CustomTag('io-random-access-file-list-view') | 177 @CustomTag('io-random-access-file-list-view') |
178 class IORandomAccessFileListViewElement extends ObservatoryElement { | 178 class IORandomAccessFileListViewElement extends ObservatoryElement { |
179 @published ServiceMap list; | 179 @published ServiceMap list; |
180 | 180 |
181 IORandomAccessFileListViewElement.created() : super.created(); | 181 IORandomAccessFileListViewElement.created() : super.created(); |
182 | 182 |
183 void refresh(var done) { | 183 Future refresh() { |
184 list.reload().whenComplete(done); | 184 return list.reload(); |
185 } | 185 } |
186 } | 186 } |
187 | 187 |
188 @CustomTag('io-random-access-file-ref') | 188 @CustomTag('io-random-access-file-ref') |
189 class IORandomAccessFileRefElement extends ServiceRefElement { | 189 class IORandomAccessFileRefElement extends ServiceRefElement { |
190 IORandomAccessFileRefElement.created() : super.created(); | 190 IORandomAccessFileRefElement.created() : super.created(); |
191 } | 191 } |
192 | 192 |
193 @CustomTag('io-random-access-file-view') | 193 @CustomTag('io-random-access-file-view') |
194 class IORandomAccessFileViewElement extends ObservatoryElement { | 194 class IORandomAccessFileViewElement extends ObservatoryElement { |
195 // TODO(ajohnsen): Create a RandomAccessFile object. | 195 // TODO(ajohnsen): Create a RandomAccessFile object. |
196 @published ServiceMap file; | 196 @published ServiceMap file; |
197 Timer _updateTimer; | 197 Timer _updateTimer; |
198 | 198 |
199 IORandomAccessFileViewElement.created() : super.created(); | 199 IORandomAccessFileViewElement.created() : super.created(); |
200 | 200 |
201 void refresh(var done) { | 201 Future refresh() { |
202 file.reload().whenComplete(done); | 202 return file.reload(); |
203 } | 203 } |
204 | 204 |
205 void _updateFile() { | 205 void _updateFile() { |
206 refresh(() { | 206 refresh().then((_) { |
207 if (_updateTimer != null) { | 207 if (_updateTimer != null) { |
208 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 208 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
209 } | 209 } |
210 }); | 210 }).catchError(app.handleException); |
211 } | 211 } |
212 | 212 |
213 @override | 213 @override |
214 void attached() { | 214 void attached() { |
215 super.attached(); | 215 super.attached(); |
216 // Start a timer to update the isolate summary once a second. | 216 // Start a timer to update the isolate summary once a second. |
217 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 217 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
218 } | 218 } |
219 | 219 |
220 @override | 220 @override |
221 void detached() { | 221 void detached() { |
222 super.detached(); | 222 super.detached(); |
223 if (_updateTimer != null) { | 223 if (_updateTimer != null) { |
224 _updateTimer.cancel(); | 224 _updateTimer.cancel(); |
225 _updateTimer = null; | 225 _updateTimer = null; |
226 } | 226 } |
227 } | 227 } |
228 } | 228 } |
229 | 229 |
230 @CustomTag('io-process-list-view') | 230 @CustomTag('io-process-list-view') |
231 class IOProcessListViewElement extends ObservatoryElement { | 231 class IOProcessListViewElement extends ObservatoryElement { |
232 @published ServiceMap list; | 232 @published ServiceMap list; |
233 | 233 |
234 IOProcessListViewElement.created() : super.created(); | 234 IOProcessListViewElement.created() : super.created(); |
235 | 235 |
236 void refresh(var done) { | 236 Future refresh() { |
237 list.reload().whenComplete(done); | 237 return list.reload(); |
238 } | 238 } |
239 } | 239 } |
240 | 240 |
241 @CustomTag('io-process-ref') | 241 @CustomTag('io-process-ref') |
242 class IOProcessRefElement extends ServiceRefElement { | 242 class IOProcessRefElement extends ServiceRefElement { |
243 // Only display the process name when small is set. | 243 // Only display the process name when small is set. |
244 @published bool small = false; | 244 @published bool small = false; |
245 IOProcessRefElement.created() : super.created(); | 245 IOProcessRefElement.created() : super.created(); |
246 } | 246 } |
247 | 247 |
248 @CustomTag('io-process-view') | 248 @CustomTag('io-process-view') |
249 class IOProcessViewElement extends ObservatoryElement { | 249 class IOProcessViewElement extends ObservatoryElement { |
250 // TODO(ajohnsen): Create a Process object. | 250 // TODO(ajohnsen): Create a Process object. |
251 @published ServiceMap process; | 251 @published ServiceMap process; |
252 Timer _updateTimer; | 252 Timer _updateTimer; |
253 | 253 |
254 IOProcessViewElement.created() : super.created(); | 254 IOProcessViewElement.created() : super.created(); |
255 | 255 |
256 void refresh(var done) { | 256 Future refresh() { |
257 process.reload().whenComplete(done); | 257 return process.reload(); |
258 } | 258 } |
259 | 259 |
260 void _updateFile() { | 260 void _updateFile() { |
261 refresh(() { | 261 refresh().then((_) { |
262 if (_updateTimer != null) { | 262 if (_updateTimer != null) { |
263 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 263 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
264 } | 264 } |
265 }); | 265 }).catchError(app.handleException); |
266 } | 266 } |
267 | 267 |
268 @override | 268 @override |
269 void attached() { | 269 void attached() { |
270 super.attached(); | 270 super.attached(); |
271 // Start a timer to update the isolate summary once a second. | 271 // Start a timer to update the isolate summary once a second. |
272 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 272 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
273 } | 273 } |
274 | 274 |
275 @override | 275 @override |
276 void detached() { | 276 void detached() { |
277 super.detached(); | 277 super.detached(); |
278 if (_updateTimer != null) { | 278 if (_updateTimer != null) { |
279 _updateTimer.cancel(); | 279 _updateTimer.cancel(); |
280 _updateTimer = null; | 280 _updateTimer = null; |
281 } | 281 } |
282 } | 282 } |
283 } | 283 } |
OLD | NEW |