Changeset 1466

Show
Ignore:
Timestamp:
07/11/07 14:52:40
Author:
johnsa
Message:

public client: change pop-up widget for calendar export into a page (pop-up widget still optionally available). Needed for better portal support.

Files:

Legend:

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

    r1279 r1466  
    972972  padding: 0 1em; 
    973973} 
    974 #stats { 
     974#stats, 
     975#export { 
    975976  font-size: 0.9em; 
    976977  margin: 0px; 
     
    993994  padding-right: 2em; 
    994995} 
     996.indent { 
     997  margin-left: 1em; 
     998} 
    995999.hidden { 
    9961000  visibility: hidden; 
  • trunk/deployment/webpublic/webapp/resources/demoskins/MainCampus/default/default/default.xsl

    r1392 r1466  
    9292  <xsl:variable name="search" select="/bedework/urlPrefixes/search/search"/> 
    9393  <xsl:variable name="search-next" select="/bedework/urlPrefixes/search/next"/> 
     94  <xsl:variable name="calendar-fetchForExport" select="/bedework/urlPrefixes/calendar/fetchForExport"/> 
    9495  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mail/mailEvent"/> 
    9596  <xsl:variable name="showPage" select="/bedework/urlPrefixes/main/showPage"/> 
     
    127128        <link rel="stylesheet" type="text/css" media="print" href="{$resourcesRoot}/default/default/print.css" /> 
    128129        <!-- load javascript --> 
    129         <xsl:if test="/bedework/page='calendarList'"> 
     130        <xsl:if test="/bedework/page='calendarList' or /bedework/page='displayCalendarForExport'"> 
    130131          <script type="text/javascript" src="{$resourceCommons}/javascript/dojo/dojo.js">&#160;</script> 
    131132          <script type="text/javascript" src="{$resourcesRoot}/resources/javascript/bedework.js">&#160;</script> 
     
    156157            <!-- show a list of all calendars --> 
    157158            <xsl:apply-templates select="/bedework/calendars"/> 
     159          </xsl:when> 
     160          <xsl:when test="/bedework/page='displayCalendarForExport'"> 
     161            <!-- page for calendar export (can optionally be replaced by  
     162                 a pop-up widget; see the calendars template) --> 
     163            <xsl:apply-templates select="/bedework/currentCalendar" mode="export"/> 
    158164          </xsl:when> 
    159165          <xsl:when test="/bedework/page='searchResult'"> 
     
    12491255  </xsl:template> 
    12501256 
    1251   <!--==== CALENDARS PAGE ====--> 
     1257  <!--==== CALENDARS ====--> 
     1258   
     1259  <!-- list of available calendars --> 
    12521260  <xsl:template match="calendars"> 
    12531261    <xsl:variable name="topLevelCalCount" select="count(calendar/calendar)"/> 
     
    12631271            Select a calendar from the list below to see only that calendar's events. 
    12641272          </p> 
     1273          <!-- Uncomment this block, and change the links on the download calendar 
     1274               icon (in the following template) to use a dojo floating  
     1275               widget instead of a separate page 
     1276               for downloading whole calendars (this method does not work  
     1277               portal-agnostically: it is not intended for use in portals).  
     1278                
    12651279          <div dojoType="FloatingPane" id="bwCalendarExportWidget" 
    12661280               title="Export Calendar as iCal" toggle="plain" 
     
    12731287            <strong>Event date limits:</strong> 
    12741288            <form name="exportCalendarForm" id="exportCalendarForm" action="{$export}" method="post"> 
    1275               <!-- this value is passed into the form when the widget is requested --> 
    12761289              <input type="hidden" name="calPath" value=""/> 
    1277               <!-- fill these on submit --> 
    12781290              <input type="hidden" name="eventStartDate.year" value=""/> 
    12791291              <input type="hidden" name="eventStartDate.month" value=""/> 
     
    12821294              <input type="hidden" name="eventEndDate.month" value=""/> 
    12831295              <input type="hidden" name="eventEndDate.day" value=""/> 
    1284               <!-- static fields --> 
    12851296              <input type="hidden" name="nocache" value="no"/> 
    12861297              <input type="hidden" name="skinName" value="ical"/> 
    12871298              <input type="hidden" name="contentType" value="text/calendar"/> 
    12881299              <input type="hidden" name="contentName" value="calendar.ics"/> 
    1289               <!-- visible fields --> 
    12901300              <input type="radio" name="dateLimits" value="active" checked="checked" onclick="changeClass('exportDateRange','invisible')"/> today forward 
    12911301              <input type="radio" name="dateLimits" value="none" onclick="changeClass('exportDateRange','invisible')"/> all dates 
     
    12951305                End: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetEndDate"><xsl:text> </xsl:text></div> 
    12961306              </div> 
    1297               <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields('exportCalendarForm');hideWidget('bwCalendarExportWidget')"/></p> 
     1307              <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields(this.form);hideWidget('bwCalendarExportWidget')"/></p> 
    12981308            </form> 
    1299           </div> 
     1309          </div>--> 
    13001310        </td> 
    13011311      </tr> 
     
    13261336      <a href="{$setSelection}&amp;calUrl={$url}" title="view calendar"><xsl:value-of select="name"/></a> 
    13271337      <xsl:if test="calendarCollection='true'"> 
    1328         <xsl:variable name="name" select="name"/> 
    13291338        <xsl:variable name="calPath" select="path"/> 
    1330         <xsl:variable name="idForCal" select="translate(translate(path,'/','S'),' ','s')"/> 
    13311339        <span class="exportCalLink"> 
     1340          <!-- To use the dojo floating widget from the template above, uncomment  
     1341               this block: 
     1342          <xsl:variable name="name" select="name"/> 
     1343          <xsl:variable name="idForCal" select="translate(translate(path,'/','S'),' ','s')"/> 
    13321344          <a href="javascript:launchExportWidget('exportCalendarForm','{$export}','{$name}','{$calPath}')" id="{$idForCal}" title="export calendar as iCal"> 
     1345            <img src="{$resourcesRoot}/images/calIconExport-sm.gif" width="13" height="13" alt="export calendar" border="0"/> 
     1346          </a> --> 
     1347          <a href="{$calendar-fetchForExport}&amp;calPath={$calPath}" title="export calendar as iCal"> 
    13331348            <img src="{$resourcesRoot}/images/calIconExport-sm.gif" width="13" height="13" alt="export calendar" border="0"/> 
    13341349          </a> 
     
    13431358  </xsl:template> 
    13441359 
     1360  <!-- calendar export page --> 
     1361  <xsl:template match="currentCalendar" mode="export"> 
     1362    <h2 class="bwStatusConfirmed">Export Calendar</h2> 
     1363    <div id="export"> 
     1364      <p> 
     1365        <strong>Calendar to export:</strong> 
     1366      </p> 
     1367      <div class="indent"> 
     1368        Name: <strong><em><xsl:value-of select="name"/></em></strong><br/> 
     1369        Path: <xsl:value-of select="path"/> 
     1370      </div> 
     1371      <p> 
     1372        <strong>Event date limits:</strong> 
     1373      </p> 
     1374      <form name="exportCalendarForm" id="exportCalendarForm" action="{$export}" method="post"> 
     1375        <input type="hidden" name="calPath"> 
     1376          <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute> 
     1377        </input> 
     1378        <!-- fill these on submit --> 
     1379        <input type="hidden" name="eventStartDate.year" value=""/> 
     1380        <input type="hidden" name="eventStartDate.month" value=""/> 
     1381        <input type="hidden" name="eventStartDate.day" value=""/> 
     1382        <input type="hidden" name="eventEndDate.year" value=""/> 
     1383        <input type="hidden" name="eventEndDate.month" value=""/> 
     1384        <input type="hidden" name="eventEndDate.day" value=""/> 
     1385        <!-- static fields --> 
     1386        <input type="hidden" name="nocache" value="no"/> 
     1387        <input type="hidden" name="skinName" value="ical"/> 
     1388        <input type="hidden" name="contentType" value="text/calendar"/> 
     1389        <input type="hidden" name="contentName"> 
     1390          <xsl:attribute name="value"><xsl:value-of select="name"/>.ics</xsl:attribute> 
     1391        </input> 
     1392        <!-- visible fields --> 
     1393        <input type="radio" name="dateLimits" value="active" checked="checked" onclick="changeClass('exportDateRange','invisible')"/> today forward 
     1394        <input type="radio" name="dateLimits" value="none" onclick="changeClass('exportDateRange','invisible')"/> all dates 
     1395        <input type="radio" name="dateLimits" value="limited" onclick="changeClass('exportDateRange','visible')"/> date range 
     1396        <div id="exportDateRange" class="invisible"> 
     1397          Start: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetStartDate"><xsl:text> </xsl:text></div> 
     1398          End: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetEndDate"><xsl:text> </xsl:text></div> 
     1399        </div> 
     1400        <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields(this.form)"/></p> 
     1401      </form> 
     1402    </div> 
     1403  </xsl:template> 
     1404   
    13451405  <!--==== SEARCH RESULT ====--> 
    13461406  <xsl:template name="searchResult"> 
  • trunk/deployment/webpublic/webapp/resources/demoskins/MainCampus/default/default/green.css

    r1279 r1466  
    975975  padding: 0 1em; 
    976976} 
    977 #stats { 
     977#stats, 
     978#export { 
    978979  font-size: 0.9em; 
    979980  margin: 0px; 
     
    996997  padding-right: 2em; 
    997998} 
     999.indent { 
     1000  margin-left: 1em; 
     1001} 
    9981002.hidden { 
    9991003  visibility: hidden; 
  • trunk/deployment/webpublic/webapp/resources/demoskins/MainCampus/default/default/red.css

    r1279 r1466  
    976976  padding: 0 1em; 
    977977} 
    978 #stats { 
     978#stats, 
     979#export { 
    979980  font-size: 0.9em; 
    980981  margin: 0px; 
     
    997998  padding-right: 2em; 
    998999} 
     1000.indent { 
     1001  margin-left: 1em; 
     1002} 
    9991003.hidden { 
    10001004  visibility: hidden; 
  • trunk/deployment/webpublic/webapp/resources/demoskins/MainCampus/resources/javascript/bedework.js

    r1223 r1466  
    1616  document.getElementById('bwCalendarExportWidgetCalName').innerHTML = name; 
    1717} 
    18 function fillExportFields(formId) { 
    19   var formObj = document.getElementById(formId); 
     18function fillExportFields(formObj) { 
    2019  var startDate = new Date(); 
    2120  startDate = dojo.widget.byId("bwExportCalendarWidgetStartDate").getDate(); 
  • trunk/deployment/webpublic/webapp/resources/demoskins/SoEDepartmental/default/default/default.xsl

    r1392 r1466  
    103103  <xsl:variable name="search" select="/bedework/urlPrefixes/search/search"/> 
    104104  <xsl:variable name="search-next" select="/bedework/urlPrefixes/search/next"/> 
     105  <xsl:variable name="calendar-fetchForExport" select="/bedework/urlPrefixes/calendar/fetchForExport"/> 
    105106  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mail/mailEvent"/> 
    106107  <xsl:variable name="showPage" select="/bedework/urlPrefixes/main/showPage"/> 
     
    126127        <link rel="stylesheet" href="{$resourcesRoot}/default/default/subColors.css"/> 
    127128        <!-- load javascript --> 
    128         <xsl:if test="/bedework/page='calendarList'"> 
     129        <xsl:if test="/bedework/page='calendarList' or /bedework/page='displayCalendarForExport'"> 
    129130          <script type="text/javascript" src="{$resourceCommons}/javascript/dojo/dojo.js">&#160;</script> 
    130131          <script type="text/javascript" src="{$resourcesRoot}/resources/javascript/bedework.js">&#160;</script> 
     
    155156            <!-- show a list of all calendars --> 
    156157            <xsl:apply-templates select="/bedework/calendars"/> 
     158          </xsl:when> 
     159          <xsl:when test="/bedework/page='displayCalendarForExport'"> 
     160            <!-- page for calendar export (can optionally be replaced by  
     161                 a pop-up widget; see the calendars template) --> 
     162            <xsl:apply-templates select="/bedework/currentCalendar" mode="export"/> 
    157163          </xsl:when> 
    158164          <xsl:when test="/bedework/page='searchResult'"> 
     
    12511257  </xsl:template> 
    12521258 
    1253   <!--==== CALENDARS PAGE ====--> 
     1259  <!--==== CALENDARS ====--> 
     1260   
     1261  <!-- list of available calendars --> 
    12541262  <xsl:template match="calendars"> 
    12551263    <xsl:variable name="topLevelCalCount" select="count(calendar/calendar)"/> 
     
    12651273            Select a calendar from the list below to see only that calendar's events. 
    12661274          </p> 
     1275          <!-- Uncomment this block, and change the links on the download calendar 
     1276               icon (in the following template) to use a dojo floating  
     1277               widget instead of a separate page 
     1278               for downloading whole calendars (this method does not work  
     1279               portal-agnostically: it is not intended for use in portals).  
     1280                
    12671281          <div dojoType="FloatingPane" id="bwCalendarExportWidget" 
    12681282               title="Export Calendar as iCal" toggle="plain" 
     
    12751289            <strong>Event date limits:</strong> 
    12761290            <form name="exportCalendarForm" id="exportCalendarForm" action="{$export}" method="post"> 
    1277               <!-- this value is passed into the form when the widget is requested --> 
    12781291              <input type="hidden" name="calPath" value=""/> 
    1279               <!-- fill these on submit --> 
    12801292              <input type="hidden" name="eventStartDate.year" value=""/> 
    12811293              <input type="hidden" name="eventStartDate.month" value=""/> 
     
    12841296              <input type="hidden" name="eventEndDate.month" value=""/> 
    12851297              <input type="hidden" name="eventEndDate.day" value=""/> 
    1286               <!-- static fields --> 
    12871298              <input type="hidden" name="nocache" value="no"/> 
    12881299              <input type="hidden" name="skinName" value="ical"/> 
    12891300              <input type="hidden" name="contentType" value="text/calendar"/> 
    12901301              <input type="hidden" name="contentName" value="calendar.ics"/> 
    1291               <!-- visible fields --> 
    12921302              <input type="radio" name="dateLimits" value="active" checked="checked" onclick="changeClass('exportDateRange','invisible')"/> today forward 
    12931303              <input type="radio" name="dateLimits" value="none" onclick="changeClass('exportDateRange','invisible')"/> all dates 
     
    12971307                End: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetEndDate"><xsl:text> </xsl:text></div> 
    12981308              </div> 
    1299               <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields('exportCalendarForm');hideWidget('bwCalendarExportWidget')"/></p> 
     1309              <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields(this.form);hideWidget('bwCalendarExportWidget')"/></p> 
    13001310            </form> 
    1301           </div> 
     1311          </div>--> 
    13021312        </td> 
    13031313      </tr> 
     
    13281338      <a href="{$setSelection}&amp;calUrl={$url}" title="view calendar"><xsl:value-of select="name"/></a> 
    13291339      <xsl:if test="calendarCollection='true'"> 
    1330         <xsl:variable name="name" select="name"/> 
    13311340        <xsl:variable name="calPath" select="path"/> 
    1332         <xsl:variable name="idForCal" select="translate(translate(path,'/','S'),' ','s')"/> 
    13331341        <span class="exportCalLink"> 
     1342          <!-- To use the dojo floating widget from the template above, uncomment  
     1343               this block: 
     1344          <xsl:variable name="name" select="name"/> 
     1345          <xsl:variable name="idForCal" select="translate(translate(path,'/','S'),' ','s')"/> 
    13341346          <a href="javascript:launchExportWidget('exportCalendarForm','{$export}','{$name}','{$calPath}')" id="{$idForCal}" title="export calendar as iCal"> 
     1347            <img src="{$resourcesRoot}/images/calIconExport-sm.gif" width="13" height="13" alt="export calendar" border="0"/> 
     1348          </a> --> 
     1349          <a href="{$calendar-fetchForExport}&amp;calPath={$calPath}" title="export calendar as iCal"> 
    13351350            <img src="{$resourcesRoot}/images/calIconExport-sm.gif" width="13" height="13" alt="export calendar" border="0"/> 
    13361351          </a> 
     
    13431358      </xsl:if> 
    13441359    </li> 
     1360  </xsl:template> 
     1361   
     1362  <!-- calendar export page --> 
     1363  <xsl:template match="currentCalendar" mode="export"> 
     1364    <h2 class="bwStatusConfirmed">Export Calendar</h2> 
     1365    <div id="export"> 
     1366      <p> 
     1367        <strong>Calendar to export:</strong> 
     1368      </p> 
     1369      <div class="indent"> 
     1370        Name: <strong><em><xsl:value-of select="name"/></em></strong><br/> 
     1371        Path: <xsl:value-of select="path"/> 
     1372      </div> 
     1373      <p> 
     1374        <strong>Event date limits:</strong> 
     1375      </p> 
     1376      <form name="exportCalendarForm" id="exportCalendarForm" action="{$export}" method="post"> 
     1377        <input type="hidden" name="calPath"> 
     1378          <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute> 
     1379        </input> 
     1380        <!-- fill these on submit --> 
     1381        <input type="hidden" name="eventStartDate.year" value=""/> 
     1382        <input type="hidden" name="eventStartDate.month" value=""/> 
     1383        <input type="hidden" name="eventStartDate.day" value=""/> 
     1384        <input type="hidden" name="eventEndDate.year" value=""/> 
     1385        <input type="hidden" name="eventEndDate.month" value=""/> 
     1386        <input type="hidden" name="eventEndDate.day" value=""/> 
     1387        <!-- static fields --> 
     1388        <input type="hidden" name="nocache" value="no"/> 
     1389        <input type="hidden" name="skinName" value="ical"/> 
     1390        <input type="hidden" name="contentType" value="text/calendar"/> 
     1391        <input type="hidden" name="contentName"> 
     1392          <xsl:attribute name="value"><xsl:value-of select="name"/>.ics</xsl:attribute> 
     1393        </input> 
     1394        <!-- visible fields --> 
     1395        <input type="radio" name="dateLimits" value="active" checked="checked" onclick="changeClass('exportDateRange','invisible')"/> today forward 
     1396        <input type="radio" name="dateLimits" value="none" onclick="changeClass('exportDateRange','invisible')"/> all dates 
     1397        <input type="radio" name="dateLimits" value="limited" onclick="changeClass('exportDateRange','visible')"/> date range 
     1398        <div id="exportDateRange" class="invisible"> 
     1399          Start: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetStartDate"><xsl:text> </xsl:text></div> 
     1400          End: <div dojoType="dropdowndatepicker" formatLength="medium" saveFormat="yyyyMMdd" id="bwExportCalendarWidgetEndDate"><xsl:text> </xsl:text></div> 
     1401        </div> 
     1402        <p><input type="submit" value="export" class="bwWidgetSubmit" onclick="fillExportFields(this.form)"/></p> 
     1403      </form> 
     1404    </div> 
    13451405  </xsl:template> 
    13461406 
  • trunk/deployment/webpublic/webapp/resources/demoskins/SoEDepartmental/default/default/soe.css

    r1353 r1466  
    970970  padding: 0 1em; 
    971971} 
    972 #stats { 
     972#stats, 
     973#export { 
    973974  font-size: 0.9em; 
    974975  margin: 0px; 
    975976  padding: 1em; 
    976   border-bottom: 2px solid #aaa; 
    977   border-left: 2px solid #aaa; 
    978   border-right: 2px solid #aaa; 
     977  border-bottom: 2px solid #000; 
     978  border-left: 2px solid #000; 
     979  border-right: 2px solid #000; 
     980  background-color: white; 
     981  color: black; 
    979982} 
    980983#statsTable { 
     
    990993  text-align: right; 
    991994  padding-right: 2em; 
     995} 
     996.indent { 
     997  margin-left: 1em; 
    992998} 
    993999.hidden { 
  • trunk/deployment/webpublic/webapp/resources/demoskins/SoEDepartmental/resources/javascript/bedework.js

    r1220 r1466  
    1717} 
    1818function fillExportFields(formId) { 
    19   var formObj = document.getElementById(formId); 
    2019  var startDate = new Date(); 
    2120  startDate = dojo.widget.byId("bwExportCalendarWidgetStartDate").getDate();