summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-status
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-12-21 20:28:25 +0100
committerJo-Philipp Wich <jo@mein.io>2019-12-22 23:20:23 +0100
commit939b371bc72f4c020c499c815f636dafc296829a (patch)
treeb6d2b31357f7f20c51fe5737a547c9c260190ced /modules/luci-mod-status
parentb9bb34612e28a239153dd2e041921a50e4d7578f (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')
-rw-r--r--modules/luci-mod-status/htdocs/luci-static/resources/view/status/dmesg.js35
-rw-r--r--modules/luci-mod-status/htdocs/luci-static/resources/view/status/syslog.js33
-rw-r--r--modules/luci-mod-status/luasrc/controller/admin/status.lua15
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/dmesg.htm12
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/syslog.htm12
-rw-r--r--modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json10
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"
}
},