import React from 'react';
import Pagination from 'util/pagination/index.jsx';
+import PGUtil from 'util/util.jsx'
+const _util = new PGUtil();
import './index.css';
class ResultFilter extends React.Component {
restoreNum: 0,
selected: [{
'cate': 'Category 1',
- 'index': 2,
+ 'index': 0,
+ 'key': 'date',
'data': [
- 'All',
- '7 days',
- '30 days'
+ {'name':'All', 'value':''},
+ {'name':'7 days', 'value':'7'},
+ {'name':'30 days', 'value':'30'}
],
}],
// selected: [{
let cate_index = e.currentTarget.getAttribute("data-cate-index")
let newSelected = this.state.selected;
-
+ console.log('prev index is:' + newSelected[cate_index]["index"])
+ console.log('cur index is:' + item_index)
if (newSelected[cate_index]["index"] != item_index) {
newSelected[cate_index]["index"] = item_index;
this.setState({
}
}
- deleteSelectItemClick(e) {
-
- }
handleClick() {
console.log('handleClick!!', this);
- var self = this;
+ let self = this;
}
+ getFilterParams() {
+ let params_list = this.state.selected;
+ let result = {};
+ for (let i = 0; i < params_list.length; i++) {
+ let params_item = params_list[i];
+ console.log('cur filter index is:' + params_item.index)
+ let value = params_item.data[params_item.index]['value']
+ let key = params_item.key;
+ if (value){
+ console.log('key is:' + key)
+ if(key == 'date'){
+ result[key] = _util.getDateStr(value * -1)
+ }else{
+ result[key] =value
+ }
+
+ }
+ }
+ return result
+ }
applyButtonClick() {
this.setState({
// selected: newArr,
isClear: false
});
this.props.onIsLoadingChange(true);
- this.props.onApplyBtnClick(true);
+ let params = this.getFilterParams()
+ console.dir(params)
+ this.props.onApplyBtnClick(params);
console.log('isLoading:' + this.props.isLoading)
}
<dd onClick={(e) => this.selectItemClick(e)} key={index} data-cate-name={item["cate"]}
data-cate-index={i} data-item-index={index} data-item-name={s}
className={is_high_light}><a
- href="javascript:void(0);">{s}</a></dd>
+ href="javascript:void(0);">{s['name']}</a></dd>
)
});
import Record from 'service/record-service.jsx'
const _util = new PGUtil();
const _record = new Record();
+
class DetailInfo extends React.Component {
constructor(props) {
super(props);
console.log(machine)
// Object.keys(obj).map(key => console.log(obj[key]));
let ro_10 = ro['10'] || {};
+ let rw_10 = rw['10'] || {};
+
+ let rw_tables = Object.keys(rw_10).map(key => {
+ console.log(rw_10[key])
+ let metric = 0;
+ let percentage = 0.0;
+ let status = -1;
+ let tableRow = rw_10[key].map((item, idx) => {
+ console.log('item is:')
+ console.log(item)
+ metric = parseFloat(item['metric']).toFixed(4)
+ percentage = (item['percentage'] * 100).toFixed(2).toString() + '%'
+ status = item['status']
+
+ let results = item['results'].map((result, idx) => {
+ return (
+ <Table.Row>
+ <Table.Cell>{result.run}</Table.Cell>
+ <Table.Cell>{result.tps}</Table.Cell>
+ <Table.Cell>{result.mode}</Table.Cell>
+ <Table.Cell>{result.latency}</Table.Cell>
+ </Table.Row>
+ );
+ });
+ return results;
+
+ });
+ let trend_span
+
+ if (status == -1) {
+ trend_span = <span>{percentage}</span>;
+ } else if (status == 1){
+ trend_span = <span className="trend-span improved"><Icon name="angle double up"/>+{percentage}</span>;
+ } else if (status == 2){
+ trend_span = <span className="trend-span quo"><Icon name="bars"/>+{percentage}</span>;
+ } else if (status == 3){
+ trend_span = <span className="trend-span regressive"><Icon name="angle double down"/>{percentage}</span>;
+ }
+
+ return (
+ <Table celled striped>
+ <Table.Header>
+ <Table.Row>
+ <Table.HeaderCell colSpan="4">
+ <div className="client-title-div">
+ <div>Client(s) {key}: {metric} {trend_span}</div>
+ <div><a href=""> >>prev</a></div>
+ </div>
+ {/*<div>*/}
+ {/*<span>Improved ()</span>*/}
+ {/*</div>*/}
+ </Table.HeaderCell>
+ </Table.Row>
+ <Table.Row>
+ <Table.HeaderCell>Run</Table.HeaderCell>
+ <Table.HeaderCell>Tps</Table.HeaderCell>
+ <Table.HeaderCell>mode</Table.HeaderCell>
+ <Table.HeaderCell>latency</Table.HeaderCell>
+ </Table.Row>
+ </Table.Header>
+
+ <Table.Body>
+ {tableRow}
+ {/*<Table.Row>*/}
+ {/*<Table.Cell>2018-09-11 15:32</Table.Cell>*/}
+ {/*<Table.Cell>200.221</Table.Cell>*/}
+ {/*<Table.Cell>simple</Table.Cell>*/}
+ {/*<Table.Cell>-1</Table.Cell>*/}
+ {/*</Table.Row>*/}
+ </Table.Body>
+ </Table>
+ );
+ });
+
let ro_tables = Object.keys(ro_10).map(key => {
console.log(ro_10[key])
+ let metric = 0;
+ let percentage = 0.0;
+ let status = -1;
let tableRow = ro_10[key].map((item, idx) => {
console.log('item is:')
console.log(item)
+ metric = parseFloat(item['metric']).toFixed(4)
+ percentage = (item['percentage'] * 100).toFixed(2).toString() + '%'
+ status = item['status']
let results = item['results'].map((result, idx) => {
return (
<Table.Row>
- <Table.Cell>{result.start}</Table.Cell>
+ <Table.Cell>{result.run}</Table.Cell>
<Table.Cell>{result.tps}</Table.Cell>
<Table.Cell>{result.mode}</Table.Cell>
<Table.Cell>{result.latency}</Table.Cell>
return results;
});
+ let trend_span
+
+ if (status == -1) {
+ trend_span = <span>{percentage}</span>;
+ } else if (status == 1){
+ trend_span = <span className="trend-span improved"><Icon name="angle double up"/>+{percentage}</span>;
+ } else if (status == 2){
+ trend_span = <span className="trend-span quo"><Icon name="bars"/>+{percentage}</span>;
+ } else if (status == 3){
+ trend_span = <span className="trend-span regressive"><Icon name="angle double down"/>{percentage}</span>;
+ }
return (
<Table celled striped>
<Table.Header>
<Table.Row>
- <Table.HeaderCell colSpan="4">Clients:{key} scale:10 <a href=""> >>prev</a>
- <div>
- mertic:200 <span>Improved (+12.4%)</span>
+ <Table.HeaderCell colSpan="4">
+ <div className="client-title-div">
+ <div>Client(s) {key}: {metric} {trend_span}</div>
+ <div><a href=""> >>prev</a></div>
</div>
+ {/*<div>*/}
+ {/*<span>Improved ()</span>*/}
+ {/*</div>*/}
</Table.HeaderCell>
</Table.Row>
<Table.Row>
- <Table.HeaderCell>Start</Table.HeaderCell>
+ <Table.HeaderCell>Run</Table.HeaderCell>
<Table.HeaderCell>Tps</Table.HeaderCell>
<Table.HeaderCell>mode</Table.HeaderCell>
<Table.HeaderCell>latency</Table.HeaderCell>
<Segment vertical>Farmer Info</Segment>
<FarmerCard machine={machine}></FarmerCard>
+ //todo add a catalog
</div>
<div className="col-md-9">
<div className="col-md-6 card-div">
<Segment vertical>RW</Segment>
- <Table celled striped color='red' key='1'>
- <Table.Header>
- <Table.Row>
- <Table.HeaderCell colSpan="3">Clients:4</Table.HeaderCell>
- </Table.Row>
- <Table.Row>
- <Table.HeaderCell>Food</Table.HeaderCell>
- <Table.HeaderCell>Calories</Table.HeaderCell>
- <Table.HeaderCell>Protein</Table.HeaderCell>
- </Table.Row>
- </Table.Header>
-
- <Table.Body>
- <Table.Row>
- <Table.Cell>Apples</Table.Cell>
- <Table.Cell>200</Table.Cell>
- <Table.Cell>0g</Table.Cell>
- </Table.Row>
- <Table.Row>
- <Table.Cell>Orange</Table.Cell>
- <Table.Cell>310</Table.Cell>
- <Table.Cell>0g</Table.Cell>
- </Table.Row>
- </Table.Body>
- </Table>
+ {rw_tables}
</div>
</div>
]
},
- this.onPageChange = this.onPageChange.bind(this);
+
+ this.onPageChange = this.onPageChange.bind(this);
this.onIsLoadingChange = this.onIsLoadingChange.bind(this);
this.handleApplyBtnClick = this.handleApplyBtnClick.bind(this);
this.loadRecordList = this.loadRecordList.bind(this);
this.loadRecordList();
}
- handleApplyBtnClick() {
- console.log('apply btn clicked!')
- this.loadRecordList()
+ handleApplyBtnClick(params) {
+ console.log('handle apply!')
+
+ let self = this
+ this.setState({filter: params}, ()=> {
+ self.loadRecordList()
+ });
}
// load record list
loadRecordList(page=1) {
let _this = this;
let listParam = {};
- listParam.filter = this.state.filter;
-
+ listParam= this.state.filter;
listParam.page = page;
_record.getRecordList(listParam).then(res => {
_this.changeIsLoading(false);
});
-
console.log(this.state.list)
}
onIsLoadingChange(flag) {
console.log('flag:' + flag)
this.setState({
- isLoading: flag
+ isLoading: flag,
});
console.log('status isLoading:' + this.state.isLoading)
}