diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index db5b8a7d49..55ac8474a6 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -49,7 +49,6 @@ import { RowUtils, canBeDisplayColumn } from "@budibase/frontend-core" import ServerBindingPanel from "@/components/common/bindings/ServerBindingPanel.svelte" import OptionsEditor from "./OptionsEditor.svelte" - import { isEnabled } from "@/helpers/featureFlags" import { getUserBindings } from "@/dataBinding" export let field @@ -168,7 +167,6 @@ // used to select what different options can be displayed for column type $: canBeDisplay = canBeDisplayColumn(editableColumn) && !editableColumn.autocolumn - $: defaultValuesEnabled = isEnabled("DEFAULT_VALUES") $: canHaveDefault = !required && canHaveDefaultColumn(editableColumn.type) $: canBeRequired = editableColumn?.type !== FieldType.LINK && @@ -300,7 +298,7 @@ } // Ensure we don't have a default value if we can't have one - if (!canHaveDefault || !defaultValuesEnabled) { + if (!canHaveDefault) { delete saveColumn.default } @@ -848,51 +846,49 @@ {/if} - {#if defaultValuesEnabled} - {#if editableColumn.type === FieldType.OPTIONS} - (editableColumn.default = e.detail)} + placeholder="None" + /> + {:else if editableColumn.type === FieldType.ARRAY} + + (editableColumn.default = e.detail?.length ? e.detail : undefined)} + placeholder="None" + /> + {:else if editableColumn.subtype === BBReferenceFieldSubType.USER} + {@const defaultValue = + editableColumn.type === FieldType.BB_REFERENCE_SINGLE + ? SingleUserDefault + : MultiUserDefault} + + (editableColumn.default = e.detail ? defaultValue : undefined)} + /> + {:else} + (editableColumn.default = e.detail)} + bindings={defaultValueBindings} + allowJS + /> {/if} diff --git a/packages/builder/src/helpers/utils.js b/packages/builder/src/helpers/utils.js index 27f459d6f2..7af7d4ad22 100644 --- a/packages/builder/src/helpers/utils.js +++ b/packages/builder/src/helpers/utils.js @@ -7,22 +7,19 @@ import { FIELDS, isAutoColumnUserRelationship, } from "@/constants/backend" -import { isEnabled } from "@/helpers/featureFlags" export function getAutoColumnInformation(enabled = true) { let info = {} for (const [key, subtype] of Object.entries(AUTO_COLUMN_SUB_TYPES)) { // Because it's possible to replicate the functionality of CREATED_AT and - // CREATED_BY columns, we disable their creation when the DEFAULT_VALUES - // feature flag is enabled. - if (isEnabled("DEFAULT_VALUES")) { - if ( - subtype === AUTO_COLUMN_SUB_TYPES.CREATED_AT || - subtype === AUTO_COLUMN_SUB_TYPES.CREATED_BY - ) { - continue - } + // CREATED_BY columns with user column default values, we disable their creation + if ( + subtype === AUTO_COLUMN_SUB_TYPES.CREATED_AT || + subtype === AUTO_COLUMN_SUB_TYPES.CREATED_BY + ) { + continue } + info[subtype] = { enabled, name: AUTO_COLUMN_DISPLAY_NAMES[key] } } return info