]> ruin.nu Git - ndwebbie.git/blob - root/static/js/raid.js
Converted raids page
[ndwebbie.git] / root / static / js / raid.js
1 modified = "0000-01-01";
2
3 function parseUpdate(xml){
4         if ($('timestamp',xml).text())
5                 modified = $('timestamp',xml).text();
6         $('target',xml).each(function(i){
7                 var target = $(this).attr('id');
8                 var div = $('#claim'+target).empty();
9                 $('wave',$(this)).each(function(i){
10                         var wave = $(this).attr('id');
11                         var b = $('<input type="button">');
12                         var command = $(this).find('command').text();
13                         b.addClass(command);
14                         b.click(function(){
15                                 claim(target,wave,command);
16                         });
17                         div.append(b);
18                         switch ($(this).find('command').text()){
19                                 case 'taken':
20                                         b.attr('disabled','disabled');
21                                         b.val('Taken by '+$(this).find('claimers').text());
22                                         if ($(this).find('claimers').text() == 'BLOCKED'){
23                                                 b.val($(this).find('claimers').text());
24                                                 b.addClass('blocked');
25                                         }
26                                         break;
27                                 case 'claim':
28                                         b.val('Claim wave '+wave);
29                                         break;
30                                 case 'join':
31                                         b.val('Join wave '+wave
32                                                 +' ('+$(this).find('claimers').text()+')');
33                                         break;
34                                 case 'unclaim':
35                                         b.val('Unclaim wave '+wave
36                                                 +' ('+$(this).find('claimers').text()+')');
37                                         var j = $('<input type="button">');
38                                         var joinable = $(this).find('joinable').text();
39                                         j.click(function(){
40                                                 join(target,wave,joinable);
41                                         });
42                                         div.append(j);
43                                         switch(joinable){
44                                                 case '0':
45                                                         j.val('J');
46                                                         j.attr('title','Make target joinable');
47                                                         break;
48                                                 case '1':
49                                                         j.val('N');
50                                                         j.attr('title','Disable joinable');
51                                                 break;
52                                         }
53                                         break;
54                         }
55                 });
56         });
57         if ($('targetlist',xml).text()){
58                 $('#targets').empty().html($('targetlist',xml).text());
59         }
60 }
61
62
63 function listTargets(){
64         $.get("/jsrpc/listTargets",{},parseUpdate);
65 }