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 feef8dd30f
commit cf936130d2
1 changed files with 39 additions and 26 deletions

View File

@ -536,7 +536,19 @@ export const getFrontendStore = () => {
return 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( const nav = findComponentType(
layout.props, layout.props,
"@budibase/standard-components/navigation" "@budibase/standard-components/navigation"
@ -563,10 +575,11 @@ export const getFrontendStore = () => {
text: title, text: title,
_instanceName: `${title} Link`, _instanceName: `${title} Link`,
} }
nav._children = [...nav._children, newLink]
}
} }
// Save layout // Save layout
nav._children = [...nav._children, newLink]
await store.actions.layouts.save(layout) await store.actions.layouts.save(layout)
}, },
}, },