fix(ui): prevent modals from closing on backdrop click

This commit is contained in:
matevip 2026-04-11 18:06:48 +08:00
parent 408ad980dd
commit c619ffee4e
16 changed files with 21 additions and 21 deletions

View File

@ -168,7 +168,7 @@
</div>
<!-- 新建文件弹窗 -->
<div v-if="showNewFileDialog" class="modal-overlay" @click.self="showNewFileDialog = false">
<div v-if="showNewFileDialog" class="modal-overlay">
<div class="modal small-modal">
<div class="modal-header">
<h2>{{ t('agentContext.newFileTitle') }}</h2>

View File

@ -95,7 +95,7 @@
<!-- Template Selector Modal -->
<div v-if="showTemplateSelector" class="modal-overlay" @click.self="showTemplateSelector = false">
<div v-if="showTemplateSelector" class="modal-overlay">
<div class="modal template-modal">
<div class="modal-header">
<h2>{{ t('agents.templates.title') }}</h2>
@ -138,7 +138,7 @@
</div>
<!-- Create/Edit Modal -->
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingAgent ? t('agents.modal.editTitle') : t('agents.modal.newTitle') }}</h2>

View File

@ -78,7 +78,7 @@
</div>
<!-- Modal -->
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingChannel ? t('channels.modal.editTitle') : t('channels.modal.newTitle') }}</h2>

View File

@ -101,7 +101,7 @@
</div>
</div>
<div v-if="detailJob" class="modal-overlay" @click.self="closeDetailModal">
<div v-if="detailJob" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ detailJob.name }}</h2>
@ -150,7 +150,7 @@
</div>
<!-- 新建/编辑弹窗 -->
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal modal-lg">
<div class="modal-header">
<h2>{{ editing ? t('cronJobs.editJob') : t('cronJobs.createJob') }}</h2>

View File

@ -92,7 +92,7 @@
</div>
</div>
<div v-if="detailDs" class="modal-overlay" @click.self="closeDetailModal">
<div v-if="detailDs" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ detailDs.name }}</h2>
@ -134,7 +134,7 @@
</div>
</div>
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingDs ? t('datasources.modal.editTitle') : t('datasources.modal.newTitle') }}</h2>

View File

@ -1,6 +1,6 @@
<template>
<Teleport to="body">
<div v-if="visible" class="drawer-overlay" @click.self="emit('close')">
<div v-if="visible" class="drawer-overlay">
<div class="drawer-panel">
<div class="drawer-header">
<h2 class="drawer-title">{{ t('doctor.title') }}</h2>

View File

@ -135,7 +135,7 @@
</div>
</div>
<div v-if="detailServer" class="modal-overlay" @click.self="closeDetailModal">
<div v-if="detailServer" class="modal-overlay">
<div class="modal modal-wide">
<div class="modal-header">
<h2>{{ detailServer.name }}</h2>
@ -202,7 +202,7 @@
</div>
</transition>
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal modal-wide">
<div class="modal-header">
<h2>{{ editing ? t('mcp.modal.editTitle') : t('mcp.modal.newTitle') }}</h2>

View File

@ -74,7 +74,7 @@
<!-- Add Member Dialog -->
<Teleport to="body">
<div v-if="showAddDialog" class="modal-overlay" @click.self="showAddDialog = false">
<div v-if="showAddDialog" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h3>{{ t('security.members.addDialog.title') }}</h3>

View File

@ -137,7 +137,7 @@
<!-- Rule Modal -->
<Teleport to="body">
<div v-if="showRuleModal" class="modal-overlay" @click.self="showRuleModal = false">
<div v-if="showRuleModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h3>{{ editingRule ? t('security.toolGuard.editRule') : t('security.toolGuard.addRule') }}</h3>

View File

@ -69,7 +69,7 @@
<!-- Create / Edit Dialog -->
<Teleport to="body">
<div v-if="showDialog" class="modal-overlay" @click.self="showDialog = false">
<div v-if="showDialog" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h3>{{ editingWs ? t('security.workspaces.editDialog.title') : t('security.workspaces.createDialog.title') }}</h3>
@ -114,7 +114,7 @@
<!-- Delete Confirmation -->
<Teleport to="body">
<div v-if="showDeleteConfirm" class="modal-overlay" @click.self="showDeleteConfirm = false">
<div v-if="showDeleteConfirm" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h3>{{ t('security.workspaces.deleteDialog.title') }}</h3>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="show && provider" class="modal-overlay" @click.self="$emit('close')">
<div v-if="show && provider" class="modal-overlay">
<div class="modal modal-wide">
<div class="modal-header">
<h2>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="show" class="modal-overlay" @click.self="$emit('close')">
<div v-if="show" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingProvider ? t('settings.model.editTitle') : t('settings.model.createTitle') }}</h2>

View File

@ -128,7 +128,7 @@
<ImportHubDialog v-model:visible="showImportDialog" @installed="loadAll" />
<!-- Modal -->
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingSkill ? t('skills.modal.configureTitle') : t('skills.modal.newTitle') }}</h2>

View File

@ -85,7 +85,7 @@
</div>
<!-- Modal -->
<div v-if="showModal" class="modal-overlay" @click.self="closeModal">
<div v-if="showModal" class="modal-overlay">
<div class="modal">
<div class="modal-header">
<h2>{{ editingTool ? t('tools.modal.editTitle') : t('tools.modal.newTitle') }}</h2>

View File

@ -99,7 +99,7 @@
</button>
<!-- Add Text Modal -->
<div v-if="showAddText" class="modal-overlay" @click.self="showAddText = false">
<div v-if="showAddText" class="modal-overlay">
<div class="modal-content">
<h3 class="modal-title">{{ t('wiki.addText') }}</h3>
<div class="form-group">

View File

@ -112,7 +112,7 @@
</div>
<!-- Create KB Modal -->
<div v-if="showCreateKB" class="modal-overlay" @click.self="showCreateKB = false">
<div v-if="showCreateKB" class="modal-overlay">
<div class="modal-content">
<h3 class="modal-title">{{ t('wiki.createKB') }}</h3>
<div class="form-group">