aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib/plugins
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2020-10-15 12:13:32 +0200
committerAndreas Gohr <andi@splitbrain.org>2020-10-15 12:19:55 +0200
commit6071f0eef30466192d0db9320b73a17c5ef7df39 (patch)
treea64bdb3c0583c63c409e48b196bb08addb13acfa /lib/plugins
parentcad4fbf6e21bd4a053f1f42b9e40c74f1cfaeab6 (diff)
downloaddokuwiki-logging.tar.gz
dokuwiki-logging.zip
added JavaScript based filter mechanismlogging
Diffstat (limited to 'lib/plugins')
-rw-r--r--lib/plugins/logviewer/admin.php2
-rw-r--r--lib/plugins/logviewer/lang/en/lang.php3
-rw-r--r--lib/plugins/logviewer/script.js21
-rw-r--r--lib/plugins/logviewer/style.less10
4 files changed, 32 insertions, 4 deletions
diff --git a/lib/plugins/logviewer/admin.php b/lib/plugins/logviewer/admin.php
index 7a28e208b..6eb177af2 100644
--- a/lib/plugins/logviewer/admin.php
+++ b/lib/plugins/logviewer/admin.php
@@ -59,7 +59,7 @@ class admin_plugin_logviewer extends DokuWiki_Admin_Plugin
$form->setHiddenField('do', 'admin');
$form->setHiddenField('page', 'logviewer');
$form->setHiddenField('facility', $this->facility);
- $form->addTextInput('date','Date*')->attr('type','date')->val($this->date)->addClass('quickselect');
+ $form->addTextInput('date',$this->getLang('date'))->attr('type','date')->val($this->date)->addClass('quickselect');
$form->addButton('submit','>')->attr('type','submit');
echo $form->toHTML();
diff --git a/lib/plugins/logviewer/lang/en/lang.php b/lib/plugins/logviewer/lang/en/lang.php
index 3f32e0bed..7daff6ab4 100644
--- a/lib/plugins/logviewer/lang/en/lang.php
+++ b/lib/plugins/logviewer/lang/en/lang.php
@@ -6,4 +6,5 @@
*/
$lang['menu'] = 'View Logs';
-
+$lang['date'] = 'Date';
+$lang['js']['filter'] = 'Filter Loglines:';
diff --git a/lib/plugins/logviewer/script.js b/lib/plugins/logviewer/script.js
index 5a5303c84..ebb9478b5 100644
--- a/lib/plugins/logviewer/script.js
+++ b/lib/plugins/logviewer/script.js
@@ -3,6 +3,23 @@
*/
jQuery(function () {
var $dl = jQuery('#plugin__logviewer').find('dl');
- if(!$dl.length) return;
- $dl.animate({ scrollTop: $dl.prop("scrollHeight")}, 500);
+ if (!$dl.length) return;
+ $dl.animate({scrollTop: $dl.prop("scrollHeight")}, 500);
+
+
+ var $filter = jQuery('<input>');
+ $filter.on('keyup', function (e) {
+ var re = new RegExp($filter.val(), 'i');
+
+ $dl.find('dt').each(function (idx, elem) {
+ if (elem.innerText.match(re)) {
+ jQuery(elem).removeClass('hidden');
+ } else {
+ jQuery(elem).addClass('hidden');
+ }
+ });
+ });
+ $dl.before($filter);
+ $filter.wrap('<label></label>');
+ $filter.before(LANG.plugins.logviewer.filter + ' ');
});
diff --git a/lib/plugins/logviewer/style.less b/lib/plugins/logviewer/style.less
index f9c8b1d89..af78379c0 100644
--- a/lib/plugins/logviewer/style.less
+++ b/lib/plugins/logviewer/style.less
@@ -7,6 +7,12 @@
margin-bottom: 2em;
}
+ label {
+ display: block;
+ margin-top: -1em;
+ margin-bottom: 1em;
+ }
+
dl {
max-height: 80vh;
overflow: auto;
@@ -14,6 +20,10 @@
dt {
display: flex;
+ &.hidden {
+ display: none;
+ }
+
.datetime {
flex: 0 0 auto;
margin-right: 1em;