4
0

NavigationBar.js 1005 B

12345678910111213141516171819202122232425262728293031323334353637
  1. export class NavigationBar {
  2. constructor () {
  3. this.navbar = document.getElementsByTagName('nav')[0]
  4. this.mainLinks = document.getElementById('navigation-links')
  5. this.supplementalLinks = document.getElementById('supplemental-links')
  6. }
  7. createLink (title, url, isSupplemental) {
  8. const parent = (isSupplemental) ? this.supplementalLinks : this.mainLinks
  9. const existsAlready = Array.from(parent.querySelectorAll('li')).some(el => el.title === title)
  10. if (existsAlready) {
  11. return
  12. }
  13. const linkA = document.createElement('a')
  14. linkA.href = url
  15. linkA.innerText = title
  16. const navigationLi = document.createElement('li')
  17. navigationLi.appendChild(linkA)
  18. navigationLi.title = title
  19. parent.appendChild(navigationLi)
  20. }
  21. refreshSectionPolicyLinks (policy) {
  22. if (policy.showDiagnostics) {
  23. this.createLink('Diagnostics', '/diagnostics', true)
  24. }
  25. if (policy.showLogList) {
  26. this.createLink('Logs', '/logs', true)
  27. }
  28. }
  29. }