Changeset 1007

Show
Ignore:
Timestamp:
09/14/06 17:02:47
Author:
johnsa
Message:

added dialog for adding attendees and recipients to user calendar events

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.css

    r1004 r1007  
    581581  font-weight: bold; 
    582582} 
     583.posrelative { 
     584  /* this class is used primarily to lock absolutely positioned elements to 
     585     their parent.  Be careful removing this class from elements that 
     586     contain an absolutely positioned div. */ 
     587  position: relative; 
     588} 
    583589form#subscriptions { 
    584590  margin: 0; 
     
    599605  font-size: 0.7em; 
    600606  text-transform: lowercase; 
     607} 
     608/* this is the recipients and attendees dialog box */ 
     609#recipientsAndAttendees { 
     610  position: relative; 
     611} 
     612#recipientsAndAttendeesBox { 
     613  position: absolute; 
     614  top: -300px; 
     615  left: -100px; 
     616  width: 500px; 
     617  padding: 1em; 
     618  border: 2px solid #666; 
     619  background: white; 
     620  color: black; 
     621} 
     622#recipientsAndAttendeesBox h4 { 
     623  padding: 4px; 
     624  margin: -1em -1em 1em -1em; 
     625  text-align: center; 
     626  color: black; 
     627  background: #ddd; 
     628} 
     629#recipientsAndAttendeesBox table { 
     630  width: 100%; 
     631  margin: 1em 0; 
     632} 
     633#recipientsAndAttendeesBox table th { 
     634  padding: 2px; 
     635  text-align: center; 
     636  color: black; 
     637  background: #eee; 
     638} 
     639/* default title of movable dialog boxes */ 
     640#dialogTitle { 
     641  cursor: move; 
    601642} 
    602643#weekCalendarTable { 
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1006 r1007  
    7676  <xsl:variable name="event-setAccess" select="/bedework/urlPrefixes/event/setAccess/a/@href"/> 
    7777  <xsl:variable name="event-selectCalForEvent" select="/bedework/urlPrefixes/event/selectCalForEvent/a/@href"/> 
     78  <xsl:variable name="event-attendeesForEvent" select="/bedework/urlPrefixes/event/attendeesForEvent/a/@href"/> 
    7879  <xsl:variable name="editEvent" select="/bedework/urlPrefixes/editEvent"/> 
    7980  <xsl:variable name="delEvent" select="/bedework/urlPrefixes/delEvent"/> 
     
    13491350                  <td> 
    13501351                    <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    1351                     <a href="{$attendeeUri}"><xsl:value-of select="cn"/></a> 
     1352                    <a href="{$attendeeUri}"><xsl:value-of select="attendeeUri"/></a> 
    13521353                  </td> 
    13531354                </tr> 
     
    16881689          </td> 
    16891690        </tr> 
    1690         <!--  Recipients and Attendees  --> 
    1691         <tr> 
    1692           <td class="fieldname"> 
    1693           </td> 
    1694           <td class="fieldval"> 
    1695             Add recipients and attendees 
    1696           </td> 
    1697         </tr> 
    16981691        <!--  Transparency  --> 
    16991692        <tr> 
     
    17131706              <xsl:value-of select="/bedework/formElements/form/desc/textarea"/> 
    17141707            </textarea> 
     1708          </td> 
     1709        </tr> 
     1710        <!--  Recipients and Attendees  --> 
     1711        <tr> 
     1712          <td class="fieldname"> 
     1713            Recipients &amp;<br/> Attendees: 
     1714          </td> 
     1715          <td class="fieldval posrelative"> 
     1716            <input type="button" value="Add recipients and attendees" onclick="changeClass('recipientsAndAttendees','shown')"/> 
     1717            <!-- the following is the recipients and attendees dialog box --> 
     1718            <div id="recipientsAndAttendees" class="invisible"> 
     1719              <div id="recipientsAndAttendeesBox"> 
     1720                <h4 id="dialogTitle"><!--onmousedown="bwDrag('recipientsAndAttendeesBox')" onmouseup="bwDrop('recipientsAndAttendeesBox')"--> 
     1721                  Recipients and Attendees 
     1722                </h4> 
     1723                <table cellspacing="0"> 
     1724                  <tr> 
     1725                    <td> 
     1726                      <input name="raHolder" width="40"/> 
     1727                      <input type="button" value="add" onclick="postRecipientsAndAttendees('standardForm','{$event-attendeesForEvent}');"/> 
     1728                      <br/> 
     1729                      <input type="checkbox" name="recipient" value="true" checked="checked"/> recipient 
     1730                      <input type="checkbox" name="attendee" value="true" checked="checked"/> attendee 
     1731                    </td> 
     1732                    <td> 
     1733                      Role: 
     1734                      <select name="role"> 
     1735                        <option value="REQ-PARTICIPANT">required participant</option> 
     1736                        <option value="OPT-PARTICIPANT">optional participant</option> 
     1737                        <option value="CHAIR">chair</option> 
     1738                        <option value="NON-PARTICIPANT">non-participant</option> 
     1739                      </select><br/> 
     1740                      Status: 
     1741                      <select name="partstat"> 
     1742                        <option value="NEEDS-ACTION">needs action</option> 
     1743                        <option value="ACCEPTED">accepted</option> 
     1744                        <option value="DECLINED">declined</option> 
     1745                        <option value="TENTATIVE">tentative</option> 
     1746                        <option value="DELEGATED">delegated</option> 
     1747                      </select> 
     1748                    </td> 
     1749                  </tr> 
     1750                </table> 
     1751                <table cellspacing="0"> 
     1752                  <tr> 
     1753                    <th>Recipients</th> 
     1754                    <th>Attendees</th> 
     1755                  </tr> 
     1756                  <tr> 
     1757                    <td> 
     1758                      <div id="recipientList"> 
     1759                      </div> 
     1760                    </td> 
     1761                    <td> 
     1762                      <div id="attendeeList"> 
     1763                      </div> 
     1764                    </td> 
     1765                  </tr> 
     1766                </table> 
     1767                <input type="button" value="done" onclick="changeClass('recipientsAndAttendees','invisible');"/> 
     1768              </div> 
     1769            </div> 
    17151770          </td> 
    17161771        </tr> 
  • trunk/deployment/webuser/webapp/resources/demoskins/resources/includes.js

    r998 r1007  
    143143  } 
    144144} 
     145 
     146 
     147/*var mouseX = 0; 
     148var mouseY = 0; 
     149window.document.onmousemove = getMousePosition(); 
     150function getMousePosition() { 
     151  mouseX = event.clientX + document.body.scrollLeft; 
     152  mouseY = event.clientY + document.body.scrollTop; 
     153}*/ 
     154 
     155function bwDrag(id) { 
     156  box = document.getElementById(id); 
     157} 
     158function bwDrop(id) { 
     159  box = document.getElementById(id); 
     160} 
     161 
     162/****************************************/ 
     163/* AJAX-style asynchronous interactions */ 
     164/****************************************/ 
     165var req; 
     166 
     167function postRecipientsAndAttendees(formId,urlPrefix) { 
     168  formObj = document.getElementById(formId); 
     169 
     170  var val = escape(formObj.raHolder.value); 
     171  var isRecipient = formObj.recipient.checked; 
     172  var isAttendee = formObj.attendee.checked; 
     173  var role = formObj.role.value; 
     174  var status = formObj.partstat.value; 
     175 
     176  var url = urlPrefix; 
     177  url += "&uri=" + val; 
     178  if (isRecipient) { 
     179    url += "&recipient=yes"; 
     180  } 
     181  if (isAttendee) { 
     182    url += "&attendee=yes&role=" + role + "&status=" + status; 
     183  } 
     184 
     185  if (window.XMLHttpRequest) { 
     186    req = new XMLHttpRequest(); 
     187  } else if (window.ActiveXObject) { 
     188    req = new ActiveXObject("Microsoft.XMLHTTP"); 
     189  } 
     190  req.open("GET", url, true); 
     191  req.onreadystatechange = callback(); 
     192  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
     193  req.send(url); 
     194 
     195  /*updateRecipientAndAttendeesListing(req);*/ 
     196} 
     197function callback() { 
     198  if (req.readyState == 4) { 
     199    if (req.status == 200) { 
     200      /*do nothing for now*/ 
     201    } 
     202  } 
     203} 
     204function updateRecipientAndAttendeesListing(req) { 
     205  var recipients = req.responseXML.getElementsByTagName("recipients")[0]; 
     206  var attendees = req.responseXML.getElementsByTagName("attendees")[0]; 
     207  recipientList = document.getElementById("recipientList"); 
     208  attendeeList = document.getElementById("attendeeList"); 
     209  recipientList.innerHTML = recipients; 
     210  attendeeList.innerHTML = attendeeList; 
     211}