diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte index 6802a381a..b4f5b8a2a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/editRelated.svelte @@ -11,8 +11,9 @@ import { type Columns, PROHIBITED_ROW_KEYS } from '../store'; import ColumnItem from './columns/columnItem.svelte'; import { buildWildcardColumnsQuery, isRelationship, isRelationshipToMany } from './store'; - import { Divider, Layout, Skeleton, Typography } from '@appwrite.io/pink-svelte'; + import { Accordion, Divider, Layout, Skeleton } from '@appwrite.io/pink-svelte'; import { deepClone } from '$lib/helpers/object'; + import { preferences } from '$lib/stores/preferences'; const databaseId = page.params.database; @@ -313,6 +314,20 @@ }; } + function getAccordionTitle(row: Models.Row): string { + const names = preferences.getDisplayNames(row.$tableId).filter((name) => name !== '$id'); + + const values = names + .map((name) => row?.[name]) + .filter((value) => value != null && typeof value === 'string' && value !== ''); + + if (!values.length) { + return row.$id; + } + + return `${values.join(' | ')} (...${row.$id.slice(-5)})`; + } + $effect(() => { if (rows && tableId) { loadRelatedRow().then(() => { @@ -323,7 +338,7 @@ {#if loading} -