first commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// ═══════════════════════════════════════════════════════
|
||||
// JSON Formatter
|
||||
// ═══════════════════════════════════════════════════════
|
||||
async function formatJSON() {
|
||||
const input = document.getElementById('jsonInput').value.trim();
|
||||
if (!input) return setStatus('jsonStatus','error','Paste some JSON first.');
|
||||
const iv = document.getElementById('jsonIndent').value;
|
||||
const indent = iv === '\\t' ? '\t' : parseInt(iv);
|
||||
const d = await apiPost('/api/json/format', { json: input, indent });
|
||||
if (d.success) { document.getElementById('jsonOutput').value = d.result; setStatus('jsonStatus','success','Formatted ✓'); }
|
||||
else setStatus('jsonStatus','error', d.error);
|
||||
}
|
||||
async function minifyJSON() {
|
||||
const input = document.getElementById('jsonInput').value.trim();
|
||||
if (!input) return setStatus('jsonStatus','error','Paste some JSON first.');
|
||||
const d = await apiPost('/api/json/minify', { json: input });
|
||||
if (d.success) { document.getElementById('jsonOutput').value = d.result; setStatus('jsonStatus','success','Minified ✓'); }
|
||||
else setStatus('jsonStatus','error', d.error);
|
||||
}
|
||||
async function validateJSON() {
|
||||
const input = document.getElementById('jsonInput').value.trim();
|
||||
if (!input) return setStatus('jsonStatus','error','Paste some JSON first.');
|
||||
const d = await apiPost('/api/json/validate', { json: input });
|
||||
setStatus('jsonStatus', d.valid ? 'success' : 'error', d.message);
|
||||
}
|
||||
function clearJSON() {
|
||||
document.getElementById('jsonInput').value=''; document.getElementById('jsonOutput').value='';
|
||||
document.getElementById('jsonStatus').className='status';
|
||||
}
|
||||
|
||||
// Keyboard shortcuts
|
||||
document.getElementById('jsonInput').addEventListener('keydown', e => {
|
||||
if(e.key==='Enter' && (e.ctrlKey||e.metaKey)) formatJSON();
|
||||
if(e.key==='Tab') { e.preventDefault(); const t=e.target,s=t.selectionStart,en=t.selectionEnd; t.value=t.value.substring(0,s)+' '+t.value.substring(en); t.selectionStart=t.selectionEnd=s+2; }
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user