started to add SPARQL query GUI
[myslice.git] / portal / static / js / requests.js
1 function unspin_all_status(){
2     $('.portal__validate__checkbox').each(function (index) {
3         if(this.checked){
4             t_id = this.id.split('__');
5             status_id = t_id[t_id.length-2]+'__'+t_id[t_id.length-1]+'-status-loading';
6             $('#'+status_id).css('display','none');    
7         }
8     });
9 }
10 function spin_all_status(){
11     $('.portal__validate__checkbox').each(function (index) {
12         if(this.checked){
13             t_id = this.id.split('__');
14             status_id = t_id[t_id.length-2]+'__'+t_id[t_id.length-1]+'-status-loading';
15             $('#'+status_id).css('display','inline');
16         }
17     });
18 }
19         $(document).ready(function() {
20                 $("li#nav-request").addClass("active");
21                 $('table.requests').dataTable({
22                     "sDom": "frtiS",
23             "bScrollCollapse": true,
24             "bStateSave": true,
25             "bPaginate": false,
26             "bLengthChange": false,
27             "bFilter": false,
28             "bSort": true,
29             "bInfo": false,
30             "bAutoWidth": true,
31             "bAutoHeight": false,
32                 });
33         });
34         function on_click_event() {
35                 var ids = []; 
36                 $('.portal__validate__checkbox').each(function(i, el) {
37                         if ($(el).prop('checked')) {
38                                 // portal__validate__checkbox__slice__2
39                                 var id_array = $(el).attr('id').split('__');
40                                 // push(slice__2)
41                                 ids.push(id_array[3] + '__' + id_array[4]);
42                         }
43                 });
44                 if (ids.length > 0) {
45             spin_all_status();
46                         var id_str = ids.join('/');
47
48                         // XXX spinner
49                         $.getJSON('/portal/validate_action/' + id_str, function(status) {
50                                 $.each(status, function(request_type__id, request_status) {
51                                         // request_status: NAME -> dict (status, description)
52                                         var status_str = '';
53                                         $.each(request_status, function(name, result) {
54                                                 if (status_str != '')
55                                                         status_str += ' -- ';
56
57                                                 if (result.status) {
58                                                         status_str += '<font color="green">OK</font>';
59                                                         $('#portal__validate__checkbox__' + request_type__id).hide();
60                                                 } else {
61                                                         status_str += '<font color="red">ERROR: ' + result.description + '</font>';
62                                                 }
63                                         });
64                                         $('#portal__status__' + request_type__id).html(status_str);
65                                 });
66                 unspin_all_status();
67                         });
68                 }
69         }
70         function on_click_reject() {
71                 var ids = []; 
72                 $('.portal__validate__checkbox').each(function(i, el) {
73                         if ($(el).prop('checked')) {
74                                 // portal__validate__checkbox__slice__2
75                                 var id_array = $(el).attr('id').split('__');
76                                 // push(slice__2)
77                                 ids.push(id_array[3] + '__' + id_array[4]);
78                         }
79                 });
80                 if (ids.length > 0) {
81             spin_all_status();
82                         var id_str = ids.join('/');
83
84                         // XXX spinner
85                         $.getJSON('/portal/reject_action/' + id_str, function(status) {
86                                 $.each(status, function(request_type__id, request_status) {
87                                         // request_status: NAME -> dict (status, description)
88                                         var status_str = '';
89                                         $.each(request_status, function(name, result) {
90                                                 if (status_str != '')
91                                                         status_str += ' -- ';
92
93                                                 if (result.status) {
94                                                         status_str += '<font color="green">Rejected</font>';
95                                                         $('#portal__validate__checkbox__' + request_type__id).hide();
96                                                 } else {
97                                                         status_str += '<font color="red">ERROR: ' + result.description + '</font>';
98                                                 }
99                                         });
100                                         $('#portal__status__' + request_type__id).html(status_str);
101                                 });
102                 unspin_all_status();
103                         });
104                 }
105         }