]> git.wh0rd.org - tt-rss.git/blobdiff - js/prefs.js
move opml stuff to classes/opml.php
[tt-rss.git] / js / prefs.js
index ce233b749d3fde300a827a9e30f1dbe2953879a1..f7a68bf6de237c8bd80ee22fdc9930083fc8174b 100644 (file)
@@ -824,8 +824,12 @@ function importData() {
 
 
 function updateFilterList() {
+       var user_search = $("filter_search");
+       var search = "";
+       if (user_search) { search = user_search.value; }
+
        new Ajax.Request("backend.php", {
-               parameters: "?op=pref-filters",
+               parameters: "?op=pref-filters&search=" + param_escape(search),
                onComplete: function(transport) {
                        dijit.byId('filterConfigTab').attr('content', transport.responseText);
                        notify("");
@@ -914,6 +918,31 @@ function init() {
                dojo.registerModulePath("lib", "..");
                dojo.registerModulePath("fox", "../../js/");
 
+               dojo.require("dijit.ColorPalette");
+               dojo.require("dijit.Dialog");
+               dojo.require("dijit.form.Button");
+               dojo.require("dijit.form.CheckBox");
+               dojo.require("dijit.form.DropDownButton");
+               dojo.require("dijit.form.FilteringSelect");
+               dojo.require("dijit.form.Form");
+               dojo.require("dijit.form.RadioButton");
+               dojo.require("dijit.form.Select");
+               dojo.require("dijit.form.SimpleTextarea");
+               dojo.require("dijit.form.TextBox");
+               dojo.require("dijit.form.ValidationTextBox");
+               dojo.require("dijit.InlineEditBox");
+               dojo.require("dijit.layout.AccordionContainer");
+               dojo.require("dijit.layout.BorderContainer");
+               dojo.require("dijit.layout.ContentPane");
+               dojo.require("dijit.layout.TabContainer");
+               dojo.require("dijit.Menu");
+               dojo.require("dijit.ProgressBar");
+               dojo.require("dijit.ProgressBar");
+               dojo.require("dijit.Toolbar");
+               dojo.require("dijit.Tree");
+               dojo.require("dijit.tree.dndSource");
+               dojo.require("dojo.data.ItemFileWriteStore");
+
                dojo.require("lib.CheckBoxTree");
                dojo.require("fox.PrefFeedTree");
                dojo.require("fox.PrefFilterTree");
@@ -970,7 +999,7 @@ function validatePrefsReset() {
 
 function pref_hotkey_handler(e) {
        try {
-               if (e.target.nodeName == "INPUT") return;
+               if (e.target.nodeName == "INPUT" || e.target.nodeName == "TEXTAREA") return;
 
                var keycode = false;
                var shift_key = false;
@@ -1140,72 +1169,51 @@ function pref_hotkey_handler(e) {
        }
 }
 
-function editFeedCats() {
+function removeCategory(id, item) {
        try {
-               var query = "backend.php?op=pref-feeds&method=editCats";
 
-               if (dijit.byId("feedCatEditDlg"))
-                       dijit.byId("feedCatEditDlg").destroyRecursive();
+               var ok = confirm(__("Remove category %s? Any nested feeds would be placed into Uncategorized.").replace("%s", item.name));
 
-               dialog = new dijit.Dialog({
-                       id: "feedCatEditDlg",
-                       title: __("Feed Categories"),
-                       style: "width: 600px",
-                       getSelectedCategories: function() {
-                               return getSelectedTableRowIds("prefFeedCatList");
-                       },
-                       removeSelected: function() {
-                               var sel_rows = this.getSelectedCategories();
+               if (ok) {
+                       var query = "?op=pref-feeds&method=removeCat&ids="+
+                               param_escape(id);
 
-                               if (sel_rows.length > 0) {
-                                       var ok = confirm(__("Remove selected categories?"));
+                       notify_progress("Removing category...");
 
-                                       if (ok) {
-                                               notify_progress("Removing selected categories...", true);
+                       new Ajax.Request("backend.php", {
+                               parameters: query,
+                               onComplete: function(transport) {
+                                       notify('');
+                                       updateFeedList();
+                               } });
+                       }
 
-                                               var query = "?op=pref-feeds&method=editCats&action=remove&ids="+
-                                                       param_escape(sel_rows.toString());
+       } catch (e) {
+               exception_error("removeCategory", e);
+       }
+}
 
-                                               new Ajax.Request("backend.php", {
-                                                       parameters: query,
-                                                       onComplete: function(transport) {
-                                                               notify('');
-                                                               dialog.attr('content', transport.responseText);
-                                                               updateFeedList();
-                                                       } });
+function createCategory() {
+       try {
+               var title = prompt(__("Category title:"));
 
-                                       }
+               if (title) {
 
-                               } else {
-                                       alert(__("No categories are selected."));
-                               }
-                       },
-                       addCategory: function() {
-                               if (this.validate()) {
-                                       notify_progress("Creating category...");
+                       notify_progress("Creating category...");
 
-                                       var query = "?op=pref-feeds&method=editCats&action=add&cat=" +
-                                               param_escape(this.attr('value').newcat);
+                       var query = "?op=pref-feeds&method=addCat&cat=" +
+                               param_escape(title);
 
-                                       new Ajax.Request("backend.php", {
-                                               parameters: query,
-                                               onComplete: function(transport) {
-                                                       notify('');
-                                                       dialog.attr('content', transport.responseText);
-                                                       updateFeedList();
-                                               } });
-                               }
-                       },
-                       execute: function() {
-                               if (this.validate()) {
-                               }
-                       },
-                       href: query});
-
-               dialog.show();
+                       new Ajax.Request("backend.php", {
+                               parameters: query,
+                               onComplete: function(transport) {
+                                       notify('');
+                                       updateFeedList();
+                               } });
+               }
 
        } catch (e) {
-               exception_error("editFeedCats", e);
+               exception_error("createCategory", e);
        }
 }
 
@@ -1635,6 +1643,21 @@ function resetCatOrder() {
        }
 }
 
+function toggleHiddenFeedCats() {
+       try {
+               notify_progress("Loading, please wait...");
+
+               new Ajax.Request("backend.php", {
+                       parameters: "?op=pref-feeds&method=togglehiddenfeedcats",
+                       onComplete: function(transport) {
+                               updateFeedList();
+                       } });
+
+       } catch (e) {
+               exception_error("toggleHiddenFeedCats");
+       }
+}
+
 function editCat(id, item, event) {
        try {
                var new_name = prompt(__('Rename category to:'), item.name);
@@ -2069,8 +2092,41 @@ function dataImportComplete(iframe) {
 
 function gotoExportOpml(filename, settings) {
        tmp = settings ? 1 : 0;
-       document.location.href = "opml.php?op=Export&filename=" + filename + "&settings=" + tmp;
+       document.location.href = "backend.php?op=opml&method=export&filename=" + filename + "&settings=" + tmp;
 }
 
 
+function batchSubscribe() {
+       try {
+               var query = "backend.php?op=dlg&method=batchSubscribe";
+
+               if (dijit.byId("batchSubDlg"))
+                       dijit.byId("batchSubDlg").destroyRecursive();
+
+               var dialog = new dijit.Dialog({
+                       id: "batchSubDlg",
+                       title: __("Batch subscribe"),
+                       style: "width: 600px",
+                       execute: function() {
+                               if (this.validate()) {
+                                       console.log(dojo.objectToQuery(this.attr('value')));
+
+                                       notify_progress(__("Subscribing to feeds..."), true);
+
+                                       new Ajax.Request("backend.php", {
+                                               parameters: dojo.objectToQuery(this.attr('value')),
+                                               onComplete: function(transport) {
+                                                       notify("");
+                                                       updateFeedList();
+                                                       dialog.hide();
+                                               } });
+                                       }
+                       },
+                       href: query});
+
+               dialog.show();
+       } catch (e) {
+               exception_error("batchSubscribe", e);
+       }
+}