diff options
author | Andrew Dolgov <[email protected]> | 2018-12-01 17:21:26 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2018-12-01 17:21:26 +0300 |
commit | d86ddbc635376231ba2e0a70c04f526cb9fedd58 (patch) | |
tree | 6bc975b9c984fe815962e5d1afcde5fba1c816c8 /js/feedlist.js | |
parent | 049a37aa0e7d37cafd979e7d470c7649700b5010 (diff) |
further objectification of JS code
Diffstat (limited to 'js/feedlist.js')
-rw-r--r-- | js/feedlist.js | 330 |
1 files changed, 158 insertions, 172 deletions
diff --git a/js/feedlist.js b/js/feedlist.js index b808451b4..c2a0e816d 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -69,23 +69,23 @@ const Feeds = { continue; } - /*if (getFeedUnread(id, (kind == "cat")) != ctr || + /*if (Feeds.getFeedUnread(id, (kind == "cat")) != ctr || (kind == "cat")) { }*/ - setFeedUnread(id, (kind == "cat"), ctr); - setFeedValue(id, (kind == "cat"), 'auxcounter', auxctr); + Feeds.setFeedUnread(id, (kind == "cat"), ctr); + Feeds.setFeedValue(id, (kind == "cat"), 'auxcounter', auxctr); if (kind != "cat") { - setFeedValue(id, false, 'error', error); - setFeedValue(id, false, 'updated', updated); + Feeds.setFeedValue(id, false, 'error', error); + Feeds.setFeedValue(id, false, 'updated', updated); if (id > 0) { if (has_img) { - setFeedIcon(id, false, + Feeds.setFeedIcon(id, false, getInitParam("icons_url") + "/" + id + ".ico?" + has_img); } else { - setFeedIcon(id, false, 'images/blank_icon.gif'); + Feeds.setFeedIcon(id, false, 'images/blank_icon.gif'); } } } @@ -104,7 +104,7 @@ const Feeds = { }, openNextUnreadFeed: function() { const is_cat = Feeds.activeFeedIsCat(); - const nuf = getNextUnreadFeed(Feeds.getActiveFeedId(), is_cat); + const nuf = Feeds.getNextUnreadFeed(Feeds.getActiveFeedId(), is_cat); if (nuf) this.viewfeed({feed: nuf, is_cat: is_cat}); }, collapseFeedlist: function() { @@ -129,13 +129,13 @@ const Feeds = { counters_last_request = timestamp; - let query = {op: "rpc", method: "getAllCounters", seq: App.next_seq()}; + let query = {op: "rpc", method: "getAllCounters", seq: Utils.next_seq()}; if (!force) query.last_article_id = getInitParam("last_article_id"); xhrPost("backend.php", query, (transport) => { - App.handleRpcJson(transport); + Utils.handleRpcJson(transport); }); } else { @@ -357,7 +357,7 @@ const Feeds = { Form.enable("main_toolbar_form"); if (!delayed) - if (!setFeedExpandoIcon(feed, is_cat, + if (!Feeds.setFeedExpandoIcon(feed, is_cat, (is_cat) ? 'images/indicator_tiny.gif' : 'images/indicator_white.gif')) notify_progress("Loading, please wait...", true); @@ -377,7 +377,7 @@ const Feeds = { catchupBatchedArticles(() => { xhrPost("backend.php", query, (transport) => { try { - setFeedExpandoIcon(feed, is_cat, 'images/blank_icon.gif'); + Feeds.setFeedExpandoIcon(feed, is_cat, 'images/blank_icon.gif'); Headlines.onLoaded(transport, offset); PluginHost.run(PluginHost.HOOK_FEED_LOADED, [feed, is_cat]); } catch (e) { @@ -404,221 +404,207 @@ const Feeds = { } }, decrementFeedCounter: function(feed, is_cat) { - let ctr = getFeedUnread(feed, is_cat); + let ctr = Feeds.getFeedUnread(feed, is_cat); if (ctr > 0) { - setFeedUnread(feed, is_cat, ctr - 1); + Feeds.setFeedUnread(feed, is_cat, ctr - 1); App.global_unread -= 1; App.updateTitle(); if (!is_cat) { - const cat = parseInt(getFeedCategory(feed)); + const cat = parseInt(Feeds.getFeedCategory(feed)); if (!isNaN(cat)) { - ctr = getFeedUnread(cat, true); + ctr = Feeds.getFeedUnread(cat, true); if (ctr > 0) { - setFeedUnread(cat, true, ctr - 1); + Feeds.setFeedUnread(cat, true, ctr - 1); } } } } - } -}; - -function getFeedUnread(feed, is_cat) { - try { - const tree = dijit.byId("feedTree"); - - if (tree && tree.model) - return tree.model.getFeedUnread(feed, is_cat); - - } catch (e) { - // - } - - return -1; -} - -function getFeedCategory(feed) { - try { - const tree = dijit.byId("feedTree"); - - if (tree && tree.model) - return tree.getFeedCategory(feed); - - } catch (e) { - // - } - - return false; -} - -function getFeedName(feed, is_cat) { - - if (isNaN(feed)) return feed; // it's a tag - - const tree = dijit.byId("feedTree"); - - if (tree && tree.model) - return tree.model.getFeedValue(feed, is_cat, 'name'); -} - -/* function getFeedValue(feed, is_cat, key) { - try { - const tree = dijit.byId("feedTree"); - - if (tree && tree.model) - return tree.model.getFeedValue(feed, is_cat, key); + }, + catchupFeed: function(feed, is_cat, mode) { + if (is_cat == undefined) is_cat = false; + + let str = false; + + switch (mode) { + case "1day": + str = __("Mark %w in %s older than 1 day as read?"); + break; + case "1week": + str = __("Mark %w in %s older than 1 week as read?"); + break; + case "2week": + str = __("Mark %w in %s older than 2 weeks as read?"); + break; + default: + str = __("Mark %w in %s as read?"); + } - } catch (e) { - // - } - return ''; -} */ + const mark_what = last_search_query && last_search_query[0] ? __("search results") : __("all articles"); + const fn = Feeds.getFeedName(feed, is_cat); -function setFeedUnread(feed, is_cat, unread) { - const tree = dijit.byId("feedTree"); + str = str.replace("%s", fn) + .replace("%w", mark_what); - if (tree && tree.model) - return tree.model.setFeedUnread(feed, is_cat, unread); -} + if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) { + return; + } -function setFeedValue(feed, is_cat, key, value) { - try { - const tree = dijit.byId("feedTree"); + const catchup_query = { + op: 'rpc', method: 'catchupFeed', feed_id: feed, + is_cat: is_cat, mode: mode, search_query: last_search_query[0], + search_lang: last_search_query[1] + }; - if (tree && tree.model) - return tree.model.setFeedValue(feed, is_cat, key, value); + notify_progress("Loading, please wait...", true); - } catch (e) { - // - } -} + xhrPost("backend.php", catchup_query, (transport) => { + Utils.handleRpcJson(transport); -function setFeedIcon(feed, is_cat, src) { - const tree = dijit.byId("feedTree"); + const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1"; - if (tree) return tree.setFeedIcon(feed, is_cat, src); -} + if (show_next_feed) { + const nuf = Feeds.getNextUnreadFeed(feed, is_cat); -function setFeedExpandoIcon(feed, is_cat, src) { - const tree = dijit.byId("feedTree"); + if (nuf) { + this.viewfeed({feed: nuf, is_cat: is_cat}); + } + } else if (feed == Feeds.getActiveFeedId() && is_cat == Feeds.activeFeedIsCat()) { + this.viewCurrentFeed(); + } - if (tree) return tree.setFeedExpandoIcon(feed, is_cat, src); + notify(""); + }); + }, + catchupCurrentFeed: function(mode) { + Feeds.catchupFeed(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat(), mode); + }, + catchupFeedInGroup: function(id) { + const title = Feeds.getFeedName(id); - return false; -} + const str = __("Mark all articles in %s as read?").replace("%s", title); -function getNextUnreadFeed(feed, is_cat) { - const tree = dijit.byId("feedTree"); - const nuf = tree.model.getNextUnreadFeed(feed, is_cat); + if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) { - if (nuf) - return tree.model.store.getValue(nuf, 'bare_id'); -} + const rows = $$("#headlines-frame > div[id*=RROW][data-orig-feed-id='" + id + "']"); -function catchupCurrentFeed(mode) { - catchupFeed(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat(), mode); -} + if (rows.length > 0) { -function catchupFeedInGroup(id) { - const title = getFeedName(id); + rows.each(function (row) { + row.removeClassName("Unread"); - const str = __("Mark all articles in %s as read?").replace("%s", title); + if (row.getAttribute("data-article-id") != getActiveArticleId()) { + new Effect.Fade(row, {duration: 0.5}); + } - if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) { + }); - const rows = $$("#headlines-frame > div[id*=RROW][data-orig-feed-id='"+id+"']"); + const feedTitles = $$("#headlines-frame > div[class='feed-title']"); - if (rows.length > 0) { + for (let i = 0; i < feedTitles.length; i++) { + if (feedTitles[i].getAttribute("data-feed-id") == id) { - rows.each(function (row) { - row.removeClassName("Unread"); + if (i < feedTitles.length - 1) { + new Effect.Fade(feedTitles[i], {duration: 0.5}); + } - if (row.getAttribute("data-article-id") != getActiveArticleId()) { - new Effect.Fade(row, {duration: 0.5}); + break; + } } - }); - - const feedTitles = $$("#headlines-frame > div[class='feed-title']"); + Headlines.updateFloatingTitle(true); + } - for (let i = 0; i < feedTitles.length; i++) { - if (feedTitles[i].getAttribute("data-feed-id") == id) { + notify_progress("Loading, please wait...", true); - if (i < feedTitles.length - 1) { - new Effect.Fade(feedTitles[i], {duration: 0.5}); - } + xhrPost("backend.php", {op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => { + Utils.handleRpcJson(transport); + }); + } + }, + getFeedUnread: function(feed, is_cat) { + try { + const tree = dijit.byId("feedTree"); - break; - } - } + if (tree && tree.model) + return tree.model.getFeedUnread(feed, is_cat); - Headlines.updateFloatingTitle(true); + } catch (e) { + // } - notify_progress("Loading, please wait...", true); + return -1; + }, + getFeedCategory: function(feed) { + try { + const tree = dijit.byId("feedTree"); - xhrPost("backend.php", { op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => { - App.handleRpcJson(transport); - }); - } -} - -function catchupFeed(feed, is_cat, mode) { - if (is_cat == undefined) is_cat = false; - - let str = false; - - switch (mode) { - case "1day": - str = __("Mark %w in %s older than 1 day as read?"); - break; - case "1week": - str = __("Mark %w in %s older than 1 week as read?"); - break; - case "2week": - str = __("Mark %w in %s older than 2 weeks as read?"); - break; - default: - str = __("Mark %w in %s as read?"); - } + if (tree && tree.model) + return tree.getFeedCategory(feed); - const mark_what = last_search_query && last_search_query[0] ? __("search results") : __("all articles"); - const fn = getFeedName(feed, is_cat); + } catch (e) { + // + } - str = str.replace("%s", fn) - .replace("%w", mark_what); + return false; + }, + getFeedName: function(feed, is_cat) { + if (isNaN(feed)) return feed; // it's a tag - if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) { - return; - } + const tree = dijit.byId("feedTree"); - const catchup_query = {op: 'rpc', method: 'catchupFeed', feed_id: feed, - is_cat: is_cat, mode: mode, search_query: last_search_query[0], - search_lang: last_search_query[1]}; + if (tree && tree.model) + return tree.model.getFeedValue(feed, is_cat, 'name'); + }, + setFeedUnread: function(feed, is_cat, unread) { + const tree = dijit.byId("feedTree"); - notify_progress("Loading, please wait...", true); + if (tree && tree.model) + return tree.model.setFeedUnread(feed, is_cat, unread); + }, + setFeedValue: function(feed, is_cat, key, value) { + try { + const tree = dijit.byId("feedTree"); - xhrPost("backend.php", catchup_query, (transport) => { - App.handleRpcJson(transport); + if (tree && tree.model) + return tree.model.setFeedValue(feed, is_cat, key, value); - const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1"; + } catch (e) { + // + } + }, + getFeedValue: function(feed, is_cat, key) { + try { + const tree = dijit.byId("feedTree"); - if (show_next_feed) { - const nuf = getNextUnreadFeed(feed, is_cat); + if (tree && tree.model) + return tree.model.getFeedValue(feed, is_cat, key); - if (nuf) { - Feeds.viewfeed({feed: nuf, is_cat: is_cat}); - } - } else if (feed == Feeds.getActiveFeedId() && is_cat == Feeds.activeFeedIsCat()) { - Feeds.viewCurrentFeed(); + } catch (e) { + // } + return ''; + }, + setFeedIcon: function(feed, is_cat, src) { + const tree = dijit.byId("feedTree"); - notify(""); - }); -} + if (tree) return tree.setFeedIcon(feed, is_cat, src); + }, + setFeedExpandoIcon: function(feed, is_cat, src) { + const tree = dijit.byId("feedTree"); + if (tree) return tree.setFeedExpandoIcon(feed, is_cat, src); + return false; + }, + getNextUnreadFeed: function(feed, is_cat) { + const tree = dijit.byId("feedTree"); + const nuf = tree.model.getNextUnreadFeed(feed, is_cat); + if (nuf) + return tree.model.store.getValue(nuf, 'bare_id'); + } +}; |