mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-14 16:37:57 +02:00
This is the first step (the hardest part): * repo file list last commit message lazy load * admin server status monitor * watch/unwatch (normal page, watchers page) * star/unstar (normal page, watchers page) * project view, delete column * workflow dispatch, switch the branch * commit page: load branches and tags referencing this commit The legacy "data-redirect" attribute is removed, it only makes the page reload (sometimes using an incorrect link). Also did cleanup for some devtest pages.
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import {POST} from '../../modules/fetch.ts';
|
|
import {hideElem, showElem, toggleElem} from '../../utils/dom.ts';
|
|
|
|
export function initCompWebHookEditor() {
|
|
if (!document.querySelectorAll('.new.webhook').length) {
|
|
return;
|
|
}
|
|
|
|
for (const input of document.querySelectorAll<HTMLInputElement>('.events.checkbox input')) {
|
|
input.addEventListener('change', function () {
|
|
if (this.checked) {
|
|
showElem('.events.fields');
|
|
}
|
|
});
|
|
}
|
|
|
|
for (const input of document.querySelectorAll<HTMLInputElement>('.non-events.checkbox input')) {
|
|
input.addEventListener('change', function () {
|
|
if (this.checked) {
|
|
hideElem('.events.fields');
|
|
}
|
|
});
|
|
}
|
|
|
|
// some webhooks (like Gitea) allow to set the request method (GET/POST), and it would toggle the "Content Type" field
|
|
const httpMethodInput = document.querySelector<HTMLInputElement>('#http_method');
|
|
if (httpMethodInput) {
|
|
const updateContentType = function () {
|
|
const visible = httpMethodInput.value === 'POST';
|
|
toggleElem(document.querySelector('#content_type')!.closest('.field')!, visible);
|
|
};
|
|
updateContentType();
|
|
httpMethodInput.addEventListener('change', updateContentType);
|
|
}
|
|
|
|
// Test delivery
|
|
document.querySelector<HTMLButtonElement>('#test-delivery')?.addEventListener('click', async function () {
|
|
this.classList.add('is-loading', 'disabled');
|
|
await POST(this.getAttribute('data-link')!);
|
|
setTimeout(() => window.location.reload(), 5000);
|
|
});
|
|
}
|