]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.js
misc feed edit dialog fixes
[tt-rss.git] / tt-rss.js
index b9e93e1bfa024de24d9a4383cea25d35c5efbc27..4ab357363b62a465f54f944cbfb56baf2e3eab2a 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -9,7 +9,6 @@ var hotkey_prefix_pressed = false;
 var init_params = {};
 var _force_scheduled_update = false;
 var last_scheduled_update = false;
-var treeModel;
 
 var _rpc_seq = 0;
 
@@ -75,7 +74,7 @@ function updateFeedList() {
                var store = new dojo.data.ItemFileWriteStore({
          url: "backend.php?op=feeds"});
 
-               treeModel = new fox.FeedStoreModel({
+               var treeModel = new fox.FeedStoreModel({
                        store: store,
                        query: {
                                "type": "feed"
@@ -93,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);
@@ -101,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) {
@@ -116,11 +115,33 @@ function updateFeedList() {
                id: "feedTree",
                }, "feedTree");
 
+/*             var menu = new dijit.Menu({id: 'feedMenu'});
+               
+               menu.addChild(new dijit.MenuItem({
+          label: "Simple menu item"
+               }));
+
+//             menu.bindDomNode(tree.domNode); */
+               
+               var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) { 
+                       console.log(dijit.getEnclosingWidget(event.target));
+                       dojo.disconnect(tmph);
+               });
+
                $("feeds-holder").appendChild(tree.domNode);
 
                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
+//                     menu.bindDomNode(node);
+
+                       loading_set_progress(25);
                });
 
                tree.startup();
@@ -251,11 +272,17 @@ function init() {
                dojo.require("dijit.layout.ContentPane");
                dojo.require("dijit.Dialog");
                dojo.require("dijit.form.Button");
+               dojo.require("dijit.Menu");
                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.Toolbar");
-               dojo.require("dojo.parser");
+               dojo.require("dijit.ProgressBar");
+               dojo.require("dijit.Menu");
 
                dojo.registerModulePath("fox", "../..");
 
@@ -278,12 +305,10 @@ function init() {
                if (!genericSanityCheck()) 
                        return;
 
-               var params = "&ua=" + param_escape(navigator.userAgent);
-
-               loading_set_progress(30);
+               loading_set_progress(20);
 
                new Ajax.Request("backend.php", {
-                       parameters: "backend.php?op=rpc&subop=sanityCheck" + params,
+                       parameters: {op: "rpc", subop: "sanityCheck"},
                        onComplete: function(transport) {
                                        backend_sanity_check_callback(transport);
                                } });
@@ -306,14 +331,11 @@ function init_second_stage() {
 
                feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
 
-               loading_set_progress(60);
+               loading_set_progress(30);
 
                if (has_local_storage())
                        localStorage.clear();
 
-               feedlist_init();
-               setTimeout("timeout()", 3000);
-
                console.log("second stage ok");
 
        } catch (e) {
@@ -354,7 +376,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") {
@@ -509,77 +535,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 {
 
@@ -892,7 +847,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;
                        }
 
@@ -1100,17 +1061,21 @@ function handle_rpc_reply(transport, scheduled_call) {
        return true;
 }
 
-function scheduleFeedUpdate() {
+function scheduleFeedUpdate(id, is_cat) {
        try {
+               if (!id) {
+                       id = getActiveFeedId();
+                       is_cat = activeFeedIsCat();
+               }
 
-               if (!getActiveFeedId()) {
+               if (!id) {
                        alert(__("Please select some feed first."));
                        return;
                }
 
                var query = "?op=rpc&subop=scheduleFeedUpdate&id=" + 
-                       param_escape(getActiveFeedId()) +
-                       "&is_cat=" + param_escape(activeFeedIsCat());
+                       param_escape(id) +
+                       "&is_cat=" + param_escape(is_cat);
 
                console.log(query);