diff --git a/packages/web/src/tableeditor/ColumnsConstraintEditorModal.svelte b/packages/web/src/tableeditor/ColumnsConstraintEditorModal.svelte index 171847a49..bd7426434 100644 --- a/packages/web/src/tableeditor/ColumnsConstraintEditorModal.svelte +++ b/packages/web/src/tableeditor/ColumnsConstraintEditorModal.svelte @@ -22,6 +22,8 @@ export let tableInfo; export let constraintLabel; export let constraintType; + export let constraintNameLabel = 'Constraint name'; + export let getExtractConstraintProps; let constraintName = constraintInfo?.constraintName; let columns = constraintInfo?.columns || []; @@ -35,6 +37,7 @@ schemaName: tableInfo.schemaName, constraintName, constraintType, + ...(getExtractConstraintProps ? getExtractConstraintProps() : {}), }; } @@ -47,12 +50,16 @@
-
Constraint name
+
{constraintNameLabel}
(constraintName = e.target['value'])} focused />
+ {#if $$slots.constraintProps} + + {/if} + {#each columns as column, index}
Column {index + 1}
diff --git a/packages/web/src/tableeditor/IndexEditorModal.svelte b/packages/web/src/tableeditor/IndexEditorModal.svelte index b204cb869..8ebb5263c 100644 --- a/packages/web/src/tableeditor/IndexEditorModal.svelte +++ b/packages/web/src/tableeditor/IndexEditorModal.svelte @@ -1,4 +1,6 @@ + +
+
+ (isUnique = e.target.checked)} /> Is unique index +
+
+
+ + diff --git a/packages/web/src/tableeditor/TableEditor.svelte b/packages/web/src/tableeditor/TableEditor.svelte index 052ec4dec..53b3becbb 100644 --- a/packages/web/src/tableeditor/TableEditor.svelte +++ b/packages/web/src/tableeditor/TableEditor.svelte @@ -162,7 +162,7 @@ columns={[ { fieldName: 'notNull', - header: 'Not NULL', + header: 'Nullability', sortable: true, slot: 0, }, @@ -202,7 +202,7 @@ : null, ]} > - {row?.notNull ? 'YES' : 'NO'} + {row?.notNull ? 'NOT NULL' : 'NULL'} {row?.isSparse ? 'YES' : 'NO'} {row?.isPersisted ? 'YES' : 'NO'} showModal(UniqueEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo })} + on:clickrow={e => showModal(IndexEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo })} columns={[ { fieldName: 'columns', header: 'Columns', slot: 0, }, + { + fieldName: 'unique', + header: 'Unique', + slot: 1, + }, writable() ? { fieldName: 'actions', sortable: true, - slot: 1, + slot: 2, } : null, ]} > {row?.columns.map(x => x.columnName).join(', ')} - {row?.isUnique ? 'YES' : 'NO'} + { e.stopPropagation(); @@ -290,7 +296,7 @@ title={`Unique constraints (${uniques?.length || 0})`} emptyMessage={writable() ? 'No unique defined' : null} clickable={writable()} - on:clickrow={e => showModal(IndexEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo })} + on:clickrow={e => showModal(UniqueEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo })} columns={[ { fieldName: 'columns',