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;