diff options
Diffstat (limited to 'interface/js/app/rspamd.js')
-rw-r--r-- | interface/js/app/rspamd.js | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/interface/js/app/rspamd.js b/interface/js/app/rspamd.js index 6d047d6f6..4b154c2ae 100644 --- a/interface/js/app/rspamd.js +++ b/interface/js/app/rspamd.js @@ -176,7 +176,10 @@ define(["jquery", "app/common", "stickytabs", "visibility", require(["app/symbols"], (module) => module.getSymbols()); break; case "#scan_nav": - require(["app/upload"]); + require(["app/upload"], (module) => { + module.getClassifiers(); + module.getFuzzyStorages(); + }); break; case "#selectors_nav": require(["app/selectors"], (module) => module.displayUI()); @@ -195,6 +198,8 @@ define(["jquery", "app/common", "stickytabs", "visibility", $(".preset").hide(); $(".history").show(); $(".dynamic").hide(); + + module.updateHistoryControlsState(); }); break; case "#disconnect": @@ -236,6 +241,8 @@ define(["jquery", "app/common", "stickytabs", "visibility", complete: function () { ajaxSetup(localStorage.getItem("ajax_timeout")); + if (require.defined("app/upload")) require(["app/upload"], (module) => module.getClassifiers()); + if (common.read_only) { $(".ro-disable").attr("disabled", true); $(".ro-hide").hide(); @@ -343,6 +350,8 @@ define(["jquery", "app/common", "stickytabs", "visibility", let selected_locale = null; let custom_locale = null; const localeTextbox = ".popover #settings-popover #locale"; + const historyCountDef = 1000; + const historyCountSelector = ".popover #settings-popover #settings-history-count"; function validateLocale(saveToLocalStorage) { function toggle_form_group_class(remove, add) { @@ -401,6 +410,8 @@ define(["jquery", "app/common", "stickytabs", "visibility", $(localeTextbox).val(custom_locale); ajaxSetup(localStorage.getItem("ajax_timeout"), true); + + $(historyCountSelector).val(parseInt(localStorage.getItem("historyCount"), 10) || historyCountDef); }); $(document).on("change", '.popover #settings-popover input:radio[name="locale"]', function () { selected_locale = this.value; @@ -418,6 +429,21 @@ define(["jquery", "app/common", "stickytabs", "visibility", ajaxSetup(null, true, true); }); + $(document).on("input", historyCountSelector, (e) => { + const v = parseInt($(e.currentTarget).val(), 10); + if (v > 0) { + localStorage.setItem("historyCount", v); + $(e.currentTarget).removeClass("is-invalid"); + $("#history-count").val(v).trigger("change"); + } else { + $(e.currentTarget).addClass("is-invalid"); + } + }); + $(document).on("click", ".popover #settings-popover #settings-history-count-restore", () => { + localStorage.removeItem("historyCount"); + $(historyCountSelector).val(historyCountDef); + }); + // Dismiss Bootstrap popover by clicking outside $("body").on("click", (e) => { $(".popover").each(function () { |