import { useState } from "react"; import { useOrganizationModal, useOrganizationsList, } from "../../hooks/useOrganization"; import { ITEMS_PER_PAGE } from "../../utils/constants"; import Label from "../common/Label"; import Pagination from "../common/Pagination"; import "./OrgPicker.css" const OrgPickerfromTenant = ({ title }) => { const [searchText, setSearchText] = useState(""); const [currentPage, setCurrentPage] = useState(1); const { data, isLoading } = useOrganizationsList( ITEMS_PER_PAGE - 10, 1, true, null, searchText ); const paginate = (page) => { if (page >= 1 && page <= (data?.totalPages ?? 1)) { setCurrentPage(page); } }; const { isOpen, orgData, startStep, onOpen, flowType, prevStep } = useOrganizationModal(); const handleBack = () => { if (prevStep == 1 && flowType == "assign") { onOpen({ startStep: prevStep }); } else if (prevStep == 1 && flowType == "assign") { onOpen({ startStep: 1 }); } else { onOpen({ startStep: 2 }); } }; const contactList = [ { key: "name", label: "Name", getValue: (org) => (
{org?.name || "N/A"}
), align: "text-start", }, { key: "sprid", label: "SPRID", getValue: (org) => ( {org?.sprid || "N/A"} ), align: "text-center", }, ]; return (
setSearchText?.(e.target.value)} className="form-control form-control-sm w-auto" placeholder="Enter Organization Name" />
{/* ---- Organization list ---- */} {isLoading ? (
Loading....
) : data && data?.data?.length > 0 ? (
{contactList.map((col) => ( ))}
{col.label} Action
{Array.isArray(data.data) && data.data.length > 0 ? data.data.map((row, i) => ( {contactList.map((col) => ( ))} )) : null}
{col.getValue(row)}
onOpen({ startStep: 3, orgData: row }) } >
) : null}
Could not find organization in your database? Please search within the global database.
{/* ---- Footer buttons ---- */}
{flowType == "default" && ( )} {/* */}
); }; export default OrgPickerfromTenant;