Skip to content

Commit cd09e7c

Browse files
authored
fix(grader): Sending two comments on the same line won't multiple comments (#363)
1 parent 74fa1c1 commit cd09e7c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lms/static/grader.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,14 @@ function focusTextArea(lineNumber) {
141141

142142
function trackTextArea(lineNumber) {
143143
const target = `textarea[data-line='${lineNumber}']`;
144+
const textareaElement = document.querySelector(target);
144145
const popoverElement = document.querySelector(`.grader-add[data-line='${lineNumber}']`);
145-
document.querySelector(target).addEventListener('keydown', (ev) => {
146-
if ((ev.which === 10 || ev.which === 13) && ev.ctrlKey) { // CTRL + ENTER
146+
147+
const keyDownFunction = function(ev) {
148+
if ((ev.key === 'Enter' && ev.ctrlKey) || ((ev.which === 10 || ev.which === 13) && ev.ctrlKey)) {
147149
sendNewComment(window.fileId, lineNumber, ev.target.value);
150+
ev.target.value = '';
151+
textareaElement.removeEventListener('keydown', keyDownFunction);
148152
} else if (ev.key === 'Escape') {
149153
ev.preventDefault();
150154
} else {
@@ -153,7 +157,9 @@ function trackTextArea(lineNumber) {
153157

154158
const popover = bootstrap.Popover.getInstance(popoverElement);
155159
if (popover !== null) {popover.hide();}
156-
});
160+
};
161+
162+
textareaElement.addEventListener('keydown', keyDownFunction, {});
157163
}
158164

159165
function registerNewCommentPopover(element) {

0 commit comments

Comments
 (0)