| ... |
... |
@@ -39,8 +39,6 @@ |
| 39 |
39 |
this.filterUrl = new URL(`${document.location.origin}/rest/v1/collabs?search=&offset=0&orderField=title&order=asc&limit=10000&favorite=false&roles=`); |
| 40 |
40 |
this.results = []; |
| 41 |
41 |
this.resultsCache = []; |
| 42 |
|
- this.offset = 0; |
| 43 |
|
- this.nb = 10; |
| 44 |
44 |
} |
| 45 |
45 |
firstUpdated() { |
| 46 |
46 |
this.renderRoot.getElementById('searchInput').focus(); |
| ... |
... |
@@ -58,32 +58,24 @@ |
| 58 |
58 |
setSearchText(e) { |
| 59 |
59 |
this.searchText = e.target.value; |
| 60 |
60 |
} |
| 61 |
|
- setOffset(e) { |
| 62 |
|
- this.offset = e.target.value; |
| 63 |
|
- } |
| 64 |
|
- setNb(e) { |
| 65 |
|
- this.nb = e.target.value; |
| 66 |
|
- } |
| 67 |
67 |
handleSearch(textSearch) { |
| 68 |
68 |
if(this.searchText !== "" || textSearch) { |
| 69 |
|
- // if(this.searchText !== this.prevSearchText) { |
|
61 |
+ if(this.searchText !== this.prevSearchText) { |
| 70 |
70 |
this.clearResults(); |
| 71 |
71 |
this.prevSearchText = this.searchText; |
| 72 |
72 |
this.fetchWikiSearch().then(results => { |
| 73 |
|
- console.log('results', results); |
| 74 |
|
- //this.resultsCache = results; |
|
65 |
+ this.resultsCache = results; |
| 75 |
75 |
if(this.hasActiveFilters()) { |
| 76 |
76 |
this.fetchFilterSearch().then(this.filterResults); |
| 77 |
77 |
} else { |
| 78 |
|
- this.results = results ? results : []; |
|
69 |
+ this.results = results; |
| 79 |
79 |
} |
| 80 |
80 |
}) |
| 81 |
|
- /*} else if (this.searchText === this.prevSearchText && this.hasActiveFilters()) { |
|
72 |
+ } else if (this.searchText === this.prevSearchText && this.hasActiveFilters()) { |
| 82 |
82 |
this.fetchFilterSearch().then(this.filterResults) |
| 83 |
83 |
} else { |
| 84 |
84 |
this.results = this.resultsCache; |
| 85 |
85 |
} |
| 86 |
|
- */ |
| 87 |
87 |
} else { |
| 88 |
88 |
this.clearResults(); |
| 89 |
89 |
console.log("no search text, should return filter search results if any"); |
| ... |
... |
@@ -98,7 +98,7 @@ |
| 98 |
98 |
} |
| 99 |
99 |
fetchWikiSearch() { |
| 100 |
100 |
// request should be built from component, not from "external" dependency. Leave it here like this for POC. |
| 101 |
|
- return handleXWikiSearch(this.searchText, this.offset, this.nb); |
|
91 |
+ return handleXWikiSearch(this.searchText); |
| 102 |
102 |
} |
| 103 |
103 |
fetchFilterSearch() { |
| 104 |
104 |
return new Promise((resolve) => { |
| ... |
... |
@@ -130,8 +130,6 @@ |
| 130 |
130 |
<div> |
| 131 |
131 |
<div> |
| 132 |
132 |
<input id="searchInput" @change="${this.setSearchText}" type="text" placeholder="Search..." @keypress="${this.handleKeyPress}" /> |
| 133 |
|
- <input @change="${this.setNb}"" type="text" value="${this.nb}" /> |
| 134 |
|
- <input @change="${this.setOffset}"" type="text" value="${this.offset}" /> |
| 135 |
135 |
<button @click="${() => this.handleSearch(true)}">Search</button> |
| 136 |
136 |
</div> |
| 137 |
137 |
<div> |
| ... |
... |
@@ -153,7 +153,7 @@ |
| 153 |
153 |
} |
| 154 |
154 |
customElements.define('clb-unified-search', UnifiedSearch); |
| 155 |
155 |
|
| 156 |
|
- function handleXWikiSearch(searchString, offset, nb) { |
|
144 |
+ function handleXWikiSearch(searchString) { |
| 157 |
157 |
return new Promise((resolve) => { |
| 158 |
158 |
require(['jquery'], function($) { |
| 159 |
159 |
const solrServiceURL = new XWiki.Document('SuggestSolrService', 'XWiki').getURL('get'); |
| ... |
... |
@@ -161,8 +161,8 @@ |
| 161 |
161 |
$.get(solrServiceURL, { |
| 162 |
162 |
outputSyntax: 'plain', |
| 163 |
163 |
media: 'json', |
| 164 |
|
- nb: nb, |
| 165 |
|
- offset: offset, |
|
152 |
+ nb:100, |
|
153 |
+ offset:10, |
| 166 |
166 |
query: [ |
| 167 |
167 |
'q="__INPUT__"~100', |
| 168 |
168 |
'fq=type:DOCUMENT', |