Wrap around for previous/next buttons (#16319)

Fixes #16317

Wrap around from last to first comment when clicking "Next" on last comment.
Wrap around from first to last comment when clicking "Previous" on first comment.
This commit is contained in:
Jimmy Praet 2021-07-02 00:02:48 +02:00 committed by GitHub
parent 290f458d46
commit a3476e5ad5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -947,21 +947,19 @@ async function initRepository() {
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
const $conversations = $('.comment-code-cloud:not(.hide)');
const index = $conversations.index($conversation);
if (index !== 0) {
const $previousConversation = $conversations.eq(index - 1);
const anchor = $previousConversation.find('.comment').first().attr('id');
window.location.href = `#${anchor}`;
}
const previousIndex = index > 0 ? index - 1 : $conversations.length - 1;
const $previousConversation = $conversations.eq(previousIndex);
const anchor = $previousConversation.find('.comment').first().attr('id');
window.location.href = `#${anchor}`;
});
$(document).on('click', '.next-conversation', (e) => {
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
const $conversations = $('.comment-code-cloud:not(.hide)');
const index = $conversations.index($conversation);
if (index !== $conversations.length - 1) {
const $nextConversation = $conversations.eq(index + 1);
const anchor = $nextConversation.find('.comment').first().attr('id');
window.location.href = `#${anchor}`;
}
const nextIndex = index < $conversations.length - 1 ? index + 1 : 0;
const $nextConversation = $conversations.eq(nextIndex);
const anchor = $nextConversation.find('.comment').first().attr('id');
window.location.href = `#${anchor}`;
});
// Quote reply