Skip to content

Instantly share code, notes, and snippets.

@abock
Created March 9, 2018 18:02
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 abock/7250a906b853857c895d3b5b9abeeea3 to your computer and use it in GitHub Desktop.
Save abock/7250a906b853857c895d3b5b9abeeea3 to your computer and use it in GitHub Desktop.
hackityhack.ts
private layoutAsync() {
// CommandBar will also request an animation frame to do its measure pass;
// set a timeout to defer another loop pass to make sure we run after, and
// then request our own animation frame.
setTimeout(() => window.requestAnimationFrame(this.layout), 0)
}
private layout() {
const commandBar = document.getElementsByClassName('ms-CommandBar')[0]
if (!commandBar)
return
const primaryCommands = commandBar.getElementsByClassName('ms-CommandBar-primaryCommands')[0]
const sideCommands = commandBar.getElementsByClassName('ms-CommandBar-sideCommands')[0]
const leftCommands = primaryCommands.getElementsByClassName('ms-CommandBarItem')
const leftCommand = leftCommands[leftCommands.length - 1]
const leftBounds = leftCommands[leftCommands.length - 1].getBoundingClientRect()
const rightCommands = sideCommands.getElementsByClassName('ms-CommandBarItem')
const rightBounds = rightCommands[rightCommands.length - 1].getBoundingClientRect()
this.setState({
bounds: {
top: leftBounds.top + 'px',
left: leftBounds.right + 'px',
width: (rightBounds.left - leftBounds.right) + 'px',
height: leftBounds.height + 'px'
}
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment