luci-mod-admin-full: improve reboot page
This fix problem with empty controller, the check function will never stop to check if the device finish to reboot and we set more tries to wait the router for a longer times. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [reworked markup, simplified logic, removed superfluous alert] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
cde13dc245
commit
ddbde3caaa
1 changed files with 20 additions and 16 deletions
|
@ -16,18 +16,24 @@
|
|||
|
||||
<hr />
|
||||
|
||||
<input class="cbi-button cbi-button-action important" type="button" value="<%:Perform reboot%>" onclick="reboot(this)" />
|
||||
|
||||
<p class="alert-message notice reboot-message" style="display:none">
|
||||
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
||||
<span><%:Device is rebooting...%></span>
|
||||
</p>
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var tries = 0;
|
||||
var tries = 0,
|
||||
message = document.querySelector('p.reboot-message'),
|
||||
label = message.querySelector('span');
|
||||
|
||||
function ok() {
|
||||
window.location = '<%=controller%>/admin';
|
||||
window.location = '<%=url("admin")%>';
|
||||
}
|
||||
|
||||
function check() {
|
||||
if (tries++ < 12)
|
||||
window.setTimeout(ping, 5000);
|
||||
else
|
||||
alert('<%:Device unreachable%>');
|
||||
window.setTimeout(ping, 5000);
|
||||
}
|
||||
|
||||
function ping() {
|
||||
|
@ -37,22 +43,20 @@
|
|||
img.onerror = check;
|
||||
img.src = '<%=resource%>/icons/loading.gif?' + Math.random();
|
||||
|
||||
document.getElementById('reboot-message').innerHTML = '<%:Waiting for device...%>';
|
||||
if (tries++ >= 30) {
|
||||
message.classList.remove('notice');
|
||||
message.classList.add('warning');
|
||||
label.innerHTML = '<%:Device unreachable! Still waiting for device...%>';
|
||||
}
|
||||
}
|
||||
|
||||
function reboot(button) {
|
||||
button.style.display = 'none';
|
||||
document.getElementById('reboot-message').parentNode.style.display = '';
|
||||
message.style.display = '';
|
||||
label.innerHTML = '<%:Waiting for device...%>';
|
||||
|
||||
(new XHR()).post('<%=controller%>/admin/system/reboot/call', { token: '<%=token%>' }, check);
|
||||
(new XHR()).post('<%=url("admin/system/reboot/call")%>', { token: '<%=token%>' }, check);
|
||||
}
|
||||
//]]></script>
|
||||
|
||||
<input class="cbi-button cbi-button-action important" type="button" value="<%:Perform reboot%>" onclick="reboot(this)" />
|
||||
|
||||
<p class="alert-message" style="display:none">
|
||||
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
||||
<span id="reboot-message"><%:Device is rebooting...%></span>
|
||||
</p>
|
||||
|
||||
<%+footer%>
|
||||
|
|
Loading…
Reference in a new issue