mirror of
https://github.com/flutter/samples.git
synced 2025-11-09 22:38:42 +00:00
Add flutter_web samples (#75)
This commit is contained in:
committed by
Andrew Brogdon
parent
42f2dce01b
commit
3fe927cb29
14
web/github_dataviz/lib/data/contribution_data.dart
Normal file
14
web/github_dataviz/lib/data/contribution_data.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
class ContributionData {
|
||||
int weekTime;
|
||||
int add;
|
||||
int delete;
|
||||
int change;
|
||||
|
||||
ContributionData(this.weekTime, this.add, this.delete, this.change);
|
||||
|
||||
static ContributionData fromJson(Map<String, dynamic> jsonMap) {
|
||||
ContributionData data = ContributionData(
|
||||
jsonMap["w"], jsonMap["a"], jsonMap["d"], jsonMap["c"]);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
6
web/github_dataviz/lib/data/data_series.dart
Normal file
6
web/github_dataviz/lib/data/data_series.dart
Normal file
@@ -0,0 +1,6 @@
|
||||
class DataSeries {
|
||||
String label;
|
||||
List<int> series;
|
||||
|
||||
DataSeries(this.label, this.series);
|
||||
}
|
||||
6
web/github_dataviz/lib/data/stat_for_week.dart
Normal file
6
web/github_dataviz/lib/data/stat_for_week.dart
Normal file
@@ -0,0 +1,6 @@
|
||||
class StatForWeek {
|
||||
int weekIndex;
|
||||
int stat;
|
||||
|
||||
StatForWeek(this.weekIndex, this.stat);
|
||||
}
|
||||
12
web/github_dataviz/lib/data/user.dart
Normal file
12
web/github_dataviz/lib/data/user.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
class User {
|
||||
int id;
|
||||
String username;
|
||||
String avatarUrl;
|
||||
|
||||
User(this.id, this.username, this.avatarUrl);
|
||||
|
||||
static User fromJson(Map<String, dynamic> jsonMap) {
|
||||
User user = User(jsonMap["id"], jsonMap["login"], jsonMap["avatar_url"]);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
18
web/github_dataviz/lib/data/user_contribution.dart
Normal file
18
web/github_dataviz/lib/data/user_contribution.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:github_dataviz/data/contribution_data.dart';
|
||||
import 'package:github_dataviz/data/user.dart';
|
||||
|
||||
class UserContribution {
|
||||
User user;
|
||||
List<ContributionData> contributions;
|
||||
|
||||
UserContribution(this.user, this.contributions);
|
||||
|
||||
static UserContribution fromJson(Map<String, dynamic> jsonMap) {
|
||||
List<ContributionData> contributionList = (jsonMap["weeks"] as List)
|
||||
.map((e) => ContributionData.fromJson(e))
|
||||
.toList();
|
||||
var userContribution =
|
||||
UserContribution(User.fromJson(jsonMap["author"]), contributionList);
|
||||
return userContribution;
|
||||
}
|
||||
}
|
||||
24
web/github_dataviz/lib/data/week_label.dart
Normal file
24
web/github_dataviz/lib/data/week_label.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class WeekLabel {
|
||||
int weekNum;
|
||||
String label;
|
||||
|
||||
WeekLabel(this.weekNum, this.label);
|
||||
|
||||
WeekLabel.forDate(DateTime date, String label) {
|
||||
this.label = label;
|
||||
int year = getYear(date);
|
||||
int weekOfYearNum = getWeekNumber(date);
|
||||
this.weekNum = 9 + ((year - 2015) * 52) + weekOfYearNum;
|
||||
}
|
||||
|
||||
int getYear(DateTime date) {
|
||||
return int.parse(DateFormat("y").format(date));
|
||||
}
|
||||
|
||||
int getWeekNumber(DateTime date) {
|
||||
int dayOfYear = int.parse(DateFormat("D").format(date));
|
||||
return ((dayOfYear - date.weekday + 10) / 7).floor();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user