Vue.use(Vuex); const store = new Vuex.Store({ state: { accessToken: localStorage.getItem("accessToken"), refreshToken: localStorage.getItem("refreshToken"), user: null, products: [], nodes: [], product: null, node: null, device:null }, mutations: { setToken(state, data) { state.accessToken = data.accessToken; localStorage.setItem("accessToken", state.accessToken); state.refreshToken = data.refreshToken; localStorage.setItem("refreshToken", state.refreshToken); }, logout(state) { state.accessToken = null; state.refreshToken = null; localStorage.removeItem('accessToken'); localStorage.removeItem('refreshToken'); }, setUser(state, user) { state.user = user; }, setProducts(state, model) { state.products = model; }, setNodes(state, model) { state.nodes = model; }, setProduct(state, model) { state.product = model; }, setDevice(state, model) { state.device = model; }, setNode(state, model) { state.node = model; }, updateNode(state, model) { updateByNumber(state.nodes, model); }, insertDevice(state, model) { updateByNumber(state.devices, model); var node = Enumerable.from(state.nodes).where(function (o) { return o.id === model.nodeId; }).firstOrDefault(); if (node) { node.count += 1; } var product = Enumerable.from(state.products).where(function (o) { return o.id === model.nodeId; }).firstOrDefault(); if (product) { product.count += 1; } }, updateDevice(state, model) { updateByNumber(state.devices, model); }, deleteDevice(state, model) { deleteByNumber(state.devices, model); var node = Enumerable.from(state.nodes).where(function (o) { return o.id === model.nodeId; }).firstOrDefault(); if (node) { node.count -= 1; } var product = Enumerable.from(state.products).where(function (o) { return o.id === model.productId; }).firstOrDefault(); if (product) { product.count -= 1; } } }, })