added manager permission for directory
This commit is contained in:
parent
0f323a7594
commit
80a213595d
@ -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">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user