You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.0 KiB
119 lines
4.0 KiB
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.number === model.number;
|
|
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;
|
|
// }
|
|
//}
|
|
}
|
|
}); |