]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.js
rework main toolbar
[tt-rss.git] / tt-rss.js
index c88a08533858ae3cb58c856020c028a579b89c78..08abbbe3ce1f24d0bcfbdbdc488e97280db3870a 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -92,7 +92,7 @@ function updateFeedList() {
 
                        new Ajax.Request("backend.php", 
                                { parameters: "backend.php?op=feeds&subop=collapse&cid=" + 
-                                       param_escape(cat_id) + "&mode=1" } );
+                                       param_escape(cat_id) + "&mode=0" } );
           },
                onClose: function (item, node) {
                        var id = String(item.id);
@@ -100,7 +100,7 @@ function updateFeedList() {
 
                        new Ajax.Request("backend.php", 
                                { parameters: "backend.php?op=feeds&subop=collapse&cid=" + 
-                                       param_escape(cat_id) + "&mode=0" } );
+                                       param_escape(cat_id) + "&mode=1" } );
 
           },
                onClick: function (item, node) {
@@ -133,6 +133,9 @@ function updateFeedList() {
                var tmph = dojo.connect(tree, 'onLoad', function() {
                dojo.disconnect(tmph);
                        Element.hide("feedlistLoading");
+
+                       tree.collapseHiddenCats();
+
                        feedlist_init();
 
 //                     var node = dijit.byId("feedTree")._itemNodesMap['FEED:-2'][0].domNode
@@ -262,7 +265,7 @@ function genericSanityCheck() {
 
 function init() {
        try {
-               Form.disable("main_toolbar_form");
+               //Form.disable("main_toolbar_form");
 
                dojo.require("dijit.layout.BorderContainer");
                dojo.require("dijit.layout.TabContainer");
@@ -273,9 +276,15 @@ function init() {
                dojo.require("dojo.data.ItemFileWriteStore");
                dojo.require("dijit.Tree");
                dojo.require("dijit.form.Select");
+               dojo.require("dijit.form.TextBox");
+               dojo.require("dijit.form.ValidationTextBox");
+               dojo.require("dijit.form.FilteringSelect");
+               dojo.require("dijit.form.CheckBox");
+               dojo.require("dijit.form.SimpleTextarea");
                dojo.require("dijit.Toolbar");
                dojo.require("dijit.ProgressBar");
                dojo.require("dijit.Menu");
+               dojo.require("dojo.parser");
 
                dojo.registerModulePath("fox", "../..");
 
@@ -319,8 +328,11 @@ function init_second_stage() {
 
                var toolbar = document.forms["main_toolbar_form"];
 
-               dropboxSelect(toolbar.view_mode, getInitParam("default_view_mode"));
-               dropboxSelect(toolbar.order_by, getInitParam("default_view_order_by"));
+               dijit.getEnclosingWidget(toolbar.view_mode).attr('value', 
+                       getInitParam("default_view_mode"));
+
+               dijit.getEnclosingWidget(toolbar.order_by).attr('value', 
+                       getInitParam("default_view_order_by"));
 
                feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
 
@@ -329,8 +341,6 @@ function init_second_stage() {
                if (has_local_storage())
                        localStorage.clear();
 
-               setTimeout("timeout()", 3000);
-
                console.log("second stage ok");
 
        } catch (e) {
@@ -338,12 +348,9 @@ function init_second_stage() {
        }
 }
 
-function quickMenuChange() {
-       var chooser = $("quickMenuChooser");
-       var opid = chooser[chooser.selectedIndex].value;
-
-       chooser.selectedIndex = 0;
-       quickMenuGo(opid);
+function quickMenuChange(elem) {
+       quickMenuGo(elem.value);
+       elem.attr('value', 'qmcDefault');
 }
 
 function quickMenuGo(opid) {
@@ -371,7 +378,11 @@ function quickMenuGo(opid) {
                }
 
                if (opid == "qmcEditFeed") {
-                       editFeedDlg(getActiveFeedId());
+                       if (activeFeedIsCat())
+                               alert(__("You can't edit this kind of feed."));
+                       else
+                               editFeed(getActiveFeedId());
+                       return;
                }
        
                if (opid == "qmcRemoveFeed") {
@@ -409,16 +420,18 @@ function quickMenuGo(opid) {
                }
        
                if (opid == "qmcAddFilter") {
-                       displayDlg('quickAddFilter', '',
-                          function () {document.forms['filter_add_form'].reg_exp.focus();});
+                       quickAddFilter();
+                       return;
                }
 
                if (opid == "qmcAddLabel") {
                        addLabel();
+                       return;
                }
 
                if (opid == "qmcRescoreFeed") {
                        rescoreCurrentFeed();
+                       return;
                }
 
                if (opid == "qmcHKhelp") {
@@ -526,77 +539,6 @@ function catchupFeedInGroup(id) {
        }
 }
 
-function editFeedDlg(feed) {
-       try {
-
-               if (!feed) {
-                       alert(__("Please select some feed first."));
-                       return;
-               }
-       
-               if ((feed <= 0) || activeFeedIsCat()) {
-                       alert(__("You can't edit this kind of feed."));
-                       return;
-               }
-       
-               var query = "";
-       
-               if (feed > 0) {
-                       query = "?op=pref-feeds&subop=editfeed&id=" +   param_escape(feed);
-               } else {
-                       query = "?op=pref-labels&subop=edit&id=" +      param_escape(-feed-11);
-               }
-
-               disableHotkeys();
-
-               notify_progress("Loading, please wait...", true);
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) { 
-                               infobox_callback2(transport); 
-                               document.forms["edit_feed_form"].title.focus();
-                       } });
-
-       } catch (e) {
-               exception_error("editFeedDlg", e);
-       }
-}
-
-/* this functions duplicate those of prefs.js feed editor, with
-       some differences because there is no feedlist */
-
-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) { 
-                               dlg_frefresh_callback(transport); 
-                       } });
-
-               cache_flush();
-               closeInfoBox();
-
-               return false;
-
-       } catch (e) {
-               exception_error("feedEditSave (main)", e);
-       } 
-}
-
 function collapse_feedlist() {
        try {
 
@@ -682,6 +624,9 @@ function hotkey_handler(e) {
 
        try {
 
+               var widget = dijit.getEnclosingWidget(e.target);
+               if (widget && Element.visible(widget.domNode)) return;
+
                var keycode;
                var shift_key = false;
 
@@ -909,7 +854,13 @@ function hotkey_handler(e) {
                        }
 
                        if (keycode == 69) { // e
-                               editFeedDlg(getActiveFeedId());
+
+                               if (activeFeedIsCat())
+                                       alert(__("You can't edit this kind of feed."));
+                               else
+                                       editFeed(getActiveFeedId());
+                               return;
+
                                return false;
                        }
 
@@ -949,8 +900,7 @@ function hotkey_handler(e) {
                        hotkey_prefix = false;
 
                        if (keycode == 70) { // f
-                               displayDlg('quickAddFilter', '',
-                                  function () {document.forms['filter_add_form'].reg_exp.focus();});
+                               quickAddFilter();
                                return false;
                        }