summaryrefslogtreecommitdiff
path: root/js/FeedTree.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-05-20 20:32:00 +0300
committerAndrew Dolgov <[email protected]>2021-05-20 20:32:00 +0300
commit8574532b7f57593af41719c478258fc0024cd523 (patch)
tree76d5c025895eeba2b6c5f7e8e97ae6c1ab644bfa /js/FeedTree.js
parent4795c4a2a98a8c041bd8724aee880d0b3b6eda36 (diff)
add hotkeys J/K to move between unread feeds
Diffstat (limited to 'js/FeedTree.js')
-rwxr-xr-xjs/FeedTree.js11
1 files changed, 6 insertions, 5 deletions
diff --git a/js/FeedTree.js b/js/FeedTree.js
index b81638c39..e0c44e2b5 100755
--- a/js/FeedTree.js
+++ b/js/FeedTree.js
@@ -434,14 +434,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co
return [false, false];
},
- _prevTreeItemFromIndex: function (start) {
+ _prevTreeItemFromIndex: function (start, unread_only) {
const items = this.model.store._arrayOfAllItems;
for (let i = start-1; i > 0; i--) {
const id = String(items[i].id);
const box = this._itemNodesMap[id];
+ const unread = parseInt(items[i].unread);
- if (box) {
+ if (box && (!unread_only || unread > 0)) {
const row = box[0].rowNode;
const cat = box[0].rowNode.parentNode.parentNode;
@@ -451,7 +452,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co
}
}
},
- getPreviousFeed: function (feed, is_cat) {
+ getPreviousFeed: function (feed, is_cat, unread_only = false) {
let treeItem;
if (is_cat) {
@@ -464,11 +465,11 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co
const start = items.indexOf(treeItem);
if (start != -1) {
- let item = this._prevTreeItemFromIndex(start);
+ let item = this._prevTreeItemFromIndex(start, unread_only);
// wrap from the bottom
if (!item) {
- item = this._prevTreeItemFromIndex(items.length);
+ item = this._prevTreeItemFromIndex(items.length, unread_only);
}
if (item)