mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-21 21:33:08 +01:00
Added auto-refresh on all tests table
This commit is contained in:
25
resources/js/components/Graphics/TestsTable.js
vendored
25
resources/js/components/Graphics/TestsTable.js
vendored
@@ -13,26 +13,35 @@ export default class TestsTable extends Component {
|
||||
lastPage: 1,
|
||||
data: [],
|
||||
showTable: false,
|
||||
refresh: true,
|
||||
interval: null
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.getData();
|
||||
var int = setInterval(this.getData, 10000);
|
||||
this.setState({
|
||||
interval: int
|
||||
});
|
||||
}
|
||||
|
||||
getData = (page = this.state.page) => {
|
||||
getData = (page = this.state.page, refresh = true) => {
|
||||
var url = 'api/speedtest/?page=' + page;
|
||||
|
||||
Axios.get(url)
|
||||
.then((resp) => {
|
||||
var data = resp.data.data.data;
|
||||
data = this.state.data.concat(data);
|
||||
if(!refresh) {
|
||||
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,
|
||||
refresh: refresh
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
@@ -44,7 +53,11 @@ export default class TestsTable extends Component {
|
||||
var page = this.state.page;
|
||||
page = page + 1;
|
||||
|
||||
this.getData(page);
|
||||
if(this.state.refresh) {
|
||||
clearInterval(this.state.interval);
|
||||
}
|
||||
|
||||
this.getData(page, false);
|
||||
}
|
||||
|
||||
toggleCollapse = () => {
|
||||
@@ -66,6 +79,7 @@ export default class TestsTable extends Component {
|
||||
var lastPage = this.state.lastPage;
|
||||
var data = this.state.data;
|
||||
var show = this.state.showTable;
|
||||
var refresh = this.state.refresh;
|
||||
|
||||
if(data.length > 0) {
|
||||
return (
|
||||
@@ -80,6 +94,11 @@ export default class TestsTable extends Component {
|
||||
<span className="ti-angle-down"></span>
|
||||
}
|
||||
</div>
|
||||
{(show) &&
|
||||
<div className="my-1">
|
||||
<span className="text-muted">Auto refresh: {(refresh) ? 'On' : 'Off'}</span>
|
||||
</div>
|
||||
}
|
||||
</Col>
|
||||
</Row>
|
||||
<Collapse in={show}>
|
||||
|
||||
Reference in New Issue
Block a user