Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 10 additions & 0 deletions templates/repo/settings/webhook/settings.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,16 @@

<div class="events fields ui grid {{if not .Webhook.ChooseEvents}}tw-hidden{{end}}">
<!-- Repository Events -->
<div class="fourteen wide column">
<div class="field">
<button type="button" class="ui tiny button" id="event-select-all">
{{ctx.Locale.Tr "repo.settings.event_button_select_all"}}
</button>
<button type="button" class="ui tiny button" id="event-deselect-all">
{{ctx.Locale.Tr "repo.settings.event_button_deselect_all"}}
</button>
</div>
</div>
Copy link
Member

@silverwind silverwind Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move it to line 97. It's more logical for it to be after the "Repository Events" header.

<div class="fourteen wide column">
<label>{{ctx.Locale.Tr "repo.settings.event_header_repository"}}</label>
</div>
Expand Down
13 changes: 13 additions & 0 deletions web_src/js/features/comp/WebHookEditor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,19 @@ export function initCompWebHookEditor() {
});
}

const section = document.querySelector('.events.fields.ui.grid');
if (section) {
const checkboxes = section.querySelectorAll<HTMLInputElement>('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<HTMLInputElement>('#http_method');
if (httpMethodInput) {
Expand Down