Author: kelvingoodson
Date: Mon Mar 22 17:38:59 2010
New Revision: 926213

URL: http://svn.apache.org/viewvc?rev=926213&view=rev
Log:
reasonably usable now, still no workitem delete

Modified:
    tuscany/sandbox/kgoodson/jagg/pom.xml
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd
    tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html

Modified: tuscany/sandbox/kgoodson/jagg/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/pom.xml?rev=926213&r1=926212&r2=926213&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/pom.xml (original)
+++ tuscany/sandbox/kgoodson/jagg/pom.xml Mon Mar 22 17:38:59 2010
@@ -106,42 +106,22 @@
         </dependency>
 
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.5</version>
+            <groupId>net.sourceforge.htmlunit</groupId>
+            <artifactId>htmlunit</artifactId>
+            <version>2.6</version>
             <scope>test</scope>
         </dependency>
+        
         <dependency>
-            <groupId>rome</groupId>
-            <artifactId>rome</artifactId>
-            <version>1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.xml.bind</groupId>
-            <artifactId>jaxb-api</artifactId>
-            <version>2.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.sun.xml.bind</groupId>
-            <artifactId>jaxb-impl</artifactId>
-            <version>2.0.3</version>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.1</version>
+            <scope>test</scope>
         </dependency>
-        <dependency>
-                       <groupId>org.jvnet.jaxb2_commons</groupId>
-                       <artifactId>runtime</artifactId>
-                       <version>0.4.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.jvnet.jaxb2_commons</groupId>
-                       <artifactId>testing</artifactId>
-                       <version>0.4.1</version>
-                       <scope>test</scope>
-               </dependency>
-        
-        
     </dependencies>
     
