links to the other tables

This commit is contained in:
filipriec
2025-06-14 12:47:59 +02:00
parent 2ac96a8486
commit eb96c64e26

View File

@@ -98,6 +98,7 @@ pub async fn run_ui() -> Result<()> {
initial_profile.clone(), initial_profile.clone(),
initial_table.clone(), initial_table.clone(),
filtered_columns, filtered_columns,
vec![], // FIX 1: Provide the missing 4th argument
); );
UiService::fetch_and_set_table_count(&mut grpc_client, &mut form_state) UiService::fetch_and_set_table_count(&mut grpc_client, &mut form_state)
@@ -339,11 +340,30 @@ pub async fn run_ui() -> Result<()> {
.map(|c| c.name.clone()) .map(|c| c.name.clone())
.collect(); .collect();
let filtered_columns = filter_user_columns(new_columns); // FIX 2: Look up links in the profile_tree
let new_links: Vec<String> = app_state
.profile_tree
.profiles
.iter()
.find(|p| p.name == *prof_name)
.and_then(|profile| {
profile
.tables
.iter()
.find(|t| t.name == *tbl_name)
})
.map_or(vec![], |table| {
table.depends_on.clone()
});
let filtered_columns =
filter_user_columns(new_columns);
form_state = FormState::new( form_state = FormState::new(
prof_name.clone(), prof_name.clone(),
tbl_name.clone(), tbl_name.clone(),
filtered_columns, filtered_columns,
new_links,
); );
if let Err(e) = UiService::fetch_and_set_table_count( if let Err(e) = UiService::fetch_and_set_table_count(