mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-11 18:32:50 +00:00
handling sensors with redux
This commit is contained in:
83
client/js/redux/actions/sensor.js
Normal file
83
client/js/redux/actions/sensor.js
Normal file
@@ -0,0 +1,83 @@
|
||||
import * as types from "../constants/sensor";
|
||||
import 'whatwg-fetch';
|
||||
|
||||
function loadSensorList(sensor_list){
|
||||
return {
|
||||
type: types.LOAD_SENSOR_LIST,
|
||||
sensor_list
|
||||
}
|
||||
}
|
||||
|
||||
function loadSensorInfoYear(sensor_info){
|
||||
return{
|
||||
type: types.LOAD_SENSOR_INFO_YEAR,
|
||||
sensor_info
|
||||
}
|
||||
}
|
||||
|
||||
function loadSensorInfoMonth(sensor_info){
|
||||
return{
|
||||
type: types.LOAD_SENSOR_INFO_MONTH,
|
||||
sensor_info
|
||||
}
|
||||
}
|
||||
|
||||
function fetchingList(){
|
||||
return {
|
||||
type: types.FETCHING_LIST
|
||||
}
|
||||
}
|
||||
|
||||
function fetchingInfoYear(){
|
||||
return {
|
||||
type: types.FETCHING_INFO_YEAR
|
||||
}
|
||||
}
|
||||
|
||||
function fetchingInfoMonth(){
|
||||
return {
|
||||
type: types.FETCHING_INFO_MONTH
|
||||
}
|
||||
}
|
||||
|
||||
export function fetchSensorList(){
|
||||
return (dispatch) => {
|
||||
dispatch(fetchingList());
|
||||
return fetch('/api/allsensors')
|
||||
.then(response => response.json())
|
||||
.then(json => {
|
||||
dispatch(loadSensorList(json));
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function fetchSensorInfoYear(location, year){
|
||||
return (dispatch) => {
|
||||
dispatch(fetchingInfoYear());
|
||||
return fetch(`/api/sensor/${location}/${year}`)
|
||||
.then(response => response.json())
|
||||
.then(json => {
|
||||
dispatch(loadSensorInfoYear(json));
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function fetchSensorInfoMonth(location, year, month){
|
||||
return (dispatch) => {
|
||||
dispatch(fetchingInfoMonth());
|
||||
return fetch(`/api/sensor/${location}/${year}/${month}`)
|
||||
.then(response => response.json())
|
||||
.then(json => {
|
||||
dispatch(loadSensorInfoMonth(json));
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user