Forked from roger-mo-gusto/gist:1d48772eb63dcc4cc08366fad6245dbd
Last active
June 9, 2022 16:36
-
-
Save bunnymatic/08511901cebee502c81faf4604a78dd2 to your computer and use it in GitHub Desktop.
PR Reviewers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Create bookmark and drop this in the URL field | |
javascript:!function(){let e,t=["kevinhyunilkim","rhkwong","yingyingchoi","t3ly","roger-mo-gusto","julieqdchen-gusto","Lizard381","jaguar1014"];function n(){if(t.length>0){const e=t.shift();document.getElementById("review-filter-field").value=e,document.getElementById("review-filter-field").dispatchEvent(new Event("focus"));let i=0;const s=function(){let t=document.querySelectorAll(".filterable-active .select-menu-item"),c=null;t.forEach(function(t){-1!==t.textContent.toLowerCase().indexOf(e.toLowerCase())&&(c=t)}),c?(c.click(),setTimeout(n,200)):i%3E8?setTimeout(n,200):(i++,setTimeout(s,500))};s()}else%20document.querySelectorAll(%22.sidebar-assignee.js-discussion-sidebar-item%20summary%22)[0].click(),e.parentNode.removeChild(e)}function%20i(){const%20e=function(){const%20t=document.querySelectorAll(%22.select-menu-list%20.select-menu-item%22).length;null==document.querySelector(%22.js-discussion-sidebar-menu%20.select-menu-header%22).offsetParent&&document.querySelectorAll(%22.sidebar-assignee.js-discussion-sidebar-item%20summary%22)[0].click(),t%3E50?n():setTimeout(e,1e3)};setTimeout(e,1e3),document.querySelectorAll(%22.sidebar-assignee.js-discussion-sidebar-item%20summary%22)[0].click()}!function(){const%20t=document.createElement(%22DIV%22);(e=document.createElement(%22BUTTON%22)).id=%22pr_reviewers_ext_add_reviewers%22,e.innerText=%22Add%20Reviewers%22,e.classList.add(%22btn%22,%22btn-small%22,%22btn-block%22),t.appendChild(e),document.getElementById(%22partial-discussion-sidebar%22).prepend(t),console.log(%22creating%20button%22),e.addEventListener(%22click%22,i)}()}(); | |
Non-minified code below: | |
(function () { | |
let REVIEWERS = [ | |
'kevinhyunilkim', | |
'rhkwong', | |
'yingyingchoi', | |
't3ly', | |
'roger-mo-gusto', | |
'julieqdchen-gusto', | |
'Lizard381', | |
'jaguar1014' | |
]; | |
let addReviewersBtn; | |
function addReviewer() { | |
if (REVIEWERS.length > 0) { | |
const reviewer = REVIEWERS.shift(); | |
document.getElementById('review-filter-field').value = reviewer; | |
document.getElementById('review-filter-field').dispatchEvent(new Event('focus')); | |
let waitCount = 0; | |
const selectItem = function() { | |
let menuItems = document.querySelectorAll('.filterable-active .select-menu-item'); | |
let reviewerMenuItem = null; | |
menuItems.forEach(function(elem) { | |
if (elem.textContent.toLowerCase().indexOf(reviewer.toLowerCase()) !== -1) { | |
reviewerMenuItem = elem; | |
} | |
}); | |
if (reviewerMenuItem) { | |
reviewerMenuItem.click(); | |
setTimeout(addReviewer, 200); | |
} else { | |
if (waitCount > 8) { | |
setTimeout(addReviewer, 200); | |
} else { | |
waitCount++; | |
setTimeout(selectItem, 500); | |
} | |
} | |
} | |
selectItem(); | |
} else { | |
document.querySelectorAll('.sidebar-assignee.js-discussion-sidebar-item summary')[0].click() | |
addReviewersBtn.parentNode.removeChild(addReviewersBtn); | |
} | |
} | |
function startAddingReviewers() { | |
const countMenuItems = function() { | |
const menuItemCount = document.querySelectorAll('.select-menu-list .select-menu-item').length; | |
if (document.querySelector('.js-discussion-sidebar-menu .select-menu-header').offsetParent == null) { | |
document.querySelectorAll('.sidebar-assignee.js-discussion-sidebar-item summary')[0].click(); | |
} | |
if (menuItemCount > 50) { | |
addReviewer(); | |
} else { | |
setTimeout(countMenuItems, 1000); | |
} | |
} | |
setTimeout(countMenuItems, 1000); | |
document.querySelectorAll('.sidebar-assignee.js-discussion-sidebar-item summary')[0].click(); | |
} | |
function createButton() { | |
const sidebarItem = document.createElement('DIV'); | |
addReviewersBtn = document.createElement('BUTTON'); | |
addReviewersBtn.id = 'pr_reviewers_ext_add_reviewers'; | |
addReviewersBtn.innerText = 'Add Reviewers'; | |
addReviewersBtn.classList.add('btn', 'btn-small', 'btn-block'); | |
sidebarItem.appendChild(addReviewersBtn); | |
document.getElementById('partial-discussion-sidebar').prepend(sidebarItem); | |
console.log('creating button'); | |
addReviewersBtn.addEventListener('click', startAddingReviewers); | |
} | |
createButton(); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment