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:
parent
290f458d46
commit
a3476e5ad5
1 changed files with 8 additions and 10 deletions
|
@ -947,21 +947,19 @@ async function initRepository() {
|
||||||
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
|
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
|
||||||
const $conversations = $('.comment-code-cloud:not(.hide)');
|
const $conversations = $('.comment-code-cloud:not(.hide)');
|
||||||
const index = $conversations.index($conversation);
|
const index = $conversations.index($conversation);
|
||||||
if (index !== 0) {
|
const previousIndex = index > 0 ? index - 1 : $conversations.length - 1;
|
||||||
const $previousConversation = $conversations.eq(index - 1);
|
const $previousConversation = $conversations.eq(previousIndex);
|
||||||
const anchor = $previousConversation.find('.comment').first().attr('id');
|
const anchor = $previousConversation.find('.comment').first().attr('id');
|
||||||
window.location.href = `#${anchor}`;
|
window.location.href = `#${anchor}`;
|
||||||
}
|
|
||||||
});
|
});
|
||||||
$(document).on('click', '.next-conversation', (e) => {
|
$(document).on('click', '.next-conversation', (e) => {
|
||||||
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
|
const $conversation = $(e.currentTarget).closest('.comment-code-cloud');
|
||||||
const $conversations = $('.comment-code-cloud:not(.hide)');
|
const $conversations = $('.comment-code-cloud:not(.hide)');
|
||||||
const index = $conversations.index($conversation);
|
const index = $conversations.index($conversation);
|
||||||
if (index !== $conversations.length - 1) {
|
const nextIndex = index < $conversations.length - 1 ? index + 1 : 0;
|
||||||
const $nextConversation = $conversations.eq(index + 1);
|
const $nextConversation = $conversations.eq(nextIndex);
|
||||||
const anchor = $nextConversation.find('.comment').first().attr('id');
|
const anchor = $nextConversation.find('.comment').first().attr('id');
|
||||||
window.location.href = `#${anchor}`;
|
window.location.href = `#${anchor}`;
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Quote reply
|
// Quote reply
|
||||||
|
|
Reference in a new issue