feat(ui): prefix/suffix에서 \n \t \r 이스케이프 시퀀스 지원
unesc(): 입력값 \n→실제줄바꿈, \t→탭, \r→CR reesc(): 상태값을 표시용 이스케이프 문자열로 역변환 renderSetting 입력 필드에 적용, placeholder에 사용법 표시. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -473,6 +473,9 @@ function removeAttr(nid, key){
|
||||
function refresh(){ rebuildMaps(); renderPanel(); updatePreview(); save(); }
|
||||
function focusNew(sel){ setTimeout(()=>{ const els=document.querySelectorAll(sel); if(els.length) els[els.length-1].focus(); },40); }
|
||||
function esc(s){ return String(s??'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"') }
|
||||
// 입력값의 \n \t → 실제 문자 / 실제 문자 → 표시용 이스케이프
|
||||
function unesc(s){ return s.replace(/\\n/g,'\n').replace(/\\t/g,'\t').replace(/\\r/g,'\r') }
|
||||
function reesc(s){ return s.replace(/\r/g,'\\r').replace(/\n/g,'\\n').replace(/\t/g,'\\t') }
|
||||
|
||||
// ════════════════════════════════════════════════════════
|
||||
// 렌더링
|
||||
@@ -616,8 +619,8 @@ function renderSetting(nid, key, val){
|
||||
return `
|
||||
<div class="setting-row">
|
||||
<span class="setting-lbl">${key}</span>
|
||||
<input class="setting-inp" placeholder="${key}" value="${esc(String(val??''))}"
|
||||
oninput="setSettingVal('${nid}','${key}',this.value)">
|
||||
<input class="setting-inp" placeholder="\\n \\t 사용 가능" value="${esc(reesc(String(val??'')))}"
|
||||
oninput="setSettingVal('${nid}','${key}',unesc(this.value))">
|
||||
<button class="iBtn" onclick="removeSetting('${nid}','${key}')">✕</button>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user