Merge pull request #1631 from Budibase/fix/relationship-editting-ui

Some quick fixes for relationship UI
This commit is contained in:
Michael Drury 2021-06-04 21:46:46 +01:00 committed by GitHub
commit 3216948e1e
2 changed files with 16 additions and 4 deletions

View File

@ -43,6 +43,7 @@
}
let originalName = field.name
const linkEditDisabled = originalName != null
let primaryDisplay =
$tables.selected.primaryDisplay == null ||
$tables.selected.primaryDisplay === field.name
@ -197,7 +198,7 @@
<Input
label="Name"
bind:value={field.name}
disabled={uneditable || field.type === LINK_TYPE}
disabled={uneditable || (linkEditDisabled && field.type === LINK_TYPE)}
/>
<Select
@ -284,6 +285,7 @@
{:else if field.type === "link"}
<Select
label="Table"
disabled={linkEditDisabled}
bind:value={field.tableId}
options={tableOptions}
getOptionLabel={table => table.name}
@ -291,7 +293,7 @@
/>
{#if relationshipOptions && relationshipOptions.length > 0}
<RadioGroup
disabled={originalName != null}
disabled={linkEditDisabled}
label="Define the relationship"
bind:value={field.relationshipType}
options={relationshipOptions}
@ -299,7 +301,11 @@
getOptionValue={option => option.value}
/>
{/if}
<Input label={`Column name in other table`} bind:value={field.fieldName} />
<Input
disabled={linkEditDisabled}
label={`Column name in other table`}
bind:value={field.fieldName}
/>
{:else if field.type === FORMULA_TYPE}
<ModalBindableInput
title="Handlebars Formula"

View File

@ -99,12 +99,18 @@ async function createInstance(template) {
// replicate the template data to the instance DB
// this is currently very hard to test, downloading and importing template files
/* istanbul ignore next */
let _rev
if (template && template.useTemplate === "true") {
const { ok } = await db.load(await getTemplateStream(template))
if (!ok) {
throw "Error loading database dump from template."
}
var { _rev } = await db.get(DocumentTypes.APP_METADATA)
try {
const response = await db.get(DocumentTypes.APP_METADATA)
_rev = response._rev
} catch (err) {
_rev = null
}
} else {
// create the users table
await db.put(USERS_TABLE_SCHEMA)