-
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
 
 </project>

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml?rev=926213&r1=926212&r2=926213&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml (original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml Mon Mar 
22 17:38:59 2010
@@ -1,66 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<ns2:plan xmlns:ns2="http://www.example.com/tracking";>
+<ns2:plan xmlns:ns2="http://www.example.com/tracking"; maxWorkItemID="42" 
projTitle="WAS SCA">
     <issueBase>https://issues.apache.org/jira/browse/</issueBase>
-    <milestone ID="V8 M5I14a">
-        <workItem>
-            <jira>TUSCANY-2850</jira>
-            <jiraData ID="TUSCANY-2850">
-                <title> Support binding.json-rpc for implementation.java's 
reference</title>
-                <status>Resolved</status>
-                <assignedTo>Luciano Resende</assignedTo>
-            </jiraData>
-        </workItem>
-        <workItem>
-            <jira>TUSCANY-3395</jira>
-            <jiraData ID="TUSCANY-3395">
-                <title> Tidying up Contribution Scanner API</title>
-                <status>Resolved</status>
-                <assignedTo>Luciano Resende</assignedTo>
-            </jiraData>
-        </workItem>
-        <workItem>
-            <jira>TUSCANY-3397</jira>
-            <jiraData ID="TUSCANY-3397">
-                <title> Add support for identifying the SCA Spec Version for 
contribution metadata</title>
-                <status>Resolved</status>
-                <assignedTo>Luciano Resende</assignedTo>
-            </jiraData>
-        </workItem>
-    </milestone>
-    <milestone ID="V8_M5I14b">
-        <workItem>
-            <jira>TUSCANY-3433</jira>
-            <jiraData ID="TUSCANY-3433">
-                <title> Import more of the basic itests from 1.x to 2.x 
</title>
-                <status>Open</status>
-                <assignedTo>Ramkumar Ramalingam</assignedTo>
-            </jiraData>
-        </workItem>
-        <workItem>
-            <jira>TUSCANY-3409</jira>
-            <jiraData ID="TUSCANY-3409">
-                <title> Non-Simple Property Injected with XML Fails with 
NullPointerException</title>
-                <status>Resolved</status>
-                <assignedTo>Raymond Feng</assignedTo>
-            </jiraData>
-        </workItem>
-        <workItem>
-            <jira>TUSCANY-3441</jira>
-            <jiraData ID="TUSCANY-3441">
-                <title> Improve mechanism for determining locality of 
endpoints to endpoint references</title>
-                <status>Open</status>
-                <assignedTo>Unassigned</assignedTo>
-            </jiraData>
-        </workItem>
-        <workItem>
-            <jira>TUSCANY-3443</jira>
-            <jiraData ID="TUSCANY-3443">
-                <title> Devise a away to track and spi changes we make in 
2.x</title>
-                <status>Open</status>
+    <milestone ID="1234"/>
+    <milestone ID="MS8">
+        <workItem ID="wi29">
+            <jira>TUSCANY-1111</jira>
+            <note>sdsdss</note>
+            <jiraData ID="TUSCANY-1111">
+                <title> Interchangeability of Java and WSDL</title>
+                <status>Closed</status>
                 <assignedTo>Unassigned</assignedTo>
             </jiraData>
+            <link>tuscany.bluehost.ibm.com</link>
         </workItem>
     </milestone>
-    <milestone ID="V8_M5I15a"/>
     <milestone ID="MMX"/>
 </ns2:plan>

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd?rev=926213&r1=926212&r2=926213&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd (original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd Mon Mar 
22 17:38:59 2010
@@ -20,16 +20,24 @@
 <xsd:schema targetNamespace="http://www.example.com/tracking"; 
                  xmlns:jagg="http://www.example.com/tracking"; 
             xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
-
-    <xsd:element name="plan">
-           <xsd:complexType>
-               <xsd:sequence>
-                       <xsd:element name="issueBase" type="xsd:string" 
maxOccurs="1" minOccurs="0"></xsd:element>
-       
-       
-                       <xsd:element name="milestone" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
-               </xsd:sequence>
-           </xsd:complexType>
+
+    <xsd:element name="plan">
+           <xsd:complexType>
+               <xsd:sequence>
+                       <xsd:element name="issueBase" type="xsd:string"
+                               maxOccurs="1" minOccurs="0">
+                       </xsd:element>
+
+
+                       <xsd:element name="milestone" type="jagg:Milestone"
+                               maxOccurs="unbounded" minOccurs="0">
+                       </xsd:element>
+               </xsd:sequence>
+
+               <xsd:attribute name="projTitle" type="xsd:string" 
default="Untitled Project"></xsd:attribute>
+            <xsd:attribute name="maxWorkItemID" type="xsd:int" default="0">
+               </xsd:attribute>
+        </xsd:complexType>
     </xsd:element>
 
 
@@ -42,7 +50,7 @@
        </xsd:annotation>
        <xsd:sequence>
 
-               <xsd:element name="title" type="xsd:string" maxOccurs="1" 
minOccurs="1"></xsd:element>
+               <xsd:element name="title" type="xsd:string" maxOccurs="1" 
minOccurs="0"></xsd:element>
                <xsd:element name="responsible" type="xsd:string"
                        maxOccurs="1" minOccurs="0">
                </xsd:element>
@@ -98,32 +106,32 @@
        <xsd:attribute name="ID" type="xsd:string"></xsd:attribute>
     </xsd:complexType>
 
-    <xsd:complexType name="Milestones">
-       <xsd:sequence>
+    <xsd:complexType name="Milestones">
+       <xsd:sequence>
                <xsd:element name="milestone" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
        </xsd:sequence>
     </xsd:complexType>
-
-    <xsd:complexType name="WorkItems">
-       <xsd:sequence>
+
+    <xsd:complexType name="WorkItems">
+       <xsd:sequence>
                <xsd:element name="workitem" type="jagg:WorkItem" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
        </xsd:sequence>
     </xsd:complexType>
-
-
-    <xsd:complexType name="PlanDTO">
-       <xsd:sequence>
-               <xsd:element name="milestones" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
-               <xsd:element name="workitems" type="jagg:WorkItem" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
-       </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="JiraData">
-       <xsd:sequence>
-               <xsd:element name="title" type="xsd:string"></xsd:element>
-               <xsd:element name="status" type="xsd:string"></xsd:element>
-               <xsd:element name="assignedTo" type="xsd:string"></xsd:element>
-       </xsd:sequence>
-       <xsd:attribute name="ID" type="xsd:string"></xsd:attribute>
-    </xsd:complexType>
+
+
+    <xsd:complexType name="PlanDTO">
+       <xsd:sequence>
+               <xsd:element name="milestones" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+               <xsd:element name="workitems" type="jagg:WorkItem" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+       </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="JiraData">
+       <xsd:sequence>
+               <xsd:element name="title" type="xsd:string"></xsd:element>
+               <xsd:element name="status" type="xsd:string"></xsd:element>
+               <xsd:element name="assignedTo" type="xsd:string"></xsd:element>
+       </xsd:sequence>
+       <xsd:attribute name="ID" type="xsd:string"></xsd:attribute>
+    </xsd:complexType>
 </xsd:schema>
\ No newline at end of file

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html?rev=926213&r1=926212&r2=926213&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html 
(original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html Mon 
Mar 22 17:38:59 2010
@@ -1,6 +1,5 @@
 <!--
     * Licensed to the Apache Software Foundation (ASF) under one
-    * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
@@ -20,77 +19,329 @@
 <head>
 <title>Plan</title>
 
-<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script type="text/javascript" src="/dojo/dojo.js"></script> <!-- remove 
leading slash for webapp -->
 <script type="text/javascript" src="plan.js"></script>
+<link rel="stylesheet" href="plan.css" type="text/css" media="screen"></link>
 
 <script language="JavaScript">
 
        //@Reference
        var planView = new tuscany.sca.Reference("plan");
-       var project = "TUSCANY";
-       var ms;
+
+       var project = "TUSCANY";  // factor out
+       var issueBase = null;
        
-       function plan_getResponse(plan,exception) {
+       var msmap;
+       var wimap;
+       var wi2msmap;
+       var nullms;
+       var plan;
+
+       var focusWIRow = null;
+
+       var newWI;
+       var newWI_ID = "_new_";
+
+       function WI()
+       {
+               this.ID = newWI_ID;;
+               this.jira = 'TUSCANY-';
+               this.jiraData=new Object();
+               this.jiraData.status= '';
+               this.jiraData.title= '';
+               this.jiraData.assignedTo= '';
+               this.link= '';
+               this.note='';
+       }
+
+       function MS()
+       {
+               this.ID='';
+       }
+       
+       
+       function plan_getResponse(p,exception) {
                if(exception){
                        alert(exception.message);
                        return;
                }
-               ms = plan.milestone.list;
-               var mscontent = "<table border=\"1\" align=\"left\">";
+               
+               plan = p;
 
-                
+               msmap = new Object();
+               wimap = new Object();
+               wi2msmap = new Object();
+               nullms = new MS();
 
-               var mschoice = 'Add new Work Item for JIRA: <input type="text" 
name="JIRA" value="'+project+'-">in Milestone<select name="mschoice">';
+               newWI = new WI();
+               wi2msmap[newWI.ID] = nullms;
+
+
+
+
+               var htmlElems = new Object();
+               scanPlan(plan);
+               issueBase = plan.issueBase;
+               renderPlan(plan,htmlElems);
+
+               document.getElementById('milestones').innerHTML= 
htmlElems['mscontent'];
+               // 
document.getElementById('mschoice').innerHTML=htmlElems['mschoice'];
+               return;
+               
+       }
+
+
+       function scanPlan(plan) {
+               
+               ms = plan.milestone.list;
                for(var i=0; i<ms.length; i++) {
-                       mscontent += "<tr><th colspan=\"6\" 
align=\"left\">Milestone " + ms[i].ID + "</th></tr>";
-                       mschoice+='<option>'+ms[i].ID+'</option>';
-                       var mswi = ms[i].workItem.list;
-                       mscontent +="<tr>"+
-                                                       "<th>Jira</th>"+
-                                                       "<th>Jira title</th>"+
-                                                       "<th>Jira Assigned 
To</th>"+
-                                                       "<th>Status</th>"+
-                                                       "<th>Note</th>"+
-                                               "</tr>";
+                       msmap[ms[i].ID] = ms[i];
+                       var mswi = ms[i].workItem.list;                         
                        for (var j=0; j<mswi.length; j++) {
-                               mscontent +="<tr>";
-                               if(mswi[j].jira != null) {
-                                       mscontent += 
-                                       "<td><A 
HREF=\""+plan.issueBase+mswi[j].jira+"\">"+mswi[j].jira+"</A></td>";
-                               } else {
-                                       mscontent += '<td>No JIRA for Work 
Item</td>';
-                               }       
-                               if(mswi[j].jiraData!= null) {
-                                       mscontent += 
"<td>"+mswi[j].jiraData.title+"</td>"+
-                                       
"<td>"+mswi[j].jiraData.assignedTo+"</td>"+
-                                       
"<td>"+mswi[j].jiraData.status+"</td><td>";
-                               } else {
-                                       mscontent += "<td colspan=\"3\"></td>";
-                               }
-                               if(mswi[j].note != null) {
-                                 mscontent += mswi[j].note;
-                               }
-                               mscontent+="</td></tr>";
+                               wimap[mswi[j].ID] = mswi[j];
+                               wi2msmap[mswi[j].ID] = ms[i];
                        }
+               }
+       }
+
+       function renderWI_RO(wi,plan,htmlElems) {
+
+               var row='<tr onclick="focusOnWI(this)" class ="readonly" 
id="'+wi.ID+'">';
+               
+               row += renderRowFieldsRO(wi);   
 
+           row += "</tr>";
+               htmlElems['mscontent'] += row;
+       }
+
+       function renderWI_RW(wi,plan,htmlElems) {
+
+               var row='<tr onclick="focusOnWI(this)" class ="writable" 
id="'+wi.ID+'">';
+               
+               row += renderRowFieldsRW(wi);   
+
+           row += "</tr>";
+               htmlElems['mscontent'] += row;
+       }
+
+       function renderRowFieldsRO(wi)
+       {
+               var row = '';
+               row += '<td>';
+               //if(wi2msmap[wi.ID]) {
+               //      row += wi2msmap[wi.ID].ID
+               //} else {
+               //      row += '';
+               //}
+               row +='</td>'; 
+               if(wi.jira != null) {
+                       row += 
+                       "<td><A 
HREF=\""+issueBase+wi.jira+"\">"+wi.jira+"</A></td>";
+               } else {
+                       row += '<td>No JIRA</td>';
+               }       
+               if(wi.jiraData!= null) {
+                       row += "<td>"+wi.jiraData.title+"</td>"+
+                       "<td>"+wi.jiraData.assignedTo+"</td>"+
+                       "<td>"+wi.jiraData.status+"</td>";
+               } else {
+                       row += "<td></td><td></td><td></td>";
+               }
+               row  += '<td>';
+               if(wi.note != null) {
+                 row += wi.note;
+               }       
+               row+="</td>";
+               row+= '<td>';
+               if(wi.link != null) {
+                 row += '<A href="'+wi.link+'">link</a>';
+               }       
+               row+="</td>";
+
+               return row;
+       }
+
+
+       function mschoice (wi) {
+               var mss = plan.milestone.list;
+
+               
+               var thisWisMSID = '';;
+               if(wi.ID != newWI_ID) {
+                       thisWisMSID = wi2msmap[wi.ID].ID;
                }
-               mscontent += "</table><P>";
-               mschoice += '</select><input type="button" 
onClick="addWorkItem()" value="Add Work Item">';
                
-               document.getElementById('milestones').innerHTML='<h2>' + 
mscontent;
+               var select = '<select>';
+               for(var i =0; i<mss.length;i++) {
+                       if(mss[i].ID == thisWisMSID) {
+                               select += '<option select="selected" value="';
+                       } else {
+                               select += '<option value="';
+                       }
+                       select += mss[i].ID;
+                       select += '">'+ mss[i].ID+'</option>';
+               }
+               select += '</select>';
 
-                
-               document.getElementById('mschoice').innerHTML=mschoice;
-               return;
+               return select;
+       }
+       
+       function renderRowFieldsRW(wi)
+       {
+               var row = '';
+
+               row += mschoice(wi);
+               if(wi.jira != null) {
+                       row += '<td><input id="jira" type="text" 
value="'+wi.jira+'"></input></td>';
+               } else {
+                       row += '<td><input id="jira" type="text" 
value="'+project+'-"></input></td>';
+               }       
+               if(wi.jiraData!= null) {
+                       row += "<td>"+wi.jiraData.title+"</td>"+
+                       "<td>"+wi.jiraData.assignedTo+"</td>"+
+                       "<td>"+wi.jiraData.status+"</td>";
+               } else {
+                       row += "<td></td><td></td><td></td>";
+               }
+
+               row += '<td><input id="note" type="text" value="';
+               if(wi.note != null) {
+                 row += wi.note;
+               }
+               row += '"></input>';
                
+               row+="</td>";
+
+               row += '<td><input id="link" type="text" value="';
+               if(wi.link != null) {
+                 row += wi.link;
+               }
+               row += '"></input>';
+               
+               row+="</td>";
+
+               return row;
        }
 
        
+       function focusOnWI(that) {
+               
+               var oldFocusRow = focusWIRow;
+
+               if (oldFocusRow == null) { // first click
+                       oldFocusRow = that.parentNode.lastElementChild; // 
assumption initial focus is on last row in table
+               }
+
+               if(that == oldFocusRow) return; // reclicked on existing focus 
row
+
+               var fields = oldFocusRow.children;
+
+               var rowMilestone = fields[0].value;
+               var rowJira = fields[1].children[0].value;
+               var rowNote = fields[5].children[0].value;
+               var rowLink = fields[6].children[0].value;
+
+               var oldwi;
+               if(oldFocusRow.id == newWI_ID) {
+                       oldwi = newWI;
+               } else {
+                       oldwi = wimap[oldFocusRow.id];
+               }
+               var changed = (rowJira != oldwi.jira) || (rowNote != 
oldwi.note) || (rowLink != oldwi.link);
+               if(!(oldwi.ID == newWI_ID)) {
+                       var oldms = wi2msmap[oldwi.ID].ID;
+                       changed = changed || (rowMilestone != oldms);
+               }
+               
+               // ### updateRowLosingFocus(oldFocusRow);
+               
+               var newHTML = null;
+               focusWIRow = that;
+               
+
+               if(oldFocusRow.id == newWI_ID) {
+              newHTML = renderRowFieldsRO(newWI);
+               } else {
+                 newHTML = renderRowFieldsRO(wimap[oldFocusRow.id]);
+               }
+               oldFocusRow.innerHTML = newHTML;
+               oldFocusRow.setAttribute("class","readonly");
+
+               if(that.id == newWI_ID) {
+                       newHTML = renderRowFieldsRW(newWI);
+               } else {
+                       newHTML = renderRowFieldsRW(wimap[that.id]);
+               }
+           that.innerHTML=newHTML;
+               that.setAttribute("class","writable");
+
+               if(changed) {
+                       planView.updateWI(oldwi.ID, rowJira, rowNote, rowLink, 
rowMilestone).addCallback(plan_getResponse);
+               }  // ADD NOTHING BELOW
+               
+       }
+
+
+
+//     function loseWIFocus(that) {
+//             that.innerHTML= renderRowFieldsRO(wimap[that.id]);
+//     }
+
+       function createWIFocusHTML(focusWI) {
+               var html = '<form><table>';
+               html += '<tr><td><input type="hidden" 
value="'+focusWI.ID+'"></input></td></tr>';
+               html += '<tr><td>JIRA</td><td><input type="text" 
value="'+focusWI.jira+'"></input></td></tr>';
+               html += '<tr><td>JIRA 
title</td><td>'+focusWI.jiraData.title+'</td></tr>';
+               html += '<tr><td>JIRA Assigned 
To</td><td>'+focusWI.jiraData.assignedTo+'</td></tr>';
+               html += '<tr><td>JIRA 
Status</td><td>'+focusWI.jiraData.status+'</td></tr>';
+               html += '<tr><td><A 
href="'+focusWI.link+'">Link</A></td><td><input type="text" 
value="'+focusWI.link+'"</td></tr>';
+               html += '<tr><td>Note</td><td><input type="text" 
value="'+focusWI.note+'"</td></tr>';
+               html += '<tr><td></td><td><input type="submit" value="save" 
onclick="updateWI(this)" </input></td></tr>';
+               html += '</table></form>';
+               return html;
+       }
+
+       function updateWI(that) {
+               var wi  = wimap[that.id];
+       }
+       
        function init()
        {
                planView.getLite().addCallback(plan_getResponse);
        }
 
+
+       function renderPlan(plan, htmlElems)
+       {               
+               htmlElems["mscontent"] = "<table border=\"1\" align=\"left\">";
+               htmlElems['mschoice'] = ''; '<input type="text" name="JIRA" 
value="'+project+'-">in Milestone<select name="mschoice">';
+               
+               ms = plan.milestone.list;
+               for(var i=0; i<ms.length; i++) {
+                       var mswi = ms[i].workItem.list; 
+                       htmlElems['mschoice']+='<option>'+ms[i].ID+'</option>';
+                       if(mswi.length > 0) {
+                               htmlElems['mscontent'] += "<tr><th 
colspan=\"6\" align=\"left\">Milestone " + ms[i].ID + "</th></tr>";
+
+                               htmlElems['mscontent'] +="<tr>"+
+                                                               "<th></th>"+
+                                                               "<th>Jira</th>"+
+                                                               "<th>Jira 
title</th>"+
+                                                               "<th>Jira 
Assigned To</th>"+
+                                                               
"<th>Status</th>"+
+                                                               "<th>Note</th>"+
+                                                               "<th>Link</th>"+
+                                                       "</tr>";
+                               
+                               for (var j=0; j<mswi.length; j++) {
+                                       renderWI_RO(mswi[j],plan,htmlElems);
+                               }
+                       }
+               }
+               renderWI_RW(newWI,plan,htmlElems);
+               htmlElems['mscontent'] += "</table><P>";
+               htmlElems['mschoice'] += '</select>';
+       }
        
 
        function addWorkItem() {
@@ -107,7 +358,7 @@
 
        function addMilestone()
        {
-               
planView.postNewMilestone(document.newWorkItemForm.newmsname.value).addCallback(plan_postNewMilestone_response);
                
+               
planView.postNewMilestone(document.getElementById('newms').value).addCallback(plan_postNewMilestone_response);
          
        }
 
        function plan_postNewMilestone_response()
@@ -131,18 +382,20 @@
 
   <div id="wilist">
        <table>
+         <tr><td>
+                 <input type="button" value="Refresh Jira Data" 
onclick="refreshJiraData()"/>
+                 <input type="text" id="newms" value="New 
Milestone"></input><input type="button" value="add" onclick="addMilestone()"/>
+         </td></tr>
          <tr><td><div id="milestones"></div></td></tr>
+
          <tr><td>
                <form name="newWorkItemForm">
                  <table>
                  <tr><td>
                   <div id=mschoice></div>
                   </td></tr>
-                  <tr><td>
-                  Add New Milestone <input name="newmsname" type=text/><input 
type="button" onClick="addMilestone()" value="Add Milestone">
-                 </td></tr>
-                 <tr><td>
-                 <input type="button" value="Refresh Jira Data" 
onclick="refreshJiraData()"/>
+                 <tr><td>
+                   <div id="wifocus"></div>
                  </td></tr>
                  </table>
                </form>


Reply via email to