OLD | NEW |
(Empty) | |
| 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
| 2 <%@ page import="java.util.List" %> |
| 3 <%@ page import="java.util.ArrayList" %> |
| 4 <%@ page import="javax.jdo.PersistenceManager" %> |
| 5 <%@ page import="com.google.appengine.api.users.User" %> |
| 6 <%@ page import="com.google.appengine.api.users.UserService" %> |
| 7 <%@ page import="com.google.appengine.api.users.UserServiceFactory" %> |
| 8 <%@ page import="mydemo.MstoneInfo" %> |
| 9 <%@ page import="mydemo.BuildInfo" %> |
| 10 <%@ page import="mydemo.TestStatus" %> |
| 11 <%@ page import="mydemo.RegisterFeature" %> |
| 12 <%@ page import="mydemo.PMF" %> |
| 13 |
| 14 <HTML> |
| 15 <script> |
| 16 var g_rowNo = 0; |
| 17 function addRow() { |
| 18 var template = document.getElementById('rowTemplate'); |
| 19 var newRow = template.cloneNode(true); |
| 20 document.getElementById('mainForm').insertBefore(newRow, document.getElementBy
Id('beforeThisRow')); |
| 21 } |
| 22 |
| 23 window.onload = function() { |
| 24 addRow(); |
| 25 addRow(); |
| 26 } |
| 27 |
| 28 function SelectMstone(selected_val, sibling) { |
| 29 if (selected_val == "New mile stone") |
| 30 { |
| 31 var div, br |
| 32 br = document.createElement("BR"); |
| 33 div = document.createElement("DIV"); |
| 34 text = document.createTextNode("Enter New Mstone Number: "); |
| 35 div.appendChild(text); |
| 36 |
| 37 var tbox; |
| 38 tbox=document.createElement('input'); |
| 39 tbox.type = 'text'; |
| 40 tbox.name = 'mstone_number'; |
| 41 div.appendChild(tbox); |
| 42 sibling.parentNode.appendChild(div); |
| 43 } |
| 44 } |
| 45 |
| 46 </script> |
| 47 |
| 48 |
| 49 <script> |
| 50 |
| 51 var DDSPEED = 10; |
| 52 var DDTIMER = 15; |
| 53 |
| 54 // main function to handle the mouse events // |
| 55 function ddMenu(id,d){ |
| 56 var h = document.getElementById(id + '-ddheader'); |
| 57 var c = document.getElementById(id + '-ddcontent'); |
| 58 clearInterval(c.timer); |
| 59 if(d == 1){ |
| 60 clearTimeout(h.timer); |
| 61 if(c.maxh && c.maxh <= c.offsetHeight){return} |
| 62 else if(!c.maxh){ |
| 63 c.style.display = 'block'; |
| 64 c.style.height = 'auto'; |
| 65 c.maxh = c.offsetHeight; |
| 66 c.style.height = '0px'; |
| 67 } |
| 68 c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); |
| 69 }else{ |
| 70 h.timer = setTimeout(function(){ddCollapse(c)},50); |
| 71 } |
| 72 } |
| 73 |
| 74 // collapse the menu // |
| 75 function ddCollapse(c){ |
| 76 c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER); |
| 77 } |
| 78 |
| 79 // cancel the collapse if a user rolls over the dropdown // |
| 80 function cancelHide(id){ |
| 81 var h = document.getElementById(id + '-ddheader'); |
| 82 var c = document.getElementById(id + '-ddcontent'); |
| 83 clearTimeout(h.timer); |
| 84 clearInterval(c.timer); |
| 85 if(c.offsetHeight < c.maxh){ |
| 86 c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); |
| 87 } |
| 88 } |
| 89 |
| 90 // incrementally expand/contract the dropdown and change the opacity // |
| 91 function ddSlide(c,d){ |
| 92 var currh = c.offsetHeight; |
| 93 var dist; |
| 94 if(d == 1){ |
| 95 dist = (Math.round((c.maxh - currh) / DDSPEED)); |
| 96 }else{ |
| 97 dist = (Math.round(currh / DDSPEED)); |
| 98 } |
| 99 if(dist <= 1 && d == 1){ |
| 100 dist = 1; |
| 101 } |
| 102 c.style.height = currh + (dist * d) + 'px'; |
| 103 c.style.opacity = currh / c.maxh; |
| 104 c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')'; |
| 105 if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){ |
| 106 clearInterval(c.timer); |
| 107 } |
| 108 } |
| 109 |
| 110 </script> |
| 111 |
| 112 <style> |
| 113 .menu{ |
| 114 width:717px; |
| 115 height:65px; |
| 116 |
| 117 } |
| 118 .links div{ |
| 119 float:left;} |
| 120 .dropdown { |
| 121 |
| 122 background:9966ff; |
| 123 color:#eee; |
| 124 border-left:1px solid #fff; |
| 125 font-family:BOOK ANTIQUA; |
| 126 font-size:14px; |
| 127 margin: 0; |
| 128 padding:0px;} |
| 129 |
| 130 .dropdown dt:hover { |
| 131 background:9999ff;} |
| 132 |
| 133 .dropdown dd { |
| 134 position:absolute; |
| 135 overflow:hidden; |
| 136 display:none; |
| 137 background:9966ff; |
| 138 |
| 139 margin:0 0 0 20px; |
| 140 border-left:2px solid #620000; |
| 141 border-right:2px solid #620000} |
| 142 |
| 143 .dropdown ul { |
| 144 width:100px; |
| 145 list-style:none; |
| 146 margin:0; |
| 147 padding: 0; |
| 148 z-index:900;} |
| 149 .dropdown li { |
| 150 display:block; |
| 151 width: 100px; |
| 152 margin: 0; |
| 153 padding: 5px; |
| 154 border-bottom:2px solid #620000;} |
| 155 .dropdown li a{ |
| 156 float:none; |
| 157 width:auto; |
| 158 padding: 0; |
| 159 width:100px} |
| 160 |
| 161 .dropdown a:hover { |
| 162 color:#FFFF00;} |
| 163 |
| 164 a{ |
| 165 color:blue; |
| 166 font-family:BOOK ANTIQUA; |
| 167 font-size:15px; |
| 168 text-decoration: none; |
| 169 padding-left:23px; |
| 170 padding-right:23px; |
| 171 } |
| 172 a:hover { |
| 173 background:9999ff; |
| 174 color:#000 |
| 175 } |
| 176 </style> |
| 177 |
| 178 <body> |
| 179 <div align=center class="headerMembers"> |
| 180 <!-- menu starts here --> |
| 181 <div class="menu"> |
| 182 <div class="links"> |
| 183 <body> |
| 184 <H2 align=center><font color="background:9900CC"> Chrome Release testing dashboa
rd </font></h2> |
| 185 <div> |
| 186 <br> |
| 187 </div> |
| 188 <div> |
| 189 <dl class="dropdown"> |
| 190 <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu
('one',-1)"><a>Register new feature</a></dt> |
| 191 <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddM
enu('one',-1)"> |
| 192 <ul> |
| 193 <li><a href="registerfeature.jsp">Chrome</a></li> |
| 194 <li><a href="">Chrome Frame</a></li> |
| 195 </ul> |
| 196 </dd> |
| 197 </dl> |
| 198 </div> |
| 199 |
| 200 |
| 201 <div> |
| 202 <dl class="dropdown"> |
| 203 <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu
('two',-1)"><a>Submit Status</a></dt> |
| 204 <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddM
enu('two',-1)"> |
| 205 <ul> |
| 206 <li><a href="SubmitStatus-Windows.jsp">Windows</a></li> |
| 207 <li><a href="SubmitStatus-Mac.jsp">Mac</a></li> |
| 208 <li><a href="SubmitStatus-Linux.jsp">Linux</a></li> |
| 209 <li><a href="">Chrome Frame </a></li> |
| 210 </ul> |
| 211 </dd> |
| 212 </dl> |
| 213 </div> |
| 214 |
| 215 <div> |
| 216 <dl class="dropdown"> |
| 217 <dt id="three-ddheader" onmouseover="ddMenu('three',1)" onmouseout="dd
Menu('three',-1)"><a>View Status</a></dt> |
| 218 <dd id="three-ddcontent" onmouseover="cancelHide('three')" onmouseout=
"ddMenu('three',-1)"> |
| 219 <ul> |
| 220 <li><a href="TestingStatus-query.jsp">Windows</a></li> |
| 221 <li><a href="TestingStatus-query-Mac.jsp">Mac</a></li> |
| 222 <li><a href="TestingStatus-query-Linux.jsp">Linux</a></li> |
| 223 <li><a href="">Chrome Frame </a></li> |
| 224 </ul> |
| 225 </dd> |
| 226 </dl> |
| 227 </div> |
| 228 |
| 229 <div> |
| 230 <dl class="dropdown"> |
| 231 <dt id="four-ddheader" onmouseover="ddMenu('four',1)" onmouseout="ddMe
nu('four',-1)"><a>Release Blockers</a></dt> |
| 232 <dd id="four-ddcontent" onmouseover="cancelHide('four')" onmouseout="d
dMenu('four',-1)"> |
| 233 <ul> |
| 234 <li><a href="Release-blockers.jsp?channel=Dev">Dev</a></li> |
| 235 <li><a href="Release-blockers.jsp?channel=Beta">Beta</a></li> |
| 236 <li><a href="Release-blockers.jsp?channel=Stable">Stable</a></
li> |
| 237 <li><a href="">ChromeFrame-Dev</a></li> |
| 238 <li><a href="">ChromeFrame-Beta</a></li> |
| 239 </ul> |
| 240 </dd> |
| 241 </dl> |
| 242 </div> |
| 243 <div style="background:9966ff;border-left:1px solid #fff;"><a href="calendar.jsp
">Calendar</a></div> |
| 244 |
| 245 </body> |
| 246 </div> |
| 247 </div> |
| 248 </div> |
| 249 </html> |
| 250 |
| 251 <BODY style="background:CCCCFF;font-family:BOOK ANTIQUA"> |
| 252 |
| 253 <div style="position:relative; width:100%; height:20px"></div> |
| 254 <div align=center > |
| 255 <form id='mainForm' action="/reg" method="post"> |
| 256 |
| 257 <div style="display:none" > |
| 258 <div id='rowTemplate' > |
| 259 <br> |
| 260 <table> |
| 261 <div id='hide-me'> |
| 262 <tr> |
| 263 <td><b>Feature Name</b></td><td><b>Related Docs</b></td><td><b>Notes for QA: </b
></td><td><b>Feature Type:</b></td><td><b>Mile Stone:</td> |
| 264 </tr> |
| 265 </div> |
| 266 <tr> |
| 267 <td><input type='text' name="feature_name"></input></td> |
| 268 <td><input type='text' name="related_docs"></input></td> |
| 269 <td><input type='text' name="notes"></input></td> |
| 270 <td><div><select name="feature_type"> |
| 271 <option value="Backend" selected>Backend |
| 272 <option value="Frontend">Frontend |
| 273 <option value="Compat">Compat |
| 274 <option value="Not Known">Unknown |
| 275 </select></div> |
| 276 </td> |
| 277 |
| 278 <td> |
| 279 |
| 280 |
| 281 |
| 282 |
| 283 |
| 284 |
| 285 <% |
| 286 PersistenceManager pm1 = PMF.get().getPersistenceManager(); |
| 287 String query1 = "select from " + MstoneInfo.class.getName(); |
| 288 List<MstoneInfo> mstone_val = (List<MstoneInfo>) pm1.newQuery(query1).execut
e(); |
| 289 if (mstone_val.isEmpty()) { %> |
| 290 <select name="mstone" onChange="SelectMstone(this.options[selectedIndex].text,
this);"> |
| 291 <option value="Pick a mstone" selected>Pick a mile stone |
| 292 <option value="New mstone">New mile stone |
| 293 </select> |
| 294 |
| 295 <% } |
| 296 else { |
| 297 %> |
| 298 |
| 299 |
| 300 |
| 301 <select name="mstone" onChange="SelectMstone(this.options[selectedIndex].text,
this);"> |
| 302 <option value="Pick a mstone" selected>Pick a mile stone |
| 303 <% for (MstoneInfo mstone : mstone_val) { %> |
| 304 <option value=<%= mstone.getMileStone() %>><%= mstone.getMileStone() %> |
| 305 <% } %> |
| 306 <option value="New mstone">New mile stone |
| 307 </select> |
| 308 |
| 309 <% |
| 310 } |
| 311 pm1.close(); |
| 312 %> |
| 313 </td> |
| 314 </tr> |
| 315 </table> |
| 316 |
| 317 |
| 318 </div> |
| 319 </div> |
| 320 |
| 321 <div id='beforeThisRow1' ></div> |
| 322 <div id='beforeThisRow'></div> |
| 323 <br> |
| 324 <div align=center> <a href="javascript:addRow()">Click to submit more features
for testing</a> <div> <br> |
| 325 <div align=center><input type="submit" value="Submit for testing" /></div> |
| 326 |
| 327 </form> |
| 328 </div> |
| 329 </body> |
| 330 </html> |
OLD | NEW |