Remove jQuery AJAX from the markdown editor preview (#29384)

- Removed all jQuery AJAX calls and replaced with our fetch wrapper
- Tested the markdown editor preview button functionality and it works
as before

# Demo using `fetch` instead of jQuery AJAX

![action](https://github.com/go-gitea/gitea/assets/20454870/3fc7abb8-4fdc-46e9-95f6-087d9526bb52)

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
This commit is contained in:
Yarden Shoham 2024-02-25 06:42:29 +02:00 committed by GitHub
parent 736c98be5c
commit 1f6de13897
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 10 deletions

View File

@ -9,6 +9,7 @@ import {renderPreviewPanelContent} from '../repo-editor.js';
import {easyMDEToolbarActions} from './EasyMDEToolbarActions.js'; import {easyMDEToolbarActions} from './EasyMDEToolbarActions.js';
import {initTextExpander} from './TextExpander.js'; import {initTextExpander} from './TextExpander.js';
import {showErrorToast} from '../../modules/toast.js'; import {showErrorToast} from '../../modules/toast.js';
import {POST} from '../../modules/fetch.js';
let elementIdCounter = 0; let elementIdCounter = 0;
@ -147,16 +148,15 @@ class ComboMarkdownEditor {
this.previewContext = $tabPreviewer.attr('data-preview-context'); this.previewContext = $tabPreviewer.attr('data-preview-context');
this.previewMode = this.options.previewMode ?? 'comment'; this.previewMode = this.options.previewMode ?? 'comment';
this.previewWiki = this.options.previewWiki ?? false; this.previewWiki = this.options.previewWiki ?? false;
$tabPreviewer.on('click', () => { $tabPreviewer.on('click', async () => {
$.post(this.previewUrl, { const formData = new FormData();
_csrf: window.config.csrfToken, formData.append('mode', this.previewMode);
mode: this.previewMode, formData.append('context', this.previewContext);
context: this.previewContext, formData.append('text', this.value());
text: this.value(), formData.append('wiki', this.previewWiki);
wiki: this.previewWiki, const response = await POST(this.previewUrl, {data: formData});
}, (data) => { const data = await response.text();
renderPreviewPanelContent($panelPreviewer, data); renderPreviewPanelContent($panelPreviewer, data);
});
}); });
} }