[Bedework-commit] bedework r1856 - in releases/bedework-3.4.1.1/deployment: webadmin/webapp/resources/default/default webadmin/webapp/resources/resources websubmit/webapp/resources/demoskins/default/default websubmit/webapp/resources/demoskins/resources webuser/webapp/resources/demoskins/default/default webuser/webapp/resources/demoskins/resources

svnadmin at bedework.org svnadmin at bedework.org
Wed Apr 23 17:18:58 EDT 2008


Author: johnsa
Date: 2008-04-23 17:18:56 -0400 (Wed, 23 Apr 2008)
New Revision: 1856

Modified:
   releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/default/default/default.xsl
   releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bedeworkXProperties.js
   releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bwClock.js
   releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/default/default/default.xsl
   releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/resources/bedeworkXProperties.js
   releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl
   releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/resources/bedeworkXProperties.js
Log:
web clients: more xprop support

Modified: releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/default/default/default.xsl
===================================================================
--- releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/default/default/default.xsl	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/default/default/default.xsl	2008-04-23 21:18:56 UTC (rev 1856)
@@ -245,8 +245,8 @@
               </xsl:for-each>
             }
             function initXProperties() {
-              <xsl:for-each select="form/xproperties/node()">
-                bwXprops.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']</xsl:for-each>],"<xsl:value-of select="values/text"/>");
+              <xsl:for-each select="/bedework/formElements/form/xproperties/node()">
+                bwXProps.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],'<xsl:call-template name="escapeApos"><xsl:with-param name="str"><xsl:value-of select="values/text"/></xsl:with-param></xsl:call-template>');
               </xsl:for-each>
             }
             </xsl:comment>
@@ -1059,7 +1059,8 @@
         <h4>Comments from Submitter</h4>
         <a href="javascript:toggleVisibility('bwSubmittedEventComment','visible');" class="toggle">show/hide</a>
         <a href="javascript:bwSubmitComment.launch();" class="toggle">pop-up</a>
-        <div id="bwSubmittedEventComment">
+        <div id="bwSubmittedEventComment">
+          <xsl:if test="/bedework/page = 'modEvent'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if>
         </div>
       </div>
       <script type="text/javascript">
@@ -1280,10 +1281,10 @@
               <strong>End:</strong>
               <xsl:choose>
                 <xsl:when test="form/end/type='E'">
-                  <input type="radio" name="eventEndType" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
+                  <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
                 </xsl:when>
                 <xsl:otherwise>
-                  <input type="radio" name="eventEndType" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
+                  <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
                 </xsl:otherwise>
               </xsl:choose>
               Date

Modified: releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bedeworkXProperties.js
===================================================================
--- releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bedeworkXProperties.js	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bedeworkXProperties.js	2008-04-23 21:18:56 UTC (rev 1856)
@@ -45,6 +45,7 @@
 var bwXParamPhone = "X-BEDEWORK-PARAM-PHONE";
 var bwXParamEmail = "X-BEDEWORK-PARAM-EMAIL";
 
+
 // ========================================================================
 // x-property functions
 // ========================================================================
@@ -68,8 +69,8 @@
       for (var i = 0; i < this.params.length; i++) {
         if (this.params[i][1] != "") {
           curXparams += ";" + this.params[i][0];
-          // if parameter values contain ";" or ":" they must be quoted
-          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1) {
+          // if parameter values contain ";" or ":" or "," they must be quoted
+          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1 || this.params[i][1].indexOf(",") != -1) {
             curXparams += "=\"" + this.params[i][1] + "\"";
           } else {
             curXparams += "=" + this.params[i][1];
@@ -103,26 +104,21 @@
         params[i][1] = strippedParamValue;
       }
     }
+
     // add or update the xproperty:
     var xprop = new BwXProperty(name, params, value);
-    if (isUnique && this.contains(name)) {
+    if (isUnique) {
       index = this.getIndex(name);
-      xproperties.splice(index,1,xprop);
+      if (index < 0) {
+        xproperties.push(xprop);
+      } else {
+        xproperties.splice(index,1,xprop);
+      }
     } else {
       xproperties.push(xprop);
     }
   }
 
