]> git.wh0rd.org - tt-rss.git/blobdiff - prefs.js
use dijit.form.Buttons in refactored filter/label dialogs
[tt-rss.git] / prefs.js
index 2309e29ce9d9b49e14a9563e7f2b3bc6ab7e1a19..fdcf28e873cee2fde3d60254b88616ee48e3b1b3 100644 (file)
--- a/prefs.js
+++ b/prefs.js
@@ -288,27 +288,32 @@ function editUser(id, event) {
 }
 
 function editFilter(id, event) {
-
        try {
 
-               if (!event || !event.ctrlKey) {
+               var query = "backend.php?op=pref-filters&subop=edit&id=" + param_escape(id);
 
-                       notify_progress("Loading, please wait...", true);
+               if (dijit.byId("filterEditDlg"))
+                       dijit.byId("filterEditDlg").destroyRecursive();
+
+               dialog = new dijit.Dialog({
+                       id: "filterEditDlg",
+                       title: __("Edit Filter"),
+                       style: "width: 600px",
+                       execute: function() {
+                               if (this.validate()) {
+                                       this.hide();
+                                       notify_progress("Savind data...", true);
+                                       new Ajax.Request("backend.php", {
+                                               parameters: dojo.objectToQuery(this.attr('value')),
+                                               onComplete: function(transport) {
+                                                       updateFilterList();                             
+                                       }});
+                               }
+                       },
+                       href: query});
+
+               dialog.show();
 
-                       var query = "?op=pref-filters&subop=edit&id=" + 
-                               param_escape(id);
-       
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                               infobox_callback2(transport);
-                                               document.forms['filter_edit_form'].reg_exp.focus();
-                                       } });
-               } else if (event.ctrlKey) {
-                       var cb = $('FICHK-' + id);
-                       cb.checked = !cb.checked;
-                       toggleSelectRow(cb);
-               }
 
        } catch (e) {
                exception_error("editFilter", e);
@@ -1099,6 +1104,8 @@ function init() {
                dojo.require("dijit.layout.ContentPane");
                dojo.require("dijit.Dialog");
                dojo.require("dijit.form.Button");
+               dojo.require("dijit.form.Select");
+               dojo.require("dijit.form.FilteringSelect");
                dojo.require("dijit.form.TextBox");
                dojo.require("dijit.form.ValidationTextBox");
                dojo.require("dijit.form.RadioButton");
@@ -1646,8 +1653,8 @@ function removeFilter(id, title) {
                var ok = confirm(msg);
        
                if (ok) {
-                       closeInfoBox();
-       
+                       dijit.byId("filterEditDlg").hide();
+
                        notify_progress("Removing filter...");
                
                        var query = "?op=pref-filters&subop=remove&ids="+