summaryrefslogtreecommitdiffhomepage
path: root/libs/web/luasrc/view/cbi
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-11-17 15:09:18 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-11-17 15:09:18 +0000
commit4121f34ac005ed0af727267fd96d9f5492664cce (patch)
tree9dc624bb71949fff8d01ce8829a211cc3bf5d760 /libs/web/luasrc/view/cbi
parente077f36436dda2461ffeeb44fac3f55f21e94850 (diff)
libs/web: make apply_xhr less aggressive, only rerequest status if previous response returned
Diffstat (limited to 'libs/web/luasrc/view/cbi')
-rw-r--r--libs/web/luasrc/view/cbi/apply_xhr.htm48
1 files changed, 23 insertions, 25 deletions
diff --git a/libs/web/luasrc/view/cbi/apply_xhr.htm b/libs/web/luasrc/view/cbi/apply_xhr.htm
index 11851ad81..d519a5f59 100644
--- a/libs/web/luasrc/view/cbi/apply_xhr.htm
+++ b/libs/web/luasrc/view/cbi/apply_xhr.htm
@@ -20,35 +20,33 @@ $Id$
apply_xhr.get('<%=luci.dispatcher.build_url("servicectl", "restart", table.concat(configs, ","))%>', null,
function() {
- var intv = window.setInterval(
- function() {
- apply_xhr.abort();
- apply_xhr.get('<%=luci.dispatcher.build_url("servicectl", "status")%>', null,
- function(x) {
- if( x.responseText == 'finish' )
+ var checkfinish = function() {
+ apply_xhr.get('<%=luci.dispatcher.build_url("servicectl", "status")%>', null,
+ function(x) {
+ if( x.responseText == 'finish' )
+ {
+ var e = document.getElementById('cbi-apply-<%=id%>-status');
+ if( e )
{
- window.clearInterval(intv);
-
- var e = document.getElementById('cbi-apply-<%=id%>-status');
- if( e )
- {
- e.innerHTML = '<%:Configuration applied.%>';
- window.setTimeout(function() {
- e.parentNode.style.display = 'none';
- <% if redirect then %>location.href='<%=redirect%>';<% end %>
- }, 1000);
- }
+ e.innerHTML = '<%:Configuration applied.%>';
+ window.setTimeout(function() {
+ e.parentNode.style.display = 'none';
+ <% if redirect then %>location.href='<%=redirect%>';<% end %>
+ }, 1000);
}
- else
- {
- var e = document.getElementById('cbi-apply-<%=id%>-status');
- if( e && x.responseText ) e.innerHTML = x.responseText;
+ }
+ else
+ {
+ var e = document.getElementById('cbi-apply-<%=id%>-status');
+ if( e && x.responseText ) e.innerHTML = x.responseText;
- }
+ window.setTimeout(checkfinish, 1000);
}
- );
- }, 1000
- )
+ }
+ );
+ }
+
+ window.setTimeout(checkfinish, 1000);
}
);
]]></script>