Add previous/next buttons to review comments (#16273)
Co-authored-by: Norwin <noerw@users.noreply.github.com> Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: zeripath <art27@cantab.net>release/v1.15
parent
9b1b4b5433
commit
fe66b612b5
|
@ -27,6 +27,14 @@
|
||||||
</ui>
|
</ui>
|
||||||
</div>
|
</div>
|
||||||
<div class="df je ac fw mt-3">
|
<div class="df je ac fw mt-3">
|
||||||
|
<div class="ui buttons mr-2">
|
||||||
|
<button class="ui icon tiny basic button previous-conversation">
|
||||||
|
{{svg "octicon-arrow-up"}} {{$.i18n.Tr "repo.issues.previous"}}
|
||||||
|
</button>
|
||||||
|
<button class="ui icon tiny basic button next-conversation">
|
||||||
|
{{svg "octicon-arrow-down"}} {{$.i18n.Tr "repo.issues.next"}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
{{if and $.CanMarkConversation $isNotPending}}
|
{{if and $.CanMarkConversation $isNotPending}}
|
||||||
<button class="ui icon tiny basic button resolve-conversation" data-origin="diff" data-action="{{if not $resolved}}Resolve{{else}}UnResolve{{end}}" data-comment-id="{{(index .comments 0).ID}}" data-update-url="{{$.RepoLink}}/issues/resolve_conversation">
|
<button class="ui icon tiny basic button resolve-conversation" data-origin="diff" data-action="{{if not $resolved}}Resolve{{else}}UnResolve{{end}}" data-comment-id="{{(index .comments 0).ID}}" data-update-url="{{$.RepoLink}}/issues/resolve_conversation">
|
||||||
{{if $resolved}}
|
{{if $resolved}}
|
||||||
|
|
|
@ -942,6 +942,28 @@ async function initRepository() {
|
||||||
action: 'hide'
|
action: 'hide'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Previous/Next code review conversation
|
||||||
|
$(document).on('click', '.previous-conversation', (e) => {
|
||||||
|
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}`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(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}`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Quote reply
|
// Quote reply
|
||||||
$(document).on('click', '.quote-reply', function (event) {
|
$(document).on('click', '.quote-reply', function (event) {
|
||||||
$(this).closest('.dropdown').find('.menu').toggle('visible');
|
$(this).closest('.dropdown').find('.menu').toggle('visible');
|
||||||
|
|
Loading…
Reference in New Issue