| 1 |
<script type="text/javascript"> |
|---|
| 2 |
<!-- |
|---|
| 3 |
function perform_datapoint_search(string, offset, limit) { |
|---|
| 4 |
$.getJSON('json/datapoint/search', |
|---|
| 5 |
{ 'q' : string, 'o' : offset, 'l' : limit }, |
|---|
| 6 |
function(r) { |
|---|
| 7 |
var summary = 'Found ' + r.count + ' data point' + (r.count == 1 ? '' : 's' ) + ' found for \'' + htmlentities(r.query) + '\''; |
|---|
| 8 |
if(r.error) summary = 'Error: ' + htmlentities(r.error); |
|---|
| 9 |
$("#searchlist > p.search-summary").html(summary).fadeIn('fast'); |
|---|
| 10 |
var c = new Number(r.count); |
|---|
| 11 |
var l = new Number(r.limit); |
|---|
| 12 |
var o = new Number(r.offset); |
|---|
| 13 |
var page = $("#searchlist > p.paginate"); |
|---|
| 14 |
page.html(''); |
|---|
| 15 |
if(c > l) { |
|---|
| 16 |
if(o > 0) { |
|---|
| 17 |
var po = Math.max(o-l, 0); |
|---|
| 18 |
$('<a/>').html( (po+1) + ' - ' + (po+l) ) |
|---|
| 19 |
.click(function() { |
|---|
| 20 |
perform_datapoint_search(string,po,r.limit); |
|---|
| 21 |
return false; |
|---|
| 22 |
}).appendTo(page); |
|---|
| 23 |
} |
|---|
| 24 |
page.append($('<span/>').html((o+1) + '-' + (o+l)).addClass('searchselect')); |
|---|
| 25 |
if(o + l < c) { |
|---|
| 26 |
var po = o + l; |
|---|
| 27 |
$('<a/>').html( (po + 1) + '-' + (po+l) ) |
|---|
| 28 |
.click(function() { |
|---|
| 29 |
perform_datapoint_search(string,po,r.limit); |
|---|
| 30 |
return false; |
|---|
| 31 |
}).appendTo(page); |
|---|
| 32 |
} |
|---|
| 33 |
page.slideDown('fast'); |
|---|
| 34 |
} |
|---|
| 35 |
else page.slideUp('fast'); |
|---|
| 36 |
$("#searchresults > li").remove(); |
|---|
| 37 |
for(var i=0; r.results && i<r.results.length; i++) { |
|---|
| 38 |
var ds = r.results[i]; |
|---|
| 39 |
var a = $('<a href="#"/>'); |
|---|
| 40 |
var li = $('<li/>'); |
|---|
| 41 |
a.html(ds.target + '`' + ds.name + '`' + ds.metric_name); |
|---|
| 42 |
a.click( |
|---|
| 43 |
(function(ds_c) { |
|---|
| 44 |
return function() { |
|---|
| 45 |
graph_add_datapoint({'sid':ds_c.sid, |
|---|
| 46 |
'name':ds_c.target + '`' + ds_c.metric_name, |
|---|
| 47 |
'metric_name':ds_c.metric_name, |
|---|
| 48 |
'metric_type':ds_c.metric_type |
|---|
| 49 |
}); |
|---|
| 50 |
return false; |
|---|
| 51 |
} |
|---|
| 52 |
})(ds) |
|---|
| 53 |
); |
|---|
| 54 |
if(ds.metric_type == 'text') li.addClass('txt'); |
|---|
| 55 |
$("#searchresults").append(li.append(a)); |
|---|
| 56 |
} |
|---|
| 57 |
}); |
|---|
| 58 |
} |
|---|
| 59 |
$(document).ready(function(){ |
|---|
| 60 |
$("#datapoint-searchform").submit(function() { |
|---|
| 61 |
perform_datapoint_search($("#searchinput").val(), 0, 25); |
|---|
| 62 |
return false; |
|---|
| 63 |
}); |
|---|
| 64 |
}); |
|---|
| 65 |
--> |
|---|
| 66 |
</script> |
|---|
| 67 |
<h4 id="searchterms"></h4> |
|---|
| 68 |
<div id="datapoint-searchform-container" style="margin:.5em 0 2em 0;padding-bottom:1em;border-bottom: solid 1px #e6e4e5;"> |
|---|
| 69 |
<form id="datapoint-searchform"> |
|---|
| 70 |
<fieldset> |
|---|
| 71 |
<legend style="display:none;">Search</legend> |
|---|
| 72 |
<label for="keyword" style="display:none;">Keyword</label> <input type="text" id="searchinput" style="width:220px;" /> <input type="submit" value="Search" /> |
|---|
| 73 |
</fieldset> |
|---|
| 74 |
</form> |
|---|
| 75 |
</div> |
|---|
| 76 |
<div id="searchlist"> |
|---|
| 77 |
<p class="search-summary"/> |
|---|
| 78 |
<p class="paginate"/> |
|---|
| 79 |
<ul id="searchresults"> |
|---|
| 80 |
</ul> |
|---|
| 81 |
</div> |
|---|