Last active
May 12, 2022 18:15
-
-
Save roger-mo-gusto/1d48772eb63dcc4cc08366fad6245dbd 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=["kevinhyunilkim","rhkwong","julieqdchen-gusto","t3ly","bunnymatic","yingyingchoi","lizard381"],t;function l(){if(0<e.length){var i=e.shift();document.getElementById("review-filter-field").value=i,document.getElementById("review-filter-field").dispatchEvent(new Event("focus"));let n=0;const s=function(){let e=document.querySelectorAll(".filterable-active .select-menu-item"),t=null;e.forEach(function(e){-1!==e.textContent.indexOf(i)&&(t=e)}),t?(t.click(),setTimeout(l,200)):8<n?setTimeout(l,200):(n++,setTimeout(s,500))};s()}else document.querySelectorAll(".sidebar-assignee.js-discussion-sidebar-item summary")[0].click(),t.parentNode.removeChild(t)}function n(){const t=function(){var e=document.querySelectorAll(".select-menu-list .select-menu-item").length;null==document.querySelector(".js-discussion-sidebar-menu .select-menu-header").offsetParent&&document.querySelectorAll(".sidebar-assignee.js-discussion-sidebar-item summary")[0].click(),50<e?l():setTimeout(t,1e3)};setTimeout(t,1e3),document.querySelectorAll(".sidebar-assignee.js-discussion-sidebar-item summary")[0].click()}!function(){const e=document.createElement("DIV");t=document.createElement("BUTTON"),t.id="pr_reviewers_ext_add_reviewers",t.innerText="Add Reviewers",t.classList.add("btn","btn-small","btn-block"),e.appendChild(t),document.getElementById("partial-discussion-sidebar").prepend(e),console.log("creating button"),t.addEventListener("click",n)}()})(); | |
Non-minified code below: | |
(function () { | |
let REVIEWERS = [ | |
'kevinhyunilkim', | |
'rhkwong', | |
'yingyingchoi', | |
't3ly', | |
'bunnymatic', | |
'julieqdchen-gusto', | |
'Lizard381', | |
]; | |
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.indexOf(reviewer) !== -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