Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bunnymatic/08511901cebee502c81faf4604a78dd2 to your computer and use it in GitHub Desktop.
Save bunnymatic/08511901cebee502c81faf4604a78dd2 to your computer and use it in GitHub Desktop.
PR Reviewers
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