OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:html'; | 5 import 'dart:html'; |
6 import 'dart:json'; | 6 import 'dart:json'; |
7 | 7 |
8 /// Issue wraps JSON structure that describes a bug. | 8 /// Issue wraps JSON structure that describes a bug. |
9 class Issue { | 9 class Issue { |
10 final json; | 10 final json; |
(...skipping 17 matching lines...) Expand all Loading... |
28 Element div = query("#content"); | 28 Element div = query("#content"); |
29 List<Issue> list = getIssues(json); | 29 List<Issue> list = getIssues(json); |
30 if (list == null) { | 30 if (list == null) { |
31 div.elements.add(new Element.tag("h2")..text = "... no issues found."); | 31 div.elements.add(new Element.tag("h2")..text = "... no issues found."); |
32 } else { | 32 } else { |
33 getIssues(json).forEach((Issue i) => i.addTo(div)); | 33 getIssues(json).forEach((Issue i) => i.addTo(div)); |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
37 /// Sends a HTTPRequest and returns a future fo the date. | 37 /// Sends a HTTPRequest and returns a future fo the date. |
38 Future<Dynamic> requestJson(String url) { | 38 Future<dynamic> requestJson(String url) { |
39 Completer c = new Completer<Dynamic>(); | 39 Completer c = new Completer<dynamic>(); |
40 void callback(HttpRequest req) { | 40 void callback(HttpRequest req) { |
41 if (req.readyState == HttpRequest.DONE) { | 41 if (req.readyState == HttpRequest.DONE) { |
42 c.complete(JSON.parse(req.response)); | 42 c.complete(JSON.parse(req.response)); |
43 } | 43 } |
44 }; | 44 }; |
45 new HttpRequest.get(url, callback); | 45 new HttpRequest.get(url, callback); |
46 return c.future; | 46 return c.future; |
47 } | 47 } |
48 | 48 |
49 void main() { | 49 void main() { |
50 // Requests new issues from the Dart issue database as json. | 50 // Requests new issues from the Dart issue database as json. |
51 const String url = "https://code.google.com/feeds/issues/p/dart/issues/full"; | 51 const String url = "https://code.google.com/feeds/issues/p/dart/issues/full"; |
52 const String options = "alt=json&can=new"; | 52 const String options = "alt=json&can=new"; |
53 requestJson("$url?$options").then(processJson); | 53 requestJson("$url?$options").then(processJson); |
54 } | 54 } |
OLD | NEW |