diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-09-14 13:30:45 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-10-25 01:03:37 +0200 |
commit | 97da0baeb602c33d24e789a8ea635f92a54526b3 (patch) | |
tree | b9786332e5839b2fe587edbbb0a6788a9d38b746 /modules/luci-mod-status/ucode/template/admin_status | |
parent | c7b300e6143ab9916730108fff0a5d25a3d5ac53 (diff) |
luci-mod-status: transform status page Lua template into ucode template
Transform the only Lua template of the status module into an equivalent
ucode template and make it conditionally include the legacy Lua logic
factored out in a previous commit.
Only if the ucode Lua bridge is installed and loadable, the Lua template
loading the legacy Lua status partials is included.
After this commit, luci-mod-status is free of Lua dependencies.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-status/ucode/template/admin_status')
-rw-r--r-- | modules/luci-mod-status/ucode/template/admin_status/index.ut | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/modules/luci-mod-status/ucode/template/admin_status/index.ut b/modules/luci-mod-status/ucode/template/admin_status/index.ut new file mode 100644 index 0000000000..4d018a3efd --- /dev/null +++ b/modules/luci-mod-status/ucode/template/admin_status/index.ut @@ -0,0 +1,69 @@ +{# + Copyright 2008 Steven Barth <steven@midlink.org> + Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io> + Licensed to the public under the Apache License 2.0. +-#} + +{% include('header') %} + +<h2 name="content">{{ _('Status') }}</h2> + +<div id="view"> + <div class="spinning">{{ _('Loading view…') }}</div> +</div> + +<script type="text/javascript">//<![CDATA[ +function progressbar(query, value, max, byte) +{ + var pg = document.querySelector(query), + vn = parseInt(value) || 0, + mn = parseInt(max) || 100, + fv = byte ? String.format('%1024.2mB', value) : value, + fm = byte ? String.format('%1024.2mB', max) : max, + pc = Math.floor((100 / mn) * vn); + + if (pg) { + pg.firstElementChild.style.width = pc + '%'; + pg.setAttribute('title', '%s / %s (%d%%)'.format(fv, fm, pc)); + } +} + +function renderBox(title, active, childs) { + childs = childs || []; + childs.unshift(L.itemlist(E('span'), [].slice.call(arguments, 3))); + + return E('div', { class: 'ifacebox' }, [ + E('div', { class: 'ifacebox-head center ' + (active ? 'active' : '') }, + E('strong', title)), + E('div', { class: 'ifacebox-body left' }, childs) + ]); +} + +function renderBadge(icon, title) { + return E('span', { class: 'ifacebadge' }, [ + E('img', { src: icon, title: title || '' }), + L.itemlist(E('span'), [].slice.call(arguments, 2)) + ]); +} + +//]]></script> + +<div class="includes" style="display:none"> +{% + let lua_available = true; + + try { require('lua'); } + catch(err) { lua_available = false; } + + if (lua_available) + include('admin_status/luaindex'); +%} +</div> + +<script type="text/javascript"> + L.require('ui').then(function(ui) { + ui.instantiateView('status/index'); + }); +</script> + +{% include('footer') %} |