]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix date for all history items, draw error table with footable
authorandre.peters <andre.peters@servercow.de>
Sun, 19 Mar 2017 21:30:42 +0000 (22:30 +0100)
committerandre.peters <andre.peters@servercow.de>
Sun, 19 Mar 2017 21:30:42 +0000 (22:30 +0100)
interface/js/app/history.js

index 76c365f4af986dd5292af5a552187028ae14c367..63fe8e0dd988e5b39100f1adc2a55f0d6153f9ca 100644 (file)
  THE SOFTWARE.
  */
 
-define(['jquery', 'datatables', 'footable'],
+define(['jquery', 'footable'],
 function($) {
     var interface = {};
 
     function unix_time_format(tm) {
         var date = new Date(tm ? tm * 1000 : 0);
-
         return date.toLocaleString();
     }
 
@@ -73,6 +72,7 @@ function($) {
         var items = [];
 
         $.each(data, function (i, item) {
+            item.time = unix_time_format(item.unix_time)
             if (item.action === 'clean' || item.action === 'no action') {
                 item.action = "<div style='font-size:11px' class='label label-success'>" + item.action + "</div>";
             } else if (item.action === 'rewrite subject' || item.action === 'add header' || item.action === 'probable spam') {
@@ -248,37 +248,34 @@ function($) {
                 rspamd.alertMessage('alert-error', 'Cannot receive errors');
             },
             success: function (data) {
-                $.each(data, function (i, item) {
-
-                    items.push(
-                        '<tr><td data-order="' + item.ts + '">' + new Date(item.ts * 1000) + '</td>' +
-                        '<td data-order="' + item.type + '">' + item.type + '</td>' +
-                        '<td data-order="' + item.pid + '">' + item.pid + '</td>' +
-                        '<td data-order="' + item.module + '">' + item.module + '</td>' +
-                        '<td data-order="' + item.id + '">' + item.id + '</td>' +
-                        '<td data-order="' + item.message + '"><div class="cell-overflow" tabindex="1" title="' + item.message + '">' + item.message + '</div></td></tr>'
-                    );
+              $.each(data, function (i, item) {
+                  items.push(
+                    item.ts = unix_time_format(item.ts)
+                  );
                 });
-                $('<tbody/>', {
-                    html: items.join('')
-                }).insertAfter('#errorsLog thead');
-                tables.errors = $('#errorsLog').DataTable({
-                    "paging": true,
-                    "orderMulti": false,
-                    "order": [
-                        [0, "desc"],
-                    ],
-                    "info": false,
+                $('#errorsLog').footable({
                     "columns": [
-                        {"width": "15%", "searchable": true, "orderable": true, "type": "num"},
-                        {"width": "5%", "searchable": true, "orderable": true},
-                        {"width": "5%", "searchable": true, "orderable": true},
-                        {"width": "3%", "searchable": true, "orderable": true},
-                        {"width": "3%", "searchable": true, "orderable": true},
-                        {"width": "65%", "searchable": true, "orderable": true},
+                      {"sorted": true,"direction": "DESC","name":"ts","title":"Time","style":{"font-size":"11px","width":300,"maxWidth":300}},
+                      {"name":"type","title":"Worker type","breakpoints":"xs sm","style":{"font-size":"11px","width":150,"maxWidth":150}},
+                      {"name":"pid","title":"PID","breakpoints":"xs sm","style":{"font-size":"11px","width":110,"maxWidth":110}},
+                      {"name":"module","title":"Module","style":{"font-size":"11px"}},
+                      {"name":"id","title":"Internal ID","style":{"font-size":"11px"}},
+                      {"name":"message","title":"Message","breakpoints":"xs sm","style":{"font-size":"11px"}},
                     ],
+                    "rows": data,
+                    "paging": {
+                      "enabled": true,
+                      "limit": 5,
+                      "size": 25
+                    },
+                    "filtering": {
+                      "enabled": true,
+                      "position": "left"
+                    },
+                    "sorting": {
+                      "enabled": true
+                    }
                 });
-                tables.errors.columns.adjust().draw();
             }
         });
     };