Add toast message on execution interrupted (#490)

* Move toast to top level

* Toast store
This commit is contained in:
Chenlei Hu
2024-08-17 12:29:48 -04:00
committed by GitHub
parent a1a6eeed0f
commit 069766337a
6 changed files with 71 additions and 6 deletions

23
src/stores/toastStore.ts Normal file
View File

@@ -0,0 +1,23 @@
// Within Vue component context, you can directly call useToast().add()
// instead of going through the store.
// The store is useful when you need to call it from outside the Vue component context.
import { defineStore } from 'pinia'
import type { ToastMessageOptions } from 'primevue/toast'
export const useToastStore = defineStore('toast', {
state: () => ({
messages: [] as ToastMessageOptions[]
}),
actions: {
add(message: ToastMessageOptions) {
this.messages = [...this.messages, message]
},
remove(message: ToastMessageOptions) {
this.messages = this.messages.filter((msg) => msg !== message)
},
removeAll() {
this.messages = []
}
}
})