-  this.contains = function(name) {
-    for (var i = 0; i < xproperties.length; i++) {
-      var curXprop = xproperties[i];
-      if (curXprop.name == name) {
-        return true;
-      }
-    }
-    return false;
-  }
-
   this.getIndex = function(name) {
     for (var i = 0; i < xproperties.length; i++) {
       var curXprop = xproperties[i];
@@ -130,9 +126,10 @@
         return i;
       }
     }
-    return null;
+    return -1;
   }
 
+
   this.generate = function(formObj) {
     for (var i = 0; i < xproperties.length; i++) {
       var xpropField = formObj.appendChild(document.createElement("input"));

Modified: releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bwClock.js
===================================================================
--- releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bwClock.js	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/webadmin/webapp/resources/resources/bwClock.js	2008-04-23 21:18:56 UTC (rev 1856)
@@ -19,9 +19,12 @@
     bwClockIndicator = document.getElementById("bwClockDateTypeIndicator");
     bwClockSwitch = document.getElementById("bwClockSwitch");
     document.getElementById("bwClockTime").innerHTML = "select time";
+    //var isEndDateTime = document.getElementById("bwEndDateTimeButton").checked;
     if (type == 'eventStartDate') {
       bwClockIndicator.innerHTML = "Start Time";
-      bwClockSwitch.innerHTML = '<a href="javascript:bwClockLaunch(\'eventEndDate\');">switch to end</a>';
+    //  if (isEndDateTime) {
+        bwClockSwitch.innerHTML = '<a href="javascript:bwClockLaunch(\'eventEndDate\');">switch to end</a>';
+    //  }
     } else {
       bwClockIndicator.innerHTML = "End Time";
       bwClockSwitch.innerHTML = '<a href="javascript:bwClockLaunch(\'eventStartDate\');">switch to start</a>';
@@ -36,7 +39,7 @@
 function bwClockUpdateDateTimeForm(valType,val,hour24) {
   // valType: "hour" or "minute"
   // val: hour or minute value as integer
-  // hour24: true (24hr clock) or false (12hr clock + am/pm) 
+  // hour24: true (24hr clock) or false (12hr clock + am/pm)
   if (bwClockRequestedType) {
     try {
       if (valType == 'minute') {

Modified: releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/default/default/default.xsl
===================================================================
--- releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/default/default/default.xsl	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/default/default/default.xsl	2008-04-23 21:18:56 UTC (rev 1856)
@@ -177,8 +177,8 @@
         </xsl:for-each>
       }
       function initXProperties() {
-        <xsl:for-each select="form/xproperties/node()">
-          bwXprops.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']</xsl:for-each>],"<xsl:value-of select="values/text"/>");
+        <xsl:for-each select="/bedework/formElements/form/xproperties/node()">
+          bwXProps.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],'<xsl:call-template name="escapeApos"><xsl:with-param name="str"><xsl:value-of select="values/text"/></xsl:with-param></xsl:call-template>');
         </xsl:for-each>
       }
       </xsl:comment>
@@ -1492,8 +1492,39 @@
     </xsl:choose>
   </xsl:template>
 
+  <!--==== FOOTER ====-->
+  <xsl:template name="footer">
+    <div id="footer">
+      Demonstration calendar; place footer information here.
+    </div>
+    <div id="subfoot">
+      <a href="http://www.bedework.org/">Bedework Website</a> |
+      <a href="?noxslt=yes">show XML</a> |
+      <a href="?refreshXslt=yes">refresh XSLT</a>
+    </div>
+  </xsl:template>
+
+  <!--==== Utility Templates ====-->
+
+  <xsl:template name="escapeApos">
+    <xsl:param name="str"/>
+    <xsl:variable name="apos" select='"&apos;"'/>
+    <xsl:choose>
+      <xsl:when test="contains($str, $apos)">
+         <xsl:value-of select="substring-before($str, $apos)" />
+         <xsl:text>\'</xsl:text>
+         <xsl:call-template name="escapeApos">
+            <xsl:with-param name="str" select="substring-after($str, $apos)" />
+         </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:value-of select="$str" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
   <!-- search and replace template taken from
-       http://www.biglist.com/lists/xsl-list/archives/200211/msg00337.html -->
+     http://www.biglist.com/lists/xsl-list/archives/200211/msg00337.html -->
   <xsl:template name="replace">
     <xsl:param name="string" select="''"/>
     <xsl:param name="pattern" select="''"/>
@@ -1513,16 +1544,4 @@
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
-
-  <!--==== FOOTER ====-->
-  <xsl:template name="footer">
-    <div id="footer">
-      Demonstration calendar; place footer information here.
-    </div>
-    <div id="subfoot">
-      <a href="http://www.bedework.org/">Bedework Website</a> |
-      <a href="?noxslt=yes">show XML</a> |
-      <a href="?refreshXslt=yes">refresh XSLT</a>
-    </div>
-  </xsl:template>
 </xsl:stylesheet>

Modified: releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/resources/bedeworkXProperties.js
===================================================================
--- releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/resources/bedeworkXProperties.js	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/websubmit/webapp/resources/demoskins/resources/bedeworkXProperties.js	2008-04-23 21:18:56 UTC (rev 1856)
@@ -69,8 +69,8 @@
       for (var i = 0; i < this.params.length; i++) {
         if (this.params[i][1] != "") {
           curXparams += ";" + this.params[i][0];
-          // if parameter values contain ";" or ":" they must be quoted
-          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1) {
+          // if parameter values contain ";" or ":" or "," they must be quoted
+          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1 || this.params[i][1].indexOf(",") != -1) {
             curXparams += "=\"" + this.params[i][1] + "\"";
           } else {
             curXparams += "=" + this.params[i][1];
@@ -104,26 +104,21 @@
         params[i][1] = strippedParamValue;
       }
     }
+
     // add or update the xproperty:
     var xprop = new BwXProperty(name, params, value);
-    if (isUnique && this.contains(name)) {
+    if (isUnique) {
       index = this.getIndex(name);
-      xproperties.splice(index,1,xprop);
+      if (index < 0) {
+        xproperties.push(xprop);
+      } else {
+        xproperties.splice(index,1,xprop);
+      }
     } else {
       xproperties.push(xprop);
     }
   }
 
-  this.contains = function(name) {
-    for (var i = 0; i < xproperties.length; i++) {
-      var curXprop = xproperties[i];
-      if (curXprop.name == name) {
-        return true;
-      }
-    }
-    return false;
-  }
-
   this.getIndex = function(name) {
     for (var i = 0; i < xproperties.length; i++) {
       var curXprop = xproperties[i];
@@ -131,9 +126,10 @@
         return i;
       }
     }
-    return null;
+    return -1;
   }
 
+
   this.generate = function(formObj) {
     for (var i = 0; i < xproperties.length; i++) {
       var xpropField = formObj.appendChild(document.createElement("input"));

Modified: releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl
===================================================================
--- releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl	2008-04-23 21:18:56 UTC (rev 1856)
@@ -404,8 +404,8 @@
           </xsl:for-each>
         }
         function initXProperties() {
-          <xsl:for-each select="form/xproperties/node()">
-            bwXprops.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']</xsl:for-each>],"<xsl:value-of select="values/text"/>");
+          <xsl:for-each select="/bedework/formElements/form/xproperties/node()">
+            bwXProps.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],'<xsl:call-template name="escapeApos"><xsl:with-param name="str"><xsl:value-of select="values/text"/></xsl:with-param></xsl:call-template>');
           </xsl:for-each>
         }
         </xsl:comment>
@@ -7963,28 +7963,6 @@
      </xsl:choose><!--
 --></xsl:template>
 
-  <!-- search and replace template taken from
-       http://www.biglist.com/lists/xsl-list/archives/200211/msg00337.html -->
-  <xsl:template name="replace">
-    <xsl:param name="string" select="''"/>
-    <xsl:param name="pattern" select="''"/>
-    <xsl:param name="replacement" select="''"/>
-    <xsl:choose>
-      <xsl:when test="$pattern != '' and $string != '' and contains($string, $pattern)">
-        <xsl:value-of select="substring-before($string, $pattern)"/>
-        <xsl:copy-of select="$replacement"/>
-        <xsl:call-template name="replace">
-          <xsl:with-param name="string" select="substring-after($string, $pattern)"/>
-          <xsl:with-param name="pattern" select="$pattern"/>
-          <xsl:with-param name="replacement" select="$replacement"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$string"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
   <!--==== FOOTER ====-->
   <xsl:template name="footer">
     <div id="footer">
@@ -8011,4 +7989,45 @@
       </tr>
     </table>
   </xsl:template>
+
+  <!--==== Utility Templates ====-->
+
+  <xsl:template name="escapeApos">
+    <xsl:param name="str"/>
+    <xsl:variable name="apos" select='"&apos;"'/>
+    <xsl:choose>
+      <xsl:when test="contains($str, $apos)">
+         <xsl:value-of select="substring-before($str, $apos)" />
+         <xsl:text>\'</xsl:text>
+         <xsl:call-template name="escapeApos">
+            <xsl:with-param name="str" select="substring-after($str, $apos)" />
+         </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:value-of select="$str" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- search and replace template taken from
+       http://www.biglist.com/lists/xsl-list/archives/200211/msg00337.html -->
+  <xsl:template name="replace">
+    <xsl:param name="string" select="''"/>
+    <xsl:param name="pattern" select="''"/>
+    <xsl:param name="replacement" select="''"/>
+    <xsl:choose>
+      <xsl:when test="$pattern != '' and $string != '' and contains($string, $pattern)">
+        <xsl:value-of select="substring-before($string, $pattern)"/>
+        <xsl:copy-of select="$replacement"/>
+        <xsl:call-template name="replace">
+          <xsl:with-param name="string" select="substring-after($string, $pattern)"/>
+          <xsl:with-param name="pattern" select="$pattern"/>
+          <xsl:with-param name="replacement" select="$replacement"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$string"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
 </xsl:stylesheet>

Modified: releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/resources/bedeworkXProperties.js
===================================================================
--- releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/resources/bedeworkXProperties.js	2008-04-23 14:42:36 UTC (rev 1855)
+++ releases/bedework-3.4.1.1/deployment/webuser/webapp/resources/demoskins/resources/bedeworkXProperties.js	2008-04-23 21:18:56 UTC (rev 1856)
@@ -45,6 +45,7 @@
 var bwXParamPhone = "X-BEDEWORK-PARAM-PHONE";
 var bwXParamEmail = "X-BEDEWORK-PARAM-EMAIL";
 
+
 // ========================================================================
 // x-property functions
 // ========================================================================
@@ -68,8 +69,8 @@
       for (var i = 0; i < this.params.length; i++) {
         if (this.params[i][1] != "") {
           curXparams += ";" + this.params[i][0];
-          // if parameter values contain ";" or ":" they must be quoted
-          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1) {
+          // if parameter values contain ";" or ":" or "," they must be quoted
+          if (this.params[i][1].indexOf(":") != -1 || this.params[i][1].indexOf(";") != -1 || this.params[i][1].indexOf(",") != -1) {
             curXparams += "=\"" + this.params[i][1] + "\"";
           } else {
             curXparams += "=" + this.params[i][1];
@@ -103,26 +104,21 @@
         params[i][1] = strippedParamValue;
       }
     }
+
     // add or update the xproperty:
     var xprop = new BwXProperty(name, params, value);
-    if (isUnique && this.contains(name)) {
+    if (isUnique) {
       index = this.getIndex(name);
-      xproperties.splice(index,1,xprop);
+      if (index < 0) {
+        xproperties.push(xprop);
+      } else {
+        xproperties.splice(index,1,xprop);
+      }
     } else {
       xproperties.push(xprop);
     }
   }
 
-  this.contains = function(name) {
-    for (var i = 0; i < xproperties.length; i++) {
-      var curXprop = xproperties[i];
-      if (curXprop.name == name) {
-        return true;
-      }
-    }
-    return false;
-  }
-
   this.getIndex = function(name) {
     for (var i = 0; i < xproperties.length; i++) {
       var curXprop = xproperties[i];
@@ -130,9 +126,10 @@
         return i;
       }
     }
-    return null;
+    return -1;
   }
 
+
   this.generate = function(formObj) {
     for (var i = 0; i < xproperties.length; i++) {
       var xpropField = formObj.appendChild(document.createElement("input"));



More information about the Bedework-commit mailing list