forked from andrea689/mapbox-gl-dart
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.dart
More file actions
41 lines (37 loc) · 1.07 KB
/
Copy pathexample.dart
File metadata and controls
41 lines (37 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import 'dart:convert';
import 'dart:html';
void main() {
makeRequest();
}
Future<void> makeRequest() async {
const path = 'examples.json';
final httpRequest = HttpRequest();
httpRequest
..open('GET', path)
..onLoadEnd.listen((e) => requestComplete(httpRequest))
..send('');
}
void requestComplete(HttpRequest request) {
DivElement examples = querySelector('#examples') as DivElement;
switch (request.status) {
case 200:
for (var obj in json.decode(request.responseText!)) {
AnchorElement link = AnchorElement(href: '${obj['folder']}/index.html');
link.text = obj['title'];
link.className = 'list-group-item list-group-item-action';
examples.children.add(link);
}
removeSpinner();
return;
default:
final error = DivElement()
..text = 'Request failed, status=${request.status}'
..className = 'alert alert-danger';
examples.children.add(error);
removeSpinner();
}
}
void removeSpinner() {
DivElement spinner = querySelector('#spinner') as DivElement;
spinner.remove();
}