diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index ea69d45fa2003..5fe9aac5fe974 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -2382,6 +2382,8 @@ settings.event_desc = Trigger On: settings.event_push_only = Push Events settings.event_send_everything = All Events settings.event_choose = Custom Events… +settings.event_button_select_all = Select All +settings.event_button_deselect_all = Deselect All settings.event_header_repository = Repository Events settings.event_create = Create settings.event_create_desc = Branch or tag created. diff --git a/templates/repo/settings/webhook/settings.tmpl b/templates/repo/settings/webhook/settings.tmpl index 1f71b9cfab7c4..1b3e51744531d 100644 --- a/templates/repo/settings/webhook/settings.tmpl +++ b/templates/repo/settings/webhook/settings.tmpl @@ -81,6 +81,16 @@
+
+
+ + +
+
diff --git a/web_src/js/features/comp/WebHookEditor.ts b/web_src/js/features/comp/WebHookEditor.ts index 794b3c99ca7d7..2b1f1f80e7693 100644 --- a/web_src/js/features/comp/WebHookEditor.ts +++ b/web_src/js/features/comp/WebHookEditor.ts @@ -22,6 +22,19 @@ export function initCompWebHookEditor() { }); } + const section = document.querySelector('.events.fields.ui.grid'); + if (section) { + const checkboxes = section.querySelectorAll('input[type="checkbox"]'); + + document.querySelector('#event-select-all')?.addEventListener('click', () => { + for (const i of checkboxes) { i.checked = true } + }); + + document.querySelector('#event-deselect-all')?.addEventListener('click', () => { + for (const i of checkboxes) { i.checked = false } + }); + } + // some webhooks (like Gitea) allow to set the request method (GET/POST), and it would toggle the "Content Type" field const httpMethodInput = document.querySelector('#http_method'); if (httpMethodInput) {