Changes for page CLB Search Component
Last modified by bougault on 2023/01/17 11:42
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -48,10 +48,12 @@ 48 48 connectedCallback() { 49 49 super.connectedCallback(); 50 50 this.render(); 51 + const searchInput = this.$('input[type="text"]'); 51 51 this.$('#search').addEventListener('click', this.handleSearch); 52 52 this.$('#prev').addEventListener('click', this.handlePrevPage); 53 53 this.$('#next').addEventListener('click', this.handleNextPage); 54 - this.$('input[type="text"]').focus(); 55 + searchInput.addEventListener('keypress', this.handleKeyPress); 56 + searchInput.focus(); 55 55 } 56 56 57 57 disconnectedCallback() { ... ... @@ -58,13 +58,30 @@ 58 58 this.$('#search').removeEventListener('click', this.handleSearch); 59 59 this.$('#prev').removeEventListener('click', this.handlePrevPage); 60 60 this.$('#next').removeEventListener('click', this.handleNextPage); 63 + this.$('input[type="text"]').addEventListener('keypress', this.handleKeyPress); 61 61 } 62 62 63 63 get styles() { 64 64 return ` 65 65 input[type="text"] { 66 - border: 1px solid red; 69 + display: block; 70 + width: 100%; 71 +box-sizing: border-box; 72 + padding: 6px 12px; 73 + font-size: 16px; 74 + line-height: 1.428571429; 75 + color: #555555; 76 + background-color: #fff; 77 + background-image: none; 78 + border: 1px solid #ccc; 79 + border-radius: 4px; 80 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 81 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 82 + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 83 + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 84 + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 67 67 } 86 + 68 68 ` 69 69 } 70 70 handlePrevPage = () => { ... ... @@ -85,6 +85,11 @@ 85 85 .then(this.renderResults); 86 86 } 87 87 107 + handleKeyPress = (e) => { 108 + if(e.code === 'Enter') { 109 + this.handleSearch(); 110 + } 111 + } 88 88 89 89 get html() { 90 90 return ` ... ... @@ -140,7 +140,7 @@ 140 140 get html() { 141 141 return ` 142 142 <div> 143 - <a href=${this.hrefAttr}>${this.titleAttr}</a> 167 + <a href="/bin/view/${this.hrefAttr}">${this.titleAttr}</a> 144 144 <div> 145 145 <slot></slot> 146 146 </div> ... ... @@ -151,6 +151,7 @@ 151 151 this.attachShadow({ mode: 'open' }); 152 152 this.shadowRoot.appendChild(this.template.content.cloneNode(true)); 153 153 } 178 + 154 154 } 155 155 ); 156 156 </script>