Browse Source

[WebUI] Add history rows per page control

tags/1.8.2
Alexander Moisseev 5 years ago
parent
commit
1bbc384db6
4 changed files with 32 additions and 9 deletions
  1. 1
    1
      .eslintrc.json
  2. 5
    0
      interface/css/rspamd.css
  3. 4
    4
      interface/index.html
  4. 22
    4
      interface/js/app/history.js

+ 1
- 1
.eslintrc.json View File

@@ -23,7 +23,7 @@
"singleLine": { "afterColon": false }
}],
"max-params": ["warn", 6],
"max-statements": ["warn", 31],
"max-statements": ["warn", 33],
"max-statements-per-line": ["error", { "max": 2 }],
"multiline-comment-style": "off",
"multiline-ternary": ["error", "always-multiline"],

+ 5
- 0
interface/css/rspamd.css View File

@@ -155,8 +155,13 @@ input.action-scores {
height: auto;
}
.widget-title-form label {
font-size: 12px;
font-weight: normal;
}
#history_page_size {
width:6em !important;
text-align: center;
}

/* Symbols coloring */
.symbol-default {

+ 4
- 4
interface/index.html View File

@@ -287,22 +287,22 @@

<div class="widget-box">
<div class="widget-title">
<form role="form" class="form-inline pull-right buttons">
<div class="form-group widget-title-form">
<div class="form-inline widget-title-form input-group-sm pull-right buttons">
<label for="selSymOrder">Symbols order:</label>
<select id="selSymOrder" class="form-control">
<option value="magnitude" selected>Score magnitude</option>
<option value="score">Score value</option>
<option value="name">Name</option>
</select>
</div>
<label for="history_page_size">Rows per page:</label>
<input id="history_page_size" class="form-control" value="25" min="1" type="number">
<button class="btn btn-danger btn-sm" id="resetHistory">
<i class="glyphicon glyphicon-remove-circle"></i> Reset
</button>
<button class="btn btn-info btn-sm" id="updateHistory">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</form>
</div>
<span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
<h5>History</h5>
</div>

+ 22
- 4
interface/js/app/history.js View File

@@ -27,7 +27,22 @@
define(["jquery", "footable", "humanize"],
function ($, _, Humanize) {
"use strict";
var rows_per_page = 25;
var page_size = {
errors: 25,
history: 25
};

function set_page_size(n, callback) {
if (n !== page_size.history && n > 0) {
page_size.history = n;
if (callback) {
return callback(n);
}
}
return null;
}

set_page_size($("#history_page_size").val());

var ui = {};
var prevVersion = null;
@@ -611,7 +626,7 @@ define(["jquery", "footable", "humanize"],
paging: {
enabled: true,
limit: 5,
size: rows_per_page
size: page_size.history
},
filtering: {
enabled: true,
@@ -652,7 +667,7 @@ define(["jquery", "footable", "humanize"],
function waitForRowsDisplayed(rows_total, callback, iteration) {
var i = (typeof iteration === "undefined") ? 10 : iteration;
var num_rows = $("#historyTable > tbody > tr").length;
if (num_rows === rows_per_page ||
if (num_rows === page_size.history ||
num_rows === rows_total) {
return callback();
} else if (--i) {
@@ -742,6 +757,9 @@ define(["jquery", "footable", "humanize"],
var order = this.value;
change_symbols_order(order);
});
$("#history_page_size").change(function () {
set_page_size(this.value, function (n) { tables.history.pageSize(n); });
});
$(document).on("click", ".btn-sym-order button", function () {
var order = this.value;
$("#selSymOrder").val(order);
@@ -782,7 +800,7 @@ define(["jquery", "footable", "humanize"],
paging: {
enabled: true,
limit: 5,
size: rows_per_page
size: page_size.errors
},
filtering: {
enabled: true,

Loading…
Cancel
Save