feat:个人规则删除二次确认功能

This commit is contained in:
Roe-xin
2026-03-07 16:11:20 +08:00
parent 8751944053
commit eb345e3e1f

View File

@ -50,6 +50,18 @@ export function getRulesSettingsComponentContent(): string {
</div> </div>
</div> </div>
</div> </div>
<!-- 删除确认弹窗 -->
<div class="rule-modal" id="deleteConfirmModal" style="display: none;">
<div class="rule-modal-content" style="width: 400px;">
<h4>确认删除</h4>
<p id="deleteConfirmText" style="color: var(--vscode-foreground); margin: 16px 0;"></p>
<div class="rule-modal-actions">
<button class="settings-button settings-button-primary" onclick="confirmDelete()">确定</button>
<button class="settings-button settings-button-secondary" onclick="closeDeleteConfirmModal()">取消</button>
</div>
</div>
</div>
</div> </div>
`; `;
} }
@ -234,6 +246,7 @@ export function getRulesSettingsComponentScript(): string {
return ` return `
let currentRules = []; let currentRules = [];
let editingRule = null; let editingRule = null;
let deletingFilename = null;
// 显示添加规则弹窗 // 显示添加规则弹窗
function showAddRuleModal() { function showAddRuleModal() {
@ -319,10 +332,29 @@ export function getRulesSettingsComponentScript(): string {
// 删除规则 // 删除规则
function deleteRule(filename) { function deleteRule(filename) {
closeAllDropdowns(); closeAllDropdowns();
vscode.postMessage({ const rule = currentRules.find(r => r.filename === filename);
command: 'deletePersonalRule', const ruleName = rule ? rule.name : filename;
filename: filename
}); deletingFilename = filename;
document.getElementById('deleteConfirmText').textContent = '确定要删除规则"' + ruleName + '"吗?此操作无法撤销。';
document.getElementById('deleteConfirmModal').style.display = 'flex';
}
// 关闭删除确认弹窗
function closeDeleteConfirmModal() {
document.getElementById('deleteConfirmModal').style.display = 'none';
deletingFilename = null;
}
// 确认删除
function confirmDelete() {
if (deletingFilename) {
vscode.postMessage({
command: 'deletePersonalRule',
filename: deletingFilename
});
}
closeDeleteConfirmModal();
} }
// 渲染规则列表 // 渲染规则列表