Skip to content

Commit

Permalink
增加 repos detail 判断 issue support
Browse files Browse the repository at this point in the history
  • Loading branch information
CarGuo committed Nov 28, 2019
1 parent b288472 commit a6222ea
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 31 deletions.
46 changes: 45 additions & 1 deletion RECORD.md
@@ -1 +1,45 @@
flutter build apk --target-platform android-arm64 -t lib/main_prod.dart
flutter build apk --target-platform android-arm64 -t lib/main_prod.dart


query getUserDetail($name:String!){
user(login: $name) {
login,
avatarUrl,
company,
location,
bio,
email,
bioHTML,
websiteUrl,
viewerIsFollowing,
createdAt,
repositories(first: 100) {
totalCount,
nodes {
stargazers {
totalCount
}
}
}
followers {
totalCount
}
following {
totalCount
}
starredRepositories {
totalCount
}
isViewer,
#pinnedItems {
#
#}
organizations(first: 100) {
nodes {
login,
avatarUrl,
name
}
}
}
}
2 changes: 2 additions & 0 deletions lib/common/localization/gsy_string_base.dart
Expand Up @@ -179,6 +179,8 @@ abstract class GSYStringBase {

String get repos_issue_search;

String get repos_no_support_issue;

String get issue_reply;

String get issue_edit;
Expand Down
11 changes: 7 additions & 4 deletions lib/common/localization/gsy_string_en.dart
Expand Up @@ -70,13 +70,13 @@ class GSYStringEn extends GSYStringBase {
@override
String home_change_theme = "Theme";
@override
String home_language_default= "Default";
String home_language_default = "Default";
@override
String home_language_zh= "中文";
String home_language_zh = "中文";
@override
String home_language_en= "English";
String home_language_en = "English";
@override
String switch_language= "select language";
String switch_language = "select language";

@override
String home_theme_default = "Default";
Expand Down Expand Up @@ -198,6 +198,9 @@ class GSYStringEn extends GSYStringBase {
@override
String repos_issue_search = "Search";

@override
String repos_no_support_issue = "No Supprot Issue";

@override
String issue_reply = "reply";
@override
Expand Down
3 changes: 3 additions & 0 deletions lib/common/localization/gsy_string_zh.dart
Expand Up @@ -200,6 +200,9 @@ class GSYStringZh extends GSYStringBase {
@override
String repos_issue_search = "搜索";

@override
String repos_no_support_issue = "该项目没有开启 Issue";

@override
String issue_reply = "回复";
@override
Expand Down
1 change: 1 addition & 0 deletions lib/common/net/graphql/repositories.dart
Expand Up @@ -33,6 +33,7 @@ fragment comparisonFields on Repository {
stargazers{
totalCount
}
hasIssuesEnabled,
viewerHasStarred,
viewerSubscription,
hasIssuesEnabled,
Expand Down
4 changes: 4 additions & 0 deletions lib/model/RepositoryQL.dart
Expand Up @@ -12,6 +12,7 @@ class RepositoryQL {
final int watcherCount;
final bool isFork;
final bool isStared;
final bool hasIssuesEnabled;
final String isSubscription;
final String language;
final int size;
Expand All @@ -37,6 +38,7 @@ class RepositoryQL {
this.watcherCount,
this.isFork,
this.isStared,
this.hasIssuesEnabled,
this.isSubscription,
this.language,
this.size,
Expand Down Expand Up @@ -66,6 +68,7 @@ class RepositoryQL {
issuesOpen: map["issuesOpen"]["totalCount"],
issuesTotal: map["issues"]["totalCount"],
reposName: map["name"],
hasIssuesEnabled: map["hasIssuesEnabled"],
reposFullName: map["nameWithOwner"],
ownerName: map["owner"]["login"],
ownerAvatarUrl: map["owner"]["avatarUrl"],
Expand Down Expand Up @@ -115,6 +118,7 @@ class RepositoryQL {
"totalCount": repositoryQL.issuesTotal,
},
"name": repositoryQL.reposName,
"hasIssuesEnabled": repositoryQL.hasIssuesEnabled,
"nameWithOwner": repositoryQL.reposFullName,
"owner": {
"login": repositoryQL.ownerName,
Expand Down
82 changes: 56 additions & 26 deletions lib/page/repos/repository_detail_issue_list_page.dart
Expand Up @@ -4,13 +4,15 @@ import 'package:gsy_github_app_flutter/common/dao/issue_dao.dart';
import 'package:gsy_github_app_flutter/common/localization/default_localizations.dart';
import 'package:gsy_github_app_flutter/common/style/gsy_style.dart';
import 'package:gsy_github_app_flutter/common/utils/navigator_utils.dart';
import 'package:gsy_github_app_flutter/page/repos/scope/repos_detail_model.dart';
import 'package:gsy_github_app_flutter/widget/pull/nested/gsy_nested_pull_load_widget.dart';
import 'package:gsy_github_app_flutter/widget/pull/nested/gsy_sliver_header_delegate.dart';
import 'package:gsy_github_app_flutter/widget/pull/nested/nested_refresh.dart';
import 'package:gsy_github_app_flutter/widget/state/gsy_list_state.dart';
import 'package:gsy_github_app_flutter/page/search/widget/gsy_search_input_widget.dart';
import 'package:gsy_github_app_flutter/page/issue/widget/issue_item.dart';
import 'package:gsy_github_app_flutter/widget/gsy_select_item_widget.dart';
import 'package:scoped_model/scoped_model.dart';

/**
* 仓库详情issue列表
Expand Down Expand Up @@ -136,32 +138,60 @@ class RepositoryDetailIssuePageState extends State<RepositoryDetailIssuePage>
@override
Widget build(BuildContext context) {
super.build(context); // See AutomaticKeepAliveClientMixin.
return new Scaffold(
backgroundColor: GSYColors.mainBackgroundColor,
appBar: new AppBar(
leading: new Container(),
flexibleSpace: GSYSearchInputWidget(onSubmitted: (value) {
this.searchText = value;
_resolveSelectIndex();
}, onSubmitPressed: () {
_resolveSelectIndex();
}),
elevation: 0.0,
backgroundColor: GSYColors.mainBackgroundColor,
),

///支持嵌套滚动
body: GSYNestedPullLoadWidget(
pullLoadWidgetControl,
(BuildContext context, int index) => _renderIssueItem(index),
handleRefresh,
onLoadMore,
refreshKey: refreshIKey,
scrollController: scrollController,
headerSliverBuilder: (context, _) {
return _sliverBuilder(context, _);
},
),
return ScopedModelDescendant<ReposDetailModel>(
builder: (context, child, model) {
return new Scaffold(
backgroundColor: GSYColors.mainBackgroundColor,
appBar: new AppBar(
leading: new Container(),
flexibleSpace: (model.repository?.hasIssuesEnabled == false)
? new Container()
: GSYSearchInputWidget(onSubmitted: (value) {
this.searchText = value;
_resolveSelectIndex();
}, onSubmitPressed: () {
_resolveSelectIndex();
}),
elevation: 0.0,
backgroundColor: GSYColors.mainBackgroundColor,
),
body: (model.repository?.hasIssuesEnabled == false)
? new Container(
alignment: Alignment.center,
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
FlatButton(
onPressed: () {},
child: new Image(
image: new AssetImage(GSYICons.DEFAULT_USER_ICON),
width: 70.0,
height: 70.0),
),
Container(
child: Text(
GSYLocalizations.i18n(context)
.repos_no_support_issue,
style: GSYConstant.normalText),
),
],
),
)

///支持嵌套滚动
: GSYNestedPullLoadWidget(
pullLoadWidgetControl,
(BuildContext context, int index) => _renderIssueItem(index),
handleRefresh,
onLoadMore,
refreshKey: refreshIKey,
scrollController: scrollController,
headerSliverBuilder: (context, _) {
return _sliverBuilder(context, _);
},
),
);
},
);
}

Expand Down

0 comments on commit a6222ea

Please sign in to comment.