Discover: fix fetch api on once. And switch Navbar done.

This commit is contained in:
chiayin
2023-03-03 17:16:36 +08:00
parent 8f2514cd5c
commit 35568fe095
5 changed files with 88 additions and 53 deletions

View File

@@ -1,12 +1,28 @@
import { defineStore } from "pinia";
import loadingStore from './loading.js';
import pinia from '@/stores/main.js'
import {useToast} from 'vue-toast-notification';
import 'vue-toast-notification/dist/theme-sugar.css';
const loading = loadingStore(pinia);
const $toast = useToast();
// Delay loading and toast 待模組化
let delay = s => new Promise((resolve, reject) => setTimeout(resolve, s));
export default defineStore('allMapDataStore', {
state: () => ({
logId: null,
processMap: {},
bpmn: {},
allProcessMap: {},
allBpmn: {},
httpStatus: 200,
}),
getters: {
processMap: state => {
return state.allProcessMap;
},
bpmn: state => {
return state.allBpmn;
}
},
actions: {
/**
@@ -18,9 +34,21 @@ export default defineStore('allMapDataStore', {
try {
const response = await this.$axios.get(api);
this.processMap = response.data.process_map;
this.bpmn = response.data.bpmn;
this.allProcessMap = response.data.process_map;
this.allBpmn = response.data.bpmn;
if(this.httpStatus < 300) loading.isLoading = false;
} catch(error) {
this.httpStatus = error.request.status;
delay().then(() =>{
loading.isLoading = true;
return delay(1000);
}).then(()=>{
loading.isLoading = false;
return delay(500);
}).then(() => {
$toast.default('Failed to load the discover.');
})
};
},
}