diff --git a/modules/pi_control/pages/console.php b/modules/pi_control/pages/console.php index 91e5698..a90b17c 100644 --- a/modules/pi_control/pages/console.php +++ b/modules/pi_control/pages/console.php @@ -266,7 +266,9 @@ $runs = $pdo->query( - + diff --git a/public/assets/js/app.js b/public/assets/js/app.js index 10f2134..073c79a 100755 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -266,8 +266,21 @@ const consoleNotice = document.querySelector('[data-console-notice]'); const tokenEl = document.querySelector('[data-console-token]'); if (consoleForm) { + const presetSelect = consoleForm.querySelector('select[name="terminal_preset_id"]'); + const commandTextarea = consoleForm.querySelector('textarea[name="terminal_command_text"]'); + if (presetSelect && commandTextarea) { + presetSelect.addEventListener('change', () => { + const opt = presetSelect.selectedOptions[0]; + const cmd = opt && opt.dataset && opt.dataset.command ? opt.dataset.command : ''; + if (cmd) { + commandTextarea.value = cmd; + } + }); + } + const submitOpen = async () => { const formData = new FormData(consoleForm); + if (presetSelect) formData.set('terminal_preset_id', ''); const url = new URL(window.location.href); url.searchParams.set('open_console_json', '1'); const res = await fetch(url.toString(), { method: 'POST', body: formData, cache: 'no-store' }); @@ -287,6 +300,7 @@ const submitRun = async () => { const formData = new FormData(consoleForm); + if (presetSelect) formData.set('terminal_preset_id', ''); const url = new URL(window.location.href); url.searchParams.set('run_command_json', '1'); const res = await fetch(url.toString(), { method: 'POST', body: formData, cache: 'no-store' });