Merge pull request #2 from phyroslam/codex/add-dynamic-related-lists-to-detail-views
Add dynamic tenant-level related lists and page layout selection
This commit is contained in:
@@ -178,6 +178,8 @@
|
||||
<PageLayoutEditor
|
||||
:fields="object.fields"
|
||||
:initial-layout="(selectedLayout.layoutConfig || selectedLayout.layout_config)?.fields || []"
|
||||
:related-lists="object.relatedLists || []"
|
||||
:initial-related-lists="(selectedLayout.layoutConfig || selectedLayout.layout_config)?.relatedLists || []"
|
||||
:layout-name="selectedLayout.name"
|
||||
@save="handleSaveLayout"
|
||||
/>
|
||||
@@ -683,7 +685,7 @@ const handleCreateLayout = async () => {
|
||||
name,
|
||||
objectId: object.value.id,
|
||||
isDefault: layouts.value.length === 0,
|
||||
layoutConfig: { fields: [] },
|
||||
layoutConfig: { fields: [], relatedLists: [] },
|
||||
})
|
||||
|
||||
layouts.value.push(newLayout)
|
||||
@@ -699,12 +701,12 @@ const handleSelectLayout = (layout: PageLayout) => {
|
||||
selectedLayout.value = layout
|
||||
}
|
||||
|
||||
const handleSaveLayout = async (fields: FieldLayoutItem[]) => {
|
||||
const handleSaveLayout = async (layoutConfig: { fields: FieldLayoutItem[]; relatedLists: string[] }) => {
|
||||
if (!selectedLayout.value) return
|
||||
|
||||
try {
|
||||
const updated = await updatePageLayout(selectedLayout.value.id, {
|
||||
layoutConfig: { fields },
|
||||
layoutConfig,
|
||||
})
|
||||
|
||||
// Update the layout in the list
|
||||
|
||||
Reference in New Issue
Block a user