"use client"; import { Button } from "@/components/ui/button"; import { Collapsible, CollapsibleContent } from "@/components/ui/collapsible"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { close, loading } from "@/config/swal"; import { Link } from "@/i18n/routing"; import { getPlanningDailyByTypeId, getPlanningPagination, } from "@/service/agenda-setting/agenda-setting"; import { htmlToString, textEllipsis } from "@/utils/globals"; import { MoreVertical } from "lucide-react"; import { useEffect, useState } from "react"; export default function ExpandedData(props: { datas: any }) { const { datas } = props; const [isOpen, setIsOpen] = useState(""); const [getData, setGetData] = useState(); const handleIsOpen = (id: string) => { setIsOpen(id); }; useEffect(() => { if (isOpen !== "") { fetchData(); } }, [isOpen]); async function fetchData() { loading(); const response = await getPlanningPagination(0, "", 10, 1, 1, isOpen); close(); setupData(response.data?.data); } function setupData(rawData: any) { if (rawData != undefined) { const dataContent = rawData?.content; const data = []; for (const [i, element] of dataContent.entries()) { element.no = i + 1; data.push(element); } setGetData(data); } } return ( {datas?.map((data: any) => ( <> handleIsOpen(data.id)} > {getData?.map((row: any) => ( ))} ))}
Judul Perencanaan Batas Waktu Status Aksi
handleIsOpen(data.id)}>{data.title} `disinni igninn membuat state untuk mennyimpan data isOpen` } > {data.date} {data.status} Detail Edit Delete
No Judul Perencanaan Nama Pembuat Batas Waktu Status Aksi
{row.no} {row.title} {row.createdByName} {row.date} {row.status} Detail Edit Delete
); }