Changeset 362040a384a15e91c42cc65cd4a30d2dbc5600c7
- Timestamp:
- 09/22/08 12:04:14 (5 years ago)
- git-parent:
- Files:
-
- ui/web/htdocs/.htaccess (modified) (1 diff)
- ui/web/htdocs/css/style.css (modified) (3 diffs)
- ui/web/htdocs/datapoint_search_json.php (added)
- ui/web/htdocs/graph_controls.inc (modified) (8 diffs)
- ui/web/htdocs/js/jquery.jeditable.pack.js (added)
- ui/web/htdocs/main.php (modified) (1 diff)
- ui/web/htdocs/search_simple.inc (modified) (1 diff)
- ui/web/lib/Reconnoiter_DB.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ui/web/htdocs/.htaccess
r9478c46 r362040a 6 6 RewriteRule ^json/graph/store$ graph_store.php [PT,QSA] 7 7 RewriteRule ^amcharts/graph/settings/([^/]+) graph_settings.php?id=$1 [PT,QSA] 8 8 RewriteRule ^json/datapoint/search$ datapoint_search_json.php [PT,QSA] ui/web/htdocs/css/style.css
r9478c46 r362040a 199 199 200 200 /* search list */ 201 #searchlist { height:450px;overflow:auto;}201 #searchlist {overflow:auto;} 202 202 #searchlist ul a {list-style:none;} 203 203 #searchlist ul li {display:block;padding:2px 0;margin-bottom:4px;} … … 207 207 /* browse list */ 208 208 #browselist span {display:block; white-space: nowrap;} 209 #browselist { height:600px;overflow:auto;}209 #browselist {overflow:auto;} 210 210 #browselist ul {list-style:none;} 211 211 #searchlist ul li {display:block;padding:2px 0;} … … 231 231 232 232 /* graph list */ 233 #graphlist { height:450px;overflow:auto;}233 #graphlist {overflow:auto;} 234 234 #graphlist ul {list-style:none;} 235 235 #graphlist ul li {display:block;padding:2px 0;margin-bottom:4px;} ui/web/htdocs/graph_controls.inc
r9478c46 r362040a 22 22 } 23 23 } 24 function update_current_graph( ) {24 function update_current_graph(redraw) { 25 25 if(recurse > 0) return; 26 26 var str = JSON.stringify(graphinfo); … … 37 37 recurse--; 38 38 //$("#payload").html(JSON.stringify(graphinfo)); 39 redraw_current_graph();39 if(redraw) redraw_current_graph(); 40 40 }, 'json'); 41 41 } … … 45 45 graphinfo.datapoints.push(d); 46 46 gtool_add_datapoint(d); 47 update_current_graph( );47 update_current_graph(true); 48 48 } 49 49 function gtool_add_datapoint(d) { … … 56 56 $(this).addClass("axison"); 57 57 d.axis = $(this).hasClass("axisl") ? "l" : "r"; 58 update_current_graph( );58 update_current_graph(true); 59 59 }); 60 60 if(!d.hidden){o.find('input[@name="view"]').attr("checked","checked");} 61 61 o.find('input[@name="view"]').change(function(){ 62 62 d.hidden = !($(this).attr("checked")); 63 update_current_graph( );63 update_current_graph(true); 64 64 }).change(); 65 65 … … 71 71 } 72 72 } 73 update_current_graph( );73 update_current_graph(true); 74 74 refresh_graph_from_json(graphinfo); 75 75 return false; … … 84 84 o.find('input[@name="derive"]').change(function(){ 85 85 d.derive = ($(this).attr("checked")); 86 update_current_graph( );86 update_current_graph(true); 87 87 }).change(); 88 88 … … 90 90 o.find('input[@name="math1"]').change(function(){ 91 91 d.math1 = $(this).val(); 92 update_current_graph( );92 update_current_graph(true); 93 93 }); 94 94 o.find('input[@name="math2"]').val(d.math2); 95 95 o.find('input[@name="math2"]').change(function(){ 96 96 d.math2 = $(this).val(); 97 update_current_graph( );97 update_current_graph(true); 98 98 }); 99 99 } 100 100 101 o.find(".datatitle").html( "[" + d.sid + "-" + d.metric_name + "] " +d.name);101 o.find(".datatitle").html(d.name); 102 102 recurse--; 103 103 $("#gtool #dataPoints").append(o.children()); 104 104 } 105 105 function refresh_graph_from_json(j) { 106 graphinfo = j; 107 if(graphinfo.datapoints == undefined) graphinfo.datapoints = Array(); 108 $("h2#graphTitle").html(graphinfo.title); 109 $("input[@name='graphtype']:checked").removeAttr("checked"); 110 $("input[@name='graphtype']") 111 .filter(function(i){return $(this).val() == graphinfo.type;}) 112 .attr("checked","checked"); 113 $("#dataPoints").empty(); 114 for(var i=0; i<graphinfo.datapoints.length; i++) { 115 gtool_add_datapoint(graphinfo.datapoints[i]); 116 } 117 redraw_current_graph(); 106 graphinfo = j; 107 if(graphinfo.datapoints == undefined) graphinfo.datapoints = Array(); 108 $("h2#graphTitle").html(graphinfo.title ? graphinfo.title : 'Graph Title (click to edit)'); 109 $("h2#graphTitle").editable(function(value, settings) { 110 graphinfo.title = value; 111 update_current_graph(false); 112 return(value); 113 }, { }); 114 $("input[@name='graphtype']:checked").removeAttr("checked"); 115 $("input[@name='graphtype']") 116 .filter(function(i){return $(this).val() == graphinfo.type;}) 117 .attr("checked","checked"); 118 $("#dataPoints").empty(); 119 for(var i=0; i<graphinfo.datapoints.length; i++) { 120 gtool_add_datapoint(graphinfo.datapoints[i]); 121 } 122 redraw_current_graph(); 118 123 } 119 124 function fetch_graph_info(id) { … … 151 156 $(".graphType").change(function(){ 152 157 graphinfo.type = $(this).val(); 153 update_current_graph( );158 update_current_graph(true); 154 159 }); 155 160 $("#gtool-error").click(function(){ ui/web/htdocs/main.php
r9478c46 r362040a 7 7 <script src="js/json2.js"></script> 8 8 <script src="js/jquery.min.js"></script> 9 <script src="js/jquery.jeditable.pack.js"></script> 9 10 <script src="js/jquery.cookie.js" type="text/javascript"></script> 10 11 <script src="js/jquery.treeview.js" type="text/javascript"></script> ui/web/htdocs/search_simple.inc
r2a9ba1d r362040a 1 <!--h2>Search</h2--> 2 <h4>"ngm" and "my shot"</h4> 3 <p>5360 data points found</p> 4 <div id="searchform" style="margin:.5em 0 2em 0;padding-bottom:1em;border-bottom: solid 1px #e6e4e5;"> 5 <form name="form2" id="form2"> 6 <fieldset> 7 <legend style="display:none;">Search</legend> 8 <label for="search_new"><input type="radio" name="search_new" id="search_new" value="New Search" /> New Search</label> 9 <label for="search_within"><input type="radio" name="search_within" id="search_within" value="Search within Result" /> Search within Result</label><br /> 10 <label for="keyword" style="display:none;">Keyword</label> <input type="text" id="keyword" style="width:220px;" /> <input type="submit" value="Submit" /> 11 </fieldset> 12 </form> 13 </div> 14 <div id="searchlist"> 15 <ul> 16 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 17 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 18 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 19 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 20 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 21 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 22 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 23 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 24 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 25 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 26 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 27 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 28 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 29 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 30 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 31 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 32 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 33 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 34 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 35 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 36 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 37 <li class="txt"><a href="#">text data sed do eiusmod tempor incididunt ut labore</a></li> 38 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 39 <li><a href="#">sed do eiusmod tempor incididunt ut labore</a></li> 40 </ul> 41 </div> 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 $("#searchresults > li").remove(); 8 for(var i=0; i<r.results.length; i++) { 9 var ds = r.results[i]; 10 var a = $('<a href="#"/>'); 11 var li = $('<li/>'); 12 a.html(ds.target + '`' + ds.name + '`' + ds.metric_name); 13 a.click( 14 (function(ds_c) { 15 return function() { 16 graph_add_datapoint({'sid':ds_c.sid, 17 'metric_name':ds_c.metric_name, 18 'metric_type':ds_c.metric_type 19 }); 20 return false; 21 } 22 })(ds) 23 ); 24 if(ds.metric_type == 'text') li.addClass('txt'); 25 $("#searchresults").append(li.append(a)); 26 } 27 }); 28 } 29 $(document).ready(function(){ 30 $("#datapoint-searchform").submit(function() { 31 perform_datapoint_search($("#searchinput").val(), 0, 25); 32 return false; 33 }); 34 }); 35 --> 36 </script> 37 <h4 id="searchterms"></h4> 38 <p id="searchsummary"></p> 39 <div id="datapoint-searchform-container" style="margin:.5em 0 2em 0;padding-bottom:1em;border-bottom: solid 1px #e6e4e5;"> 40 <form id="datapoint-searchform"> 41 <fieldset> 42 <legend style="display:none;">Search</legend> 43 <label for="keyword" style="display:none;">Keyword</label> <input type="text" id="searchinput" style="width:220px;" /> 44 </fieldset> 45 </form> 46 </div> 47 <div id="searchlist"> 48 <ul id="searchresults"> 49 </ul> 50 </div> ui/web/lib/Reconnoiter_DB.php
r9478c46 r362040a 64 64 function valid_source_variables() { 65 65 return array('module', 'remote_address', 'target', 'name', 'metric_name'); 66 } 67 function get_datapoints($searchstring, $offset, $limit) { 68 $sth = $this->db->prepare(" 69 select * 70 from stratcon.mv_loading_dock_check_s c 71 join stratcon.metric_name_summary m using (sid) 72 where active = true 73 order by target, module, name, remote_address 74 limit ? 75 offset ?"); 76 $sth->execute(array($limit, $offset)); 77 $a = array(); 78 while($row = $sth->fetch()) $a[] = $row; 79 return $a; 66 80 } 67 81 function get_sources($want, $fixate, $active = true) { … … 217 231 if($id) { 218 232 $sth = $this->db->prepare("update prism.saved_graphs 219 set json=?, title=? where graphid=?"); 233 set json=?, title=?, 234 last_update=current_timestamp 235 where graphid=?"); 220 236 $sth->execute(array($json,$graph['title'],$id)); 221 237 if($sth->rowCount() != 1) throw(new Exception('No such graph: '.$id)); … … 227 243 $id = Reconnoiter_UUID::generate(); 228 244 $sth = $this->db->prepare("insert into prism.saved_graphs 229 (graphid, json, title) 230 values (?, ?, ?)"); 245 (graphid, json, title, 246 last_update) 247 values (?, ?, ?, current_timestamp)"); 231 248 $sth->execute(array($id, $json, $graph['title'])); 232 249 }
