+
-
diff --git a/js/FeedTree.js b/js/FeedTree.js
index 21a19bf85..55eb3dc30 100755
--- a/js/FeedTree.js
+++ b/js/FeedTree.js
@@ -41,7 +41,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dijit/Tree", "dijit/Menu"],
menu.addChild(new dijit.MenuItem({
label: __("Mark as read"),
onClick: function() {
- catchupFeed(this.getParent().row_id);
+ Feeds.catchupFeed(this.getParent().row_id);
}}));
if (bare_id > 0) {
@@ -69,7 +69,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dijit/Tree", "dijit/Menu"],
menu.addChild(new dijit.MenuItem({
label: __("Mark as read"),
onClick: function() {
- catchupFeed(this.getParent().row_id, true);
+ Feeds.catchupFeed(this.getParent().row_id, true);
}}));
menu.addChild(new dijit.MenuItem({
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);
}
}
}
}
- }
-};
+ },
+ catchupFeed: function(feed, is_cat, mode) {
+ if (is_cat == undefined) is_cat = false;
-function getFeedUnread(feed, is_cat) {
- try {
- const tree = dijit.byId("feedTree");
+ let str = false;
- 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);
-
- } catch (e) {
- //
- }
- return '';
-} */
-
-function setFeedUnread(feed, is_cat, unread) {
- const tree = dijit.byId("feedTree");
-
- if (tree && tree.model)
- return tree.model.setFeedUnread(feed, is_cat, unread);
-}
-
-function setFeedValue(feed, is_cat, key, value) {
- try {
- const tree = dijit.byId("feedTree");
-
- if (tree && tree.model)
- return tree.model.setFeedValue(feed, is_cat, key, value);
-
- } catch (e) {
- //
- }
-}
-
-function setFeedIcon(feed, is_cat, src) {
- const tree = dijit.byId("feedTree");
-
- if (tree) return tree.setFeedIcon(feed, is_cat, src);
-}
-
-function setFeedExpandoIcon(feed, is_cat, src) {
- const tree = dijit.byId("feedTree");
-
- if (tree) return tree.setFeedExpandoIcon(feed, is_cat, src);
-
- return false;
-}
-
-function getNextUnreadFeed(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');
-}
-
-function catchupCurrentFeed(mode) {
- catchupFeed(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat(), mode);
-}
-
-function catchupFeedInGroup(id) {
- const title = getFeedName(id);
-
- const str = __("Mark all articles in %s as read?").replace("%s", title);
-
- if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
-
- const rows = $$("#headlines-frame > div[id*=RROW][data-orig-feed-id='"+id+"']");
-
- if (rows.length > 0) {
-
- rows.each(function (row) {
- row.removeClassName("Unread");
-
- if (row.getAttribute("data-article-id") != getActiveArticleId()) {
- new Effect.Fade(row, {duration: 0.5});
- }
-
- });
-
- const feedTitles = $$("#headlines-frame > div[class='feed-title']");
-
- for (let i = 0; i < feedTitles.length; i++) {
- if (feedTitles[i].getAttribute("data-feed-id") == id) {
-
- if (i < feedTitles.length - 1) {
- new Effect.Fade(feedTitles[i], {duration: 0.5});
- }
-
- break;
- }
- }
-
- Headlines.updateFloatingTitle(true);
+ 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?");
}
+ const mark_what = last_search_query && last_search_query[0] ? __("search results") : __("all articles");
+ const fn = Feeds.getFeedName(feed, is_cat);
+
+ str = str.replace("%s", fn)
+ .replace("%w", mark_what);
+
+ if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) {
+ return;
+ }
+
+ 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]
+ };
+
notify_progress("Loading, please wait...", true);
- xhrPost("backend.php", { op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => {
- App.handleRpcJson(transport);
- });
- }
-}
+ xhrPost("backend.php", catchup_query, (transport) => {
+ Utils.handleRpcJson(transport);
-function catchupFeed(feed, is_cat, mode) {
- if (is_cat == undefined) is_cat = false;
+ const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
- let str = false;
+ if (show_next_feed) {
+ const nuf = Feeds.getNextUnreadFeed(feed, is_cat);
- 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?");
- }
-
- const mark_what = last_search_query && last_search_query[0] ? __("search results") : __("all articles");
- const fn = getFeedName(feed, is_cat);
-
- str = str.replace("%s", fn)
- .replace("%w", mark_what);
-
- if (getInitParam("confirm_feed_catchup") == 1 && !confirm(str)) {
- return;
- }
-
- 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]};
-
- notify_progress("Loading, please wait...", true);
-
- xhrPost("backend.php", catchup_query, (transport) => {
- App.handleRpcJson(transport);
-
- const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
-
- if (show_next_feed) {
- const nuf = getNextUnreadFeed(feed, is_cat);
-
- if (nuf) {
- Feeds.viewfeed({feed: nuf, is_cat: is_cat});
+ if (nuf) {
+ this.viewfeed({feed: nuf, is_cat: is_cat});
+ }
+ } else if (feed == Feeds.getActiveFeedId() && is_cat == Feeds.activeFeedIsCat()) {
+ this.viewCurrentFeed();
}
- } else if (feed == Feeds.getActiveFeedId() && is_cat == Feeds.activeFeedIsCat()) {
- Feeds.viewCurrentFeed();
+
+ notify("");
+ });
+ },
+ catchupCurrentFeed: function(mode) {
+ Feeds.catchupFeed(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat(), mode);
+ },
+ catchupFeedInGroup: function(id) {
+ const title = Feeds.getFeedName(id);
+
+ const str = __("Mark all articles in %s as read?").replace("%s", title);
+
+ if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
+
+ const rows = $$("#headlines-frame > div[id*=RROW][data-orig-feed-id='" + id + "']");
+
+ if (rows.length > 0) {
+
+ rows.each(function (row) {
+ row.removeClassName("Unread");
+
+ if (row.getAttribute("data-article-id") != getActiveArticleId()) {
+ new Effect.Fade(row, {duration: 0.5});
+ }
+
+ });
+
+ const feedTitles = $$("#headlines-frame > div[class='feed-title']");
+
+ for (let i = 0; i < feedTitles.length; i++) {
+ if (feedTitles[i].getAttribute("data-feed-id") == id) {
+
+ if (i < feedTitles.length - 1) {
+ new Effect.Fade(feedTitles[i], {duration: 0.5});
+ }
+
+ break;
+ }
+ }
+
+ Headlines.updateFloatingTitle(true);
+ }
+
+ notify_progress("Loading, please wait...", true);
+
+ 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");
+
+ if (tree && tree.model)
+ return tree.model.getFeedUnread(feed, is_cat);
+
+ } catch (e) {
+ //
}
- notify("");
- });
-}
+ return -1;
+ },
+ getFeedCategory: function(feed) {
+ try {
+ const tree = dijit.byId("feedTree");
+ if (tree && tree.model)
+ return tree.getFeedCategory(feed);
+ } catch (e) {
+ //
+ }
+ return false;
+ },
+ getFeedName: function(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');
+ },
+ setFeedUnread: function(feed, is_cat, unread) {
+ const tree = dijit.byId("feedTree");
+
+ 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");
+
+ if (tree && tree.model)
+ return tree.model.setFeedValue(feed, is_cat, key, value);
+
+ } catch (e) {
+ //
+ }
+ },
+ getFeedValue: function(feed, is_cat, key) {
+ try {
+ const tree = dijit.byId("feedTree");
+
+ if (tree && tree.model)
+ return tree.model.getFeedValue(feed, is_cat, key);
+
+ } catch (e) {
+ //
+ }
+ return '';
+ },
+ setFeedIcon: function(feed, is_cat, src) {
+ const tree = dijit.byId("feedTree");
+
+ 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');
+ }
+};
diff --git a/js/functions.js b/js/functions.js
index d9778ad22..174dbebfe 100755
--- a/js/functions.js
+++ b/js/functions.js
@@ -57,6 +57,14 @@ Array.prototype.remove = function(s) {
};
const Utils = {
+ _rpc_seq: 0,
+ next_seq: function() {
+ this._rpc_seq += 1;
+ return this._rpc_seq;
+ },
+ get_seq: function() {
+ return this._rpc_seq;
+ },
cleanupMemory: function(root) {
const dijits = dojo.query("[widgetid]", dijit.byId(root).domNode).map(dijit.byNode);
@@ -127,6 +135,126 @@ const Utils = {
return false;
},
+ handleRpcJson: function(transport) {
+
+ const netalert_dijit = dijit.byId("net-alert");
+ let netalert = false;
+
+ if (netalert_dijit) netalert = netalert_dijit.domNode;
+
+ try {
+ const reply = JSON.parse(transport.responseText);
+
+ if (reply) {
+
+ const error = reply['error'];
+
+ if (error) {
+ const code = error['code'];
+ const msg = error['msg'];
+
+ console.warn("[handleRpcJson] received fatal error " + code + "/" + msg);
+
+ if (code != 0) {
+ fatalError(code, msg);
+ return false;
+ }
+ }
+
+ const seq = reply['seq'];
+
+ if (seq && this.get_seq() != seq) {
+ console.log("[handleRpcJson] sequence mismatch: " + seq +
+ " (want: " + this.get_seq() + ")");
+ return true;
+ }
+
+ const message = reply['message'];
+
+ if (message == "UPDATE_COUNTERS") {
+ console.log("need to refresh counters...");
+ setInitParam("last_article_id", -1);
+ Feeds.requestCounters(true);
+ }
+
+ const counters = reply['counters'];
+
+ if (counters)
+ Feeds.parseCounters(counters);
+
+ const runtime_info = reply['runtime-info'];
+
+ if (runtime_info)
+ Utils.parseRuntimeInfo(runtime_info);
+
+ if (netalert) netalert.hide();
+
+ return reply;
+
+ } else {
+ if (netalert)
+ netalert.show();
+ else
+ notify_error("Communication problem with server.");
+ }
+
+ } catch (e) {
+ if (netalert)
+ netalert.show();
+ else
+ notify_error("Communication problem with server.");
+
+ console.error(e);
+ }
+
+ return false;
+ },
+ parseRuntimeInfo: function(data) {
+
+ //console.log("parsing runtime info...");
+
+ for (const k in data) {
+ const v = data[k];
+
+ if (k == "dep_ts" && parseInt(getInitParam("dep_ts")) > 0) {
+ if (parseInt(getInitParam("dep_ts")) < parseInt(v) && getInitParam("reload_on_ts_change")) {
+ window.location.reload();
+ }
+ }
+
+ if (k == "daemon_is_running" && v != 1) {
+ notify_error("
Update daemon is not running.", true);
+ return;
+ }
+
+ if (k == "update_result") {
+ const updatesIcon = dijit.byId("updatesIcon").domNode;
+
+ if (v) {
+ Element.show(updatesIcon);
+ } else {
+ Element.hide(updatesIcon);
+ }
+ }
+
+ if (k == "daemon_stamp_ok" && v != 1) {
+ notify_error("
Update daemon is not updating feeds.", true);
+ return;
+ }
+
+ if (k == "max_feed_id" || k == "num_feeds") {
+ if (init_params[k] != v) {
+ console.log("feed count changed, need to reload feedlist.");
+ Feeds.reload();
+ }
+ }
+
+ init_params[k] = v;
+ notify('');
+ }
+
+ PluginHost.run(PluginHost.HOOK_RUNTIME_INFO_LOADED, data);
+ },
};
function report_error(message, filename, lineno, colno, error) {
diff --git a/js/tt-rss.js b/js/tt-rss.js
index b5b785321..078ac7c63 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -4,15 +4,7 @@ let _widescreen_mode = false;
let hotkey_actions = {};
const App = {
- _rpc_seq: 0,
global_unread: -1,
- next_seq: function() {
- this._rpc_seq += 1;
- return this._rpc_seq;
- },
- get_seq: function() {
- return this._rpc_seq;
- },
updateTitle: function() {
let tmp = "Tiny Tiny RSS";
@@ -85,126 +77,6 @@ const App = {
xhrPost("backend.php", {op: "rpc", method: "setpanelmode", wide: wide ? 1 : 0});
},
- parseRuntimeInfo: function(data) {
-
- //console.log("parsing runtime info...");
-
- for (const k in data) {
- const v = data[k];
-
- if (k == "dep_ts" && parseInt(getInitParam("dep_ts")) > 0) {
- if (parseInt(getInitParam("dep_ts")) < parseInt(v) && getInitParam("reload_on_ts_change")) {
- window.location.reload();
- }
- }
-
- if (k == "daemon_is_running" && v != 1) {
- notify_error("
Update daemon is not running.", true);
- return;
- }
-
- if (k == "update_result") {
- const updatesIcon = dijit.byId("updatesIcon").domNode;
-
- if (v) {
- Element.show(updatesIcon);
- } else {
- Element.hide(updatesIcon);
- }
- }
-
- if (k == "daemon_stamp_ok" && v != 1) {
- notify_error("
Update daemon is not updating feeds.", true);
- return;
- }
-
- if (k == "max_feed_id" || k == "num_feeds") {
- if (init_params[k] != v) {
- console.log("feed count changed, need to reload feedlist.");
- Feeds.reload();
- }
- }
-
- init_params[k] = v;
- notify('');
- }
-
- PluginHost.run(PluginHost.HOOK_RUNTIME_INFO_LOADED, data);
- },
- handleRpcJson: function(transport) {
-
- const netalert_dijit = dijit.byId("net-alert");
- let netalert = false;
-
- if (netalert_dijit) netalert = netalert_dijit.domNode;
-
- try {
- const reply = JSON.parse(transport.responseText);
-
- if (reply) {
-
- const error = reply['error'];
-
- if (error) {
- const code = error['code'];
- const msg = error['msg'];
-
- console.warn("[handleRpcJson] received fatal error " + code + "/" + msg);
-
- if (code != 0) {
- fatalError(code, msg);
- return false;
- }
- }
-
- const seq = reply['seq'];
-
- if (seq && this.get_seq() != seq) {
- console.log("[handleRpcJson] sequence mismatch: " + seq +
- " (want: " + this.get_seq() + ")");
- return true;
- }
-
- const message = reply['message'];
-
- if (message == "UPDATE_COUNTERS") {
- console.log("need to refresh counters...");
- setInitParam("last_article_id", -1);
- Feeds.requestCounters(true);
- }
-
- const counters = reply['counters'];
-
- if (counters)
- Feeds.parseCounters(counters);
-
- const runtime_info = reply['runtime-info'];
-
- if (runtime_info)
- this.parseRuntimeInfo(runtime_info);
-
- if (netalert) netalert.hide();
-
- return reply;
-
- } else {
- if (netalert)
- netalert.show();
- else
- notify_error("Communication problem with server.");
- }
-
- } catch (e) {
- if (netalert)
- netalert.show();
- else
- notify_error("Communication problem with server.");
-
- console.error(e);
- }
-
- return false;
- },
};
function search() {
@@ -459,7 +331,7 @@ function init_hotkey_actions() {
};
hotkey_actions["feed_catchup"] = function() {
if (Feeds.getActiveFeedId() != undefined) {
- catchupCurrentFeed();
+ Feeds.catchupCurrentFeed();
return;
}
};
@@ -677,7 +549,7 @@ function quickMenuGo(opid) {
return;
}
- var fn = getFeedName(actid);
+ var fn = Feeds.getFeedName(actid);
var pr = __("Unsubscribe from %s?").replace("%s", fn);
@@ -743,7 +615,7 @@ function update_random_feed() {
console.log("in update_random_feed");
xhrPost("backend.php", { op: "rpc", method: "updateRandomFeed" }, (transport) => {
- App.handleRpcJson(transport, true);
+ Utils.handleRpcJson(transport, true);
window.setTimeout(update_random_feed, 30*1000);
});
}
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 637aa0473..bb3f5ef98 100755
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -75,7 +75,7 @@ const Headlines = {
const view_mode = document.forms["main_toolbar_form"].view_mode.value;
const unread_in_buffer = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length;
const num_all = $$("#headlines-frame > div[id*=RROW]").length;
- const num_unread = getFeedUnread(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
+ const num_unread = Feeds.getFeedUnread(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
// TODO implement marked & published
@@ -248,7 +248,7 @@ const Headlines = {
}
},
onLoaded: function(transport, offset) {
- const reply = App.handleRpcJson(transport);
+ const reply = Utils.handleRpcJson(transport);
console.log("Headlines.onLoaded: offset=", offset);
@@ -436,7 +436,7 @@ function view(id, noexpand) {
xhrPost("backend.php", {op: "article", method: "view", id: id, cids: cids.toString()}, (transport) => {
try {
- const reply = App.handleRpcJson(transport);
+ const reply = Utils.handleRpcJson(transport);
if (reply) {
@@ -491,7 +491,7 @@ function toggleMark(id, client_only) {
if (!client_only)
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
}
@@ -518,7 +518,7 @@ function togglePub(id, client_only) {
if (!client_only)
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
@@ -642,7 +642,7 @@ function toggleUnread(id, cmode) {
if (row.className != origClassName)
xhrPost("backend.php",
{op: "rpc", method: "catchupSelected", cmode: cmode, ids: id},(transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
}
@@ -659,7 +659,7 @@ function selectionRemoveLabel(id, ids) {
ids: ids.toString(), lid: id };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
updateHeadlineLabels(transport);
});
}
@@ -676,7 +676,7 @@ function selectionAssignLabel(id, ids) {
ids: ids.toString(), lid: id };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
updateHeadlineLabels(transport);
});
}
@@ -719,7 +719,7 @@ function selectionToggleUnread(params) {
notify_progress("Loading, please wait...");
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
if (callback) callback(transport);
});
}
@@ -740,7 +740,7 @@ function selectionToggleMarked(ids) {
ids: rows.toString(), cmode: 2 };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
@@ -762,7 +762,7 @@ function selectionTogglePublished(ids) {
ids: rows.toString(), cmode: 2 };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
}
@@ -862,7 +862,7 @@ function deleteSelection() {
return;
}
- const fn = getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
+ const fn = Feeds.getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
let str;
if (Feeds.getActiveFeedId() != 0) {
@@ -881,7 +881,7 @@ function deleteSelection() {
const query = { op: "rpc", method: "delete", ids: rows.toString() };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
Feeds.viewCurrentFeed();
});
}
@@ -896,7 +896,7 @@ function archiveSelection() {
return;
}
- const fn = getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
+ const fn = Feeds.getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
let str;
let op;
@@ -924,7 +924,7 @@ function archiveSelection() {
const query = {op: "rpc", method: op, ids: rows.toString()};
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
Feeds.viewCurrentFeed();
});
}
@@ -938,7 +938,7 @@ function catchupSelection() {
return;
}
- const fn = getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
+ const fn = Feeds.getFeedName(Feeds.getActiveFeedId(), Feeds.activeFeedIsCat());
let str = ngettext("Mark %d selected article in %s as read?", "Mark %d selected articles in %s as read?", rows.length);
@@ -1091,7 +1091,7 @@ function catchupBatchedArticles(callback) {
cmode: 0, ids: batch.toString() };
xhrPost("backend.php", query, (transport) => {
- const reply = App.handleRpcJson(transport);
+ const reply = Utils.handleRpcJson(transport);
if (reply) {
const batch = reply.ids;
@@ -1167,7 +1167,7 @@ function catchupRelativeToArticle(below, id) {
cmode: 0, ids: ids_to_mark.toString() };
xhrPost("backend.php", query, (transport) => {
- App.handleRpcJson(transport);
+ Utils.handleRpcJson(transport);
});
}
}
@@ -1489,7 +1489,7 @@ function initHeadlinesMenu() {
menu.addChild(new dijit.MenuItem({
label: __("Mark feed as read"),
onClick: function () {
- catchupFeedInGroup(this.getParent().currentTarget.getAttribute("data-feed-id"));
+ Feeds.catchupFeedInGroup(this.getParent().currentTarget.getAttribute("data-feed-id"));
}
}));