diff --git a/packages/tools/src/schemaEditorTools.ts b/packages/tools/src/schemaEditorTools.ts index 3e707a138..0fb9d83ee 100644 --- a/packages/tools/src/schemaEditorTools.ts +++ b/packages/tools/src/schemaEditorTools.ts @@ -8,14 +8,15 @@ export interface EditorColumnInfo extends ColumnInfo { export function fillEditorColumnInfo(column: ColumnInfo, table: TableInfo): EditorColumnInfo { return { - isPrimaryKey: !!(table.primaryKey && table.primaryKey.columns.find(x => x.columnName == column.columnName)), + isPrimaryKey: !!(table?.primaryKey && table.primaryKey.columns.find(x => x.columnName == column.columnName)), + dataType: column ? undefined : 'int', ...column, }; } function processPrimaryKey(table: TableInfo, oldColumn: EditorColumnInfo, newColumn: EditorColumnInfo): TableInfo { if (!oldColumn?.isPrimaryKey && newColumn?.isPrimaryKey) { - let primaryKey = table.primaryKey; + let primaryKey = table?.primaryKey; if (!primaryKey) { primaryKey = { constraintType: 'primaryKey', @@ -39,7 +40,7 @@ function processPrimaryKey(table: TableInfo, oldColumn: EditorColumnInfo, newCol } if (oldColumn?.isPrimaryKey && !newColumn?.isPrimaryKey) { - let primaryKey = table.primaryKey; + let primaryKey = table?.primaryKey; if (primaryKey) { primaryKey = { ...primaryKey, @@ -64,7 +65,7 @@ function processPrimaryKey(table: TableInfo, oldColumn: EditorColumnInfo, newCol export function editorAddColumn(table: TableInfo, column: EditorColumnInfo): TableInfo { let res = { ...table, - columns: [...table.columns, { ...column, pairingId: uuidv1() }], + columns: [...(table?.columns || []), { ...column, pairingId: uuidv1() }], }; res = processPrimaryKey(res, null, column); diff --git a/packages/web/src/tableeditor/ColumnEditorModal.svelte b/packages/web/src/tableeditor/ColumnEditorModal.svelte index c58c37afe..7464ee1b4 100644 --- a/packages/web/src/tableeditor/ColumnEditorModal.svelte +++ b/packages/web/src/tableeditor/ColumnEditorModal.svelte @@ -8,6 +8,7 @@ import FormProvider from '../forms/FormProvider.svelte'; import FormSubmit from '../forms/FormSubmit.svelte'; + import FormButton from '../forms/FormButton.svelte'; import ModalBase from '../modals/ModalBase.svelte'; import { closeCurrentModal } from '../modals/modalTools'; import ElectronFilesInput from '../impexp/ElectronFilesInput.svelte'; @@ -19,7 +20,6 @@ export let setTableInfo; export let tableInfo; export let onAddNext; - @@ -51,7 +51,7 @@ }} /> {#if !columnInfo} - { diff --git a/packages/web/src/tableeditor/TableEditor.svelte b/packages/web/src/tableeditor/TableEditor.svelte index ac718f6d1..64371d699 100644 --- a/packages/web/src/tableeditor/TableEditor.svelte +++ b/packages/web/src/tableeditor/TableEditor.svelte @@ -37,7 +37,7 @@