summaryrefslogtreecommitdiff
path: root/data/js
diff options
context:
space:
mode:
authorzx14 <zx14@vndb.org>2018-11-04 12:42:48 +0700
committerAlexander-- <alexander.r@gmx.com>2018-11-04 12:43:50 +0700
commit1c8077bfe8c4ad6e8c94ddc94bf505d1396ca3ac (patch)
tree728c28c3c7cd2f704862037d9840187bbe44ec0f /data/js
parent9f4b31ae6aa3f33856978b09481b97c5b13f4359 (diff)
JS-less tag visibility toggles
Diffstat (limited to 'data/js')
-rw-r--r--data/js/tagops.js25
1 files changed, 9 insertions, 16 deletions
diff --git a/data/js/tagops.js b/data/js/tagops.js
index 3f789ee6..4eebee43 100644
--- a/data/js/tagops.js
+++ b/data/js/tagops.js
@@ -1,30 +1,29 @@
var l, lim, spoil = 0, cats = {};
-
function init() {
var i;
- l = byName(byId('tagops'), 'a');
+ l = byName(byId('tagops'), 'input');
// Categories
for(i=0; i<3; i++) {
- l[i].tagops_cat = l[i].href.substr(l[i].href.indexOf('#')+1);
- l[i].onclick = function() { cats[this.tagops_cat] = !cats[this.tagops_cat]; return set(); };
- cats[l[i].tagops_cat] = hasClass(l[i], 'tsel');
+ l[i].tagops_cat = l[i].id.substr(l[i].id.indexOf('cat')+4);
+ l[i].onchange = function() { cats[this.tagops_cat] = !cats[this.tagops_cat]; return set(); };
+ cats[l[i].tagops_cat] = l[i].checked;
}
// Spoiler level
for(i=3; i<6; i++) {
l[i].tagops_spoil = i-3;
- l[i].onclick = function() { spoil = this.tagops_spoil; return set(); };
- if(hasClass(l[i], 'tsel'))
+ l[i].onchange = function() { spoil = this.tagops_spoil; return set(); };
+ if(l[i].checked)
spoil = i-3;
}
// Summary / all
for(i=6; i<8; i++) {
l[i].tagops_lim = i == 6;
- l[i].onclick = function() { lim = this.tagops_lim; return set(); };
- if(hasClass(l[i], 'tsel'))
+ l[i].onchange = function() { lim = this.tagops_lim; return set(); };
+ if(l[i].checked)
lim = i == 6;
}
@@ -35,15 +34,9 @@ function init() {
function set() {
var i;
- // Set link selection class
- for(i=0; i<8; i++)
- setClass(l[i], 'tsel',
- i < 3 ? cats[l[i].tagops_cat] :
- i < 6 ? l[i].tagops_spoil == spoil
- : l[i].tagops_lim == lim);
-
// update tag visibility
var t = byName(byId('vntags'), 'span');
+
var n = 0;
for(i=0; i<t.length; i++) {
var v = n < (lim ? 15 : 999);