widgets: add a re-useable filtered logread view
[project/luci.git] / applications / luci-app-nextdns / htdocs / luci-static / resources / view / nextdns / logread.js
index 0ad4a79825a2383fe222b3db63283b26769eb6e5..13b22476f74c7f428f39dd779d3bcdf30f13ee0c 100644 (file)
@@ -1,45 +1,4 @@
 'use strict';
-'require view';
-'require poll';
-'require fs';
+'require tools.views as views';
 
-return view.extend({
-       render: function() {
-               poll.add(function() {
-                       return L.resolveDefault(fs.exec('/sbin/logread', ['-e', 'nextdns']), { code: 1 })
-                       .then(function(res) {
-                               var content;
-                               if (res.code === 0)
-                                       content = res.stdout.trim();
-                               if (!content)
-                                       content = _('No nextdns related logs yet!');
-                               var view       = document.getElementById("view_id");
-                               view.value     = content;
-                               view.scrollTop = view.scrollHeight;
-                       });
-               });
-               return E('div', { class: 'cbi-map' },
-                       E('div', { class: 'cbi-section' }, [
-                               E('div', { class: 'cbi-section-descr' },
-                                       _('The syslog output, pre-filtered for nextdns related messages only.')),
-                               E('textarea', {
-                                       id: 'view_id',
-                                       readonly: 'readonly',
-                                       wrap: 'off',
-                                       style: 'width: 100% !important;\
-                                               height: 450px !important;\
-                                               border: 1px solid #cccccc;\
-                                               padding: 5px;\
-                                               font-size: 12px;\
-                                               font-family: monospace;\
-                                               resize: none;\
-                                               pointer-events: auto;\
-                                               cursor: auto;'
-                               })
-                       ])
-               );
-       },
-       handleSaveApply: null,
-       handleSave: null,
-       handleReset: null
-});
+return views.LogreadBox("nextdns", "nextdns");