Changes for page Solr Search Macros
Last modified by Administrator on 2025/09/06 09:59
From version
2.1


edited by Administrator
on 2019/11/04 23:53
on 2019/11/04 23:53
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-search-solr-ui/10.11.9]
To version
6.1

edited by Administrator
on 2025/09/06 09:59
on 2025/09/06 09:59
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-search-solr-ui/16.10.11]
Summary
Details
- Page properties
-
- Content
-
... ... @@ -29,7 +29,10 @@ 29 29 </div> 30 30 <div class="col-xs-12 col-sm-6"> 31 31 <div class="input-group"> 32 - <input type="search" name="text" class="form-control withTip useTitleAsTip" 32 + <label class='sr-only' for='search-page-bar-input'> 33 + $services.localization.render('search.page.bar.query.title') 34 + </label> 35 + <input id='search-page-bar-input' type='search' name='text' class='form-control withTip useTitleAsTip' 33 33 title="$services.localization.render('search.page.bar.query.title')" value="$escapetool.xml($text)"/> 34 34 <span class="input-group-btn"> 35 35 <button type="submit" class="btn btn-primary"> ... ... @@ -178,11 +178,18 @@ 178 178 #else 179 179 #set ($facetPrettyName = $facetField.name) 180 180 #end 181 - <div class="search-facet-header">$escapetool.xml($facetPrettyName)</div> 184 + <div class="search-facet-header"> 185 + <span id="$escapetool.xml($facetField.name)-toggler-hint">$escapetool.xml($facetPrettyName)</span> 186 + <button class="btn btn-xs facet-toggler" 187 + aria-controls="$escapetool.xml($facetField.name)-dropdown" 188 + aria-labelledby="$escapetool.xml($facetField.name)-toggler-hint"> 189 + $services.icon.renderHTML('caret-down') 190 + </button> 191 + </div> 182 182 #end 183 183 184 184 #macro (displaySearchFacetBody $facetField) 185 - <div class="search-facet-body"> 195 + <div id="$escapetool.xml($facetField.name)-dropdown" class="search-facet-body"> 186 186 #set ($facetDisplayer = $solrConfig.facetDisplayers.get($facetField.name)) 187 187 #if (!$facetDisplayer && $facetField.name.startsWith('property.')) 188 188 ## Choose a facet displayer based on the property type. ... ... @@ -214,7 +214,7 @@ 214 214 215 215 #macro (displaySearchFacetValuesLimited $facetValues $customQueryStringParameters $customValueDisplayer) 216 216 #set ($limitRequestParameter = "l_$facetField.name") 217 - #set ($limit = $m athtool.toInteger($request.getParameter($limitRequestParameter)))227 + #set ($limit = $numbertool.toNumber($request.getParameter($limitRequestParameter)).intValue()) 218 218 #if ("$!limit" == '') 219 219 #set ($limit = $solrConfig.facetPaginationStep) 220 220 #end ... ... @@ -232,6 +232,10 @@ 232 232 #end 233 233 234 234 #macro (displaySearchFacetValue $facetValue $customQueryStringParameters $customValueDisplayer) 245 + #displaySearchFacetValue($facetValue $customQueryStringParameters $customValueDisplayer false) 246 +#end 247 + 248 +#macro (displaySearchFacetValue $facetValue $customQueryStringParameters $customValueDisplayer $displayToggler) 235 235 #set ($selectedValues = []) 236 236 #if ($facetRequestValues) 237 237 #set ($discard = $selectedValues.addAll($facetRequestValues.subList(0, $facetRequestValues.size()))) ... ... @@ -246,7 +246,6 @@ 246 246 #set ($discard = $queryStringParameters.putAll($customQueryStringParameters)) 247 247 #end 248 248 #extendQueryString($url $queryStringParameters) 249 - <div class="itemCount">$facetValue.count</div> 250 250 <a href="$url" class="itemName#if ($selected) selected#end#if ($facetValue.name == '') empty#end"> 251 251 #if ($facetValue.name == '') 252 252 #set ($facetPrettyValueKey = "solr.field.${facetField.name}.emptyValue") ... ... @@ -263,7 +263,13 @@ 263 263 $escapetool.xml($facetPrettyValue) 264 264 #end 265 265 </a> 266 - <div class="clearfloats"></div> 279 + <div class="itemCount">$facetValue.count</div> 280 + #if ($displayToggler) 281 + <button class="btn btn-xs facet-value-toggler"> 282 + <span class='sr-only'>$escapetool.xml($facetPrettyValue)</span> 283 + $services.icon.renderHTML('caret-down') 284 + </button> 285 + #end 267 267 #end 268 268 269 269 #** ... ... @@ -298,9 +298,9 @@ 298 298 (% class="search-options" %) 299 299 * {{translation key="solr.options"/}} 300 300 #if($highlightEnabled)#extendQueryString($url {'highlight': [false]})#else#extendQueryString($url {'highlight': [true]})#end 301 - * [[{{translation key="solr.options.highlight"/}}>>path:$url||class="options-item#if($highlightEnabled) active#end" title="$services.localization.render('solr.options.highlight.title')"]] 320 + * [[{{translation key="solr.options.highlight"/}}>>path:${url}||class="options-item#if($highlightEnabled) active#end" title="$services.localization.render('solr.options.highlight.title')"]] 302 302 #if($facetEnabled)#extendQueryString($url {'facet': [false]})#else#extendQueryString($url {'facet': [true]})#end 303 - * [[{{translation key="solr.options.facet"/}}>>path:$url||class="options-item#if($facetEnabled) active#end" title="$services.localization.render('solr.options.facet.title')"]] 322 + * [[{{translation key="solr.options.facet"/}}>>path:${url}||class="options-item#if($facetEnabled) active#end" title="$services.localization.render('solr.options.facet.title')"]] 304 304 305 305 (% class="search-results-sort" %) 306 306 * {{translation key="solr.sortBy"/}} ... ... @@ -315,7 +315,7 @@ 315 315 #set ($targetSortOrder = "#if ($sortOrder == 'asc')desc#{else}asc#end") 316 316 #end 317 317 #extendQueryString($url {'sort': [$entry.key], 'sortOrder': [$targetSortOrder]}) 318 - * [[{{translation key="solr.sortBy.$entry.key"/}}$!sortOrderIndicator>>path:$url||class="$class"]] 337 + * [[{{translation key="solr.sortBy.$entry.key"/}}$!sortOrderIndicator>>path:${url}||class="$class"]] 319 319 #end 320 320 #end 321 321 ... ... @@ -561,7 +561,7 @@ 561 561 'matches': $matches 562 562 })) 563 563 #end 564 - #set ($highlighting = $ sorttool.sort($highlighting, 'priority:desc'))583 + #set ($highlighting = $collectiontool.sort($highlighting, 'priority:desc')) 565 565 #set ($return = $NULL) 566 566 #setVariable("$return" $highlighting) 567 567 #end ... ... @@ -715,7 +715,7 @@ 715 715 #set ($discard = $filters.put($fieldName, $escapedValues)) 716 716 #if ($prefixFacets.contains($fieldName)) 717 717 #set ($parts = $parameter.value.get(0).split('/', 2)) 718 - #set ($length = $m athtool.toInteger($parts.get(0)) + 1)737 + #set ($length = $numbertool.toNumber($parts.get(0)).intValue() + 1) 719 719 #set ($prefix = "$length/$parts.get(1)") 720 720 #set ($discard = $query.bindValue("f.${fieldName}.facet.prefix", $prefix)) 721 721 #set ($discard = $prefixFacets.remove($fieldName)) ... ... @@ -779,11 +779,8 @@ 779 779 #end 780 780 ## 781 781 ## Pagination 782 - #set ($rows = $mathtool.toInteger($request.rows)) 783 - #if ("$!rows" == '') 784 - #set ($rows = 10) 785 - #end 786 - #set ($start = $mathtool.toInteger($request.firstIndex)) 801 + #getAndValidateQueryLimitFromRequest('rows', 10, $rows) 802 + #set ($start = $numbertool.toNumber($request.firstIndex).intValue()) 787 787 #if ("$!start" == '') 788 788 #set ($start = 0) 789 789 #end ... ... @@ -894,8 +894,7 @@ 894 894 ## 895 895 ## Output the feed. 896 896 ## 897 - #set ($discard = $response.setContentType('application/rss+xml')) 898 - $xwiki.feed.getFeedOutput($feed, 'rss_2.0') 913 + #rawResponse($xwiki.feed.getFeedOutput($feed, 'rss_2.0'), 'application/rss+xml') 899 899 #end 900 900 901 901 #macro (handleSolrSearchRequest)