Skip to content

Commit 3bbb210

Browse files
author
Henry Goodman
committed
Fix repo diff review comment counter increment behaviour
1 parent 687c118 commit 3bbb210

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

web_src/js/features/repo-diff.ts

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,35 @@ function initRepoDiffReviewButton() {
1919
const counter = reviewBox.querySelector('.review-comments-counter');
2020
if (!counter) return;
2121

22-
$(document).on('click', 'button[name="pending_review"]', (e) => {
23-
const $form = $(e.target).closest('form');
24-
// Watch for the form's submit event.
25-
$form.on('submit', () => {
26-
const num = parseInt(counter.getAttribute('data-pending-comment-number')) + 1 || 1;
22+
function handleFormSubmit($form, $textarea) {
23+
$form.one('submit', (event) => {
24+
if ($textarea.val().trim() === '') {
25+
event.preventDefault();
26+
return;
27+
}
28+
const num = (parseInt(counter.getAttribute('data-pending-comment-number')) || 0) + 1;
2729
counter.setAttribute('data-pending-comment-number', num);
2830
counter.textContent = num;
2931
animateOnce(reviewBox, 'pulse-1p5-200');
3032
});
33+
}
34+
35+
// Handle submit on click
36+
$(document).on('click', 'button[name="pending_review"]', (e) => {
37+
const $form = $(e.target).closest('form');
38+
const $textarea = $form.find('textarea');
39+
handleFormSubmit($form, $textarea);
40+
$form.trigger('submit');
41+
});
42+
43+
// Handle submit by ctrl+enter
44+
$(document).on('keydown', 'textarea', (e) => {
45+
if (e.ctrlKey && e.key === 'Enter') {
46+
const $textarea = $(e.target);
47+
const $form = $textarea.closest('form');
48+
handleFormSubmit($form, $textarea);
49+
$form.trigger('submit');
50+
}
3151
});
3252
}
3353

0 commit comments

Comments
 (0)