summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-02-28 11:52:35 +0100
committerYorhel <git@yorhel.nl>2009-02-28 11:52:35 +0100
commitdfd7d32a1a7f53ff5e51db8e25ca75ab8a2ef049 (patch)
tree9bde9a77c16d8c0d390c8daecd6d89b4a0647263 /static
parentfe3f588b873346789de148dda832fa19e8f10d07 (diff)
Friendly and interactive interface for changing your tag vote
Diffstat (limited to 'static')
-rw-r--r--static/f/forms.js44
1 files changed, 43 insertions, 1 deletions
diff --git a/static/f/forms.js b/static/f/forms.js
index 1ebd9e92..25d3f9f9 100644
--- a/static/f/forms.js
+++ b/static/f/forms.js
@@ -881,7 +881,47 @@ function tglLoad() {
return item.firstChild.nodeValue;
}, tglAdd);
n[1].onclick = tglAdd;
+
tglStripe();
+ var l = x('tagtable').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
+ for(var i=0; i<l.length;i++) {
+ var o = l[i].getElementsByTagName('td')[4];
+ tglVoteBar(o, o.innerHTML);
+ }
+}
+
+function tglVoteBar(obj, vote) {
+ var r = '';
+ for(i=-3;i<=3;i++) {
+ if(i)
+ r += '<a href="#" class="taglvl taglvl'+i+'" onmouseover="tglVoteBarSel(this, '+i+')"'
+ + ' onmouseout="tglVoteBarSel(this, '+vote+')" onclick="return tglVoteBar(this.parentNode, '+i+')">&nbsp;</a>';
+ else
+ r += '<div class="taglvl taglvl0">'+(vote?vote:'-')+'</div>';
+ }
+ obj.innerHTML = r;
+ tglVoteBarSel(obj, vote);
+ return false;
+}
+
+function tglVoteBarSel(obj, vote) {
+ if(obj.className.indexOf('taglvl') >= 0)
+ obj = obj.parentNode;
+ var l = obj.getElementsByTagName('a');
+ for(var i=0; i<l.length; i++) {
+ var num = l[i].className.replace(/^.*taglvl(-?[1-3]).*$/, "$1");
+ if(!num || num == l[i].className) continue;
+ if(num<0&&vote<=num || num>0&&vote>=num) {
+ if(l[i].className.indexOf('taglvlsel') < 0)
+ l[i].className += ' taglvlsel';
+ } else
+ if(l[i].className.indexOf('taglvlsel') >= 0)
+ l[i].className = l[i].className.replace(/taglvlsel/, '');
+ }
+ l = obj.getElementsByTagName('div');
+ for(var i=0; i<l.length; i++)
+ if(l[i].className.indexOf('taglvl0') >= 0)
+ l[i].innerHTML = vote;
}
function tglAdd() {
@@ -917,7 +957,9 @@ function tglAdd() {
td.innerHTML = '0';
tr.appendChild(td);
td = document.createElement('td');
- td.setAttribute('colspan', 2);
+ tglVoteBar(td, 1);
+ tr.appendChild(td);
+ td = document.createElement('td');
td.innerHTML = '-TODO-';
tr.appendChild(td);
x('tagtable').getElementsByTagName('tbody')[0].appendChild(tr);