import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Axios from 'axios';
import { Container, Row, Table, Col, Collapse, Button } from 'react-bootstrap';
import TableRow from './TableRow';
export default class TestsTable extends Component {
constructor(props) {
super(props)
this.state = {
page: 1,
lastPage: 1,
data: [],
showTable: false,
}
}
componentDidMount() {
this.getData();
}
getData = (page = this.state.page) => {
var url = 'api/speedtest/?page=' + page;
Axios.get(url)
.then((resp) => {
var data = resp.data.data.data;
data = this.state.data.concat(data);
var page = resp.data.data.current_page;
var lastPage = resp.data.data.last_page;
this.setState({
data: data,
page: page,
lastPage: lastPage,
});
})
.catch((err) => {
console.log(err);
})
}
getMoreData = () => {
var page = this.state.page;
page = page + 1;
this.getData(page);
}
toggleCollapse = () => {
var show = this.state.showTable;
if(show) {
this.setState({
showTable: false
});
} else {
this.setState({
showTable: true
});
}
}
render() {
var page = this.state.page;
var lastPage = this.state.lastPage;
var data = this.state.data;
var show = this.state.showTable;
if(data.length > 0) {
return (
All tests
{(show) ?
:
}
| ID |
Time |
Download (Mbit/s) |
Upload (Mbit/s) |
Ping (ms) |
More |
{data.map((e,i) => {
return (
);
})}
{page < lastPage &&
}
);
} else {
return (
<>
>
)
}
}
}
if (document.getElementById('TestsTable')) {
ReactDOM.render(, document.getElementById('TestsTable'));
}