| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import React, { Component } from "react";
- import { Card, Table } from "reactstrap";
- import { getPelanggaran } from "@/actions/pelanggaran";
- export class TablePenetapanSanksi extends Component {
- constructor(props) {
- super(props);
- this.state = {
- checkedData: [],
- tbljenisPelanggaran: [],
- pelanggaran: null,
- };
- }
- componentDidMount = async () => {
- const pelanggaran = await getPelanggaran();
- this.setState({ pelanggaran });
- };
- onHandleChange = (index) => {
- const { pelanggaran, checkedData } = this.state;
- this.setState((prevState) => ({
- ...prevState,
- pelanggaran: {
- data: prevState.pelanggaran.data.map((item, i) => (index !== i ? item : { ...item, checked: !pelanggaran.data[index].checked })),
- },
- }));
- this.setState({ checkedData: pelanggaran.data.filter((e) => e.checked) });
- // prevState.data.map((item, i) => (index !== i ? item : { ...item, checked: !pelanggaran.data[index].checked }));
- console.log(checkedData);
- };
- render() {
- const { pelanggaran } = this.state;
- return (
- <Card className="card-default">
- <Table bordered hover responsive>
- <thead>
- <tr>
- <th>No</th>
- <th>Jenis Pelanggaran</th>
- <th>Sanksi</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- {pelanggaran
- ? pelanggaran.data.map((jp, index) => (
- <tr key={jp._id}>
- <td>
- <label>{index + 1}</label>
- </td>
- <td>
- <div className="media align-items-center">
- <div className="media-body d-flex">
- <div>
- <p>{jp.Pelanggaran}</p>
- <p>TMT : {jp.TMTBulan} Bulan</p>
- <p>Level Pelanggaran : {jp.LabelSangsi}</p>
- </div>
- </div>
- </div>
- </td>
- <td>
- <div className="media align-items-center">
- <div className="media-body d-flex">
- <div>
- <p>{jp.Sangsi}</p>
- <p>Keterangan : {jp.KeteranganSangsi}</p>
- </div>
- </div>
- </div>
- </td>
- <td>
- <div className="checkbox c-checkbox">
- <label>
- <input type="checkbox" onChange={(e) => this.onHandleChange(index)} />
- <span className="fa fa-check"></span>
- </label>
- </div>
- </td>
- </tr>
- ))
- : ""}
- </tbody>
- </Table>
- </Card>
- );
- }
- }
- export default TablePenetapanSanksi;
|