unique index handling in schema editor

This commit is contained in:
Jan Prochazka
2022-01-27 09:44:57 +01:00
parent 162ea56aa9
commit 82266ac0d2
3 changed files with 46 additions and 7 deletions

View File

@@ -1,4 +1,6 @@
<script lang="ts">
import CheckboxField from '../forms/CheckboxField.svelte';
import FormCheckboxField from '../forms/FormCheckboxField.svelte';
import SelectField from '../forms/SelectField.svelte';
import ColumnsConstraintEditorModal from './ColumnsConstraintEditorModal.svelte';
@@ -6,15 +8,25 @@
export let constraintInfo;
export let setTableInfo;
export let tableInfo;
let isUnique = constraintInfo?.isUnique;
function getExtractConstraintProps() {
return {
isUnique,
};
}
</script>
<ColumnsConstraintEditorModal
{...$$restProps}
constraintLabel="index"
constraintType="index"
constraintNameLabel="Index name"
{constraintInfo}
{setTableInfo}
{tableInfo}
{getExtractConstraintProps}
>
<svelte:fragment slot="column" let:column let:setColumns let:index>
<SelectField
@@ -38,4 +50,18 @@
}}
/>
</svelte:fragment>
<svelte:fragment slot="constraintProps">
<div class="largeFormMarker">
<div class="row">
<CheckboxField checked={isUnique} on:change={e => (isUnique = e.target.checked)} /> Is unique index
</div>
</div>
</svelte:fragment>
</ColumnsConstraintEditorModal>
<style>
.row {
margin: var(--dim-large-form-margin);
display: flex;
}
</style>