From 2335a3f79fd52cd9b6c1dc3edfabca0e3751e732 Mon Sep 17 00:00:00 2001 From: Federico Brigante Date: Wed, 17 Jan 2018 20:17:08 +0700 Subject: [PATCH] Add download folder button (#951) --- readme.md | 1 + source/content.js | 2 ++ source/features/add-download-folder-button.js | 17 +++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 source/features/add-download-folder-button.js diff --git a/readme.md b/readme.md index 08c22b153159..16e0cc86dbef 100644 --- a/readme.md +++ b/readme.md @@ -127,6 +127,7 @@ GitHub Enterprise is also supported. More info in the options. - [Adds a link in a user's profile to their public gists](https://user-images.githubusercontent.com/11544418/34268306-1c974fd2-e678-11e7-9e82-861dfe7add22.png) - [Adds a 'Jump to bottom' link to discussion pages](https://user-images.githubusercontent.com/4331946/34298950-93876584-e720-11e7-898a-96f85e31aefe.png) - [Adds a 'Your repositories' link to user profile dropdown](https://user-images.githubusercontent.com/4201088/34920280-479e2454-f996-11e7-8e24-ad69793b9d9b.png) +- [Adds a 'Download folder' button to repos](https://user-images.githubusercontent.com/1402241/35044451-fd3e2326-fbc2-11e7-82e1-61ec7bee612b.png) ### More info at a glance diff --git a/source/content.js b/source/content.js index 8904cf25db35..6fd3a0d7686f 100644 --- a/source/content.js +++ b/source/content.js @@ -58,6 +58,7 @@ import extendDiffExpander from './features/extend-diff-expander'; import sortIssuesByUpdateTime from './features/sort-issues-by-update-time'; import makeDiscussionSidebarSticky from './features/make-discussion-sidebar-sticky'; import shortenLinks from './features/shorten-links'; +import addDownloadFolderButton from './features/add-download-folder-button'; import hideUselessNewsfeedEvents from './features/hide-useless-newsfeed-events'; import * as pageDetect from './libs/page-detect'; @@ -145,6 +146,7 @@ function ajaxedPagesHandler() { enableFeature(sortIssuesByUpdateTime); enableFeature(shortenLinks); enableFeature(linkifyCode); + enableFeature(addDownloadFolderButton); if (pageDetect.isIssueSearch() || pageDetect.isPRSearch()) { enableFeature(addYoursMenuItem); diff --git a/source/features/add-download-folder-button.js b/source/features/add-download-folder-button.js new file mode 100644 index 000000000000..5444108290b9 --- /dev/null +++ b/source/features/add-download-folder-button.js @@ -0,0 +1,17 @@ +import {h} from 'dom-chef'; +import select from 'select-dom'; +import * as pageDetect from '../libs/page-detect'; + +export default () => { + if (pageDetect.isRepoTree()) { + const buttonGroup = select(`.file-navigation .BtnGroup.float-right`); + if (buttonGroup) { + buttonGroup.prepend( + + Download + ); + } + } +};