12345678910111213141516171819202122232425262728293031323334353637383940 |
- define([], function () {
- return function (distributor) {
- var container = document.createElement("ul")
- container.classList.add("filters")
- var div = document.createElement("div")
- function render(el) {
- el.appendChild(div)
- }
- function filtersChanged(filters) {
- while (container.firstChild)
- container.removeChild(container.firstChild)
- filters.forEach( function (d) {
- var li = document.createElement("li")
- var div = document.createElement("div")
- container.appendChild(li)
- li.appendChild(div)
- d.render(div)
- var button = document.createElement("button")
- button.textContent = ""
- button.onclick = function () {
- distributor.removeFilter(d)
- }
- li.appendChild(button)
- })
- if (container.parentNode === div && filters.length === 0)
- div.removeChild(container)
- else if (filters.length > 0)
- div.appendChild(container)
- }
- return { render: render,
- filtersChanged: filtersChanged
- }
- }
- })
|