import React from 'react'; import {Container, Segment, Table, Label, Checkbox, Icon} from 'semantic-ui-react'; import {getRequest} from '../../../../actions'; import ListItem from './ListItem'; const sort_icon = { "asc": "caret down", "desc": "caret up" } class LocStatus extends React.Component{ state = { autoRefresh: false, list: [], sort: { field: '', order: '' } } tick = null componentDidMount(){ this.getList(); } componentWillUnmount(){ clearInterval(this.tick); } changeRefresh = () => { this.setState({ autoRefresh: !this.state.autoRefresh }, ()=>{ this.checkRefresh(); }) } checkRefresh = () => { if(this.state.autoRefresh) { this.tick = setInterval(this.runTick, 2000); }else{ clearInterval(this.tick); } } runTick = () => { this.getList(); } getList = () => { let {toggleLoading, showDialog} = this.props; let json = { sort: this.state.sort }; fetch('/api/wristband/getstatus', getRequest(json)) .then(response=>response.json()) .then(json => { if(json.status != 1) return showDialog(json.message); this.setState({ list: [...(json.data.record || [])] }) }); } handlerSort = (tag) => { if(!tag) return ; let sort = this.state.sort; if(tag == sort.field){ if(sort.order == 'asc') sort.order = 'desc'; else sort.order = 'asc'; }else{ sort.field = tag; sort.order = 'asc'; } this.setState({ sort }, () => { this.getList(); }) } renderSortIcon = (tag) => { if(this.state.sort.field == tag) return (); return null; } render (){ let {i18n} = this.props; return ( {this.changeRefresh()}} label="自動更新" /> { this.handlerSort('mac') }}> 手環ID { this.renderSortIcon('mac') } 地點 {this.handlerSort('val3')}}> 步數 { this.renderSortIcon('val3') } {this.handlerSort('val4')}}> 剩餘電量 { this.renderSortIcon('val4') } {this.handlerSort('val2')}}> HR {this.renderSortIcon('val2')} {this.handlerSort('val5')}}> SBP {this.renderSortIcon('val5')} {this.handlerSort('val6')}}> DBP {this.renderSortIcon('val6')} {this.handlerSort('val7')}}> 卡路里 {this.renderSortIcon('val7')} {this.handlerSort('val9')}}> SOS {this.renderSortIcon('val9')} 時間 {/**/} { this.state.list.map((t,idx)=>( )) }
) } } export default LocStatus;