sidebar.js 726 B

123456789101112131415161718192021222324252627282930313233
  1. define([], function () {
  2. return function (el) {
  3. var self = this
  4. var sidebar = document.createElement("div")
  5. sidebar.classList.add("sidebar")
  6. el.appendChild(sidebar)
  7. var button = document.createElement("button")
  8. sidebar.appendChild(button)
  9. button.classList.add("sidebarhandle")
  10. button.onclick = function () {
  11. sidebar.classList.toggle("hidden")
  12. }
  13. self.getWidth = function () {
  14. if (sidebar.classList.contains("hidden"))
  15. return 0
  16. var small = window.matchMedia("(max-width: 60em)")
  17. return small.matches ? 0 : sidebar.offsetWidth
  18. }
  19. self.add = function (d) {
  20. d.render(sidebar)
  21. }
  22. self.container = sidebar
  23. return self
  24. }
  25. })