diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-12-21 20:28:25 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-12-22 23:20:23 +0100 |
commit | 939b371bc72f4c020c499c815f636dafc296829a (patch) | |
tree | b6d2b31357f7f20c51fe5737a547c9c260190ced /modules/luci-mod-status | |
parent | b9bb34612e28a239153dd2e041921a50e4d7578f (diff) |
luci-mod-status: reimplement log pages as client side views
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-status')
6 files changed, 72 insertions, 45 deletions
diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/dmesg.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/dmesg.js new file mode 100644 index 000000000..3b9428eaf --- /dev/null +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/dmesg.js @@ -0,0 +1,35 @@ +'use strict'; +'require fs'; +'require ui'; + +return L.view.extend({ + load: function() { + return fs.exec_direct('/bin/dmesg', [ '-r' ]).catch(function(err) { + ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message))); + return ''; + }); + }, + + render: function(logdata) { + var loglines = logdata.trim().split(/\n/).map(function(line) { + return line.replace(/^<\d+>/, ''); + }); + + return E([], [ + E('h2', {}, [ _('Kernel Log') ]), + E('div', { 'id': 'content_syslog' }, [ + E('textarea', { + 'id': 'syslog', + 'style': 'font-size:12px', + 'readonly': 'readonly', + 'wrap': 'off', + 'rows': loglines.length + 1 + }, [ loglines.join('\n') ]) + ]) + ]); + }, + + handleSaveApply: null, + handleSave: null, + handleReset: null +}); diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/syslog.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/syslog.js new file mode 100644 index 000000000..69694bcfb --- /dev/null +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/syslog.js @@ -0,0 +1,33 @@ +'use strict'; +'require fs'; +'require ui'; + +return L.view.extend({ + load: function() { + return fs.exec_direct('/sbin/logread', [ '-e', '^' ]).catch(function(err) { + ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message))); + return ''; + }); + }, + + render: function(logdata) { + var loglines = logdata.trim().split(/\n/); + + return E([], [ + E('h2', {}, [ _('System Log') ]), + E('div', { 'id': 'content_syslog' }, [ + E('textarea', { + 'id': 'syslog', + 'style': 'font-size:12px', + 'readonly': 'readonly', + 'wrap': 'off', + 'rows': loglines.length + 1 + }, [ loglines.join('\n') ]) + ]) + ]); + }, + + handleSaveApply: null, + handleSave: null, + handleReset: null +}); diff --git a/modules/luci-mod-status/luasrc/controller/admin/status.lua b/modules/luci-mod-status/luasrc/controller/admin/status.lua deleted file mode 100644 index 65a8db1ba..000000000 --- a/modules/luci-mod-status/luasrc/controller/admin/status.lua +++ /dev/null @@ -1,15 +0,0 @@ --- Copyright 2008 Steven Barth <steven@midlink.org> --- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org> --- Licensed to the public under the Apache License 2.0. - -module("luci.controller.admin.status", package.seeall) - -function action_syslog() - local syslog = luci.sys.syslog() - luci.template.render("admin_status/syslog", {syslog=syslog}) -end - -function action_dmesg() - local dmesg = luci.sys.dmesg() - luci.template.render("admin_status/dmesg", {dmesg=dmesg}) -end diff --git a/modules/luci-mod-status/luasrc/view/admin_status/dmesg.htm b/modules/luci-mod-status/luasrc/view/admin_status/dmesg.htm deleted file mode 100644 index 1a8770ef8..000000000 --- a/modules/luci-mod-status/luasrc/view/admin_status/dmesg.htm +++ /dev/null @@ -1,12 +0,0 @@ -<%# - Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> - Licensed to the public under the Apache License 2.0. --%> - -<%+header%> -<h2 name="content"><%:Kernel Log%></h2> -<div id="content_syslog"> -<textarea style="font-size: 12px;" readonly="readonly" wrap="off" rows="<%=dmesg:cmatch("\n")+2%>" id="syslog"><%=dmesg:pcdata()%></textarea> -</div> -<%+footer%> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/syslog.htm b/modules/luci-mod-status/luasrc/view/admin_status/syslog.htm deleted file mode 100644 index fb734a76d..000000000 --- a/modules/luci-mod-status/luasrc/view/admin_status/syslog.htm +++ /dev/null @@ -1,12 +0,0 @@ -<%# - Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> - Licensed to the public under the Apache License 2.0. --%> - -<%+header%> -<h2 name="content"><%:System Log%></h2> -<div id="content_syslog"> -<textarea style="font-size: 12px;" readonly="readonly" wrap="off" rows="<%=syslog:cmatch("\n")+2%>" id="syslog"><%=syslog:pcdata()%></textarea> -</div> -<%+footer%> diff --git a/modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json b/modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json index 7dd7dae73..6fa3f0408 100644 --- a/modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json +++ b/modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json @@ -30,9 +30,8 @@ "title": "System Log", "order": 4, "action": { - "type": "call", - "module": "luci.controller.admin.status", - "function": "action_syslog" + "type": "view", + "path": "status/syslog" } }, @@ -40,9 +39,8 @@ "title": "Kernel Log", "order": 5, "action": { - "type": "call", - "module": "luci.controller.admin.status", - "function": "action_dmesg" + "type": "view", + "path": "status/dmesg" } }, |