Skip to content

Commit 61d3c21

Browse files
leandroBorgesFerreiraLeandro Ferreira
andauthored
Force graph (Writeopia#432)
* navigation to force graph * moving classes * Moving dependencies * Drawing a simple graph * Update GraphExtensions.kt * Drawing correctly * Drawing correctly * Drawing all nodes * Making it look a bit better * Update GraphExtensions.kt * Update NavigateDocumentGraph.kt * Update ForceDirectedGraph.kt * Drag working * working * Drawing better * ktlint clean * code clean * animation change --------- Co-authored-by: Leandro Ferreira <[email protected]>
1 parent 1e9925a commit 61d3c21

72 files changed

Lines changed: 924 additions & 74 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

application/common_flows/wide_screen_common/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ kotlin {
5151
implementation(project(":application:features:global_shell"))
5252
implementation(project(":application:features:account"))
5353
implementation(project(":application:features:search"))
54+
implementation(project(":application:features:documents_graph"))
5455

5556
implementation(libs.ktor.client.logging)
5657
implementation(libs.ktor.client.core)

application/common_flows/wide_screen_common/src/commonMain/kotlin/io/writeopia/notes/desktop/components/App.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ import io.writeopia.model.isDarkTheme
4040
import io.writeopia.navigation.Navigation
4141
import io.writeopia.navigation.notes.navigateToFolder
4242
import io.writeopia.navigation.notes.navigateToNote
43-
import io.writeopia.notemenu.data.model.NotesNavigation
44-
import io.writeopia.notemenu.data.model.NotesNavigationType
43+
import io.writeopia.common.utils.NotesNavigation
44+
import io.writeopia.common.utils.NotesNavigationType
45+
import io.writeopia.documents.graph.di.DocumentsGraphInjection
4546
import io.writeopia.notemenu.data.usecase.NotesNavigationUseCase
4647
import io.writeopia.notemenu.di.NotesMenuKmpInjection
4748
import io.writeopia.notemenu.navigation.NAVIGATION_PATH
@@ -50,6 +51,7 @@ import io.writeopia.notemenu.navigation.navigateToNotes
5051
import io.writeopia.notemenu.ui.screen.menu.EditFileScreen
5152
import io.writeopia.notemenu.ui.screen.menu.RoundedVerticalDivider
5253
import io.writeopia.sql.WriteopiaDb
54+
import io.writeopia.sqldelight.di.SqlDelightDaoInjector
5355
import io.writeopia.sqldelight.di.WriteopiaDbInjector
5456
import io.writeopia.theme.WrieopiaTheme
5557
import io.writeopia.theme.WriteopiaTheme
@@ -95,6 +97,9 @@ fun DesktopApp(
9597
SideMenuKmpInjector()
9698
}
9799

100+
val documentsGraphInjection =
101+
DocumentsGraphInjection(repositoryInjection = SqlDelightDaoInjector.singleton())
102+
98103
val globalShellViewModel: GlobalShellViewModel = sideMenuInjector.provideSideMenuViewModel()
99104
val colorTheme = colorThemeOption.collectAsState().value
100105
val navigationController: NavHostController = rememberNavController()
@@ -181,6 +186,7 @@ fun DesktopApp(
181186
startDestination = startDestination,
182187
notesMenuInjection = notesMenuInjection,
183188
sideMenuKmpInjector = sideMenuInjector,
189+
documentsGraphInjection = documentsGraphInjection,
184190
editorInjector = editorInjector,
185191
selectColorTheme = selectColorTheme,
186192
navController = navigationController

application/composeApp/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ kotlin {
5454
implementation(project(":application:core:theme"))
5555
implementation(project(":application:core:models"))
5656
implementation(project(":application:core:resources"))
57+
implementation(project(":application:features:documents_graph"))
5758
implementation(project(":application:features:note_menu"))
5859
implementation(project(":application:features:editor"))
5960
implementation(project(":application:features:account"))

application/composeApp/src/androidMain/kotlin/io/writeopia/navigation/NavigationActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import io.writeopia.common.utils.di.SharedPreferencesInjector
2121
import io.writeopia.editor.di.EditorKmpInjector
2222
import io.writeopia.features.search.di.MobileSearchInjection
2323
import io.writeopia.mobile.AppMobile
24-
import io.writeopia.notemenu.data.model.NotesNavigation
24+
import io.writeopia.common.utils.NotesNavigation
2525
import io.writeopia.notemenu.di.NotesMenuKmpInjection
2626
import io.writeopia.notemenu.di.UiConfigurationInjector
2727
import io.writeopia.notemenu.navigation.NoteMenuDestiny

application/composeApp/src/commonMain/kotlin/io/writeopia/mobile/AppMobile.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import io.writeopia.navigation.NavigationViewModel
3030
import io.writeopia.navigation.notes.navigateToNoteMenu
3131
import io.writeopia.navigation.notifications.navigateToNotifications
3232
import io.writeopia.navigation.search.navigateToSearch
33-
import io.writeopia.notemenu.data.model.NotesNavigation
33+
import io.writeopia.common.utils.NotesNavigation
3434
import io.writeopia.notemenu.di.NotesMenuInjection
3535
import io.writeopia.theme.WrieopiaTheme
3636
import io.writeopia.viewmodel.UiConfigurationViewModel

application/composeApp/src/iosMain/kotlin/io/writeopia/MainViewController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import io.writeopia.editor.di.EditorKmpInjector
1414
import io.writeopia.features.search.di.KmpSearchInjection
1515
import io.writeopia.mobile.AppMobile
1616
import io.writeopia.navigation.MobileNavigationViewModel
17-
import io.writeopia.notemenu.data.model.NotesNavigation
17+
import io.writeopia.common.utils.NotesNavigation
1818
import io.writeopia.notemenu.di.NotesMenuKmpInjection
1919
import io.writeopia.notemenu.di.UiConfigurationInjector
2020
import io.writeopia.notemenu.navigation.navigateToNotes

application/core/configuration/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ kotlin {
2828
val commonMain by getting {
2929
dependencies {
3030
implementation(project(":application:core:models"))
31-
implementation(project(":application:core:documents"))
3231
implementation(project(":application:core:persistence_bridge"))
3332
implementation(project(":application:core:utils"))
3433
implementation(project(":application:core:theme"))

application/core/configuration/src/commonMain/kotlin/io/writeopia/core/configuration/di/AppConfigurationInjector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.writeopia.core.configuration.di
22

33
import io.writeopia.core.configuration.repository.ConfigurationRepository
4-
import io.writeopia.models.configuration.WorkspaceConfigRepository
4+
import io.writeopia.models.interfaces.configuration.WorkspaceConfigRepository
55

66
expect class AppConfigurationInjector {
77

application/core/configuration/src/commonMain/kotlin/io/writeopia/core/configuration/repository/ConfigurationRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.writeopia.core.configuration.repository
22

33
import io.writeopia.core.configuration.models.NotesArrangement
4-
import io.writeopia.models.configuration.WorkspaceConfigRepository
4+
import io.writeopia.models.interfaces.configuration.WorkspaceConfigRepository
55
import io.writeopia.sdk.persistence.core.sorting.OrderBy
66
import kotlinx.coroutines.flow.Flow
77

application/core/configuration/src/jsMain/kotlin/io/writeopia/core/configuration/di/AppConfigurationInjector.js.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package io.writeopia.core.configuration.di
22

33
import io.writeopia.core.configuration.repository.ConfigurationRepository
44
import io.writeopia.core.configuration.repository.InMemoryConfigurationRepository
5-
import io.writeopia.models.configuration.WorkspaceConfigRepository
5+
import io.writeopia.models.interfaces.configuration.WorkspaceConfigRepository
66

77
actual class AppConfigurationInjector {
88
actual fun provideNotesConfigurationRepository(): ConfigurationRepository =

0 commit comments

Comments
 (0)