From 6b1f660db967f514bbcbb9983186e5b1a1258e68 Mon Sep 17 00:00:00 2001 From: Yarden Shoham Date: Sun, 18 Feb 2024 03:22:09 +0200 Subject: [PATCH] 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 --- web_src/js/features/repo-release.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/web_src/js/features/repo-release.js b/web_src/js/features/repo-release.js index 3338c2874b..efa1f1ad40 100644 --- a/web_src/js/features/repo-release.js +++ b/web_src/js/features/repo-release.js @@ -1,19 +1,19 @@ -import $ from 'jquery'; import {hideElem, showElem} from '../utils/dom.js'; import {initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; export function initRepoRelease() { - $(document).on('click', '.remove-rel-attach', function() { - const uuid = $(this).data('uuid'); - const id = $(this).data('id'); - $(`input[name='attachment-del-${uuid}']`).attr('value', true); - hideElem($(`#attachment-${id}`)); + [...document.querySelectorAll('.remove-rel-attach')].forEach((el) => { + el.addEventListener('click', (e) => { + const uuid = e.target.getAttribute('data-uuid'); + const id = e.target.getAttribute('data-id'); + document.querySelector(`input[name='attachment-del-${uuid}']`).value = 'true'; + hideElem(`#attachment-${id}`); + }); }); } export function initRepoReleaseNew() { - const $repoReleaseNew = $('.repository.new.release'); - if (!$repoReleaseNew.length) return; + if (!document.querySelector('.repository.new.release')) return; initTagNameEditor(); initRepoReleaseEditor(); @@ -45,9 +45,9 @@ function initTagNameEditor() { } function initRepoReleaseEditor() { - const $editor = $('.repository.new.release .combo-markdown-editor'); - if ($editor.length === 0) { + const editor = document.querySelector('.repository.new.release .combo-markdown-editor'); + if (!editor) { return; } - const _promise = initComboMarkdownEditor($editor); + initComboMarkdownEditor(editor); }