forgejo-federation/web_src/js/features/comp/WebHookEditor.js
wxiaoguang bb71ceeeb2
Improve async/await usage, and sort init calls in index.js (#17386)
* clean up async/await, and sort init calls in `index.js
* use `const _promise` to indicate that we do not need await an async function
2021-11-09 17:27:25 +08:00

40 lines
997 B
JavaScript

const {csrfToken} = window.config;
export function initCompWebHookEditor() {
if ($('.new.webhook').length === 0) {
return;
}
$('.events.checkbox input').on('change', function () {
if ($(this).is(':checked')) {
$('.events.fields').show();
}
});
$('.non-events.checkbox input').on('change', function () {
if ($(this).is(':checked')) {
$('.events.fields').hide();
}
});
const updateContentType = function () {
const visible = $('#http_method').val() === 'POST';
$('#content_type').parent().parent()[visible ? 'show' : 'hide']();
};
updateContentType();
$('#http_method').on('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)
);
});
}