ca9f9ff4544de0c62329b46489a1cd659b338eec
[monitor.git] / web / MonitorWeb / monitorweb / templates / query.kid
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <?python
3 layout_params['page_title'] = "MyOps Detail View"
4 from monitor.util import diff_time
5 from monitor import config
6 from time import mktime
7 from pcucontrol.reboot import pcu_name, model_to_object
8 from links import *
9 ?>
10 <html py:layout="'sitemenu.kid'"
11       xmlns:py="http://purl.org/kid/ns#"
12           xmlns:mochi="http://www.mochi.org">
13
14   <div py:match="item.tag == 'content'">
15                 <h2>Functional, but Under Development...</h2>
16
17 <img id="toggle-image-visible-query" src="/plekit/icons/toggle-visible.png" style="height:18px;" onclick="plc_toggle('query')" />
18 <img id="toggle-image-hidden-query" src="/plekit/icons/toggle-hidden.png" style="height:18px;display:none" onclick="plc_toggle('query')" /> <span style="font-size:2em;">Monitor Query</span>
19
20 <div id="toggle-area-query">
21                 <table>
22                         <tr>
23                                 <td>${queryform.display(method="GET", value=data)}</td>
24                         </tr>
25                 </table>
26 </div>
27
28 <h4>Results</h4>
29         <table py:if="fields and len(fields.keys()) > 0" id="querylist" cellpadding="0" border="0" class="plekit_table sortable-onload-0 colstyle-alt no-arrow paginationcallback-querylist_paginator max-pages-10 paginate-999" width="100%">
30         <thead>
31         <tr class='pagesize_area'><td class='pagesize_area' colspan='5'>
32          <form class='pagesize' action='satisfy_xhtml_validator'><fieldset>
33             <input class='pagesize_input' type='text' id="querylist_pagesize" value='50'
34                    onkeyup='plekit_pagesize_set("querylist","querylist_pagesize", 50);' 
35                    size='3' maxlength='3' />                                                          
36             <label class='pagesize_label'> items/page </label>                                     
37             <img class='reset' src="/planetlab/icons/clear.png" alt="reset visible size"           
38                  onmousedown='plekit_pagesize_reset("querylist","querylist_pagesize", 999);' />
39         </fieldset></form></td></tr>                                                                        
40         <tr class='search_area'><td class='search_area' colspan='5'>
41         <div class='search'><fieldset>
42             <label class='search_label'> Search </label>                 
43             <input class='search_input' type='text' id='querylist_search' 
44                    onkeyup='plekit_table_filter("querylist","querylist_search","querylist_search_and");'
45                    size='self.search_width' maxlength='256' />                                            
46             <label>and</label>                                                                        
47             <input id='querylist_search_and' class='search_and'                                        
48                    type='checkbox' checked='checked'                                                      
49                    onchange='plekit_table_filter("querylist","querylist_search","querylist_search_and");' />
50             <img class='reset' src="/planetlab/icons/clear.png" alt="reset search"
51                  onmousedown='plekit_table_filter_reset("querylist","querylist_search","querylist_search_and");' />
52         </fieldset></div></td></tr>
53                 <!-- for keys show each th -->
54                 <tr>
55                         <span py:for="key in sorted(fields.keys())" >
56                                 <span py:if="key == 'uptime'">
57                                         <th class="sortable-numeric plekit_table">${key}</th>
58                                 </span>
59                                 <span py:if="key != 'uptime'">
60                                         <th class="sortable plekit_table">${key}</th>
61                                 </span>
62                         </span>
63                         <th class="plekit_table"> C </th>
64                 </tr>
65         </thead>
66         <tbody>
67                 <!-- for keys show value -->
68 <?python
69 num = 0
70 ?>
71                 <tr py:for="row in query"  >
72 <?python
73 values = []
74 num += 1
75 checkboxname="checkbox%d" % num
76 ?>
77                         <span py:for="key in sorted(fields.keys())" >
78                                 <td>${row[key]}</td>
79 <?python
80 values.append(str(row[key]))
81 ?>
82                         </span>
83 <?python
84 values = ",".join(values)
85 ?>
86
87                         <td><input type="checkbox" class="clippy_checkbox" name="${checkboxname}" value="${values}" onclick="setup_clippy()"/></td>
88
89                 </tr>
90
91 <tr>
92   <span py:for="key in sorted(fields.keys())" ><td></td></span>
93 <td>
94   <span style="display:none" id="values_box_clippy"></span>
95     <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
96             width="110"
97             height="14"
98             id="clippy" >
99       <param name="movie" value="static/flash/clippy.swf?v5"/>
100       <param name="allowScriptAccess" value="always" />
101       <param name="quality" value="high" />
102       <param name="scale" value="noscale" />
103       <param name="bgcolor" value="#FFFFFF" />
104       <param name="FlashVars" value="id=values_box_clippy" />
105         <embed src="static/flash/clippy.swf"
106                width="110"
107                height="14"
108                name="clippy"
109                quality="high"
110                allowScriptAccess="always"
111                type="application/x-shockwave-flash"
112                pluginspage="http://www.macromedia.com/go/getflashplayer"
113                FlashVars="id=values_box_clippy"
114                bgcolor="#FFFFFF"
115                />
116     </object>
117 </td></tr>
118         </tbody>
119         </table>
120         
121 <script type="text/javascript">
122 var lst = $("querylist");
123 var tbody = lst.getElementsBySelector("tbody")[0];
124 var trs = tbody.getElementsBySelector("tr");
125 if (trs.length > 2) {
126  plc_toggle("query");
127 }
128
129
130 function setup_clippy () {
131 var values = "";
132 var checkboxes = $$$('.clippy_checkbox').each(function(e){if (e.checked == true) {values += e.value + "\n";} });
133 $$$('#values_box_clippy').each(function(e){e.innerHTML=values;});
134 }
135
136 </script>
137
138   </div>
139
140
141 </html>