Index: trunk/wiki/src/main/resources/Main/LuceneSearch.xml =================================================================== --- trunk/wiki/src/main/resources/Main/LuceneSearch.xml (revision 19326) +++ trunk/wiki/src/main/resources/Main/LuceneSearch.xml (working copy) @@ -12,9 +12,9 @@ XWiki.Admin 1186588178000 -1233322267000 -1233322267000 -1.1 +1241464862000 +1241464862000 +2.1 @@ -52,12 +52,13 @@ Main.LuceneSearch 0 XWiki.TagClass -3bc74fac-9e22-46d3-9faf-63db47678fa3 +69cbe7c3-e6a1-4022-84d5-214367b31e99 -## =================== +$xwiki.ssfx.use("components/search/search.css", true) +## =================== ## Lucene search ## =================== ## Inputs : $request.text @@ -101,11 +102,11 @@ ## Space macros ## --------------- #macro(spaceoption $space $selectspace $spacesText) - <option value="$spacesText.get($space)" #if($selectspace == $spacesText.get($space))selected="selected"#end>$space</option> + <option value="${spacesText.get($space)}" #if($selectspace == $spacesText.get($space))selected="selected"#end>$space</option> #end #macro(spaceselect $selectspace $spaces $spacesText) - <select name="space"> - #spaceoption("All" $selectspace $spacesText) + <select name="space" title="$msg.get('xe.search.bar.spaces.title')"> + <option value="" #if($space == "")selected="selected"#end>$msg.get("xe.search.bar.spaces.all")</option> #foreach($space in $spaces) #spaceoption($space $selectspace $spacesText) #end @@ -191,10 +192,13 @@ ## --------------- ## Query form ## --------------- -<form action="$doc.name" method="get"> -<div class="centered"> -$msg.get("xe.search.query") <input type="text" name="text" value="$xwiki.getFormEncoded($query)" /> $msg.get("xe.search.in.space") #spaceselect($space $spaces $spacesText)#if($xwiki.isVirtualMode()) $msg.get("xe.search.in.wikis") #wikinamesselect($util.sort($allwikinamelist) $wikinamelist)#end <input type="submit" value="$msg.get("xe.search.go")"/> -</div> +<form action="$doc.name" method="get" id="searchBar"> + <div class="centered"> + <input type="text" name="text" class="searchQuery" value="$msg.get("xe.search.bar.query")" title="$msg.get('xe.search.bar.query.title')"/> + #spaceselect($space $spaces $spacesText) + <input type="submit" class="searchButton" value="$msg.get('xe.search.bar.go')" title="$msg.get('xe.search.bar.go.title')"/> + <div class="searchHelp">$msg.get("xe.search.bar.help")</div> + </div> </form> #end {/pre} Index: trunk/wiki/src/main/resources/Main/WebSearch.xml =================================================================== --- trunk/wiki/src/main/resources/Main/WebSearch.xml (revision 19326) +++ trunk/wiki/src/main/resources/Main/WebSearch.xml (working copy) @@ -12,14 +12,17 @@ XWiki.Admin 1107744420000 -1184488764000 -1184488764000 -1.1 +1241465126000 +1241465126000 +3.1 +false +xwiki/1.0 +false XWiki.TagClass @@ -31,29 +34,31 @@ +0 +input +1 tags +1 Tags -0 1 -input -1 -30 -0 ,| +30 +0 -1 com.xpn.xwiki.objects.classes.StaticListClass Main.WebSearch 0 XWiki.TagClass +f6492c2a-78ab-47e7-addb-5f7f498a2cb9 -1 $msg.get("search") +$xwiki.ssfx.use("components/search/search.css", true) +1 $msg.get("search") #if(!$request.space) #set($space = 'All') @@ -67,14 +72,15 @@ #foreach($space in $spaces) #set($ok = $spacesText.put($space,$space)) #end - +## --------------- +## Space macros +## --------------- #macro(spaceoption $space $selectspace $spacesText) - <option value="$spacesText.get($space)" #if($selectspace == $spacesText.get($space))selected="selected"#end>$space</option> + <option value="${spacesText.get($space)}" #if($selectspace == $spacesText.get($space))selected="selected"#end>$space</option> #end - #macro(spaceselect $selectspace $spaces $spacesText) - <select name="space"> - #spaceoption("All" $selectspace $spacesText) + <select name="space" title="$msg.get('xe.search.bar.spaces.title')"> + <option value="" #if($space == "")selected="selected"#end>$msg.get("xe.search.bar.spaces.all")</option> #foreach($space in $spaces) #spaceoption($space $selectspace $spacesText) #end @@ -94,12 +100,13 @@ <a href="$url"><img src="$xwiki.getSkinFile("icons/black-rss.png")" style="border:0px" alt="$msg.get('xe.rss.icon')" /></a> </div> -<form action=""> +<form action="" id="searchBar"> {pre} <div class="centered"> - $msg.get('xe.search.query') - <input type="text" name="text" value="$xwiki.getFormEncoded($!text)" size="20"/> - $msg.get('xe.search.in.space') #spaceselect($space $spaces $spacesText) <input type="submit" value="$msg.get('xe.search.go')"/> + <input type="text" name="text" class="searchQuery" value="$msg.get("xe.search.bar.query")" title="$msg.get('xe.search.bar.query.title')"/> + #spaceselect($space $spaces $spacesText) + <input type="submit" class="searchButton" value="$msg.get('xe.search.bar.go')" title="$msg.get('xe.search.bar.go.title')"/> + <div class="searchHelp">$msg.get("xe.search.bar.help")</div> </div> {/pre} </form> Index: trunk/wiki/src/main/resources/XWiki/Results.xml =================================================================== --- trunk/wiki/src/main/resources/XWiki/Results.xml (revision 19326) +++ trunk/wiki/src/main/resources/XWiki/Results.xml (working copy) @@ -12,9 +12,9 @@ XWiki.Admin 1158300067000 -1233322346000 -1233322346000 -1.1 +1241511550000 +1241511550000 +2.1 @@ -52,36 +52,13 @@ XWiki.Results 0 XWiki.TagClass -f8d95972-3f7b-42a0-a5cc-f242f51b6325 +517e4f1b-2503-4381-9cf1-ce504c55c8d2 #set($showdata = 0) -#set($formatDate = "yyyy MMMM dd, HH:mm") - -## WARNING: Do not add any empty line inside the table element. This will potentially break -## the Javascript we're using for filtering/sorting columns. It might work in FF but will break -## in other browsers like IE. This is because empty lines add <p class="paragraph"></p> elements -## when rendered. -$xwiki.ssfx.use("js/xwiki/table/table.css") -$xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true) -<table id="searchTableUnique" class="grid sortable filterable doOddEven"> - <tr class="sortHeader"> - <th>$msg.get("xe.results.page")</th> - <th style="width:150px" class="selectFilter">$msg.get("xe.results.space")</th> - #if($xwiki.isVirtualMode()) - <th style="width:150px" class="selectFilter">$msg.get("xe.results.wiki")</th> - #end - <th style="width:150px">$msg.get("xe.results.date")</th> - <th style="width:150px">$msg.get("xe.results.author")</th> - #if($isScored) - <th style="width:150px" class="noFilter">$msg.get("xe.results.score")</th> - #end - #if($xwiki.hasAdminRights()) - <th style="width:210px" class="unsortable noFilter">$msg.get("xe.results.actions")</th> - #end - </tr> +<div id="searchResults"> #foreach ($item in $list) #set($troubi = "non") #if($item.class == "class com.xpn.xwiki.plugin.lucene.SearchResult") @@ -90,6 +67,8 @@ #set($itemfullname = "${context.database}:${item}") #end #if ($xwiki.hasAccessLevel("view", $context.user, $itemfullname)) + <div class="resultItem"> + <div class="resultContainer"> #if ($item.class == "class java.lang.String") #set($bentrydoc = $xwiki.getDocument($item)) #elseif ($item.class == "class com.xpn.xwiki.plugin.lucene.SearchResult") @@ -104,14 +83,9 @@ #end #set($createur = $xwiki.getUserName($bentrydoc.author)) #set($ptitle = $bentrydoc.getDisplayTitle()) - <tr><td style="text-align:left"> ## LUCENE : entries are typed #if ($bentrydoc.type) #set ($ptitle = $xwiki.getDocument($itemfullname).getDisplayTitle()) - #if ($bentrydoc.type == "attachment") - <a href="${bentrydoc.url}" target="_blank"><img src="${xwiki.getSkinFile("icons/silk/attach.gif")}" ALT="download" /> ${bentrydoc.filename}</a>\\ - Attachment of - #end #end #if($comments && $comments.size()>0) #set($i = 0) @@ -125,59 +99,100 @@ #set($date1 = $!xwiki.formatDate($!bentrydoc.date,"yyyy MM dd HH:mm:ss") ) #end #if($date1.equals($date2) ) - [$ptitle>$itemfullname] <em>$msg.get("xe.results.newcomment")</em> #set($troubi ="oui") #set($desc = $cobj.getXWikiObject().get("comment").value) - #else - [$bentrydoc.name>$itemfullname] #if ($ptitle != $bentrydoc.name) <em>- $ptitle</em>#end #end #else #set($comment = "") - [$bentrydoc.name>$itemfullname] #if ($ptitle != $bentrydoc.name) <em>- $ptitle</em>#end #end - </td> - <td style="text-align:left"> - [$bentrydoc.space>${bentrydoc.wiki}:${bentrydoc.space}.WebHome] - </td> - #if($xwiki.isVirtualMode()) - <td style="text-align:left"> - [$bentrydoc.wiki>${bentrydoc.wiki}:Main.WebHome] - </td> - #end - <td style="text-align:left"> - $xwiki.formatDate($bentrydoc.date,"yyyy MMM dd") at $xwiki.formatDate($bentrydoc.date,"HH:mm")</td><td style="text-align:center"> #if($troubi =="oui") #set($createur = $xwiki.getUserName($cobj.author) ) #end - #if ($createur == "XWikiGuest") - $msg.get("xe.results.guest") - #else - $createur - #end - </td> + ##*********************************************************## + ## Type: page by default ## + ##*********************************************************## + <div class="itemType"> + <div + #if($item.type == "attachment") class="typeAttachment" + #else class="typePage" + #end + title="$msg.get('xe.search.item.type.page.title')"></div> + </div> + ##*********************************************************## + ## Description ## + ##*********************************************************## + <div class="itemDescription"> + ##*********************************************************## + ## Title ## + ##*********************************************************## + <div class="itemTitle"> + [$ptitle>$itemfullname] + </div> + ##*********************************************************## + ## Location ## + ##*********************************************************## + <div class="itemLocation"> + $msg.get("xe.search.item.location") + [$bentrydoc.wiki>${bentrydoc.wiki}:Main.WebHome] > + [$bentrydoc.space>${bentrydoc.wiki}:${bentrydoc.space}.WebHome] > + [$bentrydoc.name>$itemfullname] + </div> + ##*********************************************************## + ## Modifiers - content update date ## + ##*********************************************************## + <div class="itemModifiers"> + $msg.get("xe.search.item.modified") + <a href="" class="itemAuthor" title="$msg.get('xe.search.item.type.author.title')"> + #if ($createur == "XWikiGuest") + $msg.get("xe.results.guest") + #else + $createur + #end + </a> + $msg.get("xe.search.item.date.on") + <span class="itemDate">$xwiki.formatDate($bentrydoc.date,"dd MMM yyyy")</span> + </div> + <div class="itemOthers"> + ##*********************************************************## + ## Rating ## + ##*********************************************************## + #if($xwiki.ratings && $item.type != "attachment") + #set($avarageRating = $xwiki.ratings.getAverageRating($xwiki.getDocument($itemfullname)).averageVote) + #set($percentageRating = $avarageRating * 20) + <span class="itemRating" title="$msg.get('xe.search.item.rating.title')"> + <span class="currentRating" style="width:$percentageRating%;"></span> + </span> + #end + </div> + #if($xwiki.hasAdminRights()) + #set($copyURL = $xwiki.getURL("XWiki.CopyDocument", "view", "sourcedoc=${util.encodeURI($itemfullname)}")) + #set($deleteURL = $xwiki.getDocument($itemfullname).getURL("delete")) + #set($renameURL = $xwiki.getDocument($itemfullname).getURL("view", "xpage=rename&amp;step=1")) + #set($rightsURL = $xwiki.getDocument($itemfullname).getURL("edit", "editor=rights")) + <div class="itemActions"> + <a href="$copyURL">$msg.get("xe.results.copy")</a> - + <a href="$deleteURL">$msg.get("xe.results.delete")</a> - + <a href='$renameURL'>$msg.get("xe.results.rename")</a> - + <a href='$rightsURL'>$msg.get("xe.results.rights")</a> + </div> + #end + </div> ## end <div class="itemDescription"> #if ($isScored) - <td style="text-align:left"> - #set($resval=$bentrydoc.score*100) - #set($starurl=$xwiki.getSkinFile("icons/silk/star.gif")) - #set($star = "<img src='$starurl' alt='$resval' />") - <span class="hidden">$bentrydoc.score</span> - #if($resval>10) $star #end - #if($resval>20) $star #end - #if($resval>40) $star #end - #if($resval>60) $star #end - #if($resval>90) $star #end - #set ($perc = $resval.toString()) - ${perc.substring(0, $perc.indexOf("."))}% - </td> - #set ($bentrydoc = $xwiki.getDocument($itemfullname)) - #end - #if($xwiki.hasAdminRights()) - <td> - <a href="$xwiki.getURL("XWiki.CopyDocument", "view", "sourcedoc=${util.encodeURI($itemfullname)}")">$msg.get("xe.results.copy")</a> - <a href="$bentrydoc.getURL("delete")">$msg.get("xe.results.delete")</a> - <a href="$bentrydoc.getURL("view", "xpage=rename&amp;step=1")">$msg.get("xe.results.rename")</a> - <a href="$bentrydoc.getURL("edit", "editor=rights")">$msg.get("xe.results.rights")</a> - </td> - #end - </tr> + #set($resval=$bentrydoc.score*100) + ##*********************************************************## + ## Relevance ## + ##*********************************************************## + <div class="itemRelevance"> + <span class="relevance" title="$msg.get('xe.search.item.relevance.title')"> + <span class="currentRelevance" style="width:$resval%;"></span> + </span> + <span class="relevanceText">$resval.intValue()%</span> + </div> + #end + <span class="resultSeparator"></span> + </div> ## end <div class="resultContainer"> + </div> ## end <div class="resultItem"> #end #end -</table> +</div> ## end <div id="searchResults"> \ No newline at end of file