|  | @@ -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()
 |