diff --git a/js/feedlist.js b/js/feedlist.js
index 33b5806e5..53274b8ba 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -1,4 +1,4 @@
-/* global notify,__,dijit */
+/* global notify,__,dijit,fox */
const Feeds = {
counters_last_request: 0,
@@ -155,6 +155,7 @@ const Feeds = {
url: "backend.php?op=pref_feeds&method=getfeedtree&mode=2"
});
+ // noinspection JSUnresolvedFunction
const treeModel = new fox.FeedStoreModel({
store: store,
query: {
@@ -165,9 +166,10 @@ const Feeds = {
childrenAttrs: ["items"]
});
+ // noinspection JSUnresolvedFunction
const tree = new fox.FeedTree({
model: treeModel,
- onClick: function (item, node) {
+ onClick: function (item/*, node*/) {
const id = String(item.id);
const is_cat = id.match("^CAT:");
const feed = id.substr(id.indexOf(":") + 1);
diff --git a/js/functions.js b/js/functions.js
index 21fe8c190..a4d9893d4 100755
--- a/js/functions.js
+++ b/js/functions.js
@@ -89,9 +89,6 @@ const Utils = {
if (!this.hotkey_prefix && hotkeys_map[0].indexOf(keychar) != -1) {
- const date = new Date();
- const ts = Math.round(date.getTime() / 1000);
-
this.hotkey_prefix = keychar;
$("cmdline").innerHTML = keychar;
Element.show("cmdline");
@@ -123,9 +120,11 @@ const Utils = {
let action_name = false;
for (const sequence in hotkeys_map[1]) {
- if (sequence == hotkey_full) {
- action_name = hotkeys_map[1][sequence];
- break;
+ if (hotkeys_map[1].hasOwnProperty(sequence)) {
+ if (sequence == hotkey_full) {
+ action_name = hotkeys_map[1][sequence];
+ break;
+ }
}
}
@@ -282,43 +281,46 @@ const Utils = {
//console.log("parsing runtime info...");
for (const k in data) {
- const v = data[k];
+ if (data.hasOwnProperty(k)) {
+ 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();
+ console.log("RI:", k, "=>", v);
+
+ 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_is_running" && v != 1) {
+ notify_error("Update daemon is not running.", true);
+ return;
}
- }
- if (k == "daemon_stamp_ok" && v != 1) {
- notify_error("Update daemon is not updating feeds.", true);
- return;
- }
+ if (k == "update_result") {
+ const updatesIcon = dijit.byId("updatesIcon").domNode;
- if (k == "max_feed_id" || k == "num_feeds") {
- if (init_params[k] != v) {
- console.log("feed count changed, need to reload feedlist.");
- Feeds.reload();
+ if (v) {
+ Element.show(updatesIcon);
+ } else {
+ Element.hide(updatesIcon);
+ }
}
- }
- init_params[k] = v;
- notify('');
+ 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;
+ }
}
PluginHost.run(PluginHost.HOOK_RUNTIME_INFO_LOADED, data);
@@ -349,7 +351,7 @@ const Utils = {
if (params.hasOwnProperty(k)) {
switch (k) {
case "label_base_index":
- _label_base_index = parseInt(params[k])
+ _label_base_index = parseInt(params[k]);
break;
case "hotkeys":
// filter mnemonic definitions (used for help panel) from hotkeys map
@@ -357,8 +359,10 @@ const Utils = {
const tmp = [];
for (const sequence in params[k][1]) {
- const filtered = sequence.replace(/\|.*$/, "");
- tmp[filtered] = params[k][1][sequence];
+ if (params[k][1].hasOwnProperty(sequence)) {
+ const filtered = sequence.replace(/\|.*$/, "");
+ tmp[filtered] = params[k][1][sequence];
+ }
}
params[k][1] = tmp;
@@ -458,8 +462,10 @@ const CommonDialogs = {
let count = 0;
for (const feedUrl in feeds) {
- select.addOption({value: feedUrl, label: feeds[feedUrl]});
- count++;
+ if (feeds.hasOwnProperty(feedUrl)) {
+ select.addOption({value: feedUrl, label: feeds[feedUrl]});
+ count++;
+ }
}
Effect.Appear('feedDlg_feedsContainer', {duration: 0.5});
@@ -687,7 +693,7 @@ const CommonDialogs = {
const query = {op: "pref-feeds", quiet: 1, method: "remove", ids: feed_id};
- xhrPost("backend.php", query, (transport) => {
+ xhrPost("backend.php", query, () => {
if (dijit.byId("feedEditDlg")) dijit.byId("feedEditDlg").hide();
if (App.isPrefs()) {
@@ -752,10 +758,10 @@ const CommonDialogs = {
const e = $('gen_feed_url');
if (new_link) {
- e.innerHTML = e.innerHTML.replace(/\&key=.*$/,
+ e.innerHTML = e.innerHTML.replace(/&key=.*$/,
"&key=" + new_link);
- e.href = e.href.replace(/\&key=.*$/,
+ e.href = e.href.replace(/&key=.*$/,
"&key=" + new_link);
new Effect.Highlight(e);
@@ -1509,7 +1515,7 @@ function removeFeedIcon(id) {
const query = { op: "pref-feeds", method: "removeicon", feed_id: id };
- xhrPost("backend.php", query, (transport) => {
+ xhrPost("backend.php", query, () => {
notify_info("Feed icon removed.");
if (App.isPrefs()) {
Feeds.reload();
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 9c5a78ce2..e6dbd1107 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -280,7 +280,7 @@ const App = {
if (id) {
Article.editArticleTags(id);
}
- }
+ };
this.hotkey_actions["open_in_new_window"] = function () {
if (Article.getActiveArticleId()) {
Article.openArticleInNewWindow(Article.getActiveArticleId());
@@ -504,23 +504,21 @@ const App = {
CommonDialogs.editFeed(Feeds.getActiveFeedId());
break;
case "qmcRemoveFeed":
- var actid = Feeds.getActiveFeedId();
-
- if (Feeds.activeFeedIsCat()) {
- alert(__("You can't unsubscribe from the category."));
- return;
- }
+ const actid = Feeds.getActiveFeedId();
if (!actid) {
alert(__("Please select some feed first."));
return;
}
- var fn = Feeds.getFeedName(actid);
+ if (Feeds.activeFeedIsCat()) {
+ alert(__("You can't unsubscribe from the category."));
+ return;
+ }
- var pr = __("Unsubscribe from %s?").replace("%s", fn);
+ const fn = Feeds.getFeedName(actid);
- if (confirm(pr)) {
+ if (confirm(__("Unsubscribe from %s?").replace("%s", fn))) {
CommonDialogs.unsubscribeFeed(actid);
}
break;