mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-23 02:40:11 +00:00
fix(structure-editor): hide unsupported column reorder controls
This commit is contained in:
@@ -467,9 +467,11 @@ function canMoveColumn(index: number, direction: -1 | 1): boolean {
|
||||
const targetIndex = index + direction;
|
||||
if (targetIndex < 0 || targetIndex >= columns.value.length) return false;
|
||||
if (columns.value[index]?.markedForDrop || columns.value[targetIndex]?.markedForDrop) return false;
|
||||
return isCreateMode.value || structureCapabilities.value.reorderColumn;
|
||||
return canShowColumnMoveControls.value;
|
||||
}
|
||||
|
||||
const canShowColumnMoveControls = computed(() => isCreateMode.value || structureCapabilities.value.reorderColumn);
|
||||
|
||||
function moveColumn(index: number, direction: -1 | 1) {
|
||||
if (!canMoveColumn(index, direction)) return;
|
||||
const targetIndex = index + direction;
|
||||
@@ -996,28 +998,30 @@ watch(
|
||||
</td>
|
||||
<td :class="structureLastCellClass">
|
||||
<div class="flex items-center gap-1">
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
:class="structureIconButtonClass"
|
||||
:disabled="!canMoveColumn(index, -1)"
|
||||
:title="t('structureEditor.moveColumnUp')"
|
||||
:aria-label="t('structureEditor.moveColumnUp')"
|
||||
@click="moveColumn(index, -1)"
|
||||
>
|
||||
<ChevronUp :class="structureIconClass" />
|
||||
</Button>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
:class="structureIconButtonClass"
|
||||
:disabled="!canMoveColumn(index, 1)"
|
||||
:title="t('structureEditor.moveColumnDown')"
|
||||
:aria-label="t('structureEditor.moveColumnDown')"
|
||||
@click="moveColumn(index, 1)"
|
||||
>
|
||||
<ChevronDown :class="structureIconClass" />
|
||||
</Button>
|
||||
<template v-if="canShowColumnMoveControls">
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
:class="structureIconButtonClass"
|
||||
:disabled="!canMoveColumn(index, -1)"
|
||||
:title="t('structureEditor.moveColumnUp')"
|
||||
:aria-label="t('structureEditor.moveColumnUp')"
|
||||
@click="moveColumn(index, -1)"
|
||||
>
|
||||
<ChevronUp :class="structureIconClass" />
|
||||
</Button>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
:class="structureIconButtonClass"
|
||||
:disabled="!canMoveColumn(index, 1)"
|
||||
:title="t('structureEditor.moveColumnDown')"
|
||||
:aria-label="t('structureEditor.moveColumnDown')"
|
||||
@click="moveColumn(index, 1)"
|
||||
>
|
||||
<ChevronDown :class="structureIconClass" />
|
||||
</Button>
|
||||
</template>
|
||||
<Button
|
||||
v-if="column.original"
|
||||
variant="ghost"
|
||||
|
||||
@@ -73,6 +73,7 @@ test("oracle-like databases expose oracle-compatible structure editing capabilit
|
||||
assert.equal(caps.createIndex, true);
|
||||
assert.equal(caps.dropIndex, true);
|
||||
assert.equal(caps.rebuildIndex, true);
|
||||
assert.equal(caps.reorderColumn, false);
|
||||
assert.equal(canEditTableStructure(dbType), true);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user