Complete local-first content migration slice
This commit is contained in:
@@ -131,6 +131,9 @@ fn initialize_app(app: &mut App) {
|
||||
app.add_singleton_model(|_| SystemStats::new());
|
||||
app.add_singleton_model(SyncQueue::mock);
|
||||
app.add_singleton_model(CloudModel::mock);
|
||||
app.add_singleton_model(|ctx| {
|
||||
crate::local_object_repository::LocalObjectRepository::new(None, None, ctx)
|
||||
});
|
||||
app.add_singleton_model(UserWorkspaces::default_mock);
|
||||
app.add_singleton_model(TeamTesterStatus::mock);
|
||||
app.add_singleton_model(TeamUpdateManager::mock);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use anyhow::Context;
|
||||
use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
|
||||
|
||||
use super::view::PaneView;
|
||||
@@ -11,9 +10,9 @@ use crate::drive::items::WarpDriveItemId;
|
||||
use crate::env_vars::manager::{EnvVarCollectionManager, EnvVarCollectionSource};
|
||||
use crate::env_vars::view::env_var_collection::{EnvVarCollectionEvent, EnvVarCollectionView};
|
||||
use crate::env_vars::EnvVarCollectionType;
|
||||
use crate::local_object_repository::local_owner;
|
||||
use crate::pane_group::focus_state::PaneFocusHandle;
|
||||
use crate::server::ids::SyncId;
|
||||
use crate::workspaces::user_workspaces::UserWorkspaces;
|
||||
|
||||
pub struct EnvVarCollectionPane {
|
||||
view: ViewHandle<PaneView<EnvVarCollectionView>>,
|
||||
@@ -55,9 +54,7 @@ impl EnvVarCollectionPane {
|
||||
Some(id) => EnvVarCollectionSource::Existing(id),
|
||||
None => EnvVarCollectionSource::New {
|
||||
title: None,
|
||||
owner: UserWorkspaces::as_ref(ctx)
|
||||
.personal_drive(ctx)
|
||||
.context("personal drive unavailable")?,
|
||||
owner: local_owner(),
|
||||
initial_folder_id: None,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use anyhow::Context;
|
||||
use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
|
||||
use url::Url;
|
||||
|
||||
@@ -14,12 +13,12 @@ use crate::app_state::{LeafContents, NotebookPaneSnapshot};
|
||||
use crate::cloud_object::Space;
|
||||
use crate::drive::items::WarpDriveItemId;
|
||||
use crate::drive::{CloudObjectTypeAndId, OpenGalaxyDriveObjectSettings};
|
||||
use crate::local_object_repository::local_owner;
|
||||
use crate::notebooks::link::{LinkEvent, NotebookLinks};
|
||||
use crate::notebooks::manager::{NotebookManager, NotebookSource};
|
||||
use crate::notebooks::notebook::{NotebookEvent, NotebookView};
|
||||
use crate::server::ids::SyncId;
|
||||
use crate::workflows::{WorkflowSelectionSource, WorkflowSource, WorkflowType};
|
||||
use crate::workspaces::user_workspaces::UserWorkspaces;
|
||||
|
||||
pub struct NotebookPane {
|
||||
view: ViewHandle<PaneView<NotebookView>>,
|
||||
@@ -51,9 +50,7 @@ impl NotebookPane {
|
||||
Some(id) => NotebookSource::Existing(id),
|
||||
None => NotebookSource::New {
|
||||
title: None,
|
||||
owner: UserWorkspaces::as_ref(ctx)
|
||||
.personal_drive(ctx)
|
||||
.context("personal drive unavailable")?,
|
||||
owner: local_owner(),
|
||||
initial_folder_id: None,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
use anyhow::Context;
|
||||
use url::Url;
|
||||
use warpui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
|
||||
|
||||
@@ -12,11 +11,11 @@ use super::{
|
||||
use crate::app_state::{LeafContents, WorkflowPaneSnapshot};
|
||||
use crate::drive::items::WarpDriveItemId;
|
||||
use crate::drive::OpenGalaxyDriveObjectSettings;
|
||||
use crate::local_object_repository::local_owner;
|
||||
use crate::server::ids::SyncId;
|
||||
use crate::workflows::manager::{WorkflowManager, WorkflowOpenSource};
|
||||
use crate::workflows::workflow_view::{WorkflowView, WorkflowViewEvent};
|
||||
use crate::workflows::{WorkflowSelectionSource, WorkflowSource, WorkflowType, WorkflowViewMode};
|
||||
use crate::workspaces::user_workspaces::UserWorkspaces;
|
||||
|
||||
pub struct WorkflowPane {
|
||||
view: ViewHandle<PaneView<WorkflowView>>,
|
||||
@@ -48,9 +47,7 @@ impl WorkflowPane {
|
||||
None => WorkflowOpenSource::New {
|
||||
title: None,
|
||||
content: None,
|
||||
owner: UserWorkspaces::as_ref(ctx)
|
||||
.personal_drive(ctx)
|
||||
.context("personal drive unavailable")?,
|
||||
owner: local_owner(),
|
||||
initial_folder_id: None,
|
||||
is_for_agent_mode: false,
|
||||
},
|
||||
@@ -61,7 +58,7 @@ impl WorkflowPane {
|
||||
manager.create_pane(
|
||||
&source,
|
||||
&settings,
|
||||
WorkflowViewMode::supported_view_mode(workflow_id, ctx),
|
||||
WorkflowViewMode::supported_view_mode(),
|
||||
window_id,
|
||||
ctx,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user