fix: 右键删除国际化 + 移除连接卡片左键事件
- 修复删除确认弹窗使用正确的 i18n key (connection.deleteConfirm) - 删除按钮使用 common.delete 而非不存在的 connection.delete - 新增 switchTo i18n key (5 种语言) - ConnectionCard 移除 @click 左键事件 - 右键菜单新增「切换到」选项 (已连接但非活跃时显示)
This commit is contained in:
@@ -15,18 +15,6 @@ const statusColor = computed(() => {
|
|||||||
|
|
||||||
const assignedColor = computed(() => props.connection.color || '')
|
const assignedColor = computed(() => props.connection.color || '')
|
||||||
|
|
||||||
function handleClick() {
|
|
||||||
if (isConn.value) {
|
|
||||||
if (isActive.value) {
|
|
||||||
connStore.disconnect()
|
|
||||||
} else {
|
|
||||||
connStore.switchTo(props.connection.id)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
connStore.connect(props.connection)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onDragStart(e: DragEvent) {
|
function onDragStart(e: DragEvent) {
|
||||||
if (e.dataTransfer) {
|
if (e.dataTransfer) {
|
||||||
e.dataTransfer.setData('text/plain', props.connection.id)
|
e.dataTransfer.setData('text/plain', props.connection.id)
|
||||||
@@ -45,7 +33,6 @@ function onDragStart(e: DragEvent) {
|
|||||||
'border-left': assignedColor ? `3px solid ${assignedColor}` : undefined,
|
'border-left': assignedColor ? `3px solid ${assignedColor}` : undefined,
|
||||||
}"
|
}"
|
||||||
draggable="true"
|
draggable="true"
|
||||||
@click="handleClick"
|
|
||||||
@dragstart="onDragStart"
|
@dragstart="onDragStart"
|
||||||
>
|
>
|
||||||
<div class="card-status" />
|
<div class="card-status" />
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ const ctxMenu = ref<{ visible: boolean; x: number; y: number; conn: ConnectionCo
|
|||||||
const ctxIsConnected = computed(() =>
|
const ctxIsConnected = computed(() =>
|
||||||
ctxMenu.value.conn ? connStore.isConnectedById(ctxMenu.value.conn.id) : false,
|
ctxMenu.value.conn ? connStore.isConnectedById(ctxMenu.value.conn.id) : false,
|
||||||
)
|
)
|
||||||
|
const ctxIsActive = computed(() =>
|
||||||
|
ctxMenu.value.conn ? connStore.activeId === ctxMenu.value.conn.id : false,
|
||||||
|
)
|
||||||
|
|
||||||
function onContextMenu(e: MouseEvent, conn: ConnectionConfig) {
|
function onContextMenu(e: MouseEvent, conn: ConnectionConfig) {
|
||||||
ctxMenu.value = { visible: true, x: e.clientX, y: e.clientY, conn }
|
ctxMenu.value = { visible: true, x: e.clientX, y: e.clientY, conn }
|
||||||
@@ -38,6 +41,11 @@ function ctxDisconnect() {
|
|||||||
closeCtxMenu()
|
closeCtxMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ctxSwitch() {
|
||||||
|
if (ctxMenu.value.conn) connStore.switchTo(ctxMenu.value.conn.id)
|
||||||
|
closeCtxMenu()
|
||||||
|
}
|
||||||
|
|
||||||
function ctxEdit() {
|
function ctxEdit() {
|
||||||
if (ctxMenu.value.conn) emit('edit', ctxMenu.value.conn)
|
if (ctxMenu.value.conn) emit('edit', ctxMenu.value.conn)
|
||||||
closeCtxMenu()
|
closeCtxMenu()
|
||||||
@@ -65,11 +73,11 @@ async function ctxDelete() {
|
|||||||
if (!conn) return
|
if (!conn) return
|
||||||
try {
|
try {
|
||||||
await ElMessageBox.confirm(
|
await ElMessageBox.confirm(
|
||||||
`${t('connection.delete')}: ${conn.name}?`,
|
t('connection.deleteConfirm'),
|
||||||
t('common.confirm'),
|
t('common.confirm'),
|
||||||
{
|
{
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
confirmButtonText: t('connection.delete'),
|
confirmButtonText: t('common.delete'),
|
||||||
cancelButtonText: t('common.cancel'),
|
cancelButtonText: t('common.cancel'),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
@@ -210,9 +218,14 @@ async function handleImport() {
|
|||||||
<button class="ctx-item" @click="ctxConnect" v-if="!ctxIsConnected">
|
<button class="ctx-item" @click="ctxConnect" v-if="!ctxIsConnected">
|
||||||
{{ t('connection.connect') }}
|
{{ t('connection.connect') }}
|
||||||
</button>
|
</button>
|
||||||
<button class="ctx-item" @click="ctxDisconnect" v-else>
|
<template v-else>
|
||||||
{{ t('connection.disconnect') }}
|
<button class="ctx-item" @click="ctxSwitch" v-if="!ctxIsActive">
|
||||||
</button>
|
{{ t('connection.switchTo') }}
|
||||||
|
</button>
|
||||||
|
<button class="ctx-item" @click="ctxDisconnect">
|
||||||
|
{{ t('connection.disconnect') }}
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
<div class="ctx-divider" />
|
<div class="ctx-divider" />
|
||||||
<button class="ctx-item" @click="ctxEdit">{{ t('connection.edit') }}</button>
|
<button class="ctx-item" @click="ctxEdit">{{ t('connection.edit') }}</button>
|
||||||
<button class="ctx-item" @click="ctxDuplicate">{{ t('connection.duplicate') }}</button>
|
<button class="ctx-item" @click="ctxDuplicate">{{ t('connection.duplicate') }}</button>
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export default {
|
|||||||
selectFile: 'Datei auswählen',
|
selectFile: 'Datei auswählen',
|
||||||
connect: 'Verbinden',
|
connect: 'Verbinden',
|
||||||
disconnect: 'Trennen',
|
disconnect: 'Trennen',
|
||||||
|
switchTo: 'Wechseln zu',
|
||||||
deleteConfirm: 'Diese Verbindung löschen?',
|
deleteConfirm: 'Diese Verbindung löschen?',
|
||||||
testSuccess: 'Erfolgreich verbunden',
|
testSuccess: 'Erfolgreich verbunden',
|
||||||
testFailed: 'Verbindung fehlgeschlagen',
|
testFailed: 'Verbindung fehlgeschlagen',
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export default {
|
|||||||
selectFile: 'Select File',
|
selectFile: 'Select File',
|
||||||
connect: 'Connect',
|
connect: 'Connect',
|
||||||
disconnect: 'Disconnect',
|
disconnect: 'Disconnect',
|
||||||
|
switchTo: 'Switch to',
|
||||||
deleteConfirm: 'Delete this connection?',
|
deleteConfirm: 'Delete this connection?',
|
||||||
testSuccess: 'Connected successfully',
|
testSuccess: 'Connected successfully',
|
||||||
testFailed: 'Connection failed',
|
testFailed: 'Connection failed',
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export default {
|
|||||||
selectFile: 'ファイルを選択',
|
selectFile: 'ファイルを選択',
|
||||||
connect: '接続',
|
connect: '接続',
|
||||||
disconnect: '切断',
|
disconnect: '切断',
|
||||||
|
switchTo: '切り替え',
|
||||||
deleteConfirm: 'この接続を削除しますか?',
|
deleteConfirm: 'この接続を削除しますか?',
|
||||||
testSuccess: '接続に成功しました',
|
testSuccess: '接続に成功しました',
|
||||||
testFailed: '接続に失敗しました',
|
testFailed: '接続に失敗しました',
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export default {
|
|||||||
selectFile: '파일 선택',
|
selectFile: '파일 선택',
|
||||||
connect: '연결',
|
connect: '연결',
|
||||||
disconnect: '연결 해제',
|
disconnect: '연결 해제',
|
||||||
|
switchTo: '전환',
|
||||||
deleteConfirm: '이 연결을 삭제하시겠습니까?',
|
deleteConfirm: '이 연결을 삭제하시겠습니까?',
|
||||||
testSuccess: '연결 성공',
|
testSuccess: '연결 성공',
|
||||||
testFailed: '연결 실패',
|
testFailed: '연결 실패',
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export default {
|
|||||||
selectFile: '选择文件',
|
selectFile: '选择文件',
|
||||||
connect: '连接',
|
connect: '连接',
|
||||||
disconnect: '断开',
|
disconnect: '断开',
|
||||||
|
switchTo: '切换到',
|
||||||
deleteConfirm: '删除此连接?',
|
deleteConfirm: '删除此连接?',
|
||||||
testSuccess: '连接成功',
|
testSuccess: '连接成功',
|
||||||
testFailed: '连接失败',
|
testFailed: '连接失败',
|
||||||
|
|||||||
Reference in New Issue
Block a user