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