1 function format_instance(inst)
2 {
3 return ("<li class=\"instance\"><a href=\"" + location.pathname
4 + "?action=show_graph;" + inst.params + "\">" + inst.description
5 + "</a></li>");
6 }
8 function format_instance_list(instances)
9 {
10 var ret = "<ul class=\"instance_list\">";
11 var i;
13 if (instances.length == 0)
14 return ("");
16 for (i = 0; i < instances.length; i++)
17 ret += format_instance (instances[i]);
19 ret += "</ul>";
21 return (ret);
22 }
24 function format_graph(graph)
25 {
26 return ("<li class=\"graph\">" + graph.title + format_instance_list (graph.instances) + "</li>");
27 }
29 function update_search_suggestions ()
30 {
31 var term = $("#search-input").val ();
32 if (term.length < 2)
33 {
34 $("#search-suggest").hide ();
35 return (true);
36 }
38 $("#search-suggest").show ();
39 $.getJSON ("collection.fcgi",
40 { "action": "search_json", "q": term},
41 function(data)
42 {
43 var i;
44 $("#search-suggest").html ("");
45 for (i = 0; i < data.length; i++)
46 {
47 var graph = data[i];
48 $("#search-suggest").append (format_graph (graph));
49 }
50 }
51 );
52 } /* update_search_suggestions */
54 $(document).ready(function() {
55 /* $("#layout-middle-right").html ("<ul id=\"search-suggest\" class=\"graph_list\"></ul>"); */
56 $("#search-form").append ("<ul id=\"search-suggest\" class=\"graph_list\"></ul>");
57 $("#search-suggest").hide ();
59 $("#search-input").blur (function()
60 {
61 window.setTimeout (function ()
62 {
63 $("#search-suggest").hide ();
64 }, 500);
65 });
67 $("#search-input").focus (function()
68 {
69 var term = $("#search-input").val ();
70 if (term.length < 2)
71 {
72 $("#search-suggest").hide ();
73 }
74 else
75 {
76 $("#search-suggest").show ();
77 }
78 });
80 $("#search-input").keyup (function()
81 {
82 update_search_suggestions ();
83 });
84 });
86 /* vim: set sw=2 sts=2 et fdm=marker : */