Change button text for commenting and closing an issue at the same time (#23135)

Close  #10468

Without SimpleMDE/EasyMDE, using Simple Textarea, the button text could
be changed when content changes.

After introducing SimpleMDE/EasyMDE, there is no code for updating the
button text.
This commit is contained in:
wxiaoguang 2023-02-28 07:13:52 +08:00 committed by GitHub
parent 725a97c6c9
commit 8b86ccbee1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View file

@ -77,6 +77,9 @@ export async function createCommentEasyMDE(textarea, easyMDEOptions = {}) {
const inputField = easyMDE.codemirror.getInputField(); const inputField = easyMDE.codemirror.getInputField();
easyMDE.codemirror.on('change', (...args) => {
easyMDEOptions?.onChange(...args);
});
easyMDE.codemirror.setOption('extraKeys', { easyMDE.codemirror.setOption('extraKeys', {
'Cmd-Enter': codeMirrorQuickSubmit, 'Cmd-Enter': codeMirrorQuickSubmit,
'Ctrl-Enter': codeMirrorQuickSubmit, 'Ctrl-Enter': codeMirrorQuickSubmit,

View file

@ -85,12 +85,18 @@ export function initRepoCommentForm() {
} }
(async () => { (async () => {
const $statusButton = $('#status-button');
for (const textarea of $commentForm.find('textarea:not(.review-textarea, .no-easymde)')) { for (const textarea of $commentForm.find('textarea:not(.review-textarea, .no-easymde)')) {
// Don't initialize EasyMDE for the dormant #edit-content-form // Don't initialize EasyMDE for the dormant #edit-content-form
if (textarea.closest('#edit-content-form')) { if (textarea.closest('#edit-content-form')) {
continue; continue;
} }
const easyMDE = await createCommentEasyMDE(textarea); const easyMDE = await createCommentEasyMDE(textarea, {
'onChange': () => {
const value = easyMDE?.value().trim();
$statusButton.text($statusButton.attr(value.length === 0 ? 'data-status' : 'data-status-and-comment'));
},
});
initEasyMDEImagePaste(easyMDE, $commentForm.find('.dropzone')); initEasyMDEImagePaste(easyMDE, $commentForm.find('.dropzone'));
} }
})(); })();