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
-
... ... @@ -30,6 +30,7 @@ 30 30 constructor() { 31 31 super(); 32 32 this.results = []; 33 + this.offset = 0; 33 33 } 34 34 35 35 connectedCallback() { ... ... @@ -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()); 40 + this.$('#search').addEventListener('click', () => this.handleSearch()); 41 + this.$('#prev').addEventListener('click', () => { 42 + if(this.offset > 0) { 43 + this.offset--; 44 + this.handleSearch(); 45 + } 46 + }); 47 + this.$('#next').addEventListener('click', () => { 48 + this.offset++; 49 + this.handleSearch(); 50 + }); 40 40 } 41 41 42 42 43 43 handleSearch = () => { 44 - fetch(`${this.searchBaseUrl}${encodeURIComponent(this.searchInput.value)}`) 55 + const value = this.$('input[type="text"]').value; 56 + fetch(`${this.searchBaseUrl}${encodeURIComponent(value)}&offset=${this.offset}`) 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>