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; // let blocksFromHTML; // let initialEditorContent; // if (typeof window !== 'undefined') { // blocksFromHTML = convertFromHTML('
3dexcjghc
sadbsghavdklhjbs
dajdindfehjrjjnfdq
sadbsghavdklhjbs
dajdindfehjrjjnfdq
'); // initialEditorContent = ContentState.createFromBlockArray( // blocksFromHTML.contentBlocks, // blocksFromHTML.entityMap // ); // } class NewFile extends Component { constructor(props) { super(props); this.state = { editorState: EditorState.createEmpty(), copiedd: false, judul: "", simpan: false, }; } static getInitialProps = async ({ query }) => { return { query }; }; componentDidMount() { const { query } = this.props; const { id } = query; // let blocksFromHTML; // let editorState; // if (typeof window !== 'undefined') { // blocksFromHTML = convertFromHTML(localStorage.getItem("editorState")); // editorState = ContentState.createFromBlockArray( // blocksFromHTML.contentBlocks, // blocksFromHTML.entityMap // ); // } // this.setState({ // editorState: EditorState.createWithContent(editorState) // }); } onEditorStateChange = (editorState) => { this.setState({ editorState, }); // localStorage.setItem("editorState", draftToHtml(convertToRaw(editorState.getCurrentContent()))) }; 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": isi, "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 }) render() { const { editorState } = this.state; return (