var filterupdate;
+var filtertoggles = document.body.classList !== undefined;
function filtercell(el, set, action) {
if (set === undefined) return;
break;
case 'filter':
el.style.display = set ? '' : 'none';
- if (!Element.prototype.hasOwnProperty('classList')) return;
- el.classList.remove('focus');
+ if (filtertoggles) el.classList.remove('focus');
break;
default: // reset
el.classList.remove('focus');
for (var name in attrlist)
el.setAttribute(name, attrlist[name]);
if (childlist) for (var i = 0; i < childlist.length; i++)
- el.appendChild(childlist[i]);
+ if (childlist[i]) el.appendChild(childlist[i]);
return el;
}
newelement('input', {
type: 'search',
name: 'q',
- onkeyup: "if (!filterupdate) filterupdate = "
+ onkeyup: "if (filtertoggles && !filterupdate) filterupdate = "
+ "window.setTimeout(filtertable, 300, undefined, 'focus')",
}),
- newelement('input', {
+ filtertoggles && newelement('input', {
type: 'button',
value: 'toggle',
onclick: "filtertable(this.form.q.value, 'target')",