From 896e6545ffdf955b772c439d1afa4d093da64355 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sat, 17 Jan 2009 17:05:45 +0100 Subject: No page reload needed when changing rlist status from vn page --- static/f/forms.js | 20 -------------------- static/f/script.js | 40 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 36 insertions(+), 24 deletions(-) (limited to 'static') 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 = ''; if(tg.innerHTML != '--') - r += ''; + r += ''; 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 = 'loading...'; + ajax('/xml/rlist.xml?id='+rid+';e='+act, function(hr) { + x('rlsel_'+rid).innerHTML = hr.responseXML.getElementsByTagName('rlist')[0].firstChild.nodeValue; + }); + return false; +} + -- cgit v1.2.3