summaryrefslogtreecommitdiff
path: root/source/features/revert-file.tsx
diff options
context:
space:
mode:
authorGravatar Federico Brigante <github@bfred.it> 2019-08-31 01:26:28 +0700
committerGravatar GitHub <noreply@github.com> 2019-08-31 01:26:28 +0700
commit8d0393542bd712d7bb7f93874118dedd07b62c7b (patch)
tree0a139195466ba76bf5abdd6cbb979e55dcf3322a /source/features/revert-file.tsx
parent0ca864af6da9cac9f503e4abd0c58b60fbe1abc6 (diff)
downloadrefined-github-22fadd2fa6fb5bb4dac88ca1fc81a69c1dc8ec97.tar.gz
refined-github-22fadd2fa6fb5bb4dac88ca1fc81a69c1dc8ec97.tar.zst
refined-github-22fadd2fa6fb5bb4dac88ca1fc81a69c1dc8ec97.zip
Update dependencies and lint (#2391)19.8.31
Diffstat (limited to 'source/features/revert-file.tsx')
-rw-r--r--source/features/revert-file.tsx11
1 files changed, 5 insertions, 6 deletions
diff --git a/source/features/revert-file.tsx b/source/features/revert-file.tsx
index 0c17ca88..347fad5c 100644
--- a/source/features/revert-file.tsx
+++ b/source/features/revert-file.tsx
@@ -30,7 +30,7 @@ const getBaseRef = onetime(async (): Promise<string> => {
});
async function getFile(menuItem: Element): Promise<{isTruncated: boolean; text: string}> {
- const filePath = (menuItem.closest('[data-path]') as HTMLElement).dataset.path!;
+ const filePath = menuItem.closest<HTMLElement>('[data-path]')!.dataset.path!;
const {repository} = await api.v4(`
repository(${getRepoGQL()}) {
file: object(expression: "${await getBaseRef()}:${filePath}") {
@@ -45,8 +45,6 @@ async function getFile(menuItem: Element): Promise<{isTruncated: boolean; text:
}
async function deleteFile(menuItem: Element): Promise<void> {
- // The `a` selector skips the broken Delete link on some pages. GitHub's bug.
- // TODO: where? What happens when it's not found?
menuItem.textContent = 'Deleting…';
const deleteFileLink = select<HTMLAnchorElement>('a[aria-label^="Delete this"]', menuItem.parentElement!)!;
@@ -77,7 +75,8 @@ async function commitFileContent(menuItem: Element, content: string): Promise<vo
async function handleRevertFileClick(event: React.MouseEvent<HTMLButtonElement>): Promise<void> {
const menuItem = event.currentTarget;
// Allow only one click
- menuItem.removeEventListener('click', handleRevertFileClick as any); // TODO: change JSX event types to be plain browser events
+ // TODO: change JSX event types to be plain browser events
+ menuItem.removeEventListener('click', handleRevertFileClick as any);
menuItem.textContent = 'Reverting…';
event.preventDefault();
event.stopPropagation();
@@ -88,7 +87,7 @@ async function handleRevertFileClick(event: React.MouseEvent<HTMLButtonElement>)
if (!file) {
// The file was created by this PR. Revert === Delete.
// If there was a way to tell if a file was created by the PR, we could skip `getFile`
- // TODO: find this info on the page
+ // TODO: find this info on the page ("was this file created by this PR?")
await deleteFile(menuItem);
return;
}
@@ -108,7 +107,7 @@ async function handleRevertFileClick(event: React.MouseEvent<HTMLButtonElement>)
}
}
-async function handleMenuOpening(event: DelegateEvent): Promise<void> {
+function handleMenuOpening(event: DelegateEvent): void {
const dropdown = event.delegateTarget.nextElementSibling!;
const editFile = select<HTMLAnchorElement>('[aria-label^="Change this"]', dropdown);