diff --git a/packages/bbui/src/Modal/ModalContent.svelte b/packages/bbui/src/Modal/ModalContent.svelte
index 678a813a61..09cc4f6c52 100644
--- a/packages/bbui/src/Modal/ModalContent.svelte
+++ b/packages/bbui/src/Modal/ModalContent.svelte
@@ -14,6 +14,7 @@
export let showConfirmButton = true
export let showCloseIcon = true
export let onConfirm = undefined
+ export let onCancel = undefined
export let disabled = false
export let showDivider = true
@@ -28,6 +29,14 @@
}
loading = false
}
+
+ async function close() {
+ loading = true
+ if (!onCancel || (await onCancel()) !== false) {
+ cancel()
+ }
+ loading = false
+ }
{#if showCancelButton}
-
+
{/if}
{#if showConfirmButton}
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte
index 9221cbf083..e29d7d5232 100644
--- a/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte
+++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte
@@ -27,15 +27,20 @@
return datasource
}
async function saveDatasource() {
+ let success = true
try {
// Create datasource
const resp = await datasources.save(prepareData())
if (integration.plus) {
- updateDatasourceSchema(resp)
+ fetchedSchema = updateDatasourceSchema(resp)
}
+
+ if (!fetchedSchema) {
+ return false
+ }
+
await datasources.select(resp._id)
- $goto(`./datasource/${resp._id}`)
notifications.success(`Datasource updated successfully.`)
analytics.captureEvent(Events.DATASOURCE.CREATED, {
name: resp.name,
@@ -43,6 +48,7 @@
})
} catch (err) {
notifications.error(`Error saving datasource: ${err}`)
+ return false
}
}
@@ -50,8 +56,10 @@
try {
await datasources.updateSchema(datasourceJson)
await tables.fetch()
+ return true
} catch (err) {
notifications.error(`Error updating datasource schema: ${err}`)
+ return false
}
}
diff --git a/packages/builder/src/pages/builder/app/[application]/data/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/index.svelte
index ca457cd1aa..873f721a59 100644
--- a/packages/builder/src/pages/builder/app/[application]/data/index.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/data/index.svelte
@@ -7,7 +7,13 @@
let modal
$: setupComplete =
$datasources.list.find(x => (x._id = "bb_internal")).entities.length > 1 ||
- $datasources.list.length >= 1
+ $datasources.list.length > 1
+
+ $: console.log(
+ $datasources.list.find(x => (x._id = "bb_internal")).entities.length > 1
+ )
+ $: console.log($datasources.list.length >= 1)
+ $: console.log($datasources.list)
onMount(() => {
if (!setupComplete) {