diff options
author | Yorhel <git@yorhel.nl> | 2009-01-17 17:05:45 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2009-01-17 17:05:45 +0100 |
commit | 896e6545ffdf955b772c439d1afa4d093da64355 (patch) | |
tree | 62aaa0c7fecd330de3b8d5c2c910d68d64b362c7 /static | |
parent | 9ee7694a4b6f7dce174ec785cf5a71a5a38774bb (diff) |
No page reload needed when changing rlist status from vn page
Diffstat (limited to 'static')
-rw-r--r-- | static/f/forms.js | 20 | ||||
-rw-r--r-- | static/f/script.js | 40 |
2 files changed, 36 insertions, 24 deletions
diff --git a/static/f/forms.js b/static/f/forms.js index e25a880c..3a09dc88 100644 --- a/static/f/forms.js +++ b/static/f/forms.js @@ -7,26 +7,6 @@ function qq(v) { function shorten(v, l) { return qq(v.length > l ? v.substr(0, l-3)+'...' : v); } -var http_request = false; -function ajax(url, func) { - if(http_request) - http_request.abort(); - http_request = (window.ActiveXObject) ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest(); - if(http_request == null) { - alert("Your browse does not support the functionality this website requires."); - return; - } - http_request.onreadystatechange = function() { - if(!http_request || http_request.readyState != 4 || !http_request.responseText) - return; - if(http_request.status != 200) - return alert('Whoops, error! :('); - func(http_request); - }; - url += (url.indexOf('?')>=0 ? ';' : '?')+(Math.floor(Math.random()*999)+1); - http_request.open('GET', url, true); - http_request.send(null); -} diff --git a/static/f/script.js b/static/f/script.js index 68d40f75..069b5e5d 100644 --- a/static/f/script.js +++ b/static/f/script.js @@ -12,6 +12,27 @@ if(document.addEventListener)document.addEventListener("DOMCont" function(){if(/loaded|complete/.test(document.readyState)){ clearInterval(t);f()}},10);window.onload=f;} +var http_request = false; +function ajax(url, func) { + if(http_request) + http_request.abort(); + http_request = (window.ActiveXObject) ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest(); + if(http_request == null) { + alert("Your browse does not support the functionality this website requires."); + return; + } + http_request.onreadystatechange = function() { + if(!http_request || http_request.readyState != 4 || !http_request.responseText) + return; + if(http_request.status != 200) + return alert('Whoops, error! :('); + func(http_request); + }; + url += (url.indexOf('?')>=0 ? ';' : '?')+(Math.floor(Math.random()*999)+1); + http_request.open('GET', url, true); + http_request.send(null); +} + @@ -221,17 +242,19 @@ function vlDropDown(e) { } while(o = o.offsetParent); ddx -= 185; - var cu = '/r'+tg.id.substr(6)+'/list?e='; + var cu = tg.id.substr(6); var st = tg.innerHTML.split(' / '); + if(st[0].indexOf('loading') >= 0) + return; var r = '<ul><li><b>Release status</b></li>'; for(var i=0;i<rstat.length;i++) - r += st[0] && st[0].indexOf(rstat[i]) >= 0 ? '<li><i>'+rstat[i]+'</i></li>' : '<li><a href="'+cu+'r'+i+'">'+rstat[i]+'</a></li>'; + r += st[0] && st[0].indexOf(rstat[i]) >= 0 ? '<li><i>'+rstat[i]+'</i></li>' : '<li><a href="#" onclick="return vlMod('+cu+',\'r'+i+'\')">'+rstat[i]+'</a></li>'; r += '</ul><ul><li><b>Play status</b></li>'; for(var i=0;i<vstat.length;i++) - r += st[1] && st[1].indexOf(vstat[i]) >= 0 ? '<li><i>'+vstat[i]+'</i></li>' : '<li><a href="'+cu+'v'+i+'">'+vstat[i]+'</a></li>'; + r += st[1] && st[1].indexOf(vstat[i]) >= 0 ? '<li><i>'+vstat[i]+'</i></li>' : '<li><a href="#" onclick="return vlMod('+cu+',\'v'+i+'\')">'+vstat[i]+'</a></li>'; r += '</ul>'; if(tg.innerHTML != '--') - r += '<ul class="full"><li><a href="'+cu+'del">Remove from VN list</a></li></ul>'; + r += '<ul class="full"><li><a href="#" onclick="return vlMod('+cu+',\'del\')">Remove from VN list</a></li></ul>'; o = document.createElement('div'); o.id = 'vldd'; @@ -243,6 +266,15 @@ function vlDropDown(e) { } } +function vlMod(rid, act) { + document.body.removeChild(x('vldd')); + x('rlsel_'+rid).innerHTML = '<b class="patch">loading...</b>'; + ajax('/xml/rlist.xml?id='+rid+';e='+act, function(hr) { + x('rlsel_'+rid).innerHTML = hr.responseXML.getElementsByTagName('rlist')[0].firstChild.nodeValue; + }); + return false; +} + |