| ... |
... |
@@ -1,7 +1,6 @@ |
| 1 |
1 |
{{html clean="false"}} |
| 2 |
2 |
<!-- |
| 3 |
|
- !!! POC. Code must be reviewed / optimized and packaged for use in production !!! |
| 4 |
|
- !!! Many optimisations can be done !!! |
|
3 |
+ !!! POC. Code must be reviewed / optimized and packaged for use in production !!! |
| 5 |
5 |
--> |
| 6 |
6 |
<script type="module"> |
| 7 |
7 |
import {LitElement, html, css} from 'https://cdn.jsdelivr.net/gh/lit/dist@2/core/lit-core.min.js'; |
| ... |
... |
@@ -23,9 +23,6 @@ |
| 23 |
23 |
results: { type: Array } |
| 24 |
24 |
} |
| 25 |
25 |
static styles = css` |
| 26 |
|
- :host > div { |
| 27 |
|
- padding-bottom: 4em; |
| 28 |
|
- } |
| 29 |
29 |
.result { |
| 30 |
30 |
margin-top: 1em; |
| 31 |
31 |
} |
| ... |
... |
@@ -49,9 +49,6 @@ |
| 49 |
49 |
this.results = []; |
| 50 |
50 |
this.resultsCache = []; |
| 51 |
51 |
} |
| 52 |
|
- firstUpdated() { |
| 53 |
|
- this.renderRoot.getElementById('searchInput').focus(); |
| 54 |
|
- } |
| 55 |
55 |
toggleRoleFilter(roleName) { |
| 56 |
56 |
if(this.rolesFilter.indexOf(roleName) === -1) { |
| 57 |
57 |
this.rolesFilter.push(roleName); |
| ... |
... |
@@ -68,16 +68,22 @@ |
| 68 |
68 |
handleSearch(textSearch) { |
| 69 |
69 |
if(this.searchText !== "" || textSearch) { |
| 70 |
70 |
if(this.searchText !== this.prevSearchText) { |
| 71 |
|
- this.clearResults(); |
| 72 |
72 |
this.prevSearchText = this.searchText; |
| 73 |
73 |
this.fetchWikiSearch().then(results => { |
| 74 |
|
- this.resultsCache = results; |
| 75 |
|
- if(this.hasActiveFilters()) { |
| 76 |
|
- this.fetchFilterSearch().then(this.filterResults); |
| 77 |
|
- } else { |
| 78 |
|
- this.results = results; |
| 79 |
|
- } |
|
66 |
+ this.results = wikiSearchResults; |
|
67 |
+ this.resultsCache = wikiSearchResults; |
|
68 |
+ this.fetchFilterSearch().then(this.filterResults); |
| 80 |
80 |
}) |
|
70 |
+ /* |
|
71 |
+ Promise.all([ |
|
72 |
+ this.fetchWikiSearch(), |
|
73 |
+ this.fetchFilterSearch() |
|
74 |
+ ]).then(([wikiSearchResults, collabSearchResults]) => { |
|
75 |
+ this.results = wikiSearchResults; |
|
76 |
+ this.resultsCache = wikiSearchResults; |
|
77 |
+ console.log(wikiSearchResults, collabSearchResults); |
|
78 |
+ }); |
|
79 |
+ */ |
| 81 |
81 |
} else if (this.searchText === this.prevSearchText && this.hasActiveFilters()) { |
| 82 |
82 |
this.fetchFilterSearch().then(this.filterResults) |
| 83 |
83 |
} else { |
| ... |
... |
@@ -119,16 +119,11 @@ |
| 119 |
119 |
getLink(xwikiDocSpace) { |
| 120 |
120 |
return `/bin/view/${xwikiDocSpace.replaceAll('.', '/')}`; |
| 121 |
121 |
} |
| 122 |
|
- handleKeyPress(e) { |
| 123 |
|
- if (e.keyCode === 13) { |
| 124 |
|
- this.handleSearch(true); |
| 125 |
|
- } |
| 126 |
|
- } |
| 127 |
127 |
render() { |
| 128 |
128 |
return html` |
| 129 |
129 |
<div> |
| 130 |
130 |
<div> |
| 131 |
|
- <input id="searchInput" @change="${this.setSearchText}" type="text" placeholder="Search..." @keypress="${this.handleKeyPress}" /> |
|
125 |
+ <input @change="${this.setSearchText}" type="text" placeholder="Search..." /> |
| 132 |
132 |
<button @click="${() => this.handleSearch(true)}">Search</button> |
| 133 |
133 |
</div> |
| 134 |
134 |
<div> |