Merge pull request #15360 from Budibase/fix-default-values-setup

Remove DEFAULT_VALUES flag check
This commit is contained in:
Adria Navarro 2025-01-13 17:33:37 +01:00 committed by GitHub
commit 28db09207b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 51 additions and 58 deletions

View File

@ -49,7 +49,6 @@
import { RowUtils, canBeDisplayColumn } from "@budibase/frontend-core" import { RowUtils, canBeDisplayColumn } from "@budibase/frontend-core"
import ServerBindingPanel from "@/components/common/bindings/ServerBindingPanel.svelte" import ServerBindingPanel from "@/components/common/bindings/ServerBindingPanel.svelte"
import OptionsEditor from "./OptionsEditor.svelte" import OptionsEditor from "./OptionsEditor.svelte"
import { isEnabled } from "@/helpers/featureFlags"
import { getUserBindings } from "@/dataBinding" import { getUserBindings } from "@/dataBinding"
export let field export let field
@ -168,7 +167,6 @@
// used to select what different options can be displayed for column type // used to select what different options can be displayed for column type
$: canBeDisplay = $: canBeDisplay =
canBeDisplayColumn(editableColumn) && !editableColumn.autocolumn canBeDisplayColumn(editableColumn) && !editableColumn.autocolumn
$: defaultValuesEnabled = isEnabled("DEFAULT_VALUES")
$: canHaveDefault = !required && canHaveDefaultColumn(editableColumn.type) $: canHaveDefault = !required && canHaveDefaultColumn(editableColumn.type)
$: canBeRequired = $: canBeRequired =
editableColumn?.type !== FieldType.LINK && editableColumn?.type !== FieldType.LINK &&
@ -300,7 +298,7 @@
} }
// Ensure we don't have a default value if we can't have one // Ensure we don't have a default value if we can't have one
if (!canHaveDefault || !defaultValuesEnabled) { if (!canHaveDefault) {
delete saveColumn.default delete saveColumn.default
} }
@ -848,51 +846,49 @@
</div> </div>
{/if} {/if}
{#if defaultValuesEnabled} {#if editableColumn.type === FieldType.OPTIONS}
{#if editableColumn.type === FieldType.OPTIONS} <Select
<Select disabled={!canHaveDefault}
disabled={!canHaveDefault} options={editableColumn.constraints?.inclusion || []}
options={editableColumn.constraints?.inclusion || []} label="Default value"
label="Default value" value={editableColumn.default}
value={editableColumn.default} on:change={e => (editableColumn.default = e.detail)}
on:change={e => (editableColumn.default = e.detail)} placeholder="None"
placeholder="None" />
/> {:else if editableColumn.type === FieldType.ARRAY}
{:else if editableColumn.type === FieldType.ARRAY} <Multiselect
<Multiselect disabled={!canHaveDefault}
disabled={!canHaveDefault} options={editableColumn.constraints?.inclusion || []}
options={editableColumn.constraints?.inclusion || []} label="Default value"
label="Default value" value={editableColumn.default}
value={editableColumn.default} on:change={e =>
on:change={e => (editableColumn.default = e.detail?.length ? e.detail : undefined)}
(editableColumn.default = e.detail?.length ? e.detail : undefined)} placeholder="None"
placeholder="None" />
/> {:else if editableColumn.subtype === BBReferenceFieldSubType.USER}
{:else if editableColumn.subtype === BBReferenceFieldSubType.USER} {@const defaultValue =
{@const defaultValue = editableColumn.type === FieldType.BB_REFERENCE_SINGLE
editableColumn.type === FieldType.BB_REFERENCE_SINGLE ? SingleUserDefault
? SingleUserDefault : MultiUserDefault}
: MultiUserDefault} <Toggle
<Toggle disabled={!canHaveDefault}
disabled={!canHaveDefault} text="Default to current user"
text="Default to current user" value={editableColumn.default === defaultValue}
value={editableColumn.default === defaultValue} on:change={e =>
on:change={e => (editableColumn.default = e.detail ? defaultValue : undefined)}
(editableColumn.default = e.detail ? defaultValue : undefined)} />
/> {:else}
{:else} <ModalBindableInput
<ModalBindableInput disabled={!canHaveDefault}
disabled={!canHaveDefault} panel={ServerBindingPanel}
panel={ServerBindingPanel} title="Default value"
title="Default value" label="Default value"
label="Default value" placeholder="None"
placeholder="None" value={editableColumn.default}
value={editableColumn.default} on:change={e => (editableColumn.default = e.detail)}
on:change={e => (editableColumn.default = e.detail)} bindings={defaultValueBindings}
bindings={defaultValueBindings} allowJS
allowJS />
/>
{/if}
{/if} {/if}
</Layout> </Layout>

View File

@ -7,22 +7,19 @@ import {
FIELDS, FIELDS,
isAutoColumnUserRelationship, isAutoColumnUserRelationship,
} from "@/constants/backend" } from "@/constants/backend"
import { isEnabled } from "@/helpers/featureFlags"
export function getAutoColumnInformation(enabled = true) { export function getAutoColumnInformation(enabled = true) {
let info = {} let info = {}
for (const [key, subtype] of Object.entries(AUTO_COLUMN_SUB_TYPES)) { for (const [key, subtype] of Object.entries(AUTO_COLUMN_SUB_TYPES)) {
// Because it's possible to replicate the functionality of CREATED_AT and // Because it's possible to replicate the functionality of CREATED_AT and
// CREATED_BY columns, we disable their creation when the DEFAULT_VALUES // CREATED_BY columns with user column default values, we disable their creation
// feature flag is enabled. if (
if (isEnabled("DEFAULT_VALUES")) { subtype === AUTO_COLUMN_SUB_TYPES.CREATED_AT ||
if ( subtype === AUTO_COLUMN_SUB_TYPES.CREATED_BY
subtype === AUTO_COLUMN_SUB_TYPES.CREATED_AT || ) {
subtype === AUTO_COLUMN_SUB_TYPES.CREATED_BY continue
) {
continue
}
} }
info[subtype] = { enabled, name: AUTO_COLUMN_DISPLAY_NAMES[key] } info[subtype] = { enabled, name: AUTO_COLUMN_DISPLAY_NAMES[key] }
} }
return info return info