1 import { defineStore } from "pinia";
3 export const useMainStore = defineStore("main", {
9 _accept_callback: null,
10 previousMessage: null,
12 displayed_already: false,
13 _is_submitting: false,
17 setMessage(message, displayed = false) {
20 this._message = message;
21 this._confirmation = null;
22 this.displayed_already = displayed; /* Will be displayed on the next view */
24 setError(error, displayed = true) {
28 this._confirmation = null;
29 this.displayed_already = displayed; /* Is displayed on the current view */
31 setWarning(warning, displayed = true) {
33 this._warning = warning;
35 this._confirmation = null;
36 this.displayed_already = displayed; /* Is displayed on the current view */
38 setConfirmationDialog(confirmation, accept_callback, displayed = true){
40 this._accept_callback = async () => {
41 await accept_callback()
42 this.removeConfirmationMessages()
45 this._confirmation = confirmation;
46 this.displayed_already = displayed; /* Is displayed on the current view */
49 if (this.displayed_already) {
53 this._confirmation = null;
54 this._accept_callback = null;
56 this.displayed_already = true;
58 removeConfirmationMessages(){
59 this._confirmation = null;
60 this._accept_callback = null;
63 this._is_submitting = true;
66 this._is_submitting = false;
69 this._is_loading = true;
72 this._is_loading = false;
86 return this._confirmation
89 return this._accept_callback
92 return this._is_submitting
95 return this._is_loading