| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- 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;
 
- 		const dataDisk = await getDiskSpace(token);
 
- 		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 });
 
- 		}
 
- 		this.setState({ dataDisk })
 
- 	};
 
- 	ChartDonut = {
 
- 		options: {
 
- 			element: 'morris-donut',
 
- 			colors: ['#3e3a8e', '#fad732'],
 
- 			resize: true,
 
- 			formatter: function (value, data) {
 
- 				return value + '%';
 
- 			}
 
- 		},
 
- 	};
 
- 	render() {
 
- 		const { use_disk, free_disk, loading, dataDisk } = this.state;
 
- 		console.log(dataDisk?.data?.map(e => e.timestamp))
 
- 		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 mr-3 ml-3">
 
- 						<span>Data Statistik Kapasitas Hardisk Per {moment(dataDisk?.data?.map(e => e.timestamp)).utc().format('HH:mm')} WIB {moment().locale("id").format("DD MMMM YYYY")}</span>
 
- 					</div>
 
- 				</Card>
 
- 			</Col>
 
- 		);
 
- 	}
 
- }
 
- export default ChartDonutDisk;
 
 
  |