]> git.wh0rd.org - tt-rss.git/blobdiff - js/tt-rss.js
Load selected feed after a short timeout
[tt-rss.git] / js / tt-rss.js
index a572e532411a3e643b740ded65fc7fb6500b0628..cc04a454a1413b21f585f35d83f134e7bf49b8ea 100644 (file)
@@ -40,6 +40,8 @@ function setActiveFeedId(id, is_cat) {
                $("headlines-frame").setAttribute("is-cat", is_cat ? 1 : 0);
 
                selectFeed(id, is_cat);
+
+               PluginHost.run(PluginHost.HOOK_FEED_SET_ACTIVE, _active_article_id);
        } catch (e) {
                exception_error("setActiveFeedId", e);
        }
@@ -114,6 +116,7 @@ function updateFeedList() {
 
                tree.startup();
 
+
        } catch (e) {
                exception_error("updateFeedList", e);
        }
@@ -134,7 +137,8 @@ function catchupAllFeeds() {
                new Ajax.Request("backend.php", {
                        parameters: query_str,
                        onComplete: function(transport) {
-                               feedlist_callback2(transport);
+                               request_counters(true);
+                               viewCurrentFeed();
                        } });
 
                global_unread = 0;
@@ -246,13 +250,19 @@ function init() {
                if (!genericSanityCheck())
                        return false;
 
-               loading_set_progress(20);
+               loading_set_progress(30);
+
+               var a = document.createElement('audio');
 
-               var hasAudio = !!((myAudioTag = document.createElement('audio')).canPlayType);
+               var hasAudio = !!a.canPlayType;
                var hasSandbox = "sandbox" in document.createElement("iframe");
+               var hasMp3 = !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));
+               var clientTzOffset = new Date().getTimezoneOffset() * 60;
 
                new Ajax.Request("backend.php", {
                        parameters: {op: "rpc", method: "sanityCheck", hasAudio: hasAudio,
+                               hasMp3: hasMp3,
+                               clientTzOffset: clientTzOffset,
                                hasSandbox: hasSandbox},
                        onComplete: function(transport) {
                                        backend_sanity_check_callback(transport);
@@ -262,13 +272,13 @@ function init() {
                                var rv = dijit.byId("feedTree").getNextFeed(
                                                getActiveFeedId(), activeFeedIsCat());
 
-                               if (rv) viewfeed(rv[0], '', rv[1]);
+                               if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true);
                };
                hotkey_actions["prev_feed"] = function() {
                                var rv = dijit.byId("feedTree").getPreviousFeed(
                                                getActiveFeedId(), activeFeedIsCat());
 
-                               if (rv) viewfeed(rv[0], '', rv[1]);
+                               if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true);
                };
                hotkey_actions["next_article"] = function() {
                                moveToPost('next');
@@ -302,7 +312,7 @@ function init() {
                                var id = getActiveArticleId();
                                var elem = $("CICD-"+id);
                                if(elem.visible()) {
-                                       cdmUnexpandArticle(null, id);
+                                       cdmCollapseArticle(null, id, false);
                                }
                                else {
                                        cdmExpandArticle(id);
@@ -323,7 +333,7 @@ function init() {
                hotkey_actions["edit_tags"] = function() {
                                var id = getActiveArticleId();
                                if (id) {
-                                       editArticleTags(id, getActiveFeedId(), isCdmMode());
+                                       editArticleTags(id);
                                };
                        }
                hotkey_actions["dismiss_selected"] = function() {
@@ -538,11 +548,37 @@ function init_second_stage() {
                        closeArticlePanel();
 
                        _widescreen_mode = getInitParam("widescreen");
+                       switchPanelMode(_widescreen_mode);
 
-                       if (_widescreen_mode) {
-                               switchPanelMode(_widescreen_mode);
+                       if (parseInt(getCookie("ttrss_fh_width")) > 0) {
+                               dijit.byId("feeds-holder").domNode.setStyle(
+                                       {width: getCookie("ttrss_fh_width") + "px" });
+                       }
+
+                       if (parseInt(getCookie("ttrss_ci_width")) > 0) {
+                               if (_widescreen_mode) {
+                                       dijit.byId("content-insert").domNode.setStyle(
+                                               {width: getCookie("ttrss_ci_width") + "px" });
+
+                               } else {
+                                       dijit.byId("content-insert").domNode.setStyle(
+                                               {height: getCookie("ttrss_ci_height") + "px" });
+                               }
                        }
 
+                       dijit.byId("main").resize();
+
+                       var tmph = dojo.connect(dijit.byId('feeds-holder'), 'resize',
+                               function (args) {
+                                       setCookie("ttrss_fh_width", args.w, getInitParam("cookie_lifetime"));
+                       });
+
+                       var tmph = dojo.connect(dijit.byId('content-insert'), 'resize',
+                               function (args) {
+                                       setCookie("ttrss_ci_width", args.w, getInitParam("cookie_lifetime"));
+                                       setCookie("ttrss_ci_height", args.h, getInitParam("cookie_lifetime"));
+                       });
+
                });
 
                delCookie("ttrss_test");
@@ -564,7 +600,7 @@ function init_second_stage() {
                        setActiveFeedId(hash_feed_id, hash_feed_is_cat);
                }
 
-               loading_set_progress(30);
+               loading_set_progress(50);
 
                // can't use cache_clear() here because viewfeed might not have initialized yet
                if ('sessionStorage' in window && window['sessionStorage'] !== null)
@@ -744,6 +780,8 @@ function parse_runtime_info(data) {
                init_params[k] = v;
                notify('');
        }
+
+       PluginHost.run(PluginHost.HOOK_RUNTIME_INFO_LOADED, data);
 }
 
 function collapse_feedlist() {
@@ -751,19 +789,14 @@ function collapse_feedlist() {
 
                if (!Element.visible('feeds-holder')) {
                        Element.show('feeds-holder');
-                       Element.show('feeds-holder_splitter');
                        $("collapse_feeds_btn").innerHTML = "<<";
                } else {
                        Element.hide('feeds-holder');
-                       Element.hide('feeds-holder_splitter');
                        $("collapse_feeds_btn").innerHTML = ">>";
                }
 
                dijit.byId("main").resize();
 
-               query = "?op=rpc&method=setpref&key=_COLLAPSED_FEEDLIST&value=true";
-               new Ajax.Request("backend.php", { parameters: query });
-
        } catch (e) {
                exception_error("collapse_feedlist", e);
        }
@@ -983,7 +1016,7 @@ function handle_rpc_json(transport, scheduled_call) {
                        if (counters)
                                parse_counters(counters, scheduled_call);
 
-                       var runtime_info = reply['runtime-info'];;
+                       var runtime_info = reply['runtime-info'];
 
                        if (runtime_info)
                                parse_runtime_info(runtime_info);
@@ -1022,6 +1055,8 @@ function switchPanelMode(wide) {
                                borderTopWidth: '0px' });
 
                        $("headlines-toolbar").setStyle({ borderBottomWidth: '0px' });
+                       $("headlines-frame").setStyle({ borderBottomWidth: '0px' });
+                       $("headlines-frame").addClassName("wide");
 
                } else {
 
@@ -1033,6 +1068,10 @@ function switchPanelMode(wide) {
                                borderTopWidth: '1px'});
 
                        $("headlines-toolbar").setStyle({ borderBottomWidth: '1px' });
+
+                       $("headlines-frame").setStyle({ borderBottomWidth: '1px' });
+                       $("headlines-frame").removeClassName("wide");
+
                }
 
                closeArticlePanel();
@@ -1072,7 +1111,7 @@ function hash_get(key) {
                kv = window.location.hash.substring(1).toQueryParams();
                return kv[key];
        } catch (e) {
-               exception_error("hash_set", e);
+               exception_error("hash_get", e);
        }
 }
 function hash_set(key, value) {