ice-frontend-react-mobx
Version:
ICE Frontend REACT+MobX
51 lines (41 loc) • 1.19 kB
JavaScript
const debug = require('debug')('ice:stores:GroupSensorData'); // eslint-disable-line no-unused-vars
import TimeSeriesStore from './TimeSeriesStore';
import GroupSensorData from '../models/GroupSensorData';
export default class GroupSensorDataStore extends TimeSeriesStore {
onGroupSensorDataReceived (data) {
this.addDataPoint(data.id, data);
}
onGroupsSensorDataReceived (data) {
if (Array.isArray(data)) {
data.forEach((sensorData) => {
let myDataItem = new GroupSensorData();
myDataItem.updateFromJson(sensorData);
this.addDataPoint(sensorData.groupId, myDataItem);
});
}
}
currentSensorData (id) {
return this.currentDataForId(id);
}
getSensorData (id) {
return this.getDataForId(id);
}
getIds () {
return this._data.keys();
}
load () {
return this._fetchFunction().then((groups) => {
groups.forEach((group) => {
this.updateFromServer(group);
});
});
}
updateFromServer (json) {
let group = this._data.get(json.groupId);
if (!group) {
group = new GroupSensorData();
this._data.set(json.groupId, group);
}
group.updateFromJson(json);
}
}