summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-10-12 17:40:34 +0100
committerGitHub <noreply@github.com>2018-10-12 17:40:34 +0100
commit9f82eb1e291a4382ea82d296c6c6348749fbbc8a (patch)
tree3850a22f9a8f3f11b30678959ed9bc294a0f9706
parentc5a97182d972678a6f0cae53b4f8c0b6a1c84a31 (diff)
parentd1575c82140c149dc56e2a95cc9f928f55ec96e2 (diff)
downloadrspamd-9f82eb1e291a4382ea82d296c6c6348749fbbc8a.tar.gz
rspamd-9f82eb1e291a4382ea82d296c6c6348749fbbc8a.zip
Merge pull request #2586 from moisseev/eslint
[WebUI] Add symbols sorting buttons
-rw-r--r--.eslintrc.json3
-rw-r--r--interface/js/app/history.js51
2 files changed, 40 insertions, 14 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index 722f2b8ae..230365d86 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -23,7 +23,7 @@
"singleLine": { "afterColon": false }
}],
"max-params": ["warn", 6],
- "max-statements": ["warn", 30],
+ "max-statements": ["warn", 31],
"max-statements-per-line": ["error", { "max": 2 }],
"multiline-comment-style": "off",
"multiline-ternary": ["error", "always-multiline"],
@@ -46,6 +46,7 @@
"prefer-spread": "off",
"prefer-template": "off",
"quote-props" : ["error", "consistent-as-needed"],
+ "quotes": ["error", "double", { "avoidEscape": true }],
"require-jsdoc": "off",
"require-unicode-regexp": "off",
"space-before-function-paren": ["error", {
diff --git a/interface/js/app/history.js b/interface/js/app/history.js
index 1edd4bf28..184be994c 100644
--- a/interface/js/app/history.js
+++ b/interface/js/app/history.js
@@ -113,6 +113,11 @@ define(["jquery", "footable", "humanize"],
};
}
+ function getSelector(id) {
+ var e = document.getElementById(id);
+ return e.options[e.selectedIndex].value;
+ }
+
function get_compare_function() {
var compare_functions = {
magnitude: function (e1, e2) {
@@ -126,11 +131,6 @@ define(["jquery", "footable", "humanize"],
}
};
- function getSelector(id) {
- var e = document.getElementById(id);
- return e.options[e.selectedIndex].value;
- }
-
return compare_functions[getSelector("selSymOrder")];
}
@@ -346,7 +346,13 @@ define(["jquery", "footable", "humanize"],
sortValue: function (val) { return Number(val.options.sortValue); }
}, {
name: "symbols",
- title: "Symbols",
+ title: "Symbols<br /><br />" +
+ '<span style="font-weight:normal;">Sort by:</span><br />' +
+ '<div class="btn-group btn-group-xs btn-sym-order" data-toggle="buttons">' +
+ '<button type="button" class="btn btn-default btn-sym-magnitude" value="magnitude">Magnitude</button>' +
+ '<button type="button" class="btn btn-default btn-sym-score" value="score">Value</button>' +
+ '<button type="button" class="btn btn-default btn-sym-name" value="name">Name</button>' +
+ "</div>",
breakpoints: "all",
style: {
"font-size": "11px",
@@ -611,7 +617,15 @@ define(["jquery", "footable", "humanize"],
"ready.ft.table": drawTooltips,
"after.ft.sorting": drawTooltips,
"after.ft.paging": drawTooltips,
- "after.ft.filtering": drawTooltips
+ "after.ft.filtering": drawTooltips,
+ "expand.ft.row": function (e, ft, row) {
+ setTimeout(function () {
+ var detail_row = row.$el.next();
+ var order = getSelector("selSymOrder");
+ detail_row.find(".btn-sym-" + order)
+ .addClass("active").siblings().removeClass("active");
+ }, 5);
+ }
}
});
}
@@ -698,18 +712,29 @@ define(["jquery", "footable", "humanize"],
};
ui.setup = function (rspamd, tables) {
- $("#updateHistory").off("click");
- $("#updateHistory").on("click", function (e) {
- e.preventDefault();
- ui.getHistory(rspamd, tables);
- });
- $("#selSymOrder").unbind().change(function () {
+ function change_symbols_order(order) {
+ $(".btn-sym-" + order).addClass("active").siblings().removeClass("active");
var compare_function = get_compare_function();
$.each(tables.history.rows.all, function (i, row) {
var cell_val = sort_symbols(symbols[i], compare_function);
row.cells[8].val(cell_val, false, true);
});
drawTooltips();
+ }
+
+ $("#updateHistory").off("click");
+ $("#updateHistory").on("click", function (e) {
+ e.preventDefault();
+ ui.getHistory(rspamd, tables);
+ });
+ $("#selSymOrder").unbind().change(function () {
+ var order = this.value;
+ change_symbols_order(order);
+ });
+ $(document).on("click", ".btn-sym-order button", function () {
+ var order = this.value;
+ $("#selSymOrder").val(order);
+ change_symbols_order(order);
});
// @reset history log