Port "Remove jQuery from the repo release form"

Port of https://github.com/go-gitea/gitea/pull/29225. Reworked to not
use global click event listener.

---

- Switched to plain JavaScript
- Tested the repo release form functionality and it works as before
This commit is contained in:
Yarden Shoham 2024-02-18 03:22:09 +02:00 committed by Gusted
parent cfd6420a0e
commit 6b1f660db9
No known key found for this signature in database
GPG key ID: FD821B732837125F

View file

@ -1,19 +1,19 @@
import $ from 'jquery';
import {hideElem, showElem} from '../utils/dom.js'; import {hideElem, showElem} from '../utils/dom.js';
import {initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; import {initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js';
export function initRepoRelease() { export function initRepoRelease() {
$(document).on('click', '.remove-rel-attach', function() { [...document.querySelectorAll('.remove-rel-attach')].forEach((el) => {
const uuid = $(this).data('uuid'); el.addEventListener('click', (e) => {
const id = $(this).data('id'); const uuid = e.target.getAttribute('data-uuid');
$(`input[name='attachment-del-${uuid}']`).attr('value', true); const id = e.target.getAttribute('data-id');
hideElem($(`#attachment-${id}`)); document.querySelector(`input[name='attachment-del-${uuid}']`).value = 'true';
hideElem(`#attachment-${id}`);
});
}); });
} }
export function initRepoReleaseNew() { export function initRepoReleaseNew() {
const $repoReleaseNew = $('.repository.new.release'); if (!document.querySelector('.repository.new.release')) return;
if (!$repoReleaseNew.length) return;
initTagNameEditor(); initTagNameEditor();
initRepoReleaseEditor(); initRepoReleaseEditor();
@ -45,9 +45,9 @@ function initTagNameEditor() {
} }
function initRepoReleaseEditor() { function initRepoReleaseEditor() {
const $editor = $('.repository.new.release .combo-markdown-editor'); const editor = document.querySelector('.repository.new.release .combo-markdown-editor');
if ($editor.length === 0) { if (!editor) {
return; return;
} }
const _promise = initComboMarkdownEditor($editor); initComboMarkdownEditor(editor);
} }