Ignore:
Timestamp:
Jun 6, 2011, 11:25:40 AM (13 years ago)
Author:
dennisw
Message:

Progress on filters.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/django_gheat/website/static/heatmap_extensions_test.js

    r9225 r9229  
    1818      if (req.status == 200) {
    1919        if (callback) {
    20           if (filter) callback(filter, field, req.responseText);
    21           else callback(req.responseText);
     20          callback(req.responseText);
    2221        }
    2322      }
     
    6362  var layername = '<input type="text" id="lname" name="lname" size="10"/> Layername<br />';
    6463  var colour = '<input type="text" id="colour" name="colour" size="10"/> Colour<br />';
    65   var user = '<select id="user" style="width:104px" onchange=update_dataset()><option></option></select> User<br />';
    66   var dataset = '<select id="dataset" style="width:104px"><option></option></select> Dataset<br />';
    67   var node = '<select id="node" style="width:104px"><option></option></select> Node<br />';
     64  var user = '<select id="user" style="width:104px" onchange=update_filters(this.id)><option></option></select> User<br />';
     65  var dataset = '<select id="dataset" style="width:104px" onchange=update_filters(this.id)><option></option></select> Dataset<br />';
     66  var node = '<select id="node" style="width:104px" onchange=update_filters(this.id)><option></option></select> Node<br />';
    6867  var enc = '<select id="enc" style="width:104px"><option></option></select> Encryption<br />';
    69   var date = '<select id="date" style="width:104px"><option></option></select> Date<br />';
     68  var date = '<select id="date" style="width:104px" onchange=update_filters(this.id)><option></option></select> Date<br />';
    7069
    7170  // Write form to document
    72   document.getElementById('filter_list').innerHTML+=(formstart + user + dataset + node + enc + date + colour + layername + formend);
     71  document.getElementById('filter_list').innerHTML+=(formstart + date + user + dataset + node + enc + colour + layername + formend);
    7372 
    7473  // Request JSON with filter values
    7574  var url = "/website/foofilter";
    76   var ajax = new AjaxRequest(url, set_user);
     75  var ajax = new AjaxRequest(url, set_filters);
    7776  ajax.doGet();
    7877}
    7978
    80 function set_user(responseText) {
     79function set_filters(responseText) {
    8180  json=eval('(' + responseText + ')');
    82   var options = '<option value="All">All</option>';
     81  var user = '<option value="empty"></option>';
     82  var dataset = '<option value="empty"></option>';
     83  var date = '<option value="empty"></option>';
    8384  for (var i=0; i<json.length; i++){
    84     options += '<option>' + json[i].gebruiker + '</option>';
    85   }
    86   document.getElementById('user').innerHTML=options;
    87 
    88   update_dataset();
    89 }
    90 
    91 
    92 function update_dataset(){
    93   var options = '';
    94   var user_value = $('#user option:selected').text();
    95 
    96   for (var i=0; i<json.length; i++){
     85    user += '<option value="user">' + json[i].gebruiker + '</option>';
    9786    for (m in json[i].meetrondje){
    98       if (user_value != 'All'){
    99         if (json[i].gebruiker == user_value){
    100           options += '<option>' + json[i].meetrondje[m].naam + '</option>';
    101         }
    102         else{
    103           continue;
    104         }
    105       }
    106       else{
    107         options += '<option>' + json[i].meetrondje[m].naam + '</option>';
    108       }
     87      dataset += '<option value="dataset">' + json[i].meetrondje[m].naam + '</option>';
     88      date += '<option value="date">' + json[i].meetrondje[m].datum + '</option>';
    10989    }
    11090  }
    111   document.getElementById('dataset').innerHTML=options;
     91  document.getElementById('user').innerHTML=user;
     92  document.getElementById('dataset').innerHTML=dataset;
     93  document.getElementById('date').innerHTML=date;
    11294}
    11395
    11496
    11597
    116 function update_filters(id){
    117   var filtervalue = id.options[id.selectedIndex].value;
    118   var d = document.getElementById('dataset');
    119   var ds = d.options[id.selectedIndex].value;
     98
     99function update_filters(filter_id){
     100  var user_text = $('#user option:selected').text();
     101  var user_val = $('#user option:selected').val();
     102  var dataset_text = $('#dataset option:selected').text();
     103  var user = '<option value="empty"></option>';
     104  var dataset = '<option value="empty"></option>';
     105
     106  if (filter_id=='user'){
     107    if (!user_text){
     108      for (var i=0; i<json.length; i++){
     109        for (m in json[i].meetrondje){
     110          dataset += '<option value="dataset">' + json[i].meetrondje[m].naam + '</option>';
     111        }
     112      }
     113    }
     114    else{
     115      for (var i=0; i<json.length; i++){
     116        for (m in json[i].meetrondje){
     117          if (json[i].gebruiker == user_text){
     118            dataset += '<option value="dataset">' + json[i].meetrondje[m].naam + '</option>';
     119          }
     120        }
     121      }
     122    }
     123  document.getElementById('dataset').innerHTML=dataset;
     124  }
    120125}
     126
     127
     128
    121129
    122130
     
    131139  var lname = encodeURIComponent(document.getElementById("lname").value);
    132140
    133   if ((user != '') && (user != 'All')){user='&meetrondje__gebruiker__naam='+user;}
    134   else {user='';}
     141  if (user != ''){user='&meetrondje__gebruiker__naam='+user;}
    135142  if (dataset != ''){dataset='&meetrondje__naam='+dataset;}
    136143  if (wlnode != ''){wlnode='&accespoint__ssid='+wlnode;}
     
    159166  map.addLayer(filterlayer);
    160167}
    161 
    162 
Note: See TracChangeset for help on using the changeset viewer.