From 846e6397bf3b010965b4f6a3f9bb3b830039d162 Mon Sep 17 00:00:00 2001 From: Natalia Harateh Date: Sat, 1 Jun 2019 13:12:37 -0400 Subject: [PATCH 1/5] mark issue title & number with MarkdownAttribute.issue, set IssueDetailsModel as value --- Classes/Issues/Referenced/IssueReferencedModel.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Classes/Issues/Referenced/IssueReferencedModel.swift b/Classes/Issues/Referenced/IssueReferencedModel.swift index 4d7a480f1..b1cc2fb22 100644 --- a/Classes/Issues/Referenced/IssueReferencedModel.swift +++ b/Classes/Issues/Referenced/IssueReferencedModel.swift @@ -53,6 +53,12 @@ final class IssueReferencedModel: ListDiffable { self.title = title self.actor = actor + let issueDetailsModel = IssueDetailsModel( + owner: actor, + repo: repo, + number: number + ) + let builder = StyledTextBuilder(styledText: StyledText( style: Styles.Text.secondary.with(foreground: Styles.Colors.Gray.medium.color) )) @@ -69,9 +75,9 @@ final class IssueReferencedModel: ListDiffable { .restore() .add(text: "\n") .save() - .add(styledText: StyledText(text: title, style: Styles.Text.secondaryBold)) + .add(styledText: StyledText(text: title, style: Styles.Text.secondaryBold.with(attributes: [MarkdownAttribute.issue: issueDetailsModel]) )) .restore() - .add(text: " #\(number)") + .add(text: " #\(number)", attributes: [MarkdownAttribute.issue: issueDetailsModel]) self.string = StyledTextRenderer( string: builder.build(), From 11f22840ead5e48498e8701cb49ea31c8de0d33d Mon Sep 17 00:00:00 2001 From: Natalia Harateh Date: Sat, 1 Jun 2019 13:27:03 -0400 Subject: [PATCH 2/5] delegate MarkdownStyledTextView taps to IssueReferencedSectionController --- .../IssueReferencedSectionController.swift | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Classes/Issues/Referenced/IssueReferencedSectionController.swift b/Classes/Issues/Referenced/IssueReferencedSectionController.swift index 5fa7c2b11..d48698de8 100644 --- a/Classes/Issues/Referenced/IssueReferencedSectionController.swift +++ b/Classes/Issues/Referenced/IssueReferencedSectionController.swift @@ -9,7 +9,7 @@ import Foundation import IGListKit -final class IssueReferencedSectionController: ListGenericSectionController { +final class IssueReferencedSectionController: ListGenericSectionController, MarkdownStyledTextViewDelegate { private let client: GithubClient @@ -29,14 +29,34 @@ final class IssueReferencedSectionController: ListGenericSectionController Date: Sat, 1 Jun 2019 13:57:41 -0400 Subject: [PATCH 3/5] don't mark issue title & number with markdown attribute, allow issues to go through didSelectItem flow --- Classes/Issues/Referenced/IssueReferencedModel.swift | 10 ++-------- .../Referenced/IssueReferencedSectionController.swift | 3 --- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/Classes/Issues/Referenced/IssueReferencedModel.swift b/Classes/Issues/Referenced/IssueReferencedModel.swift index b1cc2fb22..4d7a480f1 100644 --- a/Classes/Issues/Referenced/IssueReferencedModel.swift +++ b/Classes/Issues/Referenced/IssueReferencedModel.swift @@ -53,12 +53,6 @@ final class IssueReferencedModel: ListDiffable { self.title = title self.actor = actor - let issueDetailsModel = IssueDetailsModel( - owner: actor, - repo: repo, - number: number - ) - let builder = StyledTextBuilder(styledText: StyledText( style: Styles.Text.secondary.with(foreground: Styles.Colors.Gray.medium.color) )) @@ -75,9 +69,9 @@ final class IssueReferencedModel: ListDiffable { .restore() .add(text: "\n") .save() - .add(styledText: StyledText(text: title, style: Styles.Text.secondaryBold.with(attributes: [MarkdownAttribute.issue: issueDetailsModel]) )) + .add(styledText: StyledText(text: title, style: Styles.Text.secondaryBold)) .restore() - .add(text: " #\(number)", attributes: [MarkdownAttribute.issue: issueDetailsModel]) + .add(text: " #\(number)") self.string = StyledTextRenderer( string: builder.build(), diff --git a/Classes/Issues/Referenced/IssueReferencedSectionController.swift b/Classes/Issues/Referenced/IssueReferencedSectionController.swift index d48698de8..1b2004eed 100644 --- a/Classes/Issues/Referenced/IssueReferencedSectionController.swift +++ b/Classes/Issues/Referenced/IssueReferencedSectionController.swift @@ -52,9 +52,6 @@ final class IssueReferencedSectionController: ListGenericSectionController Date: Sat, 1 Jun 2019 14:37:22 -0400 Subject: [PATCH 4/5] swap switch for if/else --- .../Referenced/IssueReferencedSectionController.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/Issues/Referenced/IssueReferencedSectionController.swift b/Classes/Issues/Referenced/IssueReferencedSectionController.swift index 1b2004eed..6c506286b 100644 --- a/Classes/Issues/Referenced/IssueReferencedSectionController.swift +++ b/Classes/Issues/Referenced/IssueReferencedSectionController.swift @@ -48,11 +48,11 @@ final class IssueReferencedSectionController: ListGenericSectionController Date: Sun, 2 Jun 2019 15:43:24 -0400 Subject: [PATCH 5/5] use the result of handle(attribute:) to set shouldShowIssueOnItemSelection --- .../Referenced/IssueReferencedSectionController.swift | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Classes/Issues/Referenced/IssueReferencedSectionController.swift b/Classes/Issues/Referenced/IssueReferencedSectionController.swift index 6c506286b..93e7259c5 100644 --- a/Classes/Issues/Referenced/IssueReferencedSectionController.swift +++ b/Classes/Issues/Referenced/IssueReferencedSectionController.swift @@ -48,12 +48,10 @@ final class IssueReferencedSectionController: ListGenericSectionController