diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-10-15 21:56:44 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-10-15 21:56:44 +0000 |
commit | dd2abf2ea44b02bff72812de593a9e3976fe7f15 (patch) | |
tree | defd6e5edb5df3e1947e4760c18c2e585e92bd7e /libs | |
parent | 670648ad214ed26e74b25801e04f1430662de470 (diff) |
libs/web: move XHR apply callback into subtemplate
Diffstat (limited to 'libs')
-rw-r--r-- | libs/web/luasrc/view/cbi/apply_xhr.htm | 56 | ||||
-rw-r--r-- | libs/web/luasrc/view/cbi/map.htm | 45 |
2 files changed, 59 insertions, 42 deletions
diff --git a/libs/web/luasrc/view/cbi/apply_xhr.htm b/libs/web/luasrc/view/cbi/apply_xhr.htm new file mode 100644 index 000000000..30e7a23b5 --- /dev/null +++ b/libs/web/luasrc/view/cbi/apply_xhr.htm @@ -0,0 +1,56 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2010 Jo-Philipp Wich <xm@subsignal.org> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ + +-%> + +<% export("cbi_apply_xhr", function(id, configs) -%> +<fieldset class="cbi-section" id="cbi-apply-<%=id%>"> + <legend><%:Applying changes%></legend> + <script type="text/javascript"><![CDATA[ + var apply_xhr = new XHR(); + + 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' ) + { + 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' }, 1000); + } + } + else + { + var e = document.getElementById('cbi-apply-<%=id%>-status'); + if( e && x.responseText ) e.innerHTML = x.responseText; + + } + } + ); + }, 1000 + ) + } + ); + ]]></script> + + <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> + <span id="cbi-apply-<%=id%>-status"><%:Waiting for router...%></span> +</fieldset> +<%- end) %> diff --git a/libs/web/luasrc/view/cbi/map.htm b/libs/web/luasrc/view/cbi/map.htm index be0c37aa7..666763d69 100644 --- a/libs/web/luasrc/view/cbi/map.htm +++ b/libs/web/luasrc/view/cbi/map.htm @@ -13,51 +13,12 @@ $Id$ -%> +<%-+cbi/apply_xhr-%> + <div class="cbi-map" id="cbi-<%=self.config%>"> <% if self.title and #self.title > 0 then %><h2><a id="content" name="content"><%=self.title%></a></h2><% end %> <% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %> - <%- if self._apply then -%> - <fieldset class="cbi-section" id="cbi-apply-<%=self.config%>"> - <legend><%:Applying changes%></legend> - <script type="text/javascript"><![CDATA[ - var apply_xhr = new XHR(); - - apply_xhr.get('<%=luci.dispatcher.build_url("servicectl", "restart", table.concat(self.parsechain, ","))%>', 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' ) - { - window.clearInterval(intv); - - var e = document.getElementById('cbi-apply-<%=self.config%>-status'); - if( e ) - { - e.innerHTML = '<%:Configuration applied.%>'; - window.setTimeout(function() { e.parentNode.style.display = 'none' }, 1000); - } - } - else - { - var e = document.getElementById('cbi-apply-<%=self.config%>-status'); - if( e && x.responseText ) e.innerHTML = x.responseText; - - } - } - ); - }, 1000 - ) - } - ); - ]]></script> - - <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> - <span id="cbi-apply-<%=self.config%>-status"><%:Waiting for router...%></span> - </fieldset> - <%- end -%> + <%- if self._apply then cbi_apply_xhr(self.config, self.parsechain) end -%> <%- self:render_children() %> <br /> </div> |