| Index: chrome_release_test_status/war/registerfeature.jsp
|
| ===================================================================
|
| --- chrome_release_test_status/war/registerfeature.jsp (revision 0)
|
| +++ chrome_release_test_status/war/registerfeature.jsp (revision 0)
|
| @@ -0,0 +1,330 @@
|
| +<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
| +<%@ page import="java.util.List" %>
|
| +<%@ page import="java.util.ArrayList" %>
|
| +<%@ page import="javax.jdo.PersistenceManager" %>
|
| +<%@ page import="com.google.appengine.api.users.User" %>
|
| +<%@ page import="com.google.appengine.api.users.UserService" %>
|
| +<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>
|
| +<%@ page import="mydemo.MstoneInfo" %>
|
| +<%@ page import="mydemo.BuildInfo" %>
|
| +<%@ page import="mydemo.TestStatus" %>
|
| +<%@ page import="mydemo.RegisterFeature" %>
|
| +<%@ page import="mydemo.PMF" %>
|
| +
|
| +<HTML>
|
| +<script>
|
| +var g_rowNo = 0;
|
| +function addRow() {
|
| + var template = document.getElementById('rowTemplate');
|
| + var newRow = template.cloneNode(true);
|
| + document.getElementById('mainForm').insertBefore(newRow, document.getElementById('beforeThisRow'));
|
| +}
|
| +
|
| +window.onload = function() {
|
| + addRow();
|
| + addRow();
|
| +}
|
| +
|
| +function SelectMstone(selected_val, sibling) {
|
| + if (selected_val == "New mile stone")
|
| + {
|
| + var div, br
|
| + br = document.createElement("BR");
|
| + div = document.createElement("DIV");
|
| + text = document.createTextNode("Enter New Mstone Number: ");
|
| + div.appendChild(text);
|
| +
|
| + var tbox;
|
| + tbox=document.createElement('input');
|
| + tbox.type = 'text';
|
| + tbox.name = 'mstone_number';
|
| + div.appendChild(tbox);
|
| + sibling.parentNode.appendChild(div);
|
| + }
|
| +}
|
| +
|
| +</script>
|
| +
|
| +
|
| +<script>
|
| +
|
| +var DDSPEED = 10;
|
| +var DDTIMER = 15;
|
| +
|
| +// main function to handle the mouse events //
|
| +function ddMenu(id,d){
|
| + var h = document.getElementById(id + '-ddheader');
|
| + var c = document.getElementById(id + '-ddcontent');
|
| + clearInterval(c.timer);
|
| + if(d == 1){
|
| + clearTimeout(h.timer);
|
| + if(c.maxh && c.maxh <= c.offsetHeight){return}
|
| + else if(!c.maxh){
|
| + c.style.display = 'block';
|
| + c.style.height = 'auto';
|
| + c.maxh = c.offsetHeight;
|
| + c.style.height = '0px';
|
| + }
|
| + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
|
| + }else{
|
| + h.timer = setTimeout(function(){ddCollapse(c)},50);
|
| + }
|
| +}
|
| +
|
| +// collapse the menu //
|
| +function ddCollapse(c){
|
| + c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
|
| +}
|
| +
|
| +// cancel the collapse if a user rolls over the dropdown //
|
| +function cancelHide(id){
|
| + var h = document.getElementById(id + '-ddheader');
|
| + var c = document.getElementById(id + '-ddcontent');
|
| + clearTimeout(h.timer);
|
| + clearInterval(c.timer);
|
| + if(c.offsetHeight < c.maxh){
|
| + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
|
| + }
|
| +}
|
| +
|
| +// incrementally expand/contract the dropdown and change the opacity //
|
| +function ddSlide(c,d){
|
| + var currh = c.offsetHeight;
|
| + var dist;
|
| + if(d == 1){
|
| + dist = (Math.round((c.maxh - currh) / DDSPEED));
|
| + }else{
|
| + dist = (Math.round(currh / DDSPEED));
|
| + }
|
| + if(dist <= 1 && d == 1){
|
| + dist = 1;
|
| + }
|
| + c.style.height = currh + (dist * d) + 'px';
|
| + c.style.opacity = currh / c.maxh;
|
| + c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
|
| + if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
|
| + clearInterval(c.timer);
|
| + }
|
| +}
|
| +
|
| +</script>
|
| +
|
| +<style>
|
| +.menu{
|
| + width:717px;
|
| + height:65px;
|
| +
|
| +}
|
| +.links div{
|
| + float:left;}
|
| +.dropdown {
|
| +
|
| + background:9966ff;
|
| +color:#eee;
|
| + border-left:1px solid #fff;
|
| + font-family:BOOK ANTIQUA;
|
| + font-size:14px;
|
| + margin: 0;
|
| + padding:0px;}
|
| +
|
| +.dropdown dt:hover {
|
| + background:9999ff;}
|
| +
|
| +.dropdown dd {
|
| + position:absolute;
|
| + overflow:hidden;
|
| + display:none;
|
| + background:9966ff;
|
| +
|
| + margin:0 0 0 20px;
|
| + border-left:2px solid #620000;
|
| + border-right:2px solid #620000}
|
| +
|
| +.dropdown ul {
|
| + width:100px;
|
| + list-style:none;
|
| + margin:0;
|
| + padding: 0;
|
| + z-index:900;}
|
| +.dropdown li {
|
| + display:block;
|
| + width: 100px;
|
| + margin: 0;
|
| + padding: 5px;
|
| + border-bottom:2px solid #620000;}
|
| +.dropdown li a{
|
| + float:none;
|
| + width:auto;
|
| + padding: 0;
|
| + width:100px}
|
| +
|
| +.dropdown a:hover {
|
| + color:#FFFF00;}
|
| +
|
| +a{
|
| + color:blue;
|
| + font-family:BOOK ANTIQUA;
|
| + font-size:15px;
|
| + text-decoration: none;
|
| + padding-left:23px;
|
| + padding-right:23px;
|
| +}
|
| +a:hover {
|
| +background:9999ff;
|
| +color:#000
|
| +}
|
| +</style>
|
| +
|
| +<body>
|
| +<div align=center class="headerMembers">
|
| +<!-- menu starts here -->
|
| +<div class="menu">
|
| +<div class="links">
|
| +<body>
|
| +<H2 align=center><font color="background:9900CC"> Chrome Release testing dashboard </font></h2>
|
| +<div>
|
| +<br>
|
| +</div>
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu('one',-1)"><a>Register new feature</a></dt>
|
| + <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddMenu('one',-1)">
|
| + <ul>
|
| + <li><a href="registerfeature.jsp">Chrome</a></li>
|
| + <li><a href="">Chrome Frame</a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu('two',-1)"><a>Submit Status</a></dt>
|
| + <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddMenu('two',-1)">
|
| + <ul>
|
| + <li><a href="SubmitStatus-Windows.jsp">Windows</a></li>
|
| + <li><a href="SubmitStatus-Mac.jsp">Mac</a></li>
|
| + <li><a href="SubmitStatus-Linux.jsp">Linux</a></li>
|
| + <li><a href="">Chrome Frame </a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="three-ddheader" onmouseover="ddMenu('three',1)" onmouseout="ddMenu('three',-1)"><a>View Status</a></dt>
|
| + <dd id="three-ddcontent" onmouseover="cancelHide('three')" onmouseout="ddMenu('three',-1)">
|
| + <ul>
|
| + <li><a href="TestingStatus-query.jsp">Windows</a></li>
|
| + <li><a href="TestingStatus-query-Mac.jsp">Mac</a></li>
|
| + <li><a href="TestingStatus-query-Linux.jsp">Linux</a></li>
|
| + <li><a href="">Chrome Frame </a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="four-ddheader" onmouseover="ddMenu('four',1)" onmouseout="ddMenu('four',-1)"><a>Release Blockers</a></dt>
|
| + <dd id="four-ddcontent" onmouseover="cancelHide('four')" onmouseout="ddMenu('four',-1)">
|
| + <ul>
|
| + <li><a href="Release-blockers.jsp?channel=Dev">Dev</a></li>
|
| + <li><a href="Release-blockers.jsp?channel=Beta">Beta</a></li>
|
| + <li><a href="Release-blockers.jsp?channel=Stable">Stable</a></li>
|
| + <li><a href="">ChromeFrame-Dev</a></li>
|
| + <li><a href="">ChromeFrame-Beta</a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +<div style="background:9966ff;border-left:1px solid #fff;"><a href="calendar.jsp">Calendar</a></div>
|
| +
|
| +</body>
|
| +</div>
|
| +</div>
|
| +</div>
|
| +</html>
|
| +
|
| +<BODY style="background:CCCCFF;font-family:BOOK ANTIQUA">
|
| +
|
| +<div style="position:relative; width:100%; height:20px"></div>
|
| +<div align=center >
|
| +<form id='mainForm' action="/reg" method="post">
|
| +
|
| + <div style="display:none" >
|
| + <div id='rowTemplate' >
|
| + <br>
|
| +<table>
|
| +<div id='hide-me'>
|
| +<tr>
|
| +<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>
|
| +</tr>
|
| +</div>
|
| + <tr>
|
| + <td><input type='text' name="feature_name"></input></td>
|
| + <td><input type='text' name="related_docs"></input></td>
|
| + <td><input type='text' name="notes"></input></td>
|
| + <td><div><select name="feature_type">
|
| +<option value="Backend" selected>Backend
|
| +<option value="Frontend">Frontend
|
| +<option value="Compat">Compat
|
| +<option value="Not Known">Unknown
|
| +</select></div>
|
| +</td>
|
| +
|
| +<td>
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +<%
|
| + PersistenceManager pm1 = PMF.get().getPersistenceManager();
|
| + String query1 = "select from " + MstoneInfo.class.getName();
|
| + List<MstoneInfo> mstone_val = (List<MstoneInfo>) pm1.newQuery(query1).execute();
|
| + if (mstone_val.isEmpty()) { %>
|
| + <select name="mstone" onChange="SelectMstone(this.options[selectedIndex].text, this);">
|
| +<option value="Pick a mstone" selected>Pick a mile stone
|
| + <option value="New mstone">New mile stone
|
| + </select>
|
| +
|
| + <% }
|
| +else {
|
| + %>
|
| +
|
| +
|
| +
|
| + <select name="mstone" onChange="SelectMstone(this.options[selectedIndex].text, this);">
|
| + <option value="Pick a mstone" selected>Pick a mile stone
|
| + <% for (MstoneInfo mstone : mstone_val) { %>
|
| + <option value=<%= mstone.getMileStone() %>><%= mstone.getMileStone() %>
|
| + <% } %>
|
| + <option value="New mstone">New mile stone
|
| + </select>
|
| +
|
| +<%
|
| + }
|
| + pm1.close();
|
| +%>
|
| +</td>
|
| +</tr>
|
| +</table>
|
| +
|
| +
|
| + </div>
|
| + </div>
|
| +
|
| + <div id='beforeThisRow1' ></div>
|
| + <div id='beforeThisRow'></div>
|
| + <br>
|
| + <div align=center> <a href="javascript:addRow()">Click to submit more features for testing</a> <div> <br>
|
| + <div align=center><input type="submit" value="Submit for testing" /></div>
|
| +
|
| + </form>
|
| + </div>
|
| + </body>
|
| +</html>
|
|
|