// ═══════════════════════════════════════════════════════ // Cron Parser // ═══════════════════════════════════════════════════════ function setCronPreset(expr) { document.getElementById('cronInput').value = expr; parseCron(); } async function parseCron() { const expr = document.getElementById('cronInput').value.trim(); if (!expr) return setStatus('cronStatus', 'error', 'Enter a cron expression.'); const d = await apiPost('/api/cron/parse', { expression: expr }); if (d.success) { document.getElementById('cronResult').style.display = 'block'; document.getElementById('cronDescription').textContent = d.description; document.getElementById('cronFields').innerHTML = Object.entries(d.fields).map(([k, v]) => `