chore: enable relation to (#4866)

* chore: enable relation to

* chore: fix database name and improve UI

* chore: remove database view id from relation type option

* chore: add remove row id test

* chore: improve appearance of untitled rows

* chore: empty in row detail

* fix: cannot add events after closing

---------

Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
This commit is contained in:
Nathan.fooo
2024-03-15 22:58:55 +08:00
committed by GitHub
parent 8d01d54e7f
commit bb414c3fd6
19 changed files with 459 additions and 231 deletions

View File

@ -164,8 +164,8 @@ where
let new_object_id = &new_user_session.user_workspace.workspace_database_object_id;
let array = DatabaseMetaList::from_collab(&database_with_views_collab);
for database_metas in array.get_all_database_meta() {
array.update_database(&database_metas.database_id, |update| {
for database_meta in array.get_all_database_meta() {
array.update_database(&database_meta.database_id, |update| {
let new_linked_views = update
.linked_views
.iter()

View File

@ -75,7 +75,7 @@ pub async fn sync_supabase_user_data_to_cloud(
fn sync_view(
uid: i64,
folder: Arc<MutexFolder>,
database_records: Vec<Arc<DatabaseMeta>>,
database_metas: Vec<Arc<DatabaseMeta>>,
workspace_id: String,
device_id: String,
view: Arc<View>,
@ -84,7 +84,7 @@ fn sync_view(
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + Sync>> {
Box::pin(async move {
let collab_type = collab_type_from_view_layout(&view.layout);
let object_id = object_id_from_view(&view, &database_records)?;
let object_id = object_id_from_view(&view, &database_metas)?;
tracing::debug!(
"sync view: {:?}:{} with object_id: {}",
view.layout,
@ -180,7 +180,7 @@ fn sync_view(
if let Err(err) = Box::pin(sync_view(
uid,
folder.clone(),
database_records.clone(),
database_metas.clone(),
workspace_id.clone(),
device_id.to_string(),
child_view,

View File

@ -281,10 +281,10 @@ where
})?;
let array = DatabaseMetaList::from_collab(&database_view_tracker_collab);
for database_metas in array.get_all_database_meta() {
for database_meta in array.get_all_database_meta() {
database_view_ids_by_database_id.insert(
old_to_new_id_map.renew_id(&database_metas.database_id),
database_metas
old_to_new_id_map.renew_id(&database_meta.database_id),
database_meta
.linked_views
.into_iter()
.map(|view_id| old_to_new_id_map.renew_id(&view_id))