- Timestamp:
- 2012-10-23T13:58:22+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/transform/query-common.xsl
r26278 r26366 7 7 exclude-result-prefixes="java util"> 8 8 9 <xsl:template match="param" mode="calculate-default"> 9 <xsl:template name="param-display"> 10 <xsl:param name="ns">s1.</xsl:param> 11 <xsl:variable name="pvalue"><xsl:call-template name="param-calculate-default"><xsl:with-param name="ns" select="$ns"/></xsl:call-template></xsl:variable> 12 <div class="paramLabel"><xsl:value-of select="displayItem[@name='name']"/></div> 13 <div class="paramValue"> 14 <xsl:apply-templates select="."> 15 <xsl:with-param name="default" select="$pvalue"/> 16 <xsl:with-param name="ns" select="$ns"/> 17 </xsl:apply-templates> 18 </div> 19 <br class="clear"/> 20 </xsl:template> 21 22 <xsl:template name="param-calculate-default" match="param" mode="calculate-default"> 10 23 <xsl:param name="ns">s1.</xsl:param> 11 24 <xsl:variable name="pname"><xsl:value-of select="$ns"/><xsl:value-of select="@name"/></xsl:variable> … … 29 42 </xsl:template> 30 43 44 <!-- invisible params - used by other stuff. in the query form, we set to the default --> 45 <xsl:template match="param[@type='invisible']"> 46 <xsl:param name="ns">s1.</xsl:param> 47 <input type='hidden' name='{$ns}{@name}' value='{@default}'/> 48 </xsl:template> 49 50 <!-- boolean params --> 51 <xsl:template match="param[@type='boolean']"> 52 <xsl:param name="ns">s1.</xsl:param> 53 <xsl:param name="default"/> 54 <select name='{$ns}{@name}'> 55 <option value="0"><xsl:if test="$default='0'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='0']/displayItem[@name='name']"/></option> 56 <option value="1"><xsl:if test="$default='1'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='1']/displayItem[@name='name']"/></option> 57 </select> 58 </xsl:template> 59 60 <!-- integer params --> 61 <xsl:template match="param[@type='integer']"> 62 <xsl:param name="ns">s1.</xsl:param> 63 <xsl:param name="default"/> 64 <input type="text" name="{$ns}{@name}" size="3" value="{$default}"/> 65 </xsl:template> 66 31 67 <!-- single selection enum params --> 32 68 <xsl:template match="param[@type='enum_single']"> … … 50 86 </xsl:choose> 51 87 </xsl:template> 88 <!-- multiple selection enum params --> 89 <!-- how to do defaults for this?? --> 90 <xsl:template match="param[@type='enum_multi']"> 91 <xsl:param name="ns">s1.</xsl:param> 92 <xsl:param name="default"/> 93 <select name="{$ns}{@name}" size="2"> 94 <xsl:attribute name="multiple"></xsl:attribute> 95 <xsl:for-each select="option"> 96 <option value="{@name}"><xsl:if test="contains($default, concat(',', @name, ','))"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option> 97 </xsl:for-each> 98 </select> 99 </xsl:template> 52 100 53 101 <xsl:template match="param[@type='string']"> … … 56 104 <input type="text" name="{$ns}{@name}" size="30" value="{$default}"/> 57 105 </xsl:template> 106 107 108 <!-- large string params --> 109 <xsl:template match="param[@type='text']"> 110 <xsl:param name="ns">s1.</xsl:param> 111 <xsl:param name="default"/> 112 <textarea name="{$ns}{@name}" cols="50" rows="3"><xsl:value-of select='$default'/></textarea> 113 </xsl:template> 114 115 <!-- multi params - params that are combinations of other params --> 116 <xsl:template match="param[@type='multi']"> 117 <xsl:param name="ns">s1.</xsl:param> 118 <xsl:variable name="parent" select="@name"/> 119 120 <table> 121 <tr class="queryfieldheading"> 122 <xsl:value-of select="displayItem[@name='name']"/> 123 <xsl:for-each select="param"> 124 <td class="queryfieldname"><xsl:value-of select="displayItem[@name='name']"/></td> 125 </xsl:for-each> 126 </tr> 127 <xsl:apply-templates select="." mode="contents"> 128 <xsl:with-param name="occurs" select="@occurs"/> 129 <xsl:with-param name="ns" select="$ns"/> 130 </xsl:apply-templates> 131 </table> 132 133 </xsl:template> 134 135 <xsl:template match="param[@type = 'checkbox_list']"> 136 <xsl:param name="ns">s1.</xsl:param> 137 <ul class="checkboxList"> 138 <xsl:for-each select="option"> 139 <li><input type="checkbox" name="{$ns}{../@name}" value="{@name}"/><xsl:value-of select="displayItem"/></li> 140 </xsl:for-each> 141 </ul> 142 </xsl:template> 143 144 <xsl:template match="param[@type='multi']" mode="contents"> 145 <xsl:param name="ns">s1.</xsl:param> 146 <xsl:param name="occurs">1</xsl:param> 147 <xsl:variable name="pos" select="@occurs - $occurs"/> 148 <tr class="queryfieldrow"> 149 <xsl:for-each select="param"> 150 <xsl:variable name="pname"><xsl:value-of select="$ns"/><xsl:value-of select="@name"/></xsl:variable> 151 <xsl:variable name="values" select="/page/pageRequest/paramList/param[@name=$pname]/@value"/> 152 <td class="queryfieldcell"> 153 <xsl:choose> 154 <xsl:when test="not(@ignore) or @ignore != $pos"> 155 <xsl:apply-templates select="."><xsl:with-param name="default" select="java:org.greenstone.gsdl3.util.XSLTUtil.getNumberedItem($values, $pos)"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates> 156 </xsl:when> 157 <xsl:otherwise><!-- put in a hidden placeholder --> 158 <input type="hidden" name='{$ns}{@name}' value=''/> 159 </xsl:otherwise> 160 </xsl:choose> 161 </td> 162 </xsl:for-each> 163 </tr> 164 165 <!-- recursively call this template to get multiple entries --> 166 <xsl:if test="$occurs > 1"> 167 <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="$occurs - 1"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates> 168 </xsl:if> 169 </xsl:template> 170 58 171 </xsl:stylesheet>
Note:
See TracChangeset
for help on using the changeset viewer.