| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import React, { Component } from "react";
- import ContentWrapper from "@/components/Layout/ContentWrapper";
- import { Container, Row, Col, Card, CardHeader, CardBody } from "reactstrap";
- import Sparkline from "@/components/Common/Sparklines.js";
- import MorrisChart from "@/components/Charts/Morris.js";
- import { getDiskSpace } from "../../actions/disk";
- import moment from "moment";
- class ChartDonutDisk extends Component {
- constructor(props) {
- super(props);
- this.state = {
- use_disk: undefined,
- free_disk: undefined,
- loading: true,
- };
- }
- componentDidMount = async () => {
- const { token } = this.props;
- try {
- const dataDisk = await getDiskSpace(token);
- const use_disk = parseFloat(`${dataDisk?.data?.map(e => e.use_percent)}`.replace('%', ''));
- const free_disk = parseFloat(100 - use_disk);
- this.setState({ use_disk, free_disk, loading: false });
- } catch (error) {
- console.error("Error fetching disk space data: ", error);
- this.setState({ loading: false });
- }
- };
- ChartDonut = {
- options: {
- element: 'morris-donut',
- colors: ['#3e3a8e', '#fad732'],
- resize: true,
- formatter: function (value, data) {
- return value + '%';
- }
- },
- };
- render() {
- const { use_disk, free_disk, loading } = this.state;
- if (loading) {
- return <div>Loading...</div>;
- }
- const chartData = [
- {
- label: "Terpakai",
- color: "#3e3a8e",
- value: use_disk
- },
- {
- label: "Tidak Terpakai",
- color: "#b0adfe",
- value: free_disk
- }
- ];
- return (
- <Col lg={12}>
- <Card className="card-default">
- <CardBody>
- <MorrisChart type={'Donut'} id="morris-donut" options={this.ChartDonut.options} data={chartData} className="flot-chart" />
- </CardBody>
- <div align="center" className=" mb-2">
- <span>Data Statistik Kapasitas Hardisk Per {moment().locale("id").format("DD MMMM YYYY")}</span>
- </div>
- </Card>
- </Col>
- );
- }
- }
- export default ChartDonutDisk;
|