|
|
@@ -6,6 +6,8 @@ import Button from "reactstrap/lib/Button";
|
|
|
import { getOneLaporan, updateLaporan } from "@/actions/pelaporan";
|
|
|
import Router from "next/router";
|
|
|
import { ToastContainer, toast } from "react-toastify";
|
|
|
+import { getAutoSave } from "@/actions/autosave";
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
@@ -19,22 +21,28 @@ export class TablePenetapanSanksi extends Component {
|
|
|
checkedData: [],
|
|
|
labelSanksi: [],
|
|
|
btnDelegasi: false,
|
|
|
-
|
|
|
};
|
|
|
+ this.onHandleChange = this.onHandleChange.bind(this)
|
|
|
}
|
|
|
|
|
|
componentDidMount = async () => {
|
|
|
- const { token } = this.props;
|
|
|
+ const { token, query } = this.props;
|
|
|
+ const { id } = query;
|
|
|
const pelanggaran = await getPelanggaran(token);
|
|
|
- this.setState({ pelanggaran });
|
|
|
+ const getDataSave = await getAutoSave({ id, laporan: true });
|
|
|
+ const autoSaveDataPelanggaran = getDataSave.data?.PenetapanSanksi?.dataPelanggaran;
|
|
|
+ this.setState({ pelanggaran, checkedData: autoSaveDataPelanggaran ? autoSaveDataPelanggaran.data.map(e => e._id) : [] });
|
|
|
+ this.checkedData = this.state.checkedData
|
|
|
};
|
|
|
|
|
|
onHandleChange = (evt) => {
|
|
|
const checked = evt.target.checked;
|
|
|
const item = evt.target.value;
|
|
|
- if (checked) this.checkedData.push(evt.target.value);
|
|
|
- else this.checkedData = this.checkedData.filter((e) => e != item);
|
|
|
- this.props.setCheckedData(this.checkedData);
|
|
|
+ if (checked) this.state.checkedData.push(evt.target.value);
|
|
|
+ // else this.setState((prevState) => ({ ...prevState, checkedData: prevState.checkedData.filter((e) => e != item) }));
|
|
|
+ // else this.setState({ checkedData: this.state.checkedData.filter((e) => e != item) });
|
|
|
+ else this.state.checkedData = this.state.checkedData.filter((e) => e != item)
|
|
|
+ this.props.setCheckedData(this.state.checkedData);
|
|
|
};
|
|
|
|
|
|
setLabelSanksi = (evt, label_sanksi) => {
|
|
|
@@ -50,7 +58,6 @@ export class TablePenetapanSanksi extends Component {
|
|
|
|
|
|
render() {
|
|
|
const { pelanggaran, labelSanksi, checkedData } = this.state;
|
|
|
- console.log(labelSanksi)
|
|
|
|
|
|
return (
|
|
|
<Card className="card-default">
|
|
|
@@ -94,7 +101,7 @@ export class TablePenetapanSanksi extends Component {
|
|
|
<td>
|
|
|
<div className="checkbox c-checkbox">
|
|
|
<label>
|
|
|
- <input type="checkbox" value={jp._id} onChange={(evt) => {
|
|
|
+ <input type="checkbox" checked={checkedData.find(id => id === jp._id)} value={jp._id} onChange={(evt) => {
|
|
|
this.onHandleChange(evt)
|
|
|
this.setLabelSanksi(evt, jp.label_sanksi)
|
|
|
this.props.handleAutoSave()
|