feat: improve search matching (#800)

* offload search to lunr.js

* update location search when locations are mutated
This commit is contained in:
Hayden 2024-02-29 13:45:05 -06:00 committed by GitHub
parent 4c9ddac395
commit b655cfab28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 71 additions and 44 deletions

View file

@ -1,12 +1,13 @@
import { defineStore } from "pinia";
import { LocationsApi } from "~~/lib/api/classes/locations";
import { LocationOutCount } from "~~/lib/api/types/data-contracts";
import { LocationOutCount, TreeItem } from "~~/lib/api/types/data-contracts";
export const useLocationStore = defineStore("locations", {
state: () => ({
parents: null as LocationOutCount[] | null,
Locations: null as LocationOutCount[] | null,
client: useUserApi(),
tree: null as TreeItem[] | null,
}),
getters: {
/**
@ -60,5 +61,14 @@ export const useLocationStore = defineStore("locations", {
this.Locations = result.data;
return result;
},
async refreshTree(): ReturnType<LocationsApi["getTree"]> {
const result = await this.client.locations.getTree();
if (result.error) {
return result;
}
this.tree = result.data;
return result;
},
},
});