Vue.use(Vuex); const store = new Vuex.Store({ state: { accessToken: localStorage.getItem("accessToken"), refreshToken: localStorage.getItem("refreshToken"), user: null, products: [], nodes: [], scenes: [], timers: [], tiggers: [], product: null, node: null, device: null }, actions: { update(context, model) { context.commit(model.event, model); } }, 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; }, nodeEntityUpdated(state, data) { var model = data.model; if (state.nodes) { updateByNumber(state.nodes, model); } if (state.node) { if (state.node.number === model.number) { copy(model, state.node); } } }, dataEntityUpdated(state, data) { var model = data.model; if (state.node) { let device = Enumerable.from(state.node.devices).where(function (o) { return o.id === model.deviceId; }).firstOrDefault(); if (device) { updateByKey(device.data, model); } } if (state.product) { let device = Enumerable.from(state.product.devices).where(function (o) { return o.id === model.deviceId; }).firstOrDefault(); if (device) { updateByKey(device.data, model); } } if (state.device) { let device = state.device.id === model.deviceId ? state.device : null; if (device) { updateByKey(device.data, model); } } } //update(state,method,message,to,from) { // alert(1); //}, //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); // if (device) { // //update device // } //}, //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; // } //} } });