From 6cd6f20ec67bd2db2bb13ce83cd192b2fbd9ae13 Mon Sep 17 00:00:00 2001 From: Ryan Nystrom Date: Mon, 3 Jul 2017 12:12:38 -0400 Subject: [PATCH] status event model has status enum instead of closed --- Classes/Issues/Issue+IssueType.swift | 4 ++-- Classes/Issues/PullRequest+IssueType.swift | 4 ++-- Classes/Issues/StatusEvent/IssueStatusEventCell.swift | 11 +++++++++-- .../Issues/StatusEvent/IssueStatusEventModel.swift | 6 +++--- Resources/Info.plist | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Classes/Issues/Issue+IssueType.swift b/Classes/Issues/Issue+IssueType.swift index f305cd04..4c3ecf42 100644 --- a/Classes/Issues/Issue+IssueType.swift +++ b/Classes/Issues/Issue+IssueType.swift @@ -81,7 +81,7 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsIssue: Is id: closed.fragments.nodeFields.id, actor: closed.actor?.login ?? Strings.unknown, date: date, - closed: true, + status: .closed, pullRequest: false ) results.append(model) @@ -91,7 +91,7 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsIssue: Is id: reopened.fragments.nodeFields.id, actor: reopened.actor?.login ?? Strings.unknown, date: date, - closed: false, + status: .open, pullRequest: false ) results.append(model) diff --git a/Classes/Issues/PullRequest+IssueType.swift b/Classes/Issues/PullRequest+IssueType.swift index 7373c905..1ea422a8 100644 --- a/Classes/Issues/PullRequest+IssueType.swift +++ b/Classes/Issues/PullRequest+IssueType.swift @@ -77,7 +77,7 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsPullReque id: closed.fragments.nodeFields.id, actor: closed.actor?.login ?? Strings.unknown, date: date, - closed: true, + status: .closed, pullRequest: true ) results.append(model) @@ -87,7 +87,7 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsPullReque id: reopened.fragments.nodeFields.id, actor: reopened.actor?.login ?? Strings.unknown, date: date, - closed: false, + status: .open, pullRequest: true ) results.append(model) diff --git a/Classes/Issues/StatusEvent/IssueStatusEventCell.swift b/Classes/Issues/StatusEvent/IssueStatusEventCell.swift index fc5646a8..447a08af 100644 --- a/Classes/Issues/StatusEvent/IssueStatusEventCell.swift +++ b/Classes/Issues/StatusEvent/IssueStatusEventCell.swift @@ -55,8 +55,15 @@ final class IssueStatusEventCell: UICollectionViewCell { ] label.attributedText = NSAttributedString(string: model.actor, attributes: actorAttributes) - button.config(pullRequest: model.pullRequest, status: model.closed ? .closed : .open) - button.setTitle(model.closed ? Strings.closed : Strings.reopened, for: .normal) + button.config(pullRequest: model.pullRequest, status: model.status) + + let title: String + switch model.status { + case .open: title = Strings.reopened // open event only happens when RE-opening + case .closed: title = Strings.closed + case .merged: fatalError("Merge events handled in other model+cell") + } + button.setTitle(title, for: .normal) dateLabel.setText(date: model.date) } diff --git a/Classes/Issues/StatusEvent/IssueStatusEventModel.swift b/Classes/Issues/StatusEvent/IssueStatusEventModel.swift index 0edc1b48..4e7d0440 100644 --- a/Classes/Issues/StatusEvent/IssueStatusEventModel.swift +++ b/Classes/Issues/StatusEvent/IssueStatusEventModel.swift @@ -14,14 +14,14 @@ final class IssueStatusEventModel: ListDiffable { let id: String let actor: String let date: Date - let closed: Bool + let status: IssueStatus let pullRequest: Bool - init(id: String, actor: String, date: Date, closed: Bool, pullRequest: Bool) { + init(id: String, actor: String, date: Date, status: IssueStatus, pullRequest: Bool) { self.id = id self.actor = actor self.date = date - self.closed = closed + self.status = status self.pullRequest = pullRequest } diff --git a/Resources/Info.plist b/Resources/Info.plist index 76e30650..edfc068c 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 1.0.0 CFBundleVersion - 377 + 379 LSApplicationQueriesSchemes org-appextension-feature-password-management