|
// modify blockedFilters to include filters that aren't people |
|
const blockedFilters = [ |
|
'Blocked', |
|
'Ralph', |
|
'blockedFilters', |
|
'Unassigned', |
|
'Bugs', |
|
'Release Ticket', |
|
'Only My Issues', |
|
'Recently Updated', |
|
'… Show more' |
|
]; |
|
|
|
const standupCheckMark = '✓'; |
|
let standupPeople; |
|
|
|
function getStandupList(){ |
|
addStandupBtn(); |
|
initStandupList(); |
|
} |
|
|
|
function addStandupBtn() { |
|
const auiNav = document.querySelector( '.aui-nav' ); |
|
const li = document.createElement( 'li' ); |
|
li.innerHTML = `<a |
|
class="aui-button aui-button-primary aui-style btn-standup" |
|
resolved="">Standup</a>`; |
|
auiNav.appendChild( li ); |
|
const btn = document.querySelector( '.btn-standup' ); |
|
btn.addEventListener( 'click', createStandupPopup ); |
|
} |
|
|
|
function removeStandupBtn() { |
|
const btn = document.querySelector( '.btn-standup' ); |
|
btn.parentNode.removeChild( btn ); |
|
} |
|
|
|
function initStandupList() { |
|
const filtersContainer = document.querySelector( '#js-work-quickfilters' ); |
|
standupPeople = [ ...filtersContainer.querySelectorAll( 'a' ) ].map( a => a.innerHTML); |
|
standupPeople = standupPeople.filter( person => !blockedFilters.includes( person ) ); |
|
} |
|
|
|
function createStandupPopup() { |
|
removeStandupBtn(); |
|
const randomizedPeople = standupPeople.sort( () => Math.random() - 0.5 ); |
|
const popup = document.createElement( 'div' ); |
|
popup.className = 'popup-standup displayed'; |
|
popup.innerHTML = ` |
|
<div class="popup-header" onclick="toggleStandupPopup()"> |
|
<span>standup</span> |
|
<span class="btn-standup-close"></span> |
|
</div> |
|
<div class="standup-list"> |
|
<ul> |
|
${randomizedPeople.map( person => `<li onclick="this.classList.toggle('done')">${person}</li>` ).join( '' )} |
|
</ul> |
|
</div> |
|
`; |
|
document.body.appendChild( popup ); |
|
} |
|
|
|
function toggleStandupPopup() { |
|
const popup = document.querySelector( '.popup-standup' ); |
|
if( popup ) { |
|
popup.classList.toggle( 'displayed' ); |
|
} |
|
} |
|
|
|
window.setTimeout( getStandupList, 5000 ); |