Skip to content

Commit

Permalink
search:display property to control display of sort configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
litvinovg committed Apr 15, 2024
1 parent 3e195de commit d828bbe
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@ public class SearchFiltering {
+ "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
+ "PREFIX search: <https://vivoweb.org/ontology/vitro-search#> \n"
+ "SELECT ( STR(?sort_label) as ?label ) ?id ?searchField ?multilingual ?isAsc ?sort_order ?fallback \n"
+ "SELECT ( STR(?sort_label) as ?label ) ?id ?searchField " +
"?multilingual ?isAsc ?sort_order ?fallback ?display\n"
+ "WHERE {\n"
+ " ?sort rdf:type search:Sort . \n"
+ " ?sort rdfs:label ?sort_label .\n"
Expand All @@ -149,6 +150,7 @@ public class SearchFiltering {
+ " ?sort search:order ?s_order .\n"
+ " BIND(?s_order as ?sort_order_found).\n"
+ " }\n"
+ " OPTIONAL {?sort search:display ?display }\n"
+ " BIND(coalesce(?sort_order_found, 0) as ?sort_order)\n"
+ " BIND(COALESCE(?f_order, false) as ?isAsc)\n"
+ " BIND(COALESCE(?bind_multilingual, false) as ?multilingual)\n"
Expand Down Expand Up @@ -383,6 +385,10 @@ public static Map<String, SortConfiguration> getSortConfigurations(VitroRequest
if (order != null) {
config.setOrder(order.asLiteral().getInt());
}
RDFNode display = solution.get("display");
if (display != null) {
config.setDisplay(display.asLiteral().getBoolean());
}
sortConfigurations.put(id, config);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class SortConfiguration {
private String label = "";
private int order = 0;
private String fallback;
private boolean display = false;

public SortConfiguration(String id, String label, String field) {
this.id = id;
Expand Down Expand Up @@ -96,4 +97,11 @@ public void setFallback(String id) {
this.fallback = id;
}

public void setDisplay(boolean display) {
this.display = display;
}

public boolean isDisplay() {
return display;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,33 +33,36 @@
vitro-search:public true .

:sort_title_desc a vitro-search:Sort ;
vitro-search:isAscending false ;
vitro-search:hasFallback :sort_name_raw_desc ;
vitro-search:order 20 ;
vitro-search:sortField :field_label_sort ;
vitro-search:hasFallback :sort_name_raw_desc ;
vitro-search:isAscending false ;
vitro-search:display true ;
vitro-search:id "titledesc" .

:sort_title_asc a vitro-search:Sort ;
vitro-search:sortField :field_label_sort ;
vitro-search:isAscending true ;
vitro-search:hasFallback :sort_name_raw_asc ;
vitro-search:order 30 ;
vitro-search:sortField :field_label_sort ;
vitro-search:display true ;
vitro-search:id "titleasc" .

:sort_name_raw_desc a vitro-search:Sort ;
vitro-search:isAscending false ;
vitro-search:order 40 ;
vitro-search:sortField :field_name_raw ;
vitro-search:isAscending false ;
vitro-search:id "name_raw_desc" .

:sort_name_raw_asc a vitro-search:Sort ;
vitro-search:sortField :field_name_raw ;
vitro-search:isAscending true ;
vitro-search:order 50 ;
vitro-search:sortField :field_name_raw ;
vitro-search:id "name_raw_asc" .

:sort_by_relevance a vitro-search:Sort ;
vitro-search:sortField :field_score ;
vitro-search:display true ;
vitro-search:id "relevance" .

:field_score
Expand Down
4 changes: 4 additions & 0 deletions home/src/main/resources/rdf/tbox/filegraph/search_ontology.n3
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ search:public a owl:DatatypeProperty , owl:FunctionalPrope
rdfs:domain search:PublicParameter ;
rdfs:range xsd:boolean .

search:display a owl:DatatypeProperty , owl:FunctionalProperty ;
rdfs:domain search:Sort ;
rdfs:range xsd:boolean .

search:isDefaultForRole
a <http://www.w3.org/2002/07/owl#ObjectProperty> ;
rdfs:domain <https://vivoweb.org/ontology/vitro-search#FilterValue> ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -269,11 +269,13 @@ ${headScripts.add('<script type="text/javascript" src="${urls.base}/js/bootstrap
<select form="search-form" name="sort" id="search-form-sort" onchange="this.form.submit()" >
<#assign addDefaultOption = true>
<#list sorting as option>
<#if option.selected>
<option value="${option.id}" selected="selected">${i18n().search_results_sort_by(option.label)}</option>
<#assign addDefaultOption = false>
<#else>
<option value="${option.id}" >${i18n().search_results_sort_by(option.label)}</option>
<#if option.display>
<#if option.selected>
<option value="${option.id}" selected="selected">${i18n().search_results_sort_by(option.label)}</option>
<#assign addDefaultOption = false>
<#else>
<option value="${option.id}" >${i18n().search_results_sort_by(option.label)}</option>
</#if>
</#if>
</#list>
<#if addDefaultOption>
Expand Down

0 comments on commit d828bbe

Please sign in to comment.