import React, { Component } from "react"; import Router from "next/router"; import { connect } from "react-redux"; import ContentWrapper from "@/components/Layout/ContentWrapper"; import { Row, Col, Card, CardHeader, CardBody, Button, FormGroup, Popover, PopoverHeader } from "reactstrap"; // import { Editor } from 'react-draft-wysiwyg'; import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'; import { EditorState, ContentState, convertFromHTML, convertToRaw, convertFromRaw } from 'draft-js'; // import 'draft-js/dist/Draft.css'; import dynamic from 'next/dynamic'; const Editor = dynamic( () => import('react-draft-wysiwyg').then(mod => mod.Editor), { ssr: false }) import draftToHtml from 'draftjs-to-html'; import pdfMake from "pdfmake/build/pdfmake"; import StateToPdfMake from "draft-js-export-pdfmake"; import pdfFonts from "pdfmake/build/vfs_fonts"; import { toast } from "react-toastify"; import { addCatatan } from "../../../actions/catatan"; import { getCsrf } from "../../../actions/security"; pdfMake.vfs = pdfFonts.pdfMake.vfs; import SummerNote from "../../../components/Extras/summernote"; class NewFile extends Component { constructor(props) { super(props); this.editor = React.createRef(); this.state = { editorState: "
dfgergergr
hgrfhfghf
trhrhrt
", copiedd: false, judul: "", simpan: false, menu: "", }; } static getInitialProps = async ({ query }) => { return { query }; }; componentDidMount() { const { query } = this.props; const { id } = query; } // onEditorStateChange = (editorState) => { // this.setState({ // editorState, // }); // }; handelSimpan = async (data) => { if (this.props?.user?.role.id === 2024) { Swal.fire({ icon: 'error', title: 'Oops...', html: 'Maaf anda tidak memiliki akses untuk menyelesaikanproses ini.
', confirmButtonColor: "#3e3a8e", confirmButtonText: 'Oke' }) } else { const getToken = await getCsrf(); const _csrf = getToken.token; const { token, query } = this.props; const { id } = query; // const isi = ("editorState", draftToHtml(convertToRaw(this.state.editorState.getCurrentContent()))) const toastid = toast.loading("Please wait..."); const added = await addCatatan(token, id, { "judul": this.state.judul, "isi": this.state.editorState, "menu": "Perpanjangan Sanksi" }, _csrf); if (!added) { toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true }); } else { toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true }); Router.push(`/app/perpanjangan-sanksi/detail?id=${id}`); // this.setState({ simpan: true }) } } }; handleGeneratePDF = () => { const rawContent = convertToRaw(this.state.editorState.getCurrentContent()); console.log(rawContent) const stateToPdfMake = new StateToPdfMake(rawContent); console.log(stateToPdfMake.generate()); pdfMake.createPdf(stateToPdfMake.generate()).download(); }; setHandleJudul = (e) => { this.setState({ judul: e.target.value }); }; CloseCopiedd = () => { setTimeout(() => { this.setState({ copiedd: !this.state.copiedd }); }, 1000); } Copiedd = () => this.setState({ copiedd: !this.state.copiedd }) // convertFileToBase64(file) { // return new Promise((resolve, reject) => { // const reader = new FileReader() // reader.readAsDataURL(file) // reader.onload = () => resolve(reader.result) // reader.onerror = () => reject(console.log('FileReader Error: ', error)) // }) // } // onImageUpload = (f, cb, e) => { // let file = f // if (file.length) { // file = f[0] // } // this.convertFileToBase64(file).then(src => { // const $image = $('