commit 4fc0603: [Minor] Rework symbol description tooltips
moisseev
moiseev at mezonplus.ru
Fri Jun 18 13:56:04 UTC 2021
Author: moisseev
Date: 2021-06-17 19:19:13 +0300
URL: https://github.com/rspamd/rspamd/commit/4fc0603777c50df3783220316ba0e954baffb061
[Minor] Rework symbol description tooltips
---
interface/js/app/history.js | 6 ------
interface/js/app/rspamd.js | 35 ++++++++++-------------------------
interface/js/app/upload.js | 1 -
3 files changed, 10 insertions(+), 32 deletions(-)
diff --git a/interface/js/app/history.js b/interface/js/app/history.js
index 8feb527e1..3ab8d1d31 100644
--- a/interface/js/app/history.js
+++ b/interface/js/app/history.js
@@ -352,12 +352,6 @@ define(["jquery", "footable"],
if (Object.prototype.hasOwnProperty.call(tables, "history") &&
version === prevVersion) {
tables.history.rows.load(items);
- if (version) { // Non-legacy
- // Is there a way to get an event when all rows are loaded?
- rspamd.waitForRowsDisplayed("history", items.length, function () {
- rspamd.drawTooltips();
- });
- }
} else {
rspamd.destroyTable("history");
// Is there a way to get an event when the table is destroyed?
diff --git a/interface/js/app/rspamd.js b/interface/js/app/rspamd.js
index 1679db1b3..a99cbd4fb 100644
--- a/interface/js/app/rspamd.js
+++ b/interface/js/app/rspamd.js
@@ -50,7 +50,6 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
var timer_id = [];
var locale = null;
var selData = null; // Graph's dataset selector state
- var symbolDescriptions = {};
NProgress.configure({
minimum: 0.01,
@@ -210,17 +209,6 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
}, (id === "#autoRefresh") ? 0 : 1000);
}
- function drawTooltips() {
- // Update symbol description tooltips
- $.each(symbolDescriptions, function (key, description) {
- $("abbr[data-sym-key=" + key + "]").tooltip({
- placement: "bottom",
- html: true,
- title: description
- });
- });
- }
-
function getPassword() {
return sessionStorage.getItem("Password");
}
@@ -520,6 +508,12 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
tabClick("#" + $("#navBar > ul > .nav-item > .nav-link.active").attr("id"));
});
+ $("body").tooltip({
+ selector: ".symbol-default abbr[title]",
+ placement: "left",
+ html: true
+ });
+
// Radio buttons
$(document).on("click", "input:radio[name=\"clusterName\"]", function () {
if (!this.disabled) {
@@ -764,7 +758,6 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
// Scan and History shared functions
- ui.drawTooltips = drawTooltips;
ui.unix_time_format = unix_time_format;
ui.set_page_size = set_page_size;
@@ -776,7 +769,6 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
var cell_val = sort_symbols(ui.symbols[table][i], compare_function);
row.cells[symbolsCol].val(cell_val, false, true);
});
- drawTooltips();
}
$("#selSymOrder_" + table).unbind().change(function () {
@@ -883,10 +875,6 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
filtering: FooTable.actionFilter
},
on: {
- "ready.ft.table": drawTooltips,
- "after.ft.sorting": drawTooltips,
- "after.ft.paging": drawTooltips,
- "after.ft.filtering": drawTooltips,
"expand.ft.row": function (e, ft, row) {
setTimeout(function () {
var detail_row = row.$el.next();
@@ -1020,18 +1008,15 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
}
rspamd.preprocess_item(rspamd, item);
- Object.keys(item.symbols).forEach(function (key) {
- var sym = item.symbols[key];
+ Object.values(item.symbols).forEach(function (sym) {
sym.str = '<span class="symbol-default ' + get_symbol_class(sym.name, sym.score) + '"><strong>';
if (sym.description) {
- sym.str += '<abbr data-sym-key="' + key + '">' +
- sym.name + "</abbr></strong> (" + sym.score + ")</span>";
- // Store description for tooltip
- symbolDescriptions[key] = sym.description;
+ sym.str += '<abbr title="' + sym.description + '">' + sym.name + "</abbr>";
} else {
- sym.str += sym.name + "</strong> (" + sym.score + ")</span>";
+ sym.str += sym.name;
}
+ sym.str += "</strong> (" + sym.score + ")</span>";
if (sym.options) {
sym.str += " [" + sym.options.join(",") + "]";
diff --git a/interface/js/app/upload.js b/interface/js/app/upload.js
index 936e223e4..88b7da423 100644
--- a/interface/js/app/upload.js
+++ b/interface/js/app/upload.js
@@ -148,7 +148,6 @@ define(["jquery"],
tables.scan.rows.load(items, true);
// Is there a way to get an event when all rows are loaded?
rspamd.waitForRowsDisplayed("scan", rows_total, function () {
- rspamd.drawTooltips();
$("html, body").animate({
scrollTop: $("#scanResult").offset().top
}, 1000);
More information about the Commits
mailing list