Files
directus/app/src/stores/requests.ts
Rijk van Zanten f64a5bef7e Add new advanced filters experience (#8570)
* Remove advanced filter sidebar detail

So long, and thanks for all the fish.

* Remove filter conversion logic

* Start replacing/removing old skool filters

* Add inline mode for usages in search bar

* Make filter work in header bar

* Emit empty string as null in filter

* Move shared filter types to shared

* Upgrade use-items

* Fix manual sort on tabular

* Cleanup styling in search bar usage

* Tweak styling

* Fix filtering issues

* Update cards

* Remove activeFilterCount from tabular

* Update maps to work with new filters

* Update calendar to new filter/sort structure

* Fix activity module nav/search

* Fix no-results message

* Update file library filtering

* Finalize user search

* Allow filtering in drawer-collection

* Handle cancelled responses semi-gracefully

* Add loading start state timeout

* Replace sort type in api

* Last commit before redoing a bunch

* Finish new visual style

* Remove unused rounded prop from v-menu

* Tweak sizing

* Enough size tweaking for now

* Count all filter operators instead of top

* Fix archive casting

* Fix api build

* Add merge filters util

* Split filter in user vs system

* Fix export sidebar detail

* Show field label on permissions configuration

* Add migration for filter/sort

* Use filters in insights
2021-10-07 18:06:03 -04:00

30 lines
663 B
TypeScript

import { nanoid } from 'nanoid';
import { defineStore } from 'pinia';
export const useRequestsStore = defineStore({
id: 'requestsStore',
state: () => ({
queue: [] as string[],
}),
getters: {
queueHasItems(): boolean {
return this.queue.length > 0;
},
},
actions: {
startRequest() {
const id = nanoid();
this.queue = [...this.queue, id];
// If requests take more than 3.5 seconds, we'll have to assume they'll either never
// happen, or already crashed
setTimeout(() => this.endRequest(id), 3500);
return id;
},
endRequest(id: string) {
this.queue = this.queue.filter((queueID: string) => queueID !== id);
},
},
});