Clean legacy SimpleMDE code (#17926)
Since we are using EasyMDE now, we do not need to keep the SimpleMDE code anymore. This PR removes all legacy SimpleMDE code, and makes some related changes: * `createCommentEasyMDE` can accept native DOM element, and it doesn't need `jQuery.data` to store EasyMDE editor object (as discussed about the frontend guideline). * introduce `getAttachedEasyMDE` to get the attached EasyMDE editor object, it's easier to find all the usage of EasyMDE. * rename variable names from `$simplemde` to `easyMDE`, the `$` was incorrect because it is a EasyMDE editor, not a jQuery object. With this PR, it will be easier to do more refactoring or replacing EasyMDE with other editors.
This commit is contained in:
parent
719bddcd76
commit
0a9fcf63a4
16 changed files with 104 additions and 82 deletions
|
@ -1,6 +1,6 @@
|
|||
import {htmlEscape} from 'escape-goat';
|
||||
import attachTribute from './tribute.js';
|
||||
import {createCommentSimpleMDE} from './comp/CommentSimpleMDE.js';
|
||||
import {createCommentEasyMDE, getAttachedEasyMDE} from './comp/CommentEasyMDE.js';
|
||||
import {initCompImagePaste} from './comp/ImagePaste.js';
|
||||
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
|
||||
|
||||
|
@ -213,8 +213,8 @@ export function initRepoIssueStatusButton() {
|
|||
// Change status
|
||||
const $statusButton = $('#status-button');
|
||||
$('#comment-form textarea').on('keyup', function () {
|
||||
const $simplemde = $(this).data('simplemde');
|
||||
const value = ($simplemde && $simplemde.value()) ? $simplemde.value() : $(this).val();
|
||||
const easyMDE = getAttachedEasyMDE(this);
|
||||
const value = easyMDE?.value() || $(this).val();
|
||||
$statusButton.text($statusButton.data(value.length === 0 ? 'status' : 'status-and-comment'));
|
||||
});
|
||||
$statusButton.on('click', () => {
|
||||
|
@ -445,22 +445,19 @@ export function initRepoPullRequestReview() {
|
|||
const form = $(this).closest('.comment-code-cloud').find('.comment-form');
|
||||
form.removeClass('hide');
|
||||
const $textarea = form.find('textarea');
|
||||
let $simplemde;
|
||||
if ($textarea.data('simplemde')) {
|
||||
$simplemde = $textarea.data('simplemde');
|
||||
} else {
|
||||
let easyMDE = getAttachedEasyMDE($textarea);
|
||||
if (!easyMDE) {
|
||||
attachTribute($textarea.get(), {mentions: true, emoji: true});
|
||||
$simplemde = createCommentSimpleMDE($textarea);
|
||||
$textarea.data('simplemde', $simplemde);
|
||||
easyMDE = createCommentEasyMDE($textarea);
|
||||
}
|
||||
$textarea.focus();
|
||||
$simplemde.codemirror.focus();
|
||||
easyMDE.codemirror.focus();
|
||||
assignMenuAttributes(form.find('.menu'));
|
||||
});
|
||||
|
||||
const $reviewBox = $('.review-box');
|
||||
if ($reviewBox.length === 1) {
|
||||
createCommentSimpleMDE($reviewBox.find('textarea'));
|
||||
createCommentEasyMDE($reviewBox.find('textarea'));
|
||||
initCompImagePaste($reviewBox);
|
||||
}
|
||||
|
||||
|
@ -519,9 +516,9 @@ export function initRepoPullRequestReview() {
|
|||
td.find("input[name='path']").val(path);
|
||||
const $textarea = commentCloud.find('textarea');
|
||||
attachTribute($textarea.get(), {mentions: true, emoji: true});
|
||||
const $simplemde = createCommentSimpleMDE($textarea);
|
||||
const easyMDE = createCommentEasyMDE($textarea);
|
||||
$textarea.focus();
|
||||
$simplemde.codemirror.focus();
|
||||
easyMDE.codemirror.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue