mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 22:43:58 +00:00
column ctx menu
This commit is contained in:
@@ -4,11 +4,43 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { getColumnIcon } from '../elements/ColumnLabel.svelte';
|
import { getColumnIcon } from '../elements/ColumnLabel.svelte';
|
||||||
|
import { renameDatabaseObjectDialog } from '../utility/alterDatabaseTools';
|
||||||
|
|
||||||
import AppObjectCore from './AppObjectCore.svelte';
|
import AppObjectCore from './AppObjectCore.svelte';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
|
|
||||||
|
function handleRenameColumn() {
|
||||||
|
renameDatabaseObjectDialog(data.conid, data.database, data.columnName, (db, newName) => ({
|
||||||
|
...db,
|
||||||
|
tables: db.tables.map(tbl =>
|
||||||
|
tbl.schemaName == data.schemaName && tbl.pureName == data.pureName
|
||||||
|
? {
|
||||||
|
...tbl,
|
||||||
|
columns: tbl.columns.map(
|
||||||
|
col =>
|
||||||
|
(col.columnName = data.columnName
|
||||||
|
? {
|
||||||
|
...col,
|
||||||
|
columnName: newName,
|
||||||
|
}
|
||||||
|
: col)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
: tbl
|
||||||
|
),
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDropColumn() {}
|
||||||
|
|
||||||
|
function createMenu() {
|
||||||
|
return [
|
||||||
|
{ text: 'Rename column', onClick: handleRenameColumn },
|
||||||
|
{ text: 'Drop column', onClick: handleDropColumn },
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
$: extInfo = data.foreignKey ? `${data.dataType} -> ${data.foreignKey.refTableName}` : data.dataType;
|
$: extInfo = data.foreignKey ? `${data.dataType} -> ${data.foreignKey.refTableName}` : data.dataType;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -18,5 +50,6 @@
|
|||||||
title={data.columnName}
|
title={data.columnName}
|
||||||
{extInfo}
|
{extInfo}
|
||||||
icon={getColumnIcon(data, true)}
|
icon={getColumnIcon(data, true)}
|
||||||
|
menu={createMenu}
|
||||||
disableHover
|
disableHover
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
<AppObjectList
|
<AppObjectList
|
||||||
list={(data.columns || []).map(col => ({
|
list={(data.columns || []).map(col => ({
|
||||||
|
...data,
|
||||||
...col,
|
...col,
|
||||||
foreignKey: findForeignKeyForColumn(data, col),
|
foreignKey: findForeignKeyForColumn(data, col),
|
||||||
}))}
|
}))}
|
||||||
|
|||||||
Reference in New Issue
Block a user