filtergui.js 873 B

12345678910111213141516171819202122232425262728293031323334
  1. define([], function () {
  2. return function (distributor) {
  3. var container = document.createElement("ul")
  4. container.classList.add("filters")
  5. function render(el) {
  6. el.appendChild(container)
  7. }
  8. function filtersChanged(filters) {
  9. while (container.firstChild)
  10. container.removeChild(container.firstChild)
  11. filters.forEach( function (d) {
  12. var li = document.createElement("li")
  13. var div = document.createElement("div")
  14. container.appendChild(li)
  15. li.appendChild(div)
  16. d.render(div)
  17. var button = document.createElement("button")
  18. button.textContent = ""
  19. button.onclick = function () {
  20. distributor.removeFilter(d)
  21. }
  22. li.appendChild(button)
  23. })
  24. }
  25. return { render: render,
  26. filtersChanged: filtersChanged
  27. }
  28. }
  29. })