git.shiar.nl
/
sheet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
browser: support filter form without classList
[sheet.git]
/
searchlocal.js
diff --git
a/searchlocal.js
b/searchlocal.js
index 4de1423677d8e61b81e108a0b22c7e4d115e6b32..f0036a6f8ecb84b9ead49708b464433a65844dba 100644
(file)
--- a/
searchlocal.js
+++ b/
searchlocal.js
@@
-1,7
+1,8
@@
function filtertable(query, action) {
var rows = document.getElementsByTagName('TBODY')[0].rows;
for (var i = 0; i < rows.length; i++) {
function filtertable(query, action) {
var rows = document.getElementsByTagName('TBODY')[0].rows;
for (var i = 0; i < rows.length; i++) {
- var keep = rows[i].cells[1].textContent.match(query, query.match(/[A-Z]/) ? '' : 'i');
+ var keep = query.match(/^[A-Z0-9 ]{2,}$/) ? rows[i].cells[0].title.match(query, 'i')
+ : rows[i].cells[1].textContent.match(query, query.match(/[A-Z]/) ? '' : 'i');
switch (action) {
case 'focus':
rows[i].classList[keep ? 'add' : 'remove'](action);
switch (action) {
case 'focus':
rows[i].classList[keep ? 'add' : 'remove'](action);
@@
-11,6
+12,7
@@
function filtertable(query, action) {
break;
case 'filter':
rows[i].style.display = keep ? '' : 'none';
break;
case 'filter':
rows[i].style.display = keep ? '' : 'none';
+ if (!Element.prototype.hasOwnProperty('classList')) continue;
// continue
default: // reset
rows[i].classList.remove('focus');
// continue
default: // reset
rows[i].classList.remove('focus');
@@
-33,7
+35,7
@@
function prependsearch(target) {
target.parentNode.insertBefore(newelement(
'form', {
id: 'search',
target.parentNode.insertBefore(newelement(
'form', {
id: 'search',
-
class
: 'aside',
+
'class'
: 'aside',
onsubmit: "filtertable(this.q.value, 'filter'); this.q.value = ''; return false",
},
[
onsubmit: "filtertable(this.q.value, 'filter'); this.q.value = ''; return false",
},
[