diff options
Diffstat (limited to 'applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm')
-rw-r--r-- | applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm | 277 |
1 files changed, 142 insertions, 135 deletions
diff --git a/applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm b/applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm index 4deb6a88a..189055c20 100644 --- a/applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm +++ b/applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm @@ -1,140 +1,147 @@ <style type="text/css"> - #docker_apply_overlay { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - background: rgba(0, 0, 0, 0.7); - display: none; - z-index: 20000; - } - - #docker_apply_overlay .alert-message { - position: relative; - top: 10%; - width: 60%; - margin: auto; - display: flex; - flex-wrap: wrap; - min-height: 32px; - align-items: center; - } - - #docker_apply_overlay .alert-message > h4, - #docker_apply_overlay .alert-message > p, - #docker_apply_overlay .alert-message > div { - flex-basis: 100%; - } - - #docker_apply_overlay .alert-message > img { - margin-right: 1em; - flex-basis: 32px; - } - - body.apply-overlay-active { - overflow: hidden; - height: 100vh; - } - - body.apply-overlay-active #docker_apply_overlay { - display: block; - } + #docker_apply_overlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: rgba(0, 0, 0, 0.7); + display: none; + z-index: 20000; + } + + #docker_apply_overlay .alert-message { + position: relative; + top: 10%; + width: 60%; + margin: auto; + display: flex; + flex-wrap: wrap; + min-height: 32px; + align-items: center; + } + + #docker_apply_overlay .alert-message > h4, + #docker_apply_overlay .alert-message > p, + #docker_apply_overlay .alert-message > div { + flex-basis: 100%; + } + + #docker_apply_overlay .alert-message > img { + margin-right: 1em; + flex-basis: 32px; + } + + body.apply-overlay-active { + overflow: hidden; + height: 100vh; + } + + body.apply-overlay-active #docker_apply_overlay { + display: block; + } </style> + <script type="text/javascript">//<![CDATA[ - var xhr = new XHR(), - uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 30, 30)%>, - uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>, - uci_apply_timeout = <%=math.max(luci.config and luci.config.apply and luci.config.apply.timeout or 5, 1)%>, - uci_apply_display = <%=math.max(luci.config and luci.config.apply and luci.config.apply.display or 1.5, 1)%>, - was_xhr_poll_running = false; - -function docker_status_message(type, content) { - document.getElementById('docker_apply_overlay') || document.body.insertAdjacentHTML("beforeend",'<div id="docker_apply_overlay"><div class="alert-message"></div></div>') - var overlay = document.getElementById('docker_apply_overlay') - message = overlay.querySelector('.alert-message'); - - if (message && type) { - if (!message.classList.contains(type)) { - message.classList.remove('notice'); - message.classList.remove('warning'); - message.classList.add(type); - } - - if (content) - message.innerHTML = content; - - document.body.classList.add('apply-overlay-active'); - document.body.scrollTop = document.documentElement.scrollTop = 0; - if (!was_xhr_poll_running) { - was_xhr_poll_running = XHR.running(); - XHR.halt(); - } - } - else { - document.body.classList.remove('apply-overlay-active'); - - if (was_xhr_poll_running) - XHR.run(); - } -} -var loading_msg="Loading.." -function uci_confirm_docker() { - var tt; - docker_status_message('notice'); - var call = function(r, resjson, duration) { - if (r && r.status === 200 ) { - var indicator = document.querySelector('.uci_change_indicator'); - if (indicator) indicator.style.display = 'none'; - docker_status_message('notice', '<%:Docker actions done.%>'); - document.body.classList.remove('apply-overlay-active'); - window.clearTimeout(tt); - return; - } - loading_msg = resjson?resjson.info:loading_msg - // var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0); - var delay =1000 - window.setTimeout(function() { - xhr.get('<%=url("admin/docker/confirm")%>', null, call, uci_apply_timeout * 1000); - }, delay); - }; - - var tick = function() { - var now = Date.now(); - - docker_status_message('notice', - '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> <span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">' + - loading_msg + '</span>'); - - tt = window.setTimeout(tick, 200); - ts = now; - }; - tick(); - /* wait a few seconds for the settings to become effective */ - window.setTimeout(call, Math.max(uci_apply_holdoff * 1000 , 1)); - } - // document.getElementsByTagName("form")[0].addEventListener("submit", (e)=>{ - // uci_confirm_docker() - // }) - -function fnSubmitForm(el){ - if (el.id != "cbid.table.1._new") { - uci_confirm_docker() - } -} - -<% if self.err then -%> - docker_status_message('warning', '<span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">'+`<%=self.err%>`+'</span>'); - document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{ - docker_status_message() - }) -<%- end %> - -window.onload= function (){ -var buttons = document.querySelectorAll('input[type="submit"]'); -[].slice.call(buttons).forEach(function (el) { - el.onclick = fnSubmitForm.bind(this, el); -}); -} + var xhr = new XHR(), + uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 30, 30)%>, + uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>, + uci_apply_timeout = <%=math.max(luci.config and luci.config.apply and luci.config.apply.timeout or 5, 1)%>, + uci_apply_display = <%=math.max(luci.config and luci.config.apply and luci.config.apply.display or 1.5, 1)%>, + was_xhr_poll_running = false; + + function docker_status_message(type, content) { + document.getElementById('docker_apply_overlay') || document.body.insertAdjacentHTML("beforeend",'<div id="docker_apply_overlay"><div class="alert-message"></div></div>') + var overlay = document.getElementById('docker_apply_overlay') + message = overlay.querySelector('.alert-message'); + + if (message && type) { + if (!message.classList.contains(type)) { + message.classList.remove('notice'); + message.classList.remove('warning'); + message.classList.add(type); + } + + if (content) + message.innerHTML = content; + + document.body.classList.add('apply-overlay-active'); + document.body.scrollTop = document.documentElement.scrollTop = 0; + if (!was_xhr_poll_running) { + was_xhr_poll_running = XHR.running(); + XHR.halt(); + } + } + else { + document.body.classList.remove('apply-overlay-active'); + if (was_xhr_poll_running) + XHR.run(); + } + } + + var loading_msg="Loading.." + function uci_confirm_docker() { + var tt; + docker_status_message('notice'); + var call = function(r, resjson, duration) { + if (r && r.status === 200 ) { + var indicator = document.querySelector('.uci_change_indicator'); + if (indicator) + indicator.style.display = 'none'; + docker_status_message('notice', '<%:Docker actions done.%>'); + document.body.classList.remove('apply-overlay-active'); + window.clearTimeout(tt); + return; + } + loading_msg = resjson?resjson.info:loading_msg + // var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0); + var delay =1000 + window.setTimeout(function() { + xhr.get('<%=url("admin/docker/confirm")%>', null, call, uci_apply_timeout * 1000); + },delay); + }; + + var tick = function() { + var now = Date.now(); + + docker_status_message( + 'notice', + '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> <span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">' + loading_msg + '</span>' + ); + + tt = window.setTimeout(tick, 200); + ts = now; + }; + + tick(); + /* wait a few seconds for the settings to become effective */ + window.setTimeout(call, Math.max(uci_apply_holdoff * 1000 , 1)); + } + // document.getElementsByTagName("form")[0].addEventListener("submit", (e)=>{ + // uci_confirm_docker() + // }) + + function fnSubmitForm(el){ + if (el.id != "cbid.table.1._new") { + uci_confirm_docker() + } + } + + <% if self.err then -%> + docker_status_message('warning', '<span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">'+`<%=self.err%>`+'</span>'); + document.getElementById('docker_apply_overlay').addEventListener( + "click", + (e)=>{ + docker_status_message() + } + ) + <%- end %> + + window.onload= function (){ + var buttons = document.querySelectorAll('input[type="submit"]'); + [].slice.call(buttons).forEach(function (el) { + el.onclick = fnSubmitForm.bind(this, el); + }); + } //]]></script> |