diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index ba61ede746..7b51e6c839 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -36,7 +36,7 @@ import { FieldType, FieldSubtype, SourceName } from "@budibase/types" import RelationshipSelector from "components/common/RelationshipSelector.svelte" - const AUTO_TYPE = "auto" + const AUTO_TYPE = FIELDS.AUTO.type const FORMULA_TYPE = FIELDS.FORMULA.type const LINK_TYPE = FIELDS.LINK.type const STRING_TYPE = FIELDS.STRING.type @@ -60,8 +60,13 @@ {} ) - function makeFieldId(type, subtype) { - return `${type}${subtype || ""}`.toUpperCase() + function makeFieldId(type, subtype, autocolumn) { + // don't make field IDs for auto types + if (type === AUTO_TYPE || autocolumn) { + return type.toUpperCase() + } else { + return `${type}${subtype || ""}`.toUpperCase() + } } let originalName @@ -183,7 +188,8 @@ if (!savingColumn) { editableColumn.fieldId = makeFieldId( editableColumn.type, - editableColumn.subtype + editableColumn.subtype, + editableColumn.autocolumn ) allowedTypes = getAllowedTypes().map(t => ({ @@ -419,7 +425,7 @@ FIELDS.FORMULA, FIELDS.JSON, isUsers ? FIELDS.USERS : FIELDS.USER, - { name: "Auto Column", type: AUTO_TYPE }, + FIELDS.AUTO, ] } else { let fields = [ @@ -538,7 +544,7 @@ getOptionValue={field => field.fieldId} getOptionIcon={field => field.icon} isOptionEnabled={option => { - if (option.type == AUTO_TYPE) { + if (option.type === AUTO_TYPE) { return availableAutoColumnKeys?.length > 0 } return true diff --git a/packages/builder/src/constants/backend/index.js b/packages/builder/src/constants/backend/index.js index a81b33c2d3..ac4079b69e 100644 --- a/packages/builder/src/constants/backend/index.js +++ b/packages/builder/src/constants/backend/index.js @@ -1,5 +1,21 @@ import { FieldType, FieldSubtype } from "@budibase/types" +export const AUTO_COLUMN_SUB_TYPES = { + AUTO_ID: "autoID", + CREATED_BY: "createdBy", + CREATED_AT: "createdAt", + UPDATED_BY: "updatedBy", + UPDATED_AT: "updatedAt", +} + +export const AUTO_COLUMN_DISPLAY_NAMES = { + AUTO_ID: "Auto ID", + CREATED_BY: "Created By", + CREATED_AT: "Created At", + UPDATED_BY: "Updated By", + UPDATED_AT: "Updated At", +} + export const FIELDS = { STRING: { name: "Text", @@ -107,6 +123,12 @@ export const FIELDS = { presence: false, }, }, + AUTO: { + name: "Auto Column", + type: FieldType.AUTO, + icon: "MagicWand", + constraints: {}, + }, FORMULA: { name: "Formula", type: FieldType.FORMULA, @@ -139,22 +161,6 @@ export const FIELDS = { }, } -export const AUTO_COLUMN_SUB_TYPES = { - AUTO_ID: "autoID", - CREATED_BY: "createdBy", - CREATED_AT: "createdAt", - UPDATED_BY: "updatedBy", - UPDATED_AT: "updatedAt", -} - -export const AUTO_COLUMN_DISPLAY_NAMES = { - AUTO_ID: "Auto ID", - CREATED_BY: "Created By", - CREATED_AT: "Created At", - UPDATED_BY: "Updated By", - UPDATED_AT: "Updated At", -} - export const FILE_TYPES = { IMAGE: ["png", "tiff", "gif", "raw", "jpg", "jpeg"], CODE: ["js", "rs", "py", "java", "rb", "hs", "yml"],