|
|
@@ -1,46 +1,80 @@
|
|
|
import Datatable from "@/components/Tables/Datatable";
|
|
|
-import {
|
|
|
- Button, Dropdown,
|
|
|
- DropdownToggle,
|
|
|
- DropdownMenu,
|
|
|
- DropdownItem,
|
|
|
-} from "reactstrap";
|
|
|
+import { Button, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalBody, ModalFooter, ModalHeader } from "reactstrap";
|
|
|
import Link from "next/link";
|
|
|
import moment from "moment";
|
|
|
import { ENV } from '../../env.js';
|
|
|
import CopyToClipboard from "react-copy-to-clipboard";
|
|
|
import { useState } from "react";
|
|
|
-import { EditorState, ContentState, convertFromHTML, convertToRaw, convertFromRaw } from 'draft-js';
|
|
|
-import ReactToPrint from "react-to-print";
|
|
|
-import ComponentToPrint from "./presensi_print";
|
|
|
import { deleteCatatan } from "../../actions/catatan.js";
|
|
|
import { toast } from "react-toastify";
|
|
|
+import { useSelector } from "react-redux";
|
|
|
+import Router from "next/router";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readOnly }) {
|
|
|
+
|
|
|
+function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readOnly, role }) {
|
|
|
const [dropdownState, setDropdownState] = useState(false);
|
|
|
+ const [seledtedID, setSelectedID] = useState("")
|
|
|
+ const [modalIsOpen, setModalIsOpen] = useState(false)
|
|
|
+ const token = useSelector((state) => state.token)
|
|
|
+
|
|
|
const toggleDD = (dd) => {
|
|
|
setDropdownState(prevState => ({
|
|
|
...prevState,
|
|
|
[dd]: !prevState[dd]
|
|
|
}));
|
|
|
};
|
|
|
-// const deletedcatatan = async(id)=>{
|
|
|
-
|
|
|
-// const toastid = toast.loading("Please wait...");
|
|
|
-// const added = await deleteCatatan(id);
|
|
|
-// 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=${this.state.catatan.sanksi_id}`);
|
|
|
-// }
|
|
|
-// }
|
|
|
+ // const deletedcatatan = async(id)=>{
|
|
|
+
|
|
|
+ // const toastid = toast.loading("Please wait...");
|
|
|
+ // const added = await deleteCatatan(id);
|
|
|
+ // 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=${this.state.catatan.sanksi_id}`);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ const setmodal = (id) => {
|
|
|
+ setModalIsOpen(!modalIsOpen)
|
|
|
+ setSelectedID(id)
|
|
|
+ }
|
|
|
return (
|
|
|
<div className="card b ">
|
|
|
+ <Modal isOpen={modalIsOpen} >
|
|
|
+ <ModalBody>Apakah Anda yakin akan menghapus catatan ini?</ModalBody>
|
|
|
+ <ModalFooter>
|
|
|
+
|
|
|
+ <Button color className="btn-login" onClick={async () => {
|
|
|
+ if (role === 2024) {
|
|
|
+ Swal.fire({
|
|
|
+ icon: 'error',
|
|
|
+ title: 'Oops...',
|
|
|
+ html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
|
|
|
+ confirmButtonColor: "#3e3a8e",
|
|
|
+ confirmButtonText: 'Oke'
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+
|
|
|
+ await toast.promise(deleteCatatan(token, seledtedID), {
|
|
|
+ pending: "Loading",
|
|
|
+ success: "Success",
|
|
|
+ error: "Error",
|
|
|
+ });
|
|
|
+ Router.push(`/app/perpanjangan-sanksi/detail?id=${query.id}`);
|
|
|
+ setModalIsOpen(false)
|
|
|
+ }
|
|
|
+ }}>
|
|
|
+ <span className="font-color-white">Ya</span>
|
|
|
+ </Button>
|
|
|
+ <Button color className="btn-v2" onClick={setmodal}>
|
|
|
+ Tidak
|
|
|
+ </Button>
|
|
|
+ </ModalFooter>
|
|
|
+ </Modal>
|
|
|
<div className=" card-header">
|
|
|
<div className=" card-title">Riwayat Catatan</div>
|
|
|
</div>
|
|
|
@@ -72,7 +106,7 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
<tr>
|
|
|
<th>Tanggal dibuat</th>
|
|
|
<th>Nama File</th>
|
|
|
- <th>Terakhir Diedit</th>
|
|
|
+ <th>Terakhir diedit</th>
|
|
|
<th>Aksi</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
@@ -86,7 +120,7 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
</td>
|
|
|
<td>{moment(data.updatedAt).format("D MMMM YYYY")}</td>
|
|
|
<td
|
|
|
- // style={{ width: "40%" }}
|
|
|
+ // style={{ width: "30%" }}
|
|
|
>
|
|
|
{/* <span className=" float-left d-flex mr-2">
|
|
|
<Button className="btn-v3" color >
|
|
|
@@ -95,14 +129,14 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
</span>
|
|
|
</Button>
|
|
|
</span>
|
|
|
- <span className=" d-flex">
|
|
|
+ <span className=" mr-2">
|
|
|
<Button className="btn-v3" color>
|
|
|
<span className="font-color-black">
|
|
|
Lihat
|
|
|
</span>
|
|
|
</Button>
|
|
|
</span>
|
|
|
- <span className=" float-none d-flex">
|
|
|
+ <span className="">
|
|
|
|
|
|
<Button className="btn-v3" color>
|
|
|
<span className="font-color-black">
|
|
|
@@ -110,14 +144,17 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
</span>
|
|
|
</Button>
|
|
|
</span> */}
|
|
|
- <span className=" float-right mt-2">
|
|
|
+ <span className="">
|
|
|
<Dropdown isOpen={dropdownState[`ddSplit${i}`]}
|
|
|
toggle={() => toggleDD(`ddSplit${i}`)} >
|
|
|
<DropdownToggle
|
|
|
data-toggle="dropdown"
|
|
|
tag="span"
|
|
|
>
|
|
|
- <em className="fas fa-ellipsis-v" />
|
|
|
+ <Button color className="btn-v3">
|
|
|
+ Info
|
|
|
+ </Button>
|
|
|
+ {/* <em className="fas fa-ellipsis-v" /> */}
|
|
|
</DropdownToggle>
|
|
|
<DropdownMenu>
|
|
|
{ENV === "local" &&
|
|
|
@@ -129,16 +166,16 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
</DropdownItem>
|
|
|
</CopyToClipboard>
|
|
|
}
|
|
|
- <Link
|
|
|
- href={{
|
|
|
- pathname: readOnly,
|
|
|
- query: { id: data?._id },
|
|
|
- }}
|
|
|
-
|
|
|
- >
|
|
|
- <DropdownItem>
|
|
|
- <span className=" font-color-black">Lihat</span>
|
|
|
- </DropdownItem>
|
|
|
+ <Link
|
|
|
+ href={{
|
|
|
+ pathname: readOnly,
|
|
|
+ query: { id: data?._id },
|
|
|
+ }}
|
|
|
+
|
|
|
+ >
|
|
|
+ <DropdownItem>
|
|
|
+ <span className=" font-color-black">Lihat</span>
|
|
|
+ </DropdownItem>
|
|
|
</Link>
|
|
|
<Link
|
|
|
href={{
|
|
|
@@ -150,10 +187,12 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
<span className=" font-color-black">Edit</span>
|
|
|
</DropdownItem>
|
|
|
</Link>
|
|
|
- <DropdownItem >
|
|
|
- Hapus
|
|
|
-
|
|
|
- </DropdownItem>
|
|
|
+ <DropdownItem onClick={() => { setmodal(data._id) }}>
|
|
|
+ <span >
|
|
|
+ Hapus
|
|
|
+ </span>
|
|
|
+
|
|
|
+ </DropdownItem>
|
|
|
</DropdownMenu>
|
|
|
</Dropdown>
|
|
|
</span>
|
|
|
@@ -173,5 +212,4 @@ function TableRiwayatCatatan({ listData, query, editFilePage, newFilePage, readO
|
|
|
|
|
|
)
|
|
|
}
|
|
|
-
|
|
|
-export default TableRiwayatCatatan
|
|
|
+export default TableRiwayatCatatan;
|