diff options
Diffstat (limited to 'js/CommonFilters.js')
-rw-r--r-- | js/CommonFilters.js | 55 |
1 files changed, 20 insertions, 35 deletions
diff --git a/js/CommonFilters.js b/js/CommonFilters.js index 1538a3fb3..53573b365 100644 --- a/js/CommonFilters.js +++ b/js/CommonFilters.js @@ -2,24 +2,6 @@ /* global __, ngettext */ define(["dojo/_base/declare"], function (declare) { Filters = { - filterDlgCheckRegExp: function(sender) { - const tooltip = dijit.byId("filterDlg_regExp_tip").domNode; - - try { - sender.domNode.removeClassName("invalid"); - sender.domNode.removeClassName("valid"); - - new RegExp("/" + sender.value + "/"); - - sender.domNode.addClassName("valid"); - tooltip.innerText = __("Regular expression, without outer delimiters (i.e. slashes)"); - - } catch (e) { - sender.domNode.addClassName("invalid"); - - tooltip.innerText = e.message; - } - }, filterDlgCheckAction: function(sender) { const action = sender.value; @@ -143,9 +125,6 @@ define(["dojo/_base/declare"], function (declare) { if (dijit.byId("filterNewRuleDlg")) dijit.byId("filterNewRuleDlg").destroyRecursive(); - const query = "backend.php?op=pref-filters&method=newrule&rule=" + - encodeURIComponent(ruleStr); - const rule_dlg = new dijit.Dialog({ id: "filterNewRuleDlg", title: ruleStr ? __("Edit rule") : __("Add rule"), @@ -156,7 +135,15 @@ define(["dojo/_base/declare"], function (declare) { this.hide(); } }, - href: query + content: __('Loading, please wait...'), + }); + + const tmph = dojo.connect(rule_dlg, "onShow", null, function (e) { + dojo.disconnect(tmph); + + xhrPost("backend.php", {op: 'pref-filters', method: 'newrule', rule: ruleStr}, (transport) => { + rule_dlg.attr('content', transport.responseText); + }); }); rule_dlg.show(); @@ -183,7 +170,7 @@ define(["dojo/_base/declare"], function (declare) { rule_dlg.show(); }, - editFilterTest: function(query) { + editFilterTest: function(params) { if (dijit.byId("filterTestDlg")) dijit.byId("filterTestDlg").destroyRecursive(); @@ -195,12 +182,14 @@ define(["dojo/_base/declare"], function (declare) { results: 0, limit: 100, max_offset: 10000, - getTestResults: function (query, offset) { - const updquery = query + "&offset=" + offset + "&limit=" + test_dlg.limit; + getTestResults: function (params, offset) { + params.method = 'testFilterDo'; + params.offset = offset; + params.limit = test_dlg.limit; console.log("getTestResults:" + offset); - xhrPost("backend.php", updquery, (transport) => { + xhrPost("backend.php", params, (transport) => { try { const result = JSON.parse(transport.responseText); @@ -216,9 +205,7 @@ define(["dojo/_base/declare"], function (declare) { console.log(offset + " " + test_dlg.max_offset); for (let i = 0; i < result.length; i++) { - const tmp = new Element("table"); - tmp.innerHTML = result[i]; - dojo.parser.parse(tmp); + const tmp = dojo.create("table", { innerHTML: result[i]}); $("prefFilterTestResultList").innerHTML += tmp.innerHTML; } @@ -227,7 +214,7 @@ define(["dojo/_base/declare"], function (declare) { // get the next batch window.setTimeout(function () { - test_dlg.getTestResults(query, offset + test_dlg.limit); + test_dlg.getTestResults(params, offset + test_dlg.limit); }, 0); } else { @@ -262,11 +249,11 @@ define(["dojo/_base/declare"], function (declare) { }); }, - href: query + href: "backend.php?op=pref-filters&method=testFilterDlg" }); dojo.connect(test_dlg, "onLoad", null, function (e) { - test_dlg.getTestResults(query, 0); + test_dlg.getTestResults(params, 0); }); test_dlg.show(); @@ -296,9 +283,7 @@ define(["dojo/_base/declare"], function (declare) { title: __("Create Filter"), style: "width: 600px", test: function () { - const query = "backend.php?" + dojo.formToQuery("filter_new_form") + "&savemode=test"; - - Filters.editFilterTest(query); + Filters.editFilterTest(dojo.formToObject("filter_new_form")); }, selectRules: function (select) { Lists.select("filterDlg_Matches", select); |