import { createStore } from "vuex"; const store = createStore({ state() { return { editable: false, filtered: false, searchable: false, deleteBool: false, new: false, customerChanged: false, changedCustomerId: -1, filteredByCustomer: '', addIcon: false, addSolutionIcon: false, solutionIcon: false, addInstanceIcon: false, filterIcon: false, searchIcon: false, instancesIcon: false, attachmentsIcon: false, sellIcon: false, archiveIcon: false, editIcon: false, deleteIcon: false, onAssetlist: true, onAsset: false, onSolutionlistAsset: false, chosenAssetId: -1, newAsset: false, newAssetName: '', newCustomerID: '', newCustomer: '', newLocation: '', newRemoteLocation: '', newType: '', newDescription: '', newNotes: '', newState: '', newLastView: '', newUser: '', hardwareBool: false, newModel: '', newSerialnumber: '', newCPU: '', newRAM: '', newStorageConfiguration: '', newMiscellaneous: '', softwareBool: false, newSoftware: '', newVersion: '', newLicense: '', onTemplatelist: true, onTemplate: false, onInstancelist: false, onInstance: false, newNamePOT: '', newCustomerIDPOT: '', newCustomerPOT: '', newLastViewPOT: '', newUserPOT: '', newDescriptionPOT: '', newNotesPOT: '', chosenPOTId: -1, newNameMVT: '', newCustomerIDMVT: '', newCustomerMVT: '', newLastViewMVT: '', newUserMVT: '', newTypeMVT: '', newNotesMVT: '', chosenMVTId: -1, onSolutionlist: true, onSolution: false, chosenSolutionId: -1, newSolutionNameSol: '', newCustomerIDSol: '', newCustomerSol: '', newAssetNameSol: '', newTypeSol: '', newLastViewSol: '', newUserSol: '', newDescriptionSol: '', newNotesSol: '', onIssueSliplist: true, onIssueSlip: false, chosenIssueSlipId: -1, newTicketNoIS: '', newCustomerIdIS: '', newCustomerIS: '', newNotesIS: '', newUserIS: '', newDeliveryAddressIS: '', newOIs: [], newSupplierRequestDateIS: '', newSupplierRequestIS: '', newSupplierOfferDateIS: '', newSupplierOfferIS: '', newClientOfferDateIS: '', newClientOfferIS: '', newClientOrderDateIS: '', newClientOrderIS: '', newSupplierOrderDateIS: '', newSupplierOrderIS: '', newIngressDateIS: '', newIngressIS: '', newEgressDateIS: '', newEgressIS: '', newIngressBillDateIS: '', newIngressBillIS: '', newEgressBillDateIS: '', newEgressBillIS: '', onIssueItemList: true, onIssueItem: false, onIssueItemVariant: false, chosenIssueId: -1, newNameII: '', newTypeII: '', newStateII: '', newAmountII: '', newPropertiesII: '', chosenIssueVariantId: -1, onEmployeelist: true, onEmployee: false, chosenEmployeeId: -1, newUsernameEmp: '', newPasswordEmp: '', newPasswordRepeatedEmp: '', newFullNameEmp: '', newEmailEmp: '', newPhonenumberEmp: '', newAddressEmp: '', newCityEmp: '', newPostcodeEmp: '', loggedInUserId: '', loggedInUserUsername: '', loggedInUserRegistered: '', loggedInUserLastLogin: '', loggedInUserFullName: '', loggedInUserEmail: '', loggedInUserPhonenumber: '', loggedInUserAddress: '', loggedInUserCity: '', loggedInUserPostcode: '', loggedInUserAdminBool: false, loggedInUserTechnicianBool: false, loggedInUserReaderBool: false, localStorageChanged: false, changeToSet: false, }; }, mutations: { // functions to toggle with the actionbar toggleEditable(state) { state.editable = !state.editable }, toggleChangeToSet(state) { state.changeToSet = !state.changeToSet }, resetChangeToSet(state) { state.changeToSet = false }, toggleFiltered(state) { if (state.filtered == false) { state.filtered = true state.searchable = false } else { state.filtered = false } }, toggleSearchable(state) { if (state.searchable == false) { state.searchable = true state.filtered = false } else { state.searchable = false } state.filteredByCustomer = '' }, toggleCustomerChanged(state) { state.customerChanged = !state.customerChanged }, toggleCustomerId(state, id) { state.changedCustomerId = id }, // functions to change the asset pages changeToAssetlist(state) { state.onAssetlist = true state.onAsset = false state.onSolutionlistAsset = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToCustomerAssetlist(state) { state.onAssetlist = false state.onAsset = false state.onSolutionlistAsset = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToAsset(state) { state.onAssetlist = false state.onAsset = true state.onSolutionlistAsset = false state.addIcon = false state.addSolutionIcon = false state.solutionIcon = true state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = true state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = true }, changeToSolutionlistAsset(state) { state.onAssetlist = false state.onAsset = false state.onSolutionlistAsset = true state.addIcon = false state.addSolutionIcon = true state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, // functions to change the production order and maintenance visit pages changeToTemplatelist(state) { state.onTemplatelist = true state.onTemplate = false state.onInstancelist = false state.onInstance = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToCustomerTemplatelist(state) { state.onTemplatelist = false state.onTemplate = false state.onInstancelist = false state.onInstance = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToTemplate(state) { state.onTemplatelist = false state.onTemplate = true state.onInstancelist = false state.onInstance = false state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = true state.filterIcon = false state.searchIcon = false state.instancesIcon = true state.attachmentsIcon = true state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = true }, changeToInstancelist(state) { state.onTemplatelist = false state.onTemplate = false state.onInstancelist = true state.onInstance = false state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = true state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, addNewAsset(state) { state.newAsset = true state.editable = false state.filtered = false state.searchable = false state.onAssetlist = false state.onAsset = true state.onSolutionlistAsset = false }, // functions to change the solution pages changeToSolutionlist(state) { state.onSolutionlist = true state.onSolution = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToCustomerSolutionlist(state) { state.onSolutionlist = false state.onSolution = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToSolution(state) { state.onSolutionlist = false state.onSolution = true state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = true state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = true }, // functions to change the issue slip pages changeToIssueSliplist(state) { state.onIssueSliplist = true state.onIssueSlip = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToCustomerIssueSliplist(state) { state.onIssueSliplist = false state.onIssueSlip = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToIssueSlip(state) { state.onIssueSliplist = false state.onIssueSlip = true state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = true state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = true }, // functions to change the issue pages changeToIssueItemList(state) { state.onIssueItemList = true state.onIssueItem = false state.onIssueItemVariant = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = true state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToIssueItem(state) { state.onIssueItemList = false state.onIssueItem = true state.onIssueItemVariant = false state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = true state.editIcon = true state.deleteIcon = true }, changeToIssueItemVariant(state) { state.onIssueItemList = false state.onIssueItem = false state.onIssueItemVariant = true state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = true state.archiveIcon = true state.editIcon = true state.deleteIcon = true }, // functions to change the user pages changeToEmployeelist(state) { state.onEmployeelist = true state.onEmployee = false state.addIcon = true state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = true state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = false state.deleteIcon = false }, changeToEmployee(state) { state.onEmployeelist = false state.onEmployee = true state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = true }, changeToSettings(state) { state.addIcon = false state.addSolutionIcon = false state.solutionIcon = false state.addInstanceIcon = false state.filterIcon = false state.searchIcon = false state.instancesIcon = false state.attachmentsIcon = false state.sellIcon = false state.archiveIcon = false state.editIcon = true state.deleteIcon = false }, // functions to update the asset updateAssetComponent(state, asset) { state.newAssetName = asset.assetName state.newCustomerID = asset.customerId state.newCustomer = asset.customer state.newLocation = asset.location state.newRemoteLocation = asset.remoteLocation state.newType = asset.type state.newDescription = asset.description state.newNotes = asset.notes state.newState = asset.state }, updateHardwareComponent(state, asset) { state.hardwareBool = asset.hardwareBool state.newModel = asset.model state.newSerialnumber = asset.serialnumber state.newCPU = asset.CPU state.newRAM = asset.RAM state.newStorageConfiguration = asset.storageConfig state.newMiscellaneous = asset.miscellaneous }, updateSoftwareComponent(state, asset) { state.softwareBool = asset.softwareBool state.newSoftware = asset.software state.newVersion = asset.version state.newLicense = asset.license }, // functions to update the production order template updateProductionOrderTemplateComponent(state, pot) { state.newNamePOT = pot.name state.newCustomerIDPOT = pot.customerId state.newCustomerPOT = pot.customer state.newUserPOT = pot.user state.newDescriptionPOT = pot.description state.newNotesPOT = pot.notes }, // functions to update the maintenance visit template updateMaintenanceVisitTemplateComponent(state, mvt) { state.newNameMVT = mvt.name state.newCustomerIDMVT = mvt.customerId state.newCustomerMVT = mvt.customer state.newUserMVT = mvt.user state.newTypeMVT = mvt.type state.newNotesMVT = mvt.notes }, // functions to update the solution updateSolutionComponent(state, sol) { state.newSolutionNameSol = sol.solutionName state.newCustomerIDSol = sol.customerId state.newCustomerSol = sol.customer state.newAssetNameSol = sol.assetName state.newLastViewSol = sol.lastView state.newTypeSol = sol.type state.newDescriptionSol = sol.description state.newNotesSol = sol.notes state.newUserSol = sol.user }, // functions to update the issue slip component updateIssueSlipComponent(state, is) { state.newTicketNoIS = is.ticketNo state.newCustomerIdIS = is.customerId state.newCustomerIS = is.customer state.newNotesIS = is.notes state.newUserIS = is.user state.newDeliveryAddressIS = is.deliveryAddress }, // functions to update the accounting info component updateOrderingInfoComponent(state, o) { state.newOIs = o.ois }, // functions to update the accounting component updateAccountingComponent(state, is) { state.newSupplierRequestDateIS = is.supplierRequestDate state.newSupplierRequestIS = is.supplierRequest state.newSupplierOfferDateIS = is.supplierOfferDate state.newSupplierOfferIS = is.supplierOffer state.newClientOfferDateIS = is.clientOfferDate state.newClientOfferIS = is.clientOffer state.newClientOrderDateIS = is.clientOrderDate state.newClientOrderIS = is.clientOrder state.newSupplierOrderDateIS = is.supplierOrderDate state.newSupplierOrderIS = is.supplierOrder state.newIngressDateIS = is.ingressDate state.newIngressIS = is.ingress state.newEgressDateIS = is.egressDate state.newEgressIS = is.egress state.newIngressBillDateIS = is.ingressBillDate state.newIngressBillIS = is.ingressBill state.newEgressBillDateIS = is.egressBillDate state.newEgressBillIS = is.egressBill }, // functions to update the issue component updateIssueComponent(state, is) { state.newNameII = is.name state.newTypeII = is.type state.newStateII = is.state state.newAmountII = is.amount state.newPropertiesII = is.properties }, // functions to update the employee component updateEmployeeComponent(state, employee) { state.newUsernameEmp = employee.username state.newPasswordEmp = employee.password state.newPasswordRepeatedEmp = employee.passwordRepeated state.newFullNameEmp = employee.fullName state.newEmailEmp = employee.email state.newPhonenumberEmp = employee.phonenumber state.newAddressEmp = employee.address state.newCityEmp = employee.city state.newPostcodeEmp = employee.postcode }, setLocalStorageChanged(state) { state.localStorageChanged = true }, resetLocalStorageChanged(state) { state.localStorageChanged = false }, // function to set the logged in user setLoggedInUser(state, user) { state.loggedInUserId = user.id state.loggedInUserUsername = user.username state.loggedInUserRegistered = user.registered state.loggedInUserLastLogin = user.lastLogin state.loggedInUserFullName = user.fullName state.loggedInUserEmail = user.email state.loggedInUserPhonenumber = user.phonenumber state.loggedInUserAddress = user.address state.loggedInUserCity = user.city state.loggedInUserPostcode = user.postcode if (user.adminBool == 1) { state.loggedInUserAdminBool = true } else { state.loggedInUserAdminBool = false } if (user.technicianBool == 1) { state.loggedInUserTechnicianBool = true } else { state.loggedInUserTechnicianBool = false } if (user.readerBool == 1) { state.loggedInUserReaderBool = true } else { state.loggedInUserReaderBool = false } }, // function to set the chosen asset setChosenAsset(state, id) { state.chosenAssetId = id }, // function to set the chosen production order template setChosenPOT(state, id) { state.chosenPOTId = id }, // function to set the chosen maintenance visit template setChosenMVT(state, id) { state.chosenMVTId = id }, // function to set the chosen solution setChosenSolution(state, id) { state.chosenSolutionId = id }, // function to set the chosen issue slip setChosenIssueSlip(state, id) { state.chosenIssueSlipId = id }, // function to set the chosen issue setChosenIssue(state, id) { state.chosenIssueId = id }, // function to set the chosen issue variant setChosenIssueVariant(state, id) { state.chosenIssueVariantId = id }, // function to set the chosen user setChosenEmployee(state, id) { state.chosenEmployeeId = id }, // function to reset the pages resetStore(state) { state.editable = false state.filtered = false state.searchable = false state.deleteBool = false state.chosenAssetId = -1 state.filteredByCustomer = '' state.new = false state.customerChanged = false state.changedCustomerId = -1 // reset the asset page variables state.newAssetName = '' state.newCustomerID = '' state.newCustomer = '' state.newLocation = '' state.newRemoteLocation = '' state.newType = '' state.newDescription = '' state.newNotes = '' state.newState = '' state.newLastView = '' state.newUser = '' state.hardwareBool = false state.newModel = '' state.newSerialnumber = '' state.newCPU = '' state.newRAM = '' state.newStorageConfiguration = '' state.newMiscellaneous = '' state.softwareBool = false state.newSoftware = '' state.newVersion = '' state.newLicense = '' // reset the production order template page variables state.newNamePOT = '' state.newCustomerIDPOT = '' state.newCustomerPOT = '' state.newUserPOT = '' state.newDescriptionPOT = '' state.newNotesPOT = '' state.newLastViewPOT = '' state.chosenPOTId = -1 // reset the maintenance visit template page variables state.newNameMVT = '' state.newCustomerIDMVT = '' state.newCustomerMVT = '' state.newUserMVT = '' state.newTypeMVT = '' state.newNotesMVT = '' state.newLastViewMVT = '' state.chosenMVTId = -1 // reset the solution page variables state.newSolutionNameSol = '' state.newCustomerIDSol = '' state.newCustomerSol = '' state.newAssetNameSol = '' state.newLastViewSol = '' state.newTypeSol = '' state.newDescriptionSol = '' state.newNotesSol = '' state.newUserSol = '' state.chosenSolutionId = -1 // reset the issue slip page variables state.chosenIssueSlipId = -1 state.newCustomerIdIS = '' state.newCustomerIS = '' state.newTicketNoIS = '' state.newNotesIS = '' state.newUserIS = '' state.newOIs = [] state.newDeliveryAddressIS = '' state.newSupplierRequestIS = '' state.newSupplierOfferIS = '' state.newClientOfferIS = '' state.newClientOrderIS = '' state.newSupplierOrderIS = '' state.newIngressIS = '' state.newEgressIS = '' state.newIngressBillIS = '' state.newEgressBillIS = '' state.newSupplierRequestDateIS = '' state.newSupplierOfferDateIS = '' state.newClientOfferDateIS = '' state.newClientOrderDateIS = '' state.newSupplierOrderDateIS = '' state.newIngressDateIS = '' state.newEgressDateIS = '' state.newIngressBillDateIS = '' state.newEgressBillDateIS = '' // reset the issue page variables state.chosenIssueId = -1 state.chosenIssueVariantId = -1 state.newNameII = '' state.newTypeII = '' state.newStateII = '' state.newAmountII = '' state.newPropertiesII = '' // reset the employee page variables state.chosenEmployeeId = -1 state.newUsernameEmp = '' state.newPasswordEmp = '' state.newPasswordRepeatedEmp = '' state.newFullNameEmp = '' state.newEmailEmp = '' state.newPhonenumberEmp = '' state.newAddressEmp = '' state.newCityEmp = '' state.newPostcodeEmp = '' }, // function to logout logout(state) { state.loggedInUserId = '' state.loggedInUserUsername = '' state.loggedInUserRegistered = '' state.loggedInUserLastLogin = '' state.loggedInUserFullName = '' state.loggedInUserEmail = '' state.loggedInUserPhonenumber = '' state.loggedInUserAddress = '' state.loggedInUserCity = '' state.loggedInUserPostcode = '' state.loggedInUserAdminBool = false state.loggedInUserTechnicianBool = false state.loggedInUserReaderBool = false }, // functions to (undo) delete an asset doDelete(state) { state.deleteBool = true }, undoDelete(state) { state.deleteBool = false }, // function to update the asset filter updateFilterbyCustomer(state, customer) { state.filteredByCustomer = customer }, // function to get to the add page add(state) { state.new = true state.editable = false state.filtered = false state.searchable = false // set the asset variables state.onAssetlist = false state.onAsset = true state.onSolutionlistAsset = false // set the production order and maintenance visit variables state.onTemplatelist = false state.onTemplate = true state.onInstancelist = false state.onInstance = false // set the solution variables state.onSolutionlist = false state.onSolution = true // set the issue slips variables state.onIssueSliplist = false state.onIssueSlip = true // set the issue variables state.onIssueItemList = false state.onIssueItemVariant = false state.onIssueItem = true // set the employee variables state.onEmployeelist = false state.onEmployee = true }, }, }); export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.use(store); // Install the store instance as a plugin });