added manager permission for directory

This commit is contained in:
Pramod Mahajan 2025-05-29 00:33:01 +05:30
parent 0f323a7594
commit 80a213595d

View File

@ -1,25 +1,24 @@
import React,{useState,useEffect} from 'react' import React, { useState, useEffect } from "react";
import {useSortableData} from '../../hooks/useSortableData'; import { useSortableData } from "../../hooks/useSortableData";
const EmployeeList = ( {employees, onChange, assignedEmployee = []} ) => import Avatar from "../common/Avatar";
{ const EmployeeList = ({ employees, onChange, bucket }) => {
const [employeefiltered, setEmployeeFilter] = useState([]); const [employeefiltered, setEmployeeFilter] = useState([]);
const [employeeStatusList, setEmployeeStatusList] = useState([]); const [employeeStatusList, setEmployeeStatusList] = useState([]);
const [searchTerm, setSearchTerm] = useState(""); const [searchTerm, setSearchTerm] = useState("");
// Populate filtered list on load
useEffect(() => { useEffect(() => {
setEmployeeFilter(employees?.filter((emp) => emp.email != null) || []); setEmployeeFilter(employees?.filter((emp) => emp.email != null) || []);
}, [employees]); }, [employees]);
// Initialize checked employees based on assignedEmployee prop // Initialize checked employees based on assignedEmployee prop
useEffect(() => { useEffect(() => {
if (Array.isArray(assignedEmployee)) { if (Array.isArray(bucket?.employeeIds)) {
const initialStatus = assignedEmployee.map((id) => ({ const initialStatus = bucket?.employeeIds?.map((id) => ({
employeeId: id, employeeId: id,
isActive: true, isActive: true,
})); }));
setEmployeeStatusList(initialStatus); setEmployeeStatusList(initialStatus);
} }
}, [assignedEmployee]); }, [bucket]);
// Send updated list to parent // Send updated list to parent
useEffect(() => { useEffect(() => {
@ -66,7 +65,8 @@ const EmployeeList = ( {employees, onChange, assignedEmployee = []} ) =>
}; };
const filteredEmployees = sortedEmployees?.filter((employee) => { const filteredEmployees = sortedEmployees?.filter((employee) => {
const fullName = `${employee?.firstName} ${employee?.lastName}`?.toLowerCase(); const fullName =
`${employee?.firstName} ${employee?.lastName}`?.toLowerCase();
return fullName.includes(searchTerm.toLowerCase()); return fullName.includes(searchTerm.toLowerCase());
}); });
return ( return (
@ -121,18 +121,25 @@ const EmployeeList = ( {employees, onChange, assignedEmployee = []} ) =>
filteredEmployees?.map((employee) => ( filteredEmployees?.map((employee) => (
<tr key={employee.id}> <tr key={employee.id}>
<td> <td>
<div className="d-flex align-items-start text-start"> <div className="d-flex align-items-center text-start">
<input <input
className="form-check-input me-3 mt-1" className="form-check-input me-3 mt-1"
type="checkbox" type="checkbox"
checked={isChecked(employee.id)} checked={isChecked(employee.id)}
onChange={() => handleCheckboxChange(employee.id)} onChange={() => handleCheckboxChange(employee.id)}
disabled={bucket.createdBy.id === employee.id}
/> />
<div>
<p className="fw-normal mb-0"> <Avatar
{`${employee.firstName} ${employee.lastName}`} size="xs"
</p> classAvatar="m-0"
</div> firstName={employee.firstName}
lastName={employee.lastName}
/>
<span
className="text-truncate mx-0"
style={{ maxWidth: "150px" }}
>{`${employee.firstName} ${employee.lastName}`}</span>
</div> </div>
</td> </td>
<td className="text-start"> <td className="text-start">