fix(kb): escape namestr with json.dumps in delete button JS to prevent SyntaxError

Root cause: namestr directly concatenated into JS confirm() string broke
when KB name contained quotes or special chars. The SyntaxError prevented
event.stopPropagation() from executing, which caused the card click to
also fire (navigating to detail.ui).
This commit is contained in:
yumoqing 2026-08-05 17:15:13 +08:00
parent 5de0a87708
commit e1f0c406ac

View File

@ -52,7 +52,7 @@ async with get_sor_context(env, 'rag') as sor:
"padding": "2px 8px", "borderRadius": "4px", "bgcolor": "#fee"}, "padding": "2px 8px", "borderRadius": "4px", "bgcolor": "#fee"},
"binds": [{"wid": "self", "event": "click", "actiontype": "script", "binds": [{"wid": "self", "event": "click", "actiontype": "script",
"script": "event.stopPropagation();" "script": "event.stopPropagation();"
"if(!confirm('\u786e\u8ba4\u5220\u9664\u77e5\u8bc6\u5e93\u300c" + namestr + "\u300d\uff1f\n\n\u8be5\u64cd\u4f5c\u4f1a\u5220\u9664\u77e5\u8bc6\u5e93\u5185\u6240\u6709\u6587\u4ef6\u3001\u6807\u7b7e\u548c\u6570\u636e\uff0c\u4e0d\u53ef\u6062\u590d\uff01'))return;" "if(!confirm('\u786e\u8ba4\u5220\u9664\u77e5\u8bc6\u5e93\u300c' + " + json.dumps(namestr, ensure_ascii=False) + " + '\u300d\uff1f\n\n\u8be5\u64cd\u4f5c\u4f1a\u5220\u9664\u77e5\u8bc6\u5e93\u5185\u6240\u6709\u6587\u4ef6\u3001\u6807\u7b7e\u548c\u6570\u636e\uff0c\u4e0d\u53ef\u6062\u590d\uff01'))return;"
"fetch('/rag/knowledge_bases_list/delete_kb.dspy?kb_id=" + idstr + "').then(function(r){return r.json()}).then(function(d){" "fetch('/rag/knowledge_bases_list/delete_kb.dspy?kb_id=" + idstr + "').then(function(r){return r.json()}).then(function(d){"
"if(d.status==='error'){alert('\u5220\u9664\u5931\u8d25\uff1a'+d.error);return;}" "if(d.status==='error'){alert('\u5220\u9664\u5931\u8d25\uff1a'+d.error);return;}"
"window.location.href='/rag/knowledge_bases_list/index.ui';" "window.location.href='/rag/knowledge_bases_list/index.ui';"