Show but disable default values when they are enabled but cannot be used

This commit is contained in:
Andrew Kingston 2024-09-24 15:04:08 +01:00
parent f493025d94
commit 40372841d8
No known key found for this signature in database
1 changed files with 13 additions and 8 deletions

View File

@ -166,10 +166,8 @@
// used to select what different options can be displayed for column type
$: canBeDisplay =
canBeDisplayColumn(editableColumn.type) && !editableColumn.autocolumn
$: canHaveDefault =
!required &&
isEnabled("DEFAULT_VALUES") &&
canHaveDefaultColumn(editableColumn.type)
$: defaultValuesEnabled = isEnabled("DEFAULT_VALUES")
$: canHaveDefault = !required && canHaveDefaultColumn(editableColumn.type)
$: canBeRequired =
editableColumn?.type !== LINK_TYPE &&
!uneditable &&
@ -282,9 +280,9 @@
delete saveColumn.fieldName
}
// Ensure the field is not required if we have a default value
if (saveColumn.default) {
saveColumn.constraints.presence = { allowEmpty: true }
// Ensure we don't have a default value if we can't have one
if (!canHaveDefault || !defaultValuesEnabled) {
delete saveColumn.default
}
// Delete default value for options fields if the option is no longer available
@ -302,6 +300,11 @@
delete saveColumn.default
}
// Ensure the field is not required if we have a default value
if (saveColumn.default) {
saveColumn.constraints.presence = { allowEmpty: true }
}
try {
await tables.saveField({
originalName,
@ -786,9 +789,10 @@
</div>
{/if}
{#if canHaveDefault}
{#if defaultValuesEnabled}
{#if editableColumn.type === FieldType.OPTIONS}
<Select
disabled={!canHaveDefault}
options={editableColumn.constraints?.inclusion || []}
label="Default value"
value={editableColumn.default}
@ -797,6 +801,7 @@
/>
{:else}
<ModalBindableInput
disabled={!canHaveDefault}
panel={ServerBindingPanel}
title="Default value"
label="Default value"