275 lines
8.8 KiB
JavaScript
275 lines
8.8 KiB
JavaScript
import { createStore } from "vuex";
|
|
|
|
const store = createStore({
|
|
state() {
|
|
return {
|
|
editable: false,
|
|
filtered: false,
|
|
searchable: false,
|
|
deleteBool: false,
|
|
new: false,
|
|
filteredByClient: '',
|
|
|
|
onAssetlist: true,
|
|
onCustomerAssetlist: false,
|
|
onAsset: false,
|
|
onSolutionlistAsset: false,
|
|
chosenAssetId: -1,
|
|
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,
|
|
onCustomerTemplatelist: false,
|
|
onTemplate: false,
|
|
onInstancelist: false,
|
|
onInstance: false,
|
|
newNamePOT: '',
|
|
newCustomerIDPOT: '',
|
|
newCustomerPOT: '',
|
|
newLastViewPOT: '',
|
|
newUserPOT: '',
|
|
newDescriptionPOT: '',
|
|
newNotesPOT: '',
|
|
chosenPOTId: -1,
|
|
|
|
};
|
|
},
|
|
mutations: {
|
|
// functions to toggle with the actionbar
|
|
toggleEditable(state) {
|
|
state.editable = !state.editable
|
|
},
|
|
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.filteredByClient = ''
|
|
},
|
|
|
|
// functions to change the asset pages
|
|
changeToAssetlist(state) {
|
|
state.onAssetlist = true
|
|
state.onCustomerAssetlist = false
|
|
state.onAsset = false
|
|
state.onSolutionlistAsset = false
|
|
},
|
|
changeToCustomerAssetlist(state) {
|
|
state.onAssetlist = false
|
|
state.onCustomerAssetlist = true
|
|
state.onAsset = false
|
|
state.onSolutionlistAsset = false
|
|
},
|
|
changeToAsset(state) {
|
|
state.onAssetlist = false
|
|
state.onCustomerAssetlist = false
|
|
state.onAsset = true
|
|
state.onSolutionlistAsset = false
|
|
},
|
|
changeToSolutionlistAsset(state) {
|
|
state.onAssetlist = false
|
|
state.onCustomerAssetlist = false
|
|
state.onAsset = false
|
|
state.onSolutionlistAsset = true
|
|
},
|
|
|
|
// functions to change the production order pages
|
|
changeToTemplatelist(state) {
|
|
state.onTemplatelist = true
|
|
state.onCustomerTemplatelist = false
|
|
state.onTemplate = false
|
|
state.onInstancelist = false
|
|
state.onInstance = false
|
|
},
|
|
changeToCustomerTemplatelist(state) {
|
|
state.onTemplatelist = false
|
|
state.onCustomerTemplatelist = true
|
|
state.onTemplate = false
|
|
state.onInstancelist = false
|
|
state.onInstance = false
|
|
},
|
|
changeToTemplate(state) {
|
|
state.onTemplatelist = false
|
|
state.onCustomerTemplatelist = false
|
|
state.onTemplate = true
|
|
state.onInstancelist = false
|
|
state.onInstance = false
|
|
},
|
|
changeToInstancelist(state) {
|
|
state.onTemplatelist = false
|
|
state.onCustomerTemplatelist = false
|
|
state.onTemplate = false
|
|
state.onInstancelist = true
|
|
state.onInstance = false
|
|
},
|
|
changeToInstance(state) {
|
|
state.onTemplatelist = false
|
|
state.onCustomerTemplatelist = false
|
|
state.onTemplate = false
|
|
state.onInstancelist = false
|
|
state.onInstance = true
|
|
},
|
|
|
|
// 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
|
|
},
|
|
|
|
// 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 reset the pages
|
|
resetStore(state) {
|
|
state.editable = false
|
|
state.filtered = false
|
|
state.searchable = false
|
|
state.deleteBool = false
|
|
state.chosenAssetId = -1
|
|
state.filteredByClient = ''
|
|
state.new = false
|
|
|
|
// 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 = false
|
|
state.newDescriptionPOT = ''
|
|
state.newNotesPOT = ''
|
|
state.newLastViewPOT = ''
|
|
},
|
|
|
|
// functions to (undo) delete an asset
|
|
doDelete(state) {
|
|
state.deleteBool = true
|
|
},
|
|
undoDelete(state) {
|
|
state.deleteBool = false
|
|
},
|
|
|
|
// function to update the asset filter
|
|
updateFilterbyClient(state, client) {
|
|
state.filteredByClient = client
|
|
},
|
|
|
|
// 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.onCustomerAssetlist = false
|
|
state.onAsset = true
|
|
state.onSolutionlistAsset = false
|
|
|
|
// set the production order variables
|
|
state.onTemplatelist = false
|
|
state.onCustomerTemplatelist = false
|
|
state.onTemplate = true
|
|
state.onInstancelist = false
|
|
state.onInstance = false
|
|
},
|
|
|
|
},
|
|
});
|
|
|
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
nuxtApp.vueApp.use(store);
|
|
// Install the store instance as a plugin
|
|
}); |