From 847e17e04a5219f90669dae23272e71ac405eb13 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Tue, 19 Sep 2023 09:50:29 +0200 Subject: [PATCH] Change column config layout --- .../DataTable/modals/CreateEditColumn.svelte | 82 +++++++------------ 1 file changed, 31 insertions(+), 51 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index b5d1951ba7..a2d7825fb5 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -346,53 +346,32 @@ } function getRelationshipOptions(field) { - if (!field) { + if (!field || !field.tableId) { return null } - - if (field.type === FieldType.LINK) { - if (!field.tableId) { - return null - } - const linkTable = tableOptions?.find(table => table._id === field.tableId) - if (!linkTable) { - return null - } - const thisName = truncate(table.name, { length: 14 }), - linkName = truncate(linkTable.name, { length: 14 }) - return [ - { - name: `Many ${thisName} rows → many ${linkName} rows`, - alt: `Many ${table.name} rows → many ${linkTable.name} rows`, - value: RelationshipType.MANY_TO_MANY, - }, - { - name: `One ${linkName} row → many ${thisName} rows`, - alt: `One ${linkTable.name} rows → many ${table.name} rows`, - value: RelationshipType.ONE_TO_MANY, - }, - { - name: `One ${thisName} row → many ${linkName} rows`, - alt: `One ${table.name} rows → many ${linkTable.name} rows`, - value: RelationshipType.MANY_TO_ONE, - }, - ] - } else if (field.type === BB_USER_REFERENCE_TYPE) { - return [ - { - name: `Single user`, - alt: `Single user`, - value: RelationshipType.ONE_TO_MANY, - }, - { - name: `Multiple users`, - alt: `Multiple users`, - value: RelationshipType.MANY_TO_ONE, - }, - ] - } else { + const linkTable = tableOptions?.find(table => table._id === field.tableId) + if (!linkTable) { return null } + const thisName = truncate(table.name, { length: 14 }), + linkName = truncate(linkTable.name, { length: 14 }) + return [ + { + name: `Many ${thisName} rows → many ${linkName} rows`, + alt: `Many ${table.name} rows → many ${linkTable.name} rows`, + value: RelationshipType.MANY_TO_MANY, + }, + { + name: `One ${linkName} row → many ${thisName} rows`, + alt: `One ${linkTable.name} rows → many ${table.name} rows`, + value: RelationshipType.ONE_TO_MANY, + }, + { + name: `One ${thisName} row → many ${linkName} rows`, + alt: `One ${table.name} rows → many ${linkTable.name} rows`, + value: RelationshipType.MANY_TO_ONE, + }, + ] } function getAllowedTypes() { @@ -700,14 +679,15 @@ >Open schema editor {:else if isBBReference} - option.name} - getOptionValue={option => option.value} - getOptionTitle={option => option.alt} + + (editableColumn.relationshipType = e.detail + ? RelationshipType.MANY_TO_MANY + : RelationshipType.ONE_TO_MANY)} + disabled={!isCreating} + thin + text="Allow multiple users" /> {/if} {#if editableColumn.type === AUTO_TYPE || editableColumn.autocolumn}