Changes for page Context Search
Last modified by bougault on 2023/02/20 16:29
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -9,7 +9,9 @@ 9 9 10 10 class UnifiedSearch extends LitElement { 11 11 static properties = { 12 - results: { type: Array } 12 + results: { type: Array }, 13 + resultsCache: { type: Array }, 14 + collabFiltersResults: { type: Array} 13 13 } 14 14 static styles = css` 15 15 :host > div { ... ... @@ -25,6 +25,19 @@ 25 25 a { 26 26 color: var(--color-brand-primary, blue); 27 27 } 30 + .rawResults { 31 + width: 100%; 32 + display: flex; 33 + font-size: 12px; 34 + margin-top: 2em; 35 + } 36 + .rawResults > div { 37 + width: 100%; 38 + } 39 + .rawResults ul { 40 + list-style-type: none; 41 + padding: 0; 42 + } 28 28 `; 29 29 constructor() { 30 30 super(); ... ... @@ -37,6 +37,7 @@ 37 37 this.filterUrl = new URL(`${document.location.origin}/rest/v1/collabs?search=&offset=0&orderField=title&order=asc&limit=10000&favorite=false&roles=`); 38 38 this.results = []; 39 39 this.resultsCache = []; 55 + this.collabFiltersResults = []; 40 40 } 41 41 firstUpdated() { 42 42 this.renderRoot.getElementById('searchInput').focus(); ... ... @@ -91,8 +91,12 @@ 91 91 fetchFilterSearch() { 92 92 return new Promise((resolve) => { 93 93 if(this.hasActiveFilters()) { 94 - fetch(this.filterUrl).then(res => res.json()).then(resolve); 110 + fetch(this.filterUrl).then(res => res.json()).then((res) => { 111 + this.collabFiltersResults = res; 112 + resolve(res); 113 + }); 95 95 } else { 115 + this.collabFiltersResults = res; 96 96 resolve([]); 97 97 } 98 98 }); ... ... @@ -104,6 +104,7 @@ 104 104 clearResults() { 105 105 this.results = []; 106 106 this.resultsCache = []; 127 + this.collabFiltersResults = []; 107 107 } 108 108 getLink(xwikiDocSpace) { 109 109 return `/bin/view/${xwikiDocSpace.replaceAll('.', '/')}`; ... ... @@ -134,6 +134,16 @@ 134 134 </div> 135 135 `)} 136 136 </div> 158 + <div class="rawResults"> 159 + <div> 160 + <strong>XWiki Search Results</strong> 161 + <ul>${this.resultsCache.map((res) => html`<li>${res.space}</li>`)}</ul> 162 + </div> 163 + <div> 164 + <strong>Collab Search Results (Filters)</strong> 165 + <ul>${this.collabFiltersResults.map((res) => html`<li>${res.name}</li>`)}</ul> 166 + </div> 167 + </div> 137 137 </div> 138 138 ` 139 139 }