Skip to content

Commit

Permalink
Merge pull request #337 from abollini/DS-1683-JSPUI
Browse files Browse the repository at this point in the history
DS-1683 Porting of spellcheck functionality to the JSPUI
  • Loading branch information
helix84 committed Oct 20, 2013
2 parents 3bccc1c + e99a5e8 commit 930136a
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
1 change: 1 addition & 0 deletions dspace-api/src/main/resources/Messages.properties
Expand Up @@ -824,6 +824,7 @@ jsp.search.advanced.type.series = Series
jsp.search.advanced.type.sponsor = Sponsor
jsp.search.advanced.type.keyword = Subject
jsp.search.advanced.type.title = Title
jsp.search.didyoumean = Did you mean: <b><i>{0}</i></b>
jsp.search.error.invalid-search-string = Invalid search string
jsp.search.error.number-format-exception = Number format exception
jsp.search.error.query-too-broad = Your query was too broad. Try a narrower query.
Expand Down
Expand Up @@ -251,6 +251,8 @@ public void doSimpleSearch(Context context, HttpServletRequest request,
DiscoverQuery queryArgs = DiscoverUtility.getDiscoverQuery(context,
request, scope, true);

queryArgs.setSpellCheck(discoveryConfiguration.isSpellCheckEnabled());

List<DiscoverySearchFilterFacet> availableFacet = discoveryConfiguration
.getSidebarFacets();

Expand Down Expand Up @@ -339,6 +341,7 @@ public void doSimpleSearch(Context context, HttpServletRequest request,
{
qResults = SearchUtils.getSearchService().search(context, scope,
queryArgs);

List<Community> resultsListComm = new ArrayList<Community>();
List<Collection> resultsListColl = new ArrayList<Collection>();
List<Item> resultsListItem = new ArrayList<Item>();
Expand Down Expand Up @@ -401,7 +404,8 @@ else if (dso instanceof Community)
request.setAttribute("pagecurrent", new Long(pageCurrent));
request.setAttribute("pagelast", new Long(pageLast));
request.setAttribute("pagefirst", new Long(pageFirst));

request.setAttribute("spellcheck", qResults.getSpellCheckQuery());

request.setAttribute("queryresults", qResults);

try
Expand Down
14 changes: 11 additions & 3 deletions dspace-jspui/src/main/webapp/search/discovery.jsp
Expand Up @@ -24,6 +24,7 @@
- appliedFilters - The list of applied filters (user input or facet)
-
- search.error - a flag to say that an error has occurred
- spellcheck - the suggested spell check query (if any)
- qResults - the discovery results
- items - the results. An array of Items, most relevant first
- communities - results, Community[]
Expand Down Expand Up @@ -84,7 +85,7 @@
String ascSelected = (SortOption.ASCENDING.equalsIgnoreCase(order) ? "selected=\"selected\"" : "");
String descSelected = (SortOption.DESCENDING.equalsIgnoreCase(order) ? "selected=\"selected\"" : "");
String httpFilters ="";
String spellCheckQuery = (String) request.getAttribute("spellcheck");
List<DiscoverySearchFilter> availableFilters = (List<DiscoverySearchFilter>) request.getAttribute("availableFilters");
List<String[]> appliedFilters = (List<String[]>) request.getAttribute("appliedFilters");
List<String> appliedFilterQueries = (List<String>) request.getAttribute("appliedFilterQueries");
Expand Down Expand Up @@ -113,6 +114,10 @@
<script type="text/javascript">
var jQ = jQuery.noConflict();
jQ(document).ready(function() {
jQ( "#spellCheckQuery").click(function(){
jQ("#query").val(jQ(this).attr('data-spell'));
jQ("#main-query-submit").click();
});
jQ( "#filterquery" )
.autocomplete({
source: function( request, response ) {
Expand Down Expand Up @@ -184,8 +189,11 @@
}
%> </select><br/>
<label for="query"><fmt:message key="jsp.search.results.searchfor"/></label>
<input type="text" size="50" name="query" value="<%= (query==null ? "" : StringEscapeUtils.escapeHtml(query)) %>"/>
<input type="submit" class="btn btn-primary" value="<fmt:message key="jsp.general.go"/>" />
<input type="text" size="50" id="query" name="query" value="<%= (query==null ? "" : StringEscapeUtils.escapeHtml(query)) %>"/>
<input type="submit" id="main-query-submit" class="btn btn-primary" value="<fmt:message key="jsp.general.go"/>" />
<% if (StringUtils.isNotBlank(spellCheckQuery)) {%>
<p class="lead"><fmt:message key="jsp.search.didyoumean"><fmt:param><a id="spellCheckQuery" data-spell="<%= StringEscapeUtils.escapeHtml(spellCheckQuery) %>" href="#"><%= spellCheckQuery %></a></fmt:param></fmt:message></p>
<% } %>
<input type="hidden" value="<%= rpp %>" name="rpp" />
<input type="hidden" value="<%= sortedBy %>" name="sort_by" />
<input type="hidden" value="<%= order %>" name="order" />
Expand Down

0 comments on commit 930136a

Please sign in to comment.