index.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React, { Component } from "react";
  2. import ContentWrapper from "@/components/Layout/ContentWrapper";
  3. import { Row, Col, Button, Card, CardBody, Table } from "reactstrap";
  4. import { connect } from "react-redux";
  5. import TableRiwayat from "@/components/Riwayat/TableRiwayat";
  6. import ChartData from "@/components/Riwayat/ChartData";
  7. import { getLog2 } from "@/actions/log";
  8. import ChartLineDisk from "../../../components/Riwayat/ChartLineDisk";
  9. import ChartDonutDisk from "../../../components/Riwayat/ChartDonutDisk";
  10. class Riwayat extends Component {
  11. constructor(props) {
  12. super(props);
  13. this.state = {
  14. dataRiwayat: []
  15. };
  16. }
  17. componentDidMount = async () => {
  18. const { token } = this.props;
  19. const data = await getLog2(this.props.token)
  20. const dataRiwayat = data.data
  21. this.setState({ dataRiwayat })
  22. }
  23. setDateFilter = (data) => {
  24. this.setState({ dataFilter: data })
  25. }
  26. componentDidUpdate = async () => {
  27. if (this.state.dataFilter?.updateTable === true) {
  28. const dataRiwayat = {}
  29. const date1 = moment(this.state.dataFilter.fromDate).format("YYYY-MM-DD")
  30. const date2 = moment(this.state.dataFilter.toDate).format("YYYY-MM-DD")
  31. const data = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
  32. this.setState({ dataRiwayat });
  33. }
  34. }
  35. render() {
  36. return (
  37. <ContentWrapper>
  38. <div className="content-heading">
  39. <span className="font-color-white">Riwayat</span>
  40. </div>
  41. <Row>
  42. <Col lg="8">
  43. <ChartLineDisk />
  44. </Col>
  45. <Col lg="4">
  46. <ChartDonutDisk />
  47. </Col>
  48. <ChartData />
  49. <Col lg="12">
  50. <TableRiwayat />
  51. </Col>
  52. </Row>
  53. </ContentWrapper>
  54. );
  55. }
  56. }
  57. const mapStateToProps = (state) => ({ user: state.user, token: state.token });
  58. export default connect(mapStateToProps)(Riwayat);