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
-
... ... @@ -8,22 +8,11 @@ 8 8 window.addEventListener('DOMContentLoaded', function() { 9 9 10 10 class UnifiedSearch extends LitElement { 11 - /* 12 12 static properties = { 13 - searchText: { type: String }, 14 - favoritesFilter: { type: Boolean }, 15 - administratorFilter: { type: Boolean }, 16 - editorFilter: { type: Boolean }, 17 - viewerFilter: { type: Boolean }, 18 - publicFilter: { type: Boolean }, 19 - privateFilter: { type: Boolean }, 20 - } 21 - */ 22 - static properties = { 23 23 results: { type: Array } 24 24 } 25 25 static styles = css` 26 - :host { 15 + :host > div { 27 27 padding-bottom: 4em; 28 28 } 29 29 .result { ... ... @@ -49,6 +49,9 @@ 49 49 this.results = []; 50 50 this.resultsCache = []; 51 51 } 41 + firstUpdated() { 42 + this.renderRoot.getElementById('searchInput').focus(); 43 + } 52 52 toggleRoleFilter(roleName) { 53 53 if(this.rolesFilter.indexOf(roleName) === -1) { 54 54 this.rolesFilter.push(roleName); ... ... @@ -116,11 +116,16 @@ 116 116 getLink(xwikiDocSpace) { 117 117 return `/bin/view/${xwikiDocSpace.replaceAll('.', '/')}`; 118 118 } 111 + handleKeyPress(e) { 112 + if (e.keyCode === 13) { 113 + this.handleSearch(true); 114 + } 115 + } 119 119 render() { 120 120 return html` 121 121 <div> 122 122 <div> 123 - <input @change="${this.setSearchText}" type="text" placeholder="Search..." /> 120 + <input id="searchInput" @change="${this.setSearchText}" type="text" placeholder="Search..." @keypress="${this.handleKeyPress}" /> 124 124 <button @click="${() => this.handleSearch(true)}">Search</button> 125 125 </div> 126 126 <div> ... ... @@ -164,7 +164,5 @@ 164 164 } 165 165 }); 166 166 </script> 167 - 168 168 <clb-unified-search></clb-unified-search> 169 - 170 170 {{/html}}