mirror of
https://github.com/wallabag/wallabag.git
synced 2025-10-15 19:42:08 +00:00
Bring navigation (with right, left and enter) on material entries page. Supports going to next and previous page !
Also better indentation for js files (changed editorconfig for them). Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
16ef7607f4
commit
5637a26e9a
12 changed files with 162 additions and 24 deletions
|
@ -1,13 +1,71 @@
|
|||
/* Actions */
|
||||
Mousetrap.bind('g n', () => {
|
||||
import Mousetrap from 'mousetrap';
|
||||
import $ from 'jquery';
|
||||
|
||||
function toggleFocus(cardToToogleFocus) {
|
||||
if (cardToToogleFocus) {
|
||||
$(cardToToogleFocus).toggleClass('z-depth-4');
|
||||
}
|
||||
}
|
||||
let card;
|
||||
let cardIndex;
|
||||
let cardNumber;
|
||||
let pagination;
|
||||
|
||||
$(document).ready(() => {
|
||||
cardIndex = 0;
|
||||
cardNumber = $('#content ul.data > li').length;
|
||||
card = $('#content ul.data > li')[cardIndex];
|
||||
pagination = $('.pagination');
|
||||
|
||||
/* If we come from next page */
|
||||
if (window.location.hash === '#prev') {
|
||||
cardIndex = cardNumber - 1;
|
||||
card = $('ul.data > li')[cardIndex];
|
||||
}
|
||||
|
||||
/* Focus current card */
|
||||
toggleFocus(card);
|
||||
|
||||
/* Actions */
|
||||
Mousetrap.bind('g n', () => {
|
||||
$('#nav-btn-add').trigger('click');
|
||||
});
|
||||
});
|
||||
|
||||
Mousetrap.bind('esc', () => {
|
||||
Mousetrap.bind('esc', () => {
|
||||
$('.close').trigger('click');
|
||||
});
|
||||
});
|
||||
|
||||
// Display the first element of the current view
|
||||
Mousetrap.bind('right', () => {
|
||||
$('ul.data li:first-child span.dot-ellipsis a')[0].click();
|
||||
/* Select right card. If there's a next page, go to next page */
|
||||
Mousetrap.bind('right', () => {
|
||||
if (cardIndex >= 0 && cardIndex < cardNumber - 1) {
|
||||
toggleFocus(card);
|
||||
cardIndex += 1;
|
||||
card = $('ul.data > li')[cardIndex];
|
||||
toggleFocus(card);
|
||||
return;
|
||||
}
|
||||
if (pagination != null && pagination.find('li.next') && cardIndex === cardNumber - 1) {
|
||||
window.location.href = window.location.origin + $(pagination).find('li.next a').attr('href');
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
/* Select previous card. If there's a previous page, go to next page */
|
||||
Mousetrap.bind('left', () => {
|
||||
if (cardIndex > 0 && cardIndex < cardNumber) {
|
||||
toggleFocus(card);
|
||||
cardIndex -= 1;
|
||||
card = $('ul.data > li')[cardIndex];
|
||||
toggleFocus(card);
|
||||
return;
|
||||
}
|
||||
if (pagination !== null && $(pagination).find('li.prev') && cardIndex === 0) {
|
||||
window.location.href = `${window.location.origin + $(pagination).find('li.prev a').attr('href')}#prev`;
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
Mousetrap.bind('enter', () => {
|
||||
window.location.href = window.location.origin + $(card).find('span.card-title a').attr('href');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue