aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYarden Shoham <git@yardenshoham.com>2024-02-17 15:17:04 +0200
committerGitHub <noreply@github.com>2024-02-17 13:17:04 +0000
commit27192bc321161a4e648547bd7b071065a7b18326 (patch)
tree2caaa9af438e0787cd7fb966069d50e1f2eda02c
parentc282d378bd1f2f11ffc884cd6d7c073b7b5745f8 (diff)
downloadgitea-27192bc321161a4e648547bd7b071065a7b18326.tar.gz
gitea-27192bc321161a4e648547bd7b071065a7b18326.zip
Remove jQuery from the webhook editor (#29211)
- Switched to plain JavaScript - Tested the webhook editing functionality and it works as before # Demo using JavaScript without jQuery ![action](https://github.com/go-gitea/gitea/assets/20454870/b24c264d-d5e5-4954-8789-e72564a99027) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
-rw-r--r--web_src/js/features/comp/WebHookEditor.js56
1 files changed, 27 insertions, 29 deletions
diff --git a/web_src/js/features/comp/WebHookEditor.js b/web_src/js/features/comp/WebHookEditor.js
index f4c82898fd..86d21dc815 100644
--- a/web_src/js/features/comp/WebHookEditor.js
+++ b/web_src/js/features/comp/WebHookEditor.js
@@ -1,43 +1,41 @@
-import $ from 'jquery';
+import {POST} from '../../modules/fetch.js';
import {hideElem, showElem, toggleElem} from '../../utils/dom.js';
-const {csrfToken} = window.config;
-
export function initCompWebHookEditor() {
- if ($('.new.webhook').length === 0) {
+ if (!document.querySelectorAll('.new.webhook').length) {
return;
}
- $('.events.checkbox input').on('change', function () {
- if ($(this).is(':checked')) {
- showElem($('.events.fields'));
- }
- });
- $('.non-events.checkbox input').on('change', function () {
- if ($(this).is(':checked')) {
- hideElem($('.events.fields'));
- }
- });
+ for (const input of document.querySelectorAll('.events.checkbox input')) {
+ input.addEventListener('change', function () {
+ if (this.checked) {
+ showElem('.events.fields');
+ }
+ });
+ }
+
+ for (const input of document.querySelectorAll('.non-events.checkbox input')) {
+ input.addEventListener('change', function () {
+ if (this.checked) {
+ hideElem('.events.fields');
+ }
+ });
+ }
const updateContentType = function () {
- const visible = $('#http_method').val() === 'POST';
- toggleElem($('#content_type').parent().parent(), visible);
+ const visible = document.getElementById('http_method').value === 'POST';
+ toggleElem(document.getElementById('content_type').parentNode.parentNode, visible);
};
updateContentType();
- $('#http_method').on('change', () => {
- updateContentType();
- });
+
+ document.getElementById('http_method').addEventListener('change', updateContentType);
// Test delivery
- $('#test-delivery').on('click', function () {
- const $this = $(this);
- $this.addClass('loading disabled');
- $.post($this.data('link'), {
- _csrf: csrfToken
- }).done(
- setTimeout(() => {
- window.location.href = $this.data('redirect');
- }, 5000)
- );
+ document.getElementById('test-delivery')?.addEventListener('click', async function () {
+ this.classList.add('loading', 'disabled');
+ await POST(this.getAttribute('data-link'));
+ setTimeout(() => {
+ window.location.href = this.getAttribute('data-redirect');
+ }, 5000);
});
}