diff --git a/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte b/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte
index 4c67aef8fb..bed7028f6f 100644
--- a/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte
+++ b/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte
@@ -2,11 +2,12 @@
import { ModalContent, Body, Detail } from "@budibase/bbui"
import { store, selectedAccessRole, allScreens } from "builderStore"
import { cloneDeep } from "lodash/fp"
+ import sanitizeUrl from "builderStore/store/screenTemplates/utils/sanitizeUrl"
export let screenNameModal
export let selectedScreens
export let modal
-
+ export let screenName
let roleId = $selectedAccessRole || "BASIC"
let routeError
@@ -35,18 +36,24 @@
}
const saveScreens = async draftScreen => {
+ let route = screenName
+ ? sanitizeUrl(`/${screenName}`)
+ : draftScreen.routing.route
+ console.log(sanitizeUrl(`/${screenName}`))
if (draftScreen) {
- if (!draftScreen.routing.route) {
+ if (!route) {
routeError = "URL is required"
} else {
- if (routeExists(draftScreen.routing.route, roleId)) {
+ if (routeExists(route, roleId)) {
routeError = "This URL is already taken for this access role"
} else {
routeError = ""
}
}
+ console.log(routeError)
if (routeError) return false
+ draftScreen.routing.route = route
await store.actions.screens.create(draftScreen)
if (createLink) {
await store.actions.components.links.save(
diff --git a/packages/builder/src/components/design/NavigationPanel/ScreenNameModal.svelte b/packages/builder/src/components/design/NavigationPanel/ScreenNameModal.svelte
index e10ca7a4a1..a5fe61dbc4 100644
--- a/packages/builder/src/components/design/NavigationPanel/ScreenNameModal.svelte
+++ b/packages/builder/src/components/design/NavigationPanel/ScreenNameModal.svelte
@@ -3,7 +3,8 @@
export let modal
export let navigationSelectionModal
- export let name
+ export let screenName
+ $: console.log(name)
modal.show()}
onConfirm={() => navigationSelectionModal.show()}
cancelText={"Back"}
- disabled={!name.length}
+ disabled={!screenName}
>
-
+
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte
index b787d9adec..dbed0e4cfb 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[assetType]/_layout.svelte
@@ -32,9 +32,9 @@
let modal
let navigationSelectionModal
let screenNameModal
- let screenName
+ let screenName = ""
let selectedScreens = []
-
+ $: console.log(screenName)
// Hydrate state from URL params
$: hydrateStateFromURL($params, $leftover)
@@ -220,7 +220,12 @@
-
+