Skip to content

Commit

Permalink
client: Fix shortcuts when no selected entry
Browse files Browse the repository at this point in the history
Previously, they would throw error
  • Loading branch information
jtojnar committed Oct 1, 2019
1 parent c3ee6f6 commit 8a144ab
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 14 deletions.
57 changes: 43 additions & 14 deletions public/js/selfoss-shortcuts.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,13 @@ selfoss.shortcuts = {
return false;
}

selfoss.events.entriesToolbar(selfoss.ui.entryGetSelected());
$('.entry.selected .entry-starr').click();
var selected = selfoss.ui.entryGetSelected();

if (selected !== null) {
selfoss.events.entriesToolbar(selected);
$('.entry-starr', selected).click();
}

e.preventDefault();
return false;
});
Expand All @@ -116,8 +121,13 @@ selfoss.shortcuts = {
return false;
}

selfoss.events.entriesToolbar(selfoss.ui.entryGetSelected());
$('.entry.selected .entry-unread').click();
var selected = selfoss.ui.entryGetSelected();

if (selected !== null) {
selfoss.events.entriesToolbar(selected);
$('.entry-unread', selected).click();
}

e.preventDefault();
return false;
});
Expand Down Expand Up @@ -149,7 +159,12 @@ selfoss.shortcuts = {
return false;
}

window.open($('.entry.selected .entry-datetime').attr('href'));
var selected = selfoss.ui.entryGetSelected();

if (selected !== null) {
window.open($('.entry-datetime', selected).attr('href'));
}

e.preventDefault();
return false;
});
Expand All @@ -162,15 +177,19 @@ selfoss.shortcuts = {

e.preventDefault();

selfoss.events.entriesToolbar(selfoss.ui.entryGetSelected());
var selected = selfoss.ui.entryGetSelected();

// mark item as read
if ($('.entry.selected .entry-unread').hasClass('active')) {
$('.entry.selected .entry-unread').click();
}
if (selected !== null) {
selfoss.events.entriesToolbar(selected);

// mark item as read
if ($('.entry-unread', selected).hasClass('active')) {
$('.entry-unread', selected).click();
}

// open item in new window
$('.entry.selected .entry-datetime').click();
// open item in new window
$('.entry-datetime', selected).click();
}
});

// 'r': Reload the current view
Expand Down Expand Up @@ -210,7 +229,12 @@ selfoss.shortcuts = {
return false;
}

$('.entry.selected.unread .entry-unread').click();
var selected = selfoss.ui.entryGetSelected();

if (selected !== null && !selfoss.ui.entryIsRead(selected)) {
selfoss.ui.entryMark(selected.data('entry-id'), false);
}

selfoss.shortcuts.nextprev('next', true);
return false;
});
Expand All @@ -221,7 +245,12 @@ selfoss.shortcuts = {
return false;
}

$('.entry.selected.unread .entry-unread').click();
var selected = selfoss.ui.entryGetSelected();

if (selected !== null && !selfoss.ui.entryIsRead(selected)) {
selfoss.ui.entryMark(selected.data('entry-id'), false);
}

selfoss.shortcuts.nextprev('prev', true);
e.preventDefault();
return false;
Expand Down
10 changes: 10 additions & 0 deletions public/js/selfoss-ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,16 @@ selfoss.ui = {
},


/**
* Is given entry marked as read?
* @param {jQuery wrapped Element}
* @return {bool}
*/
entryIsRead: function(entry) {
return !entry.is('.unread');
},


entryStar: function(id, starred, domNode) {
var button = $('#entry' + id + ' .entry-starr, #entrr' + id + ' .entry-starr',
domNode);
Expand Down

0 comments on commit 8a144ab

Please sign in to comment.