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

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

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

height: auto; height: auto;
} }
.widget-title-form label { .widget-title-form label {
font-size: 12px;
font-weight: normal; font-weight: normal;
} }
#history_page_size {
width:6em !important;
text-align: center;
}


/* Symbols coloring */ /* Symbols coloring */
.symbol-default { .symbol-default {

+ 4
- 4
interface/index.html View File



<div class="widget-box"> <div class="widget-box">
<div class="widget-title"> <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> <label for="selSymOrder">Symbols order:</label>
<select id="selSymOrder" class="form-control"> <select id="selSymOrder" class="form-control">
<option value="magnitude" selected>Score magnitude</option> <option value="magnitude" selected>Score magnitude</option>
<option value="score">Score value</option> <option value="score">Score value</option>
<option value="name">Name</option> <option value="name">Name</option>
</select> </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"> <button class="btn btn-danger btn-sm" id="resetHistory">
<i class="glyphicon glyphicon-remove-circle"></i> Reset <i class="glyphicon glyphicon-remove-circle"></i> Reset
</button> </button>
<button class="btn btn-info btn-sm" id="updateHistory"> <button class="btn btn-info btn-sm" id="updateHistory">
<i class="glyphicon glyphicon-refresh"></i> Update <i class="glyphicon glyphicon-refresh"></i> Update
</button> </button>
</form>
</div>
<span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span> <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
<h5>History</h5> <h5>History</h5>
</div> </div>

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

define(["jquery", "footable", "humanize"], define(["jquery", "footable", "humanize"],
function ($, _, Humanize) { function ($, _, Humanize) {
"use strict"; "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 ui = {};
var prevVersion = null; var prevVersion = null;
paging: { paging: {
enabled: true, enabled: true,
limit: 5, limit: 5,
size: rows_per_page
size: page_size.history
}, },
filtering: { filtering: {
enabled: true, enabled: true,
function waitForRowsDisplayed(rows_total, callback, iteration) { function waitForRowsDisplayed(rows_total, callback, iteration) {
var i = (typeof iteration === "undefined") ? 10 : iteration; var i = (typeof iteration === "undefined") ? 10 : iteration;
var num_rows = $("#historyTable > tbody > tr").length; var num_rows = $("#historyTable > tbody > tr").length;
if (num_rows === rows_per_page ||
if (num_rows === page_size.history ||
num_rows === rows_total) { num_rows === rows_total) {
return callback(); return callback();
} else if (--i) { } else if (--i) {
var order = this.value; var order = this.value;
change_symbols_order(order); 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 () { $(document).on("click", ".btn-sym-order button", function () {
var order = this.value; var order = this.value;
$("#selSymOrder").val(order); $("#selSymOrder").val(order);
paging: { paging: {
enabled: true, enabled: true,
limit: 5, limit: 5,
size: rows_per_page
size: page_size.errors
}, },
filtering: { filtering: {
enabled: true, enabled: true,

Loading…
Cancel
Save