diff --git a/src/components/ServiceProject/ServiceProjectTeam/ServiceProjectCard.jsx b/src/components/ServiceProject/ServiceProjectTeam/ServiceProjectCard.jsx index 21f77a4a..2bba2c36 100644 --- a/src/components/ServiceProject/ServiceProjectTeam/ServiceProjectCard.jsx +++ b/src/components/ServiceProject/ServiceProjectTeam/ServiceProjectCard.jsx @@ -57,7 +57,7 @@ const ServiceProjectCard = ({ project, isCore = true }) => { DeleteProject(projectId, false); }; - + return ( <> @@ -89,7 +89,7 @@ const ServiceProjectCard = ({ project, isCore = true }) => { > {project?.shortName ? project?.shortName : project?.name} -
+
{project?.shortName ? project?.name : ""}
diff --git a/src/pages/project/ProjectPage.jsx b/src/pages/project/ProjectPage.jsx index f72b995c..234e3838 100644 --- a/src/pages/project/ProjectPage.jsx +++ b/src/pages/project/ProjectPage.jsx @@ -1,4 +1,4 @@ -import React, { createContext, useContext, useEffect, useState } from "react"; +import React, { createContext, useContext, useEffect, useRef, useState } from "react"; import Breadcrumb from "../../components/common/Breadcrumb"; import { ITEMS_PER_PAGE, @@ -36,7 +36,7 @@ const ProjectPage = () => { isOpen: false, project: null, }); - + const dropdownRef = useRef(null); const [projectList, setProjectList] = useState([]); const [listView, setListView] = useState(false); const [searchTerm, setSearchTerm] = useState(""); @@ -46,6 +46,7 @@ const ProjectPage = () => { }); const HasManageProject = useHasUserPermission(MANAGE_PROJECT); const [currentPage, setCurrentPage] = useState(1); + const [open, setOpen] = useState(false); const [selectedStatuses, setSelectedStatuses] = useState( PROJECT_STATUS.map((s) => s.id) @@ -70,6 +71,16 @@ const ProjectPage = () => { sessionStorage.setItem("whichProjectDisplay", String(value)); }; + useEffect(() => { + const handleClickOutside = (event) => { + if (dropdownRef.current && !dropdownRef.current.contains(event.target)) { + setOpen(false); + } + }; + document.addEventListener("mousedown", handleClickOutside); + return () => document.removeEventListener("mousedown", handleClickOutside); + }, []); + return (
@@ -89,9 +100,8 @@ const ProjectPage = () => { {/* Service Project Button */}
{/* Dropdown Filter */} -
-
+ -
    - {PROJECT_STATUS.map(({ id, label }) => ( -
  • -
    - handleStatusChange(id)} - /> - -
    -
  • - ))} -
+ {selectedStatuses.length !== PROJECT_STATUS.length && ( + + {PROJECT_STATUS.length - selectedStatuses.length} + + )} +
+ + {open && ( + + )}
+ + + {HasManageProject && (