aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web_src/js/features/repo-issue.js30
-rw-r--r--web_src/js/features/repo-legacy.js11
2 files changed, 22 insertions, 19 deletions
diff --git a/web_src/js/features/repo-issue.js b/web_src/js/features/repo-issue.js
index 4fc8bb5e62..4163fb120e 100644
--- a/web_src/js/features/repo-issue.js
+++ b/web_src/js/features/repo-issue.js
@@ -418,6 +418,22 @@ function assignMenuAttributes(menu) {
return id;
}
+export async function handleReply($el) {
+ hideElem($el);
+ const form = $el.closest('.comment-code-cloud').find('.comment-form');
+ form.removeClass('gt-hidden');
+ const $textarea = form.find('textarea');
+ let easyMDE = getAttachedEasyMDE($textarea);
+ if (!easyMDE) {
+ await attachTribute($textarea.get(), {mentions: true, emoji: true});
+ easyMDE = await createCommentEasyMDE($textarea);
+ }
+ $textarea.focus();
+ easyMDE.codemirror.focus();
+ assignMenuAttributes(form.find('.menu'));
+ return easyMDE;
+}
+
export function initRepoPullRequestReview() {
if (window.location.hash && window.location.hash.startsWith('#issuecomment-')) {
const commentDiv = $(window.location.hash);
@@ -455,19 +471,7 @@ export function initRepoPullRequestReview() {
$(document).on('click', 'button.comment-form-reply', async function (e) {
e.preventDefault();
-
- hideElem($(this));
- const form = $(this).closest('.comment-code-cloud').find('.comment-form');
- form.removeClass('gt-hidden');
- const $textarea = form.find('textarea');
- let easyMDE = getAttachedEasyMDE($textarea);
- if (!easyMDE) {
- await attachTribute($textarea.get(), {mentions: true, emoji: true});
- easyMDE = await createCommentEasyMDE($textarea);
- }
- $textarea.focus();
- easyMDE.codemirror.focus();
- assignMenuAttributes(form.find('.menu'));
+ await handleReply($(this));
});
const $reviewBox = $('.review-box-panel');
diff --git a/web_src/js/features/repo-legacy.js b/web_src/js/features/repo-legacy.js
index 8c2a0207cb..22113af169 100644
--- a/web_src/js/features/repo-legacy.js
+++ b/web_src/js/features/repo-legacy.js
@@ -6,7 +6,7 @@ import {
initRepoIssueBranchSelect, initRepoIssueCodeCommentCancel, initRepoIssueCommentDelete,
initRepoIssueComments, initRepoIssueDependencyDelete, initRepoIssueReferenceIssue,
initRepoIssueStatusButton, initRepoIssueTitleEdit, initRepoIssueWipToggle,
- initRepoPullRequestUpdate, updateIssuesMeta,
+ initRepoPullRequestUpdate, updateIssuesMeta, handleReply
} from './repo-issue.js';
import {initUnicodeEscapeButton} from './repo-unicode-escape.js';
import {svg} from '../svg.js';
@@ -613,15 +613,15 @@ function initRepoIssueCommentEdit() {
$(document).on('click', '.edit-content', onEditContent);
// Quote reply
- $(document).on('click', '.quote-reply', function (event) {
+ $(document).on('click', '.quote-reply', async function (event) {
+ event.preventDefault();
const target = $(this).data('target');
const quote = $(`#${target}`).text().replace(/\n/g, '\n> ');
const content = `> ${quote}\n\n`;
let easyMDE;
if ($(this).hasClass('quote-reply-diff')) {
- const $parent = $(this).closest('.comment-code-cloud');
- $parent.find('button.comment-form-reply').trigger('click');
- easyMDE = getAttachedEasyMDE($parent.find('[name="content"]'));
+ const $replyBtn = $(this).closest('.comment-code-cloud').find('button.comment-form-reply');
+ easyMDE = await handleReply($replyBtn);
} else {
// for normal issue/comment page
easyMDE = getAttachedEasyMDE($('#comment-form .edit_area'));
@@ -637,6 +637,5 @@ function initRepoIssueCommentEdit() {
easyMDE.codemirror.setCursor(easyMDE.codemirror.lineCount(), 0);
});
}
- event.preventDefault();
});
}