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,9 +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); 55 + searchInput.addEventListener('keypress', this.handleKeyPress); 56 + searchInput.focus(); 54 54 } 55 55 56 56 disconnectedCallback() { ... ... @@ -57,13 +57,29 @@ 57 57 this.$('#search').removeEventListener('click', this.handleSearch); 58 58 this.$('#prev').removeEventListener('click', this.handlePrevPage); 59 59 this.$('#next').removeEventListener('click', this.handleNextPage); 63 + this.$('input[type="text"]').addEventListener('keypress', this.handleKeyPress); 60 60 } 61 61 62 62 get styles() { 63 63 return ` 64 64 input[type="text"] { 65 - border: 1px solid red; 69 + display: block; 70 + width: 100%; 71 + padding: 6px 12px; 72 + font-size: 16px; 73 + line-height: 1.428571429; 74 + color: #555555; 75 + background-color: #fff; 76 + background-image: none; 77 + border: 1px solid #ccc; 78 + border-radius: 4px; 79 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 80 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 81 + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 82 + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 83 + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 66 66 } 85 + 67 67 ` 68 68 } 69 69 handlePrevPage = () => { ... ... @@ -84,6 +84,11 @@ 84 84 .then(this.renderResults); 85 85 } 86 86 106 + handleKeyPress = (e) => { 107 + if(e.code === 'Enter') { 108 + this.handleSearch(); 109 + } 110 + } 87 87 88 88 get html() { 89 89 return ` ... ... @@ -139,7 +139,7 @@ 139 139 get html() { 140 140 return ` 141 141 <div> 142 - <a href=${this.hrefAttr}>${this.titleAttr}</a> 166 + <a href="/bin/view/${this.hrefAttr}">${this.titleAttr}</a> 143 143 <div> 144 144 <slot></slot> 145 145 </div> ... ... @@ -150,6 +150,7 @@ 150 150 this.attachShadow({ mode: 'open' }); 151 151 this.shadowRoot.appendChild(this.template.content.cloneNode(true)); 152 152 } 177 + 153 153 } 154 154 ); 155 155 </script>