X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=blobdiff_plain;f=root%2Fstatic%2Fjs%2Fraid.js;h=89a06b6c05c6bfd9f7354f83a62ab2ae7011df13;hp=8bec240b57e1689932cfe721bf490b2618e3b091;hb=b1a7289bb7acbb4e911b62557acb7812492d90d5;hpb=11149303e8c0c031f5e08c5792930b490ba4a30b diff --git a/root/static/js/raid.js b/root/static/js/raid.js index 8bec240..89a06b6 100644 --- a/root/static/js/raid.js +++ b/root/static/js/raid.js @@ -1,158 +1,65 @@ -function getHTTPObject() { - var xmlhttp; - /*@cc_on - @if (@_jscript_version >= 5) - try { - xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttp = false; - } - } - @else - xmlhttp = false; - @end @*/ +modified = "0000-01-01"; - if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { - try { - xmlhttp = new XMLHttpRequest(); - } catch (e) { - xmlhttp = false; - } - } - return xmlhttp; -} - -var modified = '_'; - -function claim(dataSource, target, wave,cmd){ - var HTTP = getHTTPObject(); - if(HTTP) { - var url = dataSource + '&cmd='+cmd+'&target=' + target + '&wave=' + wave + '&rand='+ Math.random(); - //obj.innerHTML = "test"; - HTTP.open("GET", url,true); - HTTP.onreadystatechange = function(){ - if (HTTP.readyState == 4 && - HTTP.status == 200) { - updateClaims(dataSource,HTTP.responseXML,false); - var obj = document.getElementById("targets"); - if (obj){ - clearObject(obj); - var re = new RegExp("targetlist>((.|\\n)*)'); + var command = $(this).find('command').text(); + b.addClass(command); + b.click(function(){ + claim(target,wave,command); + }); + div.append(b); + switch ($(this).find('command').text()){ + case 'taken': + b.attr('disabled','disabled'); + b.val('Taken by '+$(this).find('claimers').text()); + if ($(this).find('claimers').text() == 'BLOCKED'){ + b.val($(this).find('claimers').text()); + b.addClass('blocked'); + } + break; + case 'claim': + b.val('Claim wave '+wave); + break; + case 'join': + b.val('Join wave '+wave + +' ('+$(this).find('claimers').text()+')'); + break; + case 'unclaim': + b.val('Unclaim wave '+wave + +' ('+$(this).find('claimers').text()+')'); + var j = $(''); + var joinable = $(this).find('joinable').text(); + j.click(function(){ + join(target,wave,joinable); + }); + div.append(j); + switch(joinable){ + case '0': + j.val('J'); + j.attr('title','Make target joinable'); + break; + case '1': + j.val('N'); + j.attr('title','Disable joinable'); + break; + } + break; } - } - HTTP.send(null); + }); + }); + if ($('targetlist',xml).text()){ + $('#targets').empty().html($('targetlist',xml).text()); } } -function updateClaims(dataSource,xmlthingy,timestamp){ - var targets = xmlthingy.getElementsByTagName("target"); - for (var i = 0; i < targets.length; i++){ - var target = targets[i].attributes.getNamedItem("id").nodeValue; - var obj = document.getElementById("claim"+target); - if (!obj) - continue; - //obj.innerHTML = ''; - clearObject(obj); - var waves = targets[i].getElementsByTagName("wave");; - for (var j = 0; j < waves.length; j++){ - var command = waves[j].getElementsByTagName("command")[0]; - var claimers = waves[j].getElementsByTagName("claimers")[0]; - var joinable = waves[j].getElementsByTagName("joinable")[0]; - var wave = waves[j].attributes.getNamedItem("id").nodeValue; - command = command.firstChild.nodeValue; - if(claimers.firstChild){ - claimers = '('+claimers.firstChild.nodeValue+')'; - }else - claimers = ''; - joinable = joinable.firstChild.nodeValue; - if (command == 'none'){ - var s = document.createElement("b"); - s.appendChild(document.createTextNode("Claimed by "+claimers)); - obj.appendChild(s); - }else{ - var b = document.createElement("input"); - b.type = 'button'; - b.setAttribute("class", command); - b.value = command +' wave '+wave+' '+claimers; - b.setAttribute("onclick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"');"); - /*b.onclick = function(){ - claim(dataSource,t,wave,command); - }*/ - obj.appendChild(b); - } - if (command == 'Unclaim'){ - var b = document.createElement("input"); - b.type = 'button'; - b.value = 'J'; - b.title = 'Make target joinable'; - command = 'set&joinable=TRUE'; - if (joinable == 1){ - b.value = 'N'; - b.title = 'Disable join'; - command = 'set&joinable=FALSE'; - } - b.setAttribute("onclick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"');"); - obj.appendChild(b); - } - /*@cc_on - obj.innerHTML = obj.innerHTML; // IE doesn't understand unless you tell it twice - @*/ - } - /* - obj = document.getElementById("coords"+target); - var coords = targets[i].getElementsByTagName("coords");; - if (obj) - obj.innerHTML = coords[0].firstChild.nodeValue; - */ - } - if (timestamp){ - timestamp = xmlthingy.getElementsByTagName("timestamp"); - if (timestamp) - modified = timestamp[0].firstChild.nodeValue; - } +function listTargets(){ + $.get("/jsrpc/listTargets",{},parseUpdate); }