sensor list

This commit is contained in:
insanity 2017-06-11 18:32:37 +09:00
parent cc9360b1c2
commit 895b113359

View File

@ -8,100 +8,101 @@ import { blue500, yellow600 } from 'material-ui/styles/colors';
export class Sensors extends React.Component<any, any> { export class Sensors extends React.Component<any, any> {
sensorMap = {}; sensorMap = {};
constructor(props: any, context: any) { constructor(props: any, context: any) {
super(props, context); super(props, context);
this.state = { this.state = {
sensors: [], sensors: [],
test: {}, sensorItems: {},
}; };
}
componentWillMount() {
this.getSensorList();
}
getSensorList() {
let obj: any;
obj = {
"id": "1",
};
let os: OFRest = new OFRest("Sensor", "List", obj);
var that: any = this;
os.Call().then(function (res) {
return res.json();
}).then(function (json) {
let list = JSON.parse(json.resultStr);
that.setState({
sensors: list,
});
for (var i = 0; i < list.length; i++) {
that.getSensorItems(list[i]);
}
}).catch(function (err) {
console.log(err);
});
}
isSelected = (index: any) => {
if (this.state.selected.indexOf(index) === -1) {
return false;
} else {
return true;
}
}
getSensorItems(sensor: any) {
var nested = Array();
let os: OFRest = new OFRest("SensorItemMapping", "List", sensor);
var that: any = this;
os.Call().then(function (res) {
return res.json();
}).then(function (json) {
var list = JSON.parse(json.resultStr);
that.sensorMap[sensor.id] = list;
that.setState({
test: that.sensorMap,
});
}).catch(function (err) {
console.log(err);
});
}
getItems = (sensor:any) => {
let arr = Array();
let list = this.state.test[sensor.id];
if(list === undefined || list.length === 0 || list === null) {
return arr;
}
for(var i=0;i<list.length;i++){
console.log(list[i]);
arr.push(<ListItem key={i} primaryText={list[i].sensorItem.name}/>);
} }
return arr; componentWillMount() {
} this.getSensorList();
}
render() {
return ( getSensorList() {
<Paper> let obj: any;
Sensors obj = {
"id": "1",
};
let os: OFRest = new OFRest("Sensor", "List", obj);
var that: any = this;
os.Call().then(function (res) {
return res.json();
}).then(function (json) {
let list = JSON.parse(json.resultStr);
that.setState({
sensors: list,
});
for (var i = 0; i < list.length; i++) {
that.getSensorItems(list[i]);
}
}).catch(function (err) {
console.log(err);
});
}
isSelected = (index: any) => {
if (this.state.selected.indexOf(index) === -1) {
return false;
} else {
return true;
}
}
getSensorItems(sensor: any) {
let os: OFRest = new OFRest("SensorItemMapping", "List", sensor);
var that: any = this;
os.Call().then(function (res) {
return res.json();
}).then(function (json) {
var list = JSON.parse(json.resultStr);
if (list.length !== 0) {
that.sensorMap[sensor.id] = list;
that.setState({
sensorItems: that.sensorMap,
});
}
}).catch(function (err) {
console.log(err);
});
}
getItems = (sensor: any) => {
let arr = Array();
let list = this.state.sensorItems[sensor.id];
if (list === undefined || list.length === 0 || list === null) {
return arr;
}
for (var i = 0; i < list.length; i++) {
arr.push(<ListItem key={i} primaryText={list[i].sensorItem.name} />);
}
return arr;
}
render() {
return (
<Paper>
Sensors
<List> <List>
{this.state.sensors.map((sensor: any, index: number) => ( {this.state.sensors.map((sensor: any, index: number) => (
<ListItem key={index} <ListItem key={index}
leftAvatar={<Avatar icon={<EditorInsertChart />} backgroundColor={yellow600} />} leftAvatar={<Avatar icon={<EditorInsertChart />} backgroundColor={yellow600} />}
primaryText={'By ' + sensor.crawler.name} primaryText={'By ' + sensor.crawler.name}
secondaryText={'Created at ' + sensor.createDate} secondaryText={'Created at ' + sensor.createDate}
initiallyOpen={true} initiallyOpen={true}
nestedItems={this.getItems(sensor)} nestedItems={this.getItems(sensor)}
/> />
))} ))}
</List> </List>
</Paper> </Paper>
); );
} }
} }