37 lines
835 B
JavaScript
Vendored
37 lines
835 B
JavaScript
Vendored
export default function (meilisearchConfig, index, searchOptions) {
|
|
const defaultSearchOptiobns = {
|
|
limit: 10,
|
|
};
|
|
|
|
searchOptions = { ...defaultSearchOptiobns, ...searchOptions };
|
|
|
|
return {
|
|
query: "",
|
|
index: null,
|
|
results: null,
|
|
|
|
watchQuery() {
|
|
this.$watch("query", (query) => {
|
|
if (query == "") {
|
|
this.results = null;
|
|
return;
|
|
}
|
|
|
|
this.search(query);
|
|
});
|
|
},
|
|
|
|
async search(query) {
|
|
this.results = await this.index.search(query, searchOptions);
|
|
},
|
|
|
|
init() {
|
|
const client = new window.MeiliSearch(meilisearchConfig);
|
|
|
|
this.index = client.index(index);
|
|
|
|
this.watchQuery();
|
|
},
|
|
};
|
|
}
|