Interface SAV

This commit is contained in:
Jonathan Chevalier
2023-07-04 18:22:06 +02:00
parent 7fbe4e48a6
commit 1fc0418ef4
9 changed files with 196 additions and 121 deletions

View File

@@ -3,15 +3,21 @@ import Api from "@/services/Api.js";
export const useGlobalStore = defineStore('global', {
state: () => ({
gulliver: null
gulliver: null,
gta: {idProject: null, projectName: null},
}),
getters: {
numc: (state) => state.gulliver.numc,
url : (state) => state.gulliver.url,
url: (state) => state.gulliver.url,
idProject: (state) => state.gta.idProject,
projectName: (state) => state.gta.projectName,
},
actions: {
async registerSession(){
async registerSession() {
this.gulliver = await Api.call('AdminController', 'getSession')
},
async registerUserSession() {
this.gta = {...await Api.call('AdminController', 'getUserSession')}
}
},
})

View File

@@ -0,0 +1,35 @@
import {defineStore} from 'pinia'
import TicketApi from "@/services/TicketApi";
const splitTicketList = (ticketList, pileName, filter) => {
return (ticketList.hasOwnProperty(pileName)) ? ticketList[pileName].list.filter(ticket => ((filter !== 'ALL') ? ticket.origin === filter : true)) : []
}
export const useTicketStore = defineStore('ticket', {
state: () => ({
ticketList: [],
originFilter: 'ALL',
idTicket: 0,
codeTicket: 0
}),
getters: {
newTickets: (state) => splitTicketList(state.ticketList, 'new_tickets', state.originFilter),
pendingTickets: (state) => splitTicketList(state.ticketList, 'pending_tickets', state.originFilter),
myTickets: (state) => splitTicketList(state.ticketList, 'my_tickets', state.originFilter),
currentTicket: (state) => {
return [
...splitTicketList(state.ticketList, 'new_tickets', state.originFilter),
...splitTicketList(state.ticketList, 'pending_tickets', state.originFilter),
...splitTicketList(state.ticketList, 'my_tickets', state.originFilter)
].filter(t => t.id === state.idTicket)[0]
},
},
actions: {
async registerTicketList() {
this.ticketList = await TicketApi.getTickets()
},
setIdTicket(id) {
this.idTicket = id
}
},
})