]> git.wh0rd.org - tt-rss.git/blobdiff - prefs.js
refactor feed edit dialog
[tt-rss.git] / prefs.js
index fa4804ff474ac381378711e73ad4d2ffcf0c1b4c..5ca4e33383fa500666e60f64b7db1a8cfc1843d9 100644 (file)
--- a/prefs.js
+++ b/prefs.js
@@ -301,11 +301,39 @@ function editFilter(id, event) {
                        style: "width: 600px",
                        execute: function() {
                                if (this.validate()) {
-                                       this.hide();
-                                       new Ajax.Request("backend.php", {
-                                               parameters: dojo.objectToQuery(this.attr('value')),
+
+                                       var query = "?op=rpc&subop=verifyRegexp&reg_exp=" + 
+                                               param_escape(dialog.attr('value').reg_exp);
+
+                                       notify_progress("Verifying regular expression...");
+
+                                       new Ajax.Request("backend.php", {
+                                               parameters: query,
                                                onComplete: function(transport) {
-                                                       updateFilterList();                             
+                                                       handle_rpc_reply(transport);
+                                                       var response = transport.responseXML;
+
+                                                       if (response) {
+                                                               var s = response.getElementsByTagName("status")[0].firstChild.nodeValue;
+       
+                                                               notify('');
+
+                                                               if (s == "INVALID") {
+                                                                       alert("Match regular expression seems to be invalid.");
+                                                                       return;
+                                                               } else {
+                                                                       notify_progress("Saving data...", true);
+
+                                                                       console.log(dojo.objectToQuery(dialog.attr('value')));
+
+                                                                       new Ajax.Request("backend.php", {
+                                                                               parameters: dojo.objectToQuery(dialog.attr('value')),
+                                                                               onComplete: function(transport) {
+                                                                                       dialog.hide();
+                                                                                       updateFilterList();                             
+                                                                       }})
+                                                               }       
+                                                       }
                                        }});
                                }
                        },
@@ -319,39 +347,6 @@ function editFilter(id, event) {
        }
 }
 
-function editFeed(feed, event) {
-
-       try {
-
-               if (event && !event.ctrlKey) {
-
-                       notify_progress("Loading, please wait...");
-
-//                     selectTableRows('prefFeedList', 'none');        
-//                     selectTableRowById('FEEDR-'+feed, 'FRCHK-'+feed, true);
-       
-                       var query = "?op=pref-feeds&subop=editfeed&id=" +
-                               param_escape(feed);
-       
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                               infobox_callback2(transport);
-                                               document.forms["edit_feed_form"].title.focus();
-                                       } });
-
-               } else if (event.ctrlKey) {
-//                     var cb = $('FRCHK-' + feed);
-//                     cb.checked = !cb.checked;
-//                     toggleSelectRow(cb);
-               }
-
-
-       } catch (e) {
-               exception_error("editFeed", e);
-       }
-}
-
 function getSelectedLabels() {
        var tree = dijit.byId("labelTree");
        var items = tree.model.getCheckedItems();
@@ -651,46 +646,11 @@ function removeSelectedFeedCats() {
        return false;
 }
 
-function feedEditCancel() {
-       closeInfoBox();
-       return false;
-}
-
-function feedEditSave() {
-
-       try {
-       
-               // FIXME: add parameter validation
-
-               var query = Form.serialize("edit_feed_form");
-
-               notify_progress("Saving feed...");
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) { 
-                               feedlist_callback2(transport); 
-                       } });
-
-               closeInfoBox();
-
-               return false;
-
-       } catch (e) {
-               exception_error("feedEditSave", e);
-       } 
-}
-
 function userEditCancel() {
        closeInfoBox();
        return false;
 }
 
-function filterEditCancel() {
-       closeInfoBox();
-       return false;
-}
-
 function userEditSave() {
 
        try {
@@ -723,55 +683,6 @@ function userEditSave() {
 }
 
 
-function filterEditSave() {
-       try {
-               var reg_exp = document.forms["filter_edit_form"].reg_exp.value;
-
-               var query = "?op=rpc&subop=verifyRegexp&reg_exp=" + param_escape(reg_exp);
-
-               notify_progress("Verifying regular expression...");
-
-               new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                       handle_rpc_reply(transport);
-
-                                       var response = transport.responseXML;
-
-                                       if (response) {
-                                               var s = response.getElementsByTagName("status")[0].firstChild.nodeValue;
-       
-                                               notify('');
-
-                                               if (s == "INVALID") {
-                                                       alert("Match regular expression seems to be invalid.");
-                                                       return;
-                                               } else {
-
-                                                       var query = "?" + Form.serialize("filter_edit_form");
-                                       
-                                                       notify_progress("Saving filter...");
-                       
-                                                       Form.disable("filter_edit_form");
-
-                                                       new Ajax.Request("backend.php", {
-                                                                       parameters: query,
-                                                                       onComplete: function(transport) {
-                                                                                       closeInfoBox();
-                                                                                       filterlist_callback2(transport);
-                                                               } });
-                                               }
-                                       }
-                       } });
-
-       } catch (e) {
-               exception_error("filterEditSave", e);
-       }
-
-       return false;
-}
-
-
 function editSelectedUser() {
        var rows = getSelectedUsers();
 
@@ -1106,6 +1017,7 @@ function init() {
                dojo.require("dijit.form.Select");
                dojo.require("dijit.form.FilteringSelect");
                dojo.require("dijit.form.TextBox");
+               dojo.require("dijit.form.CheckBox");
                dojo.require("dijit.form.ValidationTextBox");
                dojo.require("dijit.form.RadioButton");
                dojo.require("dijit.form.Select");
@@ -1652,8 +1564,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="+
@@ -2001,29 +1913,4 @@ function editLabel(id, event) {
        }
 }
 
-function editLabelSave() {
-       try {
-               var form = document.forms['label_edit_form'];
-
-               var id = form.id.value;
-               var caption = form.caption.value;
-               var fg_color = form.fg_color.value;
-               var bg_color = form.bg_color.value;
-
-               var query = Form.serialize('label_edit_form');
-
-               dijit.byId('labelTree').setNameById(id, caption);
-               setLabelColor(id, fg_color, bg_color);
 
-               closeInfoBox();
-               updateFilterList();
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) { 
-                       } });
-
-       } catch (e) {
-               exception_error("editLabelSave", e);
-       }
-}