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
-
... ... @@ -36,26 +36,28 @@ 36 36 // this.attachShadow({ mode: 'open' }); 37 37 super.connectedCallback(); 38 38 this.render(); 39 - this.searchButton.addEventListener('click', () => this.handleSearch()); 39 + this.$('#search').addEventListener('click', () => this.handleSearch()); 40 + this.$('#prev').addEventListener('click', () => { 41 + if(this.offset > 0) { 42 + this.offset--; 43 + this.handleSearch(); 44 + } 45 + }); 46 + this.$('#next').addEventListener('click', () => { 47 + this.offset++; 48 + this.handleSearch(); 49 + }); 40 40 } 41 41 42 42 43 43 handleSearch = () => { 44 - fetch(`${this.searchBaseUrl}${encodeURIComponent(this.searchInput.value)}`) 54 + const value = this.$('input[type="text"]').value; 55 + fetch(`${this.searchBaseUrl}${encodeURIComponent(value)}`) 45 45 .then(res => res.json()) 46 46 .then(this.renderResults); 47 - 48 48 } 49 49 50 - get searchInput() { 51 - return this.$('input[type="text"]'); 52 - } 53 53 54 - get searchButton() { 55 - return this.$('#search'); 56 - } 57 - 58 - 59 59 get searchInputTemplate() { 60 60 return this.createTemplate(` 61 61 <div> ... ... @@ -67,7 +67,7 @@ 67 67 `); 68 68 } 69 69 70 - renderResults(results) { 72 + renderResults = (results) => { 71 71 const resultsContainer = this.$('#results'); 72 72 resultsContainer.replaceChildren(); 73 73 for(let i = 0, j = results.length; i < j; i++) {