import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; import features from '.'; import GitHubURL from '../github-helpers/github-url'; function handleMenuOpening({delegateTarget: dropdown}: delegate.Event): void { dropdown.classList.add('rgh-raw-file-link'); // Mark this as processed const viewFile = select('[data-ga-click^="View file"]', dropdown)!; const {href} = new GitHubURL(viewFile.href).assign({route: 'raw'}); viewFile.after( View raw ); } function init(): void { // `useCapture` required to be fired before GitHub's handlers delegate(document, '.file-header .js-file-header-dropdown:not(.rgh-raw-file-link)', 'toggle', handleMenuOpening, true); } void features.add(__filebasename, { include: [ pageDetect.isCommit, pageDetect.isPRFiles, pageDetect.isCompare ], init });