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
							 | 
						||
| 
								 | 
							
								};
							 |