44 lines
		
	
	
		
			893 B
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			893 B
		
	
	
	
		
			JavaScript
		
	
	
	
|  | let data = { | ||
|  |     id: null, | ||
|  |     type: '', | ||
|  |     searching: false, | ||
|  |     searchTerm: '', | ||
|  |     searchResults: '', | ||
|  | }; | ||
|  | 
 | ||
|  | let computed = { | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | let methods = { | ||
|  | 
 | ||
|  |     searchBook() { | ||
|  |         if (this.searchTerm.trim().length === 0) return; | ||
|  |         this.searching = true; | ||
|  |         this.searchResults = ''; | ||
|  |         let url = window.baseUrl(`/search/${this.type}/${this.id}`); | ||
|  |         url += `?term=${encodeURIComponent(this.searchTerm)}`; | ||
|  |         this.$http.get(url).then(resp => { | ||
|  |             this.searchResults = resp.data; | ||
|  |         }); | ||
|  |     }, | ||
|  | 
 | ||
|  |     checkSearchForm() { | ||
|  |         this.searching = this.searchTerm > 0; | ||
|  |     }, | ||
|  | 
 | ||
|  |     clearSearch() { | ||
|  |         this.searching = false; | ||
|  |         this.searchTerm = ''; | ||
|  |     } | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | function mounted() { | ||
|  |     this.id = Number(this.$el.getAttribute('entity-id')); | ||
|  |     this.type = this.$el.getAttribute('entity-type'); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = { | ||
|  |     data, computed, methods, mounted | ||
|  | }; |