summaryrefslogtreecommitdiff
path: root/source/features/pr-branch-auto-delete.tsx
blob: 9282b6bad256e942d2273ef42408540be6af7db8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import select from 'select-dom';
import delegate from 'delegate-it';
import features from '../libs/features';
import observeEl from '../libs/simplified-element-observer';

function init(): void {
	const [subscription] = delegate('#discussion_bucket', '.js-merge-commit-button', 'click', async () => {
		subscription.destroy();

		observeEl('.discussion-timeline-actions', (_, observer) => {
			const deleteButton = select('[action$="/cleanup"] [type="submit"]');
			if (deleteButton) {
				deleteButton.dataset.disableWith = 'Auto-deleting…';
				deleteButton.click();
				observer.disconnect();
			}
		});
	});
}

features.add({
	id: __featureName__,
	description: 'Automatically deletes the branch right after merging a PR, if possible.',
	screenshot: false,
	include: [
		features.isPRConversation
	],
	load: features.onAjaxedPages,
	init
});