luci-app-commands: avoid deprecated XHR() usage

Replace direct usage of deprecated XHR() wrapper with L.request class calls.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich
2024-07-28 01:21:27 +02:00
parent 0f9c168fa6
commit 702c007365

View File

@@ -29,15 +29,9 @@
-%}
<script type="text/javascript">//<![CDATA[
var stxhr = new XHR();
function command_run(ev, id)
{
var args;
var field = document.getElementById(id);
if (field)
args = encodeURIComponent(field.value);
var legend = document.getElementById('command-rc-legend');
var output = document.getElementById('command-rc-output');
@@ -51,31 +45,24 @@
legend.parentNode.style.display = 'block';
legend.style.display = 'inline';
stxhr.get(L.url('admin/system/commands/run', id) + (args ? '?args=' + args : ''), null,
function(x, st)
{
if (st)
{
if (st.binary)
st.stdout = '[' + _('Binary data not displayed, download instead.') + ']';
L.Request.get(L.url('admin/system/commands/run', id), field ? { args: field.value } : null).then(function(reply) {
var st = reply.json();
legend.style.display = 'none';
output.innerHTML = String.format(
'<pre><strong># %h\n</strong>%h<span style="color:red">%h</span></pre>' +
'<div class="alert-message warning">%h (%h %d)</div>',
st.command, st.stdout, st.stderr,
(st.exitcode == 0) ? _('Command successful') : _('Command failed'),
_('Code:'), st.exitcode);
}
else
{
legend.style.display = 'none';
output.innerHTML = '<span class="error">%h</span>'.format(_('Failed to execute command!'));
}
if (st.binary)
st.stdout = '[' + _('Binary data not displayed, download instead.') + ']';
location.hash = '#output';
}
);
output.innerHTML = String.format(
'<pre><strong># %h\n</strong>%h<span style="color:red">%h</span></pre>' +
'<div class="alert-message warning">%h (%h %d)</div>',
st.command, st.stdout, st.stderr,
(st.exitcode == 0) ? _('Command successful') : _('Command failed'),
_('Code:'), st.exitcode);
}).catch(function() {
output.innerHTML = '<span class="error">%h</span>'.format(_('Failed to execute command!'));
}).finally(function() {
legend.style.display = 'none';
location.hash = '#output';
});
}
ev.preventDefault();