mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	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  --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		| @@ -1,43 +1,41 @@ | |||||||
| import $ from 'jquery'; | import {POST} from '../../modules/fetch.js'; | ||||||
| import {hideElem, showElem, toggleElem} from '../../utils/dom.js'; | import {hideElem, showElem, toggleElem} from '../../utils/dom.js'; | ||||||
|  |  | ||||||
| const {csrfToken} = window.config; |  | ||||||
|  |  | ||||||
| export function initCompWebHookEditor() { | export function initCompWebHookEditor() { | ||||||
|   if ($('.new.webhook').length === 0) { |   if (!document.querySelectorAll('.new.webhook').length) { | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   $('.events.checkbox input').on('change', function () { |   for (const input of document.querySelectorAll('.events.checkbox input')) { | ||||||
|     if ($(this).is(':checked')) { |     input.addEventListener('change', function () { | ||||||
|       showElem($('.events.fields')); |       if (this.checked) { | ||||||
|     } |         showElem('.events.fields'); | ||||||
|   }); |       } | ||||||
|   $('.non-events.checkbox input').on('change', function () { |     }); | ||||||
|     if ($(this).is(':checked')) { |   } | ||||||
|       hideElem($('.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 updateContentType = function () { | ||||||
|     const visible = $('#http_method').val() === 'POST'; |     const visible = document.getElementById('http_method').value === 'POST'; | ||||||
|     toggleElem($('#content_type').parent().parent(), visible); |     toggleElem(document.getElementById('content_type').parentNode.parentNode, visible); | ||||||
|   }; |   }; | ||||||
|   updateContentType(); |   updateContentType(); | ||||||
|   $('#http_method').on('change', () => { |  | ||||||
|     updateContentType(); |   document.getElementById('http_method').addEventListener('change', updateContentType); | ||||||
|   }); |  | ||||||
|  |  | ||||||
|   // Test delivery |   // Test delivery | ||||||
|   $('#test-delivery').on('click', function () { |   document.getElementById('test-delivery')?.addEventListener('click', async function () { | ||||||
|     const $this = $(this); |     this.classList.add('loading', 'disabled'); | ||||||
|     $this.addClass('loading disabled'); |     await POST(this.getAttribute('data-link')); | ||||||
|     $.post($this.data('link'), { |     setTimeout(() => { | ||||||
|       _csrf: csrfToken |       window.location.href = this.getAttribute('data-redirect'); | ||||||
|     }).done( |     }, 5000); | ||||||
|       setTimeout(() => { |  | ||||||
|         window.location.href = $this.data('redirect'); |  | ||||||
|       }, 5000) |  | ||||||
|     ); |  | ||||||
|   }); |   }); | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user