| 
					
				 | 
			
			
				@@ -0,0 +1,301 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import React, { Component } from "react"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { insertPemeriksaan } from "@/actions/pemeriksaan"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Row, Col, Card, CardBody, FormGroup, Input, Button, Modal, ModalHeader, ModalBody, ModalFooter, CardHeader, CardTitle } from "reactstrap"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { toast } from "react-toastify"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Formik, Form, Field, ErrorMessage } from "formik"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import * as Yup from "yup"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { connect } from "react-redux"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getOneSanksi, editTmt } from "@/actions/sanksi"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import DatePicker from "react-datepicker"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import "react-datepicker/dist/react-datepicker.css"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ms from "ms"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { addDays, addMonths } from 'date-fns'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import id from 'date-fns/locale/id'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { addRekomendasiDelegasi } from "../../actions/sanksi"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import moment from "moment-timezone"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const selectInstanceId = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const checkIfFilesAreTooBig = (files) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let valid = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (files) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        files.map((file) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (file.size > 15 * 1024 * 1024) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                valid = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return valid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const checkIfFilesAreCorrectType = (files) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let valid = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (files) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        files.map((file) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!["image/jpeg", "image/png"].includes(file.type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                valid = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return valid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const rekomendasiSchema = Yup.object().shape({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    from_date: Yup.date().notRequired("Wajib diisi"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to_date: Yup.date().notRequired("Wajib diisi"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dokumen: Yup.array().min(1).required("Wajib diisi").test("filesize", "Maksimal ukuran dokumen 15mb", checkIfFilesAreTooBig), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let Dropzone = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class DropzoneWrapper extends Component { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        isClient: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    componentDidMount = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Dropzone = require("react-dropzone").default; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ isClient: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    render() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Dropzone ? <Dropzone {...this.props}>{this.props.children}</Dropzone> : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class InputTanggal extends Component { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    constructor(props) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        super(props); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const tmt_awal = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.state = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dropdownOpen: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            splitButtonOpen: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            files: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sanksi: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            from_date: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            to_date: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            startDay: tmt_awal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sanksi: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async componentDidMount() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { token, query } = this.props; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { id } = query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const sanksi = await getOneSanksi(token, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ sanksi }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(this.state.sanksi) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    toggleSplit = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            splitButtonOpen: !this.state.splitButtonOpen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    toggleDropDown = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dropdownOpen: !this.state.dropdownOpen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onDrop = (files) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            files: files.map((file) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Object.assign(file, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    preview: URL.createObjectURL(file), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stat: "Added " + files.length + " file(s)", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    uploadFiles = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stat: this.state.files.length ? "Dropzone ready to upload " + this.state.files.length + " file(s)" : "No files added.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    clearFiles = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stat: this.state.files.length ? this.state.files.length + " file(s) cleared." : "No files to clear.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            files: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static getInitialProps = async ({ query }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return { query }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handelSimpan = async (data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { token, query } = this.props; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { id } = query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const formdata = new FormData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formdata.append("from_date", this.state.from_date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formdata.append("to_date", this.state.to_date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.state.files.forEach((e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formdata.append("dokumen", e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const toastid = toast.loading("Please wait..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const added = await editTmt(token, id, formdata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!added) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            toast.update(toastid, { render: "All is not good", type: "error", isLoading: false, autoClose: true, closeButton: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const sanksi = await getOneSanksi(token, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setState({ sanksi, files: [], from_date: "", to_date: "" }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resetForm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    render() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { files, sanksi } = this.state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const thumbs = files.map((file, index) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div md={3} key={index}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <span className="text-left">{index + 1}.{file.name}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Card className="card-default"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <CardBody> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p className="lead bb">Perpanjangan Sanksi</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <Formik 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        initialValues={{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            dokumen: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            from_date: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            to_date: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validationSchema={rekomendasiSchema} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onSubmit={async (data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.setState({ data }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            await this.handelSimpan(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {() => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <Form className="form-horizontal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <FormGroup row className="mt-3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <label className="col-md-2 col-form-label">Tanggal Perpanjangan Sanksi :</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <div className="col-md-6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        <Row > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            <Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                <FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    <Field name="from_date"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        {({ field, form }) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            <DatePicker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                selected={this.state.from_date} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                onChange={(from_date) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    this.setState({ from_date }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    form.setFieldValue(field.name, from_date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                dateFormat="dd/MM/yyyy" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                maxDate={this.state.startDay} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                placeholderText="Dari Tanggal" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                locale={id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                className="form-control bg-white" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    </Field> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    <ErrorMessage name="from_date" component="div" className="form-text text-danger" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                </FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            </Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            <Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                <FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    <Field name="to_date"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        {({ field, form }) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            <DatePicker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                selected={this.state.to_date} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                onChange={(to_date) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    this.setState({ to_date }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    form.setFieldValue(field.name, to_date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                dateFormat="dd/MM/yyyy" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                minDate={this.state.from_date} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                maxDate={addMonths(new Date(this.state.from_date), 6)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                placeholderText="Sampai tanggal" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                locale={id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                className="form-control bg-white" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    </Field> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    <ErrorMessage name="to_date" component="div" className="form-text text-danger" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                </FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            </Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        </Row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                </FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <FormGroup row className="mt-3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <label className="col-md-2 col-form-label">Dokumen Perpanjangan Sanksi : <span className="text-danger">*</span></label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <div className="col-md-10"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        <Field name="dokumen"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            {({ field, form }) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                <DropzoneWrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    className="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    onDrop={(e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        this.onDrop(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        form.setFieldValue(field.name, e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    {({ getRootProps, getInputProps, isDragActive }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            <div {...getRootProps()} className={"dropzone card" + (isDragActive ? "dropzone-drag-active" : "")}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                <input {...getInputProps()} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                <div className="dropzone-previews flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    <div className="dropzone-style-1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        <div className="center-ver-hor dropzone-previews flex">{this.state.files.length > 0 ? <Row><span className="text-left">{thumbs}</span></Row> : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            <div className="text-center fa-2x icon-cloud-upload mr-2 "> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                                <h5 className="text-center dz-default dz-message">upload dokumen rekomendasi delegasi</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                <div className="d-flex align-items-center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    <small className="ml-auto"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        <button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            type="button" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            className="btn btn-link" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            onClick={(e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                                this.clearFiles(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                                form.setFieldValue(field.name, []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                            Reset dokumen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                        </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    </small> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                </DropzoneWrapper> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        </Field> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                </FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <FormGroup row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <div className="col-xl-10"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        <Button color className="color-3e3a8e btn-login" type="submit"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            <span className="font-color-white">Kirim</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        </Button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                </FormGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </Form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </Formik> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </CardBody> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </Card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const mapStateToProps = (state) => ({ user: state.user, token: state.token }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default connect(mapStateToProps)(InputTanggal); 
			 |