Skip to content

Commit

Permalink
Merge pull request #1128 from anyproto/ios-2591-migrate-link-to-object
Browse files Browse the repository at this point in the history
iOS-2591 DI | Migrate link to object 🤪 (migrate search P1)
  • Loading branch information
mgolovko authored Apr 4, 2024
2 parents 7e40511 + 82ecbba commit 94f3cac
Show file tree
Hide file tree
Showing 33 changed files with 229 additions and 313 deletions.
60 changes: 32 additions & 28 deletions Anytype.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,8 @@
2A35A6B42BBD845B00CCE4F4 /* WidgetTypeChangeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35A6B32BBD845B00CCE4F4 /* WidgetTypeChangeView.swift */; };
2A35A6BA2BBD9B9100CCE4F4 /* WidgetSourceSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35A6B92BBD9B9100CCE4F4 /* WidgetSourceSearchView.swift */; };
2A35A6BC2BBD9C4D00CCE4F4 /* WidgetChangeSourceSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35A6BB2BBD9C4D00CCE4F4 /* WidgetChangeSourceSearchView.swift */; };
2A35A6BE2BBDA4C000CCE4F4 /* LinToObjectSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35A6BD2BBDA4C000CCE4F4 /* LinToObjectSearchView.swift */; };
2A35A6C02BBDA5E700CCE4F4 /* LinkToObjectSearchModuleData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35A6BF2BBDA5E700CCE4F4 /* LinkToObjectSearchModuleData.swift */; };
2A35FF8E2AAF202E00D6006D /* CodeLanguageListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35FF8D2AAF202E00D6006D /* CodeLanguageListView.swift */; };
2A35FF902AAF203C00D6006D /* CodeLanguageListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35FF8F2AAF203C00D6006D /* CodeLanguageListViewModel.swift */; };
2A35FF922AAF20FD00D6006D /* CodeLanguageRowModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A35FF912AAF20FD00D6006D /* CodeLanguageRowModel.swift */; };
Expand Down Expand Up @@ -787,16 +789,13 @@
2ADA5EEA28A292D000CD82A4 /* FeatureFlagViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADA5EE928A292D000CD82A4 /* FeatureFlagViewModel.swift */; };
2ADA60EB2A681A7E0044164D /* IconViewUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADA60EA2A681A7E0044164D /* IconViewUIKit.swift */; };
2ADD14EF2AE2B9A50060BC33 /* HomeCreateObjectTip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD14EE2AE2B9A50060BC33 /* HomeCreateObjectTip.swift */; };
2ADD1EAF28FD795E00F41DE1 /* LinkToObjectCoordinatorAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD1EAD28FD795E00F41DE1 /* LinkToObjectCoordinatorAssembly.swift */; };
2ADD1EB028FD795E00F41DE1 /* LinkToObjecttCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD1EAE28FD795E00F41DE1 /* LinkToObjecttCoordinator.swift */; };
2ADD556E2987CDDE009AFCB1 /* LinkWidgetViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD556D2987CDDE009AFCB1 /* LinkWidgetViewModel.swift */; };
2ADD55742987CE65009AFCB1 /* LinkWidgetModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD55732987CE65009AFCB1 /* LinkWidgetModuleAssembly.swift */; };
2ADD66732A6ECA0100266F57 /* CoreGraphics+Hash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADD66722A6ECA0100266F57 /* CoreGraphics+Hash.swift */; };
2ADF008C2ACD5763000D01F8 /* DeleteAccountModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF008B2ACD5763000D01F8 /* DeleteAccountModuleAssembly.swift */; };
2ADF008F2ACD5DAC000D01F8 /* StatusBarStyleModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF008E2ACD5DAC000D01F8 /* StatusBarStyleModifier.swift */; };
2ADF00912ACD66D4000D01F8 /* NavigationGestureModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF00902ACD66D4000D01F8 /* NavigationGestureModifier.swift */; };
2ADF00932ACF0040000D01F8 /* HomePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF00922ACF0040000D01F8 /* HomePath.swift */; };
2ADF00952AD00B04000D01F8 /* LinkToObjectCoordinatorOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF00942AD00B04000D01F8 /* LinkToObjectCoordinatorOutput.swift */; };
2ADF94D429CDAFB000F6FFCC /* EnvironmentConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF94D329CDAFB000F6FFCC /* EnvironmentConfiguration.swift */; };
2ADFA9DC2949C61D00F64688 /* UIKitModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADFA9DB2949C61D00F64688 /* UIKitModule.swift */; };
2AE10778296C258400BAB22A /* View+LegacyAdopt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AE10777296C258400BAB22A /* View+LegacyAdopt.swift */; };
Expand Down Expand Up @@ -2193,6 +2192,8 @@
2A35A6B32BBD845B00CCE4F4 /* WidgetTypeChangeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetTypeChangeView.swift; sourceTree = "<group>"; };
2A35A6B92BBD9B9100CCE4F4 /* WidgetSourceSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetSourceSearchView.swift; sourceTree = "<group>"; };
2A35A6BB2BBD9C4D00CCE4F4 /* WidgetChangeSourceSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetChangeSourceSearchView.swift; sourceTree = "<group>"; };
2A35A6BD2BBDA4C000CCE4F4 /* LinToObjectSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinToObjectSearchView.swift; sourceTree = "<group>"; };
2A35A6BF2BBDA5E700CCE4F4 /* LinkToObjectSearchModuleData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkToObjectSearchModuleData.swift; sourceTree = "<group>"; };
2A35FF8D2AAF202E00D6006D /* CodeLanguageListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeLanguageListView.swift; sourceTree = "<group>"; };
2A35FF8F2AAF203C00D6006D /* CodeLanguageListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeLanguageListViewModel.swift; sourceTree = "<group>"; };
2A35FF912AAF20FD00D6006D /* CodeLanguageRowModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeLanguageRowModel.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2580,16 +2581,13 @@
2ADA5EE928A292D000CD82A4 /* FeatureFlagViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureFlagViewModel.swift; sourceTree = "<group>"; };
2ADA60EA2A681A7E0044164D /* IconViewUIKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconViewUIKit.swift; sourceTree = "<group>"; };
2ADD14EE2AE2B9A50060BC33 /* HomeCreateObjectTip.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCreateObjectTip.swift; sourceTree = "<group>"; };
2ADD1EAD28FD795E00F41DE1 /* LinkToObjectCoordinatorAssembly.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkToObjectCoordinatorAssembly.swift; sourceTree = "<group>"; };
2ADD1EAE28FD795E00F41DE1 /* LinkToObjecttCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkToObjecttCoordinator.swift; sourceTree = "<group>"; };
2ADD556D2987CDDE009AFCB1 /* LinkWidgetViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkWidgetViewModel.swift; sourceTree = "<group>"; };
2ADD55732987CE65009AFCB1 /* LinkWidgetModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkWidgetModuleAssembly.swift; sourceTree = "<group>"; };
2ADD66722A6ECA0100266F57 /* CoreGraphics+Hash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoreGraphics+Hash.swift"; sourceTree = "<group>"; };
2ADF008B2ACD5763000D01F8 /* DeleteAccountModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteAccountModuleAssembly.swift; sourceTree = "<group>"; };
2ADF008E2ACD5DAC000D01F8 /* StatusBarStyleModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarStyleModifier.swift; sourceTree = "<group>"; };
2ADF00902ACD66D4000D01F8 /* NavigationGestureModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationGestureModifier.swift; sourceTree = "<group>"; };
2ADF00922ACF0040000D01F8 /* HomePath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePath.swift; sourceTree = "<group>"; };
2ADF00942AD00B04000D01F8 /* LinkToObjectCoordinatorOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkToObjectCoordinatorOutput.swift; sourceTree = "<group>"; };
2ADF94D329CDAFB000F6FFCC /* EnvironmentConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnvironmentConfiguration.swift; sourceTree = "<group>"; };
2ADFA9DB2949C61D00F64688 /* UIKitModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIKitModule.swift; sourceTree = "<group>"; };
2AE10777296C258400BAB22A /* View+LegacyAdopt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+LegacyAdopt.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -3779,7 +3777,6 @@
C91AFEEB270B4C9C005F9386 /* Debug */,
1289C50E2810278F005085E2 /* FileDownloading flow */,
0331BBD822E5D8AB002AD179 /* Settings */,
2AFE04B128F9434C008647E0 /* LinkToObjectFlow */,
2A2C330728928BF7008BC326 /* Openers */,
2A2C330128928633008BC326 /* RelationValueFlow */,
3D2F00272B67D7EA009F3AA5 /* ObjectTypeSearch */,
Expand Down Expand Up @@ -5643,6 +5640,30 @@
path = WidgetSourceSearch;
sourceTree = "<group>";
};
2A35A6C12BBDA67F00CCE4F4 /* LinkToObject */ = {
isa = PBXGroup;
children = (
2A35A6BD2BBDA4C000CCE4F4 /* LinToObjectSearchView.swift */,
2A35A6BF2BBDA5E700CCE4F4 /* LinkToObjectSearchModuleData.swift */,
538AE50E272C57300071DB0D /* LinkToObjectSearchViewModel.swift */,
);
path = LinkToObject;
sourceTree = "<group>";
};
2A35A6C22BBDA68700CCE4F4 /* Other */ = {
isa = PBXGroup;
children = (
2A03FD592A7A620800CB7191 /* SearchModuleModel.swift */,
867B2A972A9CCE050040381E /* SearchInteractors */,
3D00F1D3278D7CCF00863D7C /* Model */,
538F172A272C2F1E009528E7 /* SearchView */,
538F172C272C2F74009528E7 /* ObjectSearchViewModel.swift */,
2A7DCDE3292E7D5A001919B4 /* SearchModuleAssembly.swift */,
2A7DCDE7292E8260001919B4 /* SearchModuleAssemblyProtocol.swift */,
);
path = Other;
sourceTree = "<group>";
};
2A376F582B85F2F700CF444A /* Subviews */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -7121,16 +7142,6 @@
path = GlobalEnv;
sourceTree = "<group>";
};
2AFE04B128F9434C008647E0 /* LinkToObjectFlow */ = {
isa = PBXGroup;
children = (
2ADD1EAE28FD795E00F41DE1 /* LinkToObjecttCoordinator.swift */,
2ADD1EAD28FD795E00F41DE1 /* LinkToObjectCoordinatorAssembly.swift */,
2ADF00942AD00B04000D01F8 /* LinkToObjectCoordinatorOutput.swift */,
);
path = LinkToObjectFlow;
sourceTree = "<group>";
};
2AFEED192A73B7F700D7A45B /* Models */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -8650,14 +8661,8 @@
3D5A41762704541900F1F6A1 /* Search */ = {
isa = PBXGroup;
children = (
2A03FD592A7A620800CB7191 /* SearchModuleModel.swift */,
867B2A972A9CCE050040381E /* SearchInteractors */,
3D00F1D3278D7CCF00863D7C /* Model */,
538F172A272C2F1E009528E7 /* SearchView */,
538F172C272C2F74009528E7 /* ObjectSearchViewModel.swift */,
538AE50E272C57300071DB0D /* LinkToObjectSearchViewModel.swift */,
2A7DCDE3292E7D5A001919B4 /* SearchModuleAssembly.swift */,
2A7DCDE7292E8260001919B4 /* SearchModuleAssemblyProtocol.swift */,
2A35A6C22BBDA68700CCE4F4 /* Other */,
2A35A6C12BBDA67F00CCE4F4 /* LinkToObject */,
);
path = Search;
sourceTree = "<group>";
Expand Down Expand Up @@ -11645,6 +11650,7 @@
2E31C9622B7281CD006DB3E2 /* RelationListSelectionView.swift in Sources */,
2A00A74229D33B25007BE598 /* EdgeInsets+Helpers.swift in Sources */,
2A65E9B22AE1290300D40657 /* InitialCoordinatorView.swift in Sources */,
2A35A6C02BBDA5E700CCE4F4 /* LinkToObjectSearchModuleData.swift in Sources */,
2A35A6AE2BBD809C00CCE4F4 /* WidgetTypeCreateObjectView.swift in Sources */,
3DE6E3C026542151008FB0AF /* UIVIewController+Child.swift in Sources */,
1270CE9326DA84A600B2D443 /* GradientImageBuilder.swift in Sources */,
Expand Down Expand Up @@ -11945,7 +11951,6 @@
2E8E8D162A262D2E009BC3B0 /* CreatingSoulView.swift in Sources */,
3D24913427BD271900821595 /* LocalEvent.swift in Sources */,
127240D72846249600C6F8E2 /* NewSearchViewState.swift in Sources */,
2ADD1EAF28FD795E00F41DE1 /* LinkToObjectCoordinatorAssembly.swift in Sources */,
2E6527632B5EBD9300F27126 /* SelectRelationListView.swift in Sources */,
2E9B40602A1F807A00A7D74E /* LocalAuthService.swift in Sources */,
12FD9D212767174E00991886 /* RelationCheckbox.swift in Sources */,
Expand Down Expand Up @@ -12039,7 +12044,6 @@
2E31C9662B73C8C8006DB3E2 /* ObjectRelationOption.swift in Sources */,
2A9486542950A3E7007A5586 /* HomeWidgetsModuleAssembly.swift in Sources */,
129C54D427FC83C000C390C7 /* SupportedRelationFormat.swift in Sources */,
2ADF00952AD00B04000D01F8 /* LinkToObjectCoordinatorOutput.swift in Sources */,
2E22F9E32B600F91001EFCF3 /* RelationModuleConfiguration.swift in Sources */,
120F7D86267F9E8000327734 /* URLExtensions.swift in Sources */,
2A771F302AD6F0D8000ED2D4 /* SubscriptionUpdate.swift in Sources */,
Expand Down Expand Up @@ -12162,7 +12166,6 @@
127EABA32734FD6E00C731F2 /* CheckboxRelationView.swift in Sources */,
2E56F13A2A0D7E6700031167 /* AuthBackgroundView.swift in Sources */,
53F7443127F4BC7B005C9BB0 /* ObjectPreviewLayoutMenuViewModel.swift in Sources */,
2ADD1EB028FD795E00F41DE1 /* LinkToObjecttCoordinator.swift in Sources */,
1244793D27DC626B00581174 /* NewInternalSearchViewModelProtocol.swift in Sources */,
2A7BD6E628D85993008B735C /* RelationSubscriptionDataBuilder.swift in Sources */,
2A03FD5D2A7A85DD00CB7191 /* RecentWidgetType.swift in Sources */,
Expand Down Expand Up @@ -12325,6 +12328,7 @@
EA3D1E4F26CFC0E5001A31D9 /* TextViewAttributeSelectionInteraction.swift in Sources */,
2EAA13FE2AA63918000A712A /* SetViewSettingsImagePreviewRowConfiguration.swift in Sources */,
2E0797BC2A0965FD006F0FD7 /* JoinFlowCoordinatorAssembly.swift in Sources */,
2A35A6BE2BBDA4C000CCE4F4 /* LinToObjectSearchView.swift in Sources */,
0A74E4FB23A90E8C00B6C406 /* AuthService.swift in Sources */,
3D3A182A2733E946000D0842 /* MarkdownListener.swift in Sources */,
2A6693752A7104EA007747DD /* StaticImageGuideline.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,6 @@ final class CoordinatorsDI: CoordinatorsDIProtocol {
return TemplatesCoordinatorAssembly(serviceLocator: serviceLocator, coordinatorsDI: self)
}

func linkToObject() -> LinkToObjectCoordinatorAssemblyProtocol {
return LinkToObjectCoordinatorAssembly(
serviceLocator: serviceLocator,
modulesDI: modulesDI,
coordinatorsID: self,
uiHelopersDI: uiHelpersDI
)
}

func objectSettings() -> ObjectSettingsCoordinatorAssemblyProtocol {
return ObjectSettingsCoordinatorAssembly(modulesDI: modulesDI, uiHelpersDI: uiHelpersDI, coordinatorsDI: self, serviceLocator: serviceLocator)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ protocol CoordinatorsDIProtocol: AnyObject {
func relationValue() -> RelationValueCoordinatorAssemblyProtocol
func relationsList() -> RelationsListCoordinatorAssemblyProtocol
func templates() -> TemplatesCoordinatorAssemblyProtocol
func linkToObject() -> LinkToObjectCoordinatorAssemblyProtocol
func objectSettings() -> ObjectSettingsCoordinatorAssemblyProtocol
func addNewRelation() -> AddNewRelationCoordinatorAssemblyProtocol
func home() -> HomeCoordinatorAssemblyProtocol
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Foundation
import SwiftUI

struct LinToObjectSearchView: View {

let data: LinkToObjectSearchModuleData
let showEditorScreen: (_ data: EditorScreenData) -> Void

var body: some View {
// TODO: Refactoring module. Migrate from Search View
SearchView(
title: Loc.linkTo,
viewModel: LinkToObjectSearchViewModel(data: data, showEditorScreen: showEditorScreen)
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import Foundation

struct LinkToObjectSearchModuleData: Identifiable, Hashable, Equatable {
let spaceId: String
let currentLinkUrl: URL?
let currentLinkString: String?

@EquatableNoop
var setLinkToObject: (_ blockId: String) -> Void
@EquatableNoop
var setLinkToUrl: (_ url: URL) -> Void
@EquatableNoop
var removeLink: () -> Void
@EquatableNoop
var willShowNextScreen: (() -> Void)?

var id: Int { hashValue }
}
Loading

0 comments on commit 94f3cac

Please sign in to comment.