mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-21 21:33:08 +01:00
Added functionality to change graph days
This commit is contained in:
41
public/js/app.js
vendored
41
public/js/app.js
vendored
@@ -126657,6 +126657,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);
|
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);
|
||||||
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ "./node_modules/react-bootstrap/esm/index.js");
|
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ "./node_modules/react-bootstrap/esm/index.js");
|
||||||
/* harmony import */ var react_chartjs_2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-chartjs-2 */ "./node_modules/react-chartjs-2/es/index.js");
|
/* harmony import */ var react_chartjs_2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-chartjs-2 */ "./node_modules/react-chartjs-2/es/index.js");
|
||||||
|
/* harmony import */ var react_toastify__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-toastify */ "./node_modules/react-toastify/esm/react-toastify.js");
|
||||||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
@@ -126688,6 +126689,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var HistoryGraph = /*#__PURE__*/function (_Component) {
|
var HistoryGraph = /*#__PURE__*/function (_Component) {
|
||||||
_inherits(HistoryGraph, _Component);
|
_inherits(HistoryGraph, _Component);
|
||||||
|
|
||||||
@@ -126795,6 +126797,25 @@ var HistoryGraph = /*#__PURE__*/function (_Component) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
_defineProperty(_assertThisInitialized(_this), "updateDays", function (e) {
|
||||||
|
var days = e.target.value;
|
||||||
|
|
||||||
|
if (days) {
|
||||||
|
_this.getData(days);
|
||||||
|
|
||||||
|
clearInterval(_this.state["int"]);
|
||||||
|
|
||||||
|
var _int2 = setInterval(_this.getData, 10000);
|
||||||
|
|
||||||
|
react_toastify__WEBPACK_IMPORTED_MODULE_5__["toast"].info('Showing results for the last ' + days + ' days');
|
||||||
|
|
||||||
|
_this.setState({
|
||||||
|
days: days,
|
||||||
|
interval: _int2
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
_this.state = {
|
_this.state = {
|
||||||
days: 30,
|
days: 30,
|
||||||
token: _this.props.token,
|
token: _this.props.token,
|
||||||
@@ -126837,7 +126858,8 @@ var HistoryGraph = /*#__PURE__*/function (_Component) {
|
|||||||
}, "Show results for the last"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__["Form"].Control, {
|
}, "Show results for the last"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__["Form"].Control, {
|
||||||
id: "duDaysInput",
|
id: "duDaysInput",
|
||||||
className: "d-inline mx-2",
|
className: "d-inline mx-2",
|
||||||
defaultValue: days
|
defaultValue: days,
|
||||||
|
onInput: this.updateDays
|
||||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
|
||||||
className: "d-inline"
|
className: "d-inline"
|
||||||
}, "days"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
}, "days"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
||||||
@@ -126993,7 +127015,6 @@ var LatestResults = /*#__PURE__*/function (_Component) {
|
|||||||
value: function render() {
|
value: function render() {
|
||||||
var loading = this.state.loading;
|
var loading = this.state.loading;
|
||||||
var data = this.state.data;
|
var data = this.state.data;
|
||||||
console.log(data);
|
|
||||||
|
|
||||||
if (loading) {
|
if (loading) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__["Container"], {
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__["Container"], {
|
||||||
@@ -127057,7 +127078,14 @@ var LatestResults = /*#__PURE__*/function (_Component) {
|
|||||||
value: parseFloat(data.data.upload).toFixed(1),
|
value: parseFloat(data.data.upload).toFixed(1),
|
||||||
unit: "Mbit/s",
|
unit: "Mbit/s",
|
||||||
icon: "ul"
|
icon: "ul"
|
||||||
}))));
|
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__["Row"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__["Col"], {
|
||||||
|
sm: {
|
||||||
|
span: 12
|
||||||
|
},
|
||||||
|
className: "text-center"
|
||||||
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
||||||
|
className: "text-muted"
|
||||||
|
}, "Last scan performed at: ", new Date(data.data.created_at).toLocaleString()))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
@@ -127159,19 +127187,19 @@ var Widget = /*#__PURE__*/function (_Component) {
|
|||||||
switch (icon) {
|
switch (icon) {
|
||||||
case 'ping':
|
case 'ping':
|
||||||
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||||
"class": "ti-pulse icon text-success"
|
className: "ti-pulse icon text-success"
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'dl':
|
case 'dl':
|
||||||
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||||
"class": "ti-download icon text-warning"
|
className: "ti-download icon text-warning"
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'ul':
|
case 'ul':
|
||||||
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||||
"class": "ti-upload icon text-primary"
|
className: "ti-upload icon text-primary"
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -127435,7 +127463,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var Login = /*#__PURE__*/function (_Component) {
|
var Login = /*#__PURE__*/function (_Component) {
|
||||||
_inherits(Login, _Component);
|
_inherits(Login, _Component);
|
||||||
|
|
||||||
|
|||||||
17
resources/js/components/Graphics/HistoryGraph.js
vendored
17
resources/js/components/Graphics/HistoryGraph.js
vendored
@@ -4,6 +4,7 @@ import Axios from 'axios';
|
|||||||
import { Spinner, Container, Row, Form, Card } from 'react-bootstrap';
|
import { Spinner, Container, Row, Form, Card } from 'react-bootstrap';
|
||||||
import { Line } from 'react-chartjs-2';
|
import { Line } from 'react-chartjs-2';
|
||||||
import { Col } from 'react-bootstrap';
|
import { Col } from 'react-bootstrap';
|
||||||
|
import { toast } from 'react-toastify';
|
||||||
|
|
||||||
export default class HistoryGraph extends Component {
|
export default class HistoryGraph extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -119,6 +120,20 @@ export default class HistoryGraph extends Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateDays = (e) => {
|
||||||
|
var days = e.target.value;
|
||||||
|
if(days) {
|
||||||
|
this.getData(days);
|
||||||
|
clearInterval(this.state.int);
|
||||||
|
var int = setInterval(this.getData, 10000);
|
||||||
|
toast.info('Showing results for the last ' + days + ' days');
|
||||||
|
this.setState({
|
||||||
|
days: days,
|
||||||
|
interval: int
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
var loading = this.state.loading;
|
var loading = this.state.loading;
|
||||||
var duData = this.state.duData;
|
var duData = this.state.duData;
|
||||||
@@ -140,7 +155,7 @@ export default class HistoryGraph extends Component {
|
|||||||
<Col sm={{ span: 12 }}>
|
<Col sm={{ span: 12 }}>
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<h4 className="d-inline">Show results for the last</h4>
|
<h4 className="d-inline">Show results for the last</h4>
|
||||||
<Form.Control id="duDaysInput" className="d-inline mx-2" defaultValue={days}></Form.Control>
|
<Form.Control id="duDaysInput" className="d-inline mx-2" defaultValue={days} onInput={this.updateDays}></Form.Control>
|
||||||
<h4 className="d-inline">days</h4>
|
<h4 className="d-inline">days</h4>
|
||||||
<p className="text-muted">This data refreshes every 10 seconds</p>
|
<p className="text-muted">This data refreshes every 10 seconds</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ export default class LatestResults extends Component {
|
|||||||
render() {
|
render() {
|
||||||
var loading = this.state.loading;
|
var loading = this.state.loading;
|
||||||
var data = this.state.data;
|
var data = this.state.data;
|
||||||
console.log(data);
|
|
||||||
|
|
||||||
if(loading) {
|
if(loading) {
|
||||||
return (
|
return (
|
||||||
@@ -99,6 +98,11 @@ export default class LatestResults extends Component {
|
|||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
<Row>
|
||||||
|
<Col sm={{ span: 12 }} className="text-center">
|
||||||
|
<p className="text-muted">Last scan performed at: {new Date(data.data.created_at).toLocaleString()}</p>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
6
resources/js/components/Graphics/Widget.js
vendored
6
resources/js/components/Graphics/Widget.js
vendored
@@ -33,13 +33,13 @@ export default class Widget extends Component {
|
|||||||
|
|
||||||
switch(icon) {
|
switch(icon) {
|
||||||
case 'ping':
|
case 'ping':
|
||||||
icon = <span class="ti-pulse icon text-success"></span>;
|
icon = <span className="ti-pulse icon text-success"></span>;
|
||||||
break;
|
break;
|
||||||
case 'dl':
|
case 'dl':
|
||||||
icon = <span class="ti-download icon text-warning"></span>;
|
icon = <span className="ti-download icon text-warning"></span>;
|
||||||
break;
|
break;
|
||||||
case 'ul':
|
case 'ul':
|
||||||
icon = <span class="ti-upload icon text-primary"></span>;
|
icon = <span className="ti-upload icon text-primary"></span>;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
1
resources/js/components/Login.js
vendored
1
resources/js/components/Login.js
vendored
@@ -4,7 +4,6 @@ import { Container, Row, Form, Toast } from 'react-bootstrap';
|
|||||||
import { Col } from 'react-bootstrap';
|
import { Col } from 'react-bootstrap';
|
||||||
import { Button } from 'react-bootstrap';
|
import { Button } from 'react-bootstrap';
|
||||||
import Axios from 'axios';
|
import Axios from 'axios';
|
||||||
import { Alert } from 'react-bootstrap';
|
|
||||||
import { toast } from 'react-toastify';
|
import { toast } from 'react-toastify';
|
||||||
|
|
||||||
export default class Login extends Component {
|
export default class Login extends Component {
|
||||||
|
|||||||
Reference in New Issue
Block a user