Merge pull request #1173 from Budibase/martin-bugfixes

Martin bugfixes
This commit is contained in:
Martin McKeaveney 2021-02-24 13:14:55 +00:00 committed by GitHub
commit 8ec09262a5
3 changed files with 21 additions and 4 deletions

View File

@ -20,6 +20,7 @@
export let value = {} export let value = {}
export let otherSources export let otherSources
export let showAllQueries
$: tables = $backendUiStore.tables.map(m => ({ $: tables = $backendUiStore.tables.map(m => ({
label: m.name, label: m.name,
@ -36,8 +37,8 @@
return [...acc, ...viewsArr] return [...acc, ...viewsArr]
}, []) }, [])
$: queries = $backendUiStore.queries $: queries = $backendUiStore.queries
.filter(query => query.queryVerb === "read" || query.readable) .filter(query => showAllQueries || (query.queryVerb === "read" || query.readable))
.map(query => ({ .map(query => ({
label: query.name, label: query.name,
name: query.name, name: query.name,
tableId: query._id, tableId: query._id,

View File

@ -4,4 +4,4 @@
const otherSources = [{ name: "Custom", label: "Custom" }] const otherSources = [{ name: "Custom", label: "Custom" }]
</script> </script>
<DatasourceSelect on:change {...$$props} {otherSources} /> <DatasourceSelect on:change {...$$props} showAllQueries={true} {otherSources} />

View File

@ -1,5 +1,6 @@
<script> <script>
import { writable, get as svelteGet } from "svelte/store" import { writable, get as svelteGet } from "svelte/store"
import { notifier } from "builderStore/store/notifications"
import { import {
store, store,
automationStore, automationStore,
@ -61,7 +62,15 @@
const existingAppNames = svelteGet(hostingStore).deployedAppNames const existingAppNames = svelteGet(hostingStore).deployedAppNames
infoValidation.applicationName = string() infoValidation.applicationName = string()
.required("Your application must have a name.") .required("Your application must have a name.")
.notOneOf(existingAppNames) .test(
"non-existing-app-name",
"App with same name already exists. Please try another app name.",
value =>
!existingAppNames.some(
appName => appName.toLowerCase() === value.toLowerCase()
)
)
steps = [buildStep(Info), buildStep(User)] steps = [buildStep(Info), buildStep(User)]
validationSchemas = [infoValidation, userValidation] validationSchemas = [infoValidation, userValidation]
} }
@ -120,6 +129,11 @@
template, template,
}) })
const appJson = await appResp.json() const appJson = await appResp.json()
if (!appResp.ok) {
throw new Error(appJson.message)
}
analytics.captureEvent("App Created", { analytics.captureEvent("App Created", {
name: $createAppStore.values.applicationName, name: $createAppStore.values.applicationName,
appId: appJson._id, appId: appJson._id,
@ -150,6 +164,8 @@
$goto(`/${appJson._id}`) $goto(`/${appJson._id}`)
} catch (error) { } catch (error) {
console.error(error) console.error(error)
notifier.danger(error)
submitting = false
} }
} }