Update autoscreen link generation to work with new layouts

This commit is contained in:
Andrew Kingston 2021-06-18 12:23:33 +01:00
parent b497000f7b
commit 085cfdccad
1 changed files with 39 additions and 26 deletions

View File

@ -536,7 +536,19 @@ export const getFrontendStore = () => {
return
}
// Find a nav bar in the main layout
// Add link setting to main layout
if (layout.props._component.endsWith("layout")) {
// If using a new SDK, add to the layout component settings
if (!layout.props.links) {
layout.props.links = []
}
layout.props.links.push({
text: title,
url,
})
} else {
// If using an old SDK, add to the navigation component
// TODO: remove this when we can assume everyone has updated
const nav = findComponentType(
layout.props,
"@budibase/standard-components/navigation"
@ -563,10 +575,11 @@ export const getFrontendStore = () => {
text: title,
_instanceName: `${title} Link`,
}
nav._children = [...nav._children, newLink]
}
}
// Save layout
nav._children = [...nav._children, newLink]
await store.actions.layouts.save(layout)
},
},