| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | import React, { Component } from "react";import ContentWrapper from "@/components/Layout/ContentWrapper";import { Container, Row, Col, Card, CardHeader, CardBody } from "reactstrap";import { connect } from "react-redux";import { jumlahLaporan } from "@/actions/pelaporan";import dynamic from "next/dynamic";import { getjumlahStatusLaporan } from "../../actions/graph";const ReactApexChart = dynamic(() => import("react-apexcharts"), { ssr: false });class ChartRadarB extends React.Component {    constructor(props) {        super(props);        this.state = {            series: [                {                    name: 'Keberatan',                    data: [8, 6, 8, 1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 3],                },                {                    name: 'Banding',                    data: [4, 6, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 4],                }                , {                    name: 'Pemantauan Perbaikan',                    data: [4, 6, 8, 4, 5, 6, 7, 8, 8, 9, 3, 4, 5, 6, 7, 3],                }                , {                    name: 'Pencabutan Sanksi',                    data: [4, 6, 6, 9, 8, 7, 6, 3, 2, 1, 8, 5, 4, 3, 6, 7],                    colors: "#B2B0D2",                },],            options: {                chart: {                    height: 150,                    type: 'radar',                },                xaxis: {                    categories: ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI"]                },                chart: {                    toolbar: {                        show: true,                        tools: {                            download: false,                        },                    },                },                // legend: {                //     show: false,                // }            },        };    }    async componentDidMount() {        const { token } = this.props;        const data = await getjumlahStatusLaporan(this.props.token);        this.setState((prevState) => ({            ...prevState,            series: [{ data: data.data.map((e) => e.jumlah_keberatan), name: "Keberatan" }                , { data: data.data.map((e) => e.jumlah_banding), name: "Banding" },            { data: data.data.map((e) => e.jumlah_pemantauan_perbaikan), name: "Pemantauan perbaikan" },            { data: data.data.map((e) => e.jumlah_pencabutan_sanksi), name: "Pencabutan sanksi" }],            options: {                ...prevState,                xaxis: {                    categories: data.data.map((data) => data.pembina.name),                },            },        }));    }    render() {        return (            <Card className="card-default">                <CardBody>                    <div id="chart">                        <ReactApexChart options={this.state.options} series={this.state.series} type="radar" height={400} />                    </div>                </CardBody>            </Card>        );    }}const MapStateToProps = (state) => ({ token: state.token });export default connect(MapStateToProps)(ChartRadarB);
